{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "620fa8ef",
   "metadata": {},
   "outputs": [],
   "source": [
    "# import required libraries\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import xgboost as xgb\n",
    "import shap\n",
    "import lime\n",
    "from skopt import BayesSearchCV\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import classification_report\n",
    "from sklearn.linear_model import Lasso, LassoCV, LogisticRegression, LogisticRegressionCV\n",
    "from interpret.glassbox import ExplainableBoostingClassifier\n",
    "from interpret import show\n",
    "\n",
    "# display options\n",
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_interactivity = \"all\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "ea2cc488",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>survived</th>\n",
       "      <th>pclass</th>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th>sibsp</th>\n",
       "      <th>parch</th>\n",
       "      <th>fare</th>\n",
       "      <th>embarked</th>\n",
       "      <th>class</th>\n",
       "      <th>who</th>\n",
       "      <th>adult_male</th>\n",
       "      <th>deck</th>\n",
       "      <th>embark_town</th>\n",
       "      <th>alive</th>\n",
       "      <th>alone</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "      <td>Third</td>\n",
       "      <td>man</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "      <td>First</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>C</td>\n",
       "      <td>Cherbourg</td>\n",
       "      <td>yes</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "      <td>Third</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>yes</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "      <td>First</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>C</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>yes</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "      <td>Third</td>\n",
       "      <td>man</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>no</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>886</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>male</td>\n",
       "      <td>27.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>13.0000</td>\n",
       "      <td>S</td>\n",
       "      <td>Second</td>\n",
       "      <td>man</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>no</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>887</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>19.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>30.0000</td>\n",
       "      <td>S</td>\n",
       "      <td>First</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>B</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>yes</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>888</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>23.4500</td>\n",
       "      <td>S</td>\n",
       "      <td>Third</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>889</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>male</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>30.0000</td>\n",
       "      <td>C</td>\n",
       "      <td>First</td>\n",
       "      <td>man</td>\n",
       "      <td>True</td>\n",
       "      <td>C</td>\n",
       "      <td>Cherbourg</td>\n",
       "      <td>yes</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>890</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>32.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.7500</td>\n",
       "      <td>Q</td>\n",
       "      <td>Third</td>\n",
       "      <td>man</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Queenstown</td>\n",
       "      <td>no</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>891 rows × 15 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     survived  pclass     sex   age  sibsp  parch     fare embarked   class  \\\n",
       "0           0       3    male  22.0      1      0   7.2500        S   Third   \n",
       "1           1       1  female  38.0      1      0  71.2833        C   First   \n",
       "2           1       3  female  26.0      0      0   7.9250        S   Third   \n",
       "3           1       1  female  35.0      1      0  53.1000        S   First   \n",
       "4           0       3    male  35.0      0      0   8.0500        S   Third   \n",
       "..        ...     ...     ...   ...    ...    ...      ...      ...     ...   \n",
       "886         0       2    male  27.0      0      0  13.0000        S  Second   \n",
       "887         1       1  female  19.0      0      0  30.0000        S   First   \n",
       "888         0       3  female   NaN      1      2  23.4500        S   Third   \n",
       "889         1       1    male  26.0      0      0  30.0000        C   First   \n",
       "890         0       3    male  32.0      0      0   7.7500        Q   Third   \n",
       "\n",
       "       who  adult_male deck  embark_town alive  alone  \n",
       "0      man        True  NaN  Southampton    no  False  \n",
       "1    woman       False    C    Cherbourg   yes  False  \n",
       "2    woman       False  NaN  Southampton   yes   True  \n",
       "3    woman       False    C  Southampton   yes  False  \n",
       "4      man        True  NaN  Southampton    no   True  \n",
       "..     ...         ...  ...          ...   ...    ...  \n",
       "886    man        True  NaN  Southampton    no   True  \n",
       "887  woman       False    B  Southampton   yes   True  \n",
       "888  woman       False  NaN  Southampton    no  False  \n",
       "889    man        True    C    Cherbourg   yes   True  \n",
       "890    man        True  NaN   Queenstown    no   True  \n",
       "\n",
       "[891 rows x 15 columns]"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# loading data\n",
    "df_ = pd.read_csv('/Users/kevinbauer/Dropbox/Material AI lectures/Kevin/DataScienceLecture_Mannheim/DataTitanic.csv')\n",
    "df_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "3cd7560b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# data preparation\n",
    "df_prep = df_[['survived', 'pclass', 'sex', 'age', 'sibsp', 'parch', 'fare', 'embarked']].copy()\n",
    "df_prep['age'] = df_prep['age'].fillna(df_prep['age'].mean())\n",
    "df_prep.dropna(inplace=True, axis=0)\n",
    "\n",
    "df_nonnum = df_prep.select_dtypes(include=['object'])\n",
    "temp = pd.get_dummies(df_nonnum, prefix=['sex_', 'emb_'], drop_first=True).astype('int64')\n",
    "\n",
    "df_final = pd.concat([df_prep.drop(['sex', 'embarked'], axis=1), temp], axis=1)\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(df_final.drop(['survived'],axis=1), \n",
    "                                                        df_final['survived'], \n",
    "                                                        test_size=0.2, random_state=42)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "858058c2",
   "metadata": {},
   "source": [
    "## INTERPRETABLE MODEL: LOGIT"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "id": "d5da686e",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/kevinbauer/opt/anaconda3/lib/python3.9/site-packages/skopt/optimizer/optimizer.py:449: UserWarning:\n",
      "\n",
      "The objective has been evaluated at this point before.\n",
      "\n",
      "/Users/kevinbauer/opt/anaconda3/lib/python3.9/site-packages/skopt/optimizer/optimizer.py:449: UserWarning:\n",
      "\n",
      "The objective has been evaluated at this point before.\n",
      "\n",
      "/Users/kevinbauer/opt/anaconda3/lib/python3.9/site-packages/skopt/optimizer/optimizer.py:449: UserWarning:\n",
      "\n",
      "The objective has been evaluated at this point before.\n",
      "\n",
      "/Users/kevinbauer/opt/anaconda3/lib/python3.9/site-packages/skopt/optimizer/optimizer.py:449: UserWarning:\n",
      "\n",
      "The objective has been evaluated at this point before.\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "BayesSearchCV(cv=5, estimator=LogisticRegression(max_iter=50, random_state=42),\n",
       "              n_iter=15, n_jobs=-1, random_state=42, scoring='accuracy',\n",
       "              search_spaces={'C': [0.01, 0.1, 1, 10],\n",
       "                             'class_weight': ['balanced'],\n",
       "                             'penalty': ['l1', 'l2'], 'solver': ['liblinear']})"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.87      0.76      0.81       109\n",
      "           1       0.69      0.83      0.75        69\n",
      "\n",
      "    accuracy                           0.79       178\n",
      "   macro avg       0.78      0.79      0.78       178\n",
      "weighted avg       0.80      0.79      0.79       178\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Variable</th>\n",
       "      <th>Coefficient</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>pclass</td>\n",
       "      <td>-1.052163</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>age</td>\n",
       "      <td>-0.042795</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>sibsp</td>\n",
       "      <td>-0.389161</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>parch</td>\n",
       "      <td>-0.079746</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>fare</td>\n",
       "      <td>0.002622</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>sex__male</td>\n",
       "      <td>-2.651911</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>emb__Q</td>\n",
       "      <td>-0.148084</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>emb__S</td>\n",
       "      <td>-0.523297</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Variable  Coefficient\n",
       "0     pclass    -1.052163\n",
       "1        age    -0.042795\n",
       "2      sibsp    -0.389161\n",
       "3      parch    -0.079746\n",
       "4       fare     0.002622\n",
       "5  sex__male    -2.651911\n",
       "6     emb__Q    -0.148084\n",
       "7     emb__S    -0.523297"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# logistic regression\n",
    "search_space = {\n",
    "        'C': [0.01, 0.1, 1, 10],       \n",
    "        'penalty': ['l1', 'l2'],     \n",
    "        'class_weight':['balanced'], \n",
    "        'solver': ['liblinear']\n",
    "    }\n",
    "\n",
    "\n",
    "opt = BayesSearchCV(\n",
    "    estimator=LogisticRegression(max_iter=50, random_state=42),\n",
    "    search_spaces=search_space,\n",
    "    scoring='accuracy',\n",
    "    cv=5,\n",
    "    n_jobs=-1,\n",
    "    n_iter=15,\n",
    "    verbose=0,\n",
    "    refit=True,\n",
    "    random_state=42\n",
    ")\n",
    "\n",
    "opt.fit(X_train, y_train)\n",
    "model_logit = opt.best_estimator_\n",
    "\n",
    "print(classification_report(y_test, model_logit.predict(X_test)))\n",
    "\n",
    "d = pd.DataFrame(zip(X_train.columns, np.transpose(model_logit.coef_[0])), columns=['Variable', 'Coefficient'])\n",
    "d"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "84f35c05",
   "metadata": {},
   "source": [
    "## BLACKBOX MODEL: XGBOOST"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "f6d05cc8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "BayesSearchCV(cv=5,\n",
       "              estimator=XGBClassifier(base_score=None, booster=None,\n",
       "                                      callbacks=None, colsample_bylevel=None,\n",
       "                                      colsample_bynode=None,\n",
       "                                      colsample_bytree=None,\n",
       "                                      early_stopping_rounds=None,\n",
       "                                      enable_categorical=False,\n",
       "                                      eval_metric='logloss', feature_types=None,\n",
       "                                      gamma=None, gpu_id=None, grow_policy=None,\n",
       "                                      importance_type=None,\n",
       "                                      interaction_constraints=None,\n",
       "                                      learning_rate...\n",
       "                                      missing=nan, monotone_constraints=None,\n",
       "                                      n_estimators=100, n_jobs=-1,\n",
       "                                      num_parallel_tree=None, predictor=None,\n",
       "                                      random_state=42, ...),\n",
       "              n_iter=15, n_jobs=-1, random_state=42, scoring='accuracy',\n",
       "              search_spaces={'colsample_bylevel': [0.6, 0.7],\n",
       "                             'colsample_bytree': [0.6, 0.7],\n",
       "                             'learning_rate': [0.001, 0.01],\n",
       "                             'max_depth': [4, 5, 6],\n",
       "                             'n_estimators': [200, 300, 500],\n",
       "                             'reg_alpha': [0.1, 1, 10],\n",
       "                             'subsample': [0.7, 0.8]})"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.83      0.87      0.85       109\n",
      "           1       0.78      0.72      0.75        69\n",
      "\n",
      "    accuracy                           0.81       178\n",
      "   macro avg       0.81      0.80      0.80       178\n",
      "weighted avg       0.81      0.81      0.81       178\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# model training\n",
    "search_space = {\n",
    "    'learning_rate': [0.001, 0.01],\n",
    "    'max_depth': [4,5,6],\n",
    "    'subsample': [0.7,0.8],\n",
    "    'colsample_bytree': [0.6, 0.7],\n",
    "    'colsample_bylevel': [0.6, 0.7],\n",
    "    'reg_alpha':  [0.1, 1, 10],\n",
    "    'n_estimators': [200,300, 500]\n",
    "        }\n",
    "\n",
    "# bayesian optimization\n",
    "opt = BayesSearchCV(\n",
    "        estimator=xgb.XGBClassifier(\n",
    "            n_jobs=-1,\n",
    "            objective='binary:logistic',\n",
    "            eval_metric='logloss',\n",
    "            tree_method='approx',\n",
    "            random_state=42\n",
    "        ),\n",
    "        search_spaces=search_space,\n",
    "        scoring='accuracy',\n",
    "        cv=5,\n",
    "        n_jobs=-1,\n",
    "        n_iter=15,\n",
    "        verbose=0,\n",
    "        refit=True,\n",
    "        random_state=42\n",
    "    )\n",
    "\n",
    "# fitting the model\n",
    "opt.fit(X_train, y_train)\n",
    "model = opt.best_estimator_\n",
    "\n",
    "# testing the model\n",
    "print(classification_report(y_test, model.predict(X_test)))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3e0f5c76",
   "metadata": {},
   "source": [
    "## EXPLANATION METHODS"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7f57945c",
   "metadata": {},
   "source": [
    "### SHAP"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "id": "0b8e4c0f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div align='center'><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAWCAYAAAA1vze2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAdxJREFUeNq0Vt1Rg0AQJjcpgBJiBWIFkgoMFYhPPAIVECogPuYpdJBYgXQQrMCUkA50V7+d2ZwXuXPGm9khHLu3f9+3l1nkWNvtNqfHLgpfQ1EUS3tz5nAQ0+NIsiAZSc6eDlI8M3J00B/mDuUKDk6kfOebAgW3pkdD0pFcODGW4gKKvOrAUm04MA4QDt1OEIXU9hDigfS5rC1eS5T90gltck1Xrizo257kgySZcNRzgCSxCvgiE9nckPJo2b/B2AcEkk2OwL8bD8gmOKR1GPbaCUqxEgTq0tLvgb6zfo7+DgYGkkWL2tqLDV4RSITfbHPPfJKIrWz4nJQTMPAWA7IbD6imcNaDeDfgk+4No+wZr40BL3g9eQJJCFqRQ54KiSt72lsLpE3o3MCBSxDuq4yOckU2hKXRuwBH3OyMR4g1UpyTYw6mlmBqNdUXRM1NfyF5EPI6JkcpIDBIX8jX6DR/6ckAZJ0wEAdLR8DEk6OfC1Pp8BKo6TQIwPJbvJ6toK5lmuvJoRtfK6Ym1iRYIarRo2UyYHvRN5qpakR3yoizWrouoyuXXQqI185LCw07op5ZyCRGL99h24InP0e9xdQukEKVmhzrqZuRIfwISB//cP3Wk3f8f/yR+BRgAHu00HjLcEQBAAAAAElFTkSuQmCC' /></div><script charset='utf-8'>!function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"\",e(e.s=410)}([function(t,e,n){\"use strict\";function r(t,e,n,r,o,a,u,c){if(i(e),!t){var s;if(void 0===e)s=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[n,r,o,a,u,c],f=0;s=new Error(e.replace(/%s/g,function(){return l[f++]})),s.name=\"Invariant Violation\"}throw s.framesToPop=1,s}}var i=function(t){};t.exports=r},function(t,e,n){\"use strict\";var r=n(8),i=r;t.exports=i},function(t,e,n){\"use strict\";function r(t){for(var e=arguments.length-1,n=\"Minified React error #\"+t+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=\"+t,r=0;r<e;r++)n+=\"&args[]=\"+encodeURIComponent(arguments[r+1]);n+=\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";var i=new Error(n);throw i.name=\"Invariant Violation\",i.framesToPop=1,i}t.exports=r},function(t,e,n){\"use strict\";function r(t){if(null===t||void 0===t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}function i(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e[\"_\"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(e).map(function(t){return e[t]});if(\"0123456789\"!==r.join(\"\"))return!1;var i={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(t){i[t]=t}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},i)).join(\"\")}catch(t){return!1}}/*\n",
       "object-assign\n",
       "(c) Sindre Sorhus\n",
       "@license MIT\n",
       "*/\n",
       "var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;t.exports=i()?Object.assign:function(t,e){for(var n,i,c=r(t),s=1;s<arguments.length;s++){n=Object(arguments[s]);for(var l in n)a.call(n,l)&&(c[l]=n[l]);if(o){i=o(n);for(var f=0;f<i.length;f++)u.call(n,i[f])&&(c[i[f]]=n[i[f]])}}return c}},function(t,e,n){\"use strict\";function r(t,e){return 1===t.nodeType&&t.getAttribute(d)===String(e)||8===t.nodeType&&t.nodeValue===\" react-text: \"+e+\" \"||8===t.nodeType&&t.nodeValue===\" react-empty: \"+e+\" \"}function i(t){for(var e;e=t._renderedComponent;)t=e;return t}function o(t,e){var n=i(t);n._hostNode=e,e[g]=n}function a(t){var e=t._hostNode;e&&(delete e[g],t._hostNode=null)}function u(t,e){if(!(t._flags&v.hasCachedChildNodes)){var n=t._renderedChildren,a=e.firstChild;t:for(var u in n)if(n.hasOwnProperty(u)){var c=n[u],s=i(c)._domID;if(0!==s){for(;null!==a;a=a.nextSibling)if(r(a,s)){o(c,a);continue t}f(\"32\",s)}}t._flags|=v.hasCachedChildNodes}}function c(t){if(t[g])return t[g];for(var e=[];!t[g];){if(e.push(t),!t.parentNode)return null;t=t.parentNode}for(var n,r;t&&(r=t[g]);t=e.pop())n=r,e.length&&u(r,t);return n}function s(t){var e=c(t);return null!=e&&e._hostNode===t?e:null}function l(t){if(void 0===t._hostNode?f(\"33\"):void 0,t._hostNode)return t._hostNode;for(var e=[];!t._hostNode;)e.push(t),t._hostParent?void 0:f(\"34\"),t=t._hostParent;for(;e.length;t=e.pop())u(t,t._hostNode);return t._hostNode}var f=n(2),p=n(21),h=n(157),d=(n(0),p.ID_ATTRIBUTE_NAME),v=h,g=\"__reactInternalInstance$\"+Math.random().toString(36).slice(2),m={getClosestInstanceFromNode:c,getInstanceFromNode:s,getNodeFromInstance:l,precacheChildNodes:u,precacheNode:o,uncacheNode:a};t.exports=m},function(t,e,n){\"use strict\";function r(t,e,n,a){function u(e){return t(e=new Date(+e)),e}return u.floor=u,u.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},u.round=function(t){var e=u(t),n=u.ceil(t);return t-e<n-t?e:n},u.offset=function(t,n){return e(t=new Date(+t),null==n?1:Math.floor(n)),t},u.range=function(n,r,i){var o=[];if(n=u.ceil(n),i=null==i?1:Math.floor(i),!(n<r&&i>0))return o;do o.push(new Date(+n));while(e(n,i),t(n),n<r);return o},u.filter=function(n){return r(function(e){if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)},function(t,r){if(t>=t)for(;--r>=0;)for(;e(t,1),!n(t););})},n&&(u.count=function(e,r){return i.setTime(+e),o.setTime(+r),t(i),t(o),Math.floor(n(i,o))},u.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?u.filter(a?function(e){return a(e)%t===0}:function(e){return u.count(0,e)%t===0}):u:null}),u}e.a=r;var i=new Date,o=new Date},function(t,e,n){\"use strict\";var r=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:r,canUseWorkers:\"undefined\"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};t.exports=i},function(t,e,n){\"use strict\";function r(t,e){this._groups=t,this._parents=e}function i(){return new r([[document.documentElement]],D)}var o=n(272),a=n(273),u=n(261),c=n(255),s=n(131),l=n(260),f=n(265),p=n(268),h=n(275),d=n(253),v=n(267),g=n(266),m=n(274),y=n(259),_=n(258),b=n(252),x=n(276),w=n(269),C=n(254),M=n(277),k=n(262),E=n(270),T=n(264),S=n(251),P=n(263),N=n(271),A=n(256),O=n(70),I=n(257);n.d(e,\"c\",function(){return D}),e.b=r;var D=[null];r.prototype=i.prototype={constructor:r,select:o.a,selectAll:a.a,filter:u.a,data:c.a,enter:s.a,exit:l.a,merge:f.a,order:p.a,sort:h.a,call:d.a,nodes:v.a,node:g.a,size:m.a,empty:y.a,each:_.a,attr:b.a,style:x.a,property:w.a,classed:C.a,text:M.a,html:k.a,raise:E.a,lower:T.a,append:S.a,insert:P.a,remove:N.a,datum:A.a,on:O.c,dispatch:I.a},e.a=i},function(t,e,n){\"use strict\";function r(t){return function(){return t}}var i=function(){};i.thatReturns=r,i.thatReturnsFalse=r(!1),i.thatReturnsTrue=r(!0),i.thatReturnsNull=r(null),i.thatReturnsThis=function(){return this},i.thatReturnsArgument=function(t){return t},t.exports=i},function(t,e,n){\"use strict\";var r=null;t.exports={debugTool:r}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(59);n.d(e,\"color\",function(){return r.a}),n.d(e,\"rgb\",function(){return r.b}),n.d(e,\"hsl\",function(){return r.c});var i=n(210);n.d(e,\"lab\",function(){return i.a}),n.d(e,\"hcl\",function(){return i.b});var o=n(209);n.d(e,\"cubehelix\",function(){return o.a})},function(t,e,n){\"use strict\";function r(){T.ReactReconcileTransaction&&x?void 0:l(\"123\")}function i(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=p.getPooled(),this.reconcileTransaction=T.ReactReconcileTransaction.getPooled(!0)}function o(t,e,n,i,o,a){return r(),x.batchedUpdates(t,e,n,i,o,a)}function a(t,e){return t._mountOrder-e._mountOrder}function u(t){var e=t.dirtyComponentsLength;e!==m.length?l(\"124\",e,m.length):void 0,m.sort(a),y++;for(var n=0;n<e;n++){var r=m[n],i=r._pendingCallbacks;r._pendingCallbacks=null;var o;if(d.logTopLevelRenders){var u=r;r._currentElement.type.isReactTopLevelWrapper&&(u=r._renderedComponent),o=\"React update: \"+u.getName(),console.time(o)}if(v.performUpdateIfNecessary(r,t.reconcileTransaction,y),o&&console.timeEnd(o),i)for(var c=0;c<i.length;c++)t.callbackQueue.enqueue(i[c],r.getPublicInstance())}}function c(t){return r(),x.isBatchingUpdates?(m.push(t),void(null==t._updateBatchNumber&&(t._updateBatchNumber=y+1))):void x.batchedUpdates(c,t)}function s(t,e){x.isBatchingUpdates?void 0:l(\"125\"),_.enqueue(t,e),b=!0}var l=n(2),f=n(3),p=n(155),h=n(17),d=n(160),v=n(24),g=n(53),m=(n(0),[]),y=0,_=p.getPooled(),b=!1,x=null,w={initialize:function(){this.dirtyComponentsLength=m.length},close:function(){this.dirtyComponentsLength!==m.length?(m.splice(0,this.dirtyComponentsLength),k()):m.length=0}},C={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},M=[w,C];f(i.prototype,g,{getTransactionWrappers:function(){return M},destructor:function(){this.dirtyComponentsLength=null,p.release(this.callbackQueue),this.callbackQueue=null,T.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(t,e,n){return g.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,t,e,n)}}),h.addPoolingTo(i);var k=function(){for(;m.length||b;){if(m.length){var t=i.getPooled();t.perform(u,null,t),i.release(t)}if(b){b=!1;var e=_;_=p.getPooled(),e.notifyAll(),p.release(e)}}},E={injectReconcileTransaction:function(t){t?void 0:l(\"126\"),T.ReactReconcileTransaction=t},injectBatchingStrategy:function(t){t?void 0:l(\"127\"),\"function\"!=typeof t.batchedUpdates?l(\"128\"):void 0,\"boolean\"!=typeof t.isBatchingUpdates?l(\"129\"):void 0,x=t}},T={ReactReconcileTransaction:null,batchedUpdates:o,enqueueUpdate:c,flushBatchedUpdates:k,injection:E,asap:s};t.exports=T},function(t,e,n){\"use strict\";var r=n(102);n.d(e,\"c\",function(){return r.a});var i=n(18);n.d(e,\"f\",function(){return i.a});var o=n(103);n.d(e,\"d\",function(){return o.a});var a=(n(185),n(104),n(105),n(186),n(197),n(198),n(108),n(188),n(189),n(190),n(191),n(106),n(192),n(193),n(57));n.d(e,\"e\",function(){return a.a});var u=n(107);n.d(e,\"g\",function(){return u.a});var c=(n(194),n(195),n(196),n(109));n.d(e,\"a\",function(){return c.a}),n.d(e,\"b\",function(){return c.b});n(110),n(111),n(199)},function(t,e,n){\"use strict\";n.d(e,\"e\",function(){return r}),n.d(e,\"d\",function(){return i}),n.d(e,\"c\",function(){return o}),n.d(e,\"b\",function(){return a}),n.d(e,\"a\",function(){return u});var r=1e3,i=6e4,o=36e5,a=864e5,u=6048e5},function(t,e,n){\"use strict\";function r(t,e,n,r){this.dispatchConfig=t,this._targetInst=e,this.nativeEvent=n;var i=this.constructor.Interface;for(var o in i)if(i.hasOwnProperty(o)){var u=i[o];u?this[o]=u(n):\"target\"===o?this.target=r:this[o]=n[o]}var c=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;return c?this.isDefaultPrevented=a.thatReturnsTrue:this.isDefaultPrevented=a.thatReturnsFalse,this.isPropagationStopped=a.thatReturnsFalse,this}var i=n(3),o=n(17),a=n(8),u=(n(1),\"function\"==typeof Proxy,[\"dispatchConfig\",\"_targetInst\",\"nativeEvent\",\"isDefaultPrevented\",\"isPropagationStopped\",\"_dispatchListeners\",\"_dispatchInstances\"]),c={type:null,target:null,currentTarget:a.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};i(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var t=this.nativeEvent;t&&(t.preventDefault?t.preventDefault():\"unknown\"!=typeof t.returnValue&&(t.returnValue=!1),this.isDefaultPrevented=a.thatReturnsTrue)},stopPropagation:function(){var t=this.nativeEvent;t&&(t.stopPropagation?t.stopPropagation():\"unknown\"!=typeof t.cancelBubble&&(t.cancelBubble=!0),this.isPropagationStopped=a.thatReturnsTrue)},persist:function(){this.isPersistent=a.thatReturnsTrue},isPersistent:a.thatReturnsFalse,destructor:function(){var t=this.constructor.Interface;for(var e in t)this[e]=null;for(var n=0;n<u.length;n++)this[u[n]]=null}}),r.Interface=c,r.augmentClass=function(t,e){var n=this,r=function(){};r.prototype=n.prototype;var a=new r;i(a,t.prototype),t.prototype=a,t.prototype.constructor=t,t.Interface=i({},n.Interface,e),t.augmentClass=n.augmentClass,o.addPoolingTo(t,o.fourArgumentPooler)},o.addPoolingTo(r,o.fourArgumentPooler),t.exports=r},function(t,e,n){\"use strict\";var r={current:null};t.exports=r},function(t,e,n){\"use strict\";n.d(e,\"a\",function(){return i}),n.d(e,\"b\",function(){return o});var r=Array.prototype,i=r.map,o=r.slice},function(t,e,n){\"use strict\";var r=n(2),i=(n(0),function(t){var e=this;if(e.instancePool.length){var n=e.instancePool.pop();return e.call(n,t),n}return new e(t)}),o=function(t,e){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,t,e),r}return new n(t,e)},a=function(t,e,n){var r=this;if(r.instancePool.length){var i=r.instancePool.pop();return r.call(i,t,e,n),i}return new r(t,e,n)},u=function(t,e,n,r){var i=this;if(i.instancePool.length){var o=i.instancePool.pop();return i.call(o,t,e,n,r),o}return new i(t,e,n,r)},c=function(t){var e=this;t instanceof e?void 0:r(\"25\"),t.destructor(),e.instancePool.length<e.poolSize&&e.instancePool.push(t)},s=10,l=i,f=function(t,e){var n=t;return n.instancePool=[],n.getPooled=e||l,n.poolSize||(n.poolSize=s),n.release=c,n},p={addPoolingTo:f,oneArgumentPooler:i,twoArgumentPooler:o,threeArgumentPooler:a,fourArgumentPooler:u};t.exports=p},function(t,e,n){\"use strict\";e.a=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}},function(t,e,n){\"use strict\";e.a=function(t){return function(){return t}}},function(t,e,n){\"use strict\";function r(t){if(g){var e=t.node,n=t.children;if(n.length)for(var r=0;r<n.length;r++)m(e,n[r],null);else null!=t.html?f(e,t.html):null!=t.text&&h(e,t.text)}}function i(t,e){t.parentNode.replaceChild(e.node,t),r(e)}function o(t,e){g?t.children.push(e):t.node.appendChild(e.node)}function a(t,e){g?t.html=e:f(t.node,e)}function u(t,e){g?t.text=e:h(t.node,e)}function c(){return this.node.nodeName}function s(t){return{node:t,children:[],html:null,text:null,toString:c}}var l=n(82),f=n(55),p=n(90),h=n(171),d=1,v=11,g=\"undefined\"!=typeof document&&\"number\"==typeof document.documentMode||\"undefined\"!=typeof navigator&&\"string\"==typeof navigator.userAgent&&/\\bEdge\\/\\d/.test(navigator.userAgent),m=p(function(t,e,n){e.node.nodeType===v||e.node.nodeType===d&&\"object\"===e.node.nodeName.toLowerCase()&&(null==e.node.namespaceURI||e.node.namespaceURI===l.html)?(r(e),t.insertBefore(e.node,n)):(t.insertBefore(e.node,n),r(e))});s.insertTreeBefore=m,s.replaceChildWithTree=i,s.queueChild=o,s.queueHTML=a,s.queueText=u,t.exports=s},function(t,e,n){\"use strict\";function r(t,e){return(t&e)===e}var i=n(2),o=(n(0),{MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(t){var e=o,n=t.Properties||{},a=t.DOMAttributeNamespaces||{},c=t.DOMAttributeNames||{},s=t.DOMPropertyNames||{},l=t.DOMMutationMethods||{};t.isCustomAttribute&&u._isCustomAttributeFunctions.push(t.isCustomAttribute);for(var f in n){u.properties.hasOwnProperty(f)?i(\"48\",f):void 0;var p=f.toLowerCase(),h=n[f],d={attributeName:p,attributeNamespace:null,propertyName:f,mutationMethod:null,mustUseProperty:r(h,e.MUST_USE_PROPERTY),hasBooleanValue:r(h,e.HAS_BOOLEAN_VALUE),hasNumericValue:r(h,e.HAS_NUMERIC_VALUE),hasPositiveNumericValue:r(h,e.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:r(h,e.HAS_OVERLOADED_BOOLEAN_VALUE)};if(d.hasBooleanValue+d.hasNumericValue+d.hasOverloadedBooleanValue<=1?void 0:i(\"50\",f),c.hasOwnProperty(f)){var v=c[f];d.attributeName=v}a.hasOwnProperty(f)&&(d.attributeNamespace=a[f]),s.hasOwnProperty(f)&&(d.propertyName=s[f]),l.hasOwnProperty(f)&&(d.mutationMethod=l[f]),u.properties[f]=d}}}),a=\":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",u={ID_ATTRIBUTE_NAME:\"data-reactid\",ROOT_ATTRIBUTE_NAME:\"data-reactroot\",ATTRIBUTE_NAME_START_CHAR:a,ATTRIBUTE_NAME_CHAR:a+\"\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(t){for(var e=0;e<u._isCustomAttributeFunctions.length;e++){var n=u._isCustomAttributeFunctions[e];if(n(t))return!0}return!1},injection:o};t.exports=u},function(t,e,n){\"use strict\";function r(t){return\"button\"===t||\"input\"===t||\"select\"===t||\"textarea\"===t}function i(t,e,n){switch(t){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":return!(!n.disabled||!r(e));default:return!1}}var o=n(2),a=n(83),u=n(50),c=n(87),s=n(165),l=n(166),f=(n(0),{}),p=null,h=function(t,e){t&&(u.executeDispatchesInOrder(t,e),t.isPersistent()||t.constructor.release(t))},d=function(t){return h(t,!0)},v=function(t){return h(t,!1)},g=function(t){return\".\"+t._rootNodeID},m={injection:{injectEventPluginOrder:a.injectEventPluginOrder,injectEventPluginsByName:a.injectEventPluginsByName},putListener:function(t,e,n){\"function\"!=typeof n?o(\"94\",e,typeof n):void 0;var r=g(t),i=f[e]||(f[e]={});i[r]=n;var u=a.registrationNameModules[e];u&&u.didPutListener&&u.didPutListener(t,e,n)},getListener:function(t,e){var n=f[e];if(i(e,t._currentElement.type,t._currentElement.props))return null;var r=g(t);return n&&n[r]},deleteListener:function(t,e){var n=a.registrationNameModules[e];n&&n.willDeleteListener&&n.willDeleteListener(t,e);var r=f[e];if(r){var i=g(t);delete r[i]}},deleteAllListeners:function(t){var e=g(t);for(var n in f)if(f.hasOwnProperty(n)&&f[n][e]){var r=a.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(t,n),delete f[n][e]}},extractEvents:function(t,e,n,r){for(var i,o=a.plugins,u=0;u<o.length;u++){var c=o[u];if(c){var l=c.extractEvents(t,e,n,r);l&&(i=s(i,l))}}return i},enqueueEvents:function(t){t&&(p=s(p,t))},processEventQueue:function(t){var e=p;p=null,t?l(e,d):l(e,v),p?o(\"95\"):void 0,c.rethrowCaughtError()},__purge:function(){f={}},__getListenerBank:function(){return f}};t.exports=m},function(t,e,n){\"use strict\";function r(t,e,n){var r=e.dispatchConfig.phasedRegistrationNames[n];return m(t,r)}function i(t,e,n){var i=r(t,n,e);i&&(n._dispatchListeners=v(n._dispatchListeners,i),n._dispatchInstances=v(n._dispatchInstances,t))}function o(t){t&&t.dispatchConfig.phasedRegistrationNames&&d.traverseTwoPhase(t._targetInst,i,t)}function a(t){if(t&&t.dispatchConfig.phasedRegistrationNames){var e=t._targetInst,n=e?d.getParentInstance(e):null;d.traverseTwoPhase(n,i,t)}}function u(t,e,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,i=m(t,r);i&&(n._dispatchListeners=v(n._dispatchListeners,i),n._dispatchInstances=v(n._dispatchInstances,t))}}function c(t){t&&t.dispatchConfig.registrationName&&u(t._targetInst,null,t)}function s(t){g(t,o)}function l(t){g(t,a)}function f(t,e,n,r){d.traverseEnterLeave(n,r,u,t,e)}function p(t){g(t,c)}var h=n(22),d=n(50),v=n(165),g=n(166),m=(n(1),h.getListener),y={accumulateTwoPhaseDispatches:s,accumulateTwoPhaseDispatchesSkipTarget:l,accumulateDirectDispatches:p,accumulateEnterLeaveDispatches:f};t.exports=y},function(t,e,n){\"use strict\";function r(){i.attachRefs(this,this._currentElement)}var i=n(368),o=(n(9),n(1),{mountComponent:function(t,e,n,i,o,a){var u=t.mountComponent(e,n,i,o,a);return t._currentElement&&null!=t._currentElement.ref&&e.getReactMountReady().enqueue(r,t),u},getHostNode:function(t){return t.getHostNode()},unmountComponent:function(t,e){i.detachRefs(t,t._currentElement),t.unmountComponent(e)},receiveComponent:function(t,e,n,o){var a=t._currentElement;if(e!==a||o!==t._context){var u=i.shouldUpdateRefs(a,e);u&&i.detachRefs(t,a),t.receiveComponent(e,n,o),u&&t._currentElement&&null!=t._currentElement.ref&&n.getReactMountReady().enqueue(r,t)}},performUpdateIfNecessary:function(t,e,n){t._updateBatchNumber===n&&t.performUpdateIfNecessary(e)}});t.exports=o},function(t,e,n){\"use strict\";function r(t,e,n,r){return i.call(this,t,e,n,r)}var i=n(14),o=n(93),a={view:function(t){if(t.view)return t.view;var e=o(t);if(e.window===e)return e;var n=e.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(t){return t.detail||0}};i.augmentClass(r,a),t.exports=r},function(t,e,n){\"use strict\";var r=n(3),i=n(401),o=n(97),a=n(406),u=n(402),c=n(403),s=n(27),l=n(404),f=n(407),p=n(408),h=(n(1),s.createElement),d=s.createFactory,v=s.cloneElement,g=r,m={Children:{map:i.map,forEach:i.forEach,count:i.count,toArray:i.toArray,only:p},Component:o,PureComponent:a,createElement:h,cloneElement:v,isValidElement:s.isValidElement,PropTypes:l,createClass:u.createClass,createFactory:d,createMixin:function(t){return t},DOM:c,version:f,__spread:g};t.exports=m},function(t,e,n){\"use strict\";function r(t){return void 0!==t.ref}function i(t){return void 0!==t.key}var o=n(3),a=n(15),u=(n(1),n(176),Object.prototype.hasOwnProperty),c=n(174),s={key:!0,ref:!0,__self:!0,__source:!0},l=function(t,e,n,r,i,o,a){var u={$$typeof:c,type:t,key:e,ref:n,props:a,_owner:o};return u};l.createElement=function(t,e,n){var o,c={},f=null,p=null,h=null,d=null;if(null!=e){r(e)&&(p=e.ref),i(e)&&(f=\"\"+e.key),h=void 0===e.__self?null:e.__self,d=void 0===e.__source?null:e.__source;for(o in e)u.call(e,o)&&!s.hasOwnProperty(o)&&(c[o]=e[o])}var v=arguments.length-2;if(1===v)c.children=n;else if(v>1){for(var g=Array(v),m=0;m<v;m++)g[m]=arguments[m+2];c.children=g}if(t&&t.defaultProps){var y=t.defaultProps;for(o in y)void 0===c[o]&&(c[o]=y[o])}return l(t,f,p,h,d,a.current,c)},l.createFactory=function(t){var e=l.createElement.bind(null,t);return e.type=t,e},l.cloneAndReplaceKey=function(t,e){var n=l(t.type,e,t.ref,t._self,t._source,t._owner,t.props);return n},l.cloneElement=function(t,e,n){var c,f=o({},t.props),p=t.key,h=t.ref,d=t._self,v=t._source,g=t._owner;if(null!=e){r(e)&&(h=e.ref,g=a.current),i(e)&&(p=\"\"+e.key);var m;t.type&&t.type.defaultProps&&(m=t.type.defaultProps);for(c in e)u.call(e,c)&&!s.hasOwnProperty(c)&&(void 0===e[c]&&void 0!==m?f[c]=m[c]:f[c]=e[c])}var y=arguments.length-2;if(1===y)f.children=n;else if(y>1){for(var _=Array(y),b=0;b<y;b++)_[b]=arguments[b+2];f.children=_}return l(t.type,p,h,d,v,g,f)},l.isValidElement=function(t){return\"object\"==typeof t&&null!==t&&t.$$typeof===c},t.exports=l},function(t,e,n){\"use strict\";function r(t){for(var e=arguments.length-1,n=\"Minified React error #\"+t+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=\"+t,r=0;r<e;r++)n+=\"&args[]=\"+encodeURIComponent(arguments[r+1]);n+=\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";var i=new Error(n);throw i.name=\"Invariant Violation\",i.framesToPop=1,i}t.exports=r},function(t,e,n){\"use strict\";e.a=function(t){return null===t?NaN:+t}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(211);n.d(e,\"formatDefaultLocale\",function(){return r.a}),n.d(e,\"format\",function(){return r.b}),n.d(e,\"formatPrefix\",function(){return r.c});var i=n(117);n.d(e,\"formatLocale\",function(){return i.a});var o=n(115);n.d(e,\"formatSpecifier\",function(){return o.a});var a=n(215);n.d(e,\"precisionFixed\",function(){return a.a});var u=n(216);n.d(e,\"precisionPrefix\",function(){return u.a});var c=n(217);n.d(e,\"precisionRound\",function(){return c.a})},function(t,e,n){\"use strict\";var r=n(63);n.d(e,\"b\",function(){return r.a});var i=(n(118),n(62),n(119),n(121),n(43));n.d(e,\"a\",function(){return i.a});var o=(n(122),n(223));n.d(e,\"c\",function(){return o.a});var a=(n(124),n(225),n(227),n(123),n(220),n(221),n(219),n(218));n.d(e,\"d\",function(){return a.a});n(222)},function(t,e,n){\"use strict\";function r(t,e){return function(n){return t+n*e}}function i(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function o(t,e){var i=e-t;return i?r(t,i>180||i<-180?i-360*Math.round(i/360):i):n.i(c.a)(isNaN(t)?e:t)}function a(t){return 1===(t=+t)?u:function(e,r){return r-e?i(e,r,t):n.i(c.a)(isNaN(e)?r:e)}}function u(t,e){var i=e-t;return i?r(t,i):n.i(c.a)(isNaN(t)?e:t)}var c=n(120);e.b=o,e.c=a,e.a=u},function(t,e,n){\"use strict\";e.a=function(t){return t.match(/.{6}/g).map(function(t){return\"#\"+t})}},function(t,e,n){\"use strict\";function r(t){var e=t.domain;return t.ticks=function(t){var r=e();return n.i(o.a)(r[0],r[r.length-1],null==t?10:t)},t.tickFormat=function(t,r){return n.i(c.a)(e(),t,r)},t.nice=function(r){var i=e(),a=i.length-1,u=null==r?10:r,c=i[0],s=i[a],l=n.i(o.b)(c,s,u);return l&&(l=n.i(o.b)(Math.floor(c/l)*l,Math.ceil(s/l)*l,u),i[0]=Math.floor(c/l)*l,i[a]=Math.ceil(s/l)*l,e(i)),t},t}function i(){var t=n.i(u.a)(u.b,a.a);return t.copy=function(){return n.i(u.c)(t,i())},r(t)}var o=n(12),a=n(31),u=n(45),c=n(243);e.b=r,e.a=i},function(t,e,n){\"use strict\";n.d(e,\"a\",function(){return r}),n.d(e,\"b\",function(){return i}),n.d(e,\"d\",function(){return o}),n.d(e,\"c\",function(){return a});var r=1e-12,i=Math.PI,o=i/2,a=2*i},function(t,e,n){\"use strict\";e.a=function(t,e){if((r=t.length)>1)for(var n,r,i=1,o=t[e[0]],a=o.length;i<r;++i){n=o,o=t[e[i]];for(var u=0;u<a;++u)o[u][1]+=o[u][0]=isNaN(n[u][1])?n[u][0]:n[u][1]}}},function(t,e,n){\"use strict\";e.a=function(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n}},function(t,e,n){\"use strict\";var r={};t.exports=r},function(t,e,n){(function(t,r){var i;(function(){function o(t,e){return t.set(e[0],e[1]),t}function a(t,e){return t.add(e),t}function u(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function c(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i<o;){var a=t[i];e(r,a,n(a),t)}return r}function s(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function l(t,e){for(var n=null==t?0:t.length;n--&&e(t[n],n,t)!==!1;);return t}function f(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function p(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n<r;){var a=t[n];e(a,n,t)&&(o[i++]=a)}return o}function h(t,e){var n=null==t?0:t.length;return!!n&&M(t,e,0)>-1}function d(t,e,n){for(var r=-1,i=null==t?0:t.length;++r<i;)if(n(e,t[r]))return!0;return!1}function v(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}function g(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function m(t,e,n,r){var i=-1,o=null==t?0:t.length;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}function y(t,e,n,r){var i=null==t?0:t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function _(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function b(t){return t.split(\"\")}function x(t){return t.match(ze)||[]}function w(t,e,n){var r;return n(t,function(t,n,i){if(e(t,n,i))return r=n,!1}),r}function C(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o<i;)if(e(t[o],o,t))return o;return-1}function M(t,e,n){return e===e?Z(t,e,n):C(t,E,n)}function k(t,e,n,r){for(var i=n-1,o=t.length;++i<o;)if(r(t[i],e))return i;return-1}function E(t){return t!==t}function T(t,e){var n=null==t?0:t.length;return n?O(t,e)/n:Ut}function S(t){return function(e){return null==e?it:e[t]}}function P(t){return function(e){return null==t?it:t[e]}}function N(t,e,n,r,i){return i(t,function(t,i,o){n=r?(r=!1,t):e(n,t,i,o)}),n}function A(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function O(t,e){for(var n,r=-1,i=t.length;++r<i;){var o=e(t[r]);o!==it&&(n=n===it?o:n+o)}return n}function I(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}function D(t,e){return v(e,function(e){return[e,t[e]]})}function R(t){return function(e){return t(e)}}function L(t,e){return v(e,function(e){return t[e]})}function U(t,e){return t.has(e)}function F(t,e){for(var n=-1,r=t.length;++n<r&&M(e,t[n],0)>-1;);return n}function j(t,e){for(var n=t.length;n--&&M(e,t[n],0)>-1;);return n}function B(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&++r;return r}function W(t){return\"\\\\\"+nr[t]}function V(t,e){return null==t?it:t[e]}function z(t){return Kn.test(t)}function H(t){return Gn.test(t)}function q(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}function Y(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function K(t,e){return function(n){return t(e(n))}}function G(t,e){for(var n=-1,r=t.length,i=0,o=[];++n<r;){var a=t[n];a!==e&&a!==ft||(t[n]=ft,o[i++]=n)}return o}function $(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function X(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=[t,t]}),n}function Z(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function Q(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}function J(t){return z(t)?et(t):_r(t)}function tt(t){return z(t)?nt(t):b(t)}function et(t){for(var e=qn.lastIndex=0;qn.test(t);)++e;return e}function nt(t){return t.match(qn)||[]}function rt(t){return t.match(Yn)||[]}var it,ot=\"4.17.4\",at=200,ut=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",ct=\"Expected a function\",st=\"__lodash_hash_undefined__\",lt=500,ft=\"__lodash_placeholder__\",pt=1,ht=2,dt=4,vt=1,gt=2,mt=1,yt=2,_t=4,bt=8,xt=16,wt=32,Ct=64,Mt=128,kt=256,Et=512,Tt=30,St=\"...\",Pt=800,Nt=16,At=1,Ot=2,It=3,Dt=1/0,Rt=9007199254740991,Lt=1.7976931348623157e308,Ut=NaN,Ft=4294967295,jt=Ft-1,Bt=Ft>>>1,Wt=[[\"ary\",Mt],[\"bind\",mt],[\"bindKey\",yt],[\"curry\",bt],[\"curryRight\",xt],[\"flip\",Et],[\"partial\",wt],[\"partialRight\",Ct],[\"rearg\",kt]],Vt=\"[object Arguments]\",zt=\"[object Array]\",Ht=\"[object AsyncFunction]\",qt=\"[object Boolean]\",Yt=\"[object Date]\",Kt=\"[object DOMException]\",Gt=\"[object Error]\",$t=\"[object Function]\",Xt=\"[object GeneratorFunction]\",Zt=\"[object Map]\",Qt=\"[object Number]\",Jt=\"[object Null]\",te=\"[object Object]\",ee=\"[object Promise]\",ne=\"[object Proxy]\",re=\"[object RegExp]\",ie=\"[object Set]\",oe=\"[object String]\",ae=\"[object Symbol]\",ue=\"[object Undefined]\",ce=\"[object WeakMap]\",se=\"[object WeakSet]\",le=\"[object ArrayBuffer]\",fe=\"[object DataView]\",pe=\"[object Float32Array]\",he=\"[object Float64Array]\",de=\"[object Int8Array]\",ve=\"[object Int16Array]\",ge=\"[object Int32Array]\",me=\"[object Uint8Array]\",ye=\"[object Uint8ClampedArray]\",_e=\"[object Uint16Array]\",be=\"[object Uint32Array]\",xe=/\\b__p \\+= '';/g,we=/\\b(__p \\+=) '' \\+/g,Ce=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,Me=/&(?:amp|lt|gt|quot|#39);/g,ke=/[&<>\"']/g,Ee=RegExp(Me.source),Te=RegExp(ke.source),Se=/<%-([\\s\\S]+?)%>/g,Pe=/<%([\\s\\S]+?)%>/g,Ne=/<%=([\\s\\S]+?)%>/g,Ae=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Oe=/^\\w*$/,Ie=/^\\./,De=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,Re=/[\\\\^$.*+?()[\\]{}|]/g,Le=RegExp(Re.source),Ue=/^\\s+|\\s+$/g,Fe=/^\\s+/,je=/\\s+$/,Be=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,We=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,Ve=/,? & /,ze=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,He=/\\\\(\\\\)?/g,qe=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Ye=/\\w*$/,Ke=/^[-+]0x[0-9a-f]+$/i,Ge=/^0b[01]+$/i,$e=/^\\[object .+?Constructor\\]$/,Xe=/^0o[0-7]+$/i,Ze=/^(?:0|[1-9]\\d*)$/,Qe=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Je=/($^)/,tn=/['\\n\\r\\u2028\\u2029\\\\]/g,en=\"\\\\ud800-\\\\udfff\",nn=\"\\\\u0300-\\\\u036f\",rn=\"\\\\ufe20-\\\\ufe2f\",on=\"\\\\u20d0-\\\\u20ff\",an=nn+rn+on,un=\"\\\\u2700-\\\\u27bf\",cn=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",sn=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",ln=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",fn=\"\\\\u2000-\\\\u206f\",pn=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",hn=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",dn=\"\\\\ufe0e\\\\ufe0f\",vn=sn+ln+fn+pn,gn=\"['’]\",mn=\"[\"+en+\"]\",yn=\"[\"+vn+\"]\",_n=\"[\"+an+\"]\",bn=\"\\\\d+\",xn=\"[\"+un+\"]\",wn=\"[\"+cn+\"]\",Cn=\"[^\"+en+vn+bn+un+cn+hn+\"]\",Mn=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",kn=\"(?:\"+_n+\"|\"+Mn+\")\",En=\"[^\"+en+\"]\",Tn=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",Sn=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Pn=\"[\"+hn+\"]\",Nn=\"\\\\u200d\",An=\"(?:\"+wn+\"|\"+Cn+\")\",On=\"(?:\"+Pn+\"|\"+Cn+\")\",In=\"(?:\"+gn+\"(?:d|ll|m|re|s|t|ve))?\",Dn=\"(?:\"+gn+\"(?:D|LL|M|RE|S|T|VE))?\",Rn=kn+\"?\",Ln=\"[\"+dn+\"]?\",Un=\"(?:\"+Nn+\"(?:\"+[En,Tn,Sn].join(\"|\")+\")\"+Ln+Rn+\")*\",Fn=\"\\\\d*(?:(?:1st|2nd|3rd|(?![123])\\\\dth)\\\\b)\",jn=\"\\\\d*(?:(?:1ST|2ND|3RD|(?![123])\\\\dTH)\\\\b)\",Bn=Ln+Rn+Un,Wn=\"(?:\"+[xn,Tn,Sn].join(\"|\")+\")\"+Bn,Vn=\"(?:\"+[En+_n+\"?\",_n,Tn,Sn,mn].join(\"|\")+\")\",zn=RegExp(gn,\"g\"),Hn=RegExp(_n,\"g\"),qn=RegExp(Mn+\"(?=\"+Mn+\")|\"+Vn+Bn,\"g\"),Yn=RegExp([Pn+\"?\"+wn+\"+\"+In+\"(?=\"+[yn,Pn,\"$\"].join(\"|\")+\")\",On+\"+\"+Dn+\"(?=\"+[yn,Pn+An,\"$\"].join(\"|\")+\")\",Pn+\"?\"+An+\"+\"+In,Pn+\"+\"+Dn,jn,Fn,bn,Wn].join(\"|\"),\"g\"),Kn=RegExp(\"[\"+Nn+en+an+dn+\"]\"),Gn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,$n=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],Xn=-1,Zn={};Zn[pe]=Zn[he]=Zn[de]=Zn[ve]=Zn[ge]=Zn[me]=Zn[ye]=Zn[_e]=Zn[be]=!0,Zn[Vt]=Zn[zt]=Zn[le]=Zn[qt]=Zn[fe]=Zn[Yt]=Zn[Gt]=Zn[$t]=Zn[Zt]=Zn[Qt]=Zn[te]=Zn[re]=Zn[ie]=Zn[oe]=Zn[ce]=!1;var Qn={};Qn[Vt]=Qn[zt]=Qn[le]=Qn[fe]=Qn[qt]=Qn[Yt]=Qn[pe]=Qn[he]=Qn[de]=Qn[ve]=Qn[ge]=Qn[Zt]=Qn[Qt]=Qn[te]=Qn[re]=Qn[ie]=Qn[oe]=Qn[ae]=Qn[me]=Qn[ye]=Qn[_e]=Qn[be]=!0,Qn[Gt]=Qn[$t]=Qn[ce]=!1;var Jn={\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"Ç\":\"C\",\"ç\":\"c\",\"Ð\":\"D\",\"ð\":\"d\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"Ñ\":\"N\",\"ñ\":\"n\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"Ý\":\"Y\",\"ý\":\"y\",\"ÿ\":\"y\",\"Æ\":\"Ae\",\"æ\":\"ae\",\"Þ\":\"Th\",\"þ\":\"th\",\"ß\":\"ss\",\"Ā\":\"A\",\"Ă\":\"A\",\"Ą\":\"A\",\"ā\":\"a\",\"ă\":\"a\",\"ą\":\"a\",\"Ć\":\"C\",\"Ĉ\":\"C\",\"Ċ\":\"C\",\"Č\":\"C\",\"ć\":\"c\",\"ĉ\":\"c\",\"ċ\":\"c\",\"č\":\"c\",\"Ď\":\"D\",\"Đ\":\"D\",\"ď\":\"d\",\"đ\":\"d\",\"Ē\":\"E\",\"Ĕ\":\"E\",\"Ė\":\"E\",\"Ę\":\"E\",\"Ě\":\"E\",\"ē\":\"e\",\"ĕ\":\"e\",\"ė\":\"e\",\"ę\":\"e\",\"ě\":\"e\",\"Ĝ\":\"G\",\"Ğ\":\"G\",\"Ġ\":\"G\",\"Ģ\":\"G\",\"ĝ\":\"g\",\"ğ\":\"g\",\"ġ\":\"g\",\"ģ\":\"g\",\"Ĥ\":\"H\",\"Ħ\":\"H\",\"ĥ\":\"h\",\"ħ\":\"h\",\"Ĩ\":\"I\",\"Ī\":\"I\",\"Ĭ\":\"I\",\"Į\":\"I\",\"İ\":\"I\",\"ĩ\":\"i\",\"ī\":\"i\",\"ĭ\":\"i\",\"į\":\"i\",\"ı\":\"i\",\"Ĵ\":\"J\",\"ĵ\":\"j\",\"Ķ\":\"K\",\"ķ\":\"k\",\"ĸ\":\"k\",\"Ĺ\":\"L\",\"Ļ\":\"L\",\"Ľ\":\"L\",\"Ŀ\":\"L\",\"Ł\":\"L\",\"ĺ\":\"l\",\"ļ\":\"l\",\"ľ\":\"l\",\"ŀ\":\"l\",\"ł\":\"l\",\"Ń\":\"N\",\"Ņ\":\"N\",\"Ň\":\"N\",\"Ŋ\":\"N\",\"ń\":\"n\",\"ņ\":\"n\",\"ň\":\"n\",\"ŋ\":\"n\",\"Ō\":\"O\",\"Ŏ\":\"O\",\"Ő\":\"O\",\"ō\":\"o\",\"ŏ\":\"o\",\"ő\":\"o\",\"Ŕ\":\"R\",\"Ŗ\":\"R\",\"Ř\":\"R\",\"ŕ\":\"r\",\"ŗ\":\"r\",\"ř\":\"r\",\"Ś\":\"S\",\"Ŝ\":\"S\",\"Ş\":\"S\",\"Š\":\"S\",\"ś\":\"s\",\"ŝ\":\"s\",\"ş\":\"s\",\"š\":\"s\",\"Ţ\":\"T\",\"Ť\":\"T\",\"Ŧ\":\"T\",\"ţ\":\"t\",\"ť\":\"t\",\"ŧ\":\"t\",\"Ũ\":\"U\",\"Ū\":\"U\",\"Ŭ\":\"U\",\"Ů\":\"U\",\"Ű\":\"U\",\"Ų\":\"U\",\"ũ\":\"u\",\"ū\":\"u\",\"ŭ\":\"u\",\"ů\":\"u\",\"ű\":\"u\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"Ż\":\"Z\",\"Ž\":\"Z\",\"ź\":\"z\",\"ż\":\"z\",\"ž\":\"z\",\"Ĳ\":\"IJ\",\n",
       "\"ĳ\":\"ij\",\"Œ\":\"Oe\",\"œ\":\"oe\",\"ŉ\":\"'n\",\"ſ\":\"s\"},tr={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},er={\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"},nr={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},rr=parseFloat,ir=parseInt,or=\"object\"==typeof t&&t&&t.Object===Object&&t,ar=\"object\"==typeof self&&self&&self.Object===Object&&self,ur=or||ar||Function(\"return this\")(),cr=\"object\"==typeof e&&e&&!e.nodeType&&e,sr=cr&&\"object\"==typeof r&&r&&!r.nodeType&&r,lr=sr&&sr.exports===cr,fr=lr&&or.process,pr=function(){try{return fr&&fr.binding&&fr.binding(\"util\")}catch(t){}}(),hr=pr&&pr.isArrayBuffer,dr=pr&&pr.isDate,vr=pr&&pr.isMap,gr=pr&&pr.isRegExp,mr=pr&&pr.isSet,yr=pr&&pr.isTypedArray,_r=S(\"length\"),br=P(Jn),xr=P(tr),wr=P(er),Cr=function t(e){function n(t){if(sc(t)&&!xp(t)&&!(t instanceof b)){if(t instanceof i)return t;if(bl.call(t,\"__wrapped__\"))return aa(t)}return new i(t)}function r(){}function i(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=it}function b(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ft,this.__views__=[]}function P(){var t=new b(this.__wrapped__);return t.__actions__=Bi(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Bi(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Bi(this.__views__),t}function Z(){if(this.__filtered__){var t=new b(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function et(){var t=this.__wrapped__.value(),e=this.__dir__,n=xp(t),r=e<0,i=n?t.length:0,o=No(0,i,this.__views__),a=o.start,u=o.end,c=u-a,s=r?u:a-1,l=this.__iteratees__,f=l.length,p=0,h=Xl(c,this.__takeCount__);if(!n||!r&&i==c&&h==c)return xi(t,this.__actions__);var d=[];t:for(;c--&&p<h;){s+=e;for(var v=-1,g=t[s];++v<f;){var m=l[v],y=m.iteratee,_=m.type,b=y(g);if(_==Ot)g=b;else if(!b){if(_==At)continue t;break t}}d[p++]=g}return d}function nt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function ze(){this.__data__=uf?uf(null):{},this.size=0}function en(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function nn(t){var e=this.__data__;if(uf){var n=e[t];return n===st?it:n}return bl.call(e,t)?e[t]:it}function rn(t){var e=this.__data__;return uf?e[t]!==it:bl.call(e,t)}function on(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=uf&&e===it?st:e,this}function an(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function un(){this.__data__=[],this.size=0}function cn(t){var e=this.__data__,n=In(e,t);if(n<0)return!1;var r=e.length-1;return n==r?e.pop():Dl.call(e,n,1),--this.size,!0}function sn(t){var e=this.__data__,n=In(e,t);return n<0?it:e[n][1]}function ln(t){return In(this.__data__,t)>-1}function fn(t,e){var n=this.__data__,r=In(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function pn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function hn(){this.size=0,this.__data__={hash:new nt,map:new(nf||an),string:new nt}}function dn(t){var e=Eo(this,t).delete(t);return this.size-=e?1:0,e}function vn(t){return Eo(this,t).get(t)}function gn(t){return Eo(this,t).has(t)}function mn(t,e){var n=Eo(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}function yn(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new pn;++e<n;)this.add(t[e])}function _n(t){return this.__data__.set(t,st),this}function bn(t){return this.__data__.has(t)}function xn(t){var e=this.__data__=new an(t);this.size=e.size}function wn(){this.__data__=new an,this.size=0}function Cn(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}function Mn(t){return this.__data__.get(t)}function kn(t){return this.__data__.has(t)}function En(t,e){var n=this.__data__;if(n instanceof an){var r=n.__data__;if(!nf||r.length<at-1)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new pn(r)}return n.set(t,e),this.size=n.size,this}function Tn(t,e){var n=xp(t),r=!n&&bp(t),i=!n&&!r&&Cp(t),o=!n&&!r&&!i&&Sp(t),a=n||r||i||o,u=a?I(t.length,hl):[],c=u.length;for(var s in t)!e&&!bl.call(t,s)||a&&(\"length\"==s||i&&(\"offset\"==s||\"parent\"==s)||o&&(\"buffer\"==s||\"byteLength\"==s||\"byteOffset\"==s)||Fo(s,c))||u.push(s);return u}function Sn(t){var e=t.length;return e?t[ni(0,e-1)]:it}function Pn(t,e){return na(Bi(t),jn(e,0,t.length))}function Nn(t){return na(Bi(t))}function An(t,e,n){(n===it||$u(t[e],n))&&(n!==it||e in t)||Un(t,e,n)}function On(t,e,n){var r=t[e];bl.call(t,e)&&$u(r,n)&&(n!==it||e in t)||Un(t,e,n)}function In(t,e){for(var n=t.length;n--;)if($u(t[n][0],e))return n;return-1}function Dn(t,e,n,r){return _f(t,function(t,i,o){e(r,t,n(t),o)}),r}function Rn(t,e){return t&&Wi(e,Hc(e),t)}function Ln(t,e){return t&&Wi(e,qc(e),t)}function Un(t,e,n){\"__proto__\"==e&&Fl?Fl(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function Fn(t,e){for(var n=-1,r=e.length,i=al(r),o=null==t;++n<r;)i[n]=o?it:Wc(t,e[n]);return i}function jn(t,e,n){return t===t&&(n!==it&&(t=t<=n?t:n),e!==it&&(t=t>=e?t:e)),t}function Bn(t,e,n,r,i,o){var a,u=e&pt,c=e&ht,l=e&dt;if(n&&(a=i?n(t,r,i,o):n(t)),a!==it)return a;if(!cc(t))return t;var f=xp(t);if(f){if(a=Io(t),!u)return Bi(t,a)}else{var p=Af(t),h=p==$t||p==Xt;if(Cp(t))return Si(t,u);if(p==te||p==Vt||h&&!i){if(a=c||h?{}:Do(t),!u)return c?zi(t,Ln(a,t)):Vi(t,Rn(a,t))}else{if(!Qn[p])return i?t:{};a=Ro(t,p,Bn,u)}}o||(o=new xn);var d=o.get(t);if(d)return d;o.set(t,a);var v=l?c?wo:xo:c?qc:Hc,g=f?it:v(t);return s(g||t,function(r,i){g&&(i=r,r=t[i]),On(a,i,Bn(r,e,n,i,t,o))}),a}function Wn(t){var e=Hc(t);return function(n){return Vn(n,t,e)}}function Vn(t,e,n){var r=n.length;if(null==t)return!r;for(t=fl(t);r--;){var i=n[r],o=e[i],a=t[i];if(a===it&&!(i in t)||!o(a))return!1}return!0}function qn(t,e,n){if(\"function\"!=typeof t)throw new dl(ct);return Df(function(){t.apply(it,n)},e)}function Yn(t,e,n,r){var i=-1,o=h,a=!0,u=t.length,c=[],s=e.length;if(!u)return c;n&&(e=v(e,R(n))),r?(o=d,a=!1):e.length>=at&&(o=U,a=!1,e=new yn(e));t:for(;++i<u;){var l=t[i],f=null==n?l:n(l);if(l=r||0!==l?l:0,a&&f===f){for(var p=s;p--;)if(e[p]===f)continue t;c.push(l)}else o(e,f,r)||c.push(l)}return c}function Kn(t,e){var n=!0;return _f(t,function(t,r,i){return n=!!e(t,r,i)}),n}function Gn(t,e,n){for(var r=-1,i=t.length;++r<i;){var o=t[r],a=e(o);if(null!=a&&(u===it?a===a&&!bc(a):n(a,u)))var u=a,c=o}return c}function Jn(t,e,n,r){var i=t.length;for(n=Ec(n),n<0&&(n=-n>i?0:i+n),r=r===it||r>i?i:Ec(r),r<0&&(r+=i),r=n>r?0:Tc(r);n<r;)t[n++]=e;return t}function tr(t,e){var n=[];return _f(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function er(t,e,n,r,i){var o=-1,a=t.length;for(n||(n=Uo),i||(i=[]);++o<a;){var u=t[o];e>0&&n(u)?e>1?er(u,e-1,n,r,i):g(i,u):r||(i[i.length]=u)}return i}function nr(t,e){return t&&xf(t,e,Hc)}function or(t,e){return t&&wf(t,e,Hc)}function ar(t,e){return p(e,function(e){return oc(t[e])})}function cr(t,e){e=Ei(e,t);for(var n=0,r=e.length;null!=t&&n<r;)t=t[ra(e[n++])];return n&&n==r?t:it}function sr(t,e,n){var r=e(t);return xp(t)?r:g(r,n(t))}function fr(t){return null==t?t===it?ue:Jt:Ul&&Ul in fl(t)?Po(t):Xo(t)}function pr(t,e){return t>e}function _r(t,e){return null!=t&&bl.call(t,e)}function Cr(t,e){return null!=t&&e in fl(t)}function kr(t,e,n){return t>=Xl(e,n)&&t<$l(e,n)}function Er(t,e,n){for(var r=n?d:h,i=t[0].length,o=t.length,a=o,u=al(o),c=1/0,s=[];a--;){var l=t[a];a&&e&&(l=v(l,R(e))),c=Xl(l.length,c),u[a]=!n&&(e||i>=120&&l.length>=120)?new yn(a&&l):it}l=t[0];var f=-1,p=u[0];t:for(;++f<i&&s.length<c;){var g=l[f],m=e?e(g):g;if(g=n||0!==g?g:0,!(p?U(p,m):r(s,m,n))){for(a=o;--a;){var y=u[a];if(!(y?U(y,m):r(t[a],m,n)))continue t}p&&p.push(m),s.push(g)}}return s}function Tr(t,e,n,r){return nr(t,function(t,i,o){e(r,n(t),i,o)}),r}function Sr(t,e,n){e=Ei(e,t),t=Qo(t,e);var r=null==t?t:t[ra(ka(e))];return null==r?it:u(r,t,n)}function Pr(t){return sc(t)&&fr(t)==Vt}function Nr(t){return sc(t)&&fr(t)==le}function Ar(t){return sc(t)&&fr(t)==Yt}function Or(t,e,n,r,i){return t===e||(null==t||null==e||!sc(t)&&!sc(e)?t!==t&&e!==e:Ir(t,e,n,r,Or,i))}function Ir(t,e,n,r,i,o){var a=xp(t),u=xp(e),c=a?zt:Af(t),s=u?zt:Af(e);c=c==Vt?te:c,s=s==Vt?te:s;var l=c==te,f=s==te,p=c==s;if(p&&Cp(t)){if(!Cp(e))return!1;a=!0,l=!1}if(p&&!l)return o||(o=new xn),a||Sp(t)?mo(t,e,n,r,i,o):yo(t,e,c,n,r,i,o);if(!(n&vt)){var h=l&&bl.call(t,\"__wrapped__\"),d=f&&bl.call(e,\"__wrapped__\");if(h||d){var v=h?t.value():t,g=d?e.value():e;return o||(o=new xn),i(v,g,n,r,o)}}return!!p&&(o||(o=new xn),_o(t,e,n,r,i,o))}function Dr(t){return sc(t)&&Af(t)==Zt}function Rr(t,e,n,r){var i=n.length,o=i,a=!r;if(null==t)return!o;for(t=fl(t);i--;){var u=n[i];if(a&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++i<o;){u=n[i];var c=u[0],s=t[c],l=u[1];if(a&&u[2]){if(s===it&&!(c in t))return!1}else{var f=new xn;if(r)var p=r(s,l,c,t,e,f);if(!(p===it?Or(l,s,vt|gt,r,f):p))return!1}}return!0}function Lr(t){if(!cc(t)||zo(t))return!1;var e=oc(t)?El:$e;return e.test(ia(t))}function Ur(t){return sc(t)&&fr(t)==re}function Fr(t){return sc(t)&&Af(t)==ie}function jr(t){return sc(t)&&uc(t.length)&&!!Zn[fr(t)]}function Br(t){return\"function\"==typeof t?t:null==t?Ds:\"object\"==typeof t?xp(t)?Yr(t[0],t[1]):qr(t):Vs(t)}function Wr(t){if(!Ho(t))return Gl(t);var e=[];for(var n in fl(t))bl.call(t,n)&&\"constructor\"!=n&&e.push(n);return e}function Vr(t){if(!cc(t))return $o(t);var e=Ho(t),n=[];for(var r in t)(\"constructor\"!=r||!e&&bl.call(t,r))&&n.push(r);return n}function zr(t,e){return t<e}function Hr(t,e){var n=-1,r=Xu(t)?al(t.length):[];return _f(t,function(t,i,o){r[++n]=e(t,i,o)}),r}function qr(t){var e=To(t);return 1==e.length&&e[0][2]?Yo(e[0][0],e[0][1]):function(n){return n===t||Rr(n,t,e)}}function Yr(t,e){return Bo(t)&&qo(e)?Yo(ra(t),e):function(n){var r=Wc(n,t);return r===it&&r===e?zc(n,t):Or(e,r,vt|gt)}}function Kr(t,e,n,r,i){t!==e&&xf(e,function(o,a){if(cc(o))i||(i=new xn),Gr(t,e,a,n,Kr,r,i);else{var u=r?r(t[a],o,a+\"\",t,e,i):it;u===it&&(u=o),An(t,a,u)}},qc)}function Gr(t,e,n,r,i,o,a){var u=t[n],c=e[n],s=a.get(c);if(s)return void An(t,n,s);var l=o?o(u,c,n+\"\",t,e,a):it,f=l===it;if(f){var p=xp(c),h=!p&&Cp(c),d=!p&&!h&&Sp(c);l=c,p||h||d?xp(u)?l=u:Zu(u)?l=Bi(u):h?(f=!1,l=Si(c,!0)):d?(f=!1,l=Ri(c,!0)):l=[]:mc(c)||bp(c)?(l=u,bp(u)?l=Pc(u):(!cc(u)||r&&oc(u))&&(l=Do(c))):f=!1}f&&(a.set(c,l),i(l,c,r,o,a),a.delete(c)),An(t,n,l)}function $r(t,e){var n=t.length;if(n)return e+=e<0?n:0,Fo(e,n)?t[e]:it}function Xr(t,e,n){var r=-1;e=v(e.length?e:[Ds],R(ko()));var i=Hr(t,function(t,n,i){var o=v(e,function(e){return e(t)});return{criteria:o,index:++r,value:t}});return A(i,function(t,e){return Ui(t,e,n)})}function Zr(t,e){return Qr(t,e,function(e,n){return zc(t,n)})}function Qr(t,e,n){for(var r=-1,i=e.length,o={};++r<i;){var a=e[r],u=cr(t,a);n(u,a)&&ci(o,Ei(a,t),u)}return o}function Jr(t){return function(e){return cr(e,t)}}function ti(t,e,n,r){var i=r?k:M,o=-1,a=e.length,u=t;for(t===e&&(e=Bi(e)),n&&(u=v(t,R(n)));++o<a;)for(var c=0,s=e[o],l=n?n(s):s;(c=i(u,l,c,r))>-1;)u!==t&&Dl.call(u,c,1),Dl.call(t,c,1);return t}function ei(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;Fo(i)?Dl.call(t,i,1):yi(t,i)}}return t}function ni(t,e){return t+zl(Jl()*(e-t+1))}function ri(t,e,n,r){for(var i=-1,o=$l(Vl((e-t)/(n||1)),0),a=al(o);o--;)a[r?o:++i]=t,t+=n;return a}function ii(t,e){var n=\"\";if(!t||e<1||e>Rt)return n;do e%2&&(n+=t),e=zl(e/2),e&&(t+=t);while(e);return n}function oi(t,e){return Rf(Zo(t,e,Ds),t+\"\")}function ai(t){return Sn(rs(t))}function ui(t,e){var n=rs(t);return na(n,jn(e,0,n.length))}function ci(t,e,n,r){if(!cc(t))return t;e=Ei(e,t);for(var i=-1,o=e.length,a=o-1,u=t;null!=u&&++i<o;){var c=ra(e[i]),s=n;if(i!=a){var l=u[c];s=r?r(l,c,u):it,s===it&&(s=cc(l)?l:Fo(e[i+1])?[]:{})}On(u,c,s),u=u[c]}return t}function si(t){return na(rs(t))}function li(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=al(i);++r<i;)o[r]=t[r+e];return o}function fi(t,e){var n;return _f(t,function(t,r,i){return n=e(t,r,i),!n}),!!n}function pi(t,e,n){var r=0,i=null==t?r:t.length;if(\"number\"==typeof e&&e===e&&i<=Bt){for(;r<i;){var o=r+i>>>1,a=t[o];null!==a&&!bc(a)&&(n?a<=e:a<e)?r=o+1:i=o}return i}return hi(t,e,Ds,n)}function hi(t,e,n,r){e=n(e);for(var i=0,o=null==t?0:t.length,a=e!==e,u=null===e,c=bc(e),s=e===it;i<o;){var l=zl((i+o)/2),f=n(t[l]),p=f!==it,h=null===f,d=f===f,v=bc(f);if(a)var g=r||d;else g=s?d&&(r||p):u?d&&p&&(r||!h):c?d&&p&&!h&&(r||!v):!h&&!v&&(r?f<=e:f<e);g?i=l+1:o=l}return Xl(o,jt)}function di(t,e){for(var n=-1,r=t.length,i=0,o=[];++n<r;){var a=t[n],u=e?e(a):a;if(!n||!$u(u,c)){var c=u;o[i++]=0===a?0:a}}return o}function vi(t){return\"number\"==typeof t?t:bc(t)?Ut:+t}function gi(t){if(\"string\"==typeof t)return t;if(xp(t))return v(t,gi)+\"\";if(bc(t))return mf?mf.call(t):\"\";var e=t+\"\";return\"0\"==e&&1/t==-Dt?\"-0\":e}function mi(t,e,n){var r=-1,i=h,o=t.length,a=!0,u=[],c=u;if(n)a=!1,i=d;else if(o>=at){var s=e?null:Tf(t);if(s)return $(s);a=!1,i=U,c=new yn}else c=e?[]:u;t:for(;++r<o;){var l=t[r],f=e?e(l):l;if(l=n||0!==l?l:0,a&&f===f){for(var p=c.length;p--;)if(c[p]===f)continue t;e&&c.push(f),u.push(l)}else i(c,f,n)||(c!==u&&c.push(f),u.push(l))}return u}function yi(t,e){return e=Ei(e,t),t=Qo(t,e),null==t||delete t[ra(ka(e))]}function _i(t,e,n,r){return ci(t,e,n(cr(t,e)),r)}function bi(t,e,n,r){for(var i=t.length,o=r?i:-1;(r?o--:++o<i)&&e(t[o],o,t););return n?li(t,r?0:o,r?o+1:i):li(t,r?o+1:0,r?i:o)}function xi(t,e){var n=t;return n instanceof b&&(n=n.value()),m(e,function(t,e){return e.func.apply(e.thisArg,g([t],e.args))},n)}function wi(t,e,n){var r=t.length;if(r<2)return r?mi(t[0]):[];for(var i=-1,o=al(r);++i<r;)for(var a=t[i],u=-1;++u<r;)u!=i&&(o[i]=Yn(o[i]||a,t[u],e,n));return mi(er(o,1),e,n)}function Ci(t,e,n){for(var r=-1,i=t.length,o=e.length,a={};++r<i;){var u=r<o?e[r]:it;n(a,t[r],u)}return a}function Mi(t){return Zu(t)?t:[]}function ki(t){return\"function\"==typeof t?t:Ds}function Ei(t,e){return xp(t)?t:Bo(t,e)?[t]:Lf(Ac(t))}function Ti(t,e,n){var r=t.length;return n=n===it?r:n,!e&&n>=r?t:li(t,e,n)}function Si(t,e){if(e)return t.slice();var n=t.length,r=Nl?Nl(n):new t.constructor(n);return t.copy(r),r}function Pi(t){var e=new t.constructor(t.byteLength);return new Pl(e).set(new Pl(t)),e}function Ni(t,e){var n=e?Pi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Ai(t,e,n){var r=e?n(Y(t),pt):Y(t);return m(r,o,new t.constructor)}function Oi(t){var e=new t.constructor(t.source,Ye.exec(t));return e.lastIndex=t.lastIndex,e}function Ii(t,e,n){var r=e?n($(t),pt):$(t);return m(r,a,new t.constructor)}function Di(t){return gf?fl(gf.call(t)):{}}function Ri(t,e){var n=e?Pi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Li(t,e){if(t!==e){var n=t!==it,r=null===t,i=t===t,o=bc(t),a=e!==it,u=null===e,c=e===e,s=bc(e);if(!u&&!s&&!o&&t>e||o&&a&&c&&!u&&!s||r&&a&&c||!n&&c||!i)return 1;if(!r&&!o&&!s&&t<e||s&&n&&i&&!r&&!o||u&&n&&i||!a&&i||!c)return-1}return 0}function Ui(t,e,n){for(var r=-1,i=t.criteria,o=e.criteria,a=i.length,u=n.length;++r<a;){var c=Li(i[r],o[r]);if(c){if(r>=u)return c;var s=n[r];return c*(\"desc\"==s?-1:1)}}return t.index-e.index}function Fi(t,e,n,r){for(var i=-1,o=t.length,a=n.length,u=-1,c=e.length,s=$l(o-a,0),l=al(c+s),f=!r;++u<c;)l[u]=e[u];for(;++i<a;)(f||i<o)&&(l[n[i]]=t[i]);for(;s--;)l[u++]=t[i++];return l}function ji(t,e,n,r){for(var i=-1,o=t.length,a=-1,u=n.length,c=-1,s=e.length,l=$l(o-u,0),f=al(l+s),p=!r;++i<l;)f[i]=t[i];for(var h=i;++c<s;)f[h+c]=e[c];for(;++a<u;)(p||i<o)&&(f[h+n[a]]=t[i++]);return f}function Bi(t,e){var n=-1,r=t.length;for(e||(e=al(r));++n<r;)e[n]=t[n];return e}function Wi(t,e,n,r){var i=!n;n||(n={});for(var o=-1,a=e.length;++o<a;){var u=e[o],c=r?r(n[u],t[u],u,n,t):it;c===it&&(c=t[u]),i?Un(n,u,c):On(n,u,c)}return n}function Vi(t,e){return Wi(t,Pf(t),e)}function zi(t,e){return Wi(t,Nf(t),e)}function Hi(t,e){return function(n,r){var i=xp(n)?c:Dn,o=e?e():{};return i(n,t,ko(r,2),o)}}function qi(t){return oi(function(e,n){var r=-1,i=n.length,o=i>1?n[i-1]:it,a=i>2?n[2]:it;for(o=t.length>3&&\"function\"==typeof o?(i--,o):it,a&&jo(n[0],n[1],a)&&(o=i<3?it:o,i=1),e=fl(e);++r<i;){var u=n[r];u&&t(e,u,r,o)}return e})}function Yi(t,e){return function(n,r){if(null==n)return n;if(!Xu(n))return t(n,r);for(var i=n.length,o=e?i:-1,a=fl(n);(e?o--:++o<i)&&r(a[o],o,a)!==!1;);return n}}function Ki(t){return function(e,n,r){for(var i=-1,o=fl(e),a=r(e),u=a.length;u--;){var c=a[t?u:++i];if(n(o[c],c,o)===!1)break}return e}}function Gi(t,e,n){function r(){var e=this&&this!==ur&&this instanceof r?o:t;return e.apply(i?n:this,arguments)}var i=e&mt,o=Zi(t);return r}function $i(t){return function(e){e=Ac(e);var n=z(e)?tt(e):it,r=n?n[0]:e.charAt(0),i=n?Ti(n,1).join(\"\"):e.slice(1);return r[t]()+i}}function Xi(t){return function(e){return m(Ps(ss(e).replace(zn,\"\")),t,\"\")}}function Zi(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=yf(t.prototype),r=t.apply(n,e);return cc(r)?r:n}}function Qi(t,e,n){function r(){for(var o=arguments.length,a=al(o),c=o,s=Mo(r);c--;)a[c]=arguments[c];var l=o<3&&a[0]!==s&&a[o-1]!==s?[]:G(a,s);if(o-=l.length,o<n)return so(t,e,eo,r.placeholder,it,a,l,it,it,n-o);var f=this&&this!==ur&&this instanceof r?i:t;return u(f,this,a)}var i=Zi(t);return r}function Ji(t){return function(e,n,r){var i=fl(e);if(!Xu(e)){var o=ko(n,3);e=Hc(e),n=function(t){return o(i[t],t,i)}}var a=t(e,n,r);return a>-1?i[o?e[a]:a]:it}}function to(t){return bo(function(e){var n=e.length,r=n,o=i.prototype.thru;for(t&&e.reverse();r--;){var a=e[r];if(\"function\"!=typeof a)throw new dl(ct);if(o&&!u&&\"wrapper\"==Co(a))var u=new i([],!0)}for(r=u?r:n;++r<n;){a=e[r];var c=Co(a),s=\"wrapper\"==c?Sf(a):it;u=s&&Vo(s[0])&&s[1]==(Mt|bt|wt|kt)&&!s[4].length&&1==s[9]?u[Co(s[0])].apply(u,s[3]):1==a.length&&Vo(a)?u[c]():u.thru(a)}return function(){var t=arguments,r=t[0];if(u&&1==t.length&&xp(r))return u.plant(r).value();for(var i=0,o=n?e[i].apply(this,t):r;++i<n;)o=e[i].call(this,o);return o}})}function eo(t,e,n,r,i,o,a,u,c,s){function l(){for(var m=arguments.length,y=al(m),_=m;_--;)y[_]=arguments[_];if(d)var b=Mo(l),x=B(y,b);if(r&&(y=Fi(y,r,i,d)),o&&(y=ji(y,o,a,d)),m-=x,d&&m<s){var w=G(y,b);return so(t,e,eo,l.placeholder,n,y,w,u,c,s-m)}var C=p?n:this,M=h?C[t]:t;return m=y.length,u?y=Jo(y,u):v&&m>1&&y.reverse(),f&&c<m&&(y.length=c),this&&this!==ur&&this instanceof l&&(M=g||Zi(M)),M.apply(C,y)}var f=e&Mt,p=e&mt,h=e&yt,d=e&(bt|xt),v=e&Et,g=h?it:Zi(t);return l}function no(t,e){return function(n,r){return Tr(n,t,e(r),{})}}function ro(t,e){return function(n,r){var i;if(n===it&&r===it)return e;if(n!==it&&(i=n),r!==it){if(i===it)return r;\"string\"==typeof n||\"string\"==typeof r?(n=gi(n),r=gi(r)):(n=vi(n),r=vi(r)),i=t(n,r)}return i}}function io(t){return bo(function(e){return e=v(e,R(ko())),oi(function(n){var r=this;return t(e,function(t){return u(t,r,n)})})})}function oo(t,e){e=e===it?\" \":gi(e);var n=e.length;if(n<2)return n?ii(e,t):e;var r=ii(e,Vl(t/J(e)));return z(e)?Ti(tt(r),0,t).join(\"\"):r.slice(0,t)}function ao(t,e,n,r){function i(){for(var e=-1,c=arguments.length,s=-1,l=r.length,f=al(l+c),p=this&&this!==ur&&this instanceof i?a:t;++s<l;)f[s]=r[s];for(;c--;)f[s++]=arguments[++e];return u(p,o?n:this,f)}var o=e&mt,a=Zi(t);return i}function uo(t){return function(e,n,r){return r&&\"number\"!=typeof r&&jo(e,n,r)&&(n=r=it),e=kc(e),n===it?(n=e,e=0):n=kc(n),r=r===it?e<n?1:-1:kc(r),ri(e,n,r,t)}}function co(t){return function(e,n){return\"string\"==typeof e&&\"string\"==typeof n||(e=Sc(e),n=Sc(n)),t(e,n)}}function so(t,e,n,r,i,o,a,u,c,s){var l=e&bt,f=l?a:it,p=l?it:a,h=l?o:it,d=l?it:o;e|=l?wt:Ct,e&=~(l?Ct:wt),e&_t||(e&=~(mt|yt));var v=[t,e,i,h,f,d,p,u,c,s],g=n.apply(it,v);return Vo(t)&&If(g,v),g.placeholder=r,ta(g,t,e)}function lo(t){var e=ll[t];return function(t,n){if(t=Sc(t),n=null==n?0:Xl(Ec(n),292)){var r=(Ac(t)+\"e\").split(\"e\"),i=e(r[0]+\"e\"+(+r[1]+n));return r=(Ac(i)+\"e\").split(\"e\"),+(r[0]+\"e\"+(+r[1]-n))}return e(t)}}function fo(t){return function(e){var n=Af(e);return n==Zt?Y(e):n==ie?X(e):D(e,t(e))}}function po(t,e,n,r,i,o,a,u){var c=e&yt;if(!c&&\"function\"!=typeof t)throw new dl(ct);var s=r?r.length:0;if(s||(e&=~(wt|Ct),r=i=it),a=a===it?a:$l(Ec(a),0),u=u===it?u:Ec(u),s-=i?i.length:0,e&Ct){var l=r,f=i;r=i=it}var p=c?it:Sf(t),h=[t,e,n,r,i,l,f,o,a,u];if(p&&Go(h,p),t=h[0],e=h[1],n=h[2],r=h[3],i=h[4],u=h[9]=h[9]===it?c?0:t.length:$l(h[9]-s,0),!u&&e&(bt|xt)&&(e&=~(bt|xt)),e&&e!=mt)d=e==bt||e==xt?Qi(t,e,u):e!=wt&&e!=(mt|wt)||i.length?eo.apply(it,h):ao(t,e,n,r);else var d=Gi(t,e,n);var v=p?Cf:If;return ta(v(d,h),t,e)}function ho(t,e,n,r){return t===it||$u(t,ml[n])&&!bl.call(r,n)?e:t}function vo(t,e,n,r,i,o){return cc(t)&&cc(e)&&(o.set(e,t),Kr(t,e,it,vo,o),o.delete(e)),t}function go(t){return mc(t)?it:t}function mo(t,e,n,r,i,o){var a=n&vt,u=t.length,c=e.length;if(u!=c&&!(a&&c>u))return!1;var s=o.get(t);if(s&&o.get(e))return s==e;var l=-1,f=!0,p=n&gt?new yn:it;for(o.set(t,e),o.set(e,t);++l<u;){var h=t[l],d=e[l];if(r)var v=a?r(d,h,l,e,t,o):r(h,d,l,t,e,o);if(v!==it){if(v)continue;f=!1;break}if(p){if(!_(e,function(t,e){if(!U(p,e)&&(h===t||i(h,t,n,r,o)))return p.push(e)})){f=!1;break}}else if(h!==d&&!i(h,d,n,r,o)){f=!1;break}}return o.delete(t),o.delete(e),f}function yo(t,e,n,r,i,o,a){switch(n){case fe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case le:return!(t.byteLength!=e.byteLength||!o(new Pl(t),new Pl(e)));case qt:case Yt:case Qt:return $u(+t,+e);case Gt:return t.name==e.name&&t.message==e.message;case re:case oe:return t==e+\"\";case Zt:var u=Y;case ie:var c=r&vt;if(u||(u=$),t.size!=e.size&&!c)return!1;var s=a.get(t);if(s)return s==e;r|=gt,a.set(t,e);var l=mo(u(t),u(e),r,i,o,a);return a.delete(t),l;case ae:if(gf)return gf.call(t)==gf.call(e)}return!1}function _o(t,e,n,r,i,o){var a=n&vt,u=xo(t),c=u.length,s=xo(e),l=s.length;if(c!=l&&!a)return!1;for(var f=c;f--;){var p=u[f];if(!(a?p in e:bl.call(e,p)))return!1}var h=o.get(t);if(h&&o.get(e))return h==e;var d=!0;o.set(t,e),o.set(e,t);for(var v=a;++f<c;){p=u[f];var g=t[p],m=e[p];if(r)var y=a?r(m,g,p,e,t,o):r(g,m,p,t,e,o);if(!(y===it?g===m||i(g,m,n,r,o):y)){d=!1;break}v||(v=\"constructor\"==p)}if(d&&!v){var _=t.constructor,b=e.constructor;_!=b&&\"constructor\"in t&&\"constructor\"in e&&!(\"function\"==typeof _&&_ instanceof _&&\"function\"==typeof b&&b instanceof b)&&(d=!1)}return o.delete(t),o.delete(e),d}function bo(t){return Rf(Zo(t,it,ma),t+\"\")}function xo(t){return sr(t,Hc,Pf)}function wo(t){return sr(t,qc,Nf)}function Co(t){for(var e=t.name+\"\",n=sf[e],r=bl.call(sf,e)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==t)return i.name}return e}function Mo(t){var e=bl.call(n,\"placeholder\")?n:t;return e.placeholder}function ko(){var t=n.iteratee||Rs;return t=t===Rs?Br:t,arguments.length?t(arguments[0],arguments[1]):t}function Eo(t,e){var n=t.__data__;return Wo(e)?n[\"string\"==typeof e?\"string\":\"hash\"]:n.map}function To(t){for(var e=Hc(t),n=e.length;n--;){var r=e[n],i=t[r];e[n]=[r,i,qo(i)]}return e}function So(t,e){var n=V(t,e);return Lr(n)?n:it}function Po(t){var e=bl.call(t,Ul),n=t[Ul];try{t[Ul]=it;var r=!0}catch(t){}var i=Cl.call(t);return r&&(e?t[Ul]=n:delete t[Ul]),i}function No(t,e,n){for(var r=-1,i=n.length;++r<i;){var o=n[r],a=o.size;switch(o.type){case\"drop\":t+=a;break;case\"dropRight\":e-=a;break;case\"take\":e=Xl(e,t+a);break;case\"takeRight\":t=$l(t,e-a)}}return{start:t,end:e}}function Ao(t){var e=t.match(We);return e?e[1].split(Ve):[]}function Oo(t,e,n){e=Ei(e,t);for(var r=-1,i=e.length,o=!1;++r<i;){var a=ra(e[r]);if(!(o=null!=t&&n(t,a)))break;t=t[a]}return o||++r!=i?o:(i=null==t?0:t.length,!!i&&uc(i)&&Fo(a,i)&&(xp(t)||bp(t)))}function Io(t){var e=t.length,n=t.constructor(e);return e&&\"string\"==typeof t[0]&&bl.call(t,\"index\")&&(n.index=t.index,n.input=t.input),n}function Do(t){return\"function\"!=typeof t.constructor||Ho(t)?{}:yf(Al(t))}function Ro(t,e,n,r){var i=t.constructor;switch(e){case le:return Pi(t);case qt:case Yt:return new i(+t);case fe:return Ni(t,r);case pe:case he:case de:case ve:case ge:case me:case ye:case _e:case be:return Ri(t,r);case Zt:return Ai(t,r,n);case Qt:case oe:return new i(t);case re:return Oi(t);case ie:return Ii(t,r,n);case ae:return Di(t)}}function Lo(t,e){var n=e.length;if(!n)return t;var r=n-1;return e[r]=(n>1?\"& \":\"\")+e[r],e=e.join(n>2?\", \":\" \"),t.replace(Be,\"{\\n/* [wrapped with \"+e+\"] */\\n\")}function Uo(t){return xp(t)||bp(t)||!!(Rl&&t&&t[Rl])}function Fo(t,e){return e=null==e?Rt:e,!!e&&(\"number\"==typeof t||Ze.test(t))&&t>-1&&t%1==0&&t<e}function jo(t,e,n){if(!cc(n))return!1;var r=typeof e;return!!(\"number\"==r?Xu(n)&&Fo(e,n.length):\"string\"==r&&e in n)&&$u(n[e],t)}function Bo(t,e){if(xp(t))return!1;var n=typeof t;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=t&&!bc(t))||(Oe.test(t)||!Ae.test(t)||null!=e&&t in fl(e))}function Wo(t){var e=typeof t;return\"string\"==e||\"number\"==e||\"symbol\"==e||\"boolean\"==e?\"__proto__\"!==t:null===t}function Vo(t){var e=Co(t),r=n[e];if(\"function\"!=typeof r||!(e in b.prototype))return!1;if(t===r)return!0;var i=Sf(r);return!!i&&t===i[0]}function zo(t){return!!wl&&wl in t}function Ho(t){var e=t&&t.constructor,n=\"function\"==typeof e&&e.prototype||ml;return t===n}function qo(t){return t===t&&!cc(t)}function Yo(t,e){return function(n){return null!=n&&(n[t]===e&&(e!==it||t in fl(n)))}}function Ko(t){var e=Ru(t,function(t){return n.size===lt&&n.clear(),t}),n=e.cache;return e}function Go(t,e){var n=t[1],r=e[1],i=n|r,o=i<(mt|yt|Mt),a=r==Mt&&n==bt||r==Mt&&n==kt&&t[7].length<=e[8]||r==(Mt|kt)&&e[7].length<=e[8]&&n==bt;if(!o&&!a)return t;r&mt&&(t[2]=e[2],i|=n&mt?0:_t);var u=e[3];if(u){var c=t[3];t[3]=c?Fi(c,u,e[4]):u,t[4]=c?G(t[3],ft):e[4]}return u=e[5],u&&(c=t[5],t[5]=c?ji(c,u,e[6]):u,t[6]=c?G(t[5],ft):e[6]),u=e[7],u&&(t[7]=u),r&Mt&&(t[8]=null==t[8]?e[8]:Xl(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function $o(t){var e=[];if(null!=t)for(var n in fl(t))e.push(n);return e}function Xo(t){return Cl.call(t)}function Zo(t,e,n){return e=$l(e===it?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=$l(r.length-e,0),a=al(o);++i<o;)a[i]=r[e+i];i=-1;for(var c=al(e+1);++i<e;)c[i]=r[i];return c[e]=n(a),u(t,this,c)}}function Qo(t,e){return e.length<2?t:cr(t,li(e,0,-1))}function Jo(t,e){for(var n=t.length,r=Xl(e.length,n),i=Bi(t);r--;){var o=e[r];t[r]=Fo(o,n)?i[o]:it}return t}function ta(t,e,n){var r=e+\"\";return Rf(t,Lo(r,oa(Ao(r),n)))}function ea(t){var e=0,n=0;return function(){var r=Zl(),i=Nt-(r-n);if(n=r,i>0){if(++e>=Pt)return arguments[0]}else e=0;return t.apply(it,arguments)}}function na(t,e){var n=-1,r=t.length,i=r-1;for(e=e===it?r:e;++n<e;){var o=ni(n,i),a=t[o];t[o]=t[n],t[n]=a}return t.length=e,t}function ra(t){if(\"string\"==typeof t||bc(t))return t;var e=t+\"\";return\"0\"==e&&1/t==-Dt?\"-0\":e}function ia(t){if(null!=t){try{return _l.call(t)}catch(t){}try{return t+\"\"}catch(t){}}return\"\"}function oa(t,e){return s(Wt,function(n){var r=\"_.\"+n[0];e&n[1]&&!h(t,r)&&t.push(r)}),t.sort()}function aa(t){if(t instanceof b)return t.clone();var e=new i(t.__wrapped__,t.__chain__);return e.__actions__=Bi(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}function ua(t,e,n){e=(n?jo(t,e,n):e===it)?1:$l(Ec(e),0);var r=null==t?0:t.length;if(!r||e<1)return[];for(var i=0,o=0,a=al(Vl(r/e));i<r;)a[o++]=li(t,i,i+=e);return a}function ca(t){for(var e=-1,n=null==t?0:t.length,r=0,i=[];++e<n;){var o=t[e];o&&(i[r++]=o)}return i}function sa(){var t=arguments.length;if(!t)return[];for(var e=al(t-1),n=arguments[0],r=t;r--;)e[r-1]=arguments[r];return g(xp(n)?Bi(n):[n],er(e,1))}function la(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===it?1:Ec(e),li(t,e<0?0:e,r)):[]}function fa(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===it?1:Ec(e),e=r-e,li(t,0,e<0?0:e)):[]}function pa(t,e){return t&&t.length?bi(t,ko(e,3),!0,!0):[]}function ha(t,e){return t&&t.length?bi(t,ko(e,3),!0):[]}function da(t,e,n,r){var i=null==t?0:t.length;return i?(n&&\"number\"!=typeof n&&jo(t,e,n)&&(n=0,r=i),Jn(t,e,n,r)):[]}function va(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:Ec(n);return i<0&&(i=$l(r+i,0)),C(t,ko(e,3),i)}function ga(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r-1;return n!==it&&(i=Ec(n),i=n<0?$l(r+i,0):Xl(i,r-1)),C(t,ko(e,3),i,!0)}function ma(t){var e=null==t?0:t.length;return e?er(t,1):[]}function ya(t){var e=null==t?0:t.length;return e?er(t,Dt):[]}function _a(t,e){var n=null==t?0:t.length;return n?(e=e===it?1:Ec(e),er(t,e)):[]}function ba(t){for(var e=-1,n=null==t?0:t.length,r={};++e<n;){var i=t[e];r[i[0]]=i[1]}return r}function xa(t){return t&&t.length?t[0]:it}function wa(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:Ec(n);return i<0&&(i=$l(r+i,0)),M(t,e,i)}function Ca(t){var e=null==t?0:t.length;return e?li(t,0,-1):[]}function Ma(t,e){return null==t?\"\":Kl.call(t,e)}function ka(t){var e=null==t?0:t.length;return e?t[e-1]:it}function Ea(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r;return n!==it&&(i=Ec(n),i=i<0?$l(r+i,0):Xl(i,r-1)),e===e?Q(t,e,i):C(t,E,i,!0)}function Ta(t,e){return t&&t.length?$r(t,Ec(e)):it}function Sa(t,e){return t&&t.length&&e&&e.length?ti(t,e):t}function Pa(t,e,n){return t&&t.length&&e&&e.length?ti(t,e,ko(n,2)):t}function Na(t,e,n){return t&&t.length&&e&&e.length?ti(t,e,it,n):t}function Aa(t,e){var n=[];if(!t||!t.length)return n;var r=-1,i=[],o=t.length;for(e=ko(e,3);++r<o;){var a=t[r];e(a,r,t)&&(n.push(a),i.push(r))}return ei(t,i),n}function Oa(t){return null==t?t:tf.call(t)}function Ia(t,e,n){var r=null==t?0:t.length;return r?(n&&\"number\"!=typeof n&&jo(t,e,n)?(e=0,n=r):(e=null==e?0:Ec(e),n=n===it?r:Ec(n)),li(t,e,n)):[]}function Da(t,e){return pi(t,e)}function Ra(t,e,n){return hi(t,e,ko(n,2))}function La(t,e){var n=null==t?0:t.length;if(n){var r=pi(t,e);if(r<n&&$u(t[r],e))return r}return-1}function Ua(t,e){return pi(t,e,!0)}function Fa(t,e,n){return hi(t,e,ko(n,2),!0)}function ja(t,e){var n=null==t?0:t.length;if(n){var r=pi(t,e,!0)-1;if($u(t[r],e))return r}return-1}function Ba(t){return t&&t.length?di(t):[]}function Wa(t,e){return t&&t.length?di(t,ko(e,2)):[]}function Va(t){var e=null==t?0:t.length;return e?li(t,1,e):[]}function za(t,e,n){return t&&t.length?(e=n||e===it?1:Ec(e),li(t,0,e<0?0:e)):[]}function Ha(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===it?1:Ec(e),e=r-e,li(t,e<0?0:e,r)):[]}function qa(t,e){return t&&t.length?bi(t,ko(e,3),!1,!0):[]}function Ya(t,e){return t&&t.length?bi(t,ko(e,3)):[]}function Ka(t){return t&&t.length?mi(t):[]}function Ga(t,e){return t&&t.length?mi(t,ko(e,2)):[]}function $a(t,e){return e=\"function\"==typeof e?e:it,t&&t.length?mi(t,it,e):[]}function Xa(t){if(!t||!t.length)return[];var e=0;return t=p(t,function(t){if(Zu(t))return e=$l(t.length,e),!0}),I(e,function(e){return v(t,S(e))})}function Za(t,e){if(!t||!t.length)return[];var n=Xa(t);return null==e?n:v(n,function(t){return u(e,it,t)})}function Qa(t,e){return Ci(t||[],e||[],On)}function Ja(t,e){return Ci(t||[],e||[],ci)}function tu(t){var e=n(t);return e.__chain__=!0,e}function eu(t,e){return e(t),t}function nu(t,e){return e(t)}function ru(){return tu(this)}function iu(){return new i(this.value(),this.__chain__)}function ou(){this.__values__===it&&(this.__values__=Mc(this.value()));var t=this.__index__>=this.__values__.length,e=t?it:this.__values__[this.__index__++];return{done:t,value:e}}function au(){return this}function uu(t){for(var e,n=this;n instanceof r;){var i=aa(n);i.__index__=0,i.__values__=it,e?o.__wrapped__=i:e=i;var o=i;n=n.__wrapped__}return o.__wrapped__=t,e}function cu(){var t=this.__wrapped__;if(t instanceof b){var e=t;return this.__actions__.length&&(e=new b(this)),e=e.reverse(),e.__actions__.push({func:nu,args:[Oa],thisArg:it}),new i(e,this.__chain__)}return this.thru(Oa)}function su(){return xi(this.__wrapped__,this.__actions__)}function lu(t,e,n){\n",
       "var r=xp(t)?f:Kn;return n&&jo(t,e,n)&&(e=it),r(t,ko(e,3))}function fu(t,e){var n=xp(t)?p:tr;return n(t,ko(e,3))}function pu(t,e){return er(yu(t,e),1)}function hu(t,e){return er(yu(t,e),Dt)}function du(t,e,n){return n=n===it?1:Ec(n),er(yu(t,e),n)}function vu(t,e){var n=xp(t)?s:_f;return n(t,ko(e,3))}function gu(t,e){var n=xp(t)?l:bf;return n(t,ko(e,3))}function mu(t,e,n,r){t=Xu(t)?t:rs(t),n=n&&!r?Ec(n):0;var i=t.length;return n<0&&(n=$l(i+n,0)),_c(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&M(t,e,n)>-1}function yu(t,e){var n=xp(t)?v:Hr;return n(t,ko(e,3))}function _u(t,e,n,r){return null==t?[]:(xp(e)||(e=null==e?[]:[e]),n=r?it:n,xp(n)||(n=null==n?[]:[n]),Xr(t,e,n))}function bu(t,e,n){var r=xp(t)?m:N,i=arguments.length<3;return r(t,ko(e,4),n,i,_f)}function xu(t,e,n){var r=xp(t)?y:N,i=arguments.length<3;return r(t,ko(e,4),n,i,bf)}function wu(t,e){var n=xp(t)?p:tr;return n(t,Lu(ko(e,3)))}function Cu(t){var e=xp(t)?Sn:ai;return e(t)}function Mu(t,e,n){e=(n?jo(t,e,n):e===it)?1:Ec(e);var r=xp(t)?Pn:ui;return r(t,e)}function ku(t){var e=xp(t)?Nn:si;return e(t)}function Eu(t){if(null==t)return 0;if(Xu(t))return _c(t)?J(t):t.length;var e=Af(t);return e==Zt||e==ie?t.size:Wr(t).length}function Tu(t,e,n){var r=xp(t)?_:fi;return n&&jo(t,e,n)&&(e=it),r(t,ko(e,3))}function Su(t,e){if(\"function\"!=typeof e)throw new dl(ct);return t=Ec(t),function(){if(--t<1)return e.apply(this,arguments)}}function Pu(t,e,n){return e=n?it:e,e=t&&null==e?t.length:e,po(t,Mt,it,it,it,it,e)}function Nu(t,e){var n;if(\"function\"!=typeof e)throw new dl(ct);return t=Ec(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=it),n}}function Au(t,e,n){e=n?it:e;var r=po(t,bt,it,it,it,it,it,e);return r.placeholder=Au.placeholder,r}function Ou(t,e,n){e=n?it:e;var r=po(t,xt,it,it,it,it,it,e);return r.placeholder=Ou.placeholder,r}function Iu(t,e,n){function r(e){var n=p,r=h;return p=h=it,y=e,v=t.apply(r,n)}function i(t){return y=t,g=Df(u,e),_?r(t):v}function o(t){var n=t-m,r=t-y,i=e-n;return b?Xl(i,d-r):i}function a(t){var n=t-m,r=t-y;return m===it||n>=e||n<0||b&&r>=d}function u(){var t=sp();return a(t)?c(t):void(g=Df(u,o(t)))}function c(t){return g=it,x&&p?r(t):(p=h=it,v)}function s(){g!==it&&Ef(g),y=0,p=m=h=g=it}function l(){return g===it?v:c(sp())}function f(){var t=sp(),n=a(t);if(p=arguments,h=this,m=t,n){if(g===it)return i(m);if(b)return g=Df(u,e),r(m)}return g===it&&(g=Df(u,e)),v}var p,h,d,v,g,m,y=0,_=!1,b=!1,x=!0;if(\"function\"!=typeof t)throw new dl(ct);return e=Sc(e)||0,cc(n)&&(_=!!n.leading,b=\"maxWait\"in n,d=b?$l(Sc(n.maxWait)||0,e):d,x=\"trailing\"in n?!!n.trailing:x),f.cancel=s,f.flush=l,f}function Du(t){return po(t,Et)}function Ru(t,e){if(\"function\"!=typeof t||null!=e&&\"function\"!=typeof e)throw new dl(ct);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Ru.Cache||pn),n}function Lu(t){if(\"function\"!=typeof t)throw new dl(ct);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Uu(t){return Nu(2,t)}function Fu(t,e){if(\"function\"!=typeof t)throw new dl(ct);return e=e===it?e:Ec(e),oi(t,e)}function ju(t,e){if(\"function\"!=typeof t)throw new dl(ct);return e=null==e?0:$l(Ec(e),0),oi(function(n){var r=n[e],i=Ti(n,0,e);return r&&g(i,r),u(t,this,i)})}function Bu(t,e,n){var r=!0,i=!0;if(\"function\"!=typeof t)throw new dl(ct);return cc(n)&&(r=\"leading\"in n?!!n.leading:r,i=\"trailing\"in n?!!n.trailing:i),Iu(t,e,{leading:r,maxWait:e,trailing:i})}function Wu(t){return Pu(t,1)}function Vu(t,e){return vp(ki(e),t)}function zu(){if(!arguments.length)return[];var t=arguments[0];return xp(t)?t:[t]}function Hu(t){return Bn(t,dt)}function qu(t,e){return e=\"function\"==typeof e?e:it,Bn(t,dt,e)}function Yu(t){return Bn(t,pt|dt)}function Ku(t,e){return e=\"function\"==typeof e?e:it,Bn(t,pt|dt,e)}function Gu(t,e){return null==e||Vn(t,e,Hc(e))}function $u(t,e){return t===e||t!==t&&e!==e}function Xu(t){return null!=t&&uc(t.length)&&!oc(t)}function Zu(t){return sc(t)&&Xu(t)}function Qu(t){return t===!0||t===!1||sc(t)&&fr(t)==qt}function Ju(t){return sc(t)&&1===t.nodeType&&!mc(t)}function tc(t){if(null==t)return!0;if(Xu(t)&&(xp(t)||\"string\"==typeof t||\"function\"==typeof t.splice||Cp(t)||Sp(t)||bp(t)))return!t.length;var e=Af(t);if(e==Zt||e==ie)return!t.size;if(Ho(t))return!Wr(t).length;for(var n in t)if(bl.call(t,n))return!1;return!0}function ec(t,e){return Or(t,e)}function nc(t,e,n){n=\"function\"==typeof n?n:it;var r=n?n(t,e):it;return r===it?Or(t,e,it,n):!!r}function rc(t){if(!sc(t))return!1;var e=fr(t);return e==Gt||e==Kt||\"string\"==typeof t.message&&\"string\"==typeof t.name&&!mc(t)}function ic(t){return\"number\"==typeof t&&Yl(t)}function oc(t){if(!cc(t))return!1;var e=fr(t);return e==$t||e==Xt||e==Ht||e==ne}function ac(t){return\"number\"==typeof t&&t==Ec(t)}function uc(t){return\"number\"==typeof t&&t>-1&&t%1==0&&t<=Rt}function cc(t){var e=typeof t;return null!=t&&(\"object\"==e||\"function\"==e)}function sc(t){return null!=t&&\"object\"==typeof t}function lc(t,e){return t===e||Rr(t,e,To(e))}function fc(t,e,n){return n=\"function\"==typeof n?n:it,Rr(t,e,To(e),n)}function pc(t){return gc(t)&&t!=+t}function hc(t){if(Of(t))throw new cl(ut);return Lr(t)}function dc(t){return null===t}function vc(t){return null==t}function gc(t){return\"number\"==typeof t||sc(t)&&fr(t)==Qt}function mc(t){if(!sc(t)||fr(t)!=te)return!1;var e=Al(t);if(null===e)return!0;var n=bl.call(e,\"constructor\")&&e.constructor;return\"function\"==typeof n&&n instanceof n&&_l.call(n)==Ml}function yc(t){return ac(t)&&t>=-Rt&&t<=Rt}function _c(t){return\"string\"==typeof t||!xp(t)&&sc(t)&&fr(t)==oe}function bc(t){return\"symbol\"==typeof t||sc(t)&&fr(t)==ae}function xc(t){return t===it}function wc(t){return sc(t)&&Af(t)==ce}function Cc(t){return sc(t)&&fr(t)==se}function Mc(t){if(!t)return[];if(Xu(t))return _c(t)?tt(t):Bi(t);if(Ll&&t[Ll])return q(t[Ll]());var e=Af(t),n=e==Zt?Y:e==ie?$:rs;return n(t)}function kc(t){if(!t)return 0===t?t:0;if(t=Sc(t),t===Dt||t===-Dt){var e=t<0?-1:1;return e*Lt}return t===t?t:0}function Ec(t){var e=kc(t),n=e%1;return e===e?n?e-n:e:0}function Tc(t){return t?jn(Ec(t),0,Ft):0}function Sc(t){if(\"number\"==typeof t)return t;if(bc(t))return Ut;if(cc(t)){var e=\"function\"==typeof t.valueOf?t.valueOf():t;t=cc(e)?e+\"\":e}if(\"string\"!=typeof t)return 0===t?t:+t;t=t.replace(Ue,\"\");var n=Ge.test(t);return n||Xe.test(t)?ir(t.slice(2),n?2:8):Ke.test(t)?Ut:+t}function Pc(t){return Wi(t,qc(t))}function Nc(t){return t?jn(Ec(t),-Rt,Rt):0===t?t:0}function Ac(t){return null==t?\"\":gi(t)}function Oc(t,e){var n=yf(t);return null==e?n:Rn(n,e)}function Ic(t,e){return w(t,ko(e,3),nr)}function Dc(t,e){return w(t,ko(e,3),or)}function Rc(t,e){return null==t?t:xf(t,ko(e,3),qc)}function Lc(t,e){return null==t?t:wf(t,ko(e,3),qc)}function Uc(t,e){return t&&nr(t,ko(e,3))}function Fc(t,e){return t&&or(t,ko(e,3))}function jc(t){return null==t?[]:ar(t,Hc(t))}function Bc(t){return null==t?[]:ar(t,qc(t))}function Wc(t,e,n){var r=null==t?it:cr(t,e);return r===it?n:r}function Vc(t,e){return null!=t&&Oo(t,e,_r)}function zc(t,e){return null!=t&&Oo(t,e,Cr)}function Hc(t){return Xu(t)?Tn(t):Wr(t)}function qc(t){return Xu(t)?Tn(t,!0):Vr(t)}function Yc(t,e){var n={};return e=ko(e,3),nr(t,function(t,r,i){Un(n,e(t,r,i),t)}),n}function Kc(t,e){var n={};return e=ko(e,3),nr(t,function(t,r,i){Un(n,r,e(t,r,i))}),n}function Gc(t,e){return $c(t,Lu(ko(e)))}function $c(t,e){if(null==t)return{};var n=v(wo(t),function(t){return[t]});return e=ko(e),Qr(t,n,function(t,n){return e(t,n[0])})}function Xc(t,e,n){e=Ei(e,t);var r=-1,i=e.length;for(i||(i=1,t=it);++r<i;){var o=null==t?it:t[ra(e[r])];o===it&&(r=i,o=n),t=oc(o)?o.call(t):o}return t}function Zc(t,e,n){return null==t?t:ci(t,e,n)}function Qc(t,e,n,r){return r=\"function\"==typeof r?r:it,null==t?t:ci(t,e,n,r)}function Jc(t,e,n){var r=xp(t),i=r||Cp(t)||Sp(t);if(e=ko(e,4),null==n){var o=t&&t.constructor;n=i?r?new o:[]:cc(t)&&oc(o)?yf(Al(t)):{}}return(i?s:nr)(t,function(t,r,i){return e(n,t,r,i)}),n}function ts(t,e){return null==t||yi(t,e)}function es(t,e,n){return null==t?t:_i(t,e,ki(n))}function ns(t,e,n,r){return r=\"function\"==typeof r?r:it,null==t?t:_i(t,e,ki(n),r)}function rs(t){return null==t?[]:L(t,Hc(t))}function is(t){return null==t?[]:L(t,qc(t))}function os(t,e,n){return n===it&&(n=e,e=it),n!==it&&(n=Sc(n),n=n===n?n:0),e!==it&&(e=Sc(e),e=e===e?e:0),jn(Sc(t),e,n)}function as(t,e,n){return e=kc(e),n===it?(n=e,e=0):n=kc(n),t=Sc(t),kr(t,e,n)}function us(t,e,n){if(n&&\"boolean\"!=typeof n&&jo(t,e,n)&&(e=n=it),n===it&&(\"boolean\"==typeof e?(n=e,e=it):\"boolean\"==typeof t&&(n=t,t=it)),t===it&&e===it?(t=0,e=1):(t=kc(t),e===it?(e=t,t=0):e=kc(e)),t>e){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Jl();return Xl(t+i*(e-t+rr(\"1e-\"+((i+\"\").length-1))),e)}return ni(t,e)}function cs(t){return th(Ac(t).toLowerCase())}function ss(t){return t=Ac(t),t&&t.replace(Qe,br).replace(Hn,\"\")}function ls(t,e,n){t=Ac(t),e=gi(e);var r=t.length;n=n===it?r:jn(Ec(n),0,r);var i=n;return n-=e.length,n>=0&&t.slice(n,i)==e}function fs(t){return t=Ac(t),t&&Te.test(t)?t.replace(ke,xr):t}function ps(t){return t=Ac(t),t&&Le.test(t)?t.replace(Re,\"\\\\$&\"):t}function hs(t,e,n){t=Ac(t),e=Ec(e);var r=e?J(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return oo(zl(i),n)+t+oo(Vl(i),n)}function ds(t,e,n){t=Ac(t),e=Ec(e);var r=e?J(t):0;return e&&r<e?t+oo(e-r,n):t}function vs(t,e,n){t=Ac(t),e=Ec(e);var r=e?J(t):0;return e&&r<e?oo(e-r,n)+t:t}function gs(t,e,n){return n||null==e?e=0:e&&(e=+e),Ql(Ac(t).replace(Fe,\"\"),e||0)}function ms(t,e,n){return e=(n?jo(t,e,n):e===it)?1:Ec(e),ii(Ac(t),e)}function ys(){var t=arguments,e=Ac(t[0]);return t.length<3?e:e.replace(t[1],t[2])}function _s(t,e,n){return n&&\"number\"!=typeof n&&jo(t,e,n)&&(e=n=it),(n=n===it?Ft:n>>>0)?(t=Ac(t),t&&(\"string\"==typeof e||null!=e&&!Ep(e))&&(e=gi(e),!e&&z(t))?Ti(tt(t),0,n):t.split(e,n)):[]}function bs(t,e,n){return t=Ac(t),n=null==n?0:jn(Ec(n),0,t.length),e=gi(e),t.slice(n,n+e.length)==e}function xs(t,e,r){var i=n.templateSettings;r&&jo(t,e,r)&&(e=it),t=Ac(t),e=Ip({},e,i,ho);var o,a,u=Ip({},e.imports,i.imports,ho),c=Hc(u),s=L(u,c),l=0,f=e.interpolate||Je,p=\"__p += '\",h=pl((e.escape||Je).source+\"|\"+f.source+\"|\"+(f===Ne?qe:Je).source+\"|\"+(e.evaluate||Je).source+\"|$\",\"g\"),d=\"//# sourceURL=\"+(\"sourceURL\"in e?e.sourceURL:\"lodash.templateSources[\"+ ++Xn+\"]\")+\"\\n\";t.replace(h,function(e,n,r,i,u,c){return r||(r=i),p+=t.slice(l,c).replace(tn,W),n&&(o=!0,p+=\"' +\\n__e(\"+n+\") +\\n'\"),u&&(a=!0,p+=\"';\\n\"+u+\";\\n__p += '\"),r&&(p+=\"' +\\n((__t = (\"+r+\")) == null ? '' : __t) +\\n'\"),l=c+e.length,e}),p+=\"';\\n\";var v=e.variable;v||(p=\"with (obj) {\\n\"+p+\"\\n}\\n\"),p=(a?p.replace(xe,\"\"):p).replace(we,\"$1\").replace(Ce,\"$1;\"),p=\"function(\"+(v||\"obj\")+\") {\\n\"+(v?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(o?\", __e = _.escape\":\"\")+(a?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+p+\"return __p\\n}\";var g=eh(function(){return sl(c,d+\"return \"+p).apply(it,s)});if(g.source=p,rc(g))throw g;return g}function ws(t){return Ac(t).toLowerCase()}function Cs(t){return Ac(t).toUpperCase()}function Ms(t,e,n){if(t=Ac(t),t&&(n||e===it))return t.replace(Ue,\"\");if(!t||!(e=gi(e)))return t;var r=tt(t),i=tt(e),o=F(r,i),a=j(r,i)+1;return Ti(r,o,a).join(\"\")}function ks(t,e,n){if(t=Ac(t),t&&(n||e===it))return t.replace(je,\"\");if(!t||!(e=gi(e)))return t;var r=tt(t),i=j(r,tt(e))+1;return Ti(r,0,i).join(\"\")}function Es(t,e,n){if(t=Ac(t),t&&(n||e===it))return t.replace(Fe,\"\");if(!t||!(e=gi(e)))return t;var r=tt(t),i=F(r,tt(e));return Ti(r,i).join(\"\")}function Ts(t,e){var n=Tt,r=St;if(cc(e)){var i=\"separator\"in e?e.separator:i;n=\"length\"in e?Ec(e.length):n,r=\"omission\"in e?gi(e.omission):r}t=Ac(t);var o=t.length;if(z(t)){var a=tt(t);o=a.length}if(n>=o)return t;var u=n-J(r);if(u<1)return r;var c=a?Ti(a,0,u).join(\"\"):t.slice(0,u);if(i===it)return c+r;if(a&&(u+=c.length-u),Ep(i)){if(t.slice(u).search(i)){var s,l=c;for(i.global||(i=pl(i.source,Ac(Ye.exec(i))+\"g\")),i.lastIndex=0;s=i.exec(l);)var f=s.index;c=c.slice(0,f===it?u:f)}}else if(t.indexOf(gi(i),u)!=u){var p=c.lastIndexOf(i);p>-1&&(c=c.slice(0,p))}return c+r}function Ss(t){return t=Ac(t),t&&Ee.test(t)?t.replace(Me,wr):t}function Ps(t,e,n){return t=Ac(t),e=n?it:e,e===it?H(t)?rt(t):x(t):t.match(e)||[]}function Ns(t){var e=null==t?0:t.length,n=ko();return t=e?v(t,function(t){if(\"function\"!=typeof t[1])throw new dl(ct);return[n(t[0]),t[1]]}):[],oi(function(n){for(var r=-1;++r<e;){var i=t[r];if(u(i[0],this,n))return u(i[1],this,n)}})}function As(t){return Wn(Bn(t,pt))}function Os(t){return function(){return t}}function Is(t,e){return null==t||t!==t?e:t}function Ds(t){return t}function Rs(t){return Br(\"function\"==typeof t?t:Bn(t,pt))}function Ls(t){return qr(Bn(t,pt))}function Us(t,e){return Yr(t,Bn(e,pt))}function Fs(t,e,n){var r=Hc(e),i=ar(e,r);null!=n||cc(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=ar(e,Hc(e)));var o=!(cc(n)&&\"chain\"in n&&!n.chain),a=oc(t);return s(i,function(n){var r=e[n];t[n]=r,a&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__),i=n.__actions__=Bi(this.__actions__);return i.push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,g([this.value()],arguments))})}),t}function js(){return ur._===this&&(ur._=kl),this}function Bs(){}function Ws(t){return t=Ec(t),oi(function(e){return $r(e,t)})}function Vs(t){return Bo(t)?S(ra(t)):Jr(t)}function zs(t){return function(e){return null==t?it:cr(t,e)}}function Hs(){return[]}function qs(){return!1}function Ys(){return{}}function Ks(){return\"\"}function Gs(){return!0}function $s(t,e){if(t=Ec(t),t<1||t>Rt)return[];var n=Ft,r=Xl(t,Ft);e=ko(e),t-=Ft;for(var i=I(r,e);++n<t;)e(n);return i}function Xs(t){return xp(t)?v(t,ra):bc(t)?[t]:Bi(Lf(Ac(t)))}function Zs(t){var e=++xl;return Ac(t)+e}function Qs(t){return t&&t.length?Gn(t,Ds,pr):it}function Js(t,e){return t&&t.length?Gn(t,ko(e,2),pr):it}function tl(t){return T(t,Ds)}function el(t,e){return T(t,ko(e,2))}function nl(t){return t&&t.length?Gn(t,Ds,zr):it}function rl(t,e){return t&&t.length?Gn(t,ko(e,2),zr):it}function il(t){return t&&t.length?O(t,Ds):0}function ol(t,e){return t&&t.length?O(t,ko(e,2)):0}e=null==e?ur:Mr.defaults(ur.Object(),e,Mr.pick(ur,$n));var al=e.Array,ul=e.Date,cl=e.Error,sl=e.Function,ll=e.Math,fl=e.Object,pl=e.RegExp,hl=e.String,dl=e.TypeError,vl=al.prototype,gl=sl.prototype,ml=fl.prototype,yl=e[\"__core-js_shared__\"],_l=gl.toString,bl=ml.hasOwnProperty,xl=0,wl=function(){var t=/[^.]+$/.exec(yl&&yl.keys&&yl.keys.IE_PROTO||\"\");return t?\"Symbol(src)_1.\"+t:\"\"}(),Cl=ml.toString,Ml=_l.call(fl),kl=ur._,El=pl(\"^\"+_l.call(bl).replace(Re,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),Tl=lr?e.Buffer:it,Sl=e.Symbol,Pl=e.Uint8Array,Nl=Tl?Tl.allocUnsafe:it,Al=K(fl.getPrototypeOf,fl),Ol=fl.create,Il=ml.propertyIsEnumerable,Dl=vl.splice,Rl=Sl?Sl.isConcatSpreadable:it,Ll=Sl?Sl.iterator:it,Ul=Sl?Sl.toStringTag:it,Fl=function(){try{var t=So(fl,\"defineProperty\");return t({},\"\",{}),t}catch(t){}}(),jl=e.clearTimeout!==ur.clearTimeout&&e.clearTimeout,Bl=ul&&ul.now!==ur.Date.now&&ul.now,Wl=e.setTimeout!==ur.setTimeout&&e.setTimeout,Vl=ll.ceil,zl=ll.floor,Hl=fl.getOwnPropertySymbols,ql=Tl?Tl.isBuffer:it,Yl=e.isFinite,Kl=vl.join,Gl=K(fl.keys,fl),$l=ll.max,Xl=ll.min,Zl=ul.now,Ql=e.parseInt,Jl=ll.random,tf=vl.reverse,ef=So(e,\"DataView\"),nf=So(e,\"Map\"),rf=So(e,\"Promise\"),of=So(e,\"Set\"),af=So(e,\"WeakMap\"),uf=So(fl,\"create\"),cf=af&&new af,sf={},lf=ia(ef),ff=ia(nf),pf=ia(rf),hf=ia(of),df=ia(af),vf=Sl?Sl.prototype:it,gf=vf?vf.valueOf:it,mf=vf?vf.toString:it,yf=function(){function t(){}return function(e){if(!cc(e))return{};if(Ol)return Ol(e);t.prototype=e;var n=new t;return t.prototype=it,n}}();n.templateSettings={escape:Se,evaluate:Pe,interpolate:Ne,variable:\"\",imports:{_:n}},n.prototype=r.prototype,n.prototype.constructor=n,i.prototype=yf(r.prototype),i.prototype.constructor=i,b.prototype=yf(r.prototype),b.prototype.constructor=b,nt.prototype.clear=ze,nt.prototype.delete=en,nt.prototype.get=nn,nt.prototype.has=rn,nt.prototype.set=on,an.prototype.clear=un,an.prototype.delete=cn,an.prototype.get=sn,an.prototype.has=ln,an.prototype.set=fn,pn.prototype.clear=hn,pn.prototype.delete=dn,pn.prototype.get=vn,pn.prototype.has=gn,pn.prototype.set=mn,yn.prototype.add=yn.prototype.push=_n,yn.prototype.has=bn,xn.prototype.clear=wn,xn.prototype.delete=Cn,xn.prototype.get=Mn,xn.prototype.has=kn,xn.prototype.set=En;var _f=Yi(nr),bf=Yi(or,!0),xf=Ki(),wf=Ki(!0),Cf=cf?function(t,e){return cf.set(t,e),t}:Ds,Mf=Fl?function(t,e){return Fl(t,\"toString\",{configurable:!0,enumerable:!1,value:Os(e),writable:!0})}:Ds,kf=oi,Ef=jl||function(t){return ur.clearTimeout(t)},Tf=of&&1/$(new of([,-0]))[1]==Dt?function(t){return new of(t)}:Bs,Sf=cf?function(t){return cf.get(t)}:Bs,Pf=Hl?function(t){return null==t?[]:(t=fl(t),p(Hl(t),function(e){return Il.call(t,e)}))}:Hs,Nf=Hl?function(t){for(var e=[];t;)g(e,Pf(t)),t=Al(t);return e}:Hs,Af=fr;(ef&&Af(new ef(new ArrayBuffer(1)))!=fe||nf&&Af(new nf)!=Zt||rf&&Af(rf.resolve())!=ee||of&&Af(new of)!=ie||af&&Af(new af)!=ce)&&(Af=function(t){var e=fr(t),n=e==te?t.constructor:it,r=n?ia(n):\"\";if(r)switch(r){case lf:return fe;case ff:return Zt;case pf:return ee;case hf:return ie;case df:return ce}return e});var Of=yl?oc:qs,If=ea(Cf),Df=Wl||function(t,e){return ur.setTimeout(t,e)},Rf=ea(Mf),Lf=Ko(function(t){var e=[];return Ie.test(t)&&e.push(\"\"),t.replace(De,function(t,n,r,i){e.push(r?i.replace(He,\"$1\"):n||t)}),e}),Uf=oi(function(t,e){return Zu(t)?Yn(t,er(e,1,Zu,!0)):[]}),Ff=oi(function(t,e){var n=ka(e);return Zu(n)&&(n=it),Zu(t)?Yn(t,er(e,1,Zu,!0),ko(n,2)):[]}),jf=oi(function(t,e){var n=ka(e);return Zu(n)&&(n=it),Zu(t)?Yn(t,er(e,1,Zu,!0),it,n):[]}),Bf=oi(function(t){var e=v(t,Mi);return e.length&&e[0]===t[0]?Er(e):[]}),Wf=oi(function(t){var e=ka(t),n=v(t,Mi);return e===ka(n)?e=it:n.pop(),n.length&&n[0]===t[0]?Er(n,ko(e,2)):[]}),Vf=oi(function(t){var e=ka(t),n=v(t,Mi);return e=\"function\"==typeof e?e:it,e&&n.pop(),n.length&&n[0]===t[0]?Er(n,it,e):[]}),zf=oi(Sa),Hf=bo(function(t,e){var n=null==t?0:t.length,r=Fn(t,e);return ei(t,v(e,function(t){return Fo(t,n)?+t:t}).sort(Li)),r}),qf=oi(function(t){return mi(er(t,1,Zu,!0))}),Yf=oi(function(t){var e=ka(t);return Zu(e)&&(e=it),mi(er(t,1,Zu,!0),ko(e,2))}),Kf=oi(function(t){var e=ka(t);return e=\"function\"==typeof e?e:it,mi(er(t,1,Zu,!0),it,e)}),Gf=oi(function(t,e){return Zu(t)?Yn(t,e):[]}),$f=oi(function(t){return wi(p(t,Zu))}),Xf=oi(function(t){var e=ka(t);return Zu(e)&&(e=it),wi(p(t,Zu),ko(e,2))}),Zf=oi(function(t){var e=ka(t);return e=\"function\"==typeof e?e:it,wi(p(t,Zu),it,e)}),Qf=oi(Xa),Jf=oi(function(t){var e=t.length,n=e>1?t[e-1]:it;return n=\"function\"==typeof n?(t.pop(),n):it,Za(t,n)}),tp=bo(function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,o=function(e){return Fn(e,t)};return!(e>1||this.__actions__.length)&&r instanceof b&&Fo(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:nu,args:[o],thisArg:it}),new i(r,this.__chain__).thru(function(t){return e&&!t.length&&t.push(it),t})):this.thru(o)}),ep=Hi(function(t,e,n){bl.call(t,n)?++t[n]:Un(t,n,1)}),np=Ji(va),rp=Ji(ga),ip=Hi(function(t,e,n){bl.call(t,n)?t[n].push(e):Un(t,n,[e])}),op=oi(function(t,e,n){var r=-1,i=\"function\"==typeof e,o=Xu(t)?al(t.length):[];return _f(t,function(t){o[++r]=i?u(e,t,n):Sr(t,e,n)}),o}),ap=Hi(function(t,e,n){Un(t,n,e)}),up=Hi(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),cp=oi(function(t,e){if(null==t)return[];var n=e.length;return n>1&&jo(t,e[0],e[1])?e=[]:n>2&&jo(e[0],e[1],e[2])&&(e=[e[0]]),Xr(t,er(e,1),[])}),sp=Bl||function(){return ur.Date.now()},lp=oi(function(t,e,n){var r=mt;if(n.length){var i=G(n,Mo(lp));r|=wt}return po(t,r,e,n,i)}),fp=oi(function(t,e,n){var r=mt|yt;if(n.length){var i=G(n,Mo(fp));r|=wt}return po(e,r,t,n,i)}),pp=oi(function(t,e){return qn(t,1,e)}),hp=oi(function(t,e,n){return qn(t,Sc(e)||0,n)});Ru.Cache=pn;var dp=kf(function(t,e){e=1==e.length&&xp(e[0])?v(e[0],R(ko())):v(er(e,1),R(ko()));var n=e.length;return oi(function(r){for(var i=-1,o=Xl(r.length,n);++i<o;)r[i]=e[i].call(this,r[i]);return u(t,this,r)})}),vp=oi(function(t,e){var n=G(e,Mo(vp));return po(t,wt,it,e,n)}),gp=oi(function(t,e){var n=G(e,Mo(gp));return po(t,Ct,it,e,n)}),mp=bo(function(t,e){return po(t,kt,it,it,it,e)}),yp=co(pr),_p=co(function(t,e){return t>=e}),bp=Pr(function(){return arguments}())?Pr:function(t){return sc(t)&&bl.call(t,\"callee\")&&!Il.call(t,\"callee\")},xp=al.isArray,wp=hr?R(hr):Nr,Cp=ql||qs,Mp=dr?R(dr):Ar,kp=vr?R(vr):Dr,Ep=gr?R(gr):Ur,Tp=mr?R(mr):Fr,Sp=yr?R(yr):jr,Pp=co(zr),Np=co(function(t,e){return t<=e}),Ap=qi(function(t,e){if(Ho(e)||Xu(e))return void Wi(e,Hc(e),t);for(var n in e)bl.call(e,n)&&On(t,n,e[n])}),Op=qi(function(t,e){Wi(e,qc(e),t)}),Ip=qi(function(t,e,n,r){Wi(e,qc(e),t,r)}),Dp=qi(function(t,e,n,r){Wi(e,Hc(e),t,r)}),Rp=bo(Fn),Lp=oi(function(t){return t.push(it,ho),u(Ip,it,t)}),Up=oi(function(t){return t.push(it,vo),u(Vp,it,t)}),Fp=no(function(t,e,n){t[e]=n},Os(Ds)),jp=no(function(t,e,n){bl.call(t,e)?t[e].push(n):t[e]=[n]},ko),Bp=oi(Sr),Wp=qi(function(t,e,n){Kr(t,e,n)}),Vp=qi(function(t,e,n,r){Kr(t,e,n,r)}),zp=bo(function(t,e){var n={};if(null==t)return n;var r=!1;e=v(e,function(e){return e=Ei(e,t),r||(r=e.length>1),e}),Wi(t,wo(t),n),r&&(n=Bn(n,pt|ht|dt,go));for(var i=e.length;i--;)yi(n,e[i]);return n}),Hp=bo(function(t,e){return null==t?{}:Zr(t,e)}),qp=fo(Hc),Yp=fo(qc),Kp=Xi(function(t,e,n){return e=e.toLowerCase(),t+(n?cs(e):e)}),Gp=Xi(function(t,e,n){return t+(n?\"-\":\"\")+e.toLowerCase()}),$p=Xi(function(t,e,n){return t+(n?\" \":\"\")+e.toLowerCase()}),Xp=$i(\"toLowerCase\"),Zp=Xi(function(t,e,n){return t+(n?\"_\":\"\")+e.toLowerCase()}),Qp=Xi(function(t,e,n){return t+(n?\" \":\"\")+th(e)}),Jp=Xi(function(t,e,n){return t+(n?\" \":\"\")+e.toUpperCase()}),th=$i(\"toUpperCase\"),eh=oi(function(t,e){try{return u(t,it,e)}catch(t){return rc(t)?t:new cl(t)}}),nh=bo(function(t,e){return s(e,function(e){e=ra(e),Un(t,e,lp(t[e],t))}),t}),rh=to(),ih=to(!0),oh=oi(function(t,e){return function(n){return Sr(n,t,e)}}),ah=oi(function(t,e){return function(n){return Sr(t,n,e)}}),uh=io(v),ch=io(f),sh=io(_),lh=uo(),fh=uo(!0),ph=ro(function(t,e){return t+e},0),hh=lo(\"ceil\"),dh=ro(function(t,e){return t/e},1),vh=lo(\"floor\"),gh=ro(function(t,e){return t*e},1),mh=lo(\"round\"),yh=ro(function(t,e){return t-e},0);return n.after=Su,n.ary=Pu,n.assign=Ap,n.assignIn=Op,n.assignInWith=Ip,n.assignWith=Dp,n.at=Rp,n.before=Nu,n.bind=lp,n.bindAll=nh,n.bindKey=fp,n.castArray=zu,n.chain=tu,n.chunk=ua,n.compact=ca,n.concat=sa,n.cond=Ns,n.conforms=As,n.constant=Os,n.countBy=ep,n.create=Oc,n.curry=Au,n.curryRight=Ou,n.debounce=Iu,n.defaults=Lp,n.defaultsDeep=Up,n.defer=pp,n.delay=hp,n.difference=Uf,n.differenceBy=Ff,n.differenceWith=jf,n.drop=la,n.dropRight=fa,n.dropRightWhile=pa,n.dropWhile=ha,n.fill=da,n.filter=fu,n.flatMap=pu,n.flatMapDeep=hu,n.flatMapDepth=du,n.flatten=ma,n.flattenDeep=ya,n.flattenDepth=_a,n.flip=Du,n.flow=rh,n.flowRight=ih,n.fromPairs=ba,n.functions=jc,n.functionsIn=Bc,n.groupBy=ip,n.initial=Ca,n.intersection=Bf,n.intersectionBy=Wf,n.intersectionWith=Vf,n.invert=Fp,n.invertBy=jp,n.invokeMap=op,n.iteratee=Rs,n.keyBy=ap,n.keys=Hc,n.keysIn=qc,n.map=yu,n.mapKeys=Yc,n.mapValues=Kc,n.matches=Ls,n.matchesProperty=Us,n.memoize=Ru,n.merge=Wp,n.mergeWith=Vp,n.method=oh,n.methodOf=ah,n.mixin=Fs,n.negate=Lu,n.nthArg=Ws,n.omit=zp,n.omitBy=Gc,n.once=Uu,n.orderBy=_u,n.over=uh,n.overArgs=dp,n.overEvery=ch,n.overSome=sh,n.partial=vp,n.partialRight=gp,n.partition=up,n.pick=Hp,n.pickBy=$c,n.property=Vs,n.propertyOf=zs,n.pull=zf,n.pullAll=Sa,n.pullAllBy=Pa,n.pullAllWith=Na,n.pullAt=Hf,n.range=lh,n.rangeRight=fh,n.rearg=mp,n.reject=wu,n.remove=Aa,n.rest=Fu,n.reverse=Oa,n.sampleSize=Mu,n.set=Zc,n.setWith=Qc,n.shuffle=ku,n.slice=Ia,n.sortBy=cp,n.sortedUniq=Ba,n.sortedUniqBy=Wa,n.split=_s,n.spread=ju,n.tail=Va,n.take=za,n.takeRight=Ha,n.takeRightWhile=qa,n.takeWhile=Ya,n.tap=eu,n.throttle=Bu,n.thru=nu,n.toArray=Mc,n.toPairs=qp,n.toPairsIn=Yp,n.toPath=Xs,n.toPlainObject=Pc,n.transform=Jc,n.unary=Wu,n.union=qf,n.unionBy=Yf,n.unionWith=Kf,n.uniq=Ka,n.uniqBy=Ga,n.uniqWith=$a,n.unset=ts,n.unzip=Xa,n.unzipWith=Za,n.update=es,n.updateWith=ns,n.values=rs,n.valuesIn=is,n.without=Gf,n.words=Ps,n.wrap=Vu,n.xor=$f,n.xorBy=Xf,n.xorWith=Zf,n.zip=Qf,n.zipObject=Qa,n.zipObjectDeep=Ja,n.zipWith=Jf,n.entries=qp,n.entriesIn=Yp,n.extend=Op,n.extendWith=Ip,Fs(n,n),n.add=ph,n.attempt=eh,n.camelCase=Kp,n.capitalize=cs,n.ceil=hh,n.clamp=os,n.clone=Hu,n.cloneDeep=Yu,n.cloneDeepWith=Ku,n.cloneWith=qu,n.conformsTo=Gu,n.deburr=ss,n.defaultTo=Is,n.divide=dh,n.endsWith=ls,n.eq=$u,n.escape=fs,n.escapeRegExp=ps,n.every=lu,n.find=np,n.findIndex=va,n.findKey=Ic,n.findLast=rp,n.findLastIndex=ga,n.findLastKey=Dc,n.floor=vh,n.forEach=vu,n.forEachRight=gu,n.forIn=Rc,n.forInRight=Lc,n.forOwn=Uc,n.forOwnRight=Fc,n.get=Wc,n.gt=yp,n.gte=_p,n.has=Vc,n.hasIn=zc,n.head=xa,n.identity=Ds,n.includes=mu,n.indexOf=wa,n.inRange=as,n.invoke=Bp,n.isArguments=bp,n.isArray=xp,n.isArrayBuffer=wp,n.isArrayLike=Xu,n.isArrayLikeObject=Zu,n.isBoolean=Qu,n.isBuffer=Cp,n.isDate=Mp,n.isElement=Ju,n.isEmpty=tc,n.isEqual=ec,n.isEqualWith=nc,n.isError=rc,n.isFinite=ic,n.isFunction=oc,n.isInteger=ac,n.isLength=uc,n.isMap=kp,n.isMatch=lc,n.isMatchWith=fc,n.isNaN=pc,n.isNative=hc,n.isNil=vc,n.isNull=dc,n.isNumber=gc,n.isObject=cc,n.isObjectLike=sc,n.isPlainObject=mc,n.isRegExp=Ep,n.isSafeInteger=yc,n.isSet=Tp,n.isString=_c,n.isSymbol=bc,n.isTypedArray=Sp,n.isUndefined=xc,n.isWeakMap=wc,n.isWeakSet=Cc,n.join=Ma,n.kebabCase=Gp,n.last=ka,n.lastIndexOf=Ea,n.lowerCase=$p,n.lowerFirst=Xp,n.lt=Pp,n.lte=Np,n.max=Qs,n.maxBy=Js,n.mean=tl,n.meanBy=el,n.min=nl,n.minBy=rl,n.stubArray=Hs,n.stubFalse=qs,n.stubObject=Ys,n.stubString=Ks,n.stubTrue=Gs,n.multiply=gh,n.nth=Ta,n.noConflict=js,n.noop=Bs,n.now=sp,n.pad=hs,n.padEnd=ds,n.padStart=vs,n.parseInt=gs,n.random=us,n.reduce=bu,n.reduceRight=xu,n.repeat=ms,n.replace=ys,n.result=Xc,n.round=mh,n.runInContext=t,n.sample=Cu,n.size=Eu,n.snakeCase=Zp,n.some=Tu,n.sortedIndex=Da,n.sortedIndexBy=Ra,n.sortedIndexOf=La,n.sortedLastIndex=Ua,n.sortedLastIndexBy=Fa,n.sortedLastIndexOf=ja,n.startCase=Qp,n.startsWith=bs,n.subtract=yh,n.sum=il,n.sumBy=ol,n.template=xs,n.times=$s,n.toFinite=kc,n.toInteger=Ec,n.toLength=Tc,n.toLower=ws,n.toNumber=Sc,n.toSafeInteger=Nc,n.toString=Ac,n.toUpper=Cs,n.trim=Ms,n.trimEnd=ks,n.trimStart=Es,n.truncate=Ts,n.unescape=Ss,n.uniqueId=Zs,n.upperCase=Jp,n.upperFirst=th,n.each=vu,n.eachRight=gu,n.first=xa,Fs(n,function(){var t={};return nr(n,function(e,r){bl.call(n.prototype,r)||(t[r]=e)}),t}(),{chain:!1}),n.VERSION=ot,s([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(t){n[t].placeholder=n}),s([\"drop\",\"take\"],function(t,e){b.prototype[t]=function(n){n=n===it?1:$l(Ec(n),0);var r=this.__filtered__&&!e?new b(this):this.clone();return r.__filtered__?r.__takeCount__=Xl(n,r.__takeCount__):r.__views__.push({size:Xl(n,Ft),type:t+(r.__dir__<0?\"Right\":\"\")}),r},b.prototype[t+\"Right\"]=function(e){return this.reverse()[t](e).reverse()}}),s([\"filter\",\"map\",\"takeWhile\"],function(t,e){var n=e+1,r=n==At||n==It;b.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:ko(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),s([\"head\",\"last\"],function(t,e){var n=\"take\"+(e?\"Right\":\"\");b.prototype[t]=function(){return this[n](1).value()[0]}}),s([\"initial\",\"tail\"],function(t,e){var n=\"drop\"+(e?\"\":\"Right\");b.prototype[t]=function(){return this.__filtered__?new b(this):this[n](1)}}),b.prototype.compact=function(){return this.filter(Ds)},b.prototype.find=function(t){return this.filter(t).head()},b.prototype.findLast=function(t){return this.reverse().find(t)},b.prototype.invokeMap=oi(function(t,e){return\"function\"==typeof t?new b(this):this.map(function(n){return Sr(n,t,e)})}),b.prototype.reject=function(t){return this.filter(Lu(ko(t)))},b.prototype.slice=function(t,e){t=Ec(t);var n=this;return n.__filtered__&&(t>0||e<0)?new b(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==it&&(e=Ec(e),n=e<0?n.dropRight(-e):n.take(e-t)),n)},b.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},b.prototype.toArray=function(){return this.take(Ft)},nr(b.prototype,function(t,e){var r=/^(?:filter|find|map|reject)|While$/.test(e),o=/^(?:head|last)$/.test(e),a=n[o?\"take\"+(\"last\"==e?\"Right\":\"\"):e],u=o||/^find/.test(e);a&&(n.prototype[e]=function(){var e=this.__wrapped__,c=o?[1]:arguments,s=e instanceof b,l=c[0],f=s||xp(e),p=function(t){var e=a.apply(n,g([t],c));return o&&h?e[0]:e};f&&r&&\"function\"==typeof l&&1!=l.length&&(s=f=!1);var h=this.__chain__,d=!!this.__actions__.length,v=u&&!h,m=s&&!d;if(!u&&f){e=m?e:new b(this);var y=t.apply(e,c);return y.__actions__.push({func:nu,args:[p],thisArg:it}),new i(y,h)}return v&&m?t.apply(this,c):(y=this.thru(p),v?o?y.value()[0]:y.value():y)})}),s([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(t){var e=vl[t],r=/^(?:push|sort|unshift)$/.test(t)?\"tap\":\"thru\",i=/^(?:pop|shift)$/.test(t);n.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var n=this.value();return e.apply(xp(n)?n:[],t)}return this[r](function(n){return e.apply(xp(n)?n:[],t)})}}),nr(b.prototype,function(t,e){var r=n[e];if(r){var i=r.name+\"\",o=sf[i]||(sf[i]=[]);o.push({name:e,func:r})}}),sf[eo(it,yt).name]=[{name:\"wrapper\",func:it}],b.prototype.clone=P,b.prototype.reverse=Z,b.prototype.value=et,n.prototype.at=tp,n.prototype.chain=ru,n.prototype.commit=iu,n.prototype.next=ou,n.prototype.plant=uu,n.prototype.reverse=cu,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=su,n.prototype.first=n.prototype.head,Ll&&(n.prototype[Ll]=au),n},Mr=Cr();ur._=Mr,i=function(){return Mr}.call(e,n,e,r),!(i!==it&&(r.exports=i))}).call(this)}).call(e,n(99),n(100)(t))},function(t,e,n){\"use strict\";var r={remove:function(t){t._reactInternalInstance=void 0},get:function(t){return t._reactInternalInstance},has:function(t){return void 0!==t._reactInternalInstance},set:function(t,e){t._reactInternalInstance=e}};t.exports=r},function(t,e,n){\"use strict\";t.exports=n(26)},function(t,e,n){\"use strict\";var r=n(61);e.a=function(t){return t=n.i(r.a)(Math.abs(t)),t?t[1]:NaN}},function(t,e,n){\"use strict\";e.a=function(t,e){return t=+t,e-=t,function(n){return t+e*n}}},function(t,e,n){\"use strict\";var r=n(228);n.d(e,\"a\",function(){return r.a})},function(t,e,n){\"use strict\";function r(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:n.i(h.a)(e)}function i(t){return function(e,n){var r=t(e=+e,n=+n);return function(t){return t<=e?0:t>=n?1:r(t)}}}function o(t){return function(e,n){var r=t(e=+e,n=+n);return function(t){return t<=0?e:t>=1?n:r(t)}}}function a(t,e,n,r){var i=t[0],o=t[1],a=e[0],u=e[1];return o<i?(i=n(o,i),a=r(u,a)):(i=n(i,o),a=r(a,u)),function(t){return a(i(t))}}function u(t,e,r,i){var o=Math.min(t.length,e.length)-1,a=new Array(o),u=new Array(o),c=-1;for(t[o]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++c<o;)a[c]=r(t[c],t[c+1]),u[c]=i(e[c],e[c+1]);return function(e){var r=n.i(l.c)(t,e,1,o)-1;return u[r](a[r](e))}}function c(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function s(t,e){function n(){return s=Math.min(g.length,m.length)>2?u:a,l=h=null,c}function c(e){return(l||(l=s(g,m,_?i(t):t,y)))(+e)}var s,l,h,g=v,m=v,y=f.b,_=!1;return c.invert=function(t){return(h||(h=s(m,g,r,_?o(e):e)))(+t)},c.domain=function(t){return arguments.length?(g=p.a.call(t,d.a),n()):g.slice()},c.range=function(t){return arguments.length?(m=p.b.call(t),n()):m.slice()},c.rangeRound=function(t){return m=p.b.call(t),y=f.c,n()},c.clamp=function(t){return arguments.length?(_=!!t,n()):_},c.interpolate=function(t){return arguments.length?(y=t,n()):y},n()}var l=n(12),f=n(31),p=n(16),h=n(65),d=n(126);e.b=r,e.c=c,e.a=s;var v=[0,1]},function(t,e,n){\"use strict\";function r(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function i(t){this._context=t}e.c=r,e.b=i,i.prototype={\n",
       "areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:r(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:r(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},e.a=function(t){return new i(t)}},function(t,e,n){\"use strict\";function r(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function i(t,e){this._context=t,this._k=(1-e)/6}e.c=r,e.b=i,i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:r(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:r(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},e.a=function t(e){function n(t){return new i(t,e)}return n.tension=function(e){return t(+e)},n}(0)},function(t,e,n){\"use strict\";function r(t){this._context=t}r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}},e.a=function(t){return new r(t)}},function(t,e,n){\"use strict\";e.a=function(){}},function(t,e,n){\"use strict\";function r(t){return\"topMouseUp\"===t||\"topTouchEnd\"===t||\"topTouchCancel\"===t}function i(t){return\"topMouseMove\"===t||\"topTouchMove\"===t}function o(t){return\"topMouseDown\"===t||\"topTouchStart\"===t}function a(t,e,n,r){var i=t.type||\"unknown-event\";t.currentTarget=m.getNodeFromInstance(r),e?v.invokeGuardedCallbackWithCatch(i,n,t):v.invokeGuardedCallback(i,n,t),t.currentTarget=null}function u(t,e){var n=t._dispatchListeners,r=t._dispatchInstances;if(Array.isArray(n))for(var i=0;i<n.length&&!t.isPropagationStopped();i++)a(t,e,n[i],r[i]);else n&&a(t,e,n,r);t._dispatchListeners=null,t._dispatchInstances=null}function c(t){var e=t._dispatchListeners,n=t._dispatchInstances;if(Array.isArray(e)){for(var r=0;r<e.length&&!t.isPropagationStopped();r++)if(e[r](t,n[r]))return n[r]}else if(e&&e(t,n))return n;return null}function s(t){var e=c(t);return t._dispatchInstances=null,t._dispatchListeners=null,e}function l(t){var e=t._dispatchListeners,n=t._dispatchInstances;Array.isArray(e)?d(\"103\"):void 0,t.currentTarget=e?m.getNodeFromInstance(n):null;var r=e?e(t):null;return t.currentTarget=null,t._dispatchListeners=null,t._dispatchInstances=null,r}function f(t){return!!t._dispatchListeners}var p,h,d=n(2),v=n(87),g=(n(0),n(1),{injectComponentTree:function(t){p=t},injectTreeTraversal:function(t){h=t}}),m={isEndish:r,isMoveish:i,isStartish:o,executeDirectDispatch:l,executeDispatchesInOrder:u,executeDispatchesInOrderStopAtTrue:s,hasDispatches:f,getInstanceFromNode:function(t){return p.getInstanceFromNode(t)},getNodeFromInstance:function(t){return p.getNodeFromInstance(t)},isAncestor:function(t,e){return h.isAncestor(t,e)},getLowestCommonAncestor:function(t,e){return h.getLowestCommonAncestor(t,e)},getParentInstance:function(t){return h.getParentInstance(t)},traverseTwoPhase:function(t,e,n){return h.traverseTwoPhase(t,e,n)},traverseEnterLeave:function(t,e,n,r,i){return h.traverseEnterLeave(t,e,n,r,i)},injection:g};t.exports=m},function(t,e,n){\"use strict\";function r(t){return Object.prototype.hasOwnProperty.call(t,v)||(t[v]=h++,f[t[v]]={}),f[t[v]]}var i,o=n(3),a=n(83),u=n(360),c=n(89),s=n(393),l=n(94),f={},p=!1,h=0,d={topAbort:\"abort\",topAnimationEnd:s(\"animationend\")||\"animationend\",topAnimationIteration:s(\"animationiteration\")||\"animationiteration\",topAnimationStart:s(\"animationstart\")||\"animationstart\",topBlur:\"blur\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topChange:\"change\",topClick:\"click\",topCompositionEnd:\"compositionend\",topCompositionStart:\"compositionstart\",topCompositionUpdate:\"compositionupdate\",topContextMenu:\"contextmenu\",topCopy:\"copy\",topCut:\"cut\",topDoubleClick:\"dblclick\",topDrag:\"drag\",topDragEnd:\"dragend\",topDragEnter:\"dragenter\",topDragExit:\"dragexit\",topDragLeave:\"dragleave\",topDragOver:\"dragover\",topDragStart:\"dragstart\",topDrop:\"drop\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topFocus:\"focus\",topInput:\"input\",topKeyDown:\"keydown\",topKeyPress:\"keypress\",topKeyUp:\"keyup\",topLoadedData:\"loadeddata\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",topMouseDown:\"mousedown\",topMouseMove:\"mousemove\",topMouseOut:\"mouseout\",topMouseOver:\"mouseover\",topMouseUp:\"mouseup\",topPaste:\"paste\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topScroll:\"scroll\",topSeeked:\"seeked\",topSeeking:\"seeking\",topSelectionChange:\"selectionchange\",topStalled:\"stalled\",topSuspend:\"suspend\",topTextInput:\"textInput\",topTimeUpdate:\"timeupdate\",topTouchCancel:\"touchcancel\",topTouchEnd:\"touchend\",topTouchMove:\"touchmove\",topTouchStart:\"touchstart\",topTransitionEnd:s(\"transitionend\")||\"transitionend\",topVolumeChange:\"volumechange\",topWaiting:\"waiting\",topWheel:\"wheel\"},v=\"_reactListenersID\"+String(Math.random()).slice(2),g=o({},u,{ReactEventListener:null,injection:{injectReactEventListener:function(t){t.setHandleTopLevel(g.handleTopLevel),g.ReactEventListener=t}},setEnabled:function(t){g.ReactEventListener&&g.ReactEventListener.setEnabled(t)},isEnabled:function(){return!(!g.ReactEventListener||!g.ReactEventListener.isEnabled())},listenTo:function(t,e){for(var n=e,i=r(n),o=a.registrationNameDependencies[t],u=0;u<o.length;u++){var c=o[u];i.hasOwnProperty(c)&&i[c]||(\"topWheel\"===c?l(\"wheel\")?g.ReactEventListener.trapBubbledEvent(\"topWheel\",\"wheel\",n):l(\"mousewheel\")?g.ReactEventListener.trapBubbledEvent(\"topWheel\",\"mousewheel\",n):g.ReactEventListener.trapBubbledEvent(\"topWheel\",\"DOMMouseScroll\",n):\"topScroll\"===c?l(\"scroll\",!0)?g.ReactEventListener.trapCapturedEvent(\"topScroll\",\"scroll\",n):g.ReactEventListener.trapBubbledEvent(\"topScroll\",\"scroll\",g.ReactEventListener.WINDOW_HANDLE):\"topFocus\"===c||\"topBlur\"===c?(l(\"focus\",!0)?(g.ReactEventListener.trapCapturedEvent(\"topFocus\",\"focus\",n),g.ReactEventListener.trapCapturedEvent(\"topBlur\",\"blur\",n)):l(\"focusin\")&&(g.ReactEventListener.trapBubbledEvent(\"topFocus\",\"focusin\",n),g.ReactEventListener.trapBubbledEvent(\"topBlur\",\"focusout\",n)),i.topBlur=!0,i.topFocus=!0):d.hasOwnProperty(c)&&g.ReactEventListener.trapBubbledEvent(c,d[c],n),i[c]=!0)}},trapBubbledEvent:function(t,e,n){return g.ReactEventListener.trapBubbledEvent(t,e,n)},trapCapturedEvent:function(t,e,n){return g.ReactEventListener.trapCapturedEvent(t,e,n)},supportsEventPageXY:function(){if(!document.createEvent)return!1;var t=document.createEvent(\"MouseEvent\");return null!=t&&\"pageX\"in t},ensureScrollValueMonitoring:function(){if(void 0===i&&(i=g.supportsEventPageXY()),!i&&!p){var t=c.refreshScrollValues;g.ReactEventListener.monitorScrollValue(t),p=!0}}});t.exports=g},function(t,e,n){\"use strict\";function r(t,e,n,r){return i.call(this,t,e,n,r)}var i=n(25),o=n(89),a=n(92),u={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:a,button:function(t){var e=t.button;return\"which\"in t?e:2===e?2:4===e?1:0},buttons:null,relatedTarget:function(t){return t.relatedTarget||(t.fromElement===t.srcElement?t.toElement:t.fromElement)},pageX:function(t){return\"pageX\"in t?t.pageX:t.clientX+o.currentScrollLeft},pageY:function(t){return\"pageY\"in t?t.pageY:t.clientY+o.currentScrollTop}};i.augmentClass(r,u),t.exports=r},function(t,e,n){\"use strict\";var r=n(2),i=(n(0),{}),o={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(t,e,n,i,o,a,u,c){this.isInTransaction()?r(\"27\"):void 0;var s,l;try{this._isInTransaction=!0,s=!0,this.initializeAll(0),l=t.call(e,n,i,o,a,u,c),s=!1}finally{try{if(s)try{this.closeAll(0)}catch(t){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return l},initializeAll:function(t){for(var e=this.transactionWrappers,n=t;n<e.length;n++){var r=e[n];try{this.wrapperInitData[n]=i,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===i)try{this.initializeAll(n+1)}catch(t){}}}},closeAll:function(t){this.isInTransaction()?void 0:r(\"28\");for(var e=this.transactionWrappers,n=t;n<e.length;n++){var o,a=e[n],u=this.wrapperInitData[n];try{o=!0,u!==i&&a.close&&a.close.call(this,u),o=!1}finally{if(o)try{this.closeAll(n+1)}catch(t){}}}this.wrapperInitData.length=0}};t.exports=o},function(t,e,n){\"use strict\";function r(t){var e=\"\"+t,n=o.exec(e);if(!n)return e;var r,i=\"\",a=0,u=0;for(a=n.index;a<e.length;a++){switch(e.charCodeAt(a)){case 34:r=\"&quot;\";break;case 38:r=\"&amp;\";break;case 39:r=\"&#x27;\";break;case 60:r=\"&lt;\";break;case 62:r=\"&gt;\";break;default:continue}u!==a&&(i+=e.substring(u,a)),u=a+1,i+=r}return u!==a?i+e.substring(u,a):i}function i(t){return\"boolean\"==typeof t||\"number\"==typeof t?\"\"+t:r(t)}var o=/[\"'&<>]/;t.exports=i},function(t,e,n){\"use strict\";var r,i=n(6),o=n(82),a=/^[ \\r\\n\\t\\f]/,u=/<(!--|link|noscript|meta|script|style)[ \\r\\n\\t\\f\\/>]/,c=n(90),s=c(function(t,e){if(t.namespaceURI!==o.svg||\"innerHTML\"in t)t.innerHTML=e;else{r=r||document.createElement(\"div\"),r.innerHTML=\"<svg>\"+e+\"</svg>\";for(var n=r.firstChild;n.firstChild;)t.appendChild(n.firstChild)}});if(i.canUseDOM){var l=document.createElement(\"div\");l.innerHTML=\" \",\"\"===l.innerHTML&&(s=function(t,e){if(t.parentNode&&t.parentNode.replaceChild(t,t),a.test(e)||\"<\"===e[0]&&u.test(e)){t.innerHTML=String.fromCharCode(65279)+e;var n=t.firstChild;1===n.data.length?t.removeChild(n):n.deleteData(0,1)}else t.innerHTML=e}),l=null}t.exports=s},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={colors:{RdBu:[\"rgb(255, 13, 87)\",\"rgb(30, 136, 229)\"],GnPR:[\"rgb(24, 196, 93)\",\"rgb(124, 82, 255)\"],CyPU:[\"#0099C6\",\"#990099\"],PkYg:[\"#DD4477\",\"#66AA00\"],DrDb:[\"#B82E2E\",\"#316395\"],LpLb:[\"#994499\",\"#22AA99\"],YlDp:[\"#AAAA11\",\"#6633CC\"],OrId:[\"#E67300\",\"#3E0099\"]},gray:\"#777\"}},function(t,e,n){\"use strict\";var r=n(29);e.a=function(t,e,n){if(null==n&&(n=r.a),i=t.length){if((e=+e)<=0||i<2)return+n(t[0],0,t);if(e>=1)return+n(t[i-1],i-1,t);var i,o=(i-1)*e,a=Math.floor(o),u=+n(t[a],a,t),c=+n(t[a+1],a+1,t);return u+(c-u)*(o-a)}}},function(t,e,n){\"use strict\";function r(){}function i(t,e){var n=new r;if(t instanceof r)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var i,o=-1,a=t.length;if(null==e)for(;++o<a;)n.set(o,t[o]);else for(;++o<a;)n.set(e(i=t[o],o,t),i)}else if(t)for(var u in t)n.set(u,t[u]);return n}n.d(e,\"b\",function(){return o});var o=\"$\";r.prototype=i.prototype={constructor:r,has:function(t){return o+t in this},get:function(t){return this[o+t]},set:function(t,e){return this[o+t]=e,this},remove:function(t){var e=o+t;return e in this&&delete this[e]},clear:function(){for(var t in this)t[0]===o&&delete this[t]},keys:function(){var t=[];for(var e in this)e[0]===o&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)e[0]===o&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)e[0]===o&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)e[0]===o&&++t;return t},empty:function(){for(var t in this)if(t[0]===o)return!1;return!0},each:function(t){for(var e in this)e[0]===o&&t(this[e],e.slice(1),this)}},e.a=i},function(t,e,n){\"use strict\";function r(){}function i(t){var e;return t=(t+\"\").trim().toLowerCase(),(e=x.exec(t))?(e=parseInt(e[1],16),new s(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1)):(e=w.exec(t))?o(parseInt(e[1],16)):(e=C.exec(t))?new s(e[1],e[2],e[3],1):(e=M.exec(t))?new s(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=k.exec(t))?a(e[1],e[2],e[3],e[4]):(e=E.exec(t))?a(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=T.exec(t))?l(e[1],e[2]/100,e[3]/100,1):(e=S.exec(t))?l(e[1],e[2]/100,e[3]/100,e[4]):P.hasOwnProperty(t)?o(P[t]):\"transparent\"===t?new s(NaN,NaN,NaN,0):null}function o(t){return new s(t>>16&255,t>>8&255,255&t,1)}function a(t,e,n,r){return r<=0&&(t=e=n=NaN),new s(t,e,n,r)}function u(t){return t instanceof r||(t=i(t)),t?(t=t.rgb(),new s(t.r,t.g,t.b,t.opacity)):new s}function c(t,e,n,r){return 1===arguments.length?u(t):new s(t,e,n,null==r?1:r)}function s(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function l(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new h(t,e,n,r)}function f(t){if(t instanceof h)return new h(t.h,t.s,t.l,t.opacity);if(t instanceof r||(t=i(t)),!t)return new h;if(t instanceof h)return t;t=t.rgb();var e=t.r/255,n=t.g/255,o=t.b/255,a=Math.min(e,n,o),u=Math.max(e,n,o),c=NaN,s=u-a,l=(u+a)/2;return s?(c=e===u?(n-o)/s+6*(n<o):n===u?(o-e)/s+2:(e-n)/s+4,s/=l<.5?u+a:2-u-a,c*=60):s=l>0&&l<1?0:c,new h(c,s,l,t.opacity)}function p(t,e,n,r){return 1===arguments.length?f(t):new h(t,e,n,null==r?1:r)}function h(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function d(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}var v=n(60);e.f=r,n.d(e,\"h\",function(){return g}),n.d(e,\"g\",function(){return m}),e.a=i,e.e=u,e.b=c,e.d=s,e.c=p;var g=.7,m=1/g,y=\"\\\\s*([+-]?\\\\d+)\\\\s*\",_=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",b=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",x=/^#([0-9a-f]{3})$/,w=/^#([0-9a-f]{6})$/,C=new RegExp(\"^rgb\\\\(\"+[y,y,y]+\"\\\\)$\"),M=new RegExp(\"^rgb\\\\(\"+[b,b,b]+\"\\\\)$\"),k=new RegExp(\"^rgba\\\\(\"+[y,y,y,_]+\"\\\\)$\"),E=new RegExp(\"^rgba\\\\(\"+[b,b,b,_]+\"\\\\)$\"),T=new RegExp(\"^hsl\\\\(\"+[_,b,b]+\"\\\\)$\"),S=new RegExp(\"^hsla\\\\(\"+[_,b,b,_]+\"\\\\)$\"),P={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};n.i(v.a)(r,i,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+\"\"}}),n.i(v.a)(s,c,n.i(v.b)(r,{brighter:function(t){return t=null==t?m:Math.pow(m,t),new s(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?g:Math.pow(g,t),new s(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return t=isNaN(t)?1:Math.max(0,Math.min(1,t)),(1===t?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?\")\":\", \"+t+\")\")}})),n.i(v.a)(h,p,n.i(v.b)(r,{brighter:function(t){return t=null==t?m:Math.pow(m,t),new h(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?g:Math.pow(g,t),new h(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new s(d(t>=240?t-240:t+120,i,r),d(t,i,r),d(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}))},function(t,e,n){\"use strict\";function r(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}e.b=r,e.a=function(t,e,n){t.prototype=e.prototype=n,n.constructor=t}},function(t,e,n){\"use strict\";e.a=function(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf(\"e\"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}},function(t,e,n){\"use strict\";function r(t,e,n,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*n+(1+3*t+3*o-3*a)*r+a*i)/6}e.b=r,e.a=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),o=t[i],a=t[i+1],u=i>0?t[i-1]:2*o-a,c=i<e-1?t[i+2]:2*a-o;return r((n-i/e)*e,u,o,a,c)}}},function(t,e,n){\"use strict\";var r=n(10),i=n(123),o=n(118),a=n(121),u=n(43),c=n(122),s=n(124),l=n(120);e.a=function(t,e){var f,p=typeof e;return null==e||\"boolean\"===p?n.i(l.a)(e):(\"number\"===p?u.a:\"string\"===p?(f=n.i(r.color)(e))?(e=f,i.a):s.a:e instanceof r.color?i.a:e instanceof Date?a.a:Array.isArray(e)?o.a:isNaN(e)?c.a:u.a)(t,e)}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(229);n.d(e,\"scaleBand\",function(){return r.a}),n.d(e,\"scalePoint\",function(){return r.b});var i=n(235);n.d(e,\"scaleIdentity\",function(){return i.a});var o=n(34);n.d(e,\"scaleLinear\",function(){return o.a});var a=n(236);n.d(e,\"scaleLog\",function(){return a.a});var u=n(127);n.d(e,\"scaleOrdinal\",function(){return u.a}),n.d(e,\"scaleImplicit\",function(){return u.b});var c=n(237);n.d(e,\"scalePow\",function(){return c.a}),n.d(e,\"scaleSqrt\",function(){return c.b});var s=n(238);n.d(e,\"scaleQuantile\",function(){return s.a});var l=n(239);n.d(e,\"scaleQuantize\",function(){return l.a});var f=n(242);n.d(e,\"scaleThreshold\",function(){return f.a});var p=n(128);n.d(e,\"scaleTime\",function(){return p.a});var h=n(244);n.d(e,\"scaleUtc\",function(){return h.a});var d=n(230);n.d(e,\"schemeCategory10\",function(){return d.a});var v=n(232);n.d(e,\"schemeCategory20b\",function(){return v.a});var g=n(233);n.d(e,\"schemeCategory20c\",function(){return g.a});var m=n(231);n.d(e,\"schemeCategory20\",function(){return m.a});var y=n(234);n.d(e,\"interpolateCubehelixDefault\",function(){return y.a});var _=n(240);n.d(e,\"interpolateRainbow\",function(){return _.a}),n.d(e,\"interpolateWarm\",function(){return _.b}),n.d(e,\"interpolateCool\",function(){return _.c});var b=n(245);n.d(e,\"interpolateViridis\",function(){return b.a}),n.d(e,\"interpolateMagma\",function(){return b.b}),n.d(e,\"interpolateInferno\",function(){return b.c}),n.d(e,\"interpolatePlasma\",function(){return b.d});var x=n(241);n.d(e,\"scaleSequential\",function(){return x.a})},function(t,e,n){\"use strict\";e.a=function(t){return function(){return t}}},function(t,e,n){\"use strict\";function r(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===a.b&&e.documentElement.namespaceURI===a.b?e.createElement(t):e.createElementNS(n,t)}}function i(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var o=n(67),a=n(68);e.a=function(t){var e=n.i(o.a)(t);return(e.local?i:r)(e)}},function(t,e,n){\"use strict\";var r=n(68);e.a=function(t){var e=t+=\"\",n=e.indexOf(\":\");return n>=0&&\"xmlns\"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),r.a.hasOwnProperty(e)?{space:r.a[e],local:t}:t}},function(t,e,n){\"use strict\";n.d(e,\"b\",function(){return r});var r=\"http://www.w3.org/1999/xhtml\";e.a={svg:\"http://www.w3.org/2000/svg\",xhtml:r,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"}},function(t,e,n){\"use strict\";e.a=function(t,e){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}},function(t,e,n){\"use strict\";function r(t,e,n){return t=i(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function i(t,e,n){return function(r){var i=l;l=r;try{t.call(this,this.__data__,e,n)}finally{l=i}}}function o(t){return t.trim().split(/^|\\s+/).map(function(t){var e=\"\",n=t.indexOf(\".\");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}})}function a(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,o=e.length;r<o;++r)n=e[r],t.type&&n.type!==t.type||n.name!==t.name?e[++i]=n:this.removeEventListener(n.type,n.listener,n.capture);++i?e.length=i:delete this.__on}}}function u(t,e,n){var o=s.hasOwnProperty(t.type)?r:i;return function(r,i,a){var u,c=this.__on,s=o(e,i,a);if(c)for(var l=0,f=c.length;l<f;++l)if((u=c[l]).type===t.type&&u.name===t.name)return this.removeEventListener(u.type,u.listener,u.capture),this.addEventListener(u.type,u.listener=s,u.capture=n),void(u.value=e);this.addEventListener(t.type,s,n),u={type:t.type,name:t.name,value:e,listener:s,capture:n},c?c.push(u):this.__on=[u]}}function c(t,e,n,r){var i=l;t.sourceEvent=l,l=t;try{return e.apply(n,r)}finally{l=i}}n.d(e,\"a\",function(){return l}),e.b=c;var s={},l=null;if(\"undefined\"!=typeof document){var f=document.documentElement;\"onmouseenter\"in f||(s={mouseenter:\"mouseover\",mouseleave:\"mouseout\"})}e.c=function(t,e,n){var r,i,c=o(t+\"\"),s=c.length;{if(!(arguments.length<2)){for(l=e?u:a,null==n&&(n=!1),r=0;r<s;++r)this.each(l(c[r],e,n));return this}var l=this.node().__on;if(l)for(var f,p=0,h=l.length;p<h;++p)for(r=0,f=l[p];r<s;++r)if((i=c[r]).type===f.type&&i.name===f.name)return f.value}}},function(t,e,n){\"use strict\";function r(){}e.a=function(t){return null==t?r:function(){return this.querySelector(t)}}},function(t,e,n){\"use strict\";var r=n(70);e.a=function(){for(var t,e=r.a;t=e.sourceEvent;)e=t;return e}},function(t,e,n){\"use strict\";e.a=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}},function(t,e,n){\"use strict\";function r(t,e,n){var r=t._x1,i=t._y1,a=t._x2,u=t._y2;if(t._l01_a>o.a){var c=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,s=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*c-t._x0*t._l12_2a+t._x2*t._l01_2a)/s,i=(i*c-t._y0*t._l12_2a+t._y2*t._l01_2a)/s}if(t._l23_a>o.a){var l=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*l+t._x1*t._l23_2a-e*t._l12_2a)/f,u=(u*l+t._y1*t._l23_2a-n*t._l12_2a)/f}t._context.bezierCurveTo(r,i,a,u,t._x2,t._y2)}function i(t,e){this._context=t,this._alpha=e}var o=n(35),a=n(47);e.b=r,i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:r(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},e.a=function t(e){function n(t){return e?new i(t,e):new a.b(t,0)}return n.alpha=function(e){return t(+e)},n}(.5)},function(t,e,n){\"use strict\";var r=n(44),i=n(19),o=n(48),a=n(139);e.a=function(){function t(t){var i,o,a,p=t.length,h=!1;for(null==s&&(f=l(a=n.i(r.a)())),i=0;i<=p;++i)!(i<p&&c(o=t[i],i,t))===h&&((h=!h)?f.lineStart():f.lineEnd()),h&&f.point(+e(o,i,t),+u(o,i,t));if(a)return f=null,a+\"\"||null}var e=a.a,u=a.b,c=n.i(i.a)(!0),s=null,l=o.a,f=null;return t.x=function(r){return arguments.length?(e=\"function\"==typeof r?r:n.i(i.a)(+r),t):e},t.y=function(e){return arguments.length?(u=\"function\"==typeof e?e:n.i(i.a)(+e),t):u},t.defined=function(e){return arguments.length?(c=\"function\"==typeof e?e:n.i(i.a)(!!e),t):c},t.curve=function(e){return arguments.length?(l=e,null!=s&&(f=l(s)),t):l},t.context=function(e){return arguments.length?(null==e?s=f=null:f=l(s=e),t):s},t}},function(t,e,n){\"use strict\";function r(t){for(var e,n=0,r=-1,i=t.length;++r<i;)(e=+t[r][1])&&(n+=e);return n}var i=n(37);e.b=r,e.a=function(t){var e=t.map(r);return n.i(i.a)(t).sort(function(t,n){return e[t]-e[n]})}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(78);n.d(e,\"timeFormatDefaultLocale\",function(){return r.a}),n.d(e,\"timeFormat\",function(){return r.b}),n.d(e,\"timeParse\",function(){return r.c}),n.d(e,\"utcFormat\",function(){return r.d}),n.d(e,\"utcParse\",function(){return r.e});var i=n(149);n.d(e,\"timeFormatLocale\",function(){return i.a});var o=n(148);n.d(e,\"isoFormat\",function(){return o.a});var a=n(303);n.d(e,\"isoParse\",function(){return a.a})},function(t,e,n){\"use strict\";function r(t){return o=n.i(i.a)(t),a=o.format,u=o.parse,c=o.utcFormat,s=o.utcParse,o}var i=n(149);n.d(e,\"b\",function(){return a}),n.d(e,\"c\",function(){return u}),n.d(e,\"d\",function(){return c}),n.d(e,\"e\",function(){return s}),e.a=r;var o,a,u,c,s;r({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]})},function(t,e,n){\"use strict\";var r=(n(5),n(306));n.d(e,\"t\",function(){return r.a}),n.d(e,\"n\",function(){return r.a});var i=n(309);n.d(e,\"s\",function(){return i.a}),n.d(e,\"m\",function(){return i.a});var o=n(307);n.d(e,\"r\",function(){return o.a});var a=n(305);n.d(e,\"q\",function(){return a.a});var u=n(304);n.d(e,\"a\",function(){return u.a});var c=n(316);n.d(e,\"p\",function(){return c.a}),n.d(e,\"c\",function(){return c.a}),n.d(e,\"d\",function(){return c.b});var s=n(308);n.d(e,\"o\",function(){return s.a});var l=n(317);n.d(e,\"b\",function(){return l.a});var f=n(312);n.d(e,\"l\",function(){return f.a});var p=n(311);n.d(e,\"k\",function(){return p.a});var h=n(310);n.d(e,\"e\",function(){return h.a});var d=n(314);n.d(e,\"j\",function(){return d.a}),n.d(e,\"g\",function(){return d.a}),n.d(e,\"h\",function(){return d.b});var v=n(313);n.d(e,\"i\",function(){return v.a});var g=n(315);n.d(e,\"f\",function(){return g.a})},function(t,e,n){\"use strict\";function r(t,e){return t===e?0!==t||0!==e||1/t===1/e:t!==t&&e!==e}function i(t,e){if(r(t,e))return!0;if(\"object\"!=typeof t||null===t||\"object\"!=typeof e||null===e)return!1;var n=Object.keys(t),i=Object.keys(e);if(n.length!==i.length)return!1;for(var a=0;a<n.length;a++)if(!o.call(e,n[a])||!r(t[n[a]],e[n[a]]))return!1;return!0}var o=Object.prototype.hasOwnProperty;t.exports=i},function(t,e,n){\"use strict\";function r(t,e){return Array.isArray(e)&&(e=e[1]),e?e.nextSibling:t.firstChild}function i(t,e,n){l.insertTreeBefore(t,e,n)}function o(t,e,n){Array.isArray(e)?u(t,e[0],e[1],n):v(t,e,n)}function a(t,e){if(Array.isArray(e)){var n=e[1];e=e[0],c(t,e,n),t.removeChild(n)}t.removeChild(e)}function u(t,e,n,r){for(var i=e;;){var o=i.nextSibling;if(v(t,i,r),i===n)break;i=o}}function c(t,e,n){for(;;){var r=e.nextSibling;if(r===n)break;t.removeChild(r)}}function s(t,e,n){var r=t.parentNode,i=t.nextSibling;i===e?n&&v(r,document.createTextNode(n),i):n?(d(i,n),c(r,i,e)):c(r,t,e)}var l=n(20),f=n(336),p=(n(4),n(9),n(90)),h=n(55),d=n(171),v=p(function(t,e,n){t.insertBefore(e,n)}),g=f.dangerouslyReplaceNodeWithMarkup,m={dangerouslyReplaceNodeWithMarkup:g,replaceDelimitedText:s,processUpdates:function(t,e){for(var n=0;n<e.length;n++){var u=e[n];switch(u.type){case\"INSERT_MARKUP\":i(t,u.content,r(t,u.afterNode));break;case\"MOVE_EXISTING\":o(t,u.fromNode,r(t,u.afterNode));break;case\"SET_MARKUP\":h(t,u.content);break;case\"TEXT_CONTENT\":d(t,u.content);break;case\"REMOVE_NODE\":a(t,u.fromNode)}}}};t.exports=m},function(t,e,n){\"use strict\";var r={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};t.exports=r},function(t,e,n){\"use strict\";function r(){if(u)for(var t in c){var e=c[t],n=u.indexOf(t);if(n>-1?void 0:a(\"96\",t),!s.plugins[n]){e.extractEvents?void 0:a(\"97\",t),s.plugins[n]=e;var r=e.eventTypes;for(var o in r)i(r[o],e,o)?void 0:a(\"98\",o,t)}}}function i(t,e,n){s.eventNameDispatchConfigs.hasOwnProperty(n)?a(\"99\",n):void 0,s.eventNameDispatchConfigs[n]=t;var r=t.phasedRegistrationNames;if(r){for(var i in r)if(r.hasOwnProperty(i)){var u=r[i];o(u,e,n)}return!0}return!!t.registrationName&&(o(t.registrationName,e,n),!0)}function o(t,e,n){s.registrationNameModules[t]?a(\"100\",t):void 0,s.registrationNameModules[t]=e,s.registrationNameDependencies[t]=e.eventTypes[n].dependencies}var a=n(2),u=(n(0),null),c={},s={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(t){\n",
       "u?a(\"101\"):void 0,u=Array.prototype.slice.call(t),r()},injectEventPluginsByName:function(t){var e=!1;for(var n in t)if(t.hasOwnProperty(n)){var i=t[n];c.hasOwnProperty(n)&&c[n]===i||(c[n]?a(\"102\",n):void 0,c[n]=i,e=!0)}e&&r()},getPluginModuleForEvent:function(t){var e=t.dispatchConfig;if(e.registrationName)return s.registrationNameModules[e.registrationName]||null;if(void 0!==e.phasedRegistrationNames){var n=e.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var i=s.registrationNameModules[n[r]];if(i)return i}}return null},_resetEventPlugins:function(){u=null;for(var t in c)c.hasOwnProperty(t)&&delete c[t];s.plugins.length=0;var e=s.eventNameDispatchConfigs;for(var n in e)e.hasOwnProperty(n)&&delete e[n];var r=s.registrationNameModules;for(var i in r)r.hasOwnProperty(i)&&delete r[i]}};t.exports=s},function(t,e,n){\"use strict\";function r(t){var e=/[=:]/g,n={\"=\":\"=0\",\":\":\"=2\"},r=(\"\"+t).replace(e,function(t){return n[t]});return\"$\"+r}function i(t){var e=/(=0|=2)/g,n={\"=0\":\"=\",\"=2\":\":\"},r=\".\"===t[0]&&\"$\"===t[1]?t.substring(2):t.substring(1);return(\"\"+r).replace(e,function(t){return n[t]})}var o={escape:r,unescape:i};t.exports=o},function(t,e,n){\"use strict\";function r(t){null!=t.checkedLink&&null!=t.valueLink?u(\"87\"):void 0}function i(t){r(t),null!=t.value||null!=t.onChange?u(\"88\"):void 0}function o(t){r(t),null!=t.checked||null!=t.onChange?u(\"89\"):void 0}function a(t){if(t){var e=t.getName();if(e)return\" Check the render method of `\"+e+\"`.\"}return\"\"}var u=n(2),c=n(26),s=n(366),l=(n(0),n(1),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),f={value:function(t,e,n){return!t[e]||l[t.type]||t.onChange||t.readOnly||t.disabled?null:new Error(\"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.\")},checked:function(t,e,n){return!t[e]||t.onChange||t.readOnly||t.disabled?null:new Error(\"You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.\")},onChange:c.PropTypes.func},p={},h={checkPropTypes:function(t,e,n){for(var r in f){if(f.hasOwnProperty(r))var i=f[r](e,r,t,\"prop\",null,s);if(i instanceof Error&&!(i.message in p)){p[i.message]=!0;a(n)}}},getValue:function(t){return t.valueLink?(i(t),t.valueLink.value):t.value},getChecked:function(t){return t.checkedLink?(o(t),t.checkedLink.value):t.checked},executeOnChange:function(t,e){return t.valueLink?(i(t),t.valueLink.requestChange(e.target.value)):t.checkedLink?(o(t),t.checkedLink.requestChange(e.target.checked)):t.onChange?t.onChange.call(void 0,e):void 0}};t.exports=h},function(t,e,n){\"use strict\";var r=n(2),i=(n(0),!1),o={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(t){i?r(\"104\"):void 0,o.replaceNodeWithMarkup=t.replaceNodeWithMarkup,o.processChildrenUpdates=t.processChildrenUpdates,i=!0}}};t.exports=o},function(t,e,n){\"use strict\";function r(t,e,n){try{e(n)}catch(t){null===i&&(i=t)}}var i=null,o={invokeGuardedCallback:r,invokeGuardedCallbackWithCatch:r,rethrowCaughtError:function(){if(i){var t=i;throw i=null,t}}};t.exports=o},function(t,e,n){\"use strict\";function r(t){c.enqueueUpdate(t)}function i(t){var e=typeof t;if(\"object\"!==e)return e;var n=t.constructor&&t.constructor.name||e,r=Object.keys(t);return r.length>0&&r.length<20?n+\" (keys: \"+r.join(\", \")+\")\":n}function o(t,e){var n=u.get(t);if(!n){return null}return n}var a=n(2),u=(n(15),n(40)),c=(n(9),n(11)),s=(n(0),n(1),{isMounted:function(t){var e=u.get(t);return!!e&&!!e._renderedComponent},enqueueCallback:function(t,e,n){s.validateCallback(e,n);var i=o(t);return i?(i._pendingCallbacks?i._pendingCallbacks.push(e):i._pendingCallbacks=[e],void r(i)):null},enqueueCallbackInternal:function(t,e){t._pendingCallbacks?t._pendingCallbacks.push(e):t._pendingCallbacks=[e],r(t)},enqueueForceUpdate:function(t){var e=o(t,\"forceUpdate\");e&&(e._pendingForceUpdate=!0,r(e))},enqueueReplaceState:function(t,e){var n=o(t,\"replaceState\");n&&(n._pendingStateQueue=[e],n._pendingReplaceState=!0,r(n))},enqueueSetState:function(t,e){var n=o(t,\"setState\");if(n){var i=n._pendingStateQueue||(n._pendingStateQueue=[]);i.push(e),r(n)}},enqueueElementInternal:function(t,e,n){t._pendingElement=e,t._context=n,r(t)},validateCallback:function(t,e){t&&\"function\"!=typeof t?a(\"122\",e,i(t)):void 0}});t.exports=s},function(t,e,n){\"use strict\";var r={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(t){r.currentScrollLeft=t.x,r.currentScrollTop=t.y}};t.exports=r},function(t,e,n){\"use strict\";var r=function(t){return\"undefined\"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,n,r,i){MSApp.execUnsafeLocalFunction(function(){return t(e,n,r,i)})}:t};t.exports=r},function(t,e,n){\"use strict\";function r(t){var e,n=t.keyCode;return\"charCode\"in t?(e=t.charCode,0===e&&13===n&&(e=13)):e=n,e>=32||13===e?e:0}t.exports=r},function(t,e,n){\"use strict\";function r(t){var e=this,n=e.nativeEvent;if(n.getModifierState)return n.getModifierState(t);var r=o[t];return!!r&&!!n[r]}function i(t){return r}var o={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};t.exports=i},function(t,e,n){\"use strict\";function r(t){var e=t.target||t.srcElement||window;return e.correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}t.exports=r},function(t,e,n){\"use strict\";/**\n",
       " * Checks if an event is supported in the current execution environment.\n",
       " *\n",
       " * NOTE: This will not work correctly for non-generic events such as `change`,\n",
       " * `reset`, `load`, `error`, and `select`.\n",
       " *\n",
       " * Borrows from Modernizr.\n",
       " *\n",
       " * @param {string} eventNameSuffix Event name, e.g. \"click\".\n",
       " * @param {?boolean} capture Check if the capture phase is supported.\n",
       " * @return {boolean} True if the event is supported.\n",
       " * @internal\n",
       " * @license Modernizr 3.0.0pre (Custom Build) | MIT\n",
       " */\n",
       "function r(t,e){if(!o.canUseDOM||e&&!(\"addEventListener\"in document))return!1;var n=\"on\"+t,r=n in document;if(!r){var a=document.createElement(\"div\");a.setAttribute(n,\"return;\"),r=\"function\"==typeof a[n]}return!r&&i&&\"wheel\"===t&&(r=document.implementation.hasFeature(\"Events.wheel\",\"3.0\")),r}var i,o=n(6);o.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature(\"\",\"\")!==!0),t.exports=r},function(t,e,n){\"use strict\";function r(t,e){var n=null===t||t===!1,r=null===e||e===!1;if(n||r)return n===r;var i=typeof t,o=typeof e;return\"string\"===i||\"number\"===i?\"string\"===o||\"number\"===o:\"object\"===o&&t.type===e.type&&t.key===e.key}t.exports=r},function(t,e,n){\"use strict\";var r=(n(3),n(8)),i=(n(1),r);t.exports=i},function(t,e,n){\"use strict\";function r(t,e,n){this.props=t,this.context=e,this.refs=a,this.updater=n||o}var i=n(28),o=n(98),a=(n(176),n(38));n(0),n(1);r.prototype.isReactComponent={},r.prototype.setState=function(t,e){\"object\"!=typeof t&&\"function\"!=typeof t&&null!=t?i(\"85\"):void 0,this.updater.enqueueSetState(this,t),e&&this.updater.enqueueCallback(this,e,\"setState\")},r.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this),t&&this.updater.enqueueCallback(this,t,\"forceUpdate\")};t.exports=r},function(t,e,n){\"use strict\";function r(t,e){}var i=(n(1),{isMounted:function(t){return!1},enqueueCallback:function(t,e){},enqueueForceUpdate:function(t){r(t,\"forceUpdate\")},enqueueReplaceState:function(t,e){r(t,\"replaceState\")},enqueueSetState:function(t,e){r(t,\"setState\")}});t.exports=i},function(t,e){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(t){\"object\"==typeof window&&(n=window)}t.exports=n},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,\"loaded\",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,\"id\",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){\"use strict\";n.d(e,\"b\",function(){return i}),n.d(e,\"a\",function(){return o});var r=Array.prototype,i=r.slice,o=r.map},function(t,e,n){\"use strict\";var r=n(18),i=n(103),o=n.i(i.a)(r.a),a=o.right;o.left;e.a=a},function(t,e,n){\"use strict\";function r(t){return function(e,r){return n.i(i.a)(t(e),r)}}var i=n(18);e.a=function(t){return 1===t.length&&(t=r(t)),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var o=r+i>>>1;t(e[o],n)<0?r=o+1:i=o}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var o=r+i>>>1;t(e[o],n)>0?i=o:r=o+1}return r}}}},function(t,e,n){\"use strict\";var r=n(111);e.a=function(t,e){var i=n.i(r.a)(t,e);return i?Math.sqrt(i):i}},function(t,e,n){\"use strict\";e.a=function(t,e){var n,r,i,o=-1,a=t.length;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r){n=i=r;break}for(;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else{for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r){n=i=r;break}for(;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r))}return[n,i]}},function(t,e,n){\"use strict\";e.a=function(t,e){var n,r,i=-1,o=t.length;if(null==e){for(;++i<o;)if(null!=(r=t[i])&&r>=r){n=r;break}for(;++i<o;)null!=(r=t[i])&&n>r&&(n=r)}else{for(;++i<o;)if(null!=(r=e(t[i],i,t))&&r>=r){n=r;break}for(;++i<o;)null!=(r=e(t[i],i,t))&&n>r&&(n=r)}return n}},function(t,e,n){\"use strict\";e.a=function(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((e-t)/n)),o=new Array(i);++r<i;)o[r]=t+r*n;return o}},function(t,e,n){\"use strict\";e.a=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}},function(t,e,n){\"use strict\";function r(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),c=r/i;return c>=o?i*=10:c>=a?i*=5:c>=u&&(i*=2),e<t?-i:i}var i=n(107);e.b=r;var o=Math.sqrt(50),a=Math.sqrt(10),u=Math.sqrt(2);e.a=function(t,e,o){var a=r(t,e,o);return n.i(i.a)(Math.ceil(t/a)*a,Math.floor(e/a)*a+a/2,a)}},function(t,e,n){\"use strict\";function r(t){return t.length}var i=n(106);e.a=function(t){if(!(u=t.length))return[];for(var e=-1,o=n.i(i.a)(t,r),a=new Array(o);++e<o;)for(var u,c=-1,s=a[e]=new Array(u);++c<u;)s[c]=t[c][e];return a}},function(t,e,n){\"use strict\";var r=n(29);e.a=function(t,e){var i,o,a=t.length,u=0,c=0,s=-1,l=0;if(null==e)for(;++s<a;)isNaN(i=n.i(r.a)(t[s]))||(o=i-u,u+=o/++l,c+=o*(i-u));else for(;++s<a;)isNaN(i=n.i(r.a)(e(t[s],s,t)))||(o=i-u,u+=o/++l,c+=o*(i-u));if(l>1)return c/(l-1)}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(201);n.d(e,\"axisTop\",function(){return r.a}),n.d(e,\"axisRight\",function(){return r.b}),n.d(e,\"axisBottom\",function(){return r.c}),n.d(e,\"axisLeft\",function(){return r.d})},function(t,e,n){\"use strict\";n.d(e,\"b\",function(){return r}),n.d(e,\"a\",function(){return i});var r=Math.PI/180,i=180/Math.PI},function(t,e,n){\"use strict\";var r=n(61);n.d(e,\"b\",function(){return i});var i;e.a=function(t,e){var o=n.i(r.a)(t,e);if(!o)return t+\"\";var a=o[0],u=o[1],c=u-(i=3*Math.max(-8,Math.min(8,Math.floor(u/3))))+1,s=a.length;return c===s?a:c>s?a+new Array(c-s+1).join(\"0\"):c>0?a.slice(0,c)+\".\"+a.slice(c):\"0.\"+new Array(1-c).join(\"0\")+n.i(r.a)(t,Math.max(0,e+c-1))[0]}},function(t,e,n){\"use strict\";function r(t){if(!(e=o.exec(t)))throw new Error(\"invalid format: \"+t);var e,n=e[1]||\" \",r=e[2]||\">\",a=e[3]||\"-\",u=e[4]||\"\",c=!!e[5],s=e[6]&&+e[6],l=!!e[7],f=e[8]&&+e[8].slice(1),p=e[9]||\"\";\"n\"===p?(l=!0,p=\"g\"):i.a[p]||(p=\"\"),(c||\"0\"===n&&\"=\"===r)&&(c=!0,n=\"0\",r=\"=\"),this.fill=n,this.align=r,this.sign=a,this.symbol=u,this.zero=c,this.width=s,this.comma=l,this.precision=f,this.type=p}var i=n(116),o=/^(?:(.)?([<>=^]))?([+\\-\\( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?([a-z%])?$/i;e.a=function(t){return new r(t)},r.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(null==this.width?\"\":Math.max(1,0|this.width))+(this.comma?\",\":\"\")+(null==this.precision?\"\":\".\"+Math.max(0,0|this.precision))+this.type}},function(t,e,n){\"use strict\";var r=n(212),i=n(114),o=n(214);e.a={\"\":r.a,\"%\":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+\"\"},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return n.i(o.a)(100*t,e)},r:o.a,s:i.a,X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}}},function(t,e,n){\"use strict\";function r(t){return t}var i=n(42),o=n(213),a=n(115),u=n(116),c=n(114),s=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];e.a=function(t){function e(t){function e(t){var e,n,a,u=_,l=b;if(\"c\"===y)l=x(t)+l,t=\"\";else{t=+t;var p=(t<0||1/t<0)&&(t*=-1,!0);if(t=x(t,m),p)for(e=-1,n=t.length,p=!1;++e<n;)if(a=t.charCodeAt(e),48<a&&a<58||\"x\"===y&&96<a&&a<103||\"X\"===y&&64<a&&a<71){p=!0;break}if(u=(p?\"(\"===o?o:\"-\":\"-\"===o||\"(\"===o?\"\":o)+u,l=l+(\"s\"===y?s[8+c.b/3]:\"\")+(p&&\"(\"===o?\")\":\"\"),w)for(e=-1,n=t.length;++e<n;)if(a=t.charCodeAt(e),48>a||a>57){l=(46===a?h+t.slice(e+1):t.slice(e))+l,t=t.slice(0,e);break}}g&&!d&&(t=f(t,1/0));var C=u.length+t.length+l.length,M=C<v?new Array(v-C+1).join(r):\"\";switch(g&&d&&(t=f(M+t,M.length?v-l.length:1/0),M=\"\"),i){case\"<\":return u+t+l+M;case\"=\":return u+M+t+l;case\"^\":return M.slice(0,C=M.length>>1)+u+t+l+M.slice(C)}return M+u+t+l}t=n.i(a.a)(t);var r=t.fill,i=t.align,o=t.sign,l=t.symbol,d=t.zero,v=t.width,g=t.comma,m=t.precision,y=t.type,_=\"$\"===l?p[0]:\"#\"===l&&/[boxX]/.test(y)?\"0\"+y.toLowerCase():\"\",b=\"$\"===l?p[1]:/[%p]/.test(y)?\"%\":\"\",x=u.a[y],w=!y||/[defgprs%]/.test(y);return m=null==m?y?6:12:/[gprs]/.test(y)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),e.toString=function(){return t+\"\"},e}function l(t,r){var o=e((t=n.i(a.a)(t),t.type=\"f\",t)),u=3*Math.max(-8,Math.min(8,Math.floor(n.i(i.a)(r)/3))),c=Math.pow(10,-u),l=s[8+u/3];return function(t){return o(c*t)+l}}var f=t.grouping&&t.thousands?n.i(o.a)(t.grouping,t.thousands):r,p=t.currency,h=t.decimal;return{format:e,formatPrefix:l}}},function(t,e,n){\"use strict\";var r=n(63);e.a=function(t,e){var i,o=e?e.length:0,a=t?Math.min(o,t.length):0,u=new Array(o),c=new Array(o);for(i=0;i<a;++i)u[i]=n.i(r.a)(t[i],e[i]);for(;i<o;++i)c[i]=e[i];return function(t){for(i=0;i<a;++i)c[i]=u[i](t);return c}}},function(t,e,n){\"use strict\";var r=n(62);e.a=function(t){var e=t.length;return function(i){var o=Math.floor(((i%=1)<0?++i:i)*e),a=t[(o+e-1)%e],u=t[o%e],c=t[(o+1)%e],s=t[(o+2)%e];return n.i(r.b)((i-o/e)*e,a,u,c,s)}}},function(t,e,n){\"use strict\";e.a=function(t){return function(){return t}}},function(t,e,n){\"use strict\";e.a=function(t,e){var n=new Date;return t=+t,e-=t,function(r){return n.setTime(t+e*r),n}}},function(t,e,n){\"use strict\";var r=n(63);e.a=function(t,e){var i,o={},a={};null!==t&&\"object\"==typeof t||(t={}),null!==e&&\"object\"==typeof e||(e={});for(i in e)i in t?o[i]=n.i(r.a)(t[i],e[i]):a[i]=e[i];return function(t){for(i in o)a[i]=o[i](t);return a}}},function(t,e,n){\"use strict\";function r(t){return function(e){var r,o,a=e.length,u=new Array(a),c=new Array(a),s=new Array(a);for(r=0;r<a;++r)o=n.i(i.rgb)(e[r]),u[r]=o.r||0,c[r]=o.g||0,s[r]=o.b||0;return u=t(u),c=t(c),s=t(s),o.opacity=1,function(t){return o.r=u(t),o.g=c(t),o.b=s(t),o+\"\"}}}var i=n(10),o=n(62),a=n(119),u=n(32);e.a=function t(e){function r(t,e){var r=o((t=n.i(i.rgb)(t)).r,(e=n.i(i.rgb)(e)).r),a=o(t.g,e.g),c=o(t.b,e.b),s=n.i(u.a)(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=a(e),t.b=c(e),t.opacity=s(e),t+\"\"}}var o=n.i(u.c)(e);return r.gamma=t,r}(1);r(o.a),r(a.a)},function(t,e,n){\"use strict\";function r(t){return function(){return t}}function i(t){return function(e){return t(e)+\"\"}}var o=n(43),a=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,u=new RegExp(a.source,\"g\");e.a=function(t,e){var c,s,l,f=a.lastIndex=u.lastIndex=0,p=-1,h=[],d=[];for(t+=\"\",e+=\"\";(c=a.exec(t))&&(s=u.exec(e));)(l=s.index)>f&&(l=e.slice(f,l),h[p]?h[p]+=l:h[++p]=l),(c=c[0])===(s=s[0])?h[p]?h[p]+=s:h[++p]=s:(h[++p]=null,d.push({i:p,x:n.i(o.a)(c,s)})),f=u.lastIndex;return f<e.length&&(l=e.slice(f),h[p]?h[p]+=l:h[++p]=l),h.length<2?d[0]?i(d[0].x):r(e):(e=d.length,function(t){for(var n,r=0;r<e;++r)h[(n=d[r]).i]=n.x(t);return h.join(\"\")})}},function(t,e,n){\"use strict\";e.a=function(t,e){t=t.slice();var n,r=0,i=t.length-1,o=t[r],a=t[i];return a<o&&(n=r,r=i,i=n,n=o,o=a,a=n),t[r]=e.floor(o),t[i]=e.ceil(a),t}},function(t,e,n){\"use strict\";e.a=function(t){return+t}},function(t,e,n){\"use strict\";function r(t){function e(e){var n=e+\"\",r=u.get(n);if(!r){if(s!==a)return s;u.set(n,r=c.push(e))}return t[(r-1)%t.length]}var u=n.i(i.a)(),c=[],s=a;return t=null==t?[]:o.b.call(t),e.domain=function(t){if(!arguments.length)return c.slice();c=[],u=n.i(i.a)();for(var r,o,a=-1,s=t.length;++a<s;)u.has(o=(r=t[a])+\"\")||u.set(o,c.push(r));return e},e.range=function(n){return arguments.length?(t=o.b.call(n),e):t.slice()},e.unknown=function(t){return arguments.length?(s=t,e):s},e.copy=function(){return r().domain(c).range(t).unknown(s)},e}var i=n(203),o=n(16);n.d(e,\"b\",function(){return a}),e.a=r;var a={name:\"implicit\"}},function(t,e,n){\"use strict\";function r(t){return new Date(t)}function i(t){return t instanceof Date?+t:+new Date(+t)}function o(t,e,c,s,b,x,w,C,M){function k(n){return(w(n)<n?N:x(n)<n?A:b(n)<n?O:s(n)<n?I:e(n)<n?c(n)<n?D:R:t(n)<n?L:U)(n)}function E(e,r,i,o){if(null==e&&(e=10),\"number\"==typeof e){var u=Math.abs(i-r)/e,c=n.i(a.d)(function(t){return t[2]}).right(F,u);c===F.length?(o=n.i(a.b)(r/_,i/_,e),e=t):c?(c=F[u/F[c-1][2]<F[c][2]/u?c-1:c],o=c[1],e=c[0]):(o=n.i(a.b)(r,i,e),e=C)}return null==o?e:e.every(o)}var T=n.i(f.a)(f.b,u.a),S=T.invert,P=T.domain,N=M(\".%L\"),A=M(\":%S\"),O=M(\"%I:%M\"),I=M(\"%I %p\"),D=M(\"%a %d\"),R=M(\"%b %d\"),L=M(\"%B\"),U=M(\"%Y\"),F=[[w,1,h],[w,5,5*h],[w,15,15*h],[w,30,30*h],[x,1,d],[x,5,5*d],[x,15,15*d],[x,30,30*d],[b,1,v],[b,3,3*v],[b,6,6*v],[b,12,12*v],[s,1,g],[s,2,2*g],[c,1,m],[e,1,y],[e,3,3*y],[t,1,_]];return T.invert=function(t){return new Date(S(t))},T.domain=function(t){return arguments.length?P(l.a.call(t,i)):P().map(r)},T.ticks=function(t,e){var n,r=P(),i=r[0],o=r[r.length-1],a=o<i;return a&&(n=i,i=o,o=n),n=E(t,i,o,e),n=n?n.range(i,o+1):[],a?n.reverse():n},T.tickFormat=function(t,e){return null==e?k:M(e)},T.nice=function(t,e){var r=P();return(t=E(t,r[0],r[r.length-1],e))?P(n.i(p.a)(r,t)):T},T.copy=function(){return n.i(f.c)(T,o(t,e,c,s,b,x,w,C,M))},T}var a=n(12),u=n(31),c=n(79),s=n(77),l=n(16),f=n(45),p=n(125);e.b=o;var h=1e3,d=60*h,v=60*d,g=24*v,m=7*g,y=30*g,_=365*g;e.a=function(){return o(c.b,c.o,c.p,c.a,c.q,c.r,c.s,c.t,s.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(66);n.d(e,\"creator\",function(){return r.a});var i=n(247);n.d(e,\"local\",function(){return i.a});var o=n(130);n.d(e,\"matcher\",function(){return o.a});var a=n(248);n.d(e,\"mouse\",function(){return a.a});var u=n(67);n.d(e,\"namespace\",function(){return u.a});var c=n(68);n.d(e,\"namespaces\",function(){return c.a});var s=n(249);n.d(e,\"select\",function(){return s.a});var l=n(250);n.d(e,\"selectAll\",function(){return l.a});var f=n(7);n.d(e,\"selection\",function(){return f.a});var p=n(71);n.d(e,\"selector\",function(){return p.a});var h=n(133);n.d(e,\"selectorAll\",function(){return h.a});var d=n(278);n.d(e,\"touch\",function(){return d.a});var v=n(279);n.d(e,\"touches\",function(){return v.a});var g=n(73);n.d(e,\"window\",function(){return g.a});var m=n(70);n.d(e,\"event\",function(){return m.a}),n.d(e,\"customEvent\",function(){return m.b})},function(t,e,n){\"use strict\";var r=function(t){return function(){return this.matches(t)}};if(\"undefined\"!=typeof document){var i=document.documentElement;if(!i.matches){var o=i.webkitMatchesSelector||i.msMatchesSelector||i.mozMatchesSelector||i.oMatchesSelector;r=function(t){return function(){return o.call(this,t)}}}}e.a=r},function(t,e,n){\"use strict\";function r(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var i=n(132),o=n(7);e.b=r,e.a=function(){return new o.b(this._enter||this._groups.map(i.a),this._parents)},r.prototype={constructor:r,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}}},function(t,e,n){\"use strict\";e.a=function(t){return new Array(t.length)}},function(t,e,n){\"use strict\";function r(){return[]}e.a=function(t){return null==t?r:function(){return this.querySelectorAll(t)}}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(280);n.d(e,\"arc\",function(){return r.a});var i=n(135);n.d(e,\"area\",function(){return i.a});var o=n(75);n.d(e,\"line\",function(){return o.a});var a=n(299);n.d(e,\"pie\",function(){return a.a});var u=n(300);n.d(e,\"radialArea\",function(){return u.a});var c=n(140);n.d(e,\"radialLine\",function(){return c.a});var s=n(302);n.d(e,\"symbol\",function(){return s.a}),n.d(e,\"symbols\",function(){return s.b});var l=n(141);n.d(e,\"symbolCircle\",function(){return l.a});var f=n(142);n.d(e,\"symbolCross\",function(){return f.a});var p=n(143);n.d(e,\"symbolDiamond\",function(){return p.a});var h=n(144);n.d(e,\"symbolSquare\",function(){return h.a});var d=n(145);n.d(e,\"symbolStar\",function(){return d.a});var v=n(146);n.d(e,\"symbolTriangle\",function(){return v.a});var g=n(147);n.d(e,\"symbolWye\",function(){return g.a});var m=n(282);n.d(e,\"curveBasisClosed\",function(){return m.a});var y=n(283);n.d(e,\"curveBasisOpen\",function(){return y.a});var _=n(46);n.d(e,\"curveBasis\",function(){return _.a});var b=n(284);n.d(e,\"curveBundle\",function(){return b.a});var x=n(136);n.d(e,\"curveCardinalClosed\",function(){return x.a});var w=n(137);n.d(e,\"curveCardinalOpen\",function(){return w.a});var C=n(47);n.d(e,\"curveCardinal\",function(){return C.a});var M=n(285);n.d(e,\"curveCatmullRomClosed\",function(){return M.a});var k=n(286);n.d(e,\"curveCatmullRomOpen\",function(){return k.a});var E=n(74);n.d(e,\"curveCatmullRom\",function(){return E.a});var T=n(287);n.d(e,\"curveLinearClosed\",function(){return T.a});var S=n(48);n.d(e,\"curveLinear\",function(){return S.a});var P=n(288);n.d(e,\"curveMonotoneX\",function(){return P.a}),n.d(e,\"curveMonotoneY\",function(){return P.b});var N=n(289);n.d(e,\"curveNatural\",function(){return N.a});var A=n(290);n.d(e,\"curveStep\",function(){return A.a}),n.d(e,\"curveStepAfter\",function(){return A.b}),n.d(e,\"curveStepBefore\",function(){return A.c});var O=n(301);n.d(e,\"stack\",function(){return O.a});var I=n(293);n.d(e,\"stackOffsetExpand\",function(){return I.a});var D=n(36);n.d(e,\"stackOffsetNone\",function(){return D.a});var R=n(294);n.d(e,\"stackOffsetSilhouette\",function(){return R.a});var L=n(295);n.d(e,\"stackOffsetWiggle\",function(){return L.a});var U=n(76);n.d(e,\"stackOrderAscending\",function(){return U.a});var F=n(296);n.d(e,\"stackOrderDescending\",function(){return F.a});var j=n(297);n.d(e,\"stackOrderInsideOut\",function(){return j.a});var B=n(37);n.d(e,\"stackOrderNone\",function(){return B.a});var W=n(298);n.d(e,\"stackOrderReverse\",function(){return W.a})},function(t,e,n){\"use strict\";var r=n(44),i=n(19),o=n(48),a=n(75),u=n(139);e.a=function(){function t(t){var e,i,o,a,u,g=t.length,m=!1,y=new Array(g),_=new Array(g);for(null==h&&(v=d(u=n.i(r.a)())),e=0;e<=g;++e){if(!(e<g&&p(a=t[e],e,t))===m)if(m=!m)i=e,v.areaStart(),v.lineStart();else{for(v.lineEnd(),v.lineStart(),o=e-1;o>=i;--o)v.point(y[o],_[o]);v.lineEnd(),v.areaEnd()}m&&(y[e]=+c(a,e,t),_[e]=+l(a,e,t),v.point(s?+s(a,e,t):y[e],f?+f(a,e,t):_[e]))}if(u)return v=null,u+\"\"||null}function e(){return n.i(a.a)().defined(p).curve(d).context(h)}var c=u.a,s=null,l=n.i(i.a)(0),f=u.b,p=n.i(i.a)(!0),h=null,d=o.a,v=null;return t.x=function(e){return arguments.length?(c=\"function\"==typeof e?e:n.i(i.a)(+e),s=null,t):c},t.x0=function(e){return arguments.length?(c=\"function\"==typeof e?e:n.i(i.a)(+e),t):c},t.x1=function(e){return arguments.length?(s=null==e?null:\"function\"==typeof e?e:n.i(i.a)(+e),t):s},t.y=function(e){return arguments.length?(l=\"function\"==typeof e?e:n.i(i.a)(+e),f=null,t):l},t.y0=function(e){return arguments.length?(l=\"function\"==typeof e?e:n.i(i.a)(+e),t):l},t.y1=function(e){return arguments.length?(f=null==e?null:\"function\"==typeof e?e:n.i(i.a)(+e),t):f},t.lineX0=t.lineY0=function(){return e().x(c).y(l)},t.lineY1=function(){return e().x(c).y(f)},t.lineX1=function(){return e().x(s).y(l)},t.defined=function(e){return arguments.length?(p=\"function\"==typeof e?e:n.i(i.a)(!!e),t):p},t.curve=function(e){return arguments.length?(d=e,null!=h&&(v=d(h)),t):d},t.context=function(e){return arguments.length?(null==e?h=v=null:v=d(h=e),t):h},t}},function(t,e,n){\"use strict\";function r(t,e){this._context=t,this._k=(1-e)/6}var i=n(49),o=n(47);e.b=r,r.prototype={areaStart:i.a,areaEnd:i.a,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:n.i(o.c)(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},e.a=function t(e){function n(t){return new r(t,e)}return n.tension=function(e){return t(+e)},n}(0)},function(t,e,n){\"use strict\";function r(t,e){this._context=t,this._k=(1-e)/6}var i=n(47);e.b=r,r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:n.i(i.c)(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},e.a=function t(e){function n(t){return new r(t,e)}return n.tension=function(e){return t(+e)},n}(0)},function(t,e,n){\"use strict\";function r(t){this._curve=t}function i(t){function e(e){return new r(t(e))}return e._curve=t,e}var o=n(48);n.d(e,\"b\",function(){return a}),e.a=i;var a=i(o.a);r.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}}},function(t,e,n){\"use strict\";function r(t){return t[0]}function i(t){return t[1]}e.a=r,e.b=i},function(t,e,n){\"use strict\";function r(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(n.i(i.a)(t)):e()._curve},t}var i=n(138),o=n(75);e.b=r,e.a=function(){return r(n.i(o.a)().curve(i.b))}},function(t,e,n){\"use strict\";var r=n(35);e.a={draw:function(t,e){var n=Math.sqrt(e/r.b);t.moveTo(n,0),t.arc(0,0,n,0,r.c)}}},function(t,e,n){\"use strict\";e.a={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}}},function(t,e,n){\"use strict\";var r=Math.sqrt(1/3),i=2*r;e.a={draw:function(t,e){var n=Math.sqrt(e/i),o=n*r;t.moveTo(0,-n),t.lineTo(o,0),t.lineTo(0,n),t.lineTo(-o,0),t.closePath()}}},function(t,e,n){\"use strict\";e.a={draw:function(t,e){var n=Math.sqrt(e),r=-n/2;t.rect(r,r,n,n)}}},function(t,e,n){\"use strict\";var r=n(35),i=.8908130915292852,o=Math.sin(r.b/10)/Math.sin(7*r.b/10),a=Math.sin(r.c/10)*o,u=-Math.cos(r.c/10)*o;e.a={draw:function(t,e){var n=Math.sqrt(e*i),o=a*n,c=u*n;t.moveTo(0,-n),t.lineTo(o,c);for(var s=1;s<5;++s){var l=r.c*s/5,f=Math.cos(l),p=Math.sin(l);t.lineTo(p*n,-f*n),t.lineTo(f*o-p*c,p*o+f*c)}t.closePath()}}},function(t,e,n){\"use strict\";var r=Math.sqrt(3);e.a={draw:function(t,e){var n=-Math.sqrt(e/(3*r));t.moveTo(0,2*n),t.lineTo(-r*n,-n),t.lineTo(r*n,-n),t.closePath()}}},function(t,e,n){\"use strict\";var r=-.5,i=Math.sqrt(3)/2,o=1/Math.sqrt(12),a=3*(o/2+1);e.a={draw:function(t,e){var n=Math.sqrt(e/a),u=n/2,c=n*o,s=u,l=n*o+n,f=-s,p=l;t.moveTo(u,c),t.lineTo(s,l),t.lineTo(f,p),t.lineTo(r*u-i*c,i*u+r*c),t.lineTo(r*s-i*l,i*s+r*l),t.lineTo(r*f-i*p,i*f+r*p),t.lineTo(r*u+i*c,r*c-i*u),t.lineTo(r*s+i*l,r*l-i*s),t.lineTo(r*f+i*p,r*p-i*f),t.closePath()}}},function(t,e,n){\"use strict\";function r(t){return t.toISOString()}var i=n(78);n.d(e,\"b\",function(){return o});var o=\"%Y-%m-%dT%H:%M:%S.%LZ\",a=Date.prototype.toISOString?r:n.i(i.d)(o);e.a=a},function(t,e,n){\"use strict\";function r(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function i(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function o(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function a(t){function e(t,e){return function(n){var r,i,o,a=[],u=-1,c=0,s=t.length;for(n instanceof Date||(n=new Date(+n));++u<s;)37===t.charCodeAt(u)&&(a.push(t.slice(c,u)),null!=(i=et[r=t.charAt(++u)])?r=t.charAt(++u):i=\"e\"===r?\" \":\"0\",(o=e[r])&&(r=o(n,i)),a.push(r),c=u+1);return a.push(t.slice(c,u)),a.join(\"\")}}function n(t,e){return function(n){var r=o(1900),u=a(r,t,n+=\"\",0);if(u!=n.length)return null;if(\"p\"in r&&(r.H=r.H%12+12*r.p),\"W\"in r||\"U\"in r){\"w\"in r||(r.w=\"W\"in r?1:0);var c=\"Z\"in r?i(o(r.y)).getUTCDay():e(o(r.y)).getDay();r.m=0,r.d=\"W\"in r?(r.w+6)%7+7*r.W-(c+5)%7:r.w+7*r.U-(c+6)%7}return\"Z\"in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,i(r)):e(r)}}function a(t,e,n,r){for(var i,o,a=0,u=e.length,c=n.length;a<u;){if(r>=c)return-1;if(i=e.charCodeAt(a++),37===i){if(i=e.charAt(a++),o=Ut[i in et?e.charAt(a++):i],!o||(r=o(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}function u(t,e,n){var r=kt.exec(e.slice(n));return r?(t.p=Et[r[0].toLowerCase()],n+r[0].length):-1}function c(t,e,n){var r=Pt.exec(e.slice(n));return r?(t.w=Nt[r[0].toLowerCase()],n+r[0].length):-1}function tt(t,e,n){var r=Tt.exec(e.slice(n));return r?(t.w=St[r[0].toLowerCase()],n+r[0].length):-1}function nt(t,e,n){var r=It.exec(e.slice(n));return r?(t.m=Dt[r[0].toLowerCase()],n+r[0].length):-1}function rt(t,e,n){var r=At.exec(e.slice(n));return r?(t.m=Ot[r[0].toLowerCase()],n+r[0].length):-1}function it(t,e,n){return a(t,mt,e,n)}function ot(t,e,n){return a(t,yt,e,n)}function at(t,e,n){return a(t,_t,e,n)}function ut(t){return wt[t.getDay()]}function ct(t){return xt[t.getDay()]}function st(t){return Mt[t.getMonth()]}function lt(t){return Ct[t.getMonth()]}function ft(t){return bt[+(t.getHours()>=12)]}function pt(t){return wt[t.getUTCDay()]}function ht(t){return xt[t.getUTCDay()]}function dt(t){return Mt[t.getUTCMonth()]}function vt(t){return Ct[t.getUTCMonth()]}function gt(t){return bt[+(t.getUTCHours()>=12)]}var mt=t.dateTime,yt=t.date,_t=t.time,bt=t.periods,xt=t.days,wt=t.shortDays,Ct=t.months,Mt=t.shortMonths,kt=s(bt),Et=l(bt),Tt=s(xt),St=l(xt),Pt=s(wt),Nt=l(wt),At=s(Ct),Ot=l(Ct),It=s(Mt),Dt=l(Mt),Rt={a:ut,A:ct,b:st,B:lt,c:null,d:k,e:k,H:E,I:T,j:S,L:P,m:N,M:A,p:ft,S:O,U:I,w:D,W:R,x:null,X:null,y:L,Y:U,Z:F,\"%\":J},Lt={a:pt,A:ht,b:dt,B:vt,c:null,d:j,e:j,H:B,I:W,j:V,L:z,m:H,M:q,p:gt,S:Y,U:K,w:G,W:$,x:null,X:null,y:X,Y:Z,Z:Q,\"%\":J},Ut={a:c,A:tt,b:nt,B:rt,c:it,d:y,e:y,H:b,I:b,j:_,L:C,m:m,M:x,p:u,S:w,U:p,w:f,W:h,x:ot,X:at,y:v,Y:d,Z:g,\"%\":M};return Rt.x=e(yt,Rt),Rt.X=e(_t,Rt),Rt.c=e(mt,Rt),Lt.x=e(yt,Lt),Lt.X=e(_t,Lt),Lt.c=e(mt,Lt),{format:function(t){var n=e(t+=\"\",Rt);return n.toString=function(){return t},n},parse:function(t){var e=n(t+=\"\",r);return e.toString=function(){return t},e},utcFormat:function(t){var n=e(t+=\"\",Lt);return n.toString=function(){return t},n},utcParse:function(t){var e=n(t,i);return e.toString=function(){return t},e}}}function u(t,e,n){var r=t<0?\"-\":\"\",i=(r?-t:t)+\"\",o=i.length;return r+(o<n?new Array(n-o+1).join(e)+i:i)}function c(t){return t.replace(it,\"\\\\$&\")}function s(t){return new RegExp(\"^(?:\"+t.map(c).join(\"|\")+\")\",\"i\")}function l(t){for(var e={},n=-1,r=t.length;++n<r;)e[t[n].toLowerCase()]=n;return e}function f(t,e,n){var r=nt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function p(t,e,n){var r=nt.exec(e.slice(n));return r?(t.U=+r[0],n+r[0].length):-1}function h(t,e,n){var r=nt.exec(e.slice(n));return r?(t.W=+r[0],n+r[0].length):-1}function d(t,e,n){var r=nt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function v(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function g(t,e,n){var r=/^(Z)|([+-]\\d\\d)(?:\\:?(\\d\\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||\"00\")),n+r[0].length):-1}function m(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function y(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function _(t,e,n){var r=nt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function b(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function x(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function w(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function C(t,e,n){var r=nt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function M(t,e,n){var r=rt.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function k(t,e){return u(t.getDate(),e,2)}function E(t,e){return u(t.getHours(),e,2)}function T(t,e){return u(t.getHours()%12||12,e,2)}function S(t,e){return u(1+tt.a.count(n.i(tt.b)(t),t),e,3)}function P(t,e){return u(t.getMilliseconds(),e,3)}function N(t,e){return u(t.getMonth()+1,e,2)}function A(t,e){return u(t.getMinutes(),e,2)}function O(t,e){return u(t.getSeconds(),e,2)}function I(t,e){return u(tt.c.count(n.i(tt.b)(t),t),e,2)}function D(t){return t.getDay()}function R(t,e){return u(tt.d.count(n.i(tt.b)(t),t),e,2)}function L(t,e){return u(t.getFullYear()%100,e,2)}function U(t,e){return u(t.getFullYear()%1e4,e,4)}function F(t){var e=t.getTimezoneOffset();return(e>0?\"-\":(e*=-1,\"+\"))+u(e/60|0,\"0\",2)+u(e%60,\"0\",2)}function j(t,e){return u(t.getUTCDate(),e,2)}function B(t,e){return u(t.getUTCHours(),e,2)}function W(t,e){return u(t.getUTCHours()%12||12,e,2)}function V(t,e){return u(1+tt.e.count(n.i(tt.f)(t),t),e,3)}function z(t,e){return u(t.getUTCMilliseconds(),e,3)}function H(t,e){return u(t.getUTCMonth()+1,e,2)}function q(t,e){return u(t.getUTCMinutes(),e,2)}function Y(t,e){return u(t.getUTCSeconds(),e,2)}function K(t,e){return u(tt.g.count(n.i(tt.f)(t),t),e,2)}function G(t){return t.getUTCDay()}function $(t,e){return u(tt.h.count(n.i(tt.f)(t),t),e,2)}function X(t,e){return u(t.getUTCFullYear()%100,e,2)}function Z(t,e){return u(t.getUTCFullYear()%1e4,e,4)}function Q(){return\"+0000\"}function J(){return\"%\"}var tt=n(79);e.a=a;var et={\"-\":\"\",_:\" \",0:\"0\"},nt=/^\\s*\\d+/,rt=/^%/,it=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g},function(t,e,n){\"use strict\";var r=n(8),i={listen:function(t,e,n){return t.addEventListener?(t.addEventListener(e,n,!1),{remove:function(){t.removeEventListener(e,n,!1)}}):t.attachEvent?(t.attachEvent(\"on\"+e,n),{remove:function(){t.detachEvent(\"on\"+e,n)}}):void 0},capture:function(t,e,n){return t.addEventListener?(t.addEventListener(e,n,!0),{remove:function(){t.removeEventListener(e,n,!0)}}):{remove:r}},registerDefault:function(){}};t.exports=i},function(t,e,n){\"use strict\";function r(t){try{t.focus()}catch(t){}}t.exports=r},function(t,e,n){\"use strict\";function r(){if(\"undefined\"==typeof document)return null;try{return document.activeElement||document.body}catch(t){return document.body}}t.exports=r},function(t,e){function n(){throw new Error(\"setTimeout has not been defined\")}function r(){throw new Error(\"clearTimeout has not been defined\")}function i(t){if(l===setTimeout)return setTimeout(t,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}function o(t){if(f===clearTimeout)return clearTimeout(t);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(t);try{return f(t)}catch(e){try{return f.call(null,t)}catch(e){return f.call(this,t)}}}function a(){v&&h&&(v=!1,h.length?d=h.concat(d):g=-1,d.length&&u())}function u(){if(!v){var t=i(a);v=!0;for(var e=d.length;e;){for(h=d,d=[];++g<e;)h&&h[g].run();g=-1,e=d.length}h=null,v=!1,o(t)}}function c(t,e){this.fun=t,this.array=e}function s(){}var l,f,p=t.exports={};!function(){try{l=\"function\"==typeof setTimeout?setTimeout:n}catch(t){l=n}try{f=\"function\"==typeof clearTimeout?clearTimeout:r}catch(t){f=r}}();var h,d=[],v=!1,g=-1;p.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];d.push(new c(t,e)),1!==d.length||v||i(u)},c.prototype.run=function(){this.fun.apply(null,this.array)},p.title=\"browser\",p.browser=!0,p.env={},p.argv=[],p.version=\"\",p.versions={},p.on=s,p.addListener=s,p.once=s,p.off=s,p.removeListener=s,p.removeAllListeners=s,p.emit=s,p.binding=function(t){throw new Error(\"process.binding is not supported\")},p.cwd=function(){return\"/\"},p.chdir=function(t){throw new Error(\"process.chdir is not supported\")},p.umask=function(){\n",
       "return 0}},function(t,e,n){\"use strict\";function r(t,e){return t+e.charAt(0).toUpperCase()+e.substring(1)}var i={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},o=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(i).forEach(function(t){o.forEach(function(e){i[r(e,t)]=i[t]})});var a={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},u={isUnitlessNumber:i,shorthandPropertyExpansions:a};t.exports=u},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}var i=n(2),o=n(17),a=(n(0),function(){function t(e){r(this,t),this._callbacks=null,this._contexts=null,this._arg=e}return t.prototype.enqueue=function(t,e){this._callbacks=this._callbacks||[],this._callbacks.push(t),this._contexts=this._contexts||[],this._contexts.push(e)},t.prototype.notifyAll=function(){var t=this._callbacks,e=this._contexts,n=this._arg;if(t&&e){t.length!==e.length?i(\"24\"):void 0,this._callbacks=null,this._contexts=null;for(var r=0;r<t.length;r++)t[r].call(e[r],n);t.length=0,e.length=0}},t.prototype.checkpoint=function(){return this._callbacks?this._callbacks.length:0},t.prototype.rollback=function(t){this._callbacks&&this._contexts&&(this._callbacks.length=t,this._contexts.length=t)},t.prototype.reset=function(){this._callbacks=null,this._contexts=null},t.prototype.destructor=function(){this.reset()},t}());t.exports=o.addPoolingTo(a)},function(t,e,n){\"use strict\";function r(t){return!!s.hasOwnProperty(t)||!c.hasOwnProperty(t)&&(u.test(t)?(s[t]=!0,!0):(c[t]=!0,!1))}function i(t,e){return null==e||t.hasBooleanValue&&!e||t.hasNumericValue&&isNaN(e)||t.hasPositiveNumericValue&&e<1||t.hasOverloadedBooleanValue&&e===!1}var o=n(21),a=(n(4),n(9),n(394)),u=(n(1),new RegExp(\"^[\"+o.ATTRIBUTE_NAME_START_CHAR+\"][\"+o.ATTRIBUTE_NAME_CHAR+\"]*$\")),c={},s={},l={createMarkupForID:function(t){return o.ID_ATTRIBUTE_NAME+\"=\"+a(t)},setAttributeForID:function(t,e){t.setAttribute(o.ID_ATTRIBUTE_NAME,e)},createMarkupForRoot:function(){return o.ROOT_ATTRIBUTE_NAME+'=\"\"'},setAttributeForRoot:function(t){t.setAttribute(o.ROOT_ATTRIBUTE_NAME,\"\")},createMarkupForProperty:function(t,e){var n=o.properties.hasOwnProperty(t)?o.properties[t]:null;if(n){if(i(n,e))return\"\";var r=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&e===!0?r+'=\"\"':r+\"=\"+a(e)}return o.isCustomAttribute(t)?null==e?\"\":t+\"=\"+a(e):null},createMarkupForCustomAttribute:function(t,e){return r(t)&&null!=e?t+\"=\"+a(e):\"\"},setValueForProperty:function(t,e,n){var r=o.properties.hasOwnProperty(e)?o.properties[e]:null;if(r){var a=r.mutationMethod;if(a)a(t,n);else{if(i(r,n))return void this.deleteValueForProperty(t,e);if(r.mustUseProperty)t[r.propertyName]=n;else{var u=r.attributeName,c=r.attributeNamespace;c?t.setAttributeNS(c,u,\"\"+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&n===!0?t.setAttribute(u,\"\"):t.setAttribute(u,\"\"+n)}}}else if(o.isCustomAttribute(e))return void l.setValueForAttribute(t,e,n)},setValueForAttribute:function(t,e,n){if(r(e)){null==n?t.removeAttribute(e):t.setAttribute(e,\"\"+n)}},deleteValueForAttribute:function(t,e){t.removeAttribute(e)},deleteValueForProperty:function(t,e){var n=o.properties.hasOwnProperty(e)?o.properties[e]:null;if(n){var r=n.mutationMethod;if(r)r(t,void 0);else if(n.mustUseProperty){var i=n.propertyName;n.hasBooleanValue?t[i]=!1:t[i]=\"\"}else t.removeAttribute(n.attributeName)}else o.isCustomAttribute(e)&&t.removeAttribute(e)}};t.exports=l},function(t,e,n){\"use strict\";var r={hasCachedChildNodes:1};t.exports=r},function(t,e,n){\"use strict\";function r(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var t=this._currentElement.props,e=u.getValue(t);null!=e&&i(this,Boolean(t.multiple),e)}}function i(t,e,n){var r,i,o=c.getNodeFromInstance(t).options;if(e){for(r={},i=0;i<n.length;i++)r[\"\"+n[i]]=!0;for(i=0;i<o.length;i++){var a=r.hasOwnProperty(o[i].value);o[i].selected!==a&&(o[i].selected=a)}}else{for(r=\"\"+n,i=0;i<o.length;i++)if(o[i].value===r)return void(o[i].selected=!0);o.length&&(o[0].selected=!0)}}function o(t){var e=this._currentElement.props,n=u.executeOnChange(e,t);return this._rootNodeID&&(this._wrapperState.pendingUpdate=!0),s.asap(r,this),n}var a=n(3),u=n(85),c=n(4),s=n(11),l=(n(1),!1),f={getHostProps:function(t,e){return a({},e,{onChange:t._wrapperState.onChange,value:void 0})},mountWrapper:function(t,e){var n=u.getValue(e);t._wrapperState={pendingUpdate:!1,initialValue:null!=n?n:e.defaultValue,listeners:null,onChange:o.bind(t),wasMultiple:Boolean(e.multiple)},void 0===e.value||void 0===e.defaultValue||l||(l=!0)},getSelectValueContext:function(t){return t._wrapperState.initialValue},postUpdateWrapper:function(t){var e=t._currentElement.props;t._wrapperState.initialValue=void 0;var n=t._wrapperState.wasMultiple;t._wrapperState.wasMultiple=Boolean(e.multiple);var r=u.getValue(e);null!=r?(t._wrapperState.pendingUpdate=!1,i(t,Boolean(e.multiple),r)):n!==Boolean(e.multiple)&&(null!=e.defaultValue?i(t,Boolean(e.multiple),e.defaultValue):i(t,Boolean(e.multiple),e.multiple?[]:\"\"))}};t.exports=f},function(t,e,n){\"use strict\";var r,i={injectEmptyComponentFactory:function(t){r=t}},o={create:function(t){return r(t)}};o.injection=i,t.exports=o},function(t,e,n){\"use strict\";var r={logTopLevelRenders:!1};t.exports=r},function(t,e,n){\"use strict\";function r(t){return u?void 0:a(\"111\",t.type),new u(t)}function i(t){return new c(t)}function o(t){return t instanceof c}var a=n(2),u=(n(0),null),c=null,s={injectGenericComponentClass:function(t){u=t},injectTextComponentClass:function(t){c=t}},l={createInternalComponent:r,createInstanceForText:i,isTextComponent:o,injection:s};t.exports=l},function(t,e,n){\"use strict\";function r(t){return o(document.documentElement,t)}var i=n(353),o=n(320),a=n(151),u=n(152),c={hasSelectionCapabilities:function(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(\"input\"===e&&\"text\"===t.type||\"textarea\"===e||\"true\"===t.contentEditable)},getSelectionInformation:function(){var t=u();return{focusedElem:t,selectionRange:c.hasSelectionCapabilities(t)?c.getSelection(t):null}},restoreSelection:function(t){var e=u(),n=t.focusedElem,i=t.selectionRange;e!==n&&r(n)&&(c.hasSelectionCapabilities(n)&&c.setSelection(n,i),a(n))},getSelection:function(t){var e;if(\"selectionStart\"in t)e={start:t.selectionStart,end:t.selectionEnd};else if(document.selection&&t.nodeName&&\"input\"===t.nodeName.toLowerCase()){var n=document.selection.createRange();n.parentElement()===t&&(e={start:-n.moveStart(\"character\",-t.value.length),end:-n.moveEnd(\"character\",-t.value.length)})}else e=i.getOffsets(t);return e||{start:0,end:0}},setSelection:function(t,e){var n=e.start,r=e.end;if(void 0===r&&(r=n),\"selectionStart\"in t)t.selectionStart=n,t.selectionEnd=Math.min(r,t.value.length);else if(document.selection&&t.nodeName&&\"input\"===t.nodeName.toLowerCase()){var o=t.createTextRange();o.collapse(!0),o.moveStart(\"character\",n),o.moveEnd(\"character\",r-n),o.select()}else i.setOffsets(t,e)}};t.exports=c},function(t,e,n){\"use strict\";function r(t,e){for(var n=Math.min(t.length,e.length),r=0;r<n;r++)if(t.charAt(r)!==e.charAt(r))return r;return t.length===e.length?-1:n}function i(t){return t?t.nodeType===D?t.documentElement:t.firstChild:null}function o(t){return t.getAttribute&&t.getAttribute(A)||\"\"}function a(t,e,n,r,i){var o;if(x.logTopLevelRenders){var a=t._currentElement.props.child,u=a.type;o=\"React mount: \"+(\"string\"==typeof u?u:u.displayName||u.name),console.time(o)}var c=M.mountComponent(t,n,null,_(t,e),i,0);o&&console.timeEnd(o),t._renderedComponent._topLevelWrapper=t,j._mountImageIntoNode(c,e,t,r,n)}function u(t,e,n,r){var i=E.ReactReconcileTransaction.getPooled(!n&&b.useCreateElement);i.perform(a,null,t,e,i,n,r),E.ReactReconcileTransaction.release(i)}function c(t,e,n){for(M.unmountComponent(t,n),e.nodeType===D&&(e=e.documentElement);e.lastChild;)e.removeChild(e.lastChild)}function s(t){var e=i(t);if(e){var n=y.getInstanceFromNode(e);return!(!n||!n._hostParent)}}function l(t){return!(!t||t.nodeType!==I&&t.nodeType!==D&&t.nodeType!==R)}function f(t){var e=i(t),n=e&&y.getInstanceFromNode(e);return n&&!n._hostParent?n:null}function p(t){var e=f(t);return e?e._hostContainerInfo._topLevelWrapper:null}var h=n(2),d=n(20),v=n(21),g=n(26),m=n(51),y=(n(15),n(4)),_=n(347),b=n(349),x=n(160),w=n(40),C=(n(9),n(363)),M=n(24),k=n(88),E=n(11),T=n(38),S=n(169),P=(n(0),n(55)),N=n(95),A=(n(1),v.ID_ATTRIBUTE_NAME),O=v.ROOT_ATTRIBUTE_NAME,I=1,D=9,R=11,L={},U=1,F=function(){this.rootID=U++};F.prototype.isReactComponent={},F.prototype.render=function(){return this.props.child},F.isReactTopLevelWrapper=!0;var j={TopLevelWrapper:F,_instancesByReactRootID:L,scrollMonitor:function(t,e){e()},_updateRootComponent:function(t,e,n,r,i){return j.scrollMonitor(r,function(){k.enqueueElementInternal(t,e,n),i&&k.enqueueCallbackInternal(t,i)}),t},_renderNewRootComponent:function(t,e,n,r){l(e)?void 0:h(\"37\"),m.ensureScrollValueMonitoring();var i=S(t,!1);E.batchedUpdates(u,i,e,n,r);var o=i._instance.rootID;return L[o]=i,i},renderSubtreeIntoContainer:function(t,e,n,r){return null!=t&&w.has(t)?void 0:h(\"38\"),j._renderSubtreeIntoContainer(t,e,n,r)},_renderSubtreeIntoContainer:function(t,e,n,r){k.validateCallback(r,\"ReactDOM.render\"),g.isValidElement(e)?void 0:h(\"39\",\"string\"==typeof e?\" Instead of passing a string like 'div', pass React.createElement('div') or <div />.\":\"function\"==typeof e?\" Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />.\":null!=e&&void 0!==e.props?\" This may be caused by unintentionally loading two independent copies of React.\":\"\");var a,u=g.createElement(F,{child:e});if(t){var c=w.get(t);a=c._processChildContext(c._context)}else a=T;var l=p(n);if(l){var f=l._currentElement,d=f.props.child;if(N(d,e)){var v=l._renderedComponent.getPublicInstance(),m=r&&function(){r.call(v)};return j._updateRootComponent(l,u,a,n,m),v}j.unmountComponentAtNode(n)}var y=i(n),_=y&&!!o(y),b=s(n),x=_&&!l&&!b,C=j._renderNewRootComponent(u,n,x,a)._renderedComponent.getPublicInstance();return r&&r.call(C),C},render:function(t,e,n){return j._renderSubtreeIntoContainer(null,t,e,n)},unmountComponentAtNode:function(t){l(t)?void 0:h(\"40\");var e=p(t);if(!e){s(t),1===t.nodeType&&t.hasAttribute(O);return!1}return delete L[e._instance.rootID],E.batchedUpdates(c,e,t,!1),!0},_mountImageIntoNode:function(t,e,n,o,a){if(l(e)?void 0:h(\"41\"),o){var u=i(e);if(C.canReuseMarkup(t,u))return void y.precacheNode(n,u);var c=u.getAttribute(C.CHECKSUM_ATTR_NAME);u.removeAttribute(C.CHECKSUM_ATTR_NAME);var s=u.outerHTML;u.setAttribute(C.CHECKSUM_ATTR_NAME,c);var f=t,p=r(f,s),v=\" (client) \"+f.substring(p-20,p+20)+\"\\n (server) \"+s.substring(p-20,p+20);e.nodeType===D?h(\"42\",v):void 0}if(e.nodeType===D?h(\"43\"):void 0,a.useCreateElement){for(;e.lastChild;)e.removeChild(e.lastChild);d.insertTreeBefore(e,t,null)}else P(e,t),y.precacheNode(n,e.firstChild)}};t.exports=j},function(t,e,n){\"use strict\";var r=n(2),i=n(26),o=(n(0),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(t){return null===t||t===!1?o.EMPTY:i.isValidElement(t)?\"function\"==typeof t.type?o.COMPOSITE:o.HOST:void r(\"26\",t)}});t.exports=o},function(t,e,n){\"use strict\";function r(t,e){return null==e?i(\"30\"):void 0,null==t?e:Array.isArray(t)?Array.isArray(e)?(t.push.apply(t,e),t):(t.push(e),t):Array.isArray(e)?[t].concat(e):[t,e]}var i=n(2);n(0);t.exports=r},function(t,e,n){\"use strict\";function r(t,e,n){Array.isArray(t)?t.forEach(e,n):t&&e.call(n,t)}t.exports=r},function(t,e,n){\"use strict\";function r(t){for(var e;(e=t._renderedNodeType)===i.COMPOSITE;)t=t._renderedComponent;return e===i.HOST?t._renderedComponent:e===i.EMPTY?null:void 0}var i=n(164);t.exports=r},function(t,e,n){\"use strict\";function r(){return!o&&i.canUseDOM&&(o=\"textContent\"in document.documentElement?\"textContent\":\"innerText\"),o}var i=n(6),o=null;t.exports=r},function(t,e,n){\"use strict\";function r(t){if(t){var e=t.getName();if(e)return\" Check the render method of `\"+e+\"`.\"}return\"\"}function i(t){return\"function\"==typeof t&&\"undefined\"!=typeof t.prototype&&\"function\"==typeof t.prototype.mountComponent&&\"function\"==typeof t.prototype.receiveComponent}function o(t,e){var n;if(null===t||t===!1)n=s.create(o);else if(\"object\"==typeof t){var u=t,c=u.type;if(\"function\"!=typeof c&&\"string\"!=typeof c){var p=\"\";p+=r(u._owner),a(\"130\",null==c?c:typeof c,p)}\"string\"==typeof u.type?n=l.createInternalComponent(u):i(u.type)?(n=new u.type(u),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new f(u)}else\"string\"==typeof t||\"number\"==typeof t?n=l.createInstanceForText(t):a(\"131\",typeof t);return n._mountIndex=0,n._mountImage=null,n}var a=n(2),u=n(3),c=n(344),s=n(159),l=n(161),f=(n(391),n(0),n(1),function(t){this.construct(t)});u(f.prototype,c,{_instantiateReactComponent:o}),t.exports=o},function(t,e,n){\"use strict\";function r(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return\"input\"===e?!!i[t.type]:\"textarea\"===e}var i={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};t.exports=r},function(t,e,n){\"use strict\";var r=n(6),i=n(54),o=n(55),a=function(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&3===n.nodeType)return void(n.nodeValue=e)}t.textContent=e};r.canUseDOM&&(\"textContent\"in document.documentElement||(a=function(t,e){return 3===t.nodeType?void(t.nodeValue=e):void o(t,i(e))})),t.exports=a},function(t,e,n){\"use strict\";function r(t,e){return t&&\"object\"==typeof t&&null!=t.key?s.escape(t.key):e.toString(36)}function i(t,e,n,o){var p=typeof t;if(\"undefined\"!==p&&\"boolean\"!==p||(t=null),null===t||\"string\"===p||\"number\"===p||\"object\"===p&&t.$$typeof===u)return n(o,t,\"\"===e?l+r(t,0):e),1;var h,d,v=0,g=\"\"===e?l:e+f;if(Array.isArray(t))for(var m=0;m<t.length;m++)h=t[m],d=g+r(h,m),v+=i(h,d,n,o);else{var y=c(t);if(y){var _,b=y.call(t);if(y!==t.entries)for(var x=0;!(_=b.next()).done;)h=_.value,d=g+r(h,x++),v+=i(h,d,n,o);else for(;!(_=b.next()).done;){var w=_.value;w&&(h=w[1],d=g+s.escape(w[0])+f+r(h,0),v+=i(h,d,n,o))}}else if(\"object\"===p){var C=\"\",M=String(t);a(\"31\",\"[object Object]\"===M?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":M,C)}}return v}function o(t,e,n){return null==t?0:i(t,\"\",e,n)}var a=n(2),u=(n(15),n(359)),c=n(390),s=(n(0),n(84)),l=(n(1),\".\"),f=\":\";t.exports=o},function(t,e,n){\"use strict\";function r(t){var e=Function.prototype.toString,n=Object.prototype.hasOwnProperty,r=RegExp(\"^\"+e.call(n).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");try{var i=e.call(t);return r.test(i)}catch(t){return!1}}function i(t){var e=s(t);if(e){var n=e.childIDs;l(t),n.forEach(i)}}function o(t,e,n){return\"\\n    in \"+(t||\"Unknown\")+(e?\" (at \"+e.fileName.replace(/^.*[\\\\\\/]/,\"\")+\":\"+e.lineNumber+\")\":n?\" (created by \"+n+\")\":\"\")}function a(t){return null==t?\"#empty\":\"string\"==typeof t||\"number\"==typeof t?\"#text\":\"string\"==typeof t.type?t.type:t.type.displayName||t.type.name||\"Unknown\"}function u(t){var e,n=k.getDisplayName(t),r=k.getElement(t),i=k.getOwnerID(t);return i&&(e=k.getDisplayName(i)),o(n,r&&r._source,e)}var c,s,l,f,p,h,d,v=n(28),g=n(15),m=(n(0),n(1),\"function\"==typeof Array.from&&\"function\"==typeof Map&&r(Map)&&null!=Map.prototype&&\"function\"==typeof Map.prototype.keys&&r(Map.prototype.keys)&&\"function\"==typeof Set&&r(Set)&&null!=Set.prototype&&\"function\"==typeof Set.prototype.keys&&r(Set.prototype.keys));if(m){var y=new Map,_=new Set;c=function(t,e){y.set(t,e)},s=function(t){return y.get(t)},l=function(t){y.delete(t)},f=function(){return Array.from(y.keys())},p=function(t){_.add(t)},h=function(t){_.delete(t)},d=function(){return Array.from(_.keys())}}else{var b={},x={},w=function(t){return\".\"+t},C=function(t){return parseInt(t.substr(1),10)};c=function(t,e){var n=w(t);b[n]=e},s=function(t){var e=w(t);return b[e]},l=function(t){var e=w(t);delete b[e]},f=function(){return Object.keys(b).map(C)},p=function(t){var e=w(t);x[e]=!0},h=function(t){var e=w(t);delete x[e]},d=function(){return Object.keys(x).map(C)}}var M=[],k={onSetChildren:function(t,e){var n=s(t);n?void 0:v(\"144\"),n.childIDs=e;for(var r=0;r<e.length;r++){var i=e[r],o=s(i);o?void 0:v(\"140\"),null==o.childIDs&&\"object\"==typeof o.element&&null!=o.element?v(\"141\"):void 0,o.isMounted?void 0:v(\"71\"),null==o.parentID&&(o.parentID=t),o.parentID!==t?v(\"142\",i,o.parentID,t):void 0}},onBeforeMountComponent:function(t,e,n){var r={element:e,parentID:n,text:null,childIDs:[],isMounted:!1,updateCount:0};c(t,r)},onBeforeUpdateComponent:function(t,e){var n=s(t);n&&n.isMounted&&(n.element=e)},onMountComponent:function(t){var e=s(t);e?void 0:v(\"144\"),e.isMounted=!0;var n=0===e.parentID;n&&p(t)},onUpdateComponent:function(t){var e=s(t);e&&e.isMounted&&e.updateCount++},onUnmountComponent:function(t){var e=s(t);if(e){e.isMounted=!1;var n=0===e.parentID;n&&h(t)}M.push(t)},purgeUnmountedComponents:function(){if(!k._preventPurging){for(var t=0;t<M.length;t++){var e=M[t];i(e)}M.length=0}},isMounted:function(t){var e=s(t);return!!e&&e.isMounted},getCurrentStackAddendum:function(t){var e=\"\";if(t){var n=a(t),r=t._owner;e+=o(n,t._source,r&&r.getName())}var i=g.current,u=i&&i._debugID;return e+=k.getStackAddendumByID(u)},getStackAddendumByID:function(t){for(var e=\"\";t;)e+=u(t),t=k.getParentID(t);return e},getChildIDs:function(t){var e=s(t);return e?e.childIDs:[]},getDisplayName:function(t){var e=k.getElement(t);return e?a(e):null},getElement:function(t){var e=s(t);return e?e.element:null},getOwnerID:function(t){var e=k.getElement(t);return e&&e._owner?e._owner._debugID:null},getParentID:function(t){var e=s(t);return e?e.parentID:null},getSource:function(t){var e=s(t),n=e?e.element:null,r=null!=n?n._source:null;return r},getText:function(t){var e=k.getElement(t);return\"string\"==typeof e?e:\"number\"==typeof e?\"\"+e:null},getUpdateCount:function(t){var e=s(t);return e?e.updateCount:0},getRootIDs:d,getRegisteredIDs:f};t.exports=k},function(t,e,n){\"use strict\";var r=\"function\"==typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103;t.exports=r},function(t,e,n){\"use strict\";var r={};t.exports=r},function(t,e,n){\"use strict\";var r=!1;t.exports=r},function(t,e,n){\"use strict\";function r(t){var e=t&&(i&&t[i]||t[o]);if(\"function\"==typeof e)return e}var i=\"function\"==typeof Symbol&&Symbol.iterator,o=\"@@iterator\";t.exports=r},,function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function a(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0});var u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},c=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),s=n(41),l=r(s),f=n(129),p=n(64),h=n(30),d=n(77),v=n(112),g=n(134),m=n(10),y=n(39),_=n(56),b=r(_),x=function(t){function e(){i(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return window.lastAdditiveForceArrayVisualizer=t,t.topOffset=28,t.leftOffset=80,t.height=350,t.effectFormat=(0,h.format)(\".2\"),t.redraw=(0,y.debounce)(function(){return t.draw()},200),t}return a(e,t),c(e,[{key:\"componentDidMount\",value:function(){var t=this;this.mainGroup=this.svg.append(\"g\"),this.onTopGroup=this.svg.append(\"g\"),this.xaxisElement=this.onTopGroup.append(\"g\").attr(\"transform\",\"translate(0,35)\").attr(\"class\",\"force-bar-array-xaxis\"),this.yaxisElement=this.onTopGroup.append(\"g\").attr(\"transform\",\"translate(0,35)\").attr(\"class\",\"force-bar-array-yaxis\"),this.hoverGroup1=this.svg.append(\"g\"),this.hoverGroup2=this.svg.append(\"g\"),this.baseValueTitle=this.svg.append(\"text\"),this.hoverLine=this.svg.append(\"line\"),this.hoverxOutline=this.svg.append(\"text\").attr(\"text-anchor\",\"middle\").attr(\"font-weight\",\"bold\").attr(\"fill\",\"#fff\").attr(\"stroke\",\"#fff\").attr(\"stroke-width\",\"6\").attr(\"font-size\",\"12px\"),this.hoverx=this.svg.append(\"text\").attr(\"text-anchor\",\"middle\").attr(\"font-weight\",\"bold\").attr(\"fill\",\"#000\").attr(\"font-size\",\"12px\"),this.hoverxTitle=this.svg.append(\"text\").attr(\"text-anchor\",\"middle\").attr(\"opacity\",.6).attr(\"font-size\",\"12px\"),this.hoveryOutline=this.svg.append(\"text\").attr(\"text-anchor\",\"end\").attr(\"font-weight\",\"bold\").attr(\"fill\",\"#fff\").attr(\"stroke\",\"#fff\").attr(\"stroke-width\",\"6\").attr(\"font-size\",\"12px\"),this.hovery=this.svg.append(\"text\").attr(\"text-anchor\",\"end\").attr(\"font-weight\",\"bold\").attr(\"fill\",\"#000\").attr(\"font-size\",\"12px\"),this.xlabel=this.wrapper.select(\".additive-force-array-xlabel\"),this.ylabel=this.wrapper.select(\".additive-force-array-ylabel\");var e=void 0;\"string\"==typeof this.props.plot_cmap?this.props.plot_cmap in b.default.colors?e=b.default.colors[this.props.plot_cmap]:(console.log(\"Invalid color map name, reverting to default.\"),e=b.default.colors.RdBu):Array.isArray(this.props.plot_cmap)&&(e=this.props.plot_cmap),this.colors=e.map(function(t){return(0,m.hsl)(t)}),this.brighterColors=[1.45,1.6].map(function(e,n){return t.colors[n].brighter(e)});var n=(0,h.format)(\",.4\");if(null!=this.props.ordering_keys&&null!=this.props.ordering_keys_time_format){var r=function(t){return\"object\"==(\"undefined\"==typeof t?\"undefined\":u(t))?this.formatTime(t):n(t)};this.parseTime=(0,d.timeParse)(this.props.ordering_keys_time_format),this.formatTime=(0,d.timeFormat)(this.props.ordering_keys_time_format),this.xtickFormat=r}else this.parseTime=null,this.formatTime=null,this.xtickFormat=n;this.xscale=(0,p.scaleLinear)(),this.xaxis=(0,v.axisBottom)().scale(this.xscale).tickSizeInner(4).tickSizeOuter(0).tickFormat(function(e){return t.xtickFormat(e)}).tickPadding(-18),this.ytickFormat=n,this.yscale=(0,p.scaleLinear)(),this.yaxis=(0,v.axisLeft)().scale(this.yscale).tickSizeInner(4).tickSizeOuter(0).tickFormat(function(e){return t.ytickFormat(t.invLinkFunction(e))}).tickPadding(2),this.xlabel.node().onchange=function(){return t.internalDraw()},this.ylabel.node().onchange=function(){return t.internalDraw()},this.svg.on(\"mousemove\",function(e){return t.mouseMoved(e)}),this.svg.on(\"click\",function(){return alert(\"This original index of the sample you clicked is \"+t.nearestExpIndex)}),this.svg.on(\"mouseout\",function(e){return t.mouseOut(e)}),window.addEventListener(\"resize\",this.redraw),window.setTimeout(this.redraw,50)}},{key:\"componentDidUpdate\",value:function(){this.draw()}},{key:\"mouseOut\",value:function(){this.hoverLine.attr(\"display\",\"none\"),this.hoverx.attr(\"display\",\"none\"),this.hoverxOutline.attr(\"display\",\"none\"),this.hoverxTitle.attr(\"display\",\"none\"),this.hovery.attr(\"display\",\"none\"),this.hoveryOutline.attr(\"display\",\"none\"),this.hoverGroup1.attr(\"display\",\"none\"),this.hoverGroup2.attr(\"display\",\"none\")}},{key:\"mouseMoved\",value:function(){var t=this,e=void 0,n=void 0;this.hoverLine.attr(\"display\",\"\"),this.hoverx.attr(\"display\",\"\"),this.hoverxOutline.attr(\"display\",\"\"),this.hoverxTitle.attr(\"display\",\"\"),this.hovery.attr(\"display\",\"\"),this.hoveryOutline.attr(\"display\",\"\"),this.hoverGroup1.attr(\"display\",\"\"),this.hoverGroup2.attr(\"display\",\"\");var r=(0,f.mouse)(this.svg.node())[0];if(this.props.explanations){for(e=0;e<this.currExplanations.length;++e)(!n||Math.abs(n.xmapScaled-r)>Math.abs(this.currExplanations[e].xmapScaled-r))&&(n=this.currExplanations[e]);this.nearestExpIndex=n.origInd,this.hoverLine.attr(\"x1\",n.xmapScaled).attr(\"x2\",n.xmapScaled).attr(\"y1\",0+this.topOffset).attr(\"y2\",this.height),this.hoverx.attr(\"x\",n.xmapScaled).attr(\"y\",this.topOffset-5).text(this.xtickFormat(n.xmap)),this.hoverxOutline.attr(\"x\",n.xmapScaled).attr(\"y\",this.topOffset-5).text(this.xtickFormat(n.xmap)),this.hoverxTitle.attr(\"x\",n.xmapScaled).attr(\"y\",this.topOffset-18).text(n.count>1?n.count+\" averaged samples\":\"\"),this.hovery.attr(\"x\",this.leftOffset-6).attr(\"y\",n.joinPointy).text(this.ytickFormat(this.invLinkFunction(n.joinPoint))),this.hoveryOutline.attr(\"x\",this.leftOffset-6).attr(\"y\",n.joinPointy).text(this.ytickFormat(this.invLinkFunction(n.joinPoint)));for(var i=[],o=void 0,a=void 0,u=this.currPosOrderedFeatures.length-1;u>=0;--u){var c=this.currPosOrderedFeatures[u],s=n.features[c];a=5+(s.posyTop+s.posyBottom)/2,(!o||a-o>=15)&&s.posyTop-s.posyBottom>=6&&(i.push(s),o=a)}var l=[];o=void 0;var p=!0,h=!1,d=void 0;try{for(var v,g=this.currNegOrderedFeatures[Symbol.iterator]();!(p=(v=g.next()).done);p=!0){var m=v.value,y=n.features[m];a=5+(y.negyTop+y.negyBottom)/2,(!o||o-a>=15)&&y.negyTop-y.negyBottom>=6&&(l.push(y),o=a)}}catch(t){h=!0,d=t}finally{try{!p&&g.return&&g.return()}finally{if(h)throw d}}var _=function(e){var r=\"\";return null!==e.value&&void 0!==e.value&&(r=\" = \"+(isNaN(e.value)?e.value:t.ytickFormat(e.value))),n.count>1?\"mean(\"+t.props.featureNames[e.ind]+\")\"+r:t.props.featureNames[e.ind]+r},b=this.hoverGroup1.selectAll(\".pos-values\").data(i);b.enter().append(\"text\").attr(\"class\",\"pos-values\").merge(b).attr(\"x\",n.xmapScaled+5).attr(\"y\",function(t){return 4+(t.posyTop+t.posyBottom)/2}).attr(\"text-anchor\",\"start\").attr(\"font-size\",12).attr(\"stroke\",\"#fff\").attr(\"fill\",\"#fff\").attr(\"stroke-width\",\"4\").attr(\"stroke-linejoin\",\"round\").attr(\"opacity\",1).text(_),b.exit().remove();var x=this.hoverGroup2.selectAll(\".pos-values\").data(i);x.enter().append(\"text\").attr(\"class\",\"pos-values\").merge(x).attr(\"x\",n.xmapScaled+5).attr(\"y\",function(t){return 4+(t.posyTop+t.posyBottom)/2}).attr(\"text-anchor\",\"start\").attr(\"font-size\",12).attr(\"fill\",this.colors[0]).text(_),x.exit().remove();var w=this.hoverGroup1.selectAll(\".neg-values\").data(l);w.enter().append(\"text\").attr(\"class\",\"neg-values\").merge(w).attr(\"x\",n.xmapScaled+5).attr(\"y\",function(t){return 4+(t.negyTop+t.negyBottom)/2}).attr(\"text-anchor\",\"start\").attr(\"font-size\",12).attr(\"stroke\",\"#fff\").attr(\"fill\",\"#fff\").attr(\"stroke-width\",\"4\").attr(\"stroke-linejoin\",\"round\").attr(\"opacity\",1).text(_),w.exit().remove();var C=this.hoverGroup2.selectAll(\".neg-values\").data(l);C.enter().append(\"text\").attr(\"class\",\"neg-values\").merge(C).attr(\"x\",n.xmapScaled+5).attr(\"y\",function(t){return 4+(t.negyTop+t.negyBottom)/2}).attr(\"text-anchor\",\"start\").attr(\"font-size\",12).attr(\"fill\",this.colors[1]).text(_),C.exit().remove()}}},{key:\"draw\",value:function(){var t=this;if(this.props.explanations&&0!==this.props.explanations.length){(0,y.each)(this.props.explanations,function(t,e){return t.origInd=e});var e={},n={},r={},i=!0,o=!1,a=void 0;try{for(var u,c=this.props.explanations[Symbol.iterator]();!(i=(u=c.next()).done);i=!0){var s=u.value;for(var l in s.features)void 0===e[l]&&(e[l]=0,n[l]=0,r[l]=0),s.features[l].effect>0?e[l]+=s.features[l].effect:n[l]-=s.features[l].effect,null!==s.features[l].value&&void 0!==s.features[l].value&&(r[l]+=1)}}catch(t){o=!0,a=t}finally{try{!i&&c.return&&c.return()}finally{if(o)throw a}}this.usedFeatures=(0,y.sortBy)((0,y.keys)(e),function(t){return-(e[t]+n[t])}),console.log(\"found \",this.usedFeatures.length,\" used features\"),this.posOrderedFeatures=(0,y.sortBy)(this.usedFeatures,function(t){return e[t]}),this.negOrderedFeatures=(0,y.sortBy)(this.usedFeatures,function(t){return-n[t]}),this.singleValueFeatures=(0,y.filter)(this.usedFeatures,function(t){return r[t]>0});var f=[\"sample order by similarity\",\"sample order by output value\",\"original sample ordering\"].concat(this.singleValueFeatures.map(function(e){return t.props.featureNames[e]}));null!=this.props.ordering_keys&&f.unshift(\"sample order by key\");var p=this.xlabel.selectAll(\"option\").data(f);p.enter().append(\"option\").merge(p).attr(\"value\",function(t){return t}).text(function(t){return t}),p.exit().remove();var h=this.props.outNames[0]?this.props.outNames[0]:\"model output value\";f=(0,y.map)(this.usedFeatures,function(e){return[t.props.featureNames[e],t.props.featureNames[e]+\" effects\"]}),f.unshift([\"model output value\",h]);var d=this.ylabel.selectAll(\"option\").data(f);d.enter().append(\"option\").merge(d).attr(\"value\",function(t){return t[0]}).text(function(t){return t[1]}),d.exit().remove(),this.ylabel.style(\"top\",(this.height-10-this.topOffset)/2+this.topOffset+\"px\").style(\"left\",10-this.ylabel.node().offsetWidth/2+\"px\"),this.internalDraw()}}},{key:\"internalDraw\",value:function(){var t=this,e=!0,n=!1,r=void 0;try{for(var i,o=this.props.explanations[Symbol.iterator]();!(e=(i=o.next()).done);e=!0){var a=i.value,c=!0,s=!1,l=void 0;try{for(var f,h=this.usedFeatures[Symbol.iterator]();!(c=(f=h.next()).done);c=!0){var d=f.value;a.features.hasOwnProperty(d)||(a.features[d]={effect:0,value:0}),a.features[d].ind=d}}catch(t){s=!0,l=t}finally{try{!c&&h.return&&h.return()}finally{if(s)throw l}}}}catch(t){n=!0,r=t}finally{try{!e&&o.return&&o.return()}finally{if(n)throw r}}var v=void 0,m=this.xlabel.node().value,_=\"sample order by key\"===m&&null!=this.props.ordering_keys_time_format;if(_?this.xscale=(0,p.scaleTime)():this.xscale=(0,p.scaleLinear)(),this.xaxis.scale(this.xscale),\"sample order by similarity\"===m)v=(0,y.sortBy)(this.props.explanations,function(t){return t.simIndex}),(0,y.each)(v,function(t,e){return t.xmap=e});else if(\"sample order by output value\"===m)v=(0,y.sortBy)(this.props.explanations,function(t){return-t.outValue}),(0,y.each)(v,function(t,e){return t.xmap=e});else if(\"original sample ordering\"===m)v=(0,y.sortBy)(this.props.explanations,function(t){return t.origInd}),(0,y.each)(v,function(t,e){return t.xmap=e});else if(\"sample order by key\"===m)v=this.props.explanations,_?(0,y.each)(v,function(e,n){return e.xmap=t.parseTime(t.props.ordering_keys[n])}):(0,y.each)(v,function(e,n){return e.xmap=t.props.ordering_keys[n]}),v=(0,y.sortBy)(v,function(t){return t.xmap});else{var b=function(){var e=(0,y.findKey)(t.props.featureNames,function(t){return t===m});(0,y.each)(t.props.explanations,function(t,n){return t.xmap=t.features[e].value});var n=(0,y.sortBy)(t.props.explanations,function(t){return t.xmap}),r=(0,y.map)(n,function(t){return t.xmap});if(\"string\"==typeof r[0])return alert(\"Ordering by category names is not yet supported.\"),{v:void 0};var i=(0,y.min)(r),o=(0,y.max)(r),a=(o-i)/100;v=[];for(var u=void 0,c=void 0,s=0;s<n.length;++s){var l=n[s];if(u&&!c&&l.xmap-u.xmap<=a||c&&l.xmap-c.xmap<=a){c||(c=(0,y.cloneDeep)(u),c.count=1);var f=!0,p=!1,h=void 0;try{for(var d,g=t.usedFeatures[Symbol.iterator]();!(f=(d=g.next()).done);f=!0){var _=d.value;c.features[_].effect+=l.features[_].effect,c.features[_].value+=l.features[_].value;\n",
       "}}catch(t){p=!0,h=t}finally{try{!f&&g.return&&g.return()}finally{if(p)throw h}}c.count+=1}else if(u)if(c){var b=!0,x=!1,w=void 0;try{for(var C,M=t.usedFeatures[Symbol.iterator]();!(b=(C=M.next()).done);b=!0){var k=C.value;c.features[k].effect/=c.count,c.features[k].value/=c.count}}catch(t){x=!0,w=t}finally{try{!b&&M.return&&M.return()}finally{if(x)throw w}}v.push(c),c=void 0}else v.push(u);u=l}u.xmap-v[v.length-1].xmap>a&&v.push(u)}();if(\"object\"===(\"undefined\"==typeof b?\"undefined\":u(b)))return b.v}this.currUsedFeatures=this.usedFeatures,this.currPosOrderedFeatures=this.posOrderedFeatures,this.currNegOrderedFeatures=this.negOrderedFeatures;var x=this.ylabel.node().value;if(\"model output value\"!==x){var w=v;v=(0,y.cloneDeep)(v);for(var C=(0,y.findKey)(this.props.featureNames,function(t){return t===x}),M=0;M<v.length;++M){var k=v[M].features[C];v[M].features={},v[M].features[C]=k,w[M].remapped_version=v[M]}this.currUsedFeatures=[C],this.currPosOrderedFeatures=[C],this.currNegOrderedFeatures=[C]}this.currExplanations=v,\"identity\"===this.props.link?this.invLinkFunction=function(e){return t.props.baseValue+e}:\"logit\"===this.props.link?this.invLinkFunction=function(e){return 1/(1+Math.exp(-(t.props.baseValue+e)))}:console.log(\"ERROR: Unrecognized link function: \",this.props.link),this.predValues=(0,y.map)(v,function(t){return(0,y.sum)((0,y.map)(t.features,function(t){return t.effect}))});var E=this.wrapper.node().offsetWidth;if(0==E)return setTimeout(function(){return t.draw(v)},500);this.svg.style(\"height\",this.height+\"px\"),this.svg.style(\"width\",E+\"px\");var T=(0,y.map)(v,function(t){return t.xmap});this.xscale.domain([(0,y.min)(T),(0,y.max)(T)]).range([this.leftOffset,E]).clamp(!0),this.xaxisElement.attr(\"transform\",\"translate(0,\"+this.topOffset+\")\").call(this.xaxis);for(var S=0;S<this.currExplanations.length;++S)this.currExplanations[S].xmapScaled=this.xscale(this.currExplanations[S].xmap);for(var P=v.length,N=0,A=0;A<P;++A){var O=v[A].features,I=(0,y.sum)((0,y.map)((0,y.filter)(O,function(t){return t.effect>0}),function(t){return t.effect}))||0,D=(0,y.sum)((0,y.map)((0,y.filter)(O,function(t){return t.effect<0}),function(t){return-t.effect}))||0;N=Math.max(N,2.2*Math.max(I,D))}this.yscale.domain([-N/2,N/2]).range([this.height-10,this.topOffset]),this.yaxisElement.attr(\"transform\",\"translate(\"+this.leftOffset+\",0)\").call(this.yaxis);for(var R=0;R<P;++R){var L=v[R].features,U=(0,y.sum)((0,y.map)((0,y.filter)(L,function(t){return t.effect<0}),function(t){return-t.effect}))||0,F=-U,j=void 0,B=!0,W=!1,V=void 0;try{for(var z,H=this.currPosOrderedFeatures[Symbol.iterator]();!(B=(z=H.next()).done);B=!0)j=z.value,L[j].posyTop=this.yscale(F),L[j].effect>0&&(F+=L[j].effect),L[j].posyBottom=this.yscale(F),L[j].ind=j}catch(t){W=!0,V=t}finally{try{!B&&H.return&&H.return()}finally{if(W)throw V}}var q=F,Y=!0,K=!1,G=void 0;try{for(var $,X=this.currNegOrderedFeatures[Symbol.iterator]();!(Y=($=X.next()).done);Y=!0)j=$.value,L[j].negyTop=this.yscale(F),L[j].effect<0&&(F-=L[j].effect),L[j].negyBottom=this.yscale(F)}catch(t){K=!0,G=t}finally{try{!Y&&X.return&&X.return()}finally{if(K)throw G}}v[R].joinPoint=q,v[R].joinPointy=this.yscale(q)}var Z=(0,g.line)().x(function(t){return t[0]}).y(function(t){return t[1]}),Q=this.mainGroup.selectAll(\".force-bar-array-area-pos\").data(this.currUsedFeatures);Q.enter().append(\"path\").attr(\"class\",\"force-bar-array-area-pos\").merge(Q).attr(\"d\",function(t){var e=(0,y.map)((0,y.range)(P),function(e){return[v[e].xmapScaled,v[e].features[t].posyTop]}),n=(0,y.map)((0,y.rangeRight)(P),function(e){return[v[e].xmapScaled,v[e].features[t].posyBottom]});return Z(e.concat(n))}).attr(\"fill\",this.colors[0]),Q.exit().remove();var J=this.mainGroup.selectAll(\".force-bar-array-area-neg\").data(this.currUsedFeatures);J.enter().append(\"path\").attr(\"class\",\"force-bar-array-area-neg\").merge(J).attr(\"d\",function(t){var e=(0,y.map)((0,y.range)(P),function(e){return[v[e].xmapScaled,v[e].features[t].negyTop]}),n=(0,y.map)((0,y.rangeRight)(P),function(e){return[v[e].xmapScaled,v[e].features[t].negyBottom]});return Z(e.concat(n))}).attr(\"fill\",this.colors[1]),J.exit().remove();var tt=this.mainGroup.selectAll(\".force-bar-array-divider-pos\").data(this.currUsedFeatures);tt.enter().append(\"path\").attr(\"class\",\"force-bar-array-divider-pos\").merge(tt).attr(\"d\",function(t){var e=(0,y.map)((0,y.range)(P),function(e){return[v[e].xmapScaled,v[e].features[t].posyBottom]});return Z(e)}).attr(\"fill\",\"none\").attr(\"stroke-width\",1).attr(\"stroke\",function(){return t.colors[0].brighter(1.2)}),tt.exit().remove();var et=this.mainGroup.selectAll(\".force-bar-array-divider-neg\").data(this.currUsedFeatures);et.enter().append(\"path\").attr(\"class\",\"force-bar-array-divider-neg\").merge(et).attr(\"d\",function(t){var e=(0,y.map)((0,y.range)(P),function(e){return[v[e].xmapScaled,v[e].features[t].negyTop]});return Z(e)}).attr(\"fill\",\"none\").attr(\"stroke-width\",1).attr(\"stroke\",function(){return t.colors[1].brighter(1.5)}),et.exit().remove();for(var nt=function(t,e,n,r,i){var o=void 0,a=void 0;\"pos\"===i?(o=t[n].features[e].posyBottom,a=t[n].features[e].posyTop):(o=t[n].features[e].negyBottom,a=t[n].features[e].negyTop);for(var u=void 0,c=void 0,s=n+1;s<=r;++s)\"pos\"===i?(u=t[s].features[e].posyBottom,c=t[s].features[e].posyTop):(u=t[s].features[e].negyBottom,c=t[s].features[e].negyTop),u>o&&(o=u),c<a&&(a=c);return{top:o,bottom:a}},rt=100,it=20,ot=100,at=[],ut=[\"pos\",\"neg\"],ct=0;ct<ut.length;ct++){var st=ut[ct],lt=!0,ft=!1,pt=void 0;try{for(var ht,dt=this.currUsedFeatures[Symbol.iterator]();!(lt=(ht=dt.next()).done);lt=!0)for(var vt=ht.value,gt=0,mt=0,yt=0,_t={top:0,bottom:0},bt=void 0;mt<P-1;){for(;yt<rt&&mt<P-1;)++mt,yt=v[mt].xmapScaled-v[gt].xmapScaled;for(_t=nt(v,vt,gt,mt,st);_t.bottom-_t.top<it&&gt<mt;)++gt,_t=nt(v,vt,gt,mt,st);if(yt=v[mt].xmapScaled-v[gt].xmapScaled,_t.bottom-_t.top>=it&&yt>=rt){for(;mt<P-1;){if(++mt,bt=nt(v,vt,gt,mt,st),!(bt.bottom-bt.top>it)){--mt;break}_t=bt}yt=v[mt].xmapScaled-v[gt].xmapScaled,at.push([(v[mt].xmapScaled+v[gt].xmapScaled)/2,(_t.top+_t.bottom)/2,this.props.featureNames[vt]]);var xt=v[mt].xmapScaled;for(gt=mt;xt+ot>v[gt].xmapScaled&&gt<P-1;)++gt;mt=gt}}}catch(t){ft=!0,pt=t}finally{try{!lt&&dt.return&&dt.return()}finally{if(ft)throw pt}}}var wt=this.onTopGroup.selectAll(\".force-bar-array-flabels\").data(at);wt.enter().append(\"text\").attr(\"class\",\"force-bar-array-flabels\").merge(wt).attr(\"x\",function(t){return t[0]}).attr(\"y\",function(t){return t[1]+4}).text(function(t){return t[2]}),wt.exit().remove()}},{key:\"componentWillUnmount\",value:function(){window.removeEventListener(\"resize\",this.redraw)}},{key:\"render\",value:function(){var t=this;return l.default.createElement(\"div\",{ref:function(e){return t.wrapper=(0,f.select)(e)},style:{textAlign:\"center\"}},l.default.createElement(\"style\",{dangerouslySetInnerHTML:{__html:\"\\n          .force-bar-array-wrapper {\\n            text-align: center;\\n          }\\n          .force-bar-array-xaxis path {\\n            fill: none;\\n            opacity: 0.4;\\n          }\\n          .force-bar-array-xaxis .domain {\\n            opacity: 0;\\n          }\\n          .force-bar-array-xaxis paths {\\n            display: none;\\n          }\\n          .force-bar-array-yaxis path {\\n            fill: none;\\n            opacity: 0.4;\\n          }\\n          .force-bar-array-yaxis paths {\\n            display: none;\\n          }\\n          .tick line {\\n            stroke: #000;\\n            stroke-width: 1px;\\n            opacity: 0.4;\\n          }\\n          .tick text {\\n            fill: #000;\\n            opacity: 0.5;\\n            font-size: 12px;\\n            padding: 0px;\\n          }\\n          .force-bar-array-flabels {\\n            font-size: 12px;\\n            fill: #fff;\\n            text-anchor: middle;\\n          }\\n          .additive-force-array-xlabel {\\n            background: none;\\n            border: 1px solid #ccc;\\n            opacity: 0.5;\\n            margin-bottom: 0px;\\n            font-size: 12px;\\n            font-family: arial;\\n            margin-left: 80px;\\n            max-width: 300px;\\n          }\\n          .additive-force-array-xlabel:focus {\\n            outline: none;\\n          }\\n          .additive-force-array-ylabel {\\n            position: relative;\\n            top: 0px;\\n            left: 0px;\\n            transform: rotate(-90deg);\\n            background: none;\\n            border: 1px solid #ccc;\\n            opacity: 0.5;\\n            margin-bottom: 0px;\\n            font-size: 12px;\\n            font-family: arial;\\n            max-width: 150px;\\n          }\\n          .additive-force-array-ylabel:focus {\\n            outline: none;\\n          }\\n          .additive-force-array-hoverLine {\\n            stroke-width: 1px;\\n            stroke: #fff;\\n            opacity: 1;\\n          }\"}}),l.default.createElement(\"select\",{className:\"additive-force-array-xlabel\"}),l.default.createElement(\"div\",{style:{height:\"0px\",textAlign:\"left\"}},l.default.createElement(\"select\",{className:\"additive-force-array-ylabel\"})),l.default.createElement(\"svg\",{ref:function(e){return t.svg=(0,f.select)(e)},style:{userSelect:\"none\",display:\"block\",fontFamily:\"arial\",sansSerif:!0}}))}}]),e}(l.default.Component);x.defaultProps={plot_cmap:\"RdBu\",ordering_keys:null,ordering_keys_time_format:null},e.default=x},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function a(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0});var u=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(41),s=r(c),l=n(129),f=n(64),p=n(30),h=n(112),d=n(134),v=n(10),g=n(39),m=n(56),y=r(m),b=function(t){function e(){i(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return window.lastAdditiveForceVisualizer=t,t.effectFormat=(0,p.format)(\".2\"),t.redraw=(0,g.debounce)(function(){return t.draw()},200),t}return a(e,t),u(e,[{key:\"componentDidMount\",value:function(){var t=this;this.mainGroup=this.svg.append(\"g\"),this.axisElement=this.mainGroup.append(\"g\").attr(\"transform\",\"translate(0,35)\").attr(\"class\",\"force-bar-axis\"),this.onTopGroup=this.svg.append(\"g\"),this.baseValueTitle=this.svg.append(\"text\"),this.joinPointLine=this.svg.append(\"line\"),this.joinPointLabelOutline=this.svg.append(\"text\"),this.joinPointLabel=this.svg.append(\"text\"),this.joinPointTitleLeft=this.svg.append(\"text\"),this.joinPointTitleLeftArrow=this.svg.append(\"text\"),this.joinPointTitle=this.svg.append(\"text\"),this.joinPointTitleRightArrow=this.svg.append(\"text\"),this.joinPointTitleRight=this.svg.append(\"text\"),this.hoverLabelBacking=this.svg.append(\"text\").attr(\"x\",10).attr(\"y\",20).attr(\"text-anchor\",\"middle\").attr(\"font-size\",12).attr(\"stroke\",\"#fff\").attr(\"fill\",\"#fff\").attr(\"stroke-width\",\"4\").attr(\"stroke-linejoin\",\"round\").text(\"\").on(\"mouseover\",function(){t.hoverLabel.attr(\"opacity\",1),t.hoverLabelBacking.attr(\"opacity\",1)}).on(\"mouseout\",function(){t.hoverLabel.attr(\"opacity\",0),t.hoverLabelBacking.attr(\"opacity\",0)}),this.hoverLabel=this.svg.append(\"text\").attr(\"x\",10).attr(\"y\",20).attr(\"text-anchor\",\"middle\").attr(\"font-size\",12).attr(\"fill\",\"#0f0\").text(\"\").on(\"mouseover\",function(){t.hoverLabel.attr(\"opacity\",1),t.hoverLabelBacking.attr(\"opacity\",1)}).on(\"mouseout\",function(){t.hoverLabel.attr(\"opacity\",0),t.hoverLabelBacking.attr(\"opacity\",0)});var e=void 0;\"string\"==typeof this.props.plot_cmap?this.props.plot_cmap in y.default.colors?e=y.default.colors[this.props.plot_cmap]:(console.log(\"Invalid color map name, reverting to default.\"),e=y.default.colors.RdBu):Array.isArray(this.props.plot_cmap)&&(e=this.props.plot_cmap),this.colors=e.map(function(t){return(0,v.hsl)(t)}),this.brighterColors=[1.45,1.6].map(function(e,n){return t.colors[n].brighter(e)}),this.colors.map(function(e,n){var r=t.svg.append(\"linearGradient\").attr(\"id\",\"linear-grad-\"+n).attr(\"x1\",\"0%\").attr(\"y1\",\"0%\").attr(\"x2\",\"0%\").attr(\"y2\",\"100%\");r.append(\"stop\").attr(\"offset\",\"0%\").attr(\"stop-color\",e).attr(\"stop-opacity\",.6),r.append(\"stop\").attr(\"offset\",\"100%\").attr(\"stop-color\",e).attr(\"stop-opacity\",0);var i=t.svg.append(\"linearGradient\").attr(\"id\",\"linear-backgrad-\"+n).attr(\"x1\",\"0%\").attr(\"y1\",\"0%\").attr(\"x2\",\"0%\").attr(\"y2\",\"100%\");i.append(\"stop\").attr(\"offset\",\"0%\").attr(\"stop-color\",e).attr(\"stop-opacity\",.5),i.append(\"stop\").attr(\"offset\",\"100%\").attr(\"stop-color\",e).attr(\"stop-opacity\",0)}),this.tickFormat=(0,p.format)(\",.4\"),this.scaleCentered=(0,f.scaleLinear)(),this.axis=(0,h.axisBottom)().scale(this.scaleCentered).tickSizeInner(4).tickSizeOuter(0).tickFormat(function(e){return t.tickFormat(t.invLinkFunction(e))}).tickPadding(-18),window.addEventListener(\"resize\",this.redraw),window.setTimeout(this.redraw,50)}},{key:\"componentDidUpdate\",value:function(){this.draw()}},{key:\"draw\",value:function(){var t=this;(0,g.each)(this.props.featureNames,function(e,n){t.props.features[n]&&(t.props.features[n].name=e)}),\"identity\"===this.props.link?this.invLinkFunction=function(e){return t.props.baseValue+e}:\"logit\"===this.props.link?this.invLinkFunction=function(e){return 1/(1+Math.exp(-(t.props.baseValue+e)))}:console.log(\"ERROR: Unrecognized link function: \",this.props.link);var e=this.svg.node().parentNode.offsetWidth;if(0==e)return setTimeout(function(){return t.draw(t.props)},500);this.svg.style(\"height\",\"150px\"),this.svg.style(\"width\",e+\"px\");var n=50,r=(0,g.sortBy)(this.props.features,function(t){return-1/(t.effect+1e-10)}),i=(0,g.sum)((0,g.map)(r,function(t){return Math.abs(t.effect)})),o=(0,g.sum)((0,g.map)((0,g.filter)(r,function(t){return t.effect>0}),function(t){return t.effect}))||0,a=(0,g.sum)((0,g.map)((0,g.filter)(r,function(t){return t.effect<0}),function(t){return-t.effect}))||0;this.domainSize=3*Math.max(o,a);var u=(0,f.scaleLinear)().domain([0,this.domainSize]).range([0,e]),c=e/2-u(a);this.scaleCentered.domain([-this.domainSize/2,this.domainSize/2]).range([0,e]).clamp(!0),this.axisElement.attr(\"transform\",\"translate(0,\"+n+\")\").call(this.axis);var s=0,l=void 0,h=void 0,v=void 0;for(l=0;l<r.length;++l)r[l].x=s,r[l].effect<0&&void 0===h&&(h=s,v=l),s+=Math.abs(r[l].effect);void 0===h&&(h=s,v=l);var m=(0,d.line)().x(function(t){return t[0]}).y(function(t){return t[1]}),y=function(e){return void 0!==e.value&&null!==e.value&&\"\"!==e.value?e.name+\" = \"+(isNaN(e.value)?e.value:t.tickFormat(e.value)):e.name};r=this.props.hideBars?[]:r;var b=this.mainGroup.selectAll(\".force-bar-blocks\").data(r);b.enter().append(\"path\").attr(\"class\",\"force-bar-blocks\").merge(b).attr(\"d\",function(t,e){var r=u(t.x)+c,i=u(Math.abs(t.effect)),o=t.effect<0?-4:4,a=o;return e===v&&(o=0),e===v-1&&(a=0),m([[r,6+n],[r+i,6+n],[r+i+a,14.5+n],[r+i,23+n],[r,23+n],[r+o,14.5+n]])}).attr(\"fill\",function(e){return e.effect>0?t.colors[0]:t.colors[1]}).on(\"mouseover\",function(e){if(u(Math.abs(e.effect))<u(i)/50||u(Math.abs(e.effect))<10){var r=u(e.x)+c,o=u(Math.abs(e.effect));t.hoverLabel.attr(\"opacity\",1).attr(\"x\",r+o/2).attr(\"y\",n+.5).attr(\"fill\",e.effect>0?t.colors[0]:t.colors[1]).text(y(e)),t.hoverLabelBacking.attr(\"opacity\",1).attr(\"x\",r+o/2).attr(\"y\",n+.5).text(y(e))}}).on(\"mouseout\",function(){t.hoverLabel.attr(\"opacity\",0),t.hoverLabelBacking.attr(\"opacity\",0)}),b.exit().remove();var x=_.filter(r,function(t){return u(Math.abs(t.effect))>u(i)/50&&u(Math.abs(t.effect))>10}),w=this.onTopGroup.selectAll(\".force-bar-labels\").data(x);if(w.exit().remove(),w=w.enter().append(\"text\").attr(\"class\",\"force-bar-labels\").attr(\"font-size\",\"12px\").attr(\"y\",48+n).merge(w).text(function(e){return void 0!==e.value&&null!==e.value&&\"\"!==e.value?e.name+\" = \"+(isNaN(e.value)?e.value:t.tickFormat(e.value)):e.name}).attr(\"fill\",function(e){return e.effect>0?t.colors[0]:t.colors[1]}).attr(\"stroke\",function(t){return t.textWidth=Math.max(this.getComputedTextLength(),u(Math.abs(t.effect))-10),t.innerTextWidth=this.getComputedTextLength(),\"none\"}),this.filteredData=x,r.length>0){s=h+u.invert(5);for(var C=v;C<r.length;++C)r[C].textx=s,s+=u.invert(r[C].textWidth+10);s=h-u.invert(5);for(var M=v-1;M>=0;--M)r[M].textx=s,s-=u.invert(r[M].textWidth+10)}w.attr(\"x\",function(t){return u(t.textx)+c+(t.effect>0?-t.textWidth/2:t.textWidth/2)}).attr(\"text-anchor\",\"middle\"),x=(0,g.filter)(x,function(n){return u(n.textx)+c>t.props.labelMargin&&u(n.textx)+c<e-t.props.labelMargin}),this.filteredData2=x;var k=x.slice(),E=(0,g.findIndex)(r,x[0])-1;E>=0&&k.unshift(r[E]);var T=this.mainGroup.selectAll(\".force-bar-labelBacking\").data(x);T.enter().append(\"path\").attr(\"class\",\"force-bar-labelBacking\").attr(\"stroke\",\"none\").attr(\"opacity\",.2).merge(T).attr(\"d\",function(t){return m([[u(t.x)+u(Math.abs(t.effect))+c,23+n],[(t.effect>0?u(t.textx):u(t.textx)+t.textWidth)+c+5,33+n],[(t.effect>0?u(t.textx):u(t.textx)+t.textWidth)+c+5,54+n],[(t.effect>0?u(t.textx)-t.textWidth:u(t.textx))+c-5,54+n],[(t.effect>0?u(t.textx)-t.textWidth:u(t.textx))+c-5,33+n],[u(t.x)+c,23+n]])}).attr(\"fill\",function(t){return\"url(#linear-backgrad-\"+(t.effect>0?0:1)+\")\"}),T.exit().remove();var S=this.mainGroup.selectAll(\".force-bar-labelDividers\").data(x.slice(0,-1));S.enter().append(\"rect\").attr(\"class\",\"force-bar-labelDividers\").attr(\"height\",\"21px\").attr(\"width\",\"1px\").attr(\"y\",33+n).merge(S).attr(\"x\",function(t){return(t.effect>0?u(t.textx):u(t.textx)+t.textWidth)+c+4.5}).attr(\"fill\",function(t){return\"url(#linear-grad-\"+(t.effect>0?0:1)+\")\"}),S.exit().remove();var P=this.mainGroup.selectAll(\".force-bar-labelLinks\").data(x.slice(0,-1));P.enter().append(\"line\").attr(\"class\",\"force-bar-labelLinks\").attr(\"y1\",23+n).attr(\"y2\",33+n).attr(\"stroke-opacity\",.5).attr(\"stroke-width\",1).merge(P).attr(\"x1\",function(t){return u(t.x)+u(Math.abs(t.effect))+c}).attr(\"x2\",function(t){return(t.effect>0?u(t.textx):u(t.textx)+t.textWidth)+c+5}).attr(\"stroke\",function(e){return e.effect>0?t.colors[0]:t.colors[1]}),P.exit().remove();var N=this.mainGroup.selectAll(\".force-bar-blockDividers\").data(r.slice(0,-1));N.enter().append(\"path\").attr(\"class\",\"force-bar-blockDividers\").attr(\"stroke-width\",2).attr(\"fill\",\"none\").merge(N).attr(\"d\",function(t){var e=u(t.x)+u(Math.abs(t.effect))+c;return m([[e,6+n],[e+(t.effect<0?-4:4),14.5+n],[e,23+n]])}).attr(\"stroke\",function(e,n){return v===n+1||Math.abs(e.effect)<1e-8?\"#rgba(0,0,0,0)\":e.effect>0?t.brighterColors[0]:t.brighterColors[1]}),N.exit().remove(),this.joinPointLine.attr(\"x1\",u(h)+c).attr(\"x2\",u(h)+c).attr(\"y1\",0+n).attr(\"y2\",6+n).attr(\"stroke\",\"#F2F2F2\").attr(\"stroke-width\",1).attr(\"opacity\",1),this.joinPointLabelOutline.attr(\"x\",u(h)+c).attr(\"y\",-5+n).attr(\"color\",\"#fff\").attr(\"text-anchor\",\"middle\").attr(\"font-weight\",\"bold\").attr(\"stroke\",\"#fff\").attr(\"stroke-width\",6).text((0,p.format)(\",.2f\")(this.invLinkFunction(h-a))).attr(\"opacity\",1),console.log(\"joinPoint\",h,c,n,a),this.joinPointLabel.attr(\"x\",u(h)+c).attr(\"y\",-5+n).attr(\"text-anchor\",\"middle\").attr(\"font-weight\",\"bold\").attr(\"fill\",\"#000\").text((0,p.format)(\",.2f\")(this.invLinkFunction(h-a))).attr(\"opacity\",1),this.joinPointTitle.attr(\"x\",u(h)+c).attr(\"y\",-22+n).attr(\"text-anchor\",\"middle\").attr(\"font-size\",\"12\").attr(\"fill\",\"#000\").text(this.props.outNames[0]).attr(\"opacity\",.5),this.props.hideBars||(this.joinPointTitleLeft.attr(\"x\",u(h)+c-16).attr(\"y\",-38+n).attr(\"text-anchor\",\"end\").attr(\"font-size\",\"13\").attr(\"fill\",this.colors[0]).text(\"higher\").attr(\"opacity\",1),this.joinPointTitleRight.attr(\"x\",u(h)+c+16).attr(\"y\",-38+n).attr(\"text-anchor\",\"start\").attr(\"font-size\",\"13\").attr(\"fill\",this.colors[1]).text(\"lower\").attr(\"opacity\",1),this.joinPointTitleLeftArrow.attr(\"x\",u(h)+c+7).attr(\"y\",-42+n).attr(\"text-anchor\",\"end\").attr(\"font-size\",\"13\").attr(\"fill\",this.colors[0]).text(\"→\").attr(\"opacity\",1),this.joinPointTitleRightArrow.attr(\"x\",u(h)+c-7).attr(\"y\",-36+n).attr(\"text-anchor\",\"start\").attr(\"font-size\",\"13\").attr(\"fill\",this.colors[1]).text(\"←\").attr(\"opacity\",1)),this.props.hideBaseValueLabel||this.baseValueTitle.attr(\"x\",this.scaleCentered(0)).attr(\"y\",-22+n).attr(\"text-anchor\",\"middle\").attr(\"font-size\",\"12\").attr(\"fill\",\"#000\").text(\"base value\").attr(\"opacity\",.5)}},{key:\"componentWillUnmount\",value:function(){window.removeEventListener(\"resize\",this.redraw)}},{key:\"render\",value:function(){var t=this;return s.default.createElement(\"svg\",{ref:function(e){return t.svg=(0,l.select)(e)},style:{userSelect:\"none\",display:\"block\",fontFamily:\"arial\",sansSerif:!0}},s.default.createElement(\"style\",{dangerouslySetInnerHTML:{__html:\"\\n          .force-bar-axis path {\\n            fill: none;\\n            opacity: 0.4;\\n          }\\n          .force-bar-axis paths {\\n            display: none;\\n          }\\n          .tick line {\\n            stroke: #000;\\n            stroke-width: 1px;\\n            opacity: 0.4;\\n          }\\n          .tick text {\\n            fill: #000;\\n            opacity: 0.5;\\n            font-size: 12px;\\n            padding: 0px;\\n          }\"}}))}}]),e}(s.default.Component);b.defaultProps={plot_cmap:\"RdBu\"},e.default=b},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function a(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0});var u=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),c=n(41),s=r(c),l=n(64),f=n(30),p=n(39),h=n(56),d=r(h),v=function(t){function e(){i(this,e);var t=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return t.width=100,window.lastSimpleListInstance=t,t.effectFormat=(0,f.format)(\".2\"),t}return a(e,t),u(e,[{key:\"render\",value:function(){var t=this,e=void 0;\"string\"==typeof this.props.plot_cmap?this.props.plot_cmap in d.default.colors?e=d.default.colors[this.props.plot_cmap]:(console.log(\"Invalid color map name, reverting to default.\"),e=d.default.colors.RdBu):Array.isArray(this.props.plot_cmap)&&(e=this.props.plot_cmap),console.log(this.props.features,this.props.features),this.scale=(0,l.scaleLinear)().domain([0,(0,p.max)((0,p.map)(this.props.features,function(t){return Math.abs(t.effect)}))]).range([0,this.width]);var n=(0,p.reverse)((0,p.sortBy)(Object.keys(this.props.features),function(e){return Math.abs(t.props.features[e].effect)})),r=n.map(function(n){var r=t.props.features[n],i=t.props.featureNames[n],o={width:t.scale(Math.abs(r.effect)),height:\"20px\",background:r.effect<0?e[0]:e[1],display:\"inline-block\"},a=void 0,u=void 0,c={lineHeight:\"20px\",display:\"inline-block\",width:t.width+40,verticalAlign:\"top\",marginRight:\"5px\",textAlign:\"right\"},l={lineHeight:\"20px\",display:\"inline-block\",width:t.width+40,verticalAlign:\"top\",marginLeft:\"5px\"};return r.effect<0?(u=s.default.createElement(\"span\",{style:l},i),c.width=40+t.width-t.scale(Math.abs(r.effect)),c.textAlign=\"right\",c.color=\"#999\",c.fontSize=\"13px\",a=s.default.createElement(\"span\",{style:c},t.effectFormat(r.effect))):(c.textAlign=\"right\",a=s.default.createElement(\"span\",{style:c},i),l.width=40,l.textAlign=\"left\",l.color=\"#999\",l.fontSize=\"13px\",u=s.default.createElement(\"span\",{style:l},t.effectFormat(r.effect))),s.default.createElement(\"div\",{key:n,style:{marginTop:\"2px\"}},a,s.default.createElement(\"div\",{style:o}),u)});return s.default.createElement(\"span\",null,r)}}]),e}(s.default.Component);v.defaultProps={plot_cmap:\"RdBu\"},e.default=v},function(t,e,n){\"use strict\";t.exports=n(345)},function(t,e,n){var r=(n(0),n(398)),i=!1;t.exports=function(t){t=t||{};var e=t.shouldRejectClick||r;i=!0,n(22).injection.injectEventPluginsByName({TapEventPlugin:n(396)(e)})}},function(t,e,n){\"use strict\";e.a=function(t){return function(){return t}}},function(t,e,n){\"use strict\"},function(t,e,n){\"use strict\";n(101),n(102),n(184),n(105),n(187),n(109),n(108)},function(t,e,n){\"use strict\";e.a=function(t){return t}},function(t,e,n){\"use strict\"},function(t,e,n){\"use strict\";n(29)},function(t,e,n){\"use strict\";n(18),n(29),n(57)},function(t,e,n){\"use strict\"},function(t,e,n){\"use strict\"},function(t,e,n){\"use strict\"},function(t,e,n){\"use strict\";n(18)},function(t,e,n){\"use strict\"},function(t,e,n){\"use strict\"},function(t,e,n){\"use strict\";n(101),n(18),n(29),n(57)},function(t,e,n){\"use strict\";n(104)},function(t,e,n){\"use strict\";n(110)},function(t,e,n){\"use strict\";n.d(e,\"a\",function(){return r});var r=Array.prototype.slice},function(t,e,n){\"use strict\";function r(t,e,n){var r=t(n);return\"translate(\"+(isFinite(r)?r:e(n))+\",0)\"}function i(t,e,n){var r=t(n);return\"translate(0,\"+(isFinite(r)?r:e(n))+\")\"}function o(t){var e=t.bandwidth()/2;return t.round()&&(e=Math.round(e)),function(n){return t(n)+e}}function a(){return!this.__axis}function u(t,e){function n(n){var p,b=null==c?e.ticks?e.ticks.apply(e,u):e.domain():c,x=null==s?e.tickFormat?e.tickFormat.apply(e,u):h.a:s,w=Math.max(l,0)+_,C=t===d||t===g?r:i,M=e.range(),k=M[0]+.5,E=M[M.length-1]+.5,T=(e.bandwidth?o:h.a)(e.copy()),S=n.selection?n.selection():n,P=S.selectAll(\".domain\").data([null]),N=S.selectAll(\".tick\").data(b,e).order(),A=N.exit(),O=N.enter().append(\"g\").attr(\"class\",\"tick\"),I=N.select(\"line\"),D=N.select(\"text\"),R=t===d||t===m?-1:1,L=t===m||t===v?(p=\"x\",\"y\"):(p=\"y\",\"x\");P=P.merge(P.enter().insert(\"path\",\".tick\").attr(\"class\",\"domain\").attr(\"stroke\",\"#000\")),N=N.merge(O),I=I.merge(O.append(\"line\").attr(\"stroke\",\"#000\").attr(p+\"2\",R*l).attr(L+\"1\",.5).attr(L+\"2\",.5)),D=D.merge(O.append(\"text\").attr(\"fill\",\"#000\").attr(p,R*w).attr(L,.5).attr(\"dy\",t===d?\"0em\":t===g?\"0.71em\":\"0.32em\")),n!==S&&(P=P.transition(n),N=N.transition(n),I=I.transition(n),D=D.transition(n),A=A.transition(n).attr(\"opacity\",y).attr(\"transform\",function(t){return C(T,this.parentNode.__axis||T,t)}),O.attr(\"opacity\",y).attr(\"transform\",function(t){return C(this.parentNode.__axis||T,T,t)})),A.remove(),P.attr(\"d\",t===m||t==v?\"M\"+R*f+\",\"+k+\"H0.5V\"+E+\"H\"+R*f:\"M\"+k+\",\"+R*f+\"V0.5H\"+E+\"V\"+R*f),N.attr(\"opacity\",1).attr(\"transform\",function(t){return C(T,T,t)}),I.attr(p+\"2\",R*l),D.attr(p,R*w).text(x),S.filter(a).attr(\"fill\",\"none\").attr(\"font-size\",10).attr(\"font-family\",\"sans-serif\").attr(\"text-anchor\",t===v?\"start\":t===m?\"end\":\"middle\"),S.each(function(){this.__axis=T})}var u=[],c=null,s=null,l=6,f=6,_=3;return n.scale=function(t){return arguments.length?(e=t,n):e},n.ticks=function(){return u=p.a.call(arguments),n},n.tickArguments=function(t){return arguments.length?(u=null==t?[]:p.a.call(t),n):u.slice()},n.tickValues=function(t){return arguments.length?(c=null==t?null:p.a.call(t),n):c&&c.slice()},n.tickFormat=function(t){return arguments.length?(s=t,n):s},n.tickSize=function(t){return arguments.length?(l=f=+t,n):l},n.tickSizeInner=function(t){return arguments.length?(l=+t,n):l},n.tickSizeOuter=function(t){return arguments.length?(f=+t,n):f},n.tickPadding=function(t){return arguments.length?(_=+t,n):_},n}function c(t){return u(d,t)}function s(t){return u(v,t)}function l(t){return u(g,t)}function f(t){return u(m,t)}var p=n(200),h=n(202);e.a=c,e.b=s,e.c=l,e.d=f;var d=1,v=2,g=3,m=4,y=1e-6},function(t,e,n){\"use strict\";e.a=function(t){return t}},function(t,e,n){\"use strict\";var r=(n(206),n(207),n(58));n.d(e,\"a\",function(){return r.a});n(205),n(208),n(204)},function(t,e,n){\"use strict\"},function(t,e,n){\"use strict\"},function(t,e,n){\"use strict\";n(58)},function(t,e,n){\"use strict\";function r(){}function i(t,e){var n=new r;if(t instanceof r)t.each(function(t){n.add(t)});else if(t){var i=-1,o=t.length;if(null==e)for(;++i<o;)n.add(t[i]);else for(;++i<o;)n.add(e(t[i],i,t))}return n}var o=n(58),a=o.a.prototype;r.prototype=i.prototype={constructor:r,has:a.has,add:function(t){return t+=\"\",this[o.b+t]=t,this},remove:a.remove,clear:a.clear,values:a.keys,size:a.size,empty:a.empty,each:a.each}},function(t,e,n){\"use strict\"},function(t,e,n){\"use strict\";function r(t){if(t instanceof o)return new o(t.h,t.s,t.l,t.opacity);t instanceof u.d||(t=n.i(u.e)(t));var e=t.r/255,r=t.g/255,i=t.b/255,a=(g*i+d*e-v*r)/(g+d-v),s=i-a,l=(h*(r-a)-f*s)/p,m=Math.sqrt(l*l+s*s)/(h*a*(1-a)),y=m?Math.atan2(l,s)*c.a-120:NaN;return new o(y<0?y+360:y,m,a,t.opacity)}function i(t,e,n,i){return 1===arguments.length?r(t):new o(t,e,n,null==i?1:i)}function o(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}var a=n(60),u=n(59),c=n(113);e.a=i;var s=-.14861,l=1.78277,f=-.29227,p=-.90649,h=1.97294,d=h*p,v=h*l,g=l*f-p*s;n.i(a.a)(o,i,n.i(a.b)(u.f,{brighter:function(t){return t=null==t?u.g:Math.pow(u.g,t),new o(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?u.h:Math.pow(u.h,t),new o(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*c.b,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),i=Math.sin(t);return new u.d(255*(e+n*(s*r+l*i)),255*(e+n*(f*r+p*i)),255*(e+n*(h*r)),this.opacity)}}))},function(t,e,n){\"use strict\";function r(t){if(t instanceof o)return new o(t.l,t.a,t.b,t.opacity);if(t instanceof p){var e=t.h*v.b;return new o(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof d.d||(t=n.i(d.e)(t));var r=s(t.r),i=s(t.g),u=s(t.b),c=a((.4124564*r+.3575761*i+.1804375*u)/m),l=a((.2126729*r+.7151522*i+.072175*u)/y),f=a((.0193339*r+.119192*i+.9503041*u)/_);return new o(116*l-16,500*(c-l),200*(l-f),t.opacity)}function i(t,e,n,i){return 1===arguments.length?r(t):new o(t,e,n,null==i?1:i)}function o(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function a(t){return t>C?Math.pow(t,1/3):t/w+b}function u(t){return t>x?t*t*t:w*(t-b)}function c(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function s(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function l(t){if(t instanceof p)return new p(t.h,t.c,t.l,t.opacity);t instanceof o||(t=r(t));var e=Math.atan2(t.b,t.a)*v.a;return new p(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function f(t,e,n,r){return 1===arguments.length?l(t):new p(t,e,n,null==r?1:r)}function p(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}var h=n(60),d=n(59),v=n(113);e.a=i,e.b=f;var g=18,m=.95047,y=1,_=1.08883,b=4/29,x=6/29,w=3*x*x,C=x*x*x;n.i(h.a)(o,i,n.i(h.b)(d.f,{brighter:function(t){return new o(this.l+g*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new o(this.l-g*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return t=y*u(t),e=m*u(e),n=_*u(n),new d.d(c(3.2404542*e-1.5371385*t-.4985314*n),c(-.969266*e+1.8760108*t+.041556*n),c(.0556434*e-.2040259*t+1.0572252*n),this.opacity)}})),n.i(h.a)(p,f,n.i(h.b)(d.f,{brighter:function(t){return new p(this.h,this.c,this.l+g*(null==t?1:t),this.opacity)},darker:function(t){return new p(this.h,this.c,this.l-g*(null==t?1:t),this.opacity)},rgb:function(){return r(this).rgb()}}))},function(t,e,n){\"use strict\";function r(t){return o=n.i(i.a)(t),a=o.format,u=o.formatPrefix,o}var i=n(117);n.d(e,\"b\",function(){return a}),n.d(e,\"c\",function(){\n",
       "return u}),e.a=r;var o,a,u;r({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"]})},function(t,e,n){\"use strict\";e.a=function(t,e){t=t.toPrecision(e);t:for(var n,r=t.length,i=1,o=-1;i<r;++i)switch(t[i]){case\".\":o=n=i;break;case\"0\":0===o&&(o=i),n=i;break;case\"e\":break t;default:o>0&&(o=0)}return o>0?t.slice(0,o)+t.slice(n+1):t}},function(t,e,n){\"use strict\";e.a=function(t,e){return function(n,r){for(var i=n.length,o=[],a=0,u=t[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),o.push(n.substring(i-=u,i+u)),!((c+=u+1)>r));)u=t[a=(a+1)%t.length];return o.reverse().join(e)}}},function(t,e,n){\"use strict\";var r=n(61);e.a=function(t,e){var i=n.i(r.a)(t,e);if(!i)return t+\"\";var o=i[0],a=i[1];return a<0?\"0.\"+new Array(-a).join(\"0\")+o:o.length>a+1?o.slice(0,a+1)+\".\"+o.slice(a+1):o+new Array(a-o.length+2).join(\"0\")}},function(t,e,n){\"use strict\";var r=n(42);e.a=function(t){return Math.max(0,-n.i(r.a)(Math.abs(t)))}},function(t,e,n){\"use strict\";var r=n(42);e.a=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(n.i(r.a)(e)/3)))-n.i(r.a)(Math.abs(t)))}},function(t,e,n){\"use strict\";var r=n(42);e.a=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,n.i(r.a)(e)-n.i(r.a)(t))+1}},function(t,e,n){\"use strict\";function r(t){return function e(r){function a(e,a){var u=t((e=n.i(i.cubehelix)(e)).h,(a=n.i(i.cubehelix)(a)).h),c=n.i(o.a)(e.s,a.s),s=n.i(o.a)(e.l,a.l),l=n.i(o.a)(e.opacity,a.opacity);return function(t){return e.h=u(t),e.s=c(t),e.l=s(Math.pow(t,r)),e.opacity=l(t),e+\"\"}}return r=+r,a.gamma=e,a}(1)}var i=n(10),o=n(32);n.d(e,\"a\",function(){return a});var a=(r(o.b),r(o.a))},function(t,e,n){\"use strict\";function r(t){return function(e,r){var a=t((e=n.i(i.hcl)(e)).h,(r=n.i(i.hcl)(r)).h),u=n.i(o.a)(e.c,r.c),c=n.i(o.a)(e.l,r.l),s=n.i(o.a)(e.opacity,r.opacity);return function(t){return e.h=a(t),e.c=u(t),e.l=c(t),e.opacity=s(t),e+\"\"}}}var i=n(10),o=n(32);r(o.b),r(o.a)},function(t,e,n){\"use strict\";function r(t){return function(e,r){var a=t((e=n.i(i.hsl)(e)).h,(r=n.i(i.hsl)(r)).h),u=n.i(o.a)(e.s,r.s),c=n.i(o.a)(e.l,r.l),s=n.i(o.a)(e.opacity,r.opacity);return function(t){return e.h=a(t),e.s=u(t),e.l=c(t),e.opacity=s(t),e+\"\"}}}var i=n(10),o=n(32);r(o.b),r(o.a)},function(t,e,n){\"use strict\";n(10),n(32)},function(t,e,n){\"use strict\"},function(t,e,n){\"use strict\";e.a=function(t,e){return t=+t,e-=t,function(n){return Math.round(t+e*n)}}},function(t,e,n){\"use strict\";n.d(e,\"a\",function(){return i});var r=180/Math.PI,i={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};e.b=function(t,e,n,i,o,a){var u,c,s;return(u=Math.sqrt(t*t+e*e))&&(t/=u,e/=u),(s=t*n+e*i)&&(n-=t*s,i-=e*s),(c=Math.sqrt(n*n+i*i))&&(n/=c,i/=c,s/=c),t*i<e*n&&(t=-t,e=-e,s=-s,u=-u),{translateX:o,translateY:a,rotate:Math.atan2(e,t)*r,skewX:Math.atan(s)*r,scaleX:u,scaleY:c}}},function(t,e,n){\"use strict\";function r(t,e,r,o){function a(t){return t.length?t.pop()+\" \":\"\"}function u(t,o,a,u,c,s){if(t!==a||o!==u){var l=c.push(\"translate(\",null,e,null,r);s.push({i:l-4,x:n.i(i.a)(t,a)},{i:l-2,x:n.i(i.a)(o,u)})}else(a||u)&&c.push(\"translate(\"+a+e+u+r)}function c(t,e,r,u){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),u.push({i:r.push(a(r)+\"rotate(\",null,o)-2,x:n.i(i.a)(t,e)})):e&&r.push(a(r)+\"rotate(\"+e+o)}function s(t,e,r,u){t!==e?u.push({i:r.push(a(r)+\"skewX(\",null,o)-2,x:n.i(i.a)(t,e)}):e&&r.push(a(r)+\"skewX(\"+e+o)}function l(t,e,r,o,u,c){if(t!==r||e!==o){var s=u.push(a(u)+\"scale(\",null,\",\",null,\")\");c.push({i:s-4,x:n.i(i.a)(t,r)},{i:s-2,x:n.i(i.a)(e,o)})}else 1===r&&1===o||u.push(a(u)+\"scale(\"+r+\",\"+o+\")\")}return function(e,n){var r=[],i=[];return e=t(e),n=t(n),u(e.translateX,e.translateY,n.translateX,n.translateY,r,i),c(e.rotate,n.rotate,r,i),s(e.skewX,n.skewX,r,i),l(e.scaleX,e.scaleY,n.scaleX,n.scaleY,r,i),e=n=null,function(t){for(var e,n=-1,o=i.length;++n<o;)r[(e=i[n]).i]=e.x(t);return r.join(\"\")}}}var i=n(43),o=n(226);r(o.a,\"px, \",\"px)\",\"deg)\"),r(o.b,\", \",\")\",\")\")},function(t,e,n){\"use strict\";function r(t){return\"none\"===t?o.a:(a||(a=document.createElement(\"DIV\"),u=document.documentElement,c=document.defaultView),a.style.transform=t,t=c.getComputedStyle(u.appendChild(a),null).getPropertyValue(\"transform\"),u.removeChild(a),t=t.slice(7,-1).split(\",\"),n.i(o.b)(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}function i(t){return null==t?o.a:(s||(s=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),s.setAttribute(\"transform\",t),(t=s.transform.baseVal.consolidate())?(t=t.matrix,n.i(o.b)(t.a,t.b,t.c,t.d,t.e,t.f)):o.a)}var o=n(224);e.a=r,e.b=i;var a,u,c,s},function(t,e,n){\"use strict\";Math.SQRT2},function(t,e,n){\"use strict\";function r(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function i(){return new r}var o=Math.PI,a=2*o,u=1e-6,c=a-u;r.prototype=i.prototype={constructor:r,moveTo:function(t,e){this._+=\"M\"+(this._x0=this._x1=+t)+\",\"+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(t,e){this._+=\"L\"+(this._x1=+t)+\",\"+(this._y1=+e)},quadraticCurveTo:function(t,e,n,r){this._+=\"Q\"+ +t+\",\"+ +e+\",\"+(this._x1=+n)+\",\"+(this._y1=+r)},bezierCurveTo:function(t,e,n,r,i,o){this._+=\"C\"+ +t+\",\"+ +e+\",\"+ +n+\",\"+ +r+\",\"+(this._x1=+i)+\",\"+(this._y1=+o)},arcTo:function(t,e,n,r,i){t=+t,e=+e,n=+n,r=+r,i=+i;var a=this._x1,c=this._y1,s=n-t,l=r-e,f=a-t,p=c-e,h=f*f+p*p;if(i<0)throw new Error(\"negative radius: \"+i);if(null===this._x1)this._+=\"M\"+(this._x1=t)+\",\"+(this._y1=e);else if(h>u)if(Math.abs(p*s-l*f)>u&&i){var d=n-a,v=r-c,g=s*s+l*l,m=d*d+v*v,y=Math.sqrt(g),_=Math.sqrt(h),b=i*Math.tan((o-Math.acos((g+h-m)/(2*y*_)))/2),x=b/_,w=b/y;Math.abs(x-1)>u&&(this._+=\"L\"+(t+x*f)+\",\"+(e+x*p)),this._+=\"A\"+i+\",\"+i+\",0,0,\"+ +(p*d>f*v)+\",\"+(this._x1=t+w*s)+\",\"+(this._y1=e+w*l)}else this._+=\"L\"+(this._x1=t)+\",\"+(this._y1=e);else;},arc:function(t,e,n,r,i,s){t=+t,e=+e,n=+n;var l=n*Math.cos(r),f=n*Math.sin(r),p=t+l,h=e+f,d=1^s,v=s?r-i:i-r;if(n<0)throw new Error(\"negative radius: \"+n);null===this._x1?this._+=\"M\"+p+\",\"+h:(Math.abs(this._x1-p)>u||Math.abs(this._y1-h)>u)&&(this._+=\"L\"+p+\",\"+h),n&&(v>c?this._+=\"A\"+n+\",\"+n+\",0,1,\"+d+\",\"+(t-l)+\",\"+(e-f)+\"A\"+n+\",\"+n+\",0,1,\"+d+\",\"+(this._x1=p)+\",\"+(this._y1=h):(v<0&&(v=v%a+a),this._+=\"A\"+n+\",\"+n+\",0,\"+ +(v>=o)+\",\"+d+\",\"+(this._x1=t+n*Math.cos(i))+\",\"+(this._y1=e+n*Math.sin(i))))},rect:function(t,e,n,r){this._+=\"M\"+(this._x0=this._x1=+t)+\",\"+(this._y0=this._y1=+e)+\"h\"+ +n+\"v\"+ +r+\"h\"+-n+\"Z\"},toString:function(){return this._}},e.a=i},function(t,e,n){\"use strict\";function r(){function t(){var t=c().length,r=l[1]<l[0],o=l[r-0],u=l[1-r];e=(u-o)/Math.max(1,t-p+2*h),f&&(e=Math.floor(e)),o+=(u-o-e*(t-p))*d,i=e*(1-p),f&&(o=Math.round(o),i=Math.round(i));var v=n.i(a.g)(t).map(function(t){return o+e*t});return s(r?v.reverse():v)}var e,i,o=n.i(u.a)().unknown(void 0),c=o.domain,s=o.range,l=[0,1],f=!1,p=0,h=0,d=.5;return delete o.unknown,o.domain=function(e){return arguments.length?(c(e),t()):c()},o.range=function(e){return arguments.length?(l=[+e[0],+e[1]],t()):l.slice()},o.rangeRound=function(e){return l=[+e[0],+e[1]],f=!0,t()},o.bandwidth=function(){return i},o.step=function(){return e},o.round=function(e){return arguments.length?(f=!!e,t()):f},o.padding=function(e){return arguments.length?(p=h=Math.max(0,Math.min(1,e)),t()):p},o.paddingInner=function(e){return arguments.length?(p=Math.max(0,Math.min(1,e)),t()):p},o.paddingOuter=function(e){return arguments.length?(h=Math.max(0,Math.min(1,e)),t()):h},o.align=function(e){return arguments.length?(d=Math.max(0,Math.min(1,e)),t()):d},o.copy=function(){return r().domain(c()).range(l).round(f).paddingInner(p).paddingOuter(h).align(d)},t()}function i(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return i(e())},t}function o(){return i(r().paddingInner(1))}var a=n(12),u=n(127);e.a=r,e.b=o},function(t,e,n){\"use strict\";var r=n(33);e.a=n.i(r.a)(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\")},function(t,e,n){\"use strict\";var r=n(33);e.a=n.i(r.a)(\"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5\")},function(t,e,n){\"use strict\";var r=n(33);e.a=n.i(r.a)(\"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6\")},function(t,e,n){\"use strict\";var r=n(33);e.a=n.i(r.a)(\"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9\")},function(t,e,n){\"use strict\";var r=n(10),i=n(31);e.a=n.i(i.d)(n.i(r.cubehelix)(300,.5,0),n.i(r.cubehelix)(-240,.5,1))},function(t,e,n){\"use strict\";function r(){function t(t){return+t}var e=[0,1];return t.invert=t,t.domain=t.range=function(n){return arguments.length?(e=i.a.call(n,a.a),t):e.slice()},t.copy=function(){return r().domain(e)},n.i(o.b)(t)}var i=n(16),o=n(34),a=n(126);e.a=r},function(t,e,n){\"use strict\";function r(t,e){return(e=Math.log(e/t))?function(n){return Math.log(n/t)/e}:n.i(p.a)(e)}function i(t,e){return t<0?function(n){return-Math.pow(-e,n)*Math.pow(-t,1-n)}:function(n){return Math.pow(e,n)*Math.pow(t,1-n)}}function o(t){return isFinite(t)?+(\"1e\"+t):t<0?0:t}function a(t){return 10===t?o:t===Math.E?Math.exp:function(e){return Math.pow(t,e)}}function u(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(e){return Math.log(e)/t})}function c(t){return function(e){return-t(-e)}}function s(){function t(){return v=u(p),g=a(p),o()[0]<0&&(v=c(v),g=c(g)),e}var e=n.i(d.a)(r,i).domain([1,10]),o=e.domain,p=10,v=u(10),g=a(10);return e.base=function(e){return arguments.length?(p=+e,t()):p},e.domain=function(e){return arguments.length?(o(e),t()):o()},e.ticks=function(t){var e,r=o(),i=r[0],a=r[r.length-1];(e=a<i)&&(f=i,i=a,a=f);var u,c,s,f=v(i),h=v(a),d=null==t?10:+t,m=[];if(!(p%1)&&h-f<d){if(f=Math.round(f)-1,h=Math.round(h)+1,i>0){for(;f<h;++f)for(c=1,u=g(f);c<p;++c)if(s=u*c,!(s<i)){if(s>a)break;m.push(s)}}else for(;f<h;++f)for(c=p-1,u=g(f);c>=1;--c)if(s=u*c,!(s<i)){if(s>a)break;m.push(s)}}else m=n.i(l.a)(f,h,Math.min(h-f,d)).map(g);return e?m.reverse():m},e.tickFormat=function(t,r){if(null==r&&(r=10===p?\".0e\":\",\"),\"function\"!=typeof r&&(r=n.i(f.format)(r)),t===1/0)return r;null==t&&(t=10);var i=Math.max(1,p*t/e.ticks().length);return function(t){var e=t/g(Math.round(v(t)));return e*p<p-.5&&(e*=p),e<=i?r(t):\"\"}},e.nice=function(){return o(n.i(h.a)(o(),{floor:function(t){return g(Math.floor(v(t)))},ceil:function(t){return g(Math.ceil(v(t)))}}))},e.copy=function(){return n.i(d.c)(e,s().base(p))},e}var l=n(12),f=n(30),p=n(65),h=n(125),d=n(45);e.a=s},function(t,e,n){\"use strict\";function r(t,e){return t<0?-Math.pow(-t,e):Math.pow(t,e)}function i(){function t(t,e){return(e=r(e,o)-(t=r(t,o)))?function(n){return(r(n,o)-t)/e}:n.i(a.a)(e)}function e(t,e){return e=r(e,o)-(t=r(t,o)),function(n){return r(t+e*n,1/o)}}var o=1,s=n.i(c.a)(t,e),l=s.domain;return s.exponent=function(t){return arguments.length?(o=+t,l(l())):o},s.copy=function(){return n.i(c.c)(s,i().exponent(o))},n.i(u.b)(s)}function o(){return i().exponent(.5)}var a=n(65),u=n(34),c=n(45);e.a=i,e.b=o},function(t,e,n){\"use strict\";function r(){function t(){var t=0,r=Math.max(1,u.length);for(c=new Array(r-1);++t<r;)c[t-1]=n.i(i.e)(a,t/r);return e}function e(t){if(!isNaN(t=+t))return u[n.i(i.c)(c,t)]}var a=[],u=[],c=[];return e.invertExtent=function(t){var e=u.indexOf(t);return e<0?[NaN,NaN]:[e>0?c[e-1]:a[0],e<c.length?c[e]:a[a.length-1]]},e.domain=function(e){if(!arguments.length)return a.slice();a=[];for(var n,r=0,o=e.length;r<o;++r)n=e[r],null==n||isNaN(n=+n)||a.push(n);return a.sort(i.f),t()},e.range=function(e){return arguments.length?(u=o.b.call(e),t()):u.slice()},e.quantiles=function(){return c.slice()},e.copy=function(){return r().domain(a).range(u)},e}var i=n(12),o=n(16);e.a=r},function(t,e,n){\"use strict\";function r(){function t(t){if(t<=t)return f[n.i(i.c)(l,t,0,s)]}function e(){var e=-1;for(l=new Array(s);++e<s;)l[e]=((e+1)*c-(e-s)*u)/(s+1);return t}var u=0,c=1,s=1,l=[.5],f=[0,1];return t.domain=function(t){return arguments.length?(u=+t[0],c=+t[1],e()):[u,c]},t.range=function(t){return arguments.length?(s=(f=o.b.call(t)).length-1,e()):f.slice()},t.invertExtent=function(t){var e=f.indexOf(t);return e<0?[NaN,NaN]:e<1?[u,l[0]]:e>=s?[l[s-1],c]:[l[e-1],l[e]]},t.copy=function(){return r().domain([u,c]).range(f)},n.i(a.b)(t)}var i=n(12),o=n(16),a=n(34);e.a=r},function(t,e,n){\"use strict\";var r=n(10),i=n(31);n.d(e,\"b\",function(){return o}),n.d(e,\"c\",function(){return a});var o=n.i(i.d)(n.i(r.cubehelix)(-100,.75,.35),n.i(r.cubehelix)(80,1.5,.8)),a=n.i(i.d)(n.i(r.cubehelix)(260,.75,.35),n.i(r.cubehelix)(80,1.5,.8)),u=n.i(r.cubehelix)();e.a=function(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return u.h=360*t-100,u.s=1.5-1.5*e,u.l=.8-.9*e,u+\"\"}},function(t,e,n){\"use strict\";function r(t){function e(e){var n=(e-o)/(a-o);return t(u?Math.max(0,Math.min(1,n)):n)}var o=0,a=1,u=!1;return e.domain=function(t){return arguments.length?(o=+t[0],a=+t[1],e):[o,a]},e.clamp=function(t){return arguments.length?(u=!!t,e):u},e.interpolator=function(n){return arguments.length?(t=n,e):t},e.copy=function(){return r(t).domain([o,a]).clamp(u)},n.i(i.b)(e)}var i=n(34);e.a=r},function(t,e,n){\"use strict\";function r(){function t(t){if(t<=t)return a[n.i(i.c)(e,t,0,u)]}var e=[.5],a=[0,1],u=1;return t.domain=function(n){return arguments.length?(e=o.b.call(n),u=Math.min(e.length,a.length-1),t):e.slice()},t.range=function(n){return arguments.length?(a=o.b.call(n),u=Math.min(e.length,a.length-1),t):a.slice()},t.invertExtent=function(t){var n=a.indexOf(t);return[e[n-1],e[n]]},t.copy=function(){return r().domain(e).range(a)},t}var i=n(12),o=n(16);e.a=r},function(t,e,n){\"use strict\";var r=n(12),i=n(30);e.a=function(t,e,o){var a,u=t[0],c=t[t.length-1],s=n.i(r.b)(u,c,null==e?10:e);switch(o=n.i(i.formatSpecifier)(null==o?\",f\":o),o.type){case\"s\":var l=Math.max(Math.abs(u),Math.abs(c));return null!=o.precision||isNaN(a=n.i(i.precisionPrefix)(s,l))||(o.precision=a),n.i(i.formatPrefix)(o,l);case\"\":case\"e\":case\"g\":case\"p\":case\"r\":null!=o.precision||isNaN(a=n.i(i.precisionRound)(s,Math.max(Math.abs(u),Math.abs(c))))||(o.precision=a-(\"e\"===o.type));break;case\"f\":case\"%\":null!=o.precision||isNaN(a=n.i(i.precisionFixed)(s))||(o.precision=a-2*(\"%\"===o.type))}return n.i(i.format)(o)}},function(t,e,n){\"use strict\";var r=n(128),i=n(77),o=n(79);e.a=function(){return n.i(r.b)(o.f,o.i,o.j,o.e,o.k,o.l,o.m,o.n,i.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])}},function(t,e,n){\"use strict\";function r(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var i=n(33);n.d(e,\"b\",function(){return o}),n.d(e,\"c\",function(){return a}),n.d(e,\"d\",function(){return u}),e.a=r(n.i(i.a)(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\"));var o=r(n.i(i.a)(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\")),a=r(n.i(i.a)(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\")),u=r(n.i(i.a)(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"))},function(t,e,n){\"use strict\";e.a=function(t){return function(){return t}}},function(t,e,n){\"use strict\";function r(){return new i}function i(){this._=\"@\"+(++o).toString(36)}e.a=r;var o=0;i.prototype=r.prototype={constructor:i,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}}},function(t,e,n){\"use strict\";var r=n(72),i=n(69);e.a=function(t){var e=n.i(r.a)();return e.changedTouches&&(e=e.changedTouches[0]),n.i(i.a)(t,e)}},function(t,e,n){\"use strict\";var r=n(7);e.a=function(t){return\"string\"==typeof t?new r.b([[document.querySelector(t)]],[document.documentElement]):new r.b([[t]],r.c)}},function(t,e,n){\"use strict\";var r=n(7);e.a=function(t){return\"string\"==typeof t?new r.b([document.querySelectorAll(t)],[document.documentElement]):new r.b([null==t?[]:t],r.c)}},function(t,e,n){\"use strict\";var r=n(66);e.a=function(t){var e=\"function\"==typeof t?t:n.i(r.a)(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}},function(t,e,n){\"use strict\";function r(t){return function(){this.removeAttribute(t)}}function i(t){return function(){this.removeAttributeNS(t.space,t.local)}}function o(t,e){return function(){this.setAttribute(t,e)}}function a(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function u(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function c(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}var s=n(67);e.a=function(t,e){var l=n.i(s.a)(t);if(arguments.length<2){var f=this.node();return l.local?f.getAttributeNS(l.space,l.local):f.getAttribute(l)}return this.each((null==e?l.local?i:r:\"function\"==typeof e?l.local?c:u:l.local?a:o)(l,e))}},function(t,e,n){\"use strict\";e.a=function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}},function(t,e,n){\"use strict\";function r(t){return t.trim().split(/^|\\s+/)}function i(t){return t.classList||new o(t)}function o(t){this._node=t,this._names=r(t.getAttribute(\"class\")||\"\")}function a(t,e){for(var n=i(t),r=-1,o=e.length;++r<o;)n.add(e[r])}function u(t,e){for(var n=i(t),r=-1,o=e.length;++r<o;)n.remove(e[r])}function c(t){return function(){a(this,t)}}function s(t){return function(){u(this,t)}}function l(t,e){return function(){(e.apply(this,arguments)?a:u)(this,t)}}o.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute(\"class\",this._names.join(\" \")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute(\"class\",this._names.join(\" \")))},contains:function(t){return this._names.indexOf(t)>=0}},e.a=function(t,e){var n=r(t+\"\");if(arguments.length<2){for(var o=i(this.node()),a=-1,u=n.length;++a<u;)if(!o.contains(n[a]))return!1;return!0}return this.each((\"function\"==typeof e?l:e?c:s)(n,e))}},function(t,e,n){\"use strict\";function r(t,e,n,r,i,o){for(var u,c=0,s=e.length,l=o.length;c<l;++c)(u=e[c])?(u.__data__=o[c],r[c]=u):n[c]=new a.b(t,o[c]);for(;c<s;++c)(u=e[c])&&(i[c]=u)}function i(t,e,n,r,i,o,u){var s,l,f,p={},h=e.length,d=o.length,v=new Array(h);for(s=0;s<h;++s)(l=e[s])&&(v[s]=f=c+u.call(l,l.__data__,s,e),f in p?i[s]=l:p[f]=l);for(s=0;s<d;++s)f=c+u.call(t,o[s],s,o),(l=p[f])?(r[s]=l,l.__data__=o[s],p[f]=null):n[s]=new a.b(t,o[s]);for(s=0;s<h;++s)(l=e[s])&&p[v[s]]===l&&(i[s]=l)}var o=n(7),a=n(131),u=n(246),c=\"$\";e.a=function(t,e){if(!t)return y=new Array(this.size()),d=-1,this.each(function(t){y[++d]=t}),y;var a=e?i:r,c=this._parents,s=this._groups;\"function\"!=typeof t&&(t=n.i(u.a)(t));for(var l=s.length,f=new Array(l),p=new Array(l),h=new Array(l),d=0;d<l;++d){var v=c[d],g=s[d],m=g.length,y=t.call(v,v&&v.__data__,d,c),_=y.length,b=p[d]=new Array(_),x=f[d]=new Array(_),w=h[d]=new Array(m);a(v,g,b,x,w,y,e);for(var C,M,k=0,E=0;k<_;++k)if(C=b[k]){for(k>=E&&(E=k+1);!(M=x[E])&&++E<_;);C._next=M||null}}return f=new o.b(f,c),f._enter=p,f._exit=h,f}},function(t,e,n){\"use strict\";e.a=function(t){return arguments.length?this.property(\"__data__\",t):this.node().__data__}},function(t,e,n){\"use strict\";function r(t,e,r){var i=n.i(a.a)(t),o=i.CustomEvent;o?o=new o(e,r):(o=i.document.createEvent(\"Event\"),r?(o.initEvent(e,r.bubbles,r.cancelable),o.detail=r.detail):o.initEvent(e,!1,!1)),t.dispatchEvent(o)}function i(t,e){return function(){return r(this,t,e)}}function o(t,e){return function(){return r(this,t,e.apply(this,arguments))}}var a=n(73);e.a=function(t,e){return this.each((\"function\"==typeof e?o:i)(t,e))}},function(t,e,n){\"use strict\";e.a=function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,o=e[n],a=0,u=o.length;a<u;++a)(i=o[a])&&t.call(i,i.__data__,a,o);return this}},function(t,e,n){\"use strict\";e.a=function(){return!this.node()}},function(t,e,n){\"use strict\";var r=n(132),i=n(7);e.a=function(){return new i.b(this._exit||this._groups.map(r.a),this._parents)}},function(t,e,n){\"use strict\";var r=n(7),i=n(130);e.a=function(t){\"function\"!=typeof t&&(t=n.i(i.a)(t));for(var e=this._groups,o=e.length,a=new Array(o),u=0;u<o;++u)for(var c,s=e[u],l=s.length,f=a[u]=[],p=0;p<l;++p)(c=s[p])&&t.call(c,c.__data__,p,s)&&f.push(c);return new r.b(a,this._parents)}},function(t,e,n){\"use strict\";function r(){this.innerHTML=\"\"}function i(t){return function(){this.innerHTML=t}}function o(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?\"\":e}}e.a=function(t){return arguments.length?this.each(null==t?r:(\"function\"==typeof t?o:i)(t)):this.node().innerHTML}},function(t,e,n){\"use strict\";function r(){return null}var i=n(66),o=n(71);e.a=function(t,e){var a=\"function\"==typeof t?t:n.i(i.a)(t),u=null==e?r:\"function\"==typeof e?e:n.i(o.a)(e);return this.select(function(){return this.insertBefore(a.apply(this,arguments),u.apply(this,arguments)||null)})}},function(t,e,n){\"use strict\";function r(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}e.a=function(){return this.each(r)}},function(t,e,n){\"use strict\";var r=n(7);e.a=function(t){for(var e=this._groups,n=t._groups,i=e.length,o=n.length,a=Math.min(i,o),u=new Array(i),c=0;c<a;++c)for(var s,l=e[c],f=n[c],p=l.length,h=u[c]=new Array(p),d=0;d<p;++d)(s=l[d]||f[d])&&(h[d]=s);for(;c<i;++c)u[c]=e[c];return new r.b(u,this._parents)}},function(t,e,n){\"use strict\";e.a=function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null}},function(t,e,n){\"use strict\";e.a=function(){var t=new Array(this.size()),e=-1;return this.each(function(){t[++e]=this}),t}},function(t,e,n){\"use strict\";e.a=function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this}},function(t,e,n){\"use strict\";function r(t){return function(){delete this[t]}}function i(t,e){return function(){this[t]=e}}function o(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}e.a=function(t,e){return arguments.length>1?this.each((null==e?r:\"function\"==typeof e?o:i)(t,e)):this.node()[t]}},function(t,e,n){\"use strict\";function r(){this.nextSibling&&this.parentNode.appendChild(this)}e.a=function(){return this.each(r)}},function(t,e,n){\"use strict\";function r(){var t=this.parentNode;t&&t.removeChild(this)}e.a=function(){return this.each(r)}},function(t,e,n){\"use strict\";var r=n(7),i=n(71);e.a=function(t){\"function\"!=typeof t&&(t=n.i(i.a)(t));for(var e=this._groups,o=e.length,a=new Array(o),u=0;u<o;++u)for(var c,s,l=e[u],f=l.length,p=a[u]=new Array(f),h=0;h<f;++h)(c=l[h])&&(s=t.call(c,c.__data__,h,l))&&(\"__data__\"in c&&(s.__data__=c.__data__),p[h]=s);return new r.b(a,this._parents)}},function(t,e,n){\"use strict\";var r=n(7),i=n(133);e.a=function(t){\"function\"!=typeof t&&(t=n.i(i.a)(t));for(var e=this._groups,o=e.length,a=[],u=[],c=0;c<o;++c)for(var s,l=e[c],f=l.length,p=0;p<f;++p)(s=l[p])&&(a.push(t.call(s,s.__data__,p,l)),u.push(s));return new r.b(a,u)}},function(t,e,n){\"use strict\";e.a=function(){var t=0;return this.each(function(){++t}),t}},function(t,e,n){\"use strict\";function r(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}var i=n(7);e.a=function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=r);for(var n=this._groups,o=n.length,a=new Array(o),u=0;u<o;++u){for(var c,s=n[u],l=s.length,f=a[u]=new Array(l),p=0;p<l;++p)(c=s[p])&&(f[p]=c);f.sort(e)}return new i.b(a,this._parents).order()}},function(t,e,n){\"use strict\";function r(t){return function(){this.style.removeProperty(t)}}function i(t,e,n){return function(){this.style.setProperty(t,e,n)}}function o(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}var a=n(73);e.a=function(t,e,u){var c;return arguments.length>1?this.each((null==e?r:\"function\"==typeof e?o:i)(t,e,null==u?\"\":u)):n.i(a.a)(c=this.node()).getComputedStyle(c,null).getPropertyValue(t)}},function(t,e,n){\"use strict\";function r(){this.textContent=\"\"}function i(t){return function(){this.textContent=t}}function o(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?\"\":e}}e.a=function(t){return arguments.length?this.each(null==t?r:(\"function\"==typeof t?o:i)(t)):this.node().textContent}},function(t,e,n){\"use strict\";var r=n(72),i=n(69);e.a=function(t,e,o){arguments.length<3&&(o=e,e=n.i(r.a)().changedTouches);for(var a,u=0,c=e?e.length:0;u<c;++u)if((a=e[u]).identifier===o)return n.i(i.a)(t,a);return null}},function(t,e,n){\"use strict\";var r=n(72),i=n(69);e.a=function(t,e){null==e&&(e=n.i(r.a)().touches);for(var o=0,a=e?e.length:0,u=new Array(a);o<a;++o)u[o]=n.i(i.a)(t,e[o]);return u}},function(t,e,n){\"use strict\";function r(t){return t.innerRadius}function i(t){return t.outerRadius}function o(t){return t.startAngle}function a(t){return t.endAngle}function u(t){return t&&t.padAngle}function c(t){return t>=1?h.d:t<=-1?-h.d:Math.asin(t)}function s(t,e,n,r,i,o,a,u){var c=n-t,s=r-e,l=a-i,f=u-o,p=(l*(e-o)-f*(t-i))/(f*c-l*s);return[t+p*c,e+p*s]}function l(t,e,n,r,i,o,a){var u=t-n,c=e-r,s=(a?o:-o)/Math.sqrt(u*u+c*c),l=s*c,f=-s*u,p=t+l,h=e+f,d=n+l,v=r+f,g=(p+d)/2,m=(h+v)/2,y=d-p,_=v-h,b=y*y+_*_,x=i-o,w=p*v-d*h,C=(_<0?-1:1)*Math.sqrt(Math.max(0,x*x*b-w*w)),M=(w*_-y*C)/b,k=(-w*y-_*C)/b,E=(w*_+y*C)/b,T=(-w*y+_*C)/b,S=M-g,P=k-m,N=E-g,A=T-m;return S*S+P*P>N*N+A*A&&(M=E,k=T),{cx:M,cy:k,x01:-l,y01:-f,x11:M*(i/x-1),y11:k*(i/x-1)}}var f=n(44),p=n(19),h=n(35);e.a=function(){function t(){var t,r,i=+e.apply(this,arguments),o=+d.apply(this,arguments),a=m.apply(this,arguments)-h.d,u=y.apply(this,arguments)-h.d,p=Math.abs(u-a),x=u>a;if(b||(b=t=n.i(f.a)()),o<i&&(r=o,o=i,i=r),o>h.a)if(p>h.c-h.a)b.moveTo(o*Math.cos(a),o*Math.sin(a)),b.arc(0,0,o,a,u,!x),i>h.a&&(b.moveTo(i*Math.cos(u),i*Math.sin(u)),b.arc(0,0,i,u,a,x));else{var w,C,M=a,k=u,E=a,T=u,S=p,P=p,N=_.apply(this,arguments)/2,A=N>h.a&&(g?+g.apply(this,arguments):Math.sqrt(i*i+o*o)),O=Math.min(Math.abs(o-i)/2,+v.apply(this,arguments)),I=O,D=O;\n",
       "if(A>h.a){var R=c(A/i*Math.sin(N)),L=c(A/o*Math.sin(N));(S-=2*R)>h.a?(R*=x?1:-1,E+=R,T-=R):(S=0,E=T=(a+u)/2),(P-=2*L)>h.a?(L*=x?1:-1,M+=L,k-=L):(P=0,M=k=(a+u)/2)}var U=o*Math.cos(M),F=o*Math.sin(M),j=i*Math.cos(T),B=i*Math.sin(T);if(O>h.a){var W=o*Math.cos(k),V=o*Math.sin(k),z=i*Math.cos(E),H=i*Math.sin(E);if(p<h.b){var q=S>h.a?s(U,F,z,H,W,V,j,B):[j,B],Y=U-q[0],K=F-q[1],G=W-q[0],$=V-q[1],X=1/Math.sin(Math.acos((Y*G+K*$)/(Math.sqrt(Y*Y+K*K)*Math.sqrt(G*G+$*$)))/2),Z=Math.sqrt(q[0]*q[0]+q[1]*q[1]);I=Math.min(O,(i-Z)/(X-1)),D=Math.min(O,(o-Z)/(X+1))}}P>h.a?D>h.a?(w=l(z,H,U,F,o,D,x),C=l(W,V,j,B,o,D,x),b.moveTo(w.cx+w.x01,w.cy+w.y01),D<O?b.arc(w.cx,w.cy,D,Math.atan2(w.y01,w.x01),Math.atan2(C.y01,C.x01),!x):(b.arc(w.cx,w.cy,D,Math.atan2(w.y01,w.x01),Math.atan2(w.y11,w.x11),!x),b.arc(0,0,o,Math.atan2(w.cy+w.y11,w.cx+w.x11),Math.atan2(C.cy+C.y11,C.cx+C.x11),!x),b.arc(C.cx,C.cy,D,Math.atan2(C.y11,C.x11),Math.atan2(C.y01,C.x01),!x))):(b.moveTo(U,F),b.arc(0,0,o,M,k,!x)):b.moveTo(U,F),i>h.a&&S>h.a?I>h.a?(w=l(j,B,W,V,i,-I,x),C=l(U,F,z,H,i,-I,x),b.lineTo(w.cx+w.x01,w.cy+w.y01),I<O?b.arc(w.cx,w.cy,I,Math.atan2(w.y01,w.x01),Math.atan2(C.y01,C.x01),!x):(b.arc(w.cx,w.cy,I,Math.atan2(w.y01,w.x01),Math.atan2(w.y11,w.x11),!x),b.arc(0,0,i,Math.atan2(w.cy+w.y11,w.cx+w.x11),Math.atan2(C.cy+C.y11,C.cx+C.x11),x),b.arc(C.cx,C.cy,I,Math.atan2(C.y11,C.x11),Math.atan2(C.y01,C.x01),!x))):b.arc(0,0,i,T,E,x):b.lineTo(j,B)}else b.moveTo(0,0);if(b.closePath(),t)return b=null,t+\"\"||null}var e=r,d=i,v=n.i(p.a)(0),g=null,m=o,y=a,_=u,b=null;return t.centroid=function(){var t=(+e.apply(this,arguments)+ +d.apply(this,arguments))/2,n=(+m.apply(this,arguments)+ +y.apply(this,arguments))/2-h.b/2;return[Math.cos(n)*t,Math.sin(n)*t]},t.innerRadius=function(r){return arguments.length?(e=\"function\"==typeof r?r:n.i(p.a)(+r),t):e},t.outerRadius=function(e){return arguments.length?(d=\"function\"==typeof e?e:n.i(p.a)(+e),t):d},t.cornerRadius=function(e){return arguments.length?(v=\"function\"==typeof e?e:n.i(p.a)(+e),t):v},t.padRadius=function(e){return arguments.length?(g=null==e?null:\"function\"==typeof e?e:n.i(p.a)(+e),t):g},t.startAngle=function(e){return arguments.length?(m=\"function\"==typeof e?e:n.i(p.a)(+e),t):m},t.endAngle=function(e){return arguments.length?(y=\"function\"==typeof e?e:n.i(p.a)(+e),t):y},t.padAngle=function(e){return arguments.length?(_=\"function\"==typeof e?e:n.i(p.a)(+e),t):_},t.context=function(e){return arguments.length?(b=null==e?null:e,t):b},t}},function(t,e,n){\"use strict\";n.d(e,\"a\",function(){return r});var r=Array.prototype.slice},function(t,e,n){\"use strict\";function r(t){this._context=t}var i=n(49),o=n(46);r.prototype={areaStart:i.a,areaEnd:i.a,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:n.i(o.c)(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},e.a=function(t){return new r(t)}},function(t,e,n){\"use strict\";function r(t){this._context=t}var i=n(46);r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,o=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,o):this._context.moveTo(r,o);break;case 3:this._point=4;default:n.i(i.c)(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},e.a=function(t){return new r(t)}},function(t,e,n){\"use strict\";function r(t,e){this._basis=new i.b(t),this._beta=e}var i=n(46);r.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],o=e[0],a=t[n]-i,u=e[n]-o,c=-1;++c<=n;)r=c/n,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*a),this._beta*e[c]+(1-this._beta)*(o+r*u));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}},e.a=function t(e){function n(t){return 1===e?new i.b(t):new r(t,e)}return n.beta=function(e){return t(+e)},n}(.85)},function(t,e,n){\"use strict\";function r(t,e){this._context=t,this._alpha=e}var i=n(136),o=n(49),a=n(74);r.prototype={areaStart:o.a,areaEnd:o.a,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:n.i(a.b)(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},e.a=function t(e){function n(t){return e?new r(t,e):new i.b(t,0)}return n.alpha=function(e){return t(+e)},n}(.5)},function(t,e,n){\"use strict\";function r(t,e){this._context=t,this._alpha=e}var i=n(137),o=n(74);r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:n.i(o.b)(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}},e.a=function t(e){function n(t){return e?new r(t,e):new i.b(t,0)}return n.alpha=function(e){return t(+e)},n}(.5)},function(t,e,n){\"use strict\";function r(t){this._context=t}var i=n(49);r.prototype={areaStart:i.a,areaEnd:i.a,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},e.a=function(t){return new r(t)}},function(t,e,n){\"use strict\";function r(t){return t<0?-1:1}function i(t,e,n){var i=t._x1-t._x0,o=e-t._x1,a=(t._y1-t._y0)/(i||o<0&&-0),u=(n-t._y1)/(o||i<0&&-0),c=(a*o+u*i)/(i+o);return(r(a)+r(u))*Math.min(Math.abs(a),Math.abs(u),.5*Math.abs(c))||0}function o(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function a(t,e,n){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,u=(o-r)/3;t._context.bezierCurveTo(r+u,i+u*e,o-u,a-u*n,o,a)}function u(t){this._context=t}function c(t){this._context=new s(t)}function s(t){this._context=t}function l(t){return new u(t)}function f(t){return new c(t)}e.a=l,e.b=f,u.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:a(this,this._t0,o(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,t!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,a(this,o(this,n=i(this,t,e)),n);break;default:a(this,this._t0,n=i(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}},(c.prototype=Object.create(u.prototype)).point=function(t,e){u.prototype.point.call(this,e,t)},s.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,o){this._context.bezierCurveTo(e,t,r,n,o,i)}}},function(t,e,n){\"use strict\";function r(t){this._context=t}function i(t){var e,n,r=t.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],e=1;e<r-1;++e)i[e]=1,o[e]=4,a[e]=4*t[e]+2*t[e+1];for(i[r-1]=2,o[r-1]=7,a[r-1]=8*t[r-1]+t[r],e=1;e<r;++e)n=i[e]/o[e-1],o[e]-=n,a[e]-=n*a[e-1];for(i[r-1]=a[r-1]/o[r-1],e=r-2;e>=0;--e)i[e]=(a[e]-i[e+1])/o[e];for(o[r-1]=(t[r]+i[r-1])/2,e=0;e<r-1;++e)o[e]=2*t[e+1]-i[e+1];return[i,o]}r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===n)this._context.lineTo(t[1],e[1]);else for(var r=i(t),o=i(e),a=0,u=1;u<n;++a,++u)this._context.bezierCurveTo(r[0][a],o[0][a],r[1][a],o[1][a],t[u],e[u]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},e.a=function(t){return new r(t)}},function(t,e,n){\"use strict\";function r(t,e){this._context=t,this._t=e}function i(t){return new r(t,0)}function o(t){return new r(t,1)}e.c=i,e.b=o,r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}},e.a=function(t){return new r(t,.5)}},function(t,e,n){\"use strict\";e.a=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}},function(t,e,n){\"use strict\";e.a=function(t){return t}},function(t,e,n){\"use strict\";var r=n(36);e.a=function(t,e){if((o=t.length)>0){for(var i,o,a,u=0,c=t[0].length;u<c;++u){for(a=i=0;i<o;++i)a+=t[i][u][1]||0;if(a)for(i=0;i<o;++i)t[i][u][1]/=a}n.i(r.a)(t,e)}}},function(t,e,n){\"use strict\";var r=n(36);e.a=function(t,e){if((i=t.length)>0){for(var i,o=0,a=t[e[0]],u=a.length;o<u;++o){for(var c=0,s=0;c<i;++c)s+=t[c][o][1]||0;a[o][1]+=a[o][0]=-s/2}n.i(r.a)(t,e)}}},function(t,e,n){\"use strict\";var r=n(36);e.a=function(t,e){if((a=t.length)>0&&(o=(i=t[e[0]]).length)>0){for(var i,o,a,u=0,c=1;c<o;++c){for(var s=0,l=0,f=0;s<a;++s){for(var p=t[e[s]],h=p[c][1]||0,d=p[c-1][1]||0,v=(h-d)/2,g=0;g<s;++g){var m=t[e[g]],y=m[c][1]||0,_=m[c-1][1]||0;v+=y-_}l+=h,f+=v*h}i[c-1][1]+=i[c-1][0]=u,l&&(u-=f/l)}i[c-1][1]+=i[c-1][0]=u,n.i(r.a)(t,e)}}},function(t,e,n){\"use strict\";var r=n(76);e.a=function(t){return n.i(r.a)(t).reverse()}},function(t,e,n){\"use strict\";var r=n(37),i=n(76);e.a=function(t){var e,o,a=t.length,u=t.map(i.b),c=n.i(r.a)(t).sort(function(t,e){return u[e]-u[t]}),s=0,l=0,f=[],p=[];for(e=0;e<a;++e)o=c[e],s<l?(s+=u[o],f.push(o)):(l+=u[o],p.push(o));return p.reverse().concat(f)}},function(t,e,n){\"use strict\";var r=n(37);e.a=function(t){return n.i(r.a)(t).reverse()}},function(t,e,n){\"use strict\";var r=n(19),i=n(291),o=n(292),a=n(35);e.a=function(){function t(t){var n,r,i,o,p,h=t.length,d=0,v=new Array(h),g=new Array(h),m=+s.apply(this,arguments),y=Math.min(a.c,Math.max(-a.c,l.apply(this,arguments)-m)),_=Math.min(Math.abs(y)/h,f.apply(this,arguments)),b=_*(y<0?-1:1);for(n=0;n<h;++n)(p=g[v[n]=n]=+e(t[n],n,t))>0&&(d+=p);for(null!=u?v.sort(function(t,e){return u(g[t],g[e])}):null!=c&&v.sort(function(e,n){return c(t[e],t[n])}),n=0,i=d?(y-h*b)/d:0;n<h;++n,m=o)r=v[n],p=g[r],o=m+(p>0?p*i:0)+b,g[r]={data:t[r],index:n,value:p,startAngle:m,endAngle:o,padAngle:_};return g}var e=o.a,u=i.a,c=null,s=n.i(r.a)(0),l=n.i(r.a)(a.c),f=n.i(r.a)(0);return t.value=function(i){return arguments.length?(e=\"function\"==typeof i?i:n.i(r.a)(+i),t):e},t.sortValues=function(e){return arguments.length?(u=e,c=null,t):u},t.sort=function(e){return arguments.length?(c=e,u=null,t):c},t.startAngle=function(e){return arguments.length?(s=\"function\"==typeof e?e:n.i(r.a)(+e),t):s},t.endAngle=function(e){return arguments.length?(l=\"function\"==typeof e?e:n.i(r.a)(+e),t):l},t.padAngle=function(e){return arguments.length?(f=\"function\"==typeof e?e:n.i(r.a)(+e),t):f},t}},function(t,e,n){\"use strict\";var r=n(138),i=n(135),o=n(140);e.a=function(){var t=n.i(i.a)().curve(r.b),e=t.curve,a=t.lineX0,u=t.lineX1,c=t.lineY0,s=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return n.i(o.b)(a())},delete t.lineX0,t.lineEndAngle=function(){return n.i(o.b)(u())},delete t.lineX1,t.lineInnerRadius=function(){return n.i(o.b)(c())},delete t.lineY0,t.lineOuterRadius=function(){return n.i(o.b)(s())},delete t.lineY1,t.curve=function(t){return arguments.length?e(n.i(r.a)(t)):e()._curve},t}},function(t,e,n){\"use strict\";function r(t,e){return t[e]}var i=n(281),o=n(19),a=n(36),u=n(37);e.a=function(){function t(t){var n,r,i=e.apply(this,arguments),o=t.length,a=i.length,u=new Array(a);for(n=0;n<a;++n){for(var f,p=i[n],h=u[n]=new Array(o),d=0;d<o;++d)h[d]=f=[0,+l(t[d],p,d,t)],f.data=t[d];h.key=p}for(n=0,r=c(u);n<a;++n)u[r[n]].index=n;return s(u,r),u}var e=n.i(o.a)([]),c=u.a,s=a.a,l=r;return t.keys=function(r){return arguments.length?(e=\"function\"==typeof r?r:n.i(o.a)(i.a.call(r)),t):e},t.value=function(e){return arguments.length?(l=\"function\"==typeof e?e:n.i(o.a)(+e),t):l},t.order=function(e){return arguments.length?(c=null==e?u.a:\"function\"==typeof e?e:n.i(o.a)(i.a.call(e)),t):c},t.offset=function(e){return arguments.length?(s=null==e?a.a:e,t):s},t}},function(t,e,n){\"use strict\";var r=n(44),i=n(141),o=n(142),a=n(143),u=n(145),c=n(144),s=n(146),l=n(147),f=n(19);n.d(e,\"b\",function(){return p});var p=[i.a,o.a,a.a,c.a,u.a,s.a,l.a];e.a=function(){function t(){var t;if(a||(a=t=n.i(r.a)()),e.apply(this,arguments).draw(a,+o.apply(this,arguments)),t)return a=null,t+\"\"||null}var e=n.i(f.a)(i.a),o=n.i(f.a)(64),a=null;return t.type=function(r){return arguments.length?(e=\"function\"==typeof r?r:n.i(f.a)(r),t):e},t.size=function(e){return arguments.length?(o=\"function\"==typeof e?e:n.i(f.a)(+e),t):o},t.context=function(e){return arguments.length?(a=null==e?null:e,t):a},t}},function(t,e,n){\"use strict\";function r(t){var e=new Date(t);return isNaN(e)?null:e}var i=n(148),o=n(78),a=+new Date(\"2000-01-01T00:00:00.000Z\")?r:n.i(o.e)(i.b);e.a=a},function(t,e,n){\"use strict\";var r=n(5),i=n(13),o=n.i(r.a)(function(t){t.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.d)/i.b},function(t){return t.getDate()-1});e.a=o;o.range},function(t,e,n){\"use strict\";var r=n(5),i=n(13),o=n.i(r.a)(function(t){var e=t.getTimezoneOffset()*i.d%i.c;e<0&&(e+=i.c),t.setTime(Math.floor((+t-e)/i.c)*i.c+e)},function(t,e){t.setTime(+t+e*i.c)},function(t,e){return(e-t)/i.c},function(t){return t.getHours()});e.a=o;o.range},function(t,e,n){\"use strict\";var r=n(5),i=n.i(r.a)(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t});i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?n.i(r.a)(function(e){e.setTime(Math.floor(e/t)*t)},function(e,n){e.setTime(+e+n*t)},function(e,n){return(n-e)/t}):i:null},e.a=i;i.range},function(t,e,n){\"use strict\";var r=n(5),i=n(13),o=n.i(r.a)(function(t){t.setTime(Math.floor(t/i.d)*i.d)},function(t,e){t.setTime(+t+e*i.d)},function(t,e){return(e-t)/i.d},function(t){return t.getMinutes()});e.a=o;o.range},function(t,e,n){\"use strict\";var r=n(5),i=n.i(r.a)(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,e){t.setMonth(t.getMonth()+e)},function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())},function(t){return t.getMonth()});e.a=i;i.range},function(t,e,n){\"use strict\";var r=n(5),i=n(13),o=n.i(r.a)(function(t){t.setTime(Math.floor(t/i.e)*i.e)},function(t,e){t.setTime(+t+e*i.e)},function(t,e){return(e-t)/i.e},function(t){return t.getUTCSeconds()});e.a=o;o.range},function(t,e,n){\"use strict\";var r=n(5),i=n(13),o=n.i(r.a)(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/i.b},function(t){return t.getUTCDate()-1});e.a=o;o.range},function(t,e,n){\"use strict\";var r=n(5),i=n(13),o=n.i(r.a)(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+e*i.c)},function(t,e){return(e-t)/i.c},function(t){return t.getUTCHours()});e.a=o;o.range},function(t,e,n){\"use strict\";var r=n(5),i=n(13),o=n.i(r.a)(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+e*i.d)},function(t,e){return(e-t)/i.d},function(t){return t.getUTCMinutes()});e.a=o;o.range},function(t,e,n){\"use strict\";var r=n(5),i=n.i(r.a)(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()});e.a=i;i.range},function(t,e,n){\"use strict\";function r(t){return n.i(i.a)(function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+7*e)},function(t,e){return(e-t)/o.a})}var i=n(5),o=n(13);n.d(e,\"a\",function(){return a}),n.d(e,\"b\",function(){return u});var a=r(0),u=r(1),c=r(2),s=r(3),l=r(4),f=r(5),p=r(6);a.range,u.range,c.range,s.range,l.range,f.range,p.range},function(t,e,n){\"use strict\";var r=n(5),i=n.i(r.a)(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n.i(r.a)(function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)}):null},e.a=i;i.range},function(t,e,n){\"use strict\";function r(t){return n.i(i.a)(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(t,e){t.setDate(t.getDate()+7*e)},function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*o.d)/o.a})}var i=n(5),o=n(13);n.d(e,\"a\",function(){return a}),n.d(e,\"b\",function(){return u});var a=r(0),u=r(1),c=r(2),s=r(3),l=r(4),f=r(5),p=r(6);a.range,u.range,c.range,s.range,l.range,f.range,p.range},function(t,e,n){\"use strict\";var r=n(5),i=n.i(r.a)(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n.i(r.a)(function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,n){e.setFullYear(e.getFullYear()+n*t)}):null},e.a=i;i.range},function(t,e,n){\"use strict\";function r(t){return t.replace(i,function(t,e){return e.toUpperCase()})}var i=/-(.)/g;t.exports=r},function(t,e,n){\"use strict\";function r(t){return i(t.replace(o,\"ms-\"))}var i=n(318),o=/^-ms-/;t.exports=r},function(t,e,n){\"use strict\";function r(t,e){return!(!t||!e)&&(t===e||!i(t)&&(i(e)?r(t,e.parentNode):\"contains\"in t?t.contains(e):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(e))))}var i=n(328);t.exports=r},function(t,e,n){\"use strict\";function r(t){var e=t.length;if(Array.isArray(t)||\"object\"!=typeof t&&\"function\"!=typeof t?a(!1):void 0,\"number\"!=typeof e?a(!1):void 0,0===e||e-1 in t?void 0:a(!1),\"function\"==typeof t.callee?a(!1):void 0,t.hasOwnProperty)try{return Array.prototype.slice.call(t)}catch(t){}for(var n=Array(e),r=0;r<e;r++)n[r]=t[r];return n}function i(t){return!!t&&(\"object\"==typeof t||\"function\"==typeof t)&&\"length\"in t&&!(\"setInterval\"in t)&&\"number\"!=typeof t.nodeType&&(Array.isArray(t)||\"callee\"in t||\"item\"in t)}function o(t){return i(t)?Array.isArray(t)?t.slice():r(t):[t]}var a=n(0);t.exports=o},function(t,e,n){\"use strict\";function r(t){var e=t.match(l);return e&&e[1].toLowerCase()}function i(t,e){var n=s;s?void 0:c(!1);var i=r(t),o=i&&u(i);if(o){n.innerHTML=o[1]+t+o[2];for(var l=o[0];l--;)n=n.lastChild}else n.innerHTML=t;var f=n.getElementsByTagName(\"script\");f.length&&(e?void 0:c(!1),a(f).forEach(e));for(var p=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return p}var o=n(6),a=n(321),u=n(323),c=n(0),s=o.canUseDOM?document.createElement(\"div\"):null,l=/^\\s*<(\\w+)/;t.exports=i},function(t,e,n){\"use strict\";function r(t){return a?void 0:o(!1),p.hasOwnProperty(t)||(t=\"*\"),u.hasOwnProperty(t)||(\"*\"===t?a.innerHTML=\"<link />\":a.innerHTML=\"<\"+t+\"></\"+t+\">\",u[t]=!a.firstChild),u[t]?p[t]:null}var i=n(6),o=n(0),a=i.canUseDOM?document.createElement(\"div\"):null,u={},c=[1,'<select multiple=\"true\">',\"</select>\"],s=[1,\"<table>\",\"</table>\"],l=[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],f=[1,'<svg xmlns=\"http://www.w3.org/2000/svg\">',\"</svg>\"],p={\"*\":[1,\"?<div>\",\"</div>\"],area:[1,\"<map>\",\"</map>\"],col:[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],legend:[1,\"<fieldset>\",\"</fieldset>\"],param:[1,\"<object>\",\"</object>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],optgroup:c,option:c,caption:s,colgroup:s,tbody:s,tfoot:s,thead:s,td:l,th:l},h=[\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"g\",\"image\",\"line\",\"linearGradient\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"text\",\"tspan\"];h.forEach(function(t){p[t]=f,u[t]=!0}),t.exports=r},function(t,e,n){\"use strict\";function r(t){return t===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:t.scrollLeft,y:t.scrollTop}}t.exports=r},function(t,e,n){\"use strict\";function r(t){return t.replace(i,\"-$1\").toLowerCase()}var i=/([A-Z])/g;t.exports=r},function(t,e,n){\"use strict\";function r(t){return i(t).replace(o,\"-ms-\")}var i=n(325),o=/^ms-/;t.exports=r},function(t,e,n){\"use strict\";function r(t){return!(!t||!(\"function\"==typeof Node?t instanceof Node:\"object\"==typeof t&&\"number\"==typeof t.nodeType&&\"string\"==typeof t.nodeName))}t.exports=r},function(t,e,n){\"use strict\";function r(t){return i(t)&&3==t.nodeType}var i=n(327);t.exports=r},function(t,e,n){\"use strict\";var r=function(t){var e;for(e in t)if(t.hasOwnProperty(e))return e;return null};t.exports=r},function(t,e,n){\"use strict\";function r(t){var e={};return function(n){return e.hasOwnProperty(n)||(e[n]=t.call(this,n)),e[n]}}t.exports=r},function(t,e,n){\"use strict\";var r={Properties:{\"aria-current\":0,\"aria-details\":0,\"aria-disabled\":0,\"aria-hidden\":0,\"aria-invalid\":0,\"aria-keyshortcuts\":0,\"aria-label\":0,\"aria-roledescription\":0,\"aria-autocomplete\":0,\"aria-checked\":0,\"aria-expanded\":0,\"aria-haspopup\":0,\"aria-level\":0,\"aria-modal\":0,\"aria-multiline\":0,\"aria-multiselectable\":0,\"aria-orientation\":0,\"aria-placeholder\":0,\"aria-pressed\":0,\"aria-readonly\":0,\"aria-required\":0,\"aria-selected\":0,\"aria-sort\":0,\"aria-valuemax\":0,\"aria-valuemin\":0,\"aria-valuenow\":0,\"aria-valuetext\":0,\"aria-atomic\":0,\"aria-busy\":0,\"aria-live\":0,\"aria-relevant\":0,\"aria-dropeffect\":0,\"aria-grabbed\":0,\"aria-activedescendant\":0,\"aria-colcount\":0,\"aria-colindex\":0,\"aria-colspan\":0,\"aria-controls\":0,\"aria-describedby\":0,\"aria-errormessage\":0,\"aria-flowto\":0,\"aria-labelledby\":0,\"aria-owns\":0,\"aria-posinset\":0,\"aria-rowcount\":0,\"aria-rowindex\":0,\"aria-rowspan\":0,\"aria-setsize\":0},DOMAttributeNames:{},DOMPropertyNames:{}};t.exports=r},function(t,e,n){\"use strict\";var r=n(4),i=n(151),o={focusDOMComponent:function(){i(r.getNodeFromInstance(this))}};t.exports=o},function(t,e,n){\"use strict\";function r(){var t=window.opera;return\"object\"==typeof t&&\"function\"==typeof t.version&&parseInt(t.version(),10)<=12}function i(t){return(t.ctrlKey||t.altKey||t.metaKey)&&!(t.ctrlKey&&t.altKey)}function o(t){switch(t){case\"topCompositionStart\":return E.compositionStart;case\"topCompositionEnd\":return E.compositionEnd;case\"topCompositionUpdate\":return E.compositionUpdate}}function a(t,e){return\"topKeyDown\"===t&&e.keyCode===_}function u(t,e){switch(t){case\"topKeyUp\":return y.indexOf(e.keyCode)!==-1;case\"topKeyDown\":return e.keyCode!==_;case\"topKeyPress\":case\"topMouseDown\":case\"topBlur\":return!0;default:return!1}}function c(t){var e=t.detail;return\"object\"==typeof e&&\"data\"in e?e.data:null}function s(t,e,n,r){var i,s;if(b?i=o(t):S?u(t,n)&&(i=E.compositionEnd):a(t,n)&&(i=E.compositionStart),!i)return null;C&&(S||i!==E.compositionStart?i===E.compositionEnd&&S&&(s=S.getData()):S=v.getPooled(r));var l=g.getPooled(i,e,n,r);if(s)l.data=s;else{var f=c(n);null!==f&&(l.data=f)}return h.accumulateTwoPhaseDispatches(l),l}function l(t,e){switch(t){case\"topCompositionEnd\":return c(e);case\"topKeyPress\":var n=e.which;return n!==M?null:(T=!0,k);case\"topTextInput\":var r=e.data;return r===k&&T?null:r;default:return null}}function f(t,e){if(S){if(\"topCompositionEnd\"===t||!b&&u(t,e)){var n=S.getData();return v.release(S),S=null,n}return null}switch(t){case\"topPaste\":return null;case\"topKeyPress\":return e.which&&!i(e)?String.fromCharCode(e.which):null;case\"topCompositionEnd\":return C?null:e.data;default:return null}}function p(t,e,n,r){var i;if(i=w?l(t,n):f(t,n),!i)return null;var o=m.getPooled(E.beforeInput,e,n,r);return o.data=i,h.accumulateTwoPhaseDispatches(o),o}var h=n(23),d=n(6),v=n(340),g=n(377),m=n(380),y=[9,13,27,32],_=229,b=d.canUseDOM&&\"CompositionEvent\"in window,x=null;d.canUseDOM&&\"documentMode\"in document&&(x=document.documentMode);var w=d.canUseDOM&&\"TextEvent\"in window&&!x&&!r(),C=d.canUseDOM&&(!b||x&&x>8&&x<=11),M=32,k=String.fromCharCode(M),E={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"topCompositionEnd\",\"topKeyPress\",\"topTextInput\",\"topPaste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:[\"topBlur\",\"topCompositionEnd\",\"topKeyDown\",\"topKeyPress\",\"topKeyUp\",\"topMouseDown\"]},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",captured:\"onCompositionStartCapture\"},dependencies:[\"topBlur\",\"topCompositionStart\",\"topKeyDown\",\"topKeyPress\",\"topKeyUp\",\"topMouseDown\"]},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:[\"topBlur\",\"topCompositionUpdate\",\"topKeyDown\",\"topKeyPress\",\"topKeyUp\",\"topMouseDown\"]}},T=!1,S=null,P={eventTypes:E,extractEvents:function(t,e,n,r){return[s(t,e,n,r),p(t,e,n,r)]}};t.exports=P},function(t,e,n){\"use strict\";var r=n(154),i=n(6),o=(n(9),n(319),n(386)),a=n(326),u=n(330),c=(n(1),u(function(t){return a(t)})),s=!1,l=\"cssFloat\";if(i.canUseDOM){var f=document.createElement(\"div\").style;try{f.font=\"\"}catch(t){s=!0}void 0===document.documentElement.style.cssFloat&&(l=\"styleFloat\")}var p={createMarkupForStyles:function(t,e){var n=\"\";for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];null!=i&&(n+=c(r)+\":\",n+=o(r,i,e)+\";\")}return n||null},setValueForStyles:function(t,e,n){var i=t.style;for(var a in e)if(e.hasOwnProperty(a)){var u=o(a,e[a],n);if(\"float\"!==a&&\"cssFloat\"!==a||(a=l),u)i[a]=u;else{var c=s&&r.shorthandPropertyExpansions[a];if(c)for(var f in c)i[f]=\"\";else i[a]=\"\"}}}};t.exports=p},function(t,e,n){\"use strict\";function r(t){var e=t.nodeName&&t.nodeName.toLowerCase();return\"select\"===e||\"input\"===e&&\"file\"===t.type}function i(t){var e=C.getPooled(T.change,P,t,M(t));_.accumulateTwoPhaseDispatches(e),w.batchedUpdates(o,e)}function o(t){y.enqueueEvents(t),y.processEventQueue(!1)}function a(t,e){S=t,P=e,S.attachEvent(\"onchange\",i)}function u(){S&&(S.detachEvent(\"onchange\",i),S=null,P=null)}function c(t,e){if(\"topChange\"===t)return e}function s(t,e,n){\"topFocus\"===t?(u(),a(e,n)):\"topBlur\"===t&&u()}function l(t,e){S=t,P=e,N=t.value,A=Object.getOwnPropertyDescriptor(t.constructor.prototype,\"value\"),Object.defineProperty(S,\"value\",D),S.attachEvent?S.attachEvent(\"onpropertychange\",p):S.addEventListener(\"propertychange\",p,!1)}function f(){S&&(delete S.value,S.detachEvent?S.detachEvent(\"onpropertychange\",p):S.removeEventListener(\"propertychange\",p,!1),S=null,P=null,N=null,A=null)}function p(t){if(\"value\"===t.propertyName){var e=t.srcElement.value;e!==N&&(N=e,i(t))}}function h(t,e){if(\"topInput\"===t)return e}function d(t,e,n){\"topFocus\"===t?(f(),l(e,n)):\"topBlur\"===t&&f()}function v(t,e){if((\"topSelectionChange\"===t||\"topKeyUp\"===t||\"topKeyDown\"===t)&&S&&S.value!==N)return N=S.value,P}function g(t){return t.nodeName&&\"input\"===t.nodeName.toLowerCase()&&(\"checkbox\"===t.type||\"radio\"===t.type)}function m(t,e){if(\"topClick\"===t)return e}var y=n(22),_=n(23),b=n(6),x=n(4),w=n(11),C=n(14),M=n(93),k=n(94),E=n(170),T={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:[\"topBlur\",\"topChange\",\"topClick\",\"topFocus\",\"topInput\",\"topKeyDown\",\"topKeyUp\",\"topSelectionChange\"]}},S=null,P=null,N=null,A=null,O=!1;b.canUseDOM&&(O=k(\"change\")&&(!document.documentMode||document.documentMode>8));var I=!1;b.canUseDOM&&(I=k(\"input\")&&(!document.documentMode||document.documentMode>11));var D={get:function(){return A.get.call(this)},set:function(t){N=\"\"+t,A.set.call(this,t)}},R={eventTypes:T,extractEvents:function(t,e,n,i){var o,a,u=e?x.getNodeFromInstance(e):window;if(r(u)?O?o=c:a=s:E(u)?I?o=h:(o=v,a=d):g(u)&&(o=m),o){var l=o(t,e);if(l){var f=C.getPooled(T.change,l,n,i);return f.type=\"change\",_.accumulateTwoPhaseDispatches(f),f}}a&&a(t,u,e)}};t.exports=R},function(t,e,n){\"use strict\";var r=n(2),i=n(20),o=n(6),a=n(322),u=n(8),c=(n(0),{dangerouslyReplaceNodeWithMarkup:function(t,e){if(o.canUseDOM?void 0:r(\"56\"),e?void 0:r(\"57\"),\"HTML\"===t.nodeName?r(\"58\"):void 0,\"string\"==typeof e){var n=a(e,u)[0];t.parentNode.replaceChild(n,t)}else i.replaceChildWithTree(t,e)}});t.exports=c},function(t,e,n){\"use strict\";var r=[\"ResponderEventPlugin\",\"SimpleEventPlugin\",\"TapEventPlugin\",\"EnterLeaveEventPlugin\",\"ChangeEventPlugin\",\"SelectEventPlugin\",\"BeforeInputEventPlugin\"];t.exports=r},function(t,e,n){\"use strict\";var r=n(23),i=n(4),o=n(52),a={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"topMouseOut\",\"topMouseOver\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"topMouseOut\",\"topMouseOver\"]}},u={eventTypes:a,extractEvents:function(t,e,n,u){if(\"topMouseOver\"===t&&(n.relatedTarget||n.fromElement))return null;\n",
       "if(\"topMouseOut\"!==t&&\"topMouseOver\"!==t)return null;var c;if(u.window===u)c=u;else{var s=u.ownerDocument;c=s?s.defaultView||s.parentWindow:window}var l,f;if(\"topMouseOut\"===t){l=e;var p=n.relatedTarget||n.toElement;f=p?i.getClosestInstanceFromNode(p):null}else l=null,f=e;if(l===f)return null;var h=null==l?c:i.getNodeFromInstance(l),d=null==f?c:i.getNodeFromInstance(f),v=o.getPooled(a.mouseLeave,l,n,u);v.type=\"mouseleave\",v.target=h,v.relatedTarget=d;var g=o.getPooled(a.mouseEnter,f,n,u);return g.type=\"mouseenter\",g.target=d,g.relatedTarget=h,r.accumulateEnterLeaveDispatches(v,g,l,f),[v,g]}};t.exports=u},function(t,e,n){\"use strict\";var r={topAbort:null,topAnimationEnd:null,topAnimationIteration:null,topAnimationStart:null,topBlur:null,topCanPlay:null,topCanPlayThrough:null,topChange:null,topClick:null,topCompositionEnd:null,topCompositionStart:null,topCompositionUpdate:null,topContextMenu:null,topCopy:null,topCut:null,topDoubleClick:null,topDrag:null,topDragEnd:null,topDragEnter:null,topDragExit:null,topDragLeave:null,topDragOver:null,topDragStart:null,topDrop:null,topDurationChange:null,topEmptied:null,topEncrypted:null,topEnded:null,topError:null,topFocus:null,topInput:null,topInvalid:null,topKeyDown:null,topKeyPress:null,topKeyUp:null,topLoad:null,topLoadedData:null,topLoadedMetadata:null,topLoadStart:null,topMouseDown:null,topMouseMove:null,topMouseOut:null,topMouseOver:null,topMouseUp:null,topPaste:null,topPause:null,topPlay:null,topPlaying:null,topProgress:null,topRateChange:null,topReset:null,topScroll:null,topSeeked:null,topSeeking:null,topSelectionChange:null,topStalled:null,topSubmit:null,topSuspend:null,topTextInput:null,topTimeUpdate:null,topTouchCancel:null,topTouchEnd:null,topTouchMove:null,topTouchStart:null,topTransitionEnd:null,topVolumeChange:null,topWaiting:null,topWheel:null},i={topLevelTypes:r};t.exports=i},function(t,e,n){\"use strict\";function r(t){this._root=t,this._startText=this.getText(),this._fallbackText=null}var i=n(3),o=n(17),a=n(168);i(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return\"value\"in this._root?this._root.value:this._root[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;var t,e,n=this._startText,r=n.length,i=this.getText(),o=i.length;for(t=0;t<r&&n[t]===i[t];t++);var a=r-t;for(e=1;e<=a&&n[r-e]===i[o-e];e++);var u=e>1?1-e:void 0;return this._fallbackText=i.slice(t,u),this._fallbackText}}),o.addPoolingTo(r),t.exports=r},function(t,e,n){\"use strict\";var r=n(21),i=r.injection.MUST_USE_PROPERTY,o=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,u=r.injection.HAS_POSITIVE_NUMERIC_VALUE,c=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,s={isCustomAttribute:RegExp.prototype.test.bind(new RegExp(\"^(data|aria)-[\"+r.ATTRIBUTE_NAME_CHAR+\"]*$\")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:o,allowTransparency:0,alt:0,as:0,async:o,autoComplete:0,autoPlay:o,capture:o,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:i|o,cite:0,classID:0,className:0,cols:u,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:o,coords:0,crossOrigin:0,data:0,dateTime:0,default:o,defer:o,dir:0,disabled:o,download:c,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:o,formTarget:0,frameBorder:0,headers:0,height:0,hidden:o,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:o,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:i|o,muted:i|o,name:0,nonce:0,noValidate:o,open:o,optimum:0,pattern:0,placeholder:0,playsInline:o,poster:0,preload:0,profile:0,radioGroup:0,readOnly:o,referrerPolicy:0,rel:0,required:o,reversed:o,role:0,rows:u,rowSpan:a,sandbox:0,scope:0,scoped:o,scrolling:0,seamless:o,selected:i|o,shape:0,size:u,sizes:0,span:u,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:o,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:\"accept-charset\",className:\"class\",htmlFor:\"for\",httpEquiv:\"http-equiv\"},DOMPropertyNames:{}};t.exports=s},function(t,e,n){\"use strict\";(function(e){function r(t,e,n,r){var i=void 0===t[n];null!=e&&i&&(t[n]=o(e,!0))}var i=n(24),o=n(169),a=(n(84),n(95)),u=n(172);n(1);\"undefined\"!=typeof e&&e.env,1;var c={instantiateChildren:function(t,e,n,i){if(null==t)return null;var o={};return u(t,r,o),o},updateChildren:function(t,e,n,r,u,c,s,l,f){if(e||t){var p,h;for(p in e)if(e.hasOwnProperty(p)){h=t&&t[p];var d=h&&h._currentElement,v=e[p];if(null!=h&&a(d,v))i.receiveComponent(h,v,u,l),e[p]=h;else{h&&(r[p]=i.getHostNode(h),i.unmountComponent(h,!1));var g=o(v,!0);e[p]=g;var m=i.mountComponent(g,u,c,s,l,f);n.push(m)}}for(p in t)!t.hasOwnProperty(p)||e&&e.hasOwnProperty(p)||(h=t[p],r[p]=i.getHostNode(h),i.unmountComponent(h,!1))}},unmountChildren:function(t,e){for(var n in t)if(t.hasOwnProperty(n)){var r=t[n];i.unmountComponent(r,e)}}};t.exports=c}).call(e,n(153))},function(t,e,n){\"use strict\";var r=n(81),i=n(350),o={processChildrenUpdates:i.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};t.exports=o},function(t,e,n){\"use strict\";function r(t){}function i(t,e){}function o(t){return!(!t.prototype||!t.prototype.isReactComponent)}function a(t){return!(!t.prototype||!t.prototype.isPureReactComponent)}var u=n(2),c=n(3),s=n(26),l=n(86),f=n(15),p=n(87),h=n(40),d=(n(9),n(164)),v=n(24),g=n(38),m=(n(0),n(80)),y=n(95),_=(n(1),{ImpureClass:0,PureClass:1,StatelessFunctional:2});r.prototype.render=function(){var t=h.get(this)._currentElement.type,e=t(this.props,this.context,this.updater);return i(t,e),e};var b=1,x={construct:function(t){this._currentElement=t,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(t,e,n,c){this._context=c,this._mountOrder=b++,this._hostParent=e,this._hostContainerInfo=n;var l,f=this._currentElement.props,p=this._processContext(c),d=this._currentElement.type,v=t.getUpdateQueue(),m=o(d),y=this._constructComponent(m,f,p,v);m||null!=y&&null!=y.render?a(d)?this._compositeType=_.PureClass:this._compositeType=_.ImpureClass:(l=y,i(d,l),null===y||y===!1||s.isValidElement(y)?void 0:u(\"105\",d.displayName||d.name||\"Component\"),y=new r(d),this._compositeType=_.StatelessFunctional);y.props=f,y.context=p,y.refs=g,y.updater=v,this._instance=y,h.set(y,this);var x=y.state;void 0===x&&(y.state=x=null),\"object\"!=typeof x||Array.isArray(x)?u(\"106\",this.getName()||\"ReactCompositeComponent\"):void 0,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var w;return w=y.unstable_handleError?this.performInitialMountWithErrorHandling(l,e,n,t,c):this.performInitialMount(l,e,n,t,c),y.componentDidMount&&t.getReactMountReady().enqueue(y.componentDidMount,y),w},_constructComponent:function(t,e,n,r){return this._constructComponentWithoutOwner(t,e,n,r)},_constructComponentWithoutOwner:function(t,e,n,r){var i=this._currentElement.type;return t?new i(e,n,r):i(e,n,r)},performInitialMountWithErrorHandling:function(t,e,n,r,i){var o,a=r.checkpoint();try{o=this.performInitialMount(t,e,n,r,i)}catch(u){r.rollback(a),this._instance.unstable_handleError(u),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),a=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(a),o=this.performInitialMount(t,e,n,r,i)}return o},performInitialMount:function(t,e,n,r,i){var o=this._instance,a=0;o.componentWillMount&&(o.componentWillMount(),this._pendingStateQueue&&(o.state=this._processPendingState(o.props,o.context))),void 0===t&&(t=this._renderValidatedComponent());var u=d.getType(t);this._renderedNodeType=u;var c=this._instantiateReactComponent(t,u!==d.EMPTY);this._renderedComponent=c;var s=v.mountComponent(c,r,e,n,this._processChildContext(i),a);return s},getHostNode:function(){return v.getHostNode(this._renderedComponent)},unmountComponent:function(t){if(this._renderedComponent){var e=this._instance;if(e.componentWillUnmount&&!e._calledComponentWillUnmount)if(e._calledComponentWillUnmount=!0,t){var n=this.getName()+\".componentWillUnmount()\";p.invokeGuardedCallback(n,e.componentWillUnmount.bind(e))}else e.componentWillUnmount();this._renderedComponent&&(v.unmountComponent(this._renderedComponent,t),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,h.remove(e)}},_maskContext:function(t){var e=this._currentElement.type,n=e.contextTypes;if(!n)return g;var r={};for(var i in n)r[i]=t[i];return r},_processContext:function(t){var e=this._maskContext(t);return e},_processChildContext:function(t){var e,n=this._currentElement.type,r=this._instance;if(r.getChildContext&&(e=r.getChildContext()),e){\"object\"!=typeof n.childContextTypes?u(\"107\",this.getName()||\"ReactCompositeComponent\"):void 0;for(var i in e)i in n.childContextTypes?void 0:u(\"108\",this.getName()||\"ReactCompositeComponent\",i);return c({},t,e)}return t},_checkContextTypes:function(t,e,n){},receiveComponent:function(t,e,n){var r=this._currentElement,i=this._context;this._pendingElement=null,this.updateComponent(e,r,t,i,n)},performUpdateIfNecessary:function(t){null!=this._pendingElement?v.receiveComponent(this,this._pendingElement,t,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(t,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(t,e,n,r,i){var o=this._instance;null==o?u(\"136\",this.getName()||\"ReactCompositeComponent\"):void 0;var a,c=!1;this._context===i?a=o.context:(a=this._processContext(i),c=!0);var s=e.props,l=n.props;e!==n&&(c=!0),c&&o.componentWillReceiveProps&&o.componentWillReceiveProps(l,a);var f=this._processPendingState(l,a),p=!0;this._pendingForceUpdate||(o.shouldComponentUpdate?p=o.shouldComponentUpdate(l,f,a):this._compositeType===_.PureClass&&(p=!m(s,l)||!m(o.state,f))),this._updateBatchNumber=null,p?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,l,f,a,t,i)):(this._currentElement=n,this._context=i,o.props=l,o.state=f,o.context=a)},_processPendingState:function(t,e){var n=this._instance,r=this._pendingStateQueue,i=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(i&&1===r.length)return r[0];for(var o=c({},i?r[0]:n.state),a=i?1:0;a<r.length;a++){var u=r[a];c(o,\"function\"==typeof u?u.call(n,o,t,e):u)}return o},_performComponentUpdate:function(t,e,n,r,i,o){var a,u,c,s=this._instance,l=Boolean(s.componentDidUpdate);l&&(a=s.props,u=s.state,c=s.context),s.componentWillUpdate&&s.componentWillUpdate(e,n,r),this._currentElement=t,this._context=o,s.props=e,s.state=n,s.context=r,this._updateRenderedComponent(i,o),l&&i.getReactMountReady().enqueue(s.componentDidUpdate.bind(s,a,u,c),s)},_updateRenderedComponent:function(t,e){var n=this._renderedComponent,r=n._currentElement,i=this._renderValidatedComponent(),o=0;if(y(r,i))v.receiveComponent(n,i,t,this._processChildContext(e));else{var a=v.getHostNode(n);v.unmountComponent(n,!1);var u=d.getType(i);this._renderedNodeType=u;var c=this._instantiateReactComponent(i,u!==d.EMPTY);this._renderedComponent=c;var s=v.mountComponent(c,t,this._hostParent,this._hostContainerInfo,this._processChildContext(e),o);this._replaceNodeWithMarkup(a,s,n)}},_replaceNodeWithMarkup:function(t,e,n){l.replaceNodeWithMarkup(t,e,n)},_renderValidatedComponentWithoutOwnerOrContext:function(){var t,e=this._instance;return t=e.render()},_renderValidatedComponent:function(){var t;if(this._compositeType!==_.StatelessFunctional){f.current=this;try{t=this._renderValidatedComponentWithoutOwnerOrContext()}finally{f.current=null}}else t=this._renderValidatedComponentWithoutOwnerOrContext();return null===t||t===!1||s.isValidElement(t)?void 0:u(\"109\",this.getName()||\"ReactCompositeComponent\"),t},attachRef:function(t,e){var n=this.getPublicInstance();null==n?u(\"110\"):void 0;var r=e.getPublicInstance(),i=n.refs===g?n.refs={}:n.refs;i[t]=r},detachRef:function(t){var e=this.getPublicInstance().refs;delete e[t]},getName:function(){var t=this._currentElement.type,e=this._instance&&this._instance.constructor;return t.displayName||e&&e.displayName||t.name||e&&e.name||null},getPublicInstance:function(){var t=this._instance;return this._compositeType===_.StatelessFunctional?null:t},_instantiateReactComponent:null};t.exports=x},function(t,e,n){\"use strict\";var r=n(4),i=n(358),o=n(163),a=n(24),u=n(11),c=n(371),s=n(387),l=n(167),f=n(395);n(1);i.inject();var p={findDOMNode:s,render:o.render,unmountComponentAtNode:o.unmountComponentAtNode,version:c,unstable_batchedUpdates:u.batchedUpdates,unstable_renderSubtreeIntoContainer:f};\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:r.getClosestInstanceFromNode,getNodeFromInstance:function(t){return t._renderedComponent&&(t=l(t)),t?r.getNodeFromInstance(t):null}},Mount:o,Reconciler:a});t.exports=p},function(t,e,n){\"use strict\";function r(t){if(t){var e=t._currentElement._owner||null;if(e){var n=e.getName();if(n)return\" This DOM node was rendered by `\"+n+\"`.\"}}return\"\"}function i(t,e){e&&(G[t._tag]&&(null!=e.children||null!=e.dangerouslySetInnerHTML?v(\"137\",t._tag,t._currentElement._owner?\" Check the render method of \"+t._currentElement._owner.getName()+\".\":\"\"):void 0),null!=e.dangerouslySetInnerHTML&&(null!=e.children?v(\"60\"):void 0,\"object\"==typeof e.dangerouslySetInnerHTML&&V in e.dangerouslySetInnerHTML?void 0:v(\"61\")),null!=e.style&&\"object\"!=typeof e.style?v(\"62\",r(t)):void 0)}function o(t,e,n,r){if(!(r instanceof I)){var i=t._hostContainerInfo,o=i._node&&i._node.nodeType===H,u=o?i._node:i._ownerDocument;F(e,u),r.getReactMountReady().enqueue(a,{inst:t,registrationName:e,listener:n})}}function a(){var t=this;C.putListener(t.inst,t.registrationName,t.listener)}function u(){var t=this;S.postMountWrapper(t)}function c(){var t=this;A.postMountWrapper(t)}function s(){var t=this;P.postMountWrapper(t)}function l(){var t=this;t._rootNodeID?void 0:v(\"63\");var e=U(t);switch(e?void 0:v(\"64\"),t._tag){case\"iframe\":case\"object\":t._wrapperState.listeners=[k.trapBubbledEvent(\"topLoad\",\"load\",e)];break;case\"video\":case\"audio\":t._wrapperState.listeners=[];for(var n in q)q.hasOwnProperty(n)&&t._wrapperState.listeners.push(k.trapBubbledEvent(n,q[n],e));break;case\"source\":t._wrapperState.listeners=[k.trapBubbledEvent(\"topError\",\"error\",e)];break;case\"img\":t._wrapperState.listeners=[k.trapBubbledEvent(\"topError\",\"error\",e),k.trapBubbledEvent(\"topLoad\",\"load\",e)];break;case\"form\":t._wrapperState.listeners=[k.trapBubbledEvent(\"topReset\",\"reset\",e),k.trapBubbledEvent(\"topSubmit\",\"submit\",e)];break;case\"input\":case\"select\":case\"textarea\":t._wrapperState.listeners=[k.trapBubbledEvent(\"topInvalid\",\"invalid\",e)]}}function f(){N.postUpdateWrapper(this)}function p(t){Z.call(X,t)||($.test(t)?void 0:v(\"65\",t),X[t]=!0)}function h(t,e){return t.indexOf(\"-\")>=0||null!=e.is}function d(t){var e=t.type;p(e),this._currentElement=t,this._tag=e.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var v=n(2),g=n(3),m=n(332),y=n(334),_=n(20),b=n(82),x=n(21),w=n(156),C=n(22),M=n(83),k=n(51),E=n(157),T=n(4),S=n(351),P=n(352),N=n(158),A=n(355),O=(n(9),n(364)),I=n(369),D=(n(8),n(54)),R=(n(0),n(94),n(80),n(96),n(1),E),L=C.deleteListener,U=T.getNodeFromInstance,F=k.listenTo,j=M.registrationNameModules,B={string:!0,number:!0},W=\"style\",V=\"__html\",z={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},H=11,q={topAbort:\"abort\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topLoadedData:\"loadeddata\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topSeeked:\"seeked\",topSeeking:\"seeking\",topStalled:\"stalled\",topSuspend:\"suspend\",topTimeUpdate:\"timeupdate\",topVolumeChange:\"volumechange\",topWaiting:\"waiting\"},Y={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},K={listing:!0,pre:!0,textarea:!0},G=g({menuitem:!0},Y),$=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,X={},Z={}.hasOwnProperty,Q=1;d.displayName=\"ReactDOMComponent\",d.Mixin={mountComponent:function(t,e,n,r){this._rootNodeID=Q++,this._domID=n._idCounter++,this._hostParent=e,this._hostContainerInfo=n;var o=this._currentElement.props;switch(this._tag){case\"audio\":case\"form\":case\"iframe\":case\"img\":case\"link\":case\"object\":case\"source\":case\"video\":this._wrapperState={listeners:null},t.getReactMountReady().enqueue(l,this);break;case\"input\":S.mountWrapper(this,o,e),o=S.getHostProps(this,o),t.getReactMountReady().enqueue(l,this);break;case\"option\":P.mountWrapper(this,o,e),o=P.getHostProps(this,o);break;case\"select\":N.mountWrapper(this,o,e),o=N.getHostProps(this,o),t.getReactMountReady().enqueue(l,this);break;case\"textarea\":A.mountWrapper(this,o,e),o=A.getHostProps(this,o),t.getReactMountReady().enqueue(l,this)}i(this,o);var a,f;null!=e?(a=e._namespaceURI,f=e._tag):n._tag&&(a=n._namespaceURI,f=n._tag),(null==a||a===b.svg&&\"foreignobject\"===f)&&(a=b.html),a===b.html&&(\"svg\"===this._tag?a=b.svg:\"math\"===this._tag&&(a=b.mathml)),this._namespaceURI=a;var p;if(t.useCreateElement){var h,d=n._ownerDocument;if(a===b.html)if(\"script\"===this._tag){var v=d.createElement(\"div\"),g=this._currentElement.type;v.innerHTML=\"<\"+g+\"></\"+g+\">\",h=v.removeChild(v.firstChild)}else h=o.is?d.createElement(this._currentElement.type,o.is):d.createElement(this._currentElement.type);else h=d.createElementNS(a,this._currentElement.type);T.precacheNode(this,h),this._flags|=R.hasCachedChildNodes,this._hostParent||w.setAttributeForRoot(h),this._updateDOMProperties(null,o,t);var y=_(h);this._createInitialChildren(t,o,r,y),p=y}else{var x=this._createOpenTagMarkupAndPutListeners(t,o),C=this._createContentMarkup(t,o,r);p=!C&&Y[this._tag]?x+\"/>\":x+\">\"+C+\"</\"+this._currentElement.type+\">\"}switch(this._tag){case\"input\":t.getReactMountReady().enqueue(u,this),o.autoFocus&&t.getReactMountReady().enqueue(m.focusDOMComponent,this);break;case\"textarea\":t.getReactMountReady().enqueue(c,this),o.autoFocus&&t.getReactMountReady().enqueue(m.focusDOMComponent,this);break;case\"select\":o.autoFocus&&t.getReactMountReady().enqueue(m.focusDOMComponent,this);break;case\"button\":o.autoFocus&&t.getReactMountReady().enqueue(m.focusDOMComponent,this);break;case\"option\":t.getReactMountReady().enqueue(s,this)}return p},_createOpenTagMarkupAndPutListeners:function(t,e){var n=\"<\"+this._currentElement.type;for(var r in e)if(e.hasOwnProperty(r)){var i=e[r];if(null!=i)if(j.hasOwnProperty(r))i&&o(this,r,i,t);else{r===W&&(i&&(i=this._previousStyleCopy=g({},e.style)),i=y.createMarkupForStyles(i,this));var a=null;null!=this._tag&&h(this._tag,e)?z.hasOwnProperty(r)||(a=w.createMarkupForCustomAttribute(r,i)):a=w.createMarkupForProperty(r,i),a&&(n+=\" \"+a)}}return t.renderToStaticMarkup?n:(this._hostParent||(n+=\" \"+w.createMarkupForRoot()),n+=\" \"+w.createMarkupForID(this._domID))},_createContentMarkup:function(t,e,n){var r=\"\",i=e.dangerouslySetInnerHTML;if(null!=i)null!=i.__html&&(r=i.__html);else{var o=B[typeof e.children]?e.children:null,a=null!=o?null:e.children;if(null!=o)r=D(o);else if(null!=a){var u=this.mountChildren(a,t,n);r=u.join(\"\")}}return K[this._tag]&&\"\\n\"===r.charAt(0)?\"\\n\"+r:r},_createInitialChildren:function(t,e,n,r){var i=e.dangerouslySetInnerHTML;if(null!=i)null!=i.__html&&_.queueHTML(r,i.__html);else{var o=B[typeof e.children]?e.children:null,a=null!=o?null:e.children;if(null!=o)\"\"!==o&&_.queueText(r,o);else if(null!=a)for(var u=this.mountChildren(a,t,n),c=0;c<u.length;c++)_.queueChild(r,u[c])}},receiveComponent:function(t,e,n){var r=this._currentElement;this._currentElement=t,this.updateComponent(e,r,t,n)},updateComponent:function(t,e,n,r){var o=e.props,a=this._currentElement.props;switch(this._tag){case\"input\":o=S.getHostProps(this,o),a=S.getHostProps(this,a);break;case\"option\":o=P.getHostProps(this,o),a=P.getHostProps(this,a);break;case\"select\":o=N.getHostProps(this,o),a=N.getHostProps(this,a);break;case\"textarea\":o=A.getHostProps(this,o),a=A.getHostProps(this,a)}switch(i(this,a),this._updateDOMProperties(o,a,t),this._updateDOMChildren(o,a,t,r),this._tag){case\"input\":S.updateWrapper(this);break;case\"textarea\":A.updateWrapper(this);break;case\"select\":t.getReactMountReady().enqueue(f,this)}},_updateDOMProperties:function(t,e,n){var r,i,a;for(r in t)if(!e.hasOwnProperty(r)&&t.hasOwnProperty(r)&&null!=t[r])if(r===W){var u=this._previousStyleCopy;for(i in u)u.hasOwnProperty(i)&&(a=a||{},a[i]=\"\");this._previousStyleCopy=null}else j.hasOwnProperty(r)?t[r]&&L(this,r):h(this._tag,t)?z.hasOwnProperty(r)||w.deleteValueForAttribute(U(this),r):(x.properties[r]||x.isCustomAttribute(r))&&w.deleteValueForProperty(U(this),r);for(r in e){var c=e[r],s=r===W?this._previousStyleCopy:null!=t?t[r]:void 0;if(e.hasOwnProperty(r)&&c!==s&&(null!=c||null!=s))if(r===W)if(c?c=this._previousStyleCopy=g({},c):this._previousStyleCopy=null,s){for(i in s)!s.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(a=a||{},a[i]=\"\");for(i in c)c.hasOwnProperty(i)&&s[i]!==c[i]&&(a=a||{},a[i]=c[i])}else a=c;else if(j.hasOwnProperty(r))c?o(this,r,c,n):s&&L(this,r);else if(h(this._tag,e))z.hasOwnProperty(r)||w.setValueForAttribute(U(this),r,c);else if(x.properties[r]||x.isCustomAttribute(r)){var l=U(this);null!=c?w.setValueForProperty(l,r,c):w.deleteValueForProperty(l,r)}}a&&y.setValueForStyles(U(this),a,this)},_updateDOMChildren:function(t,e,n,r){var i=B[typeof t.children]?t.children:null,o=B[typeof e.children]?e.children:null,a=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,u=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,c=null!=i?null:t.children,s=null!=o?null:e.children,l=null!=i||null!=a,f=null!=o||null!=u;null!=c&&null==s?this.updateChildren(null,n,r):l&&!f&&this.updateTextContent(\"\"),null!=o?i!==o&&this.updateTextContent(\"\"+o):null!=u?a!==u&&this.updateMarkup(\"\"+u):null!=s&&this.updateChildren(s,n,r)},getHostNode:function(){return U(this)},unmountComponent:function(t){switch(this._tag){case\"audio\":case\"form\":case\"iframe\":case\"img\":case\"link\":case\"object\":case\"source\":case\"video\":var e=this._wrapperState.listeners;if(e)for(var n=0;n<e.length;n++)e[n].remove();break;case\"html\":case\"head\":case\"body\":v(\"66\",this._tag)}this.unmountChildren(t),T.uncacheNode(this),C.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null},getPublicInstance:function(){return U(this)}},g(d.prototype,d.Mixin,O.Mixin),t.exports=d},function(t,e,n){\"use strict\";function r(t,e){var n={_topLevelWrapper:t,_idCounter:1,_ownerDocument:e?e.nodeType===i?e:e.ownerDocument:null,_node:e,_tag:e?e.nodeName.toLowerCase():null,_namespaceURI:e?e.namespaceURI:null};return n}var i=(n(96),9);t.exports=r},function(t,e,n){\"use strict\";var r=n(3),i=n(20),o=n(4),a=function(t){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};r(a.prototype,{mountComponent:function(t,e,n,r){var a=n._idCounter++;this._domID=a,this._hostParent=e,this._hostContainerInfo=n;var u=\" react-empty: \"+this._domID+\" \";if(t.useCreateElement){var c=n._ownerDocument,s=c.createComment(u);return o.precacheNode(this,s),i(s)}return t.renderToStaticMarkup?\"\":\"<!--\"+u+\"-->\"},receiveComponent:function(){},getHostNode:function(){return o.getNodeFromInstance(this)},unmountComponent:function(){o.uncacheNode(this)}}),t.exports=a},function(t,e,n){\"use strict\";var r={useCreateElement:!0,useFiber:!1};t.exports=r},function(t,e,n){\"use strict\";var r=n(81),i=n(4),o={dangerouslyProcessChildrenUpdates:function(t,e){var n=i.getNodeFromInstance(t);r.processUpdates(n,e)}};t.exports=o},function(t,e,n){\"use strict\";function r(){this._rootNodeID&&f.updateWrapper(this)}function i(t){var e=this._currentElement.props,n=c.executeOnChange(e,t);l.asap(r,this);var i=e.name;if(\"radio\"===e.type&&null!=i){for(var a=s.getNodeFromInstance(this),u=a;u.parentNode;)u=u.parentNode;for(var f=u.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+i)+'][type=\"radio\"]'),p=0;p<f.length;p++){var h=f[p];if(h!==a&&h.form===a.form){var d=s.getInstanceFromNode(h);d?void 0:o(\"90\"),l.asap(r,d)}}}return n}var o=n(2),a=n(3),u=n(156),c=n(85),s=n(4),l=n(11),f=(n(0),n(1),{getHostProps:function(t,e){var n=c.getValue(e),r=c.getChecked(e),i=a({type:void 0,step:void 0,min:void 0,max:void 0},e,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:t._wrapperState.initialValue,checked:null!=r?r:t._wrapperState.initialChecked,onChange:t._wrapperState.onChange});return i},mountWrapper:function(t,e){var n=e.defaultValue;t._wrapperState={initialChecked:null!=e.checked?e.checked:e.defaultChecked,initialValue:null!=e.value?e.value:n,listeners:null,onChange:i.bind(t)}},updateWrapper:function(t){var e=t._currentElement.props,n=e.checked;null!=n&&u.setValueForProperty(s.getNodeFromInstance(t),\"checked\",n||!1);var r=s.getNodeFromInstance(t),i=c.getValue(e);if(null!=i){var o=\"\"+i;o!==r.value&&(r.value=o)}else null==e.value&&null!=e.defaultValue&&r.defaultValue!==\"\"+e.defaultValue&&(r.defaultValue=\"\"+e.defaultValue),null==e.checked&&null!=e.defaultChecked&&(r.defaultChecked=!!e.defaultChecked)},postMountWrapper:function(t){var e=t._currentElement.props,n=s.getNodeFromInstance(t);switch(e.type){case\"submit\":case\"reset\":break;case\"color\":case\"date\":case\"datetime\":case\"datetime-local\":case\"month\":case\"time\":case\"week\":n.value=\"\",n.value=n.defaultValue;break;default:n.value=n.value}var r=n.name;\"\"!==r&&(n.name=\"\"),n.defaultChecked=!n.defaultChecked,n.defaultChecked=!n.defaultChecked,\"\"!==r&&(n.name=r)}});t.exports=f},function(t,e,n){\"use strict\";function r(t){var e=\"\";return o.Children.forEach(t,function(t){null!=t&&(\"string\"==typeof t||\"number\"==typeof t?e+=t:c||(c=!0))}),e}var i=n(3),o=n(26),a=n(4),u=n(158),c=(n(1),!1),s={mountWrapper:function(t,e,n){var i=null;if(null!=n){var o=n;\"optgroup\"===o._tag&&(o=o._hostParent),null!=o&&\"select\"===o._tag&&(i=u.getSelectValueContext(o))}var a=null;if(null!=i){var c;if(c=null!=e.value?e.value+\"\":r(e.children),a=!1,Array.isArray(i)){for(var s=0;s<i.length;s++)if(\"\"+i[s]===c){a=!0;break}}else a=\"\"+i===c}t._wrapperState={selected:a}},postMountWrapper:function(t){var e=t._currentElement.props;if(null!=e.value){var n=a.getNodeFromInstance(t);n.setAttribute(\"value\",e.value)}},getHostProps:function(t,e){var n=i({selected:void 0,children:void 0},e);null!=t._wrapperState.selected&&(n.selected=t._wrapperState.selected);var o=r(e.children);return o&&(n.children=o),n}};t.exports=s},function(t,e,n){\"use strict\";function r(t,e,n,r){return t===n&&e===r}function i(t){var e=document.selection,n=e.createRange(),r=n.text.length,i=n.duplicate();i.moveToElementText(t),i.setEndPoint(\"EndToStart\",n);var o=i.text.length,a=o+r;return{start:o,end:a}}function o(t){var e=window.getSelection&&window.getSelection();if(!e||0===e.rangeCount)return null;var n=e.anchorNode,i=e.anchorOffset,o=e.focusNode,a=e.focusOffset,u=e.getRangeAt(0);try{u.startContainer.nodeType,u.endContainer.nodeType}catch(t){return null}var c=r(e.anchorNode,e.anchorOffset,e.focusNode,e.focusOffset),s=c?0:u.toString().length,l=u.cloneRange();l.selectNodeContents(t),l.setEnd(u.startContainer,u.startOffset);var f=r(l.startContainer,l.startOffset,l.endContainer,l.endOffset),p=f?0:l.toString().length,h=p+s,d=document.createRange();d.setStart(n,i),d.setEnd(o,a);var v=d.collapsed;return{start:v?h:p,end:v?p:h}}function a(t,e){var n,r,i=document.selection.createRange().duplicate();void 0===e.end?(n=e.start,r=n):e.start>e.end?(n=e.end,r=e.start):(n=e.start,r=e.end),i.moveToElementText(t),i.moveStart(\"character\",n),i.setEndPoint(\"EndToStart\",i),i.moveEnd(\"character\",r-n),i.select()}function u(t,e){if(window.getSelection){var n=window.getSelection(),r=t[l()].length,i=Math.min(e.start,r),o=void 0===e.end?i:Math.min(e.end,r);if(!n.extend&&i>o){var a=o;o=i,i=a}var u=s(t,i),c=s(t,o);if(u&&c){var f=document.createRange();f.setStart(u.node,u.offset),n.removeAllRanges(),i>o?(n.addRange(f),n.extend(c.node,c.offset)):(f.setEnd(c.node,c.offset),n.addRange(f))}}}var c=n(6),s=n(392),l=n(168),f=c.canUseDOM&&\"selection\"in document&&!(\"getSelection\"in window),p={getOffsets:f?i:o,setOffsets:f?a:u};t.exports=p},function(t,e,n){\"use strict\";var r=n(2),i=n(3),o=n(81),a=n(20),u=n(4),c=n(54),s=(n(0),n(96),function(t){this._currentElement=t,this._stringText=\"\"+t,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});i(s.prototype,{mountComponent:function(t,e,n,r){var i=n._idCounter++,o=\" react-text: \"+i+\" \",s=\" /react-text \";if(this._domID=i,this._hostParent=e,t.useCreateElement){var l=n._ownerDocument,f=l.createComment(o),p=l.createComment(s),h=a(l.createDocumentFragment());return a.queueChild(h,a(f)),this._stringText&&a.queueChild(h,a(l.createTextNode(this._stringText))),a.queueChild(h,a(p)),u.precacheNode(this,f),this._closingComment=p,h}var d=c(this._stringText);return t.renderToStaticMarkup?d:\"<!--\"+o+\"-->\"+d+\"<!--\"+s+\"-->\"},receiveComponent:function(t,e){if(t!==this._currentElement){this._currentElement=t;var n=\"\"+t;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();o.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var t=this._commentNodes;if(t)return t;if(!this._closingComment)for(var e=u.getNodeFromInstance(this),n=e.nextSibling;;){if(null==n?r(\"67\",this._domID):void 0,8===n.nodeType&&\" /react-text \"===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return t=[this._hostNode,this._closingComment],this._commentNodes=t,t},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,u.uncacheNode(this)}}),t.exports=s},function(t,e,n){\"use strict\";function r(){this._rootNodeID&&l.updateWrapper(this)}function i(t){var e=this._currentElement.props,n=u.executeOnChange(e,t);return s.asap(r,this),n}var o=n(2),a=n(3),u=n(85),c=n(4),s=n(11),l=(n(0),n(1),{getHostProps:function(t,e){null!=e.dangerouslySetInnerHTML?o(\"91\"):void 0;var n=a({},e,{value:void 0,defaultValue:void 0,children:\"\"+t._wrapperState.initialValue,onChange:t._wrapperState.onChange});return n},mountWrapper:function(t,e){var n=u.getValue(e),r=n;if(null==n){var a=e.defaultValue,c=e.children;null!=c&&(null!=a?o(\"92\"):void 0,Array.isArray(c)&&(c.length<=1?void 0:o(\"93\"),c=c[0]),a=\"\"+c),null==a&&(a=\"\"),r=a}t._wrapperState={initialValue:\"\"+r,listeners:null,onChange:i.bind(t)}},updateWrapper:function(t){var e=t._currentElement.props,n=c.getNodeFromInstance(t),r=u.getValue(e);if(null!=r){var i=\"\"+r;i!==n.value&&(n.value=i),null==e.defaultValue&&(n.defaultValue=i)}null!=e.defaultValue&&(n.defaultValue=e.defaultValue)},postMountWrapper:function(t){var e=c.getNodeFromInstance(t),n=e.textContent;\n",
       "n===t._wrapperState.initialValue&&(e.value=n)}});t.exports=l},function(t,e,n){\"use strict\";function r(t,e){\"_hostNode\"in t?void 0:c(\"33\"),\"_hostNode\"in e?void 0:c(\"33\");for(var n=0,r=t;r;r=r._hostParent)n++;for(var i=0,o=e;o;o=o._hostParent)i++;for(;n-i>0;)t=t._hostParent,n--;for(;i-n>0;)e=e._hostParent,i--;for(var a=n;a--;){if(t===e)return t;t=t._hostParent,e=e._hostParent}return null}function i(t,e){\"_hostNode\"in t?void 0:c(\"35\"),\"_hostNode\"in e?void 0:c(\"35\");for(;e;){if(e===t)return!0;e=e._hostParent}return!1}function o(t){return\"_hostNode\"in t?void 0:c(\"36\"),t._hostParent}function a(t,e,n){for(var r=[];t;)r.push(t),t=t._hostParent;var i;for(i=r.length;i-- >0;)e(r[i],\"captured\",n);for(i=0;i<r.length;i++)e(r[i],\"bubbled\",n)}function u(t,e,n,i,o){for(var a=t&&e?r(t,e):null,u=[];t&&t!==a;)u.push(t),t=t._hostParent;for(var c=[];e&&e!==a;)c.push(e),e=e._hostParent;var s;for(s=0;s<u.length;s++)n(u[s],\"bubbled\",i);for(s=c.length;s-- >0;)n(c[s],\"captured\",o)}var c=n(2);n(0);t.exports={isAncestor:i,getLowestCommonAncestor:r,getParentInstance:o,traverseTwoPhase:a,traverseEnterLeave:u}},function(t,e,n){\"use strict\";function r(){this.reinitializeTransaction()}var i=n(3),o=n(11),a=n(53),u=n(8),c={initialize:u,close:function(){p.isBatchingUpdates=!1}},s={initialize:u,close:o.flushBatchedUpdates.bind(o)},l=[s,c];i(r.prototype,a,{getTransactionWrappers:function(){return l}});var f=new r,p={isBatchingUpdates:!1,batchedUpdates:function(t,e,n,r,i,o){var a=p.isBatchingUpdates;return p.isBatchingUpdates=!0,a?t(e,n,r,i,o):f.perform(t,null,e,n,r,i,o)}};t.exports=p},function(t,e,n){\"use strict\";function r(){C||(C=!0,y.EventEmitter.injectReactEventListener(m),y.EventPluginHub.injectEventPluginOrder(u),y.EventPluginUtils.injectComponentTree(p),y.EventPluginUtils.injectTreeTraversal(d),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:w,EnterLeaveEventPlugin:c,ChangeEventPlugin:a,SelectEventPlugin:x,BeforeInputEventPlugin:o}),y.HostComponent.injectGenericComponentClass(f),y.HostComponent.injectTextComponentClass(v),y.DOMProperty.injectDOMPropertyConfig(i),y.DOMProperty.injectDOMPropertyConfig(s),y.DOMProperty.injectDOMPropertyConfig(b),y.EmptyComponent.injectEmptyComponentFactory(function(t){return new h(t)}),y.Updates.injectReconcileTransaction(_),y.Updates.injectBatchingStrategy(g),y.Component.injectEnvironment(l))}var i=n(331),o=n(333),a=n(335),u=n(337),c=n(338),s=n(341),l=n(343),f=n(346),p=n(4),h=n(348),d=n(356),v=n(354),g=n(357),m=n(361),y=n(362),_=n(367),b=n(372),x=n(373),w=n(374),C=!1;t.exports={inject:r}},function(t,e,n){\"use strict\";var r=\"function\"==typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103;t.exports=r},function(t,e,n){\"use strict\";function r(t){i.enqueueEvents(t),i.processEventQueue(!1)}var i=n(22),o={handleTopLevel:function(t,e,n,o){var a=i.extractEvents(t,e,n,o);r(a)}};t.exports=o},function(t,e,n){\"use strict\";function r(t){for(;t._hostParent;)t=t._hostParent;var e=f.getNodeFromInstance(t),n=e.parentNode;return f.getClosestInstanceFromNode(n)}function i(t,e){this.topLevelType=t,this.nativeEvent=e,this.ancestors=[]}function o(t){var e=h(t.nativeEvent),n=f.getClosestInstanceFromNode(e),i=n;do t.ancestors.push(i),i=i&&r(i);while(i);for(var o=0;o<t.ancestors.length;o++)n=t.ancestors[o],v._handleTopLevel(t.topLevelType,n,t.nativeEvent,h(t.nativeEvent))}function a(t){var e=d(window);t(e)}var u=n(3),c=n(150),s=n(6),l=n(17),f=n(4),p=n(11),h=n(93),d=n(324);u(i.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),l.addPoolingTo(i,l.twoArgumentPooler);var v={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:s.canUseDOM?window:null,setHandleTopLevel:function(t){v._handleTopLevel=t},setEnabled:function(t){v._enabled=!!t},isEnabled:function(){return v._enabled},trapBubbledEvent:function(t,e,n){return n?c.listen(n,e,v.dispatchEvent.bind(null,t)):null},trapCapturedEvent:function(t,e,n){return n?c.capture(n,e,v.dispatchEvent.bind(null,t)):null},monitorScrollValue:function(t){var e=a.bind(null,t);c.listen(window,\"scroll\",e)},dispatchEvent:function(t,e){if(v._enabled){var n=i.getPooled(t,e);try{p.batchedUpdates(o,n)}finally{i.release(n)}}}};t.exports=v},function(t,e,n){\"use strict\";var r=n(21),i=n(22),o=n(50),a=n(86),u=n(159),c=n(51),s=n(161),l=n(11),f={Component:a.injection,DOMProperty:r.injection,EmptyComponent:u.injection,EventPluginHub:i.injection,EventPluginUtils:o.injection,EventEmitter:c.injection,HostComponent:s.injection,Updates:l.injection};t.exports=f},function(t,e,n){\"use strict\";var r=n(385),i=/\\/?>/,o=/^<\\!\\-\\-/,a={CHECKSUM_ATTR_NAME:\"data-react-checksum\",addChecksumToMarkup:function(t){var e=r(t);return o.test(t)?t:t.replace(i,\" \"+a.CHECKSUM_ATTR_NAME+'=\"'+e+'\"$&')},canReuseMarkup:function(t,e){var n=e.getAttribute(a.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var i=r(t);return i===n}};t.exports=a},function(t,e,n){\"use strict\";function r(t,e,n){return{type:\"INSERT_MARKUP\",content:t,fromIndex:null,fromNode:null,toIndex:n,afterNode:e}}function i(t,e,n){return{type:\"MOVE_EXISTING\",content:null,fromIndex:t._mountIndex,fromNode:p.getHostNode(t),toIndex:n,afterNode:e}}function o(t,e){return{type:\"REMOVE_NODE\",content:null,fromIndex:t._mountIndex,fromNode:e,toIndex:null,afterNode:null}}function a(t){return{type:\"SET_MARKUP\",content:t,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function u(t){return{type:\"TEXT_CONTENT\",content:t,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function c(t,e){return e&&(t=t||[],t.push(e)),t}function s(t,e){f.processChildrenUpdates(t,e)}var l=n(2),f=n(86),p=(n(40),n(9),n(15),n(24)),h=n(342),d=(n(8),n(388)),v=(n(0),{Mixin:{_reconcilerInstantiateChildren:function(t,e,n){return h.instantiateChildren(t,e,n)},_reconcilerUpdateChildren:function(t,e,n,r,i,o){var a,u=0;return a=d(e,u),h.updateChildren(t,a,n,r,i,this,this._hostContainerInfo,o,u),a},mountChildren:function(t,e,n){var r=this._reconcilerInstantiateChildren(t,e,n);this._renderedChildren=r;var i=[],o=0;for(var a in r)if(r.hasOwnProperty(a)){var u=r[a],c=0,s=p.mountComponent(u,e,this,this._hostContainerInfo,n,c);u._mountIndex=o++,i.push(s)}return i},updateTextContent:function(t){var e=this._renderedChildren;h.unmountChildren(e,!1);for(var n in e)e.hasOwnProperty(n)&&l(\"118\");var r=[u(t)];s(this,r)},updateMarkup:function(t){var e=this._renderedChildren;h.unmountChildren(e,!1);for(var n in e)e.hasOwnProperty(n)&&l(\"118\");var r=[a(t)];s(this,r)},updateChildren:function(t,e,n){this._updateChildren(t,e,n)},_updateChildren:function(t,e,n){var r=this._renderedChildren,i={},o=[],a=this._reconcilerUpdateChildren(r,t,o,i,e,n);if(a||r){var u,l=null,f=0,h=0,d=0,v=null;for(u in a)if(a.hasOwnProperty(u)){var g=r&&r[u],m=a[u];g===m?(l=c(l,this.moveChild(g,v,f,h)),h=Math.max(g._mountIndex,h),g._mountIndex=f):(g&&(h=Math.max(g._mountIndex,h)),l=c(l,this._mountChildAtIndex(m,o[d],v,f,e,n)),d++),f++,v=p.getHostNode(m)}for(u in i)i.hasOwnProperty(u)&&(l=c(l,this._unmountChild(r[u],i[u])));l&&s(this,l),this._renderedChildren=a}},unmountChildren:function(t){var e=this._renderedChildren;h.unmountChildren(e,t),this._renderedChildren=null},moveChild:function(t,e,n,r){if(t._mountIndex<r)return i(t,e,n)},createChild:function(t,e,n){return r(n,e,t._mountIndex)},removeChild:function(t,e){return o(t,e)},_mountChildAtIndex:function(t,e,n,r,i,o){return t._mountIndex=r,this.createChild(t,n,e)},_unmountChild:function(t,e){var n=this.removeChild(t,e);return t._mountIndex=null,n}}});t.exports=v},function(t,e,n){\"use strict\";function r(t){return!(!t||\"function\"!=typeof t.attachRef||\"function\"!=typeof t.detachRef)}var i=n(2),o=(n(0),{addComponentAsRefTo:function(t,e,n){r(n)?void 0:i(\"119\"),n.attachRef(e,t)},removeComponentAsRefFrom:function(t,e,n){r(n)?void 0:i(\"120\");var o=n.getPublicInstance();o&&o.refs[e]===t.getPublicInstance()&&n.detachRef(e)}});t.exports=o},function(t,e,n){\"use strict\";var r=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";t.exports=r},function(t,e,n){\"use strict\";function r(t){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=o.getPooled(null),this.useCreateElement=t}var i=n(3),o=n(155),a=n(17),u=n(51),c=n(162),s=(n(9),n(53)),l=n(88),f={initialize:c.getSelectionInformation,close:c.restoreSelection},p={initialize:function(){var t=u.isEnabled();return u.setEnabled(!1),t},close:function(t){u.setEnabled(t)}},h={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},d=[f,p,h],v={getTransactionWrappers:function(){return d},getReactMountReady:function(){return this.reactMountReady},getUpdateQueue:function(){return l},checkpoint:function(){return this.reactMountReady.checkpoint()},rollback:function(t){this.reactMountReady.rollback(t)},destructor:function(){o.release(this.reactMountReady),this.reactMountReady=null}};i(r.prototype,s,v),a.addPoolingTo(r),t.exports=r},function(t,e,n){\"use strict\";function r(t,e,n){\"function\"==typeof t?t(e.getPublicInstance()):o.addComponentAsRefTo(e,t,n)}function i(t,e,n){\"function\"==typeof t?t(null):o.removeComponentAsRefFrom(e,t,n)}var o=n(365),a={};a.attachRefs=function(t,e){if(null!==e&&\"object\"==typeof e){var n=e.ref;null!=n&&r(n,t,e._owner)}},a.shouldUpdateRefs=function(t,e){var n=null,r=null;null!==t&&\"object\"==typeof t&&(n=t.ref,r=t._owner);var i=null,o=null;return null!==e&&\"object\"==typeof e&&(i=e.ref,o=e._owner),n!==i||\"string\"==typeof i&&o!==r},a.detachRefs=function(t,e){if(null!==e&&\"object\"==typeof e){var n=e.ref;null!=n&&i(n,t,e._owner)}},t.exports=a},function(t,e,n){\"use strict\";function r(t){this.reinitializeTransaction(),this.renderToStaticMarkup=t,this.useCreateElement=!1,this.updateQueue=new u(this)}var i=n(3),o=n(17),a=n(53),u=(n(9),n(370)),c=[],s={enqueue:function(){}},l={getTransactionWrappers:function(){return c},getReactMountReady:function(){return s},getUpdateQueue:function(){return this.updateQueue},destructor:function(){},checkpoint:function(){},rollback:function(){}};i(r.prototype,a,l),o.addPoolingTo(r),t.exports=r},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function i(t,e){}var o=n(88),a=(n(1),function(){function t(e){r(this,t),this.transaction=e}return t.prototype.isMounted=function(t){return!1},t.prototype.enqueueCallback=function(t,e,n){this.transaction.isInTransaction()&&o.enqueueCallback(t,e,n)},t.prototype.enqueueForceUpdate=function(t){this.transaction.isInTransaction()?o.enqueueForceUpdate(t):i(t,\"forceUpdate\")},t.prototype.enqueueReplaceState=function(t,e){this.transaction.isInTransaction()?o.enqueueReplaceState(t,e):i(t,\"replaceState\")},t.prototype.enqueueSetState=function(t,e){this.transaction.isInTransaction()?o.enqueueSetState(t,e):i(t,\"setState\")},t}());t.exports=a},function(t,e,n){\"use strict\";t.exports=\"15.4.2\"},function(t,e,n){\"use strict\";var r={xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\"},i={accentHeight:\"accent-height\",accumulate:0,additive:0,alignmentBaseline:\"alignment-baseline\",allowReorder:\"allowReorder\",alphabetic:0,amplitude:0,arabicForm:\"arabic-form\",ascent:0,attributeName:\"attributeName\",attributeType:\"attributeType\",autoReverse:\"autoReverse\",azimuth:0,baseFrequency:\"baseFrequency\",baseProfile:\"baseProfile\",baselineShift:\"baseline-shift\",bbox:0,begin:0,bias:0,by:0,calcMode:\"calcMode\",capHeight:\"cap-height\",clip:0,clipPath:\"clip-path\",clipRule:\"clip-rule\",clipPathUnits:\"clipPathUnits\",colorInterpolation:\"color-interpolation\",colorInterpolationFilters:\"color-interpolation-filters\",colorProfile:\"color-profile\",colorRendering:\"color-rendering\",contentScriptType:\"contentScriptType\",contentStyleType:\"contentStyleType\",cursor:0,cx:0,cy:0,d:0,decelerate:0,descent:0,diffuseConstant:\"diffuseConstant\",direction:0,display:0,divisor:0,dominantBaseline:\"dominant-baseline\",dur:0,dx:0,dy:0,edgeMode:\"edgeMode\",elevation:0,enableBackground:\"enable-background\",end:0,exponent:0,externalResourcesRequired:\"externalResourcesRequired\",fill:0,fillOpacity:\"fill-opacity\",fillRule:\"fill-rule\",filter:0,filterRes:\"filterRes\",filterUnits:\"filterUnits\",floodColor:\"flood-color\",floodOpacity:\"flood-opacity\",focusable:0,fontFamily:\"font-family\",fontSize:\"font-size\",fontSizeAdjust:\"font-size-adjust\",fontStretch:\"font-stretch\",fontStyle:\"font-style\",fontVariant:\"font-variant\",fontWeight:\"font-weight\",format:0,from:0,fx:0,fy:0,g1:0,g2:0,glyphName:\"glyph-name\",glyphOrientationHorizontal:\"glyph-orientation-horizontal\",glyphOrientationVertical:\"glyph-orientation-vertical\",glyphRef:\"glyphRef\",gradientTransform:\"gradientTransform\",gradientUnits:\"gradientUnits\",hanging:0,horizAdvX:\"horiz-adv-x\",horizOriginX:\"horiz-origin-x\",ideographic:0,imageRendering:\"image-rendering\",in:0,in2:0,intercept:0,k:0,k1:0,k2:0,k3:0,k4:0,kernelMatrix:\"kernelMatrix\",kernelUnitLength:\"kernelUnitLength\",kerning:0,keyPoints:\"keyPoints\",keySplines:\"keySplines\",keyTimes:\"keyTimes\",lengthAdjust:\"lengthAdjust\",letterSpacing:\"letter-spacing\",lightingColor:\"lighting-color\",limitingConeAngle:\"limitingConeAngle\",local:0,markerEnd:\"marker-end\",markerMid:\"marker-mid\",markerStart:\"marker-start\",markerHeight:\"markerHeight\",markerUnits:\"markerUnits\",markerWidth:\"markerWidth\",mask:0,maskContentUnits:\"maskContentUnits\",maskUnits:\"maskUnits\",mathematical:0,mode:0,numOctaves:\"numOctaves\",offset:0,opacity:0,operator:0,order:0,orient:0,orientation:0,origin:0,overflow:0,overlinePosition:\"overline-position\",overlineThickness:\"overline-thickness\",paintOrder:\"paint-order\",panose1:\"panose-1\",pathLength:\"pathLength\",patternContentUnits:\"patternContentUnits\",patternTransform:\"patternTransform\",patternUnits:\"patternUnits\",pointerEvents:\"pointer-events\",points:0,pointsAtX:\"pointsAtX\",pointsAtY:\"pointsAtY\",pointsAtZ:\"pointsAtZ\",preserveAlpha:\"preserveAlpha\",preserveAspectRatio:\"preserveAspectRatio\",primitiveUnits:\"primitiveUnits\",r:0,radius:0,refX:\"refX\",refY:\"refY\",renderingIntent:\"rendering-intent\",repeatCount:\"repeatCount\",repeatDur:\"repeatDur\",requiredExtensions:\"requiredExtensions\",requiredFeatures:\"requiredFeatures\",restart:0,result:0,rotate:0,rx:0,ry:0,scale:0,seed:0,shapeRendering:\"shape-rendering\",slope:0,spacing:0,specularConstant:\"specularConstant\",specularExponent:\"specularExponent\",speed:0,spreadMethod:\"spreadMethod\",startOffset:\"startOffset\",stdDeviation:\"stdDeviation\",stemh:0,stemv:0,stitchTiles:\"stitchTiles\",stopColor:\"stop-color\",stopOpacity:\"stop-opacity\",strikethroughPosition:\"strikethrough-position\",strikethroughThickness:\"strikethrough-thickness\",string:0,stroke:0,strokeDasharray:\"stroke-dasharray\",strokeDashoffset:\"stroke-dashoffset\",strokeLinecap:\"stroke-linecap\",strokeLinejoin:\"stroke-linejoin\",strokeMiterlimit:\"stroke-miterlimit\",strokeOpacity:\"stroke-opacity\",strokeWidth:\"stroke-width\",surfaceScale:\"surfaceScale\",systemLanguage:\"systemLanguage\",tableValues:\"tableValues\",targetX:\"targetX\",targetY:\"targetY\",textAnchor:\"text-anchor\",textDecoration:\"text-decoration\",textRendering:\"text-rendering\",textLength:\"textLength\",to:0,transform:0,u1:0,u2:0,underlinePosition:\"underline-position\",underlineThickness:\"underline-thickness\",unicode:0,unicodeBidi:\"unicode-bidi\",unicodeRange:\"unicode-range\",unitsPerEm:\"units-per-em\",vAlphabetic:\"v-alphabetic\",vHanging:\"v-hanging\",vIdeographic:\"v-ideographic\",vMathematical:\"v-mathematical\",values:0,vectorEffect:\"vector-effect\",version:0,vertAdvY:\"vert-adv-y\",vertOriginX:\"vert-origin-x\",vertOriginY:\"vert-origin-y\",viewBox:\"viewBox\",viewTarget:\"viewTarget\",visibility:0,widths:0,wordSpacing:\"word-spacing\",writingMode:\"writing-mode\",x:0,xHeight:\"x-height\",x1:0,x2:0,xChannelSelector:\"xChannelSelector\",xlinkActuate:\"xlink:actuate\",xlinkArcrole:\"xlink:arcrole\",xlinkHref:\"xlink:href\",xlinkRole:\"xlink:role\",xlinkShow:\"xlink:show\",xlinkTitle:\"xlink:title\",xlinkType:\"xlink:type\",xmlBase:\"xml:base\",xmlns:0,xmlnsXlink:\"xmlns:xlink\",xmlLang:\"xml:lang\",xmlSpace:\"xml:space\",y:0,y1:0,y2:0,yChannelSelector:\"yChannelSelector\",z:0,zoomAndPan:\"zoomAndPan\"},o={Properties:{},DOMAttributeNamespaces:{xlinkActuate:r.xlink,xlinkArcrole:r.xlink,xlinkHref:r.xlink,xlinkRole:r.xlink,xlinkShow:r.xlink,xlinkTitle:r.xlink,xlinkType:r.xlink,xmlBase:r.xml,xmlLang:r.xml,xmlSpace:r.xml},DOMAttributeNames:{}};Object.keys(i).forEach(function(t){o.Properties[t]=0,i[t]&&(o.DOMAttributeNames[t]=i[t])}),t.exports=o},function(t,e,n){\"use strict\";function r(t){if(\"selectionStart\"in t&&c.hasSelectionCapabilities(t))return{start:t.selectionStart,end:t.selectionEnd};if(window.getSelection){var e=window.getSelection();return{anchorNode:e.anchorNode,anchorOffset:e.anchorOffset,focusNode:e.focusNode,focusOffset:e.focusOffset}}if(document.selection){var n=document.selection.createRange();return{parentElement:n.parentElement(),text:n.text,top:n.boundingTop,left:n.boundingLeft}}}function i(t,e){if(y||null==v||v!==l())return null;var n=r(v);if(!m||!p(m,n)){m=n;var i=s.getPooled(d.select,g,t,e);return i.type=\"select\",i.target=v,o.accumulateTwoPhaseDispatches(i),i}return null}var o=n(23),a=n(6),u=n(4),c=n(162),s=n(14),l=n(152),f=n(170),p=n(80),h=a.canUseDOM&&\"documentMode\"in document&&document.documentMode<=11,d={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:[\"topBlur\",\"topContextMenu\",\"topFocus\",\"topKeyDown\",\"topKeyUp\",\"topMouseDown\",\"topMouseUp\",\"topSelectionChange\"]}},v=null,g=null,m=null,y=!1,_=!1,b={eventTypes:d,extractEvents:function(t,e,n,r){if(!_)return null;var o=e?u.getNodeFromInstance(e):window;switch(t){case\"topFocus\":(f(o)||\"true\"===o.contentEditable)&&(v=o,g=e,m=null);break;case\"topBlur\":v=null,g=null,m=null;break;case\"topMouseDown\":y=!0;break;case\"topContextMenu\":case\"topMouseUp\":return y=!1,i(n,r);case\"topSelectionChange\":if(h)break;case\"topKeyDown\":case\"topKeyUp\":return i(n,r)}return null},didPutListener:function(t,e,n){\"onSelect\"===e&&(_=!0)}};t.exports=b},function(t,e,n){\"use strict\";function r(t){return\".\"+t._rootNodeID}function i(t){return\"button\"===t||\"input\"===t||\"select\"===t||\"textarea\"===t}var o=n(2),a=n(150),u=n(23),c=n(4),s=n(375),l=n(376),f=n(14),p=n(379),h=n(381),d=n(52),v=n(378),g=n(382),m=n(383),y=n(25),_=n(384),b=n(8),x=n(91),w=(n(0),{}),C={};[\"abort\",\"animationEnd\",\"animationIteration\",\"animationStart\",\"blur\",\"canPlay\",\"canPlayThrough\",\"click\",\"contextMenu\",\"copy\",\"cut\",\"doubleClick\",\"drag\",\"dragEnd\",\"dragEnter\",\"dragExit\",\"dragLeave\",\"dragOver\",\"dragStart\",\"drop\",\"durationChange\",\"emptied\",\"encrypted\",\"ended\",\"error\",\"focus\",\"input\",\"invalid\",\"keyDown\",\"keyPress\",\"keyUp\",\"load\",\"loadedData\",\"loadedMetadata\",\"loadStart\",\"mouseDown\",\"mouseMove\",\"mouseOut\",\"mouseOver\",\"mouseUp\",\"paste\",\"pause\",\"play\",\"playing\",\"progress\",\"rateChange\",\"reset\",\"scroll\",\"seeked\",\"seeking\",\"stalled\",\"submit\",\"suspend\",\"timeUpdate\",\"touchCancel\",\"touchEnd\",\"touchMove\",\"touchStart\",\"transitionEnd\",\"volumeChange\",\"waiting\",\"wheel\"].forEach(function(t){var e=t[0].toUpperCase()+t.slice(1),n=\"on\"+e,r=\"top\"+e,i={phasedRegistrationNames:{bubbled:n,captured:n+\"Capture\"},dependencies:[r]};w[t]=i,C[r]=i});var M={},k={eventTypes:w,extractEvents:function(t,e,n,r){var i=C[t];if(!i)return null;var a;switch(t){case\"topAbort\":case\"topCanPlay\":case\"topCanPlayThrough\":case\"topDurationChange\":case\"topEmptied\":case\"topEncrypted\":case\"topEnded\":case\"topError\":case\"topInput\":case\"topInvalid\":case\"topLoad\":case\"topLoadedData\":case\"topLoadedMetadata\":case\"topLoadStart\":case\"topPause\":case\"topPlay\":case\"topPlaying\":case\"topProgress\":case\"topRateChange\":case\"topReset\":case\"topSeeked\":case\"topSeeking\":case\"topStalled\":case\"topSubmit\":case\"topSuspend\":case\"topTimeUpdate\":case\"topVolumeChange\":case\"topWaiting\":a=f;break;case\"topKeyPress\":if(0===x(n))return null;case\"topKeyDown\":case\"topKeyUp\":a=h;break;case\"topBlur\":case\"topFocus\":a=p;break;case\"topClick\":if(2===n.button)return null;case\"topDoubleClick\":case\"topMouseDown\":case\"topMouseMove\":case\"topMouseUp\":case\"topMouseOut\":case\"topMouseOver\":case\"topContextMenu\":a=d;break;case\"topDrag\":case\"topDragEnd\":case\"topDragEnter\":case\"topDragExit\":case\"topDragLeave\":case\"topDragOver\":case\"topDragStart\":case\"topDrop\":a=v;break;case\"topTouchCancel\":case\"topTouchEnd\":case\"topTouchMove\":case\"topTouchStart\":a=g;break;case\"topAnimationEnd\":case\"topAnimationIteration\":case\"topAnimationStart\":a=s;break;case\"topTransitionEnd\":a=m;break;case\"topScroll\":a=y;break;case\"topWheel\":a=_;break;case\"topCopy\":case\"topCut\":case\"topPaste\":a=l}a?void 0:o(\"86\",t);var c=a.getPooled(i,e,n,r);return u.accumulateTwoPhaseDispatches(c),c},didPutListener:function(t,e,n){if(\"onClick\"===e&&!i(t._tag)){var o=r(t),u=c.getNodeFromInstance(t);M[o]||(M[o]=a.listen(u,\"click\",b))}},willDeleteListener:function(t,e){if(\"onClick\"===e&&!i(t._tag)){var n=r(t);M[n].remove(),delete M[n]}}};t.exports=k},function(t,e,n){\"use strict\";function r(t,e,n,r){return i.call(this,t,e,n,r)}var i=n(14),o={animationName:null,elapsedTime:null,pseudoElement:null};i.augmentClass(r,o),t.exports=r},function(t,e,n){\"use strict\";function r(t,e,n,r){return i.call(this,t,e,n,r)}var i=n(14),o={clipboardData:function(t){return\"clipboardData\"in t?t.clipboardData:window.clipboardData}};i.augmentClass(r,o),t.exports=r},function(t,e,n){\"use strict\";function r(t,e,n,r){return i.call(this,t,e,n,r)}var i=n(14),o={data:null};i.augmentClass(r,o),t.exports=r},function(t,e,n){\"use strict\";function r(t,e,n,r){return i.call(this,t,e,n,r)}var i=n(52),o={dataTransfer:null};i.augmentClass(r,o),t.exports=r},function(t,e,n){\"use strict\";function r(t,e,n,r){return i.call(this,t,e,n,r)}var i=n(25),o={relatedTarget:null};i.augmentClass(r,o),t.exports=r},function(t,e,n){\"use strict\";function r(t,e,n,r){return i.call(this,t,e,n,r)}var i=n(14),o={data:null};i.augmentClass(r,o),t.exports=r},function(t,e,n){\"use strict\";function r(t,e,n,r){return i.call(this,t,e,n,r)}var i=n(25),o=n(91),a=n(389),u=n(92),c={key:a,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:u,charCode:function(t){return\"keypress\"===t.type?o(t):0},keyCode:function(t){return\"keydown\"===t.type||\"keyup\"===t.type?t.keyCode:0},which:function(t){return\"keypress\"===t.type?o(t):\"keydown\"===t.type||\"keyup\"===t.type?t.keyCode:0}};i.augmentClass(r,c),t.exports=r},function(t,e,n){\"use strict\";function r(t,e,n,r){return i.call(this,t,e,n,r)}var i=n(25),o=n(92),a={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:o};i.augmentClass(r,a),t.exports=r},function(t,e,n){\"use strict\";function r(t,e,n,r){return i.call(this,t,e,n,r)}var i=n(14),o={propertyName:null,elapsedTime:null,pseudoElement:null};i.augmentClass(r,o),t.exports=r},function(t,e,n){\"use strict\";function r(t,e,n,r){return i.call(this,t,e,n,r)}var i=n(52),o={deltaX:function(t){return\"deltaX\"in t?t.deltaX:\"wheelDeltaX\"in t?-t.wheelDeltaX:0},deltaY:function(t){return\"deltaY\"in t?t.deltaY:\"wheelDeltaY\"in t?-t.wheelDeltaY:\"wheelDelta\"in t?-t.wheelDelta:0},deltaZ:null,deltaMode:null};i.augmentClass(r,o),t.exports=r},function(t,e,n){\"use strict\";function r(t){for(var e=1,n=0,r=0,o=t.length,a=o&-4;r<a;){for(var u=Math.min(r+4096,a);r<u;r+=4)n+=(e+=t.charCodeAt(r))+(e+=t.charCodeAt(r+1))+(e+=t.charCodeAt(r+2))+(e+=t.charCodeAt(r+3));e%=i,n%=i}for(;r<o;r++)n+=e+=t.charCodeAt(r);return e%=i,n%=i,e|n<<16}var i=65521;t.exports=r},function(t,e,n){\"use strict\";function r(t,e,n){var r=null==e||\"boolean\"==typeof e||\"\"===e;if(r)return\"\";var i=isNaN(e);if(i||0===e||o.hasOwnProperty(t)&&o[t])return\"\"+e;if(\"string\"==typeof e){e=e.trim()}return e+\"px\"}var i=n(154),o=(n(1),i.isUnitlessNumber);t.exports=r},function(t,e,n){\"use strict\";function r(t){if(null==t)return null;if(1===t.nodeType)return t;var e=a.get(t);return e?(e=u(e),e?o.getNodeFromInstance(e):null):void(\"function\"==typeof t.render?i(\"44\"):i(\"45\",Object.keys(t)))}var i=n(2),o=(n(15),n(4)),a=n(40),u=n(167);n(0),n(1);t.exports=r},function(t,e,n){\"use strict\";(function(e){function r(t,e,n,r){if(t&&\"object\"==typeof t){var i=t,o=void 0===i[n];o&&null!=e&&(i[n]=e)}}function i(t,e){if(null==t)return t;var n={};return o(t,r,n),n}var o=(n(84),n(172));n(1);\"undefined\"!=typeof e&&e.env,1,t.exports=i}).call(e,n(153))},function(t,e,n){\"use strict\";function r(t){if(t.key){var e=o[t.key]||t.key;if(\"Unidentified\"!==e)return e}if(\"keypress\"===t.type){var n=i(t);return 13===n?\"Enter\":String.fromCharCode(n)}return\"keydown\"===t.type||\"keyup\"===t.type?a[t.keyCode]||\"Unidentified\":\"\"}var i=n(91),o={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},a={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"};t.exports=r},function(t,e,n){\"use strict\";function r(t){var e=t&&(i&&t[i]||t[o]);if(\"function\"==typeof e)return e}var i=\"function\"==typeof Symbol&&Symbol.iterator,o=\"@@iterator\";t.exports=r},function(t,e,n){\"use strict\";function r(){return i++}var i=1;t.exports=r},function(t,e,n){\"use strict\";function r(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function i(t){for(;t;){if(t.nextSibling)return t.nextSibling;t=t.parentNode}}function o(t,e){for(var n=r(t),o=0,a=0;n;){if(3===n.nodeType){if(a=o+n.textContent.length,o<=e&&a>=e)return{node:n,offset:e-o};o=a}n=r(i(n))}}t.exports=o},function(t,e,n){\"use strict\";function r(t,e){var n={};return n[t.toLowerCase()]=e.toLowerCase(),n[\"Webkit\"+t]=\"webkit\"+e,n[\"Moz\"+t]=\"moz\"+e,n[\"ms\"+t]=\"MS\"+e,n[\"O\"+t]=\"o\"+e.toLowerCase(),n}function i(t){if(u[t])return u[t];if(!a[t])return t;var e=a[t];for(var n in e)if(e.hasOwnProperty(n)&&n in c)return u[t]=e[n];return\"\"}var o=n(6),a={animationend:r(\"Animation\",\"AnimationEnd\"),animationiteration:r(\"Animation\",\"AnimationIteration\"),animationstart:r(\"Animation\",\"AnimationStart\"),transitionend:r(\"Transition\",\"TransitionEnd\")},u={},c={};o.canUseDOM&&(c=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete a.animationend.animation,delete a.animationiteration.animation,delete a.animationstart.animation),\"TransitionEvent\"in window||delete a.transitionend.transition),t.exports=i},function(t,e,n){\"use strict\";function r(t){return'\"'+i(t)+'\"'}var i=n(54);t.exports=r},function(t,e,n){\"use strict\";var r=n(163);t.exports=r.renderSubtreeIntoContainer},function(t,e,n){\"use strict\";function r(t,e){var n=l.extractSingleTouch(e);return n?n[t.page]:t.page in e?e[t.page]:e[t.client]+f[t.envScroll]}function i(t,e){var n=r(b.x,e),i=r(b.y,e);return Math.pow(Math.pow(n-t.x,2)+Math.pow(i-t.y,2),.5)}function o(t){return{tapMoveThreshold:g,ignoreMouseThreshold:m,eventTypes:C,extractEvents:function(e,n,o,a){if(!h(e)&&!d(e))return null;if(v(e))_=M();else if(t(_,M()))return null;var u=null,l=i(y,o);return d(e)&&l<g&&(u=s.getPooled(C.touchTap,n,o,a)),h(e)?(y.x=r(b.x,o),y.y=r(b.y,o)):d(e)&&(y.x=0,y.y=0),c.accumulateTwoPhaseDispatches(u),u}}}var a=n(339),u=n(50),c=n(23),s=n(25),l=n(397),f=n(89),p=n(329),h=(a.topLevelTypes,u.isStartish),d=u.isEndish,v=function(t){var e=[\"topTouchCancel\",\"topTouchEnd\",\"topTouchStart\",\"topTouchMove\"];return e.indexOf(t)>=0},g=10,m=750,y={x:null,y:null},_=null,b={x:{page:\"pageX\",client:\"clientX\",envScroll:\"currentPageScrollLeft\"},y:{page:\"pageY\",client:\"clientY\",envScroll:\"currentPageScrollTop\"}},x=[\"topTouchStart\",\"topTouchCancel\",\"topTouchEnd\",\"topTouchMove\"],w=[\"topMouseDown\",\"topMouseMove\",\"topMouseUp\"].concat(x),C={touchTap:{phasedRegistrationNames:{bubbled:p({onTouchTap:null}),captured:p({onTouchTapCapture:null})},dependencies:w}},M=function(){return Date.now?Date.now:function(){return+new Date}}();t.exports=o},function(t,e){var n={extractSingleTouch:function(t){var e=t.touches,n=t.changedTouches,r=e&&e.length>0,i=n&&n.length>0;return!r&&i?n[0]:r?e[0]:t}};t.exports=n},function(t,e){t.exports=function(t,e){if(t&&e-t<750)return!0}},function(t,e,n){\"use strict\";function r(t){var e=/[=:]/g,n={\"=\":\"=0\",\":\":\"=2\"},r=(\"\"+t).replace(e,function(t){return n[t]});return\"$\"+r}function i(t){var e=/(=0|=2)/g,n={\"=0\":\"=\",\"=2\":\":\"},r=\".\"===t[0]&&\"$\"===t[1]?t.substring(2):t.substring(1);return(\"\"+r).replace(e,function(t){return n[t]})}var o={escape:r,unescape:i};t.exports=o},function(t,e,n){\"use strict\";var r=n(28),i=(n(0),function(t){var e=this;if(e.instancePool.length){var n=e.instancePool.pop();return e.call(n,t),n}return new e(t)}),o=function(t,e){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,t,e),r}return new n(t,e)},a=function(t,e,n){var r=this;if(r.instancePool.length){var i=r.instancePool.pop();return r.call(i,t,e,n),i}return new r(t,e,n)},u=function(t,e,n,r){var i=this;if(i.instancePool.length){var o=i.instancePool.pop();return i.call(o,t,e,n,r),o}return new i(t,e,n,r)},c=function(t){var e=this;t instanceof e?void 0:r(\"25\"),t.destructor(),e.instancePool.length<e.poolSize&&e.instancePool.push(t)},s=10,l=i,f=function(t,e){var n=t;return n.instancePool=[],n.getPooled=e||l,n.poolSize||(n.poolSize=s),n.release=c,n},p={addPoolingTo:f,oneArgumentPooler:i,twoArgumentPooler:o,threeArgumentPooler:a,fourArgumentPooler:u};t.exports=p},function(t,e,n){\"use strict\";function r(t){return(\"\"+t).replace(b,\"$&/\")}function i(t,e){this.func=t,this.context=e,this.count=0}function o(t,e,n){var r=t.func,i=t.context;r.call(i,e,t.count++)}function a(t,e,n){if(null==t)return t;var r=i.getPooled(e,n);m(t,o,r),i.release(r)}function u(t,e,n,r){this.result=t,this.keyPrefix=e,this.func=n,this.context=r,this.count=0}function c(t,e,n){var i=t.result,o=t.keyPrefix,a=t.func,u=t.context,c=a.call(u,e,t.count++);Array.isArray(c)?s(c,i,n,g.thatReturnsArgument):null!=c&&(v.isValidElement(c)&&(c=v.cloneAndReplaceKey(c,o+(!c.key||e&&e.key===c.key?\"\":r(c.key)+\"/\")+n)),i.push(c))}function s(t,e,n,i,o){var a=\"\";null!=n&&(a=r(n)+\"/\");var s=u.getPooled(e,a,i,o);m(t,c,s),u.release(s)}function l(t,e,n){if(null==t)return t;var r=[];return s(t,r,null,e,n),r}function f(t,e,n){return null}function p(t,e){return m(t,f,null)}function h(t){var e=[];return s(t,e,null,g.thatReturnsArgument),e}var d=n(400),v=n(27),g=n(8),m=n(409),y=d.twoArgumentPooler,_=d.fourArgumentPooler,b=/\\/+/g;i.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},d.addPoolingTo(i,y),u.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},d.addPoolingTo(u,_);var x={forEach:a,map:l,mapIntoWithKeyPrefixInternal:s,count:p,toArray:h};t.exports=x},function(t,e,n){\"use strict\";function r(t){return t}function i(t,e){var n=b.hasOwnProperty(e)?b[e]:null;w.hasOwnProperty(e)&&(\"OVERRIDE_BASE\"!==n?p(\"73\",e):void 0),t&&(\"DEFINE_MANY\"!==n&&\"DEFINE_MANY_MERGED\"!==n?p(\"74\",e):void 0)}function o(t,e){if(e){\"function\"==typeof e?p(\"75\"):void 0,v.isValidElement(e)?p(\"76\"):void 0;var n=t.prototype,r=n.__reactAutoBindPairs;e.hasOwnProperty(y)&&x.mixins(t,e.mixins);for(var o in e)if(e.hasOwnProperty(o)&&o!==y){var a=e[o],u=n.hasOwnProperty(o);if(i(u,o),x.hasOwnProperty(o))x[o](t,a);else{var l=b.hasOwnProperty(o),f=\"function\"==typeof a,h=f&&!l&&!u&&e.autobind!==!1;if(h)r.push(o,a),n[o]=a;else if(u){var d=b[o];!l||\"DEFINE_MANY_MERGED\"!==d&&\"DEFINE_MANY\"!==d?p(\"77\",d,o):void 0,\"DEFINE_MANY_MERGED\"===d?n[o]=c(n[o],a):\"DEFINE_MANY\"===d&&(n[o]=s(n[o],a))}else n[o]=a}}}else;}function a(t,e){if(e)for(var n in e){var r=e[n];if(e.hasOwnProperty(n)){var i=n in x;i?p(\"78\",n):void 0;var o=n in t;o?p(\"79\",n):void 0,t[n]=r}}}function u(t,e){t&&e&&\"object\"==typeof t&&\"object\"==typeof e?void 0:p(\"80\");for(var n in e)e.hasOwnProperty(n)&&(void 0!==t[n]?p(\"81\",n):void 0,t[n]=e[n]);return t}function c(t,e){return function(){var n=t.apply(this,arguments),r=e.apply(this,arguments);if(null==n)return r;if(null==r)return n;var i={};return u(i,n),u(i,r),i}}function s(t,e){return function(){t.apply(this,arguments),e.apply(this,arguments)}}function l(t,e){var n=e.bind(t);return n;\n",
       "}function f(t){for(var e=t.__reactAutoBindPairs,n=0;n<e.length;n+=2){var r=e[n],i=e[n+1];t[r]=l(t,i)}}var p=n(28),h=n(3),d=n(97),v=n(27),g=(n(175),n(98)),m=n(38),y=(n(0),n(1),\"mixins\"),_=[],b={mixins:\"DEFINE_MANY\",statics:\"DEFINE_MANY\",propTypes:\"DEFINE_MANY\",contextTypes:\"DEFINE_MANY\",childContextTypes:\"DEFINE_MANY\",getDefaultProps:\"DEFINE_MANY_MERGED\",getInitialState:\"DEFINE_MANY_MERGED\",getChildContext:\"DEFINE_MANY_MERGED\",render:\"DEFINE_ONCE\",componentWillMount:\"DEFINE_MANY\",componentDidMount:\"DEFINE_MANY\",componentWillReceiveProps:\"DEFINE_MANY\",shouldComponentUpdate:\"DEFINE_ONCE\",componentWillUpdate:\"DEFINE_MANY\",componentDidUpdate:\"DEFINE_MANY\",componentWillUnmount:\"DEFINE_MANY\",updateComponent:\"OVERRIDE_BASE\"},x={displayName:function(t,e){t.displayName=e},mixins:function(t,e){if(e)for(var n=0;n<e.length;n++)o(t,e[n])},childContextTypes:function(t,e){t.childContextTypes=h({},t.childContextTypes,e)},contextTypes:function(t,e){t.contextTypes=h({},t.contextTypes,e)},getDefaultProps:function(t,e){t.getDefaultProps?t.getDefaultProps=c(t.getDefaultProps,e):t.getDefaultProps=e},propTypes:function(t,e){t.propTypes=h({},t.propTypes,e)},statics:function(t,e){a(t,e)},autobind:function(){}},w={replaceState:function(t,e){this.updater.enqueueReplaceState(this,t),e&&this.updater.enqueueCallback(this,e,\"replaceState\")},isMounted:function(){return this.updater.isMounted(this)}},C=function(){};h(C.prototype,d.prototype,w);var M={createClass:function(t){var e=r(function(t,n,r){this.__reactAutoBindPairs.length&&f(this),this.props=t,this.context=n,this.refs=m,this.updater=r||g,this.state=null;var i=this.getInitialState?this.getInitialState():null;\"object\"!=typeof i||Array.isArray(i)?p(\"82\",e.displayName||\"ReactCompositeComponent\"):void 0,this.state=i});e.prototype=new C,e.prototype.constructor=e,e.prototype.__reactAutoBindPairs=[],_.forEach(o.bind(null,e)),o(e,t),e.getDefaultProps&&(e.defaultProps=e.getDefaultProps()),e.prototype.render?void 0:p(\"83\");for(var n in b)e.prototype[n]||(e.prototype[n]=null);return e},injection:{injectMixin:function(t){_.push(t)}}};t.exports=M},function(t,e,n){\"use strict\";var r=n(27),i=r.createFactory,o={a:i(\"a\"),abbr:i(\"abbr\"),address:i(\"address\"),area:i(\"area\"),article:i(\"article\"),aside:i(\"aside\"),audio:i(\"audio\"),b:i(\"b\"),base:i(\"base\"),bdi:i(\"bdi\"),bdo:i(\"bdo\"),big:i(\"big\"),blockquote:i(\"blockquote\"),body:i(\"body\"),br:i(\"br\"),button:i(\"button\"),canvas:i(\"canvas\"),caption:i(\"caption\"),cite:i(\"cite\"),code:i(\"code\"),col:i(\"col\"),colgroup:i(\"colgroup\"),data:i(\"data\"),datalist:i(\"datalist\"),dd:i(\"dd\"),del:i(\"del\"),details:i(\"details\"),dfn:i(\"dfn\"),dialog:i(\"dialog\"),div:i(\"div\"),dl:i(\"dl\"),dt:i(\"dt\"),em:i(\"em\"),embed:i(\"embed\"),fieldset:i(\"fieldset\"),figcaption:i(\"figcaption\"),figure:i(\"figure\"),footer:i(\"footer\"),form:i(\"form\"),h1:i(\"h1\"),h2:i(\"h2\"),h3:i(\"h3\"),h4:i(\"h4\"),h5:i(\"h5\"),h6:i(\"h6\"),head:i(\"head\"),header:i(\"header\"),hgroup:i(\"hgroup\"),hr:i(\"hr\"),html:i(\"html\"),i:i(\"i\"),iframe:i(\"iframe\"),img:i(\"img\"),input:i(\"input\"),ins:i(\"ins\"),kbd:i(\"kbd\"),keygen:i(\"keygen\"),label:i(\"label\"),legend:i(\"legend\"),li:i(\"li\"),link:i(\"link\"),main:i(\"main\"),map:i(\"map\"),mark:i(\"mark\"),menu:i(\"menu\"),menuitem:i(\"menuitem\"),meta:i(\"meta\"),meter:i(\"meter\"),nav:i(\"nav\"),noscript:i(\"noscript\"),object:i(\"object\"),ol:i(\"ol\"),optgroup:i(\"optgroup\"),option:i(\"option\"),output:i(\"output\"),p:i(\"p\"),param:i(\"param\"),picture:i(\"picture\"),pre:i(\"pre\"),progress:i(\"progress\"),q:i(\"q\"),rp:i(\"rp\"),rt:i(\"rt\"),ruby:i(\"ruby\"),s:i(\"s\"),samp:i(\"samp\"),script:i(\"script\"),section:i(\"section\"),select:i(\"select\"),small:i(\"small\"),source:i(\"source\"),span:i(\"span\"),strong:i(\"strong\"),style:i(\"style\"),sub:i(\"sub\"),summary:i(\"summary\"),sup:i(\"sup\"),table:i(\"table\"),tbody:i(\"tbody\"),td:i(\"td\"),textarea:i(\"textarea\"),tfoot:i(\"tfoot\"),th:i(\"th\"),thead:i(\"thead\"),time:i(\"time\"),title:i(\"title\"),tr:i(\"tr\"),track:i(\"track\"),u:i(\"u\"),ul:i(\"ul\"),var:i(\"var\"),video:i(\"video\"),wbr:i(\"wbr\"),circle:i(\"circle\"),clipPath:i(\"clipPath\"),defs:i(\"defs\"),ellipse:i(\"ellipse\"),g:i(\"g\"),image:i(\"image\"),line:i(\"line\"),linearGradient:i(\"linearGradient\"),mask:i(\"mask\"),path:i(\"path\"),pattern:i(\"pattern\"),polygon:i(\"polygon\"),polyline:i(\"polyline\"),radialGradient:i(\"radialGradient\"),rect:i(\"rect\"),stop:i(\"stop\"),svg:i(\"svg\"),text:i(\"text\"),tspan:i(\"tspan\")};t.exports=o},function(t,e,n){\"use strict\";function r(t,e){return t===e?0!==t||1/t===1/e:t!==t&&e!==e}function i(t){this.message=t,this.stack=\"\"}function o(t){function e(e,n,r,o,a,u,c){o=o||E,u=u||r;if(null==n[r]){var s=w[a];return e?new i(null===n[r]?\"The \"+s+\" `\"+u+\"` is marked as required \"+(\"in `\"+o+\"`, but its value is `null`.\"):\"The \"+s+\" `\"+u+\"` is marked as required in \"+(\"`\"+o+\"`, but its value is `undefined`.\")):null}return t(n,r,o,a,u)}var n=e.bind(null,!1);return n.isRequired=e.bind(null,!0),n}function a(t){function e(e,n,r,o,a,u){var c=e[n],s=y(c);if(s!==t){var l=w[o],f=_(c);return new i(\"Invalid \"+l+\" `\"+a+\"` of type \"+(\"`\"+f+\"` supplied to `\"+r+\"`, expected \")+(\"`\"+t+\"`.\"))}return null}return o(e)}function u(){return o(M.thatReturns(null))}function c(t){function e(e,n,r,o,a){if(\"function\"!=typeof t)return new i(\"Property `\"+a+\"` of component `\"+r+\"` has invalid PropType notation inside arrayOf.\");var u=e[n];if(!Array.isArray(u)){var c=w[o],s=y(u);return new i(\"Invalid \"+c+\" `\"+a+\"` of type \"+(\"`\"+s+\"` supplied to `\"+r+\"`, expected an array.\"))}for(var l=0;l<u.length;l++){var f=t(u,l,r,o,a+\"[\"+l+\"]\",C);if(f instanceof Error)return f}return null}return o(e)}function s(){function t(t,e,n,r,o){var a=t[e];if(!x.isValidElement(a)){var u=w[r],c=y(a);return new i(\"Invalid \"+u+\" `\"+o+\"` of type \"+(\"`\"+c+\"` supplied to `\"+n+\"`, expected a single ReactElement.\"))}return null}return o(t)}function l(t){function e(e,n,r,o,a){if(!(e[n]instanceof t)){var u=w[o],c=t.name||E,s=b(e[n]);return new i(\"Invalid \"+u+\" `\"+a+\"` of type \"+(\"`\"+s+\"` supplied to `\"+r+\"`, expected \")+(\"instance of `\"+c+\"`.\"))}return null}return o(e)}function f(t){function e(e,n,o,a,u){for(var c=e[n],s=0;s<t.length;s++)if(r(c,t[s]))return null;var l=w[a],f=JSON.stringify(t);return new i(\"Invalid \"+l+\" `\"+u+\"` of value `\"+c+\"` \"+(\"supplied to `\"+o+\"`, expected one of \"+f+\".\"))}return Array.isArray(t)?o(e):M.thatReturnsNull}function p(t){function e(e,n,r,o,a){if(\"function\"!=typeof t)return new i(\"Property `\"+a+\"` of component `\"+r+\"` has invalid PropType notation inside objectOf.\");var u=e[n],c=y(u);if(\"object\"!==c){var s=w[o];return new i(\"Invalid \"+s+\" `\"+a+\"` of type \"+(\"`\"+c+\"` supplied to `\"+r+\"`, expected an object.\"))}for(var l in u)if(u.hasOwnProperty(l)){var f=t(u,l,r,o,a+\".\"+l,C);if(f instanceof Error)return f}return null}return o(e)}function h(t){function e(e,n,r,o,a){for(var u=0;u<t.length;u++){var c=t[u];if(null==c(e,n,r,o,a,C))return null}var s=w[o];return new i(\"Invalid \"+s+\" `\"+a+\"` supplied to \"+(\"`\"+r+\"`.\"))}return Array.isArray(t)?o(e):M.thatReturnsNull}function d(){function t(t,e,n,r,o){if(!g(t[e])){var a=w[r];return new i(\"Invalid \"+a+\" `\"+o+\"` supplied to \"+(\"`\"+n+\"`, expected a ReactNode.\"))}return null}return o(t)}function v(t){function e(e,n,r,o,a){var u=e[n],c=y(u);if(\"object\"!==c){var s=w[o];return new i(\"Invalid \"+s+\" `\"+a+\"` of type `\"+c+\"` \"+(\"supplied to `\"+r+\"`, expected `object`.\"))}for(var l in t){var f=t[l];if(f){var p=f(u,l,r,o,a+\".\"+l,C);if(p)return p}}return null}return o(e)}function g(t){switch(typeof t){case\"number\":case\"string\":case\"undefined\":return!0;case\"boolean\":return!t;case\"object\":if(Array.isArray(t))return t.every(g);if(null===t||x.isValidElement(t))return!0;var e=k(t);if(!e)return!1;var n,r=e.call(t);if(e!==t.entries){for(;!(n=r.next()).done;)if(!g(n.value))return!1}else for(;!(n=r.next()).done;){var i=n.value;if(i&&!g(i[1]))return!1}return!0;default:return!1}}function m(t,e){return\"symbol\"===t||(\"Symbol\"===e[\"@@toStringTag\"]||\"function\"==typeof Symbol&&e instanceof Symbol)}function y(t){var e=typeof t;return Array.isArray(t)?\"array\":t instanceof RegExp?\"object\":m(e,t)?\"symbol\":e}function _(t){var e=y(t);if(\"object\"===e){if(t instanceof Date)return\"date\";if(t instanceof RegExp)return\"regexp\"}return e}function b(t){return t.constructor&&t.constructor.name?t.constructor.name:E}var x=n(27),w=n(175),C=n(405),M=n(8),k=n(177),E=(n(1),\"<<anonymous>>\"),T={array:a(\"array\"),bool:a(\"boolean\"),func:a(\"function\"),number:a(\"number\"),object:a(\"object\"),string:a(\"string\"),symbol:a(\"symbol\"),any:u(),arrayOf:c,element:s(),instanceOf:l,node:d(),objectOf:p,oneOf:f,oneOfType:h,shape:v};i.prototype=Error.prototype,t.exports=T},function(t,e,n){\"use strict\";var r=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";t.exports=r},function(t,e,n){\"use strict\";function r(t,e,n){this.props=t,this.context=e,this.refs=c,this.updater=n||u}function i(){}var o=n(3),a=n(97),u=n(98),c=n(38);i.prototype=a.prototype,r.prototype=new i,r.prototype.constructor=r,o(r.prototype,a.prototype),r.prototype.isPureReactComponent=!0,t.exports=r},function(t,e,n){\"use strict\";t.exports=\"15.4.2\"},function(t,e,n){\"use strict\";function r(t){return o.isValidElement(t)?void 0:i(\"143\"),t}var i=n(28),o=n(27);n(0);t.exports=r},function(t,e,n){\"use strict\";function r(t,e){return t&&\"object\"==typeof t&&null!=t.key?s.escape(t.key):e.toString(36)}function i(t,e,n,o){var p=typeof t;if(\"undefined\"!==p&&\"boolean\"!==p||(t=null),null===t||\"string\"===p||\"number\"===p||\"object\"===p&&t.$$typeof===u)return n(o,t,\"\"===e?l+r(t,0):e),1;var h,d,v=0,g=\"\"===e?l:e+f;if(Array.isArray(t))for(var m=0;m<t.length;m++)h=t[m],d=g+r(h,m),v+=i(h,d,n,o);else{var y=c(t);if(y){var _,b=y.call(t);if(y!==t.entries)for(var x=0;!(_=b.next()).done;)h=_.value,d=g+r(h,x++),v+=i(h,d,n,o);else for(;!(_=b.next()).done;){var w=_.value;w&&(h=w[1],d=g+s.escape(w[0])+f+r(h,0),v+=i(h,d,n,o))}}else if(\"object\"===p){var C=\"\",M=String(t);a(\"31\",\"[object Object]\"===M?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":M,C)}}return v}function o(t,e,n){return null==t?0:i(t,\"\",e,n)}var a=n(28),u=(n(15),n(174)),c=n(177),s=(n(0),n(399)),l=(n(1),\".\"),f=\":\";t.exports=o},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}var i=n(41),o=r(i),a=n(182),u=r(a),c=n(183),s=r(c),l=n(181),f=r(l),p=n(180),h=r(p),d=n(179),v=r(d);(0,s.default)(),window.SHAP={SimpleListVisualizer:f.default,AdditiveForceVisualizer:h.default,AdditiveForceArrayVisualizer:v.default,React:o.default,ReactDom:u.default}}]);</script>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "shap.initjs()\n",
    "explainer_xgb = shap.TreeExplainer(model,data = X_test,model_output='probability') #shap.Explainer(model.predict, X_test, model_output='probability')\n",
    "shap_values_xgb = explainer_xgb(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "id": "31796487",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAt0AAAG0CAYAAADuJJv9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAADIj0lEQVR4nOzdd3gU1dfA8e/MlvTeSegd6V0RBEVBBFREBayoiCh2saII9tfys2DDAqigKIgUC6g0pYMg0nsJECC9Z8vM+8ekbXYTkhBIAufzPKtMu/fOJpk9c/fcO4qu6zpCCCGEEEKIs0at7gYIIYQQQghxvpOgWwghhBBCiLNMgm4hhBBCCCHOMgm6hRBCCCGEOMsk6BZCCCGEEOIsk6BbCCGEEEKIs0yCbiGEEEIIIc4yCbqFEEIIIYQ4yyToFkIIIYQQ4iyToFsIIYQQQlSLF198EX9//3JtUxSFt956q8J1VPa4qmau7gYIIYQQQghxOqtXr6Z+/frV3YxKk6BbCCGEEELUeN27d6/uJpwRSS8RQgghhBA1Xsk0EV3XmTRpEtHR0fj7+zNkyBB++eUXFEVh2bJlLsdqmsaECROIiooiPDyckSNHkpWVdU7bL0G3EEIIIYSoVg6Hw+2laVqZx3zwwQe8+OKL3Hnnnfz44480bdqU++67z+O+kydPZu/evUyfPp3nn3+emTNn8tJLL52NUymVpJcIIYQQQohqk5WVhcVi8bjNz8/P43qn08nrr7/OyJEjef311wG46qqrOHHiBNOnT3fbPzo6mhkzZgDQv39/1q9fz+zZswuPPRck6BZCiCpit9uZOnUqACNHjiz1Q0QIIc57yhDXZf3HUnf18fFhxYoVbuunTJnCzJkzPR4THx/P8ePHGTx4sMv6a6+91mPQfdVVV7kst2rVitmzZ5faprNBgm4hhBBCCFHFlHLvqaoqnTt3dlu/cOHCUo85fvw4ABERES7rIyMjPe4fHBzssmy1WsnLyyt3G6uC5HQLIYQQQohaJSYmBoBTp065rD958mR1NKdcJOgWQgghhBBVTCnxqlpxcXFER0czb948l/U//fRTlddVVSS9RAghhBBCVLGqD7SLM5lMPPPMMzzyyCNERUXRp08flixZwtKlSwEjZaWmqXktEkIIIYQQtdzZ7ekGePDBB5kwYQJffvkl119/PTt27OCNN94AICgo6KzUeSYUXdf16m6EEEKcD2T2EiGEyKfc5Lqsf39Oqh0/fjzvvPMOSUlJ+Pj4nJM6y0vSS4QQQgghRK2zY8cOvvnmGy655BKsVivLli3jrbfeYsyYMTUu4AYJuoUQQgghRJU7uzndAL6+vqxZs4ZPPvmE9PR0YmNjGTduHC+++OJZr7syJOgWQgghhBC1Tv369fnzzz+ruxnlJkG3EEIIIYSoYme/p7u2kaBbCCGEEEJUMQm6S5IpA4UQQgghhDjLpKdbCCGEEEJUMenpLkmCbiGEEEIIUcUk6C5Jgm4hhBBCCFHFJOguSXK6hRBCCCGEOMukp1sIIYQQQlQpvURPt/R7S0+3EEIIIYQQZ50E3UIIIYQQQpxlkl4ihBBCCCGqmCSUlCRBtxBCCCGEqFKS0+1Ogm4hhBBCCFHFJMwuSXK6hRBCCCGEOMukp1sIIYQQQlQx6ekuSYJuUTNk58Grc+D3f6FZHRg/FJrHVnerhBBCCFEJJXO6hQTdoqa48wP4YZXx73V7YNEm2PsRBPpWb7uEEEIIIaqA5HSL6pecAXNWu647lQ4/ra2e9pS0fBtMXwrHkl3X74yHaUtg8wH3Y5IzYMZy+PUfcDrPTTuFEOIcS8/T+W6nxvy9GnanXt3NETWKUuIlpKdbVL/v/gbNw8XaVM33hE4nXPs6/LzRWLaYYdZjcH13ePMnePKron0fGwRvjzT+vWYX9HsJ0rON5c6NYekk8Pc5p80XQoizaespnT7fO0nMMZZbhsJfw02E+UiAJUBuwdxJT7eoXnl2eP5b9/WRQXBdt3PfnuIWbiwKuAHsDnjkSziV5t7m/y2E3ceMfz/5dVHADbBhH3zx59lvrxBCnEPjV2qFATfAjmR4/x+t+hokRA0nQbeoPpsPQM/nIDnTfdujg8DPGz74GerdCyG3wYOfGWkezR6AgBFw+3uQluV+rNMJT38N4XdAzF3w2hzP9WfmwN0fQuAt0HiMUXaB/5sLt73nfszhRNh2xLhZKE7XjR7uzBxYv8f9uMenwRUTjJQUIYSoBsk5OsMXOvF710GLLx3M2W0EyKm5Orf+7MT/PQfNv3Dw/c7yBc47ktz7Ml9fq/PcX040Xfo5haSXlCTpJaJ65Nnh6pcgIdV9m6LADd1h4QZ46Iui9ZN/dd3v6+VGWso3j7iuf3s+vDG3aPnZGRAbCrf3cd3vkS/hy/we6IwcYzBn0xg4cAKe+tpzuzs3hu7NINgPUksE/NOWwortkGt3P86pwZL/YNBrsOsDUOV+Vwhxbt2zWGPuHiMY3pUMNy/Q2HKHwsTVGt/vMtbvToHhP2u0CFNoG1F2oNSnnsLuFNfg2qbBq2t1Inx1HukkgdaFTGYvcSef/KJ6rNzpOeA2qzD2amhaB2asOH05s1eXb92b8yAr9/T7zVkNnyzyXFeLWJj2IHhb4eYe7tuXbjVuBMqy97gxO0tZ0rNh8i8wbroxiFMIIc6Q3akzb69rgOzUYeBcJ7N3ua7XdPhx9+l7u1+9VOXyep4Dqx92GcfvTdGZsNLJxFUaB1I9935vPWX0jr+2VuNYZuV6yDNsOpP/0Ri3zMmyw5LiUjNIT3dJ0tN9Drz44ossXLiQDRs2VHdTao6oIM/rHRp88AuE+MMv/5y+nFB/D2UHu6/bethIZVnzOlgtxjpPgzd3HYO/d7qv79UKlr9ctKyVclG3OU7bZB6bCitfM3r0S8rKhYufge1HjOW35sF7d8ND15y+XCGEKIVZhXAfOJntuv5Amuf9o/xOHySF+ij8eZOJRp853MqJ8lNYf1znsllOchwAOm+th7+Hm2gXWVT24oMa1/yo4dCMfd7eAOtvMdEwuPxBWrZd5+IZTrYlGctvbdD5Xx94pJP0K4qaRX4jRfWIDIJrOpW+/Y0fXQcjlqZuWNG/E1KM19PXg7fFfd9NB+DzP4y0kF1HjZSSkjz1LJvye99TiuWeL9zovl95rd4NM1fAvgTjoUBg5KHvS4BvlhcF3AVe+qH0IF8IccaSc3SOpFddDnLx8uxOnb0pOgmZGoersI4TWTrHK9ArnOuAMe3LF8g2DYFbWiqcLFHHsUydU9lFy0czdNYdc3oM3Ac2UnhjnZYfcBsy7fDWeo19qTo5dqOcl9cUBNyGpByYvKn0652u6+xP1cm06RxM00nL05m9Wy8MuAu8tFojy2bU5czvYMmy6exL1dEl3/yc0FFcXkJ6usW5ZrPDXR/Ct38bgWSjSIhPdu8hzitHjzHAur1wyTMQ4ge/bjLWXdcVXh4BT0x33/+Bz+DRqdCzpefyMnPd11lMcNPbxpSBY/pB/Qg4nlK+9pXm1vxBmn7ecH8/mLXSGKTpbXXfNzkT7E7wkntkIaqSpus88IfG5//pODToGQezB5mILEcvrye6rvPQEo1P/jXKaxkKiTlwqtj9/cV1YM5gEzH+lasj16Fz+y8as3fr6MCgxgozr1Hxt5Ze3tT/NB5bppGaBxE+ru0p7s5W0C5KZXgLuO93jVm7dDQdrqpvfDH4x2FQFbihqUJyrs6fh0tvZ6BV59cD7sHt7N063+xwEuwF/+ujcjTD/dgTpfS3/HtS56YFTnanGO3QdPAywSV13PdNzoW4T41zrhsAQ5oqfLlVJ8MGjYNh1kATnaIlEDy75P0tSYJucW59+Jtrrvb+k2de5updrstz1xYF4J7YHPDnf+Uvv2BgpN0B7/9c8faVJSvXyDcvrMvmvs/ATuDloedeCHFGvt6m88m/RYHhX/EwbrnG9AGmSpX37U6dyZuKytuR7L7P6mPw6FKN7wZVro53Nuj8sLuojgX7dF5dq/FqT8/lHU7XGbVYo+C5NaUF3ABXNFC5tZXKm+s0vt1ZVMfiQ0X7aDou9XsS4g0/79fJ9tB3kpv/rLDUPLhnkUZcgPs+dT2sA7jtFyPgLmgHQJ4Tlh7xvH9q/heJRzLgvX+K2rwvFUb87GTnXSYUT2l+QpwlFQ668/LymDZtGosXLyYhIQGz2Ux4eDjdu3dn3LhxhfutXbuWr776im3btmGz2ahXrx5Dhw5l6NChhfs888wz/Pnnn0yePJmuXbsWrt+wYQP3338/V1xxBa+99toZnqKrBQsWMHHiRD788EO2bNnCvHnzSElJoUmTJjz++OO0bduWjRs38tFHH7Fr1y78/Py44YYbGDVqlMsf55o1a5g3bx7bt28nMTERi8XCRRddxF133UWnTmWkTRSTmJjIZ599xt9//01SUhLBwcH07NmTMWPGEBoaWqXnXWMsqUCweyY8Ba/VKSIQUrLAUc6nU/p7GzOeDOoM915lTF+YkgnDLzVmTvn8DzCb4P7+0KeNMWXh538YNxwxIfD4YCOFZtpS8LHCgwOgRym9+0LUMF9v0/hup06YDzzWWaV9ZOUCozyHzrsbdf48rNMyDJ7sohIboPDjbo3p23S2nHIPHpccOX3qwexdGl9t1/G3wEMdVbrXMdr36/7ypS3M26tz9Wwng5sojG6noJ4m8NN0nY836yzYp7M10b2Or7bpPNNNJyC/t3vLKZ0XV2lsSNDRdSjvgyIfW6rx4kqNlLzy7e9JhA80DIKf9p5+X6cOCR5mjE3K1Xl6hZN/TkDrMB27rvDfKZ3/EivfrpJ2p8CxTIgtJcAXZ05SStwpegWTmyZNmsT8+fMZMGAAbdu2Rdd14uPjWbt2Ld999x0AP/74I6+99hpt2rShd+/e+Pr6snbtWpYuXcptt93Gww8/DEBmZia33HILeXl5zJw5k9DQUFJSUhgxYgRWq5UZM2bg7+9hoNwZKAi6W7Y0ApD+/ftjt9uZMWMGNpuNiRMn8tJLLzFkyBCioqL4/fff2bhxIy+++CIDBw4sLOe5554jLS2N9u3bEx4ezsmTJ5k3bx6JiYl88skndOjQoXBfTwMpExISGDlyJHa7nWuvvZa4uDji4+OZPXs2oaGhfP3111V+7jXCiP/Bt39VdyvOvZ4t4c7LjXnBy+vKdsYgyk5PQE4pNxGqCn9MMHLRJ35ftN7XCtnFjjGb4O9XoFuzyrVflIvdbmfq1KkAjBw5EotFvqGoqHc2aDy+rCin19cMm2430Sy04h/gIxY6XXpsGwbBs90URi0u/WPvyvoKi28svRd66n8ady0qap9FhdUjTHSIgtiPnSSUYyhKcU91VXi9V9m93k8sc/L2hrI/qq+op/DHTSYOpOq0me4ky8PMpWebClR09ImndJc6fnDMwyMYyqJQsScgepkg/SETVpMEhmdLnjLGZdlL/7iaWlJzVLine9myZfTo0YNJkyZ53J6YmMhbb73FlVdeyauvvlq4fujQobz11lvMmDGDG264gbi4OPz9/Xn11Ve5++67efHFF3n33XeZMGECycnJfPHFF2c96Jw6dSpms/EWNG7cmEcffZSnnnqK6dOn06JFCwCuvfZaBg4cyOzZs12C7vHjx+Pj4/pY7xtuuIGbbrqJqVOnugTdnrzxxhuFwX5UVFTh+iuuuIKRI0cyY8YMRo8eXVWnWnPYzsIngbfF89zYNcnq3dC/Y8WO+f1feOun0gNuMPLiP14Ef25xXZ9d4hiHEz5dLEG3qPE+KPFEw2wHTN2q8dppAtOSTmXrzCoxFd6BNHh9XemhWbAXvNaz7LETkze7ts+uwZQtGsNaKBUOuAE+2qzzWk+91DQHp2b0cp/On4d1dibpfLtTq/KAO8wbkjwMdympMsO9HR4OqmjAfVmc0Wv+99HyH2PXINsO1spl+YhykJ5udxUemRUQEMC+ffvYu9fzd0d//PEHNpuNwYMHk5qa6vLq2bMnmqaxbt26wv0vuugixo4dy6pVqxg1ahSrVq3i/vvvp3Xr1pU/q3K44YYbCgNugHbt2gHQpk2bwoAbKEwbOXLENWmseMCdnZ1NamoqJpOJ1q1bs21b2XMrZ2RksHLlSnr27ImXl5fLe1SnTh3i4uJYu3ZtVZxmlUhOTiYvr+j7xszMTDIyika/2Gw2kpJch44fP37c87K5fFc4vSJ5dk9eV/59q4qn2VHK4nDCS9+ffr+S9p44fdG5eejOcnzcFUttKfnzSUhIcBnRX6U/8wusDj8/P5cOg9p6HtVVh93D73LxwKy8dWi6kXXlVpaHXItLo23MuEbl4L3G4Lqy6vAUJObY7KRnlZEsnU/1cFlzaEYPbWnnoVP+YPb4yVMe2weeh7SZlbKD+br+Op/3zuaf2ys/iNus6PhZSq9HPU0bTsfPAnOuTEf3NAVsmXSXWWNry99HResQNUuFe7off/xxnn/+eYYNG0ZsbCydOnWiZ8+eXHbZZaiqysGDBwEYO3ZsqWUkJ7uOLrnlllv466+/2LhxI126dOH222+vaLMqrE4d1+HOgYGBAMTExLjtGxgYSFqa65xI8fHxfPjhh6xZs8bljwI47cCMQ4cOoWkaCxYsYMGCBR73iY2NPe05nCsl88tLfgNhtVoJCwtzWVfyfSxcvqevMVPHaSjlzXry9YITpUw061Kg4vkTuLIq07NemWO2HzZuVMrIBTePuRqaxxlzehewml1nhFFVuLtv4WLJn090dLTLcpX+zC+wOrKyXLvpaut5VFcdo9trvLCyKHK0muCOi4qCvvLWEeVlzOwxf1/R332MHzzSWeXRpUXrVAVe6+3DpXFF1+2y6hjVRuXBJZrL8fd18KJrDDRZ6WRvatFxJsU1n3pYc6M9mcUuBXe3MXK6y3qv7rxIcRnwGWCBSD9jQGCBi+tAn5aR1EnWeWeDs3DAYoH+DeHXA67rHHrZn1WPdzFxdyfjs7F1uMbW0+RUlzzfgjocpVz6esVBrziVl9eU/9pcMGtJgTHtFI5qIaw8XvZ4GatqPC2zwJCmKqE+5fuZQ835+6hoHdVLerpLqnDQ3atXLxYsWMCqVavYuHEj69evZ/78+bRu3ZpPPvmk8K5twoQJREZGeiyjZECZkJDA7t27ATh69ChZWVlnPbVELeUx3CbT6Xtis7KyuOeee8jNzWX48OE0adIEPz8/FEVh2rRprF+/vlxt6NevH4MHD/a4zcvLq1xl1Dp928Gjg+B/nm82KqxNPdgeX/Y+b90BLePgvZ+NAZa39oIdR8vfBn9vz1MJVuV5lCYxA34YB9OWGAMpR/QqNpBShQeuhqs7wlXtjMGaBQMpnx4C2w7D1KVGfvfDA+Gyi85uW4WoAuO7KwR5qczaqRHmozCui0rr0zyOvDQzrlF5eY3GksM6LUMVnr9YpUmIQqBVY9o2DV+zwiOdFJeA+3TGdlTxNsP0bRr+FoVHOytcEmscv+QmE5NWa2w+qdMjVmFIU4XJm3QOpesMaqzyZFeFrYnw6hqN+EydwY1VxnU5fd3vX64SF6CzYJ9GvQCFZ7urRPjApNUa/5zQuSRW4YWLjc+05qHGA2ue+9vJf6fA1wL3tFG4ubnCbwe00+Y9mxSI9Yfnuqvc267oc7JFqOJxEGdxTh3ahFOuAY+j28FrPU0EecEb65zYS/TQtwk38q5bhYFdU9iTotMrTuGaRgqTNxvzhw9pqvJYZ8Ulb9+TYS1gXBeVdzbo7E7RubK+wnPdZQrWs03SS9xVasrAwMBA+vfvT//+/QGYMmUKU6ZMYfHixdSrVw+AoKAgunXrdtqyHA4Hzz33HHa7nXHjxvH222/zyiuvVPmsJVVp/fr1JCYm8sILL7gFzR9/fPqBAnFxcSiKgs1mK9d7dN4Z06/qgtU8B/RuDX9t97zd22IEx6oKA4rNKtP9qfLX0bkJbNoPacUSNi1mY0aQD34p/4wkldEwCoZ0g6EXu66/pZfrsskET15vvAp0bQojrzh7bRPiLFAUhYc6KjzU8cyDIn+r50GKd7VRuatN5cu/p63KPW3dj68bqPBZP9f6etV13adjFMy+tmKJxBaTwnPd3QPFT6/yXM4lsQpLby76eNd1nYumOss10NCpw+EM4wE5xV0WpzD7NFMFgjGw9HSahcDHfYum6+sVp/DnYdeyX7hYZWhzz4VdXt91uXtM6QMpfczwUV8TId4K38iDfUU1q9BVx+l0uqVSAIU50Onp6fTt2xer1cqUKVPIzXXvHczMzMRmKxrk9cknn7BlyxaeeOIJbr75Zu644w5+//13fvrppwqeyrlT0BtecuKXNWvWsHXr1tMeHxwcTI8ePVixYgWbN292267rOikpZ/jwlZqsaR3jATZl6dAQOjc+fVlbDxs53b1LGQOQa4cXvoPPfy96AuX+BFi7x33fxlGeky73Hod37oQgX2PZ1wueHwqTvq9YwO3r4dsLhdK/gYsKhmljjRsGIYSopE0nPc8Z3iyk9IGEJXuP722ncEPTootVh0joHed+3D8nYXgLo8e8NB9eobqkYX7YVy0M8lUFRrVVGNKs/L2kTUIU3u5tfAMBRZfUACt8dpVKiLf0uFYPpcRLVKinOzs7m/79+9OrVy+aNWtGaGgoCQkJzJkzB19fX/r06UNUVBRPP/00L7/8MkOHDuWaa64hJiaGlJQU9u7dy7Jly/jhhx+oU6dO4VzeV155Jddddx0Ao0ePZuPGjbz11lu0a9eOhg0bno3zPiPt27cnLCyMd999l+PHjxMZGcnu3bv55ZdfaNKkSamDTIt7+umnueeee7jvvvsYMGAALVq0QNM0jh49yooVKxgwYMD5OXtJgeu6wU/r3Ne3qgtfPwQd8wPuwa/Cgg3u+xVwOOH292HpJPjgZ3joC/d9Xplt/P//foK1b0CAj/Fo95IDtj4aDVOXwHd/u66PT4LHp8PvLxrXjf0JcOv7xsNyKqLgke/FBfkZaSF7Sgx+uacvfDgKrDLlnBDizASXkq349QATjYLg0m+d7Eop+xirSWH2tcaUhFl2aB2hMHuXxrJ495GbP+yC6f0VDqTD8ytdg3dfM27pPM1DFXbeZWLLKQj3gbiAigdoj3ZWueMihf1pUD9Q51C6QvNQCucuF+eepJe4q1AXmre3N8OHD+fYsWN88803vP766yxYsIDu3bszffr0wlztwYMHM2XKFFq0aMGPP/7I66+/zqxZs0hMTGTMmDGEhYWRnJzMCy+8QExMDM8991xhHWazmVdeeQWr1cqzzz7rMpK3pggICGDy5Mm0bt2aWbNm8e6777J//37ee+89l5lPyhIdHc0333zD8OHD2bx5M++++y6ffPIJ69ato2fPnlx55ZVn+Syq2dCLoUm0+/rtR2BbsZliXrzZGARZlp83Guklo6+C1vVK32/PcfjiD4gIgrtLpF10bgx928JT1xsPkykpNQveW2ikmrw+t/SAu6KzmjxxLYwf6rouLABeuEkCbiFElWgUrHBjiZ7jPnUVusYohPsqTOyhuoRHwV5wXzvP4UHDYKUwx35QY4WLwtz3cejwv390Huus0qxEmsojnRS8ze7XdFVRaB+pVCrgLhDqo9A5WiHCV6VztCIBt6hxKvxwHCGqzPFkqHOP+/rbe8P0h4qWw26HZA+PLSvum4fhlsuM4PjTRbDrGHy/ErJK3LQ9OADev8eY3/qb5bBsG1xU13jqY0D+NJA74o2c7/QSU4D1bGU8iCbwFiOXvLgWscZTIK9sZwxy3HTAmC3ljy2us4gAXNwcWsXBwM5Gjz/A0v+MHvawAOPmob7nQciiZpOH44iayu7UmbZNZ/UxnQ6RCve0UfCxFAWlf8XrzNyhEeQFo9uqNAw+fcCq6ToP/O7k0y3u+dQRPnDyATPJOTqf/KuzL1Xn6oZKqXna4vyTrTzksuyrv19NLak5KjWQUogqERMKV7aF30s82GX2avjgHgjMz6G+vht88Wfp5XhbjWAXjJk9nhpi/NvhhK+Xu+47qLPxf1WF2/sYr5J2xrsH3AXHvjXPPeAGePcu6Jf/QKSXRhStv+V/MLPEEzhfGWE8ur24Pm3c1wkhRBWxmBRGtVUY1dbz9p5xCj3jKjbAc+pWnU+2eN42qLERtIf6KDzbXXqcL0SSXuKuxgfdubm5ZGaW3cvpcDhcHnRTmpCQkHJNCSjOkcR0CA1wX5+dByt3GlPhAbx9pxEE/7jGGMw48nJj+5rd0Dga3rsLIoPdy3nvbqOsn9YZwfizN8CV7U/frt82ua/zsRqzoFw+wX1bo6iigLukD+4x2jB/A4T6G6kkElwLIc4Dv+73/EX5jc0U3ukjPdpCgu6SanzQ/fvvvzNx4sQqKWv+/PluD8UR1STPDj2fg52lPLe3UVTRv4P84PsnjEfIm01Fs3nk2cGrjK/vQ/xh9pPux51O8boLtG9olNEoyn16wtJmTgHjpmLu0xVvgxBC1HCNg93XDWgI3w+Wzi0hPKnxQffFF1/Mhx9+WOY+GRkZBAR46DEtoeSTnEQ1+nlj6QH3vVdCcw9P5Cw5sLCsgLus407n3qtg2tKi9nlbjZQQMHrLf95o9NKDMfPI09d7LudM2iCEEDXcw51Uvtvp5HD+TMKBVpjUQwJuYZD0Enc1PugODw8nPDy8upshqlqWhyc8AswZB0Mu9rztXAnxh3/eMp7umJIF13aBuPzfwWZ1YPdkmLPamFVlSHdjfyGEuMDU8VfYNtLEnN06OQ64vqlClJ8EWsIgQbe7Gh90i/PUoC5GsJpSLF//qvbVH3AX8PEyHrnuSYg/3HOeT+kohBDl4G9VuKO1BFdClIckmIrqEewHSycaM4I0jYH7+sF3j1V3q4QQQgghzgrp6RbVp11DmP9sdbdCCCGEEFVM0kvcSdAthBBCCCGqmATdJUl6iRBCCCGEEGeZ9HQLIYQQQogqJekl7iToFkIIIYQQVUqCbneSXiKEEEIIIcRZJj3dQgghhBCiiklPd0kSdAshhBBCiCqlV3cDaiAJuoUQQgghRJWSnG53EnQLIWq+nDz4eaPRdXJNJ/D1qu4WCSGEEBUiQbcQomY7kgiXPguHE43luDBY8TI0jKredgkhhCiD9HSXJLOXCCFqttfmFAXcAPFJ8Mrs6muPEEKI09JRXF5Cgm4hRE23ZKv7urV7zn07hBBCiDMg6SVCiJotJbO6WyCEEKKCpHfbnQTdQoiaR9NgzhpYtRPSsty32xzw2FTo2xYGdDr37RNCCCEqSIJuIUTNc+/H8MWfpW/ffcx4/W8BjB8KL404d20TQgghKkFyuoUQNcev/0Crh8oOuEt6ez5k5py9NgkhhKgwGUjpToJuIUTNcPAkXPc67Iiv2HE5Nsg4v4LuzGPZ7P85npQ96dXdlGq1K1ln1k6NQ2nuz7bTdZ1lhzXm7tHItMmz74SoaSTodifpJaUYNGgQMTExTJkypbqbIsSFYd46I1e7ojo3hpjQqm9PNdn53QFWTdiM7jQCydZ3N6XbM22quVXn3vi/nbyyxngPVAXe7aPyYEejnyjLptNvjpOVR419w3xg8VATHaPkg12ImkP+HkuSoFsIUTpdhy//hNmrITIInrgW2tQ/83J/WAVfLQM/L7jrCli+zQi6K+Prh8+8PTXE0ZUnXAJugK1f7KHx4LqEXxRcfQ07ixKydN5Yp7E1EXrGKjzRReFYJry6pug90HR4dImTn5amkZFmJ8nfl/2qd+H2pBx4ZImTFcPlI00IUXPJFUqIcy0zB1KyoG54xY47kgih/uDn7Xm73QFHk40nNppNRettdjieYqw3mTwfW9zhUxAeaDxq/eUf4IXvirb9uAZ+HQ+dGsPJNLCYwWo29i+vL/6Aez4qWp61svzHluTnBVFBEJ8IceFGmkl6NsSGVb7MapK4NYVFd69Ed7pvWz1xM4O+7w1AbkoeuqbjE2b8Htgy7Ngz7Wga+IZ7YfIqx884X1ZCDhY/M9YAi8v6nMRcVLOKV7AVR56TnMQ8/Ov4oChl91zpuk7msRx8wr0we5lwajpHMqCOn07eidzC9TlJuagmleOYuWq2xp5U4/g/Dun8dRTGdlApmTDiRGGJHgCl/KqtPmbUrygKSTl6fsqJQr1ACtudYdNJy4O4AGP5WKaOnwWCvKRHToiqJklf7iToFuJcevkHeO1HyM6DDg3hh3HQOLrsY3YfgxvfhC2HjID7+aHw1BDXfeavg3s/gROpEBsKX46Fq9rD9yth7GdwKh3qhcP0h6B3a8/1bD0EN78D249AgA88NxReLvHkx8xc6Dne+L5fK3ZJvfESmP4g+Hid/j348NfT71NeWXkQeofx7+hg42Ymzw7dm8EPTxiBeC2x87sD6KVk15zanEzWiRw2vLWNffOPoGs69fpE41/Xj50z96PZjZ+FNdDCxS+0o8l19cqsKyshhyUPruXkpmRMVpVWdzah65OtsWXYWfrIOuKXn0AxKUR2CCV5dxr2dAcB9fzo824XItp6TuU59V8Kyx5ZR/qhLKyBFvzvuYiHTPUw7UtlzJKNhKdmYQ2w4FfHh/3xNj65qjP7otzL+uMQrDmmVezNAxw6zN6lMX8/zNiuF37gNw2B7weZmL1b4+0NOrkO6BgJFhOsPQ5WE9zfXuGd3uppbyqEEOUnedzuFF3Xa/3NyIIFC5g4cSIffvghmzdvZsGCBSQlJVGvXj1GjhxJ//79XfbfuXMnU6dOZdOmTWRkZBAaGkq7du24//77iYuLAzzndK9Zs4Z58+axfft2EhMTsVgsXHTRRdx111106uQ6V/C+ffv47LPP2LJlC8nJyfj7+9OgQQNuvfVWevfuDUBeXh7Tpk1j8eLFJCQkYDabCQ8Pp3v37owbN+7svmni3Fu+FXq/4LquaQzc0guGdC89baPHM7Bql+u6X8bD1R2Nf6dlQewoyMot2u7nBf++DS0fBnuxrtNAX3igvxGQN4yEb/8GkwpDL4bLxsORpMqf34s3w4SbXdfl2oye7L3HoV8HuLQltHkYth6pfD3lNagzzH/27NdTjN1uZ+rUqQCMHDkSi8Xitk9OUh775h3GnuMkpEkAyTvSUL1Vdny9n+wTuW77A6BAq9sbs336vtM3QoE29zSlxbCGBNb397jLH/ev4dDiYyQE+bG+cSw+djs31XcSjMb+hZ4Hsm6tG8GhZtH06RNCl6MniO0URtxlUSiKwoojGtuH/Y7lRNGc6poCz918OY/8spao9GLrgf8N6AaKQlBOHmua1fVYX0xKBs3jT7GsTaPTn3M+fwtk2t3X1w2AIxllH/vtQJVhLYyc8X9P6szdoxHuA1YV1p/QsWsKF9dRGNFSIcAqwYQQp5OgTHBZjtYnVlNLao7zqqf7gw8+ICcnh6FDhwJGMD5+/Hhyc3O57rrrAPjrr7948skn8fX1ZfDgwdStW5ekpCRWr17N3r17C4NuTxYsWEBGRgaDBg0iPDyckydPMm/ePO6//34++eQTOnToAEBqaipjxowB4IYbbiA6Opq0tDR27tzJli1bCoPuN954g/nz5zNgwACGDx+OruvEx8ezdu3as/cmierz6FT3dXuOw4uz4KUfYNbjcMPFrttzbe4BN8BNb8H2940UlTW7XQNuMHqAez3vGnCDkXrx2o/Gy2ouGrj49NeuPdeV8esm16Db4YTLJ8Dq/Pa/PBtevxWSz9ETJhdvPjf1VEDmsWzmD1lKTmJehY6L6hTG9q/LEXAD6PDfZ3vY/tU++k29lJiu7r39x1adZFtcBO9f3Q2nyQg0F2Xm8MyPKyjZ95zo78OfbRrxe7vGAMyNh/YHchj78Spa3tqIvwe05f8WZvLGCdeHGKk6dDpw3CXgBmPKrPCsXFY1jePB39ayNzqUxEA/l31aHz7B2N/WYdZ0VrWoh81Sjo8qXSfT7jkYPl3ADfDnIZ1hLeC7nRq3/Kx5+HPQmb5N572NsPZWkwTeQpyG9HS7O6+C7tTUVL777jv8/Y3enaFDhzJs2DDeffdd+vXrh6IoTJw4EX9/f7799lvCw4s+jEaNGoWmlf2V5vjx4/Hx8XFZd8MNN3DTTTcxderUwqD733//JTk5mddff52+ffuWWt6yZcvo0aMHkyZNquwpi9ri4EnYdKD07U4NJnznHnR7WaBBpHF8cZm58MEv8H+3Q7M6oCjGoMfijqWU3abiM4WcacANkF0i8F+4oSjgLjDpe8i2nXld5VLzLvjbpu2tcMANoKiK0UVcAc48jc0f7iSm66Vu24IaBTC/UfPCgBsgxd+HXzs05ZaVW132/bdBNH+2aeiybnPDGA5EBOOYdZCXgy9CN5swMqhdHYgIJstqwc/m2v18PNgfp9nEbx2aMuKvLUzv3Z40X2/j9xgYvGEX5vzfyZbxp/i3YUyZ5+qTZyPHy1rmPqfTItSo+/m/PQXcRXYkw9fbdO7vUPN+v4SoWeRvpKTzap7uoUOHFgbcAP7+/txwww1kZmayYcMGVq9eTWpqKrfccotLwF1AVct+O4oH3NnZ2aSmpmIymWjdujXbtm0r3BYQEADAypUrycwsvVcvICCAffv2sXfv3nKfY3VITk4mL68oUMjMzCQjo6jryGazkZTkmpZw/PjxMpcTEhIontl03tdxLJnTOprsXoeikPL8dZ4HpBw12poZ4YftFvfA6kzpCmAu/yXCeSTRZTltu4ebjHMWcAOqUi0/cz8/P5frUPE6sk+Wkj5yGhkJWaffyYPsE0Xzlxc/j65PtSbV331A7qGIYDK8i4LXE4F+/Ny+KZqHa2Oqnzc5JjMZDgWr0+n28Xo0xJ9dcRHM7t4KrdjGtU1i2RtjDHRN8vPhy8s7kubnUxhwAwQX++ZmyLqd+OeUfqNS91QqymmzJMvermL0cgMcLccXMXtP5Zzf1yup47ypozrJPN3uzquc7rfeeqswdaPAsmXLeOKJJ3j88cex2Wx88MEHvPfee/To0aPMMj3ldMfHx/Phhx+yZs0alz8EMEbHr1+/vnB54sSJLFiwALPZTKtWrejatSt9+/alSZMmhfusWLGC559/nqysLGJjY+nUqRM9e/bksssuO+0NgKhl7A5ocF/ZwfcdfWDag563jfkUPlnkuu77J4wBjGD0cqs3VE1bC9x0iTF4c+fR8h+z7yNolD8w9OBJaPqAkWZSoFNj+Peg67qz5dbLzvl0gqfL6d7/czxLH6741Igtb2nIjhllfFNSinb3NaPzE54Hzo79xcaH212vMzev/I/5nZvT7tAJbGYTW+pH0erIKY6HBHAqqCgFxNtm5/+++Z2IcAvvj76S1cfh+dnLqZ+Y5lJefGgA+6NC2BcRjIpCQog/e2KKZpbptusIa5u753QP3LCT6zbsLlxO8fVi3G1XuQTmhXTd8/piYv1PH0zPHqxyQzOVEQudfLuz9I9FBVhzi4muMRJECFGWY4rrt/h19BdK2fPCcV5FdmWNPFcUhTO5v8jKyuKee+5h9erVDBs2jDfeeIPJkyfz4Ycf0qVLF7eyJ0yYwPfff88DDzxASEgIM2fOZMSIEXz99deF+/Tq1YsFCxbw8ssv07VrV/755x/GjRvHXXfdRW5u5XrERA1lMcOCZ6BrU2O5Q0MYd60x44bFDMMuhffuKv34/42EUVeCtxXCAuDVW4oCbjCCjrAA9+MigzyXd3kbGHm5MRtKoK8xkDIify42BWOQ5sDOFQu4Taox60mBBpHGDCKNo432XdUefnzSyF23lH9au9NqGAUtYo1/W0xGO27uAR/cU3V1VJFG18TR6bFWeAVbUa0K/rG+KCbltN/Cxl0WjV+0j9t6s48J71ArikkpnPZPMSmoFoUWwxvS4cGWpZb5f1daGNlawaroBOTZuHHtdu6JyWPylWaOdarLvw1jaHP0FPdu3Mbk0FP0qGMcVz8zkwd/XUf9VoFc+enFfDfIxFUNFD65qjMH64eDAkGN/On0+EW0CVfoteMwY3MTCL8yln11wlAAs6Jz5fHj9Nh92K1diq6zrFMTTnSti1NRyPSysKhdY9TSrt/Fr/ul7DOytcLgxgomBcJKmXEzOH/inQ/7qtzYTMGsQqg3hOe/7QoQ7Qef91Ml4BaiHPQSL3Ge5XQfOHCAyy67zG0dQGxsLE6n0bu2e/fu0/Z0l7R+/XoSExN54YUXGDx4sMu2jz/+2OMxjRo1olGjRtx2221kZmYyatQoPvzwQ4YNG1bYAxYYGEj//v0LZ1iZMmUKU6ZMYfHixW71iFquY2NY+4Zrz9z/3VGunjq8rTBlDHx6X+n7Pn8jPPJl0XJcGMx5Evq+WPSYdFWF2U/A9d2N5S8e8By0KIqRY14Rd18BESWC/Ou6Ga/i51gvwhjEWXKQp6+1cuknvz1v5LUX1FGe97Matb+/Be3vb1E4p7Su6+ybf4Tlj28o9Zjsk7n0fL0ji+5eVfjgHLOPiUE/9Ca0RZBLWcX/XxZfi8KX/U180U9FUSzoepvCY+7qSn5HQiyKYgwuv4mCebCD0Sf0Ktw3DFg01IR+QyCK0sul7vZjmhcuD4MS7avLnAG7mJeQzL7oouGbV6Un8uukaEYt7sipYzm0jk/k5tXb8bY7Wdi5edlvrqLwdFeF19cVfcTH+MGDHVQi/Yrel3sWOfniv6J9usVAn3pGm0O8Fb4fbHI5j4JOFZlSUIjyk5QSd+dV0D179myXvO7MzEzmzJlDQEAAnTt3RlEUgoODmTlzZuEMJMWV9UFlyn+oSMke7TVr1rB1q+vAo7S0NAICAlxSRPz9/YmLi2PPnj1kZWUREBBAdnZ2Yf53gRYtjMTC9PT0SrwDolYo+TtWkQ/ysvZ9eKARfP60FuqEwuirIDoENr0NUxYbM5rc0gsubl56ecWXL27mXkedUGM+7vn5qVS+XpCYDpddZJRd3nZf3Bz+2OK67v17YNxXkFKB2U0CvKFxlGsdtSQwKrjWKIpCk2vr4Rftw74FR9g3/wiObNcbksiOoYQ2C2LQ7N7snXsY1aLS/KYGBDcOcCur+P8r2g5P68uzb3nLKblPVIdQHpuzmhUt63M0NICmx5MZOzCQ1Lxopm/TuTo6jNbxiSjAdRt2UTcpna1XNMNRN4gmITBzu07xbPJgL3j+YpU+9XR+3KMT5Quj2xkBd/F6P71SpVeczop4ndbhCve0UVDL0W4hhDgT51XQHRwczB133MHgwYPRdZ0FCxaQkJDgMuvI888/z1NPPcXNN9/MtddeS926dUlJSWHNmjWMGDHCLSe8QPv27QkLC+Pdd9/l+PHjREZGsnv3bn755ReaNGniMhjy559/ZubMmfTp04fY2FisViubN29m6dKlXHrppQQHB5ORkUH//v3p1asXzZo1IzQ0lISEBObMmYOvry99+vQ5F2+ZON9c3bFo/u4CjaPhjdsrXlb/jjD2avhoEWia0XM+/xno0Aj6tjuzdn5wDwx8FfYlGEHy7b1h+KXw2LSKlVMvonxP2awFYrpFENMtgoZXx7H0kXXkpdhQLQrtx7YktJnxDUJEmxAi2oRUc0urTqdHW5G0LZUr/9sPQGzPSNqObEyKZkzos7hdY5oeT6LVUWOQbmdzLu/c6493qPHR1TVaY9wKjVwHBFrhi34qvhaFqxooXNWg9HpNqsLtFyncftHZPkMhLmRys1rSeRV0P/jgg2zevJnvv/+e5ORk6taty8svv+zycJzLLruMzz//nKlTpzJv3jyys7MJDQ2lffv2LoMcSwoICGDy5Mm8//77zJo1C6fTSYsWLXjvvfeYN2+eS9DdqVMndu/ezd9//82pU6cwmUxER0czduxYhg0bBoC3tzfDhw9n/fr1rFu3juzsbMLCwujevTsjR44kNjb27L1RQpTXB6PgqeuN6Qc7NnJ9vPyZaBEHuyfDP/uNR8g3iIRVO415xCsitXKzetRksT0iGfb31SRvTyOgnm/h497PRz7h3lz70+Uk7UjF5GUiuJHRcx8BXNNIYeF+M+8MuoSYlAxCrTornw7Bu9gj28d2VBnRUmF3CrQJBz+ZO1uIGkPSS9ydV7OXfPLJJ3Tu3Lm6myOEqIyjSVB/tNHFWVyQL6SVEoxHBUGCh4cOVZPyPJFSlE96ns6EVRq/H9RpHqow8RKV1hHyIS5EbXFYecVluZ7+XDW1pOY4r3q6hRC1WGwYPHEtvDG3aN39/Y1X60c8HxPoe06aJs69QC+F//U5P1KHhBACJOgWQtQkr98G13U1Hm3fqTH0bAXJGUZqoKfv5G6q2CxEQgghzg1JL3EnQbcQombp3tx4FXh9rueAu009GD/0nDVLCCFE+UnQ7e68CLoHDRrEoEGDqrsZQoizYd0e93UmFX562pi/XAghhKgFzqsnUgohzkNdPMwqNKJn0ePmhRBC1EBKiZeQoFsIUbM9MwQ6Ny5a7tAQ3r6z2pojhBDi9OQx8O7Oi/QSIcR5LDQA1r8J6/eApkPXprXmqZNCCCFEAQm6hRC1Q5em1d0CIYQQ5SQDKd1J0C2EEEIIIaqUBN3uJOgWQgghhBBVSoJudzKQUgghhBBCiLNMerqFEEIIIUSVkhlL3EnQLYQQQgghqpikl5Qk6SVCCCGEEEKcZdLTLYQQQgghqpQMpHQnQbcQQgghhKhSEnS7k6BbCCGEEEJUKRlI6U5yuoUQQgghhDjLJOgWQpQpOUdnd3LZfRYZNp0dSTpOzXW/k1k6+1Kkv0MIIS40OorLS0h6iRCiDM+scPLORh2bE1qFwdxrTTQLdb14vrdR47m/NbLsUC8AZg0y0TUGxizW+OI/HacOXaJh7nUmYgPkwiuEEBcCCbTdSU+3EMKj3w9qvL7OCLgBtifBvYudLvvsSNJ5ZKkRcAMczoBbf3EyY7vGlC1GwA2wPgEeW6qdw9YLIYQQNYsE3UIIj5YdcU8LWREPuq4XW3bfZ18q/LK/fOUJIYQ4P+klXkLSS4S4YGm6zpzdOuuO63SOVhjaTOFYJny1TcPuhDAvHXTduFrmf0vYKlxBUYyFX/ZpLD+sGftA4U4+ZvA1u19i6wVWTbuPZeh8tVUj2w4jLlJpEVb0FaZT0/lhp87qo0bve5gPNPXSyDppIyZUZWBXb3y93fsa4tM0vvrHTp4DRrS30DxCZcUhjZ92OMlMtFHfV6dfOy+cJljwn43oQJXbunoR5FP+fotMm87X/2nsT9ZomJ1DdEYuTVv60qaTPwkpThauzcXh1Lm6izf1I4suzTk2nZkb89h7yskVzS30bW49szdQeOTcm0TejM1gVvG6rQOmesHV3SQhajVJL3Gn6MW7rYQQF4zbf3by9faiP/+rGyqsOqqRlmcsqwoUHxdpUmDRTSauqK/y9HInb6wtkS6iFP6nKBBXCi66RuT+ZX+VkW0q/wXbvhSdbtMdJOUYy1YT/HaziT71jTJv/snB9zvcL2mxKdlEZOXRtI6Jr8aF4m0t+jDYfUqj+0dZpOSX6WWG0ZdY+WCjTlxSFlZn0XmmKAqZqnFs0wiVVY8HEVgsiLfb7UydOhWAkSNHYrFYAMix63SfamfLyaK2XXIsibZJGbTtE8LMvQqZOcY2LwtMeTiEtg0tOJw6fd5PZ90hR+FxLw7w4ZmrfCv9Hgp39jWHSbv8S8gx8qSUIG+CVo3G3CqymlsmRO21VXnPZbm1/nA1taTmkPQSIS5Ae1J0l4Ab4NcDemHADa4BN4BTh2AvhZRcnf9t8JSfXaxXQykWfBcG4DBh1Znldb+3XisMuAFsTnglv8xtp3SPATfAiUBvdGDPMSe/b8p12fbuSlthwA2Q54CPV9vxz7W7BNwAgcXOZ88pjZkbbOVq95ydmkvADbAxMhgN+GlDXmHADZBnhy8XZQHwy3a7S8AN8OYfOWTbpK+kKuW8trww4AbQ03LJefvvamyRELWfzF7iToJuIS5AJ7Iqd1xClk5KLoWDK8tNLzi+cvUWr99tXaZe6rYCDlUpzClMSncNpBMy3I+zO8FU8q4D9wvmifTy3UQUtLG4PJOKU1GwKe4fRon55XoqP8sGmXkSdFclLSHTw7qMamiJEOcPyel2JzndpUhISODtt9/m33//JTk5mcsuu4y33367upslRKXM3K7xyhqN5FwY1kLhpR4K0X6uQbCfxQjogKJO62JXSosK1811ouv5+xZ1DObvqxdLJymm2KpBjYv+/Ve8zsN/OtmaaOzSvQ5M7muiTYTCP7+eZPXs49hynLTtG06fO+qimhQGN1X4Yafr5XtIcyMUPpWpYXI6cWoYuTEmpbDywFw7KqCZFH46ZWbcW7k0DlF47XIzQ1qbmbvNtTfZYlHI0k2EujafXHA5x0ybTquXU8hzwLBOVhKcCt/uvwHdpvPySxkM7+zNyqOw7ZSGoppdentMTo2vmsbiregEZdkJzy16Qw9m66zcb2dFgoIzwBs/h5PWyRk4nTrmFn48NS+LxTvsNAo3MekaX/o0s7i/71Vs62E7r/2Uxe5jDjo1svD8UH9iQ00AzFqVw2eLs8g4ZePinUe4NSOBxq90Qr0ojGX/282x/9KIaOJPr4eaEtHUn0OvbuHolF0oJoW4sS2p91hr+O8QPDYV/tkPFzeHd++CJjGwehc8+RXsiIc+reG9u6FOaJWdl8Op80+zJrRdFw+AlQx8OYXpr0MwOhvevhP8fU5fkK7DG/Pgkz+MX5oH+sETg6qsnULUNtK77U5yuktx3333sWvXLkaOHEl4eDhRUVF06tSpupslRIX9Ha/T61unS0/Dw50UFu7T2ZdatC7YCy6JhV8OlChA0/GxuHz7DhhBuP10Hb0KLkHq8BYKMweaOJml0+gzp1vgXscffu+QwewJu13W97ollt63xzH+L6eRTlJQrwILhqrE+St0+szmmhKjKmBW8LY5aXQqE92koDb2Z1tK0S4+Ztj7oBfP/JbHVxvzG2NSjGRxRcEvz05oVh5mp062xUSySTFOWlVwWs2Yc11PwGlWMTlc3xS7xYxuUsGkoFpN6KqCj91Jtsnksl+91GyCbA5SVIWTqoIp0IsctahfRNF1Bsaf4nAdP3ZkFr2n3hbY9lwwccGu5VWlrDyd3hOSSCn2bUKLOiYWPhPK8m153P1Jusv+g9ft5Pp/97JvUHNS4otyd3xCLFx9ZRj7Hlvnsn/Lzy8h5vn/g+PFfjhNY2DVq9D4AUjPLlp/cXNY9VqVndsnP2Uw49cMblu7mgHbNxBr3+UaKtzeG6Y/VI6Cfocxn7uu++I+uKtPlbVViNrkX+UDl+V2+oPV1JKaQ9JLPLDZbGzcuJFrrrmG22+/nQEDBkjALWqt73dpbl/tzdjuGnADpOZBvKdv1FWFXIf76lIDbkVxfRXz4x6jJQv36+495cCxTFj+W5Lb+m3LjXWzduqFwTRmozd7zh6Yvd3ploOOZvS853qZ2V4vhB11glwCboAcB8zb5URXFDCbwGIyRlLmtzvLy8KRUH8ORAZwItQPe5Av9nB/7KF+KJ7STxzub4pakBfu1NFyHHQ7mlp001BMvI+VXRYTJ00qKAo5imsQrSsK+/192FHiZ5Rrh/n/lS+3vLJW7bS5BNwAO4852XPcwcJ/8tz2X9c0jmyT6hJwA+Sk2Imfttdt/5OfbnUNuAH2HIePfnMNuMHo+T58qnIn4sGfG3PRVJXpF/dgcdvG7n1zs1aWr6DvVpVvnRAXCMnpdifpJR4kJyej6zoBAQFVWm52dja+vjLrgDi3Qr3d14V4QWKOh309fYuu65hUcFQ0j7uUtjg0nb2JTnyz7dgtJuwW1+DSO8DM3tAArE6NemlG/otPgHGpCiiYLa/YVIYhXgr2VDul9iEUu9ZbTe756Nk2nVCf/J1UpfQ0mRLrdRV0BXSLCcWpG/OX60aPdGn1K7qOCR2LpgEleqZLHufUUHQd3aQSYncQaHPga3dg8bJS8n4lzLdy/SfZyTaOb08nrIEvwXGlX5vMJb7m8LI7aJSYiumIiSBf1ykM45LSaHgypbDH36nAwQB/LJpO3cwsLKFelAzTzeEefkkB4sJwYiKbIKzk4EUOutlM5pY02JuH/2V1UEzFzv1kKqzaBZm5EBcGdcNgezxa87o4dqeg1w9lrXcoCtCjsRlF0/F32gnIzaFtwj5Mmodf8iBf7DlOjm1MxifQROTJePC2Qo/mrr8noX6F/0y1BpJqDSAyG7xPZqBGun6WpMZnk3wgi+iLgvANLf8UkKlHskk+kEl06yB8Q73KfVxxCZuSsWXaUc0qigIxXcJRTRIQiaonaRTuJL2khBdffJGFCxe6rf/kk09ITk7m119/Zffu3SQnJ+Pr60v79u257777aNq0qcv+gwYNIiYmhscee4zJkyfz33//ERQUxPz58wE4fPgwn332GevWrSMtLY2IiAj69u3Lvffei49POfIHhSinoxk6TT93klOstzrMG5JcJ/GgYaBOoJfCv6f0ErOPeC7XrIJLx27BfmqJD/Bii91j4OQxG/qRLNT8/RODvEkLKvqdtyg6dt04qG5qJrdu3sMd45uwzDuQ+xdrRo92sTZ1yMyg/YFEvm9chyxLsX4Es2I0Mv9crCqMaqXz4Xr3wKp7XZU1xyk6b6fmOn2LouCxo6Zgnd3YX3E4MWfbinZVwGaxFL4nsbk2muTYSPIyszXU3zVoszmwZhULRwuCfF2na3oW7bKy0YHtfj6sCioK4lpGm1jzeBDelooFTtt/S+D313bgtOugQNfb6nPpfY3d9lvz5QFWfb6fuc0acTzAn8Ynkrlt1Ra87cb7GDSgHmMDmqDaNW5f+S8NE1MBI0sn+7pmvOCMJs3LCCwb6XnMvUpj3+Dfi36GCrSd24fwj76CxZuLKjabyJhwH8cmbELXjMA6gBOkhTUgNyl/esXmwTRdci3WOn4wYzmMnGyMgi1BR2G/byNuHnIPe0PDjfctHD75bgGZiafolLQBb6dxY5Ft8cLXXvRz0FWFVY17stm3OQAN0o7Q/+ASTF0bw+LnICj/ZmXVLrj8Jf4OacfWsBbGe6A5uSRhF03fuwLrbZ0BWPnxXtZ/dRB0MFkU+j7bipZXx5z257Xqwz1smH4AdFAtCn2fb02LchxXwJ7l4OfRa0jYlOyyPqiBH4O+vAT/KPncEVVrkzLZZbmDPraaWlJzSHpJCUOGDOGxxx4DoE+fPkyaNIlJkybRsGFDfvjhB8xmM0OHDuWpp57i+uuvZ/Pmzdx9990cPnzYrawTJ05w//33ExMTw8MPP8xNN90EwI4dO7jtttvYtGkTQ4YM4amnnqJnz5589913PPDAAzgcHr7LF6KSjmfhEnCDe8ANcCgd/j2ZH2QXTI1X8GAcNT/oLIjrFHCguCy7bC+u2PD1Ncd0tPjswoAbwGZ1/cKtIOAGOBLsz4fdWpEQG8Sjf2hoGm43AZv8A8i2mBl46ITx4B41P9g2qS5BrU2DIH+VOTeai3rM87kE3JB/bLEdPAbc+ekzml4YoOtmEw4/L5xWE05fK7ZgH/A2G+3xMmHztnDM20KS2cOXjFYzdqsZp5LfW17QHkVhfaAfWaqKArTIzqVbRjYN82wMa6iw7KHACgfc9lwnS9/ZbQTcADqs++oQSQdcp5dJPZrD6s/2o+gwaM8Beh06yk3rthcG3ABpvxymybEkuhw4WhhwgzHFZNqO1MKAG2C/4sWXq3Lx0W1YcGDBga9uI/XbPTD6Spe6dYeTExM3FgbcAEnEFgbcAHm7UkmYtB6y82Ds5x4DbgAFnY+7dCsMuAF2JMLnIXXpdrIo4Abwtee5/Iopmk7XvSvxchiB+MGguuwJaQTr9sJ7vxTteElzTs4aXxhwAzhVE+sjm5D14E/oWXkkHchk/fSDhb/DTrvOsnd2Yc8t+2ukpH2ZbJh2oPA4za6z/M0dOE5zXHFbvzvgFnADpB3MYuNHuz0cIcSZkfQSdxJ0l9C2bVt69+4NQJMmTRgwYAADBgwgLCyM999/nzfffJORI0dy3XXXMXbsWD7//HPsdjszZ850K+vo0aM88sgjPPfccwwZMoRbb70VgEmTJhEWFsasWbMYPXo0119/PU8++SSvvvoqW7Zs4ddffz2Xp3xaycnJ5OUV9fxkZmaSkVGUWGqz2UhKcs3DPX78eJnLCQkJLo8TlzrOXh2bTuplB8X5XFKUPc3xVBBkqopLQOiyfBpmh+Y2FV+etewBgOneVhYf0N1uHIpL9LGSazGhFw+2PTRpwzEHXSNyyCiZAu1x1pX8N6y0cytYXeJ8dJOK09uK098LzGYjp8XbDBYTp/y92BPgw3Efq8dydbMJTTUZOebF1ysKyfm9+CZdJ9buoH12Hq01O8G+aoV/r9KO5ZCX6f6GHttelFedmZnJkS0nC5ctmk7bE4kE5bjncNdJySAm1X3aPe8jaW7r/jtlpNh44cQLJyo62ZsSYesRl/2cWHA4XG9ONA8/1LT1x9EPnIDUsuej/C+irtu6xAAvzG7JOu6/OhbdSXBeatFxPvmzp2w+CBT9DSba3HuLc81WcrM1Tqzbxand7u9RXoaD9GM5Zf6dn9rtPtgiL8PB4e1lXzuKLyftcB3sWlzizjSX8yhwvl4TL6Q6qpdCuT58LiASdFdAQdqHrutkZmaSmppKSEgI9evXZ+vWrW77BwUFMXDgQJd1e/fuZc+ePfTr1w+73U5qamrhq3379vj4+LBmzZpzcj7lFRoaipdXUf6gv7+/S7671WolLCzM5ZiYmJgyl6OjowsfJy51nN06Lo4pZ0BckauBp6y0csTeDrOKo0T+qHfeab7Z0WFIc8Wtd7p4W3QFgnLtKA6nkXzu1DwOVuxVz0JceACtIhS3MtycbmYWHaOegm8DiiscRFpUrqrrtE5M56rjSXRJSXfP/cYoT1fc5wg36TrhdiM4dCpFc443a2r8HlT09yqkri8+wa7TDCoq1G1fVIa/vz8NO0WhFPu90FUFm4ebpEPhQRwOC3Jbn9vEfWq/LrHuv2j+l0TDJc1d1pmwY7G6/m6oHnKdQi6rh9I0BiLd63ep9/h+t3V1UnNw4P6LVbIWm2oh2bvoXKKz8m9GLm5mtD//bzC6fYhbWb62XHyDzERd0oqY1oFuvys+IRaC6/qW+Xce3SbI/bhQK/Xb1HFZV9bPPKqDe9sKt+W3uyZcr6SOqq2jOklPtzsJuitg586dPPLII/Tq1YvevXvTt29f+vbty969e13uRgvExsaiqq5v8YEDxnxsn332WeHxBa8rr7ySnJwckpPdvwIUorJaRyi8cqlKQawU6gPtPTzdOrK0lM6CdJPCZd19HQCKyweIawHG//s3VAhp4oezIO9bAYtDKypL17EqrnU1SckkyO7kiwEmAj2NHTMpLGkUzc/1o4xiiqpzaWOgRefhjsa/vxxkIca/8HBjChCtqA3GqNGC7/J1j0G5r6oZORTg2rOuAFYT1zaF8T1ULPmXgCuOJdEjIYWGWbl0TM6gz7FEl/PE5gBNx2xRaZJdNGOHqutcnJqBj6aTY1JJsRq95O3b+tD/ykAPb8jpmSwq/ca3xCt/gKrJqnLZg00JjnX9JfCP9KbP481RzUU/1/Q6QVjyB/EpJoXGo5vTpG80GxvE8F9s0S9WUIsgBr/TkbZxRUH61a0tPPx4PYIHNyh6HzuEE/dqV+jbDh4dZHxTAShxYcR81BtTZH7OtEUl+pmOBFweW3isX49oosd3AqsFpj0IQUWDGY03z2i3ppi4b/1GuhyLL9x0aX2V0eopEmmEM39OAR3IJYBMYgqDBM3Pm9Xtr8RusgA6LZN20zjtEAzsCGP7u1QX2jSQrg+1oOCy7+Ww0T3tAL5Th6F4mQmK9aXXw80weRk7eAWauer5izBZyv4oDo7zpecjzTFZi4678oXTH1dcqxvr07BvtNv6qPYhdB7T3MMRQoiqJgMpPTh27BiDBw9m1KhRjB49GjC+Brrxxhvx9/fn5ptvpkGDBnh7e6MoCm+//TY5OTksWLCgsIyCgZRTpkxxKXvx4sU8++yzDB8+nEsvvdRj/YGBgbRs2fLsnaC4IJ3K1jmQBu0iYFcytJteWj5o6YMn3RQfNOnpmBKXlwZBcGC0hY3HNY6dcjBlOyw85BqoN9DthB3LJM+kEpxrx6rpXNPTl8duDSbTprPtlM47GzW+31ks4NV0yCt2PmbVY7f7qttNXJzf02p36mxO0Ll1Zha7T+V3a5tU0DRj6kCruXBObkoEN75mCDBpbk/2HN1RIezIAnxVB0/eMxSLxcLJLJ0dR+x8N/GgW+z+S70IjgT4FN0gKIDFRPDxVLJUEw4vC7pJxcepEeBwkOhl5bXeZm5rayIm+swfiGPPc5K4N5Pgur74BJZeXm66nRO70lFNKlEtAjBbVVL/S8Gnji8++QPwDp1ykp2nU9eZiz3DTvBFwYU3YVuPOvC1KjSKKArAc/emoWU78G3r2nPHsWTj1b4hmE3oNie5m09iaRCEOT8Az92Zgu7U8bmoRE96Th5sOWR8AxHiD9HBsPsYeos4nLuTUOsGsxsfVEWhWZTRFttbi1HGTcVSbE4Vp8kL7afnMIeZUdrUR/f1JnFXOt7BVgISTxmTozctvUcxJzmP9O3JBJOLtVMcio/re5ubZiflSDYRTfwxe5d/fvWcVBtp8dmENwmo0HHFpR3Owp7twGRV0TWd0CaVu3ET4nQ2KB+7LHfWx1RTS2oOmTKwnJYuXUpOTg7/+9//6Ny5s8u2tLQ0rNbyTftUr149AFRVpVu3blXeTiFKE+GrEJHfaZjrLCOqLkiLqOjtuF4sCC5FwXzfnWJUOsVY+Wing5IV2XQIKpFyYssf8OdvVegWq+DcoJU7j7y44jPfWUwKXWIV16kQC+bUdhlJ516OQ8fj3OWhPlDf4jrfdKSfgjlc4VsP76elYMCkkl9Rfl0Fuct6wZzdZhM5ZiPI8g2omoAbwOJlIuaistMyALwDLdTv4hoch3ZwXa5fGFD7ux3fOtb9o8a7SSn11gl1eeKkYjXh09U1wPVuUUqqhI8XdGvmuq5bMxTA3MX45W9R4hBrpAVKTGJo0myYutWFCKONChDRMr+9MfU81128GaFe+FxaelDuHWQhJuj077tbucFWfILLP8WgJ0H1/E6/kxBVQFJK3El6STkVpImU/GJg7ty5bgMbytK8eXOaNGnC3LlzOXLkiNt2h8NBWpr74CMhqlKXaGhRENfkXxddcqbLG9AWzHJSPAe5YJ0Ho9u5XnJGtnG/BN1YYtY6RYF+lxgBU3qezg0/OZlbcrIFBWIDy+51rx8Eveq5n9fILiVym8Ho6VYAL5ORf1LifG5prTKyg2tPo9UEw1t7vqR6+5uwhrjWk21WORxQIqdHAW9do1VmtjFpjNM1sTzAC2646Ow9efKCNLgrhJa4UbimU2HALYQQVUV6usupR48efPDBB7zwwgvcdNNNBAQE8O+//7Jq1Sri4uJwOss3dZOiKEycOJExY8YwYsQIBg8eTKNGjcjNzSU+Pp4lS5YwduxYBg0adJbPSFzIFEWhQRDsLOiUVSDDDo93UVgRr6MqOjtPQVqxWT5UoGM0PNTJxJF0nedWFsuBLsGYw9t1/ai2Ci/0cA1Kb2qpkuuEjzcZ82/f117lzjZmfgrXWLQ6B2+rwtC+fnRobuQQP71CK3yqZYGGgfBEVxPXNTEzfqmDtUc12kSAYlb47YCOU4OedeHDq8yYS84hDjzbxwtvs8KMTTaCvRUe6GHlkSU6RwuGaeT3/Ef5QoiPwnXNVSb0MmFSINhb4ccdTqL8FJ7taaZFuMZqD+/3F/My2Or0ItBHxapppHhZ2BAZjENVCfCCQCuoqkL7aIWnOikcX2zmq+1ZbHV6Y/f3xuRlok20iQmXW4gJlL6SKhXsB8teggnfwa5j0LctvDS8ulslRK1Xm3OXd+7cycSJE1m2bBlJSUmsWbOGjh07MnHiRHr16kWfPn0qVa4E3eUUFxfH+++/z4cffsjUqVNRVZV27drx6aef8n//938VmqanefPmzJgxg6lTp7JixQrmzJmDn58fMTExDBo0iC5dupzFMxHCsCzefZ2qwLpbzWw4rtHla9cbSQ144RITg5qovL622ITZHq6sDg233vIWYSqqhx7021ur3F6ih/j6y/25/nL3NIVfD7hX1iNO4f4OxvFfDq542oWqKjxxmRdPXGYE9lk2nRvnuc0pyKPdTTx1ieslc0JvCxN6F9Vpt3ue8mTt1jw0RWFjZDDxga6923YN4h8ukTJwXyxDK3wmotLa1Icfn6ruVghxXvE0xWdtsHnzZnr27ElAQAC9e/fm+++/L9yWmZnJJ598IkF3VapTpw4bNmxwW9+xY0e++OILt/UlB0sCLoMqPYmJieHZZ5+tfCOFOEMNA2FHiYlyGgUZF8m6gYr7EyeBRsHG9oan+ebd2wwln9vRKPgMGpuvYZDCwTTXwLtRFWcB+Fggxh+Ol5hSueDcKyMm3ET8SSc+DvdvxM6kXCGEqKlqa073008/Tdu2bfn999+xWq3MmjWrcFvXrl2ZM2dOpcuW7ymFuEC9cZnqMilH+0i4rZVxkYzyUxjXtWT+tcJF4cb265sqXFowc1vhVHlK4athkOvFNtgL+jc88za/1EPFt1hndqMgeKBD1V7GVEXhjcvNLhOz9KxrpJVU1sjBAfh4KURl5eFnKxqBaVHh9T6Soy2EEDXFypUrefLJJ/H19XWbBjcqKoqEhIRKly093UJcoAY1Vtl5l8L8fTrRfnB9EwWvYvMxv9rLxMDGCquO6nSIUri82CBEq0lhyU0mFuzT+fuozv82uPY+l+xBT82D3w7AdU3PrM094hT23GPix906AVYY2kzBz1r1vSm3tTXRuY7Cr3s1GgQrDG6meswHL69WDa1881IEK/7JxWSBFH+VFJvC4KYqjUJqZ2+QEEKUpbbmdOu6XuqMdCkpKS4PMKooCbqFuIA1ClZ4pFPpQd8lsSqXxHreZjEpDGmm4NQ1/leOy+v+1Eo2soQ6/gpjO579QLVluErL8KrrRQ8LMnF9H5muTQhxYait6SVt27Zl7ty5XH311W7bfvvtNzp16lTpsiXoFkKckT51FSOHu9i81VYT2IqlLytAv4a18wIshBDiwvHwww8zYsQI/Pz8uO222wA4fPgwS5Ys4csvv2T27NmVLluCbiHEGQn3VZg1SGXsHxpHMqBVGLx8qcob6zTWHocIX3itp1qYDy6EEOL8V1t7um+++Wb27dvHiy++yPvvvw/ADTfcgNlsZuLEiWc0pbME3UKIMza4icrAxgqpuRDqkz/YsplKSq6Re30m+dBCCCFqn9qa0w3w7LPPcvvtt7No0SJOnDhBeHg4/fr1o379+mdUrgTdQogqoSoKoSUesBjiLcG2EEKI2icuLo677767SsuUoFsIIYQQQlSp2ppecvjw4dPuU69evUqVLUG3EEIIIYSoUrU16G7QoIHb/NwlOZ3uDzorDwm6hRBCCCFElaqtOd1ffvmlW9CdmJjI/PnziY+PZ/z48ZUuW4JuIYQQQgghgDvvvNPj+scff5wbb7yRI0eOVLpseQy8EEIIIYSoUjqKy+t8cOedd/L5559X+njp6RZCCCGEEFWqtqaXlMXhcJCamlrp4yXoFkIIIYQQohR2u50tW7YwYcIE2rVrV+lyJOgWQgghhBBVqramlKiqWursJSEhISxatKjSZUvQLYS44CXtSMNpcxLRNuS0U0UJIYQ4vdoadL/wwgtunwPe3t40aNCAAQMGEBAQUOmyJegWQlyw7NkOFt23muNrEgEIaRpA/y964B/tc5ojhRBClEWr7gZU0osvvnjWypbZS4QQF6wt728vDLgBUvZksOF/28m16bz+bTp9nzzJjZMS+W19TjW2UgghxPlAerqFEBesI9N3UfIyeGpzMu/MzuDHv41AOzXTyfPT0okNN9EsxszfS9KIP5RHk+Y+dL8sEJOpdn6FKoQQZ5Ou1p5r46RJk8q9r6IoPP/885WqR4JuIcQF6eQfR7Cn28DP9TJoNcOva3JQNY2QPBs2k4lck8qC709iTrKz/7AdgNXL09m9PZuRY2Oqo/lCCFGj6bUn5q5QSokE3UIIUQF/T9jMjm8PgJ8vOhQO99FUBZuPF4GZOTRPTsOq6aiahsnpJO8w5AEBVisZPkbO97qVGVw7LJzQcEt1nYoQQogzpGnnJgNdgm4hxAUlYUOiEXADub7eZAX5o5lUzDY7Xrl5nNqbSfP6aVh1HZPdgVnXoNhIdl+bjRyLBYfZjK5Dbk5tHS4khBBnT21KLzlXJOgWQlxQ/pt/FAC71UxGaGBhQO3wsgJgzsjGqmkoOvjl5JDn4+1WRkB2DikB/tRt6I0lPo31/7cfxaRQb0SDc3YeQghRk+kyVYcbCbqFEBeMU/+lsGZJKtFgBNMl5mJ1WC04rWb8srJRnRqhJ5I4GReF0+J6qQzOzCTUS+O6br4sH7IUNOOBx4e+P4h/VzN5HZ3n6pSEEKJG0mvxIPMVK1bw/vvvs2PHDnJyXGevUhSFffv2VapcuQ8RQtQ6us2Jbi89sNV1HUe2w2XZme1g3f9tBU3nUGwUitP9eFXTMNnthCemEJKchknTCTmZglqwr65jzbNh0nRMydkcm7m3MOAG0J06vku9iJ1g5cDL/1XdCQshhDgn/v77b6644grS0tLYsWMHLVq0IDY2lsOHD2M2m+nVq1ely5agWwhRa+g2JwmjFrMnYDJ7gj7k5KPL0IsFvQDHfjzEHy1/4teoWfx9xSKOfbqDTY2+Y53fl/jM2UvdY4kkhgYRcioHrxxbscJ1Qk+mo+aXpzqMQNs7N4+Yg8eJjD9B1KEEHGYzDpOK06lz8riNkgryGA+9spXc+Kyz9E4IIUTNpqmKy6u2mDBhAiNHjuS3334D4OWXX+avv/7in3/+ITMzkyFDhlS6bEkvEULUGLquo035C+2nf1FigzE9cSVKi+jC7UmvryPt862Fyynv/oO+4RDhT3dCmbWGrGM5/LM+FD1/bGPqmpMcXHoIJT8u98mx0+BYGnnW3TQ4mUi7+HhyfSwcDw7BkukkOdSbrEAjt1s3qehODQVjdhOz3UlOgA9+mVnYrBZyfLw4lOqkQYlzSAv2xS81Dd2pk7UjDe84v7P2fgkhRE1VW3O6t27dyhNPPFH4KHhn/jedbdu25fnnn2fSpEkMGjSoUmVL0C2EqJhDJ2HRZqgXDle1B7VyV1bH3/vRtiZgurQhptYxsO0wzidmo/22GwAd0H7chGXbBIgMIOe3A6RP3epWTtbfx/EaOB0LuSSpQSTF1iXbz5vQ5AxC0rIKA+4CXnYn0WkZRNsyACMQD87JJhl/jraPgVSjd1oB/LIdKJpGWpAPNj9vVMBqd2C1O7B4WXH6WkiKCMQ/PRtQSA/2JcfPizoH09C9TPy3Mplm8ZlEXl+fU04zq3fkERVi4uKWVtTT9Pzous6G3XYOnXDQtYWVepFFl+sTGRoLt9kJ81O4ppUFSy3JnUzO1pm/3YGvFQa3NONtqR3tFkJcOLKzs/H390dVVby8vEhMLHpqcYsWLdi+fXuly5agWwgBGTng1CC47F5Z/bu/4bb3UPJTL7iiLfw6HgoGGmbnQY4NwgLQEjNR/KwoPkbPMWlZRoAe4EPWrTNxzNiIihERew1qjHXBn2iEYmS95QfyKdk4P/uLk3+kkftXPA5MlMyKU9CxY8WOlV+6Xsqh8CicqoldJpXW/x3ior1HC/fN9bJgtjuISc8oUQZYTXZsybmcigoj9thJGu1PwWrL7zI3m0n0d53FxGKzk+vjTUawLxnBvoXrrdl2crzMZHtbiHh5A5ssJqyPbeCD/l05FhIAQOcmFt64x5g5xcdbxZoffNrTbaAomP3NPPlZGks35xntU+C5EQFc18OX5XvtDPg8k+w8HRVoG2ti7p3+1AlWsZpPH8SeyNAI9VWwmBSXfwPYnTrJ2TpRAUXvcYZNx6mBooOqQIC3ax2JmRr+XopLAF28nKRsHV8L7Dypcfln2aTmGvvUD4Y/7/GlcbjJYzvTc43fjUDvsxuYJ2br+FnAx6KQZdOxaRBSok5d1zmZDeE+YDpLX5Pn2HWy7BDu615+el7+e+FVc25SnJrOqRyI8qWwR7A4Xdc5kQ0RZ/E9q05n8jMp/nuWlqcbf1fW8+89qq1TBtarV48TJ04A0KpVK37++WeuvvpqAJYvX05YWFily5aguwxZWVlMnz6dtWvXEh8fT3Z2NlFRUVxxxRWMGjUKb++iD+H09HQ++OADli5dSk5ODk2bNuW+++7jt99+Y+HChWzYsMGl7MOHD/PZZ5+xbt060tLSiIiIoG/fvtx777345D94Q4izzuGEB6bA1KVG0H1Dd5g6Fvzcp8lL+2obviM/wqIVG4D45xb4aR3ceAmMnwn/WwDZeTiDQ8lJ9UP388H6WC+8dm6HOWtwqhaORHYn4xhAPQLIIJRk8hbswYKKhWQANLxxEgAoZL24mFw9FgATThyFCR9Gb7gP2SjAgfAoWhw4Rv81/+JQVTY3acj65k2oH38Sp8XMmi7NSA32x2x3MOiv9QTl5rmcX56XieD0TPL8LIQl5RQF3ODWW15AM6lomoaq64XtORURwM/DmpLk64Oi6eiqgpfNzkUHT3As2J+oPBuZm7J48IFUclWV3AArw/r50/iXbcTPOwwK5AxpwVJnUVqNrsPL32bQorGVpxbm4MzVidQ0TEDCYY1LJqUQ7Kvw1DW+3NHT8/Vj81EHt87IYluCRoifgq+fmaPpEOGn8PYAK7qm8/jCPBKzdFpHq0y/2ZtPtyp8uUXDkZILuQ4sJhjZxcqHN/hyPF1n+DeZrDzgJMALnuvrw1NXeDN9fR5PzM8xgtlAC1lOFT8r1PGjMOBGgUPpCk3eymJ4a5Xpw/0KA/88h86o77OZ+Y+RLz+io5XPbvLFqxw3FBVxNENn+EInf8UbDyVtFwkbT4LNCdc0UvjmGpUgL4W/43VG/uZkbyrU8YeP+6oMblK135u/tFrjjXUaWXa4LA6+HWgixl/B5tS5d7HGjB06ug7DWih83k/Fu4rfi4r6eZ/GfX9oxGdAoyCY2t9Er7pFbforXufOX53sT4O4AOM9G9i4luYalHAmPxNd1xm3XOPDzTq5DojxgxPZxs3s7a0UPrlSrTXfWpVHbXoiZXG9e/dm2bJlDB06lFGjRnH//fezY8cOvLy8WLx4MY8//nily1Z0XS/l40QcPHiQ0aNH07dvX+rWrYuqqvzzzz/8+eefdOvWjcmTJwNgt9u566672LFjB1dffTXt2rXj0KFDzJs3j9jYWPbs2eMSdO/YsYP77ruPgIAABg0aRGRkJHv27GHu3Lm0bNmSKVOmYDbL/ZA4Bz74GR76wnXdU9fD67e5rLIdSONgk89ppq10L+PlEXBRXbj+DZfVdvzIJQIAHxIwk8sxGpNEXZf9wkgkgEx8OYoJe+F6B35o+JBGCBmEFq7XAQ0FDYUsrNTjJABH/CMJysx1KfvXrh25aufvzO4ygBNBRlv8M7Jou2s/7Q4fcylzV0QEicH+2LwtxB1KIzC9KCjP9Tazu1WUS8+Npunk+Pugm0x45diweZlxqCpJvj6YdJ0NMZFkWa0u7Qmy24nNdR18mWUykW61MHDlv8QmpgGwqWEdFnVs7vZWezXxZsdJJ17ZGqV9nv3xVDCtYl2vH7qu0+L1dHafyr+RsJqNT/p8JgU0h0bxT4OoCAsnsEB6HmS5tvm963z4daed33Y6XNZ/e5svt3yTbUzo4m0Gc4lebLvTbZpGHBpvXm3liT7Gjd4rv+cw/lfXn+MrA7x5tm/VdkYM/tHJgn3FTrhEs8a0U3j3cpX6U5wkFBsP62OG+NEmQn2qJqJYfFCj32zXByxd10Rh7nUm3lir8fRfrtsmXqLywiXVF8Cm5urEfeokq+hPlQgfODLahJdZIc+hU2+Kk5PZRdv9LMZ7FnyWv7U4F87kZzJju8atv5T+MK23e6s81vn8uDkB+Cl0psvydckjqqklFZOYmEhycjLNmjUD4J133mHGjBkoisLAgQN57rnnsFgq9xRiiezKEBsby88//+wSAN900018/PHHfPHFF2zdupXWrVszb948duzYwT333MN9991XuG/nzp093hFNmjSJsLAwvv76a/z8ir7O79KlC+PGjePXX3+tdJK+EBWyaLPndSWC7uwlh9E1hWwC8SXddf8r28G0JW7FmCia29SBD2ZyySwWPBfIwYdAUlGLBdwAKrmo5GEhwGW9gk4QiXiTTQ5+5A9zJDArh5KRU6tDh4jOSywMuH0zs6l38ChpXl7sjAonOj0Ts00j2+lFDhac+UFilr/FJej2znUQeiqT5DBfFMBkd2CyOfDKziM1IoQ8X6/8c4bIHCNgzPZwUfZ3uE9T6JX/+OH4iJDCoLv+qRSje7tYgJqjwMYjThqYNPLcSimyYpfNLeg+lKIVBdzgEnADOD10vZzIU8ELyHO4bVu0y87iXe7rv1pvK5pB0eQhePCQhoBJYdEue2HQ7ancRTsdPNvX/dAzsfhg2f1Niw7q/HcKl4AbIMcBfx3VubZJ1QSQiw64t2NRftsWeWjj4kNatQbdq47pLgE3wKkc2HQSuteBzadwCbgBsuzw91GdgY1rf9B9Jj+T8vzOPda50k2rcWprekl4eDjh4eGFy4899hiPPfZYlZR9/txSnQUWi6Uw4HY4HKSnp5OamkrXrl0BY4QrGJOoK4rCrbfe6nL8ZZddRoMGDVzW7d27lz179tCvXz/sdjupqamFr/bt2+Pj48OaNWvO/slVQHJyMnl5RR/zmZmZZGQU5cTabDaSkpJcjjl+/HiZywkJCRT/kkXqqKY6mkTjpmmMWx3OOkZQmUBTcjFuFJ2Y0F69Fbo2hcbu5ejF7ulVjEDKSo7bfpYgMz5huW49typOVBx4k0UAaSgYQWM0e4hkP4EkEMU+QjiAiVy89Wy3soNPZKPlmfHLM7aFJKcV1nMyMIAtcTFsrRNFusULnywH5AfAKaE+pIR4o2P0gqcFe5MS6otXVi5eWbmYbUaSi9npxGy3Y821o5SYutDPXiIyAWweBp068gPRoKyi3t3QzBwCktMpCD9zFDhgMVPHTyHPfZZCFw3yc6SL/8wj/VX8rcXa5+kLzhKrrBTks7u3uWm4icbh7usbBBTrodbc64jw9VSvTpP8smw2G3H+7u9bk2J1VdXfR+Ng96a41BmiUC8QLB4+JSOU9Cr7G2wS4h6YNA0xzqNhoPtNWpNgpcJ1FKiKa0mAPZGSzCo0CDL+7Zt70tOvTGG7a/w18TR1NAnxfG7lqSPSnOl+cDFx3nlVfh7VSVNcX7XF5MmTSUlJOStlS3rJafzwww/MmTOH/fv3o2muXwuNHj2aUaNGccMNN5CVlVU4p2NxTzzxBMuWLStML/n999955plnyqyzS5cufPzxx1V3EkKUJj4RLnkWjuR/kIb6w/KXoHV9t12PDplP5ty9AJjII+ydvoQ82sXYmJYFPcfDf4cA0FHIIRInPqitIvFN2IGSnEEO/uxXOqDpRmBoqetPozU3YR3zAcxf71qhooCu48QLmxKGrquAHd/8dJIiOqCQSzBHaYqSH1bbMXGSYEI5RUZ9hVkdB1InPoHg1IwShxs9yia7htXmICvIBy0/alDtGg4vs/FESk3HOyPb7ebAmqsTmpKDw6xytEE46aHGTclxP1/WxEajF+vdvbq9hexdmZw6aYTTGpDsZaVBrJkrf1yD86QRtOYFevFaz07sDfBDUxXsinFWr/X35r2Fpc/93au5hRljAj0OXJv8Vy4Pzs2/6TGpYClK/bi+lQndqfPTNkfhW//y1d58slPlSLITknIKA/W6wQorHwxk01EHQ6dnUfCMou71TSwZ48+Ib7L5aavdyFnxthT2bneIUZg33IteU3I4mKoXvvdhFicbHgmgQajRnr2nnFw6OYMTGcY+UQEKKx8MKHXAZWX9sl/j+p80bPnt9zJDXv6/A6zwx40musYoTFqlMWFV0bV/VFuFKVdVXVuybDqXzXKy8UR+O0zw03Uq/Ruq7E/VufRbJ8fzf+SRvvDXMBPNQqs3gnngDycfbS4KHcZ3V3jp0qL3ZMJKJ5NWF20f007hoyur9udXXfan6vT4tijlqCI/k6Qc49hdye7bYv1h5XAT9YNqUXR6GrOjvnNZHnpiWDW1pGIKZi0ZPHgwd911F1dddZXHwcKVIUF3Gb755hveffddunfvTt++fQkPD8disXDq1ClefPFFRo0axejRoxkyZAjZ2dkeg+7HH3+c5cuXFwbdixcv5tlnn2X48OFceumlHusNDAykZcuWZ/XchCiUmWMMhrQ54PpuEOLvcTdd18n+8zC2ncn4Xl4Pr1YlRnDb7EbgnJSB1rk5jnVHUaICMA+6CCUzB+auBYsJR692pP9+FNXXQuB1jVB9LfD3DrhsvGvv6Ef3GjnBAT5onZqi/bGbvPeX4Ldzi4fWGSkm/9GBPPzRUMjBC1DwJ51OrOGEfxhrYtpzgvBS86GtuQ4ij+aQFWRF0XV80204zSaygrww25wcqxeId7EBmE5Vpc7RzMLynKrCzvb1CoP2XSFBbIs0vqa0mOCrp0KpH2li48ZsEpMc5JlNxESZ6d7WGy3LztFf4lFUhWMtorjpy2wcGuQp4EThtet8uL+PLwPeSmXz4aIUjEaRKnf38qF+uIneLSxlTkW4LcHJ0j12WkSZiAlSWbrfSYsIlSsaGwHRH3uc7DqlcUUTEy2jTGTadH7ao5OSo0OunRBvhevaWPHPn7HhULKTn3fYiQ1SuaalBbNJQdd1/tjtYNdJJxfVMbMrWSfST2FQcxMWk0KuXefbf+0s2++kc4zCnV283GZESc/Vmfuf0aV/fRvrWZvB5Ei6zsJ9OtF+cEV9+Hk/ZNqNnOqIYrOI/HNCZ+VRnfaRCj3jqr4tdqfOgn3GbB+DGivEBRTVkZ6nM3ePjg5c31QhqIbMYLLyqM4/J3QurqPQOdq9TRsSdFYf0+kYpdAjtma0uaqcyc8k16Ezb69OWh70qQt/HzW+KbiuqXLezWBSW4PuXbt28eWXXzJjxgyOHz9OTEwMd9xxB3feeSdNmzY9o7Il6C7DiBEjyMzM5KeffkIt9rXwqlWreOihhwqD7oceeojVq1ezZMkSAgJc80+HDh3KwYMHC4PunTt3cuutt3LLLbfw6KOPntPzEaJGW7YVJv8CuXa46woY0t1tFz0+CRqOKZqyEMjxD+RU3YbU3bGd48Sxh1Yux8RFJBMecIrDyV78G9ySHLORO6xoOrqHmQLq7k1H1Y2vQ7MCLOR5mwlMzcNq08izmtjfIgyTCXx8zQTtSMQrf5aT42GBHKoThj1YJTQ4g56DmpNaP5xF/+Th76swoo8frRuWf/DNqj02pq7IJc+hM6y7NwPaGSk+KVkaH/6Rw7+HHbSvb+aBvj4E+0qmoBCiZvkh2jXovjGhdgTdBTRN47fffmPatGksWLAAm83GJZdcwl133cXIkSMrVaYMpCyDyWRCURSXvC6Hw8G0adNc9uvVqxerVq1ixowZLgMply9fzsGDB132bd68OU2aNGHu3LkMHTqUunVdZ3JwOBxkZWURFBRU5ecjRI3Wu7XxKoMSFwZzn4QHv4CDJ6FtfXymjqVex0Zon/xJ5JhpZOPHMeLQUfElj5g5N2PpFMPJcRvIXXQMRdfRFcXjIB+TXUPJD7gT6vrhsBo9wNkBZoKS8kiIiyAt2ItjMVFc3cML5Vkj1WVzs1hWdGpWWE6IbyoPXReNr4+Vay7xdaunPC5pauWSpla39SF+KuOvladcCiFqNr2KUjKqi6qqDBgwgAEDBpCamsrMmTN5/fXXGTVqlATdZ8MVV1zB5MmTeeihh+jTpw9ZWVksWrTIbTq/a6+9lh9//JHPP/+co0ePukwZ2LRpU/bs2VO4r6IoTJw4kTFjxjBixAgGDx5Mo0aNyM3NJT4+niVLljB27FiZvUSI0gzsDNd0gvRsCCoKPtX7riBTDcV032/E6snoQODINvj2NG5se7/agfQ5+0gM8HWbHq6wjPzRPlkBlsKAGwBFITHGn6MNw7Hm2QjKyuKPdTCgWwR56xJZ27qhSzkp2cGs2WLj8m7uQbMQQojaIz09ne+//56vv/6a+Ph4fH0r15ECEnSX6bbbbkPXdebNm8fbb79NWFgYV155JYMHD+bGG28s3M9isfDRRx/xwQcfsGzZMpYsWULz5s155513mDVrFocPH3Ypt3nz5syYMYOpU6eyYsUK5syZg5+fHzExMQwaNIguXbqc61MVonZRFJeAu0DgvR3wuaoRucsPY2kZhnfXOoXbTEFeqI2CILHY7Bi6Tmh6Dj42Bz55No5HhbC/dQTWbPdJ+cx2B2a7HQUdb4cDe2YeTSd25I/715Ln5Z42kpTqPvOEEEJcKGrTjCWe/Pnnn0ydOpW5c+eSk5NDt27d+PTTTxk2rPJpMpLTfZbddNNNOJ1O5syZU91NEeKCt+uHg6x4blPhckxSBpFp2RyPDCbX20JYciZHo4LI8PXCu8SDdnK9LCi6TkpkKHZvK6q/hQk/tOfk1lSe+TiVw/aiXm0FjSkTwmgQK0+XFUJcmL6N+95leXj8TdXUkoqZMGEC06dP58iRI0RFRXHbbbcxcuRIWrRoccZly+ibKpKbm+u2bvny5ezfv5/u3d0HhAkhzr1mQ+tjbRpcuByUlcvGtg3Y0yiaI3XC2Ny6Pj7eKg6ziaMxEdgsZnQgJTiAUxGhqCYF7/y/9cZ1jfSTyNbBvP5yXbpc5IWigJ81i26NNhEbKV8kCiEuXLri+qotXn/9dTp16sS8efM4cuQIb7zxRpUE3CDpJVXmlVdewWaz0aZNG7y9vdm5cycLFiwgJCSEO++8s7qbJ4TAGFMR2r8h+xJ24ZeRzamwQLJ8vV32OR4cSKa3leMh4RyvE1k4j7eiaUSkpOKblUOelxcdL40qPCYixMSrD4eRl2dj+vSF5/q0hBBCVJGjR4+6PJGyKknQXUW6devGDz/8wPr168nKyiI4OJh+/foxevRoIiIiqrt5Qoh83QZH8e+fSWSm52JPyXDbbtcgrmsY8QXjn/NH4OuqitOkYtI0GpqzaXZNrNuxZc2RLYQQF5LaOnvJ2Qq4QYLuKjNw4EAGDhxY3c0QQpxGZH0f7n2vJdOHrSHT1ws1vye7QKOLQ7lyXGM23r8fe9EzaPDJycVqd+AX6cWQH3ph9jo/nrAnhBBnQ20fSHk2SE63EOKCE1nflyYxCiGnUvFNy0J1OEDTqds6gP7PtiAg0MxDz8VRv7EXFguEk0eTUydo0DuKId9cineIV3WfghBCiFpGerqFEBekHhPasfi+NZCUhyXZTpPBden9fx1R8lNEmrb05ZlX6hc7ok31NFQIIWqh2ppecjZJ0C2EuCBFtgtl2LJ+nPgnGb8ob4IbBVR3k4QQ4rxRm2YsOVck6BZCXLDMXiZiL5aBzkIIIdzl5OSQnJxMVFSU29PIK0NyuoUQQgghRJXSFMXlVZssXbqUiy++mICAAOrXr8+WLVsAeOCBB/jxxx8rXa4E3UIIIYQQokrV1ofjLFmyhKuuuorc3FyeeOIJNE0r3BYeHs60adMqXbYE3UIIIYQQokrpiuLyqi1eeOEFBgwYwKZNm3j55ZddtrVr147NmzdXumzJ6RZCCCGEEALYtGkTP/zwA2A8xbi4iIgITp48WemyJegWQgghhBBVqjb1bhdnNpux2+0et508eZKAgMrPdCXpJUIIIYQQokrV1pzuLl268PXXX3vcNnv2bC6++OJKly093UIIIYQQQgBPP/00/fr14/rrr+f2229HURTWrl3Ll19+yezZs1m6dGmly5agWwghhBBCVCldrUXd28X07duX6dOn88gjjzBv3jzAmCowODiYadOmcemll1a6bAm6hRCiQGoWPD4NftkIDSLh5RFwRdvqbpUQQtQ6tTGn2+l0sm/fPgYOHMgNN9zAqlWrOHHiBOHh4fTo0QM/P78zKl+CbiGEKHDH+zB/vfHvhFS45hXY9QHUj6zWZgkhRG1TG3u6dV2nVatWLFiwgKuvvporrriiSsuXgZRCCAGQmF4UcBfIs8PMv6qnPUIIIc4ps9lMdHS0ywNxqpIE3UIIATBntef16/ee23YIIcT5QFFcX7XEsGHD+Oqrr85K2ZJeIoQQAIcTPa9fvvXctkMIIc4DtTG9BKB9+/bMmjWLyy+/nCFDhhATE+P2kJwhQ4ZUqmwJuoUQF7a0LMixQXig5+3JWfDsN/Dqree2XUIIIc6522+/HYCjR4+ybNkyt+2KouB0OitVtgTdQogLk67DI1/CJ4vA5oC4sNL3fXs+jL8RfL3OXfuEEKIWq42zlwBnNA/36UjQLYS4MM1YAe//XLQcn1T6vjYHfPwbPH7t2W+XEEKcB3Sldg4bvOyyy85a2bXzHRFCiDP145qK7f/E9NIHWwohhHChq4rLS0hPN/feey/Hjx9nwYIF1d0UIcS5dCKt4sc89DnccHHVt0UIIUSNcPnll5e5XVEU/vzzz0qVfcEH3dVF0zQWL17M7NmzOXLkCBkZGQQHB1O3bl06dOjAXXfdhdVqre5mCnF+2hkPWw5W/LhjKbB8G1x2UZU3qTRLD2v8b6NOep5O3/oKu1JgX6rO1Q1Vnuyi4GWWHiQhRM1TW3O6NU1zm60kMTGRXbt2ERkZSbNmzSpdtgTd1eT5559n0aJFdOzYkVtuuYXAwEASEhLYtm0bU6dOZdiwYRJ0C1EZmw/AvgTo2AjmrYPsPLihO3y/Co6ngI8XfPgL5DkqV/60Jeck6E7O0flsi8Zzf+s4dWPd8ni9cPvqYxpzdsODHRQGNVaJ9HP/gNudrLPllE63GIW6ga7bNyboHEzX8TVDnhP61lfwtypk2HT+OKTjZ4FMG8QFKHSNqZ0fnkKIalRLLxueZiwB2L17N9deey0TJkyodNkSdFeDnTt3smjRIvr06cObb77ptj0pKQl/f/9qaJkQtZiuw50fwFfL3Lc9N7Pq6pm2FP49COv+D8ymqiu3mEUHNG6Yr5FlL3u/f0/BPYt1zKqTmdeo3Ni8aJjO8387eWWNjg6YFHj/cpX7O6jous4tP2t8u1N3KSvEG97opfLkco3UPNd6BjdWmHOtilnyMoUQF6hmzZoxbtw4nnzySdauXVupMmpc0G2z2fjmm2/47bffiI+Px2q10qFDB0aPHk2LFi0K99uwYQP33XcfEyZMICcnh++++46EhATq1q3L2LFj6dmzJ3v37uW9995jy5YtmEwm+vXrx2OPPYbFYnGrNz4+nnfeeYeNGzei6zqdO3fm0UcfpW7dulV+jocOHQKgc+fOHreHhZUxdZkQwrNv//IccJ8Nmw5A3D1wXz9jKsEqCL5n7dR4aoXGsUywV/AJxA4NblqgoSzQUACLyei9LuDU4bFlGjc1h9G/a/y4x72MlFx4+E+NHA/Tz87fpzN3j86NzSXoFkKUT21NLylLgwYN2Lq18g9Mq1GzlzgcDh588EE+++wz2rRpw2OPPcadd97JgQMHuPvuu9m+fbvbMd9//z3fffcdgwcPZuzYseTm5vLEE0+wbNkyxowZQ/369XnwwQfp1KkTP/zwA9OmTXMrIycnh/vuuw+LxcLYsWO59tprWb16Nffccw+nTp2q8vOMjY0F4M8//yQ9Pb3KyxfigqPr8MCUc1vniTSY+D289MMZF7X0sMawhRqH0isecBenAxquAXeBPCfc/4fngLuAp4C7wF/xeukbhRCihPNx9pI5c+ZQp06dSh9fo3q6v/vuOzZu3Mj777/PJZdcUrh+6NCh3Hzzzbz77rtMmeL6wZqUlMT3339fmI7RtWtXhg0bxrhx43jzzTfp3bt3YRm33nors2fPZtSoUS5lpKamMnz4cB5//PHCdR07dmTcuHF8+umnjB8/vkrPs3Xr1vTs2ZO//vqLAQMG0LZtW1q3bk2bNm3o0qUL3t7eVVqfEOe9jfsgNbt66v5mOUwcdkZFzNxxbgLaxQcrf6ynQF4IIc43d911l9u6vLw8tmzZwvbt2/m///u/Spddo3q6f/vtN+rVq0erVq1ITU0tfDkcDrp168a///5Lbm6uyzEDBw50yX9u0qQJfn5+REZGFgbcBdq3b09SUhJZWVludd9xxx0uy3369KF+/fqlJtSfqTfffJMnnniCRo0asXHjRr788kseffRR+vXrxzfffHNW6qys5ORk8vKKkjwzMzPJyMgoXLbZbCQluT5Y5Pjx42UuJyQkoOtFgYbUIXWcUR0BPlQXh5/V5Tz8/PxcrknlOQ/V7n5NOht83TPrSig9+O8U4axZP3OpQ+qQOk5bR3XSFcXlVVssWbKEpUuXurz++ecf4uLi+Prrr106aCtK0Yv/xKtZjx49XH7hPFm4cCHR0dGFOd3jx4/nuuuuc9ln0KBBREVF8fnnn7us//TTT/nss89YsGABMTExgDFP9549ezw+9rMgTWXZsmVndWBjTk4Oe/bs4a+//mLWrFlkZ2fz8ssv079//7NWpxDnnT7Pw7Jt577ebx6GW4wnmNntdqZOnQrAyJEjPY4f8WR3sk7Hr52nHTh5JuoFwHPdFUb/Xvolv1UYbPfwYM4GgbDlThMB1trzwSmEqF7/u9h1LutHV19RTS2pOWpUeglAo0aNyryLCAkJcVk2mTwPYFLV0jvxS95nlJyPsbT9zhYfHx/atm1L27Zt6dSpE2PHjmX+/PkSdAtREb+9AC99D9/+DenZkJIFzjNIkC7LRXWhezMY0Qsub3PGxTULVdh0u4lX1misPa6TlgfHK9j5bQJCfMCqQh1/aB4KjYMVDqZB/UC4v4NKtJ9Co2AnT6/QOZBqDLj0MkGkLzzdTeW6JgoTV2nM2qWj69AwCLrXUXigvSoBtxCiQmpT73ZxX331Fddcc43HSS2Sk5NZuHAht99+e6XKrlFBd7169UhMTKRLly5lBs1VLT09ncTERMLDw13WHzx4kODg4HM6fV+bNsYH+MmTJ89ZnUKcF7ws8PItxgtg11G45V0j31tVQNOL9ss7gy7lGy+BqWPBr2rHXjQNUZh2dVEnwkebNJ5cUTRtYKQvnCwlbb1uAHzZX6Vv/dNfN/vWN7HhttK3T7rUxKRLK9JyIYQ4f4wcOZLVq1d7DLoPHDjAyJEjKx1016ic7gEDBpCSksJXX33lcXvJXKaqNH36dJflpUuXcujQIbe88Kpw+PBhjhw54nFbQQ55w4YNq7xeIS4ozWNhw5twahpkfwsnp8KJL+HIFGgaU7kyvczw/RNVHnB7cn8HleSxJk6MUTl5v4nD96p0inLd58VLFE7eb+LgvaZyBdxCCHGu1Nac7rKyHHJzc0vNsCiPGtXTPXz4cNauXcvkyZP5559/6NKlC35+fiQkJLB+/XqsViuffvppldcbHBzMkiVLOHXqFJ06deLw4cPMnj2bsLAwRo8eXeX17d69m2effZYOHTrQqVMnoqKiyMnJYdu2bfz+++/4+fm5zbAihKik8EDj/xHFnvC6/v+g+9Ow82jFyhres+raVQ5Wk1LsSZMKK4YpzNyhFz4Gvlfd2vNBJoS4sNSmQPvw4cMcPHiwcHnTpk1uE3fk5OQwZcoU6tWrV+l6alTQbTabeffdd5k9eza//PJLYYAdERHBRRddxMCBA89KvT4+Pnz88ce88847TJ48GV3Xufjii3n00UeJiIio8vo6duzIQw89xLp161iwYAHJycnouk5UVBSDBg3i9ttvPysP5RFC5Avyg1svg/EVeFLlJc3hvbvPXpvKwdeicE/b2vNBJoQQtcHUqVOZOHEiiqKgKAr333+/2z4FPeDvvfdepeupUbOXCCHEOZOcAT2eLX9v98/PwYBOZe5S2dlLhBDifPNmz+Uuy+P+uqyaWnJ6O3bsYPv27ei6zk033cSrr75K06ZNXfbx8vKidevWNGjQoNL11KiebiGEOGdCA2DT2zBvHaRmwaNTIcfmed86oVUyS4kQQlwoatNTKFu2bEnLli0Bo9d74MCBHgdSnikJusspMTHxtPs4HA7M5rLfUl9fX3x9fauqWUKIM+FthZvzp+p4bJrnfSwm+ONFY18hhBDlUptyuosr+bDEqiRBdzmVZ87smJiY0z4NatSoUWdlcKYQ4gwF+0G2h4dzKQrUC3dfL4QQ4ryUnJzMzJkz2bFjBzk5OS7bFEXhiy++qFS5EnSX04cffnjafby8vE77RM3Y2NiqapIQoio9NACe/sZ9vc0BB05A6/rnvk1CCFFL1dae7sOHD9OlSxeys7PJzs4mPDyc5ORknE4nISEhBAUFVbpsCbrLqVu3btXdBCHE2fTk9fDqHEh37dXA2wJN61RPm4QQopaqrUH3008/zUUXXcTChQvx9/fn119/pXXr1nz22We8+uqr/Pzzz5UuW56mIIQQYKSRxHoYOHNNJ+MplkIIIc57q1evZsyYMXh7Gw9B03Udq9XKAw88wN133824ceMqXbYE3UIIUeDxwa7L/t7wehnPTBdCCOFRbX0i5YkTJ4iJiUFVVUwmE+np6YXbLrvsMv7+++9Kly3pJUIIUeDuvhAVDN/9DSF+8MDV0KSSj4wXQogLWG0KtIuLiooiOTkZgAYNGrBhwwb69OkDwMGDB087S11ZJOgWQojiBnY2XkIIIS443bt3Z9OmTQwePJghQ4YwadIk8vLysFqtvPnmm1x++eWVLluCbiGEEEIIUaVqa0/3E088wcGDBwF44YUX2LFjBxMmTEDXdXr16nVGj4GXoFsIIYQQQlQpvXbG3HTq1IlOnToB4Ofnx/z580lPT0dRFAICAs6obAm6hRBCCCFElaqtPd2eBAYGVkk5MnuJEEIIIYQQ+Xbu3Mnw4cOJiYnBarXyzz//ADBx4kSWLl1a6XIl6BZCCCGEEFWqtk4ZuHnzZrp06cLy5cvp3bs3TqezcFtmZiaffPJJpcuWoFsIIYQQQlQpTVFcXrXF008/Tdu2bdm7dy9ff/01uq4XbuvatSvr16+vdNmS0y2EEEIIIQSwcuVKvvnmG3x9fV16ucGYwzshIaHSZUtPtxBClFN6ns5dvzkJneygzTQHP+7WqrtJQghRI+n8f3t3Hmdj+f9x/HVm34dZZJgxyE72LTsVU5YoCiXKki1KqX7F16hoI5IlskSSSgmRECoiW7LvOzNmxlhmzIwxZ+7fH9McjjObMRvzfj4e58F9neu+r+u+7znnfM51Pvd1m6wed4vU276n5eLFizg7O2d72wq6RUSyqP/qZObsMbiYAHui4MmlyXzwtznzFUVECpm7Nae7evXqLF68OM3nVq5caZlOMDuUXiIikgWGYfDdQcOm/P/+NPBwNDO4tn0+9EpEpGC6mwLtmw0dOpTu3bvj7u5Ojx49ADh16hRr165l9uzZLFq0KNvbVtAtIpIFpgw+QEZuNBhcOw87IyIiueLpp5/m6NGjhIaGMmnSJACefPJJHBwcGD16NO3bt8/2thV0i4hkkdl2oBuAS9cgLNbAL/upfiIi95S7daQb4K233qJHjx6sWrWK8+fP4+fnR5s2bQgODr6j7SroFhHJgoSkjHO3I+JQ0C0i8p+76Tbwr7/+OkOGDCEwMNBSVrJkSXr37p2j7ehCShGRLJi5K+PnH/CHTefg46uPMTymKz1XQsTVdIbGRUSkwBg/fjznzp2zLJvNZhwdHS13oswpGukWEcmCDWczfr7FQjN/nQOzURyAbw5CeFwya5/WBZYiUvjcTTfEufkGOBmV3SmNdIuIZIFdJp8ff54F8y2/p647bRCu0W4RKYTu1ikDc5OC7nzQr1+/O7r6VUTyXqtS2VvPTb8nikghpKDblj4ORESy4MGA7K0XdhW8cuECy4Toazh5OmLnqLETEZE7dfDgQRwcUsLi1Nu/HzhwIM26tWtnb45YBd0iIpm4mmjw7IrspYnM2mXmoxY591Z7+UQs61/ZQtTuSzgXdaLuq1Wp1LVMjm1fRCQn3E053QC9evWyKUu9OU4qwzAwmUyWoPx2KejOAXFxcbi5ueV3N0Qkl/T91czOyOyt++kOqOqXTN1tx/jns/1ci7mOyWTCu6wHHiXcuHQkBu8yHtR9rSp+EWcg9Fs4cwE61IUxz4C7CwDJ15PZ8dl+ds84RHJSyheAaxcT2TjiH7Z/uo/Sj5SgUrcy7Jx8gMjdF/F/oCj13ngAr1LuOXUYRESy7G6aMnDOnDl50o7JyI3LMwuAZcuWMXr0aKZMmcLOnTtZtmwZFy5coFSpUjz//POEhIRY6m7evJklS5awb98+oqKicHR0pGrVqrzwwgvUqVPHarv9+vUjLCyMadOmMWnSJLZt28aVK1fYtm0bAFFRUcyZM4cNGzYQERGBh4cH5cuX57nnnqNhw4ZW25g5cyYTJkzg77//5vr169SsWZPhw4ff8eTrIgXSqp3w1e/g7gwDQ6B4Efh0ORw6Bw9Xhz4Pg30ez/Rx+WpKkPvzNjCAgKJQJRAGhEDNlNFjwzBw/MSc7o1xsqLekbO8uGa7VdkDF/dyX0IkZ90COOBVHk/jKp1P/4yRlMwhz/s57VaChOLFSPDzxd7ZHueiToRvjkpz+3bJSdgZySQ5OKXsx38cXO2p/38PENi8OPu/Okrs2TiCWhanXKdSGd5hU0TkTr36xG6r5fE/PpBPPSk47vmR7s8++4z4+Hg6d+4MpATjI0aMICEhgY4dO1rKYmJiaN++PX5+fkRERLBkyRIGDhzI559/Tq1atay2GRcXx4svvkiNGjUYOHAg0dHRAJw7d47evXsTHR1N27ZtqVy5MvHx8ezevZstW7ZYgm6A+Ph4+vXrR/Xq1Rk0aBBnz55l4cKFvPrqq3z77bfY53XwIZKbvt0AXT+5sTxvPfh5wen/gshFm2DnCZj2Yt71yTCg+Uj498SNsqPhsGE/zPsdNr8PNcqwKzL9O1FmpHR0BJ12b+GCuwf+Ybav50gXP+pH/0Nw3Bn8Ey5wyckLU5KZTX712O9dMaVSLBB7NdO2ku0cSAargBsgKd7MX//biYOrPUnxKT+HHv/lLJePx1L31aq3v1MiIllkoC/2t7rng+5Lly6xcOFCPDw8AOjcuTNdu3Zl4sSJtGnTBldXV0aMGIGrq6vVek8++SRPPfUUc+bMsQm6L1++zFNPPcWLL1oHCB988AGRkZFMnjzZKsAGSE5OtulXjx496Nmzp6WsaNGiTJo0iS1btvDggw/e8b6LFBifLLNejk+8EXCnmvUbfPAseOdROsSG/dYB980SEmHqSpg+gFMxtx9xtz64k6VzPsLZnARAuJsPq4s9RKL9jSsqHZOvW/5/f+xxtvvUINHkyEGvcrfdXmZSA+5U++YdpfbQytg56CJMEckdd1tOd164599xO3fubAm4ATw8PHjyySeJjY21pITcHHDHxcVx6dIl7O3tqVatGnv37k1zu88884zV8uXLl9m0aRMPPvigTcANYGdnZ7PctWtXq7J69eoBcOrUqdvYw9wXHR3NtWvXLMuxsbHExMRYlhMTE7lw4YLVOmFhYRkuh4eHW008rzbu8TbirpEZI8lMbPSlvNuPzPp0NeX5C//9knU7xv7yjSXgBigeF03FK0csyyYjmWqX91uW7TA45VaSBHtnkvPgbdmcaCbs3D3wd6U21IbayHBZCpZ7fqS7dOnSNmVlyqTkap45c8by75QpU9i8ebPVHziQZt5j0aJFrQJ5gNOnT2MYBuXLl89Sv/z9/XF2tp5HzNvbG0gJ4AsSHx8fq+Vb993JyQlfX1+rsoCAgAyXixcvrjYKUxs9W8DweTeWTSZwc4arCTeKHquNR5mSebcfLaul5JWHXyJNPVsAUDnQB0hOu046Sl+0verygUv7SLJzwMBEhZij+F+78eF5zuU+LjkVIcbBjVJxZznlHpjmdj3NscTYuYPJhF2yGQcjyWr0PD0mOxNG8o0P97JtgyhZqoRVnbvy70ptqA21keFyftLc3Lbu+aA7o4uFTCYTV69epU+fPiQkJNCtWzfKlSuHu7s7JpOJL7/8kq1bt9qs5+Licsf9unXk+2b36LWtUpi9+jjY2cHcdSmzcQxrD+UC4H/fwMFz8EgNGNM9b/vk5Ah/joHeU2Drf6PQ7s4p/RrWAR6pCUDtYibuc4PzcVnf9IpKteix40+rsmuu7jwQs59kM9gZZq7au5JssuOcV0n+ua8WHv7uXOvZleZ//cX2o2c47RJAoosLSfHJ2DmYKPVQAA27+PHXoD84ftmTZDt7isRfwI5kIl38wGSXkntuuvHeYu9iR8UupSn1UAC7Zx0m9lw8QS2KU+flynd48EREMqag29Y9H3QfP36c5s2b25QBlCxZkq1btxIVFcX//vc/OnToYFVv2rRpWW4nKCgIk8nEoUOH7rzTIvcakyklkB1m/Rpj6Vv5059U5QLg9/cyrOJob2JpJ3uaLDBzPYvfh4c+/jxeCfG027+dGGdXood0pOyHnUmMuc6f/7eDk6vO4uDqQLXny1H75SpUtFq7BQ8C6V3V0eyvUjiM/Iejy05zwSWASl3L8NhbD2CyM7Fn9mF2Tj3ItcuJBDa9j2Yf18HVN2WQoGST+7LWeRGRHJCsmNvGPR90L1q0yCqvOzY2lh9++AFPT0/q1q1ryeu+dXR58+bN7NmzJ8vteHt706hRIzZu3MjmzZtt8rpTJ1QXkbtP/QAT/WrAlJ1Zq3/RzYOOz7+Oa+I1rts7cGyAEwBOno48NLkBSfFJ2DnYZetukg7O9jT7qC6N3q2FCbB3vjEzSrUXylPlufsxJybjqPvPi4gUKPf8u3KRIkXo2bMnHTp0wDAMli1bRnh4uGXGkpo1a+Lr68vEiRMJCwujWLFiHDp0iBUrVlCuXDmOHDmSeSP/ef3113nhhRcYOnQo7dq1o3LlyiQkJLB3714CAgIYMmRILu6piOSman4mbObky0S8kzMDapoI8rL+wu3geudvvQ43Bds3s3Ow06wkIpLvlF5i654Pul966SV27tzJd999R3R0NEFBQbz33nuWm+N4enoyefJkJk2axLfffovZbKZSpUp8+umnLFmy5LaC7pIlS/LVV18xc+ZMNm7cyPLly/Hy8qJ8+fJ06tQpt3ZRRPKAi332rrUY9aACYBEpfJI1T7eNe/6OlJ9//jl169bN7+6IyF3ulbVJTNyR/vM+zhB9yyyEdiYwv3rPj22IiNgY8PRBq+Vp31ZMp2bhoSEYEZEsuJSY8fNt77cd1QkpnTt9EREp6AyTyeohCrpFRLKkqFPGHxpdKpoY/aCBCynReYtAg5lt0s67FhG51yWbrB9SCHK6RURyQtfKJibsSD8br21ZEyGlwHfPNyRiz+Ann8HRUZ80IlI46Tbwtu7ZoLt9+/a0b98+v7shIveIUl7pf4A4mMDOZMIMOJrMOGLOu46JiMhd4Z4NukVEctKVa+k/5+6Yd/0QEbkbKI/blnK6RUSyoIKPidrp3NSx9wP6cBERuZlyum0p6BYRyaKfHrencwUTXk7g4QjF3ODVuibGNtVbqYiIZEzpJSIiWRTkZeL7DpqRREQkM4ZujmNDQbeIiIiI5CjNXmJLv4mKiIiIiOQyjXSLiIiISI7SSLctBd0iIiIikqM0Y4ktBd0iIiIikqOSdSGlDeV0i4iIiIjkMo10i4iIiEiO0h0pbSnoFhHJYZeSXZn6L3i7JNO5ggkPJ334iEjhopxuWwq6RURy0NEkfz6Je5Sk9SYgmf6r4dcn7WheStl8IiKFmT4FRERy0Lz4JiTdNJ5xzQwdfkrGnGzkY69ERPJWsslk9RAF3SIiOSrcKGJTdiUR/onI+76IiOSXZExWD1F6iYhIjll6FEjnw6WYW552RUQkX5kVZ9vQSLeISA5Zfyb95wI9864fIiJS8CjoFhHJIccupf/culPK6RaRwkM53baUXiIikgNOXzFYcSL95y/E51lXRETynaYMtKWRbhGRHND3VzNkMJgdUkafQCIihZlGukVE7pBhGPx2GsjgJ1Qn+7zrj4hIftOMJbY00n2L9u3b069fv0zLRERSHbtskJSc/vMmw+DStbzrj4hIfjObTFYPUdAtInLHtoQZ2JvNaT+ZbGAAQdOSaPVtEn+d1QWVInLvSzZZP0TpJTZ++OEHTPpGJiJZtOGMwdf7Dcx2djiYzSTZ35JHYgJMJszJBqe2RvPKujjeLHmV9sMr4eCinBMRkcJCI923cHJywtHRMb+7ISJ3gc4LEmi60MzyYynLjteT8L8YY13pvy/xhp2JY/cVpdm+k0TOO8jSJ9aSnFFOiojIXcyMyeohhWyk+9q1a3z55ZesWrWK8PBwHBwc8PPzo2HDhgwfPhxIyd8OCAhgxowZNusfOHCAiRMnsnfvXhwdHWnSpAlDhw7F19f3ttoAqFu3Lu3atePRRx9l2rRpHD58GHd3dx555BEGDRqEm5tuX5frjp+Hn7aAnyc8+SC4OaddLzoGvv8Lkg3o/CD4e+d8XwwDVv8L/56ABytCk8pZW2/zQfhzP1QrBW1qgt1/36N/3wt/H4I698ND1XO+vwWVYcCv/8DuUynH8MGKGdePvAyLNgEGeLhB+EV4pAaYk2HtbqhUEtrWsRxXwzDYOfUge788wh43T35o3/jGtkwmEpydiHdJ5+8IMEwmNpcPpNK5C1w8FMOX1X6i+fj6ODjbsX3CPq6cjMXJyxHfykXwqeSFvbM9vpWLENQqADt7fWiJyN1Dd6S0VaiC7g8//JClS5fy2GOP0a1bNwzD4MyZM/z999+ZrhsREcGAAQNo1aoVDz30EAcOHGDp0qXs27ePr776CldX19tu48CBA/z222907NiRtm3bsm3bNr799lsOHz7M559/jp2dfojINSt3wOMfQGJSyvL7P8Km98Hb3bre4XPQ+C2IvJKyPGIB/DkGqgTlbH+enwxz191YfvMJeP/ZjNcZ/S2Efntj+enGsPBVeGU2TPz5RvmLreHz/jnb34Kq+wRYuOHG8qinILRr2nX3nYamb0N0bMbbbFcXlr0FwIFvjrNjwj4ALvrZpoYYWUhNc7medKN+EqwfusXq+fiEa5yJOM+Z389byko2KUab2Y0x2elTTETkblWogu7169fTuHFj3nnnndte98yZMwwbNozu3btbysqWLcuECRNYsGABvXv3vu02jhw5wrhx42jRogUAXbp0Ydy4cSxcuJBff/2VRx999Lb7KVn0f1/fCLgB9p+BWb/BsA7W9T5cfCPghpQAbcwi+PqVnOvL7pPWATfAuCUwtC0UL5r2OtExMPYH67JvN8IzTWHSCuvy6avg1Q5QvkTO9bkg2nbEOuCGlC9TL7UF3zTuwT5mUeYBN8DP22D9HmhRjUPfn7AUtz68ky9a1se46ctxmjndNzElJ9N838nM27zF2Q0RnN0QQWCz+257XRGR/KC7UNoqVEOpnp6eHD16lCNHjtz2uu7u7nTu3NmqrEuXLri7u7N+/fpstREcHGwJuFP16tULgHXr1tmukE+io6O5du3GfGexsbHExNzIW01MTOTChQtW64SFhWW4HB4ejmHcmMUhz9s4EWGzn+YjYTZtXDt4xqYex2+smxP7Eb3joG0bSWY4cyHdNhJPnLf+0pBqx3FIts0TvrD9gNVygTsfOdFGGueUxCQST4Sn3UZa9dNzPGXU2c7xxlum/5U4Pv/xC4rEpQTuReNiMwy4AYpeTSDgUhYC/TRcPHHZ8v+74nyoDbWhNvK9jfykKQNtmYybz/g97o8//mDkyJFcvXqVkiVLUqdOHZo2bUrz5s0tqRxp5XS3b98eT09PFixYYLPN7t27ExYWZgmSs9IGpOR0t2jRgnHjxtlss2XLlgQEBKTZnuSQZybAgj+ty34ZASG1rcs+WQqvfmld9l53eNv6C9gduXwVAvtCbMKNshI+cHI6OKQTxCUnw/0DrQNHFyc4PBlqvQZRN43OF3GHM1+Au0vO9bkguhADQX0hPvFGWbA/HJt2I9f9ZmMWpaQLZcbRAY5NhUA/zm6MYGXPlNF0h+QkGl1ZT+DlC5z3LML/Wj/FV3WbZ7ipsmEXeHPJRuC/SU2yuGsmexNd1rTGM8g988oiIgVAw4HnrZY3T9UvdYVqpLtZs2YsW7aM9957j/r167Njxw6GDx/OCy+8QEJCQobrZjSN4M3P3U4b6W3TMAxNW5jbPu2dcoGcyQTebjD2GduAG2BIWxjQBpwdU4Kv3g/B8Mdzti/e7rBoOJT97w2pahD8+Hr6ATekBJE/DIfqwSnLwf7w3asQ6AeL30i5ABCgfEDKtu71gBtSUki+ey3lWAA8EJyy7+ldGzH88ZTz6eiQcqxTL6StVupGzn6gLyx4OeW4AiUbF6Pxe7Vw8HTgj4qlebn1AEaEdGVJ1brsLFHapgnPuATskpPBMLg/LJpjAb7sCr4PO24E3CYnE56l/rtwOo2uuhZzpvm4ugq4ReSuknTLQwpZTjeAl5cXISEhhISEADBjxgxmzJjBqlWr6NChQ7rrnTlzhuvXr1tNJ5iYmMjZs2cpVapUtto4duyYTTtRUVHExsZSsmTJO9pPyYSfF/z8NsTG3wio0+JgD1NfhE+eT5kZwzX9mSnuSJtacGQqXImzvZgzPbXvh38npIyUe7reCC6bVIb9n6WUe7lleGvye067uvBYbYiJz/w4OjnCzEHwWZ+UY+RoD1evpRwzsD2u/6nUtQwVny5Np0tJjB26hx/LP8jhAF8wmSgSG881RwcSHeypf+QsHbfsZ3z7RpjtTLy8YjMv9X6MK//9Dbn4O1NzQEUqPl0GB2d7EmOu4+jhwPXYJLAzYedgIjkxGQc3B81cIiJ3HaWU2Co0I91ms9kqNypVpUqVALhy5YrNcze7evUq33//vVXZ999/z9WrVy152bfbxsmTJ63ywQHmzp0LpKSYSB7wcE0/4L6Zi1PuBdypTKasB9w383ZPezTX271wBdyp7Oxu7zi6OqecX3v7GwE3pH9cSfmVyquoI+9+/gBjr5/h7Z/+5JGdR7jv8lVcEq/z0K6jeCQkMubJZkQU8aDe0XNEeLvjdD2JGifP43W/B0+taUPV58rh4Jzyi4aTpyMmkwknT0ec3B1wcLbHydNRAbeI3JWSTNYPKUQj3XFxcYSEhNCsWTMqVKiAj48P4eHh/PDDD7i5uWUa5AYGBvLFF19w9OhRKleuzP79+1m6dCmlS5e2zGhyu22UK1eOkSNH0rFjR0qVKsW2bdv47bffqF27Nm3atMm1YyEiOcPRzYHOn9XF9WgyYxbfuIB17QNl8biWiNnOjla7j/HYjsPMblWTgYnhPDGtHqWbFMvHXouISH4oNEG3i4sL3bp1Y+vWrWzZsoW4uDh8fX1p2LAhzz//fKbpHMWKFeODDz5g4sSJ/Prrrzg6OhISEsLLL79smaP7dtuoVKkSr7zyClOnTuXHH3/E3d2dp556ikGDBmmObpG7SNki1sv2hkGpiMvcdyVlRpNRT7fkp97uNAvS61pECock3YXSRqGavaQgSb0jZWhoaH53RUTu0L4og6pfmgEof+4Cg1duwT3xOgCbygfyZataJA13zGgTIiL3lHIvRVotH/nMP596UnBo2EVE5A6V8Qan/95Nn/1zlyXgBnjw8BmqnTqfzpoiIlJYKOgWEblDro4mJj1kwiEpiZIXbS+mrnE8PI21RETuXddNJquHKOgWEckRL9awp2Nle075etk81/DQGbbsi8+HXomI5I/rtzykEF1IWdBs27Ytv7sgIjnM0Q4WNqrG8GV/WV1C5JSczP5fzlG/yv351jcRkbwUp9FtGxrpFhHJIdEJcPy+oiTa2761ViyhCylFRAozBd0iIjnEZILrDvasq1bGqjyqiDt1O5bIp16JiOS9eJP1Q5ReIiKSYzrdDytPwKKGVTjt60210xFEeLvT8aXSOLjq7VZECo9EzdNtQ/N0i4jkkEtx1yk/LYYo48bFlCGl4ZfOCrhFpHAxvRxttWxM9MmnnhQc+iQQEckh7o4wwmMJGxPL41WuAV0q2dGmjH1+d0tEJO9poNuGgm4RkRzkarrOw877eP7hBjg6KuAWkUJKs5fY0IWUIiIiIiK5TEG3iIiIiEguU3qJiIiIiOQspZfYUNAtIiIiIjlLMbcNpZeIiIiIiOQyjXSLiIiISA7TUPetFHSLiGTT5WsGw9Yls/SoQaAHvNMov3skIlJAKOa2ofQSEZFs6rnCzOw9BlHxsDMSHl8C4Wbv/O6WiIgUQAq6RUSyIdFssOSodZmBiW8T6udPh0REChLTLQ9ReomISHY4pDNkccLsn7cdEREpkBRp30pBt4hINtilMwdtot5WRUQUc6dB6SUiIjnIhJHfXRARkQJIQzIiItlwMSHt4NpQ0C0igoa6bSnoFhHJBrt0guskHLlgds/j3oiIFDCKuW0ovUREJBtc0h2yMLEooV5edkVERO4CCrpFRG5Tv5VJuExMTvf5Y2a/POyNiEgBpCkDbRTKoLtfv360b98+v7shInehbw+Y+WJPxnVicMmbzoiIFFiKum+lnO58sH79ehYvXsy+ffuIiYmhSJEiVK9enW7dulGrVq387p6IZGD4+swvlDTjmAc9EREpwBRn21DQnYfMZjOjR49mxYoVlC1blq5du+Ln50d4eDjLly+nb9++9O7dmwEDBuR3V0UkDcmGwfm4rNQ0sTXcoFHQHTR2NQFcHMHePuvrmM2QcB3cNdIuIlLQKOjOQzNmzGDFihW0bduWkSNH4uBw4/D37NmTYcOGMWvWLIKCgmjXrl0+9lREbjV/n5mBawwS00/ltvL5j+E0qhML9cuBkyP8cwzCL4KrM9S5HzxdrVfYewpi4qGkDzz3GazfA0XcoVdLGNEFfD1v1E1Ohi2H4UQkVCwBtcrClF9g5AK4eBVaVoP5L0MJn5T6h8/B+cvQoDw46m1fRPJAOjcQK8xMhmHk+6SyiYmJzJ8/n5UrV3LmzBmcnJyoVasWL774IpUqVbLU27ZtG/3792fUqFHEx8ezcOFCwsPDCQoKYvDgwTRt2pQjR47w6aefsmvXLuzt7WnTpg3Dhg3D0fHGz739+vUjLCyMadOm8cknn7B9+3YMw6Bu3bq88sorBAXdyfBU2qKjo2nfvj1Fixblhx9+wNnZOc06jz/+OB4eHixdutSqzyKSf1afSKb1oixG24bBpz/NYchfK1OWA4pCMW/498SNOh4u8PXL0KE+JCRCpw9h5T8pz7k4poxW38zZASb3hT6PwMkIeDgUjoTfeL5ySdh/1nqdxpXgj/eg52cw//eUspI+sPxtqFEmi3suIpI9prevWi0bYzSVar5fSJmUlMRLL73EF198wQMPPMCwYcPo1asXx48fp3fv3uzbt89mne+++46FCxfSoUMHBg8eTEJCAq+99hrr169nwIABBAcH89JLL1GnTh2+//57vvzyS5ttxMfH079/fxwdHRk8eDCPP/44mzZtok+fPkRGRub4fm7YsIFr167x2GOPpRlwA/j4+NC8eXMiIyPZvXt3jvdBRLKn/+osBtxAvdNHbgTcAGEXrQNugNgE6DsNEq/D57/eCLjBNuAGuJYEg2dC1BV4c751wA22ATfAxgPw/aYbATfA2eiU7YiISJ7L998ZFy5cyPbt25k0aRKNGjWylHfu3Jmnn36aiRMnMmPGDKt1Lly4wHfffYeHhwcA9evXp2vXrgwfPpyPP/6YFi1aWLbx7LPPsmjRIvr27Wu1jUuXLtGtWzdeffVVS1nt2rUZPnw406dPZ8SIETm6n0ePHgWwGrlPS6VKlVi5ciWHDx+mdu3aOdoHEcmec7FZr+uSlEbQnJaIyynpIVuOZK3+teuw62RKWklWbU2j7u2sLyKSXcousZHvI90rV66kVKlSVKlShUuXLlkeSUlJNGjQgH///ZeEhASrddq1a2cJuAHKlSuHu7s7xYoVswTcqWrWrMmFCxe4etX6Zw5IyaO+WcuWLQkODmb9+vU5tn+pUtu/ud9pSX0+Li5LV2vliejoaK5du2ZZjo2NJSYmxrKcmJjIhQsXrNYJCwvLcDk8PJybM5vUhtooyG3UKEaWbS5VnmWV62Re0c8Lgv2hXrksbddwdoQHSkHd+7NUPynIN+1t/7f+3Xw+1IbaUBtZayN/acrAW+V7Tnfjxo2t/sjS8vPPP1O8eHFLTveIESPo2LGjVZ327dtz3333MXOm9U+n06dP54svvmDZsmUEBAQAKTndhw8fZt26dTZtpaaprF+/PtMA+XZMmDCBr7/+mo8++ohWrVqlW2/+/PlMnDiRkSNH8vjjj+dY+yKSffuiDBp+bSYmi4PYdmYzZ8YMICDmEvh7gb837Dt9o4KbM3w1FJ5oCHHXoMP78NuulOdK+KSkn1y56Yu3kwNMfAEGhMCxcHgoFE5E3Hi+Vhkoex/8sDlluag7/DIyJcB+ZiJ8uzGlvHiRlJzu2lkL3EVEsss0wnrw0HjPLZ96UnDke3oJQNmyZa3SPG5VtGhRq2X7dKbQsrNLf+D+1u8WpnSuqs2t7yD335/yIXfgwIEMg+4DBw4A5MrFnCKSPVX8TFwYbM+igwbdV2Se351sb8/oT9/n8+CIlAsanR1T0jrOXEi5iLJBefD+76IiN2dYE5oyu0lMfEr9xCT462DKRZVx16BGaShWJKV+2eJwZEpKzvaxCKgSCPXLpzx34AycuwiNKoKLU0rZwlfhf0/B+UvQ6L++iIjkNg1u28j3oLtUqVJERUVRr169DIPmnHblyhWioqLw87O+XfOJEycoUqRIjo5yAzRp0gRnZ2dWrFhB796905295PfffycgIICaNWvmaPsicmcc7U10q2LihV+TSTBnXr9+LR+oed9NBeVvBMdpqVX2xv9d7eGh6unXtbeHZlVTHjerFJjyuFWVoJSHiEheUdBtI99zuh977DEuXrzIvHnz0nz+1vylnDR37lyr5XXr1nHy5EmbvPCc4OPjwzPPPEN4eDhjx47FbLb+1E5ISGDkyJHEx8fz4osv5ukXEBHJusAsfR836JrxNdMiIvc45XTfKt9Hurt168bff//N5MmT2bFjB/Xq1cPd3Z3w8HC2bt2Kk5MT06dPz/F2ixQpwtq1a4mMjKROnTqcOnWKRYsW4evry4svvpjj7QG8+OKLhIWFsXz5cvbv309ISAh+fn6WsvDwcPr27asb44gUYEPrmHhpbcZpaP5cxNG+aIZ1RESkcMn3oNvBwYGJEyeyaNEiVqxYYQmw/f39qVq1aq4FoK6urpab40yePBnDMHjwwQd55ZVX8Pf3z5U27e3teffdd3nooYf48ccfWbBgAVeuXCE5ORmTycRnn31Gw4YNc6VtEckZA2vZcSA6mc//NTCnE3vXcDwLKOgWkUJMg9s28n32EoFVq1YxcuRIqlatyuTJk3Fz0xW+IgVdbKKB56S0krsN3nFfxJt9OuuusiJSaJlGxVstG6Nd86knBYcShwuA1q1bM3LkSPbs2cOwYcNs5iUXkYLHJZ3fCe0wuM8+Ju0nRUSk0Mr39JKCLCoqKtM6SUlJODhkfBjd3NwyHb1u166dcrlF7iJJ6cwc6Exi3nZERKQgUnqJDQXdGQgJCcm0TkBAQKZ3gOrbt2+uXZwpIvnDxSHtTxQTmc/jLSJyz0vnfiiFmYLuDEyZMiXTOs7OzpneUbNkyZI51SURKSDSuxzGAV0mIyIithR0Z6BBgwb53QURKaDi0rkl/H32V/K2IyIiclfQhZQiItng7mSiup9t+WPO/+Z9Z0REChrdG8eGgm4RkWz6pp09lX1S/u9iD+82MqjicC5/OyUiUiAo6r6V0ktERLKpip+JfS84cPySgZ8buJiSmLMnv3slIiIFkYJuEZE7VKZIyijO9XTyvEVECh0NbttQeomIiIiISC5T0C0iIiIiksuUXiIiIiIiOUvpJTY00i0iIiIikss00i0iIiIiOUu3gbehkW4RERERkVymkW4RERERyVka6LahkW4RERERkVymoFtEREREJJcpvUREREREcpbSS2wo6BYRERGRHKao+1YKukVEREQkZynmtqGcbhERERGRXKagW0REREQklym9RERERERyltJLbGikW0REREQklynoFhERERHJZQq6RURERCRnmW55pCM0NBQPD4886lT+UtAtIiIiIpLLFHSLiIiIiOQyBd0iIiIikrNMJutHNu3Zs4eQkBA8PDzw8vLi8ccf58iRI5bne/fuTbNmzSzLFy9exM7Ojtq1a1vK4uPjcXZ2Zv78+dnuR05Q0C0iIiIiOSuLOd0ZOX36NE2bNuX8+fPMnTuXmTNncujQIZo2bUpkZCQAzZo1Y8uWLSQkJADw559/4uzszL///sulS5cA2LRpE4mJiVbBeX7QPN2SIcMwiImJye9uiNwVrl+/Tnx8PABXrlzB0dExn3skIoWdp6cnpjsYac5PEyZMIDExkVWrVuHv7w9AgwYNKF++PFOmTCE0NJRmzZpx7do1Nm/eTIsWLfjjjz/o0KED69evZ8OGDbRr144//viD4OBgSpUqla/7o6BbMhQTE4O3t3d+d0PkrvPyyy/ndxdERLh8+TJeXl553q7x2p2HmH/++SetWrWyBNwAwcHBNGrUiD///BOAMmXKEBQUxO+//24Junv16kVycjK///67JejO71FuUNAtmfD09OTy5cv53Y1CJzY2lrZt27J8+fJCM5XSvULn7u6k83Z30nnLnKenZ353IdsuXrxIzZo1bcqLFy/OwYMHLcvNmjXjjz/+IDY2ln/++YfZs2djNpuZP38+169fZ/PmzXz22Wd52PO0KeiWDJlMpnz5hlzY2dnZYW9vj5eXlz5I7jI6d3cnnbe7k87bvc3Hx4fz58/blIeHh+Pj42NZbtasGS+//DLr16/H29ubqlWrYjabGTZsGOvWrSM+Pr5AjHTrQkoRERERKXCaNGnCb7/9xoULFyxlp0+f5q+//qJp06aWsmbNmhEfH8+4ceNo2rQpJpOJ6tWr4+npydixYylevDjly5fPj12wopFuEREREck3ZrOZRYsW2ZQPHTqUOXPm0Lp1a95++23MZjOjRo3Cx8eHQYMGWepVqlSJYsWK8fvvv/PJJ58AKb/UN2nShGXLlvHUU0/l2b5kREG3SAHk5ORE3759cXJyyu+uyG3Subs76bzdnXTe7g0JCQl06dLFpnzOnDn88ccfvPbaa/To0QM7OztatmzJ+PHjrS6uhJTR7kWLFlmlkTRv3pxly5YViNQSAJNhGEZ+d0JERERE5F6mnG4RERERkVymoFtEREREJJcp6BYRERERyWW6kFKkANmwYQNTp07lxIkTFCtWjGeeeSbNi0tuNXPmTHbs2MHevXu5evUq8+bNo0qVKnnQ48Lj5MmTjBs3jn/++QdXV1fatGnD4MGDcXFxyXTdn3/+mTlz5hAWFkZgYCD9+vXj4YcfzoNeC2T/3K1atYrVq1ezZ88eIiMjGTp0KD169MijXkt2zltsbCxff/01f/31FydPnsTBwYHKlSszaNAgKlWqlIe9F7GlkW6RAmLXrl28+uqrVKpUiUmTJtGuXTs+/vhjfvrpp0zX/fHHH0lKSqJBgwa539FCKCYmhgEDBnD16lU++ugjhg4dyi+//MKYMWMyXXfNmjWEhobSsmVLJk2aRP369fm///s/Nm/enAc9lzs5d7/99htnz561mg9Y8kZ2z1t4eDg//vgj9evX5/3332fUqFGYzWZeeOEFDhw4kEe9F0mHISIFwksvvWQ899xzVmXvvfee0aZNG8NsNme4burzW7duNerUqWPs3bs31/pZGM2ZM8do3LixcfHiRUvZL7/8YtSpU8c4duxYhus++eSTxhtvvGFVNmjQIKNnz5650FO51Z2cu5tfd3Xq1DHmzZuXW92UW2T3vMXFxRnx8fFWZQkJCUabNm2M0NDQ3OquSJZopFukAEhMTGTr1q20bt3aqjwkJISoqCgOHjyY4fp2dnop56a//vqL+vXrU6RIEUtZq1atcHJyYuPGjemud/bsWU6cOEGbNm2sykNCQti7dy+XLl3KpR5LquyeO9DrKj9l97y5urrapJ84OztTpkwZIiMjc6u7IlmidxSRAuDMmTNcv36dMmXKWJWXLVsWgOPHj+dHt+Q/x48ftzk3Tk5OBAYGZnhuUp+7dd0yZcpgGAYnTpzI8b6KteyeO8lfOXne4uPjOXjwoM32RPKagm6RAuDKlSsAeHp6WpWnLqc+L/njypUrNucGUs5PRucmJiYGAA8PD6tyLy8vAC5fvpyDvZS0ZPfcSf7KyfM2depUEhISCsytwKXw0uwlIrkkNjaWqKioTOuVKFHC8n+TyZSbXZIcZmTxhr63ntfU9XS+809Wz50ULLd73lauXMk333zDG2+8QVBQUC71SiRrFHSL5JJ169YxevToTOt9/fXXlpHPW0dwUkdKU5+X/OHl5WU5FzeLjY3N8Cfr1JG6mJgYfH19LeU6r3knu+dO8ldOnLfNmzczevRoevTokaWpV0Vym4JukVzSvn172rdvn6W6iYmJODo6cvz4cRo1amQpP3bsGGCbEyx5q0yZMjZ5pImJiZw5c4YOHTpkuB6k5KeWLl3aUn78+HFMJpNVmeSO7J47yV93et727NnD66+/zsMPP8yQIUNyq5sit0U53SIFgJOTE/Xq1WPNmjVW5b/++it+fn5UrFgxn3omAI0aNWLr1q1Ws42sW7eOxMREGjdunO56JUuWpHTp0qxatcqq/Ndff6Vq1apWMzNI7sjuuZP8dSfn7fjx4wwdOpQaNWowatQopXFJgaGgW6SA6NOnD/v27eO9995j27ZtzJo1i59++on+/ftbTV3WsWNHBgwYYLXu9u3bWbNmDTt27ABg69atrFmzhn379uXpPtyrnnzySTw9PXn11VfZtGkTy5cv5+OPP+bRRx+1+hXinXfesblBUf/+/VmzZg1Tpkxh27ZtjB8/ns2bN9O/f/+83o1C6U7O3bFjx1izZo3ly/CRI0dYs2ZNplMNyp3L7nmLjo5m8ODBODg40KNHD/bv38/u3bvZvXu3bo4j+U7pJSIFRPXq1Rk/fjxTp05l+fLlFCtWjNdee42OHTta1TObzZjNZquy6dOnWwJugM8++wyAdu3aERoamttdv+d5enoybdo0Pv74Y4YPH46Liwtt2rThpZdesqqXnJxsc24efvhhEhISmD17NvPnzycoKIj333+fhg0b5uUuFFp3cu5Wr17NF198YVlevnw5y5cvJyAggGXLluVJ/wur7J63Y8eOcf78eQAGDhxoVVfnTfKbydAl3CIiIiIiuUrpJSIiIiIiuUxBt4iIiIhILlPQLSIiIiKSyxR0i4iIiIjkMgXdIiIiIiK5TEG3iIiIiEguU9AtIiIiIpLLFHSLSIEQGhqKyWTixIkT+d0VIiIi8Pb2ZsaMGZayEydOYDKZdLMhAaB06dK0aNEi2+u3aNGC0qVL51h/7hWDBw+mcuXKJCUl5XdXRHKcgm6RXBQREcHrr79OtWrV8PT0xNvbm/Lly9O1a1d+/PFHq7otWrTAxcUl3W2NGzcOk8nE+vXr03z+8uXLuLm5YTKZ+PLLL9PdTunSpTGZTJaHk5MTpUuXpk+fPpw+fTo7u3nPGTlyJD4+Pjz//PP53ZU8Exoayk8//ZTf3ZA8tHPnTkJDQ/P8i+769esJDQ3l0qVLNs+99dZbnDhxgs8//zxP+ySSFxR0i+SS06dPU716daZMmUKjRo344IMPGDt2LO3atWPHjh3Mnj07R9tbsGABCQkJ3H///cyaNSvDugEBAXz11Vd89dVXfPrppzRo0IDZs2fToEEDoqKicrRfd5uzZ88ye/ZsBg0ahKOjo6U8ODiY+Ph4RowYkY+9yz2jR49W0F3I7Ny5k9GjR+dL0D169Og0g+4SJUrw9NNPM3bsWI12yz3HIb87IHKv+vjjjzl//jxLly6lffv2Vs9NmDCBM2fO5Gh7s2bNolmzZjz99NMMHDiQgwcPUrFixTTrenl58eyzz1qWBwwYQLFixZg8eTKzZ8/m9ddfz9G+3U1mzJiBYRg888wzVuUmkynDXyJEJGf06NGDuXPn8tNPP9G5c+f87o5IjtFIt0guOXToEAAtW7ZM8/nAwMAca2vXrl1s376dXr160a1bN5ydnW97JL1NmzYAHD16NN06v/zyCyaTiU8++STN55s2bYqvry+JiYkAbNmyhV69elGhQgXc3Nzw9PSkcePGLF68OEt96tWrFyaTKc3nTCYTvXr1sin/9ttvadKkCZ6enri5udGgQQMWLVqUpfYAvvvuO2rWrElAQIBVeVo53TeXpa7n6upKuXLlmDNnDgCnTp2ic+fO+Pj44OnpSffu3bl8+XKa+xkZGclzzz2Hr68vbm5utGrViu3bt9v0cerUqbRu3ZqSJUvi5OREQEAAzz77bLojluvWraNt27b4+vri4uJC2bJl6d27N1FRUaxfv95yjOfOnWtJO8pKvvGFCxcYMmQIpUqVwsnJiRIlStCnTx/CwsKs6qW28eWXXzJz5kyqVKmCs7MzwcHBfPTRR5m2Azl3rAH27NnDk08+iZ+fH87OzlSsWJF33nmHa9eu2dTdv38/bdu2xcPDgyJFivD4449z7NixdPu5Zs0aWrduTZEiRXBxcaF69eo5kioxZ84c6tata3kdtWzZklWrVtnUS+918eWXX1qlp/Xq1cuSPtWyZUvLeU/9+069xmLv3r0MGTKE4sWL4+LiQv369Vm9erXVtjO63uHWazVatGjB6NGjAShTpoyl3ZtT4lq0aIG7uzvffvvt7R0kkQJOI90iuaRs2bIAfPHFF7z88svpBo+3Si+9Iy4uLt11Zs6cibu7O507d8bDw4MOHTowb948xowZg4ND1l7mhw8fBsDPzy/dOq1btyYgIIB58+YxbNgwq+eOHz/Oxo0bGTBgAE5OTgAsXryYQ4cO0a1bNwIDA7lw4QJz587liSee4Ouvv6Z79+5Z6ltWjRgxgjFjxhASEsK7776Lvb09ixcvpkuXLkyePJlBgwZluH5ERAQHDhxg4MCBt9Xuzz//zPTp0xkwYAA+Pj7Mnj2bF154AUdHR0aMGMFDDz3E2LFj2bp1K7Nnz8bFxSXNL0UhISH4+PgQGhpKeHg4kydPpnnz5vz1119Ur17dUm/8+PE0atSIRx55hCJFirBnzx5mzpzJ2rVr2b17N76+vpa6qf0KCgpi4MCBlCpVilOnTrFs2TLOnDlD5cqV+eqrr+jRowdNmzalX79+AHh4eGS4z1euXKFJkyYcPHiQnj17Ur9+ffbs2cP06dNZtWoVW7du5b777rNaZ9q0aURERNCnTx+8vb2ZP38+b7zxBoGBgVn+W7jTY71jxw6aNWuGnZ0dgwYNIjAwkF9//ZVRo0axadMmli9fjp1dynjU8ePHadKkCXFxcQwcOJCyZcvy22+/0bJlyzRfjzNmzKB///40bNiQt99+Gw8PD1avXs2AAQM4evQoH3/8cZb28VZvvfUW77//PnXq1OHdd98lISGBWbNmERISwldffWXzq0xWvPjiizg7OzNjxgzeeustKleuDGD1dwbw3HPPYW9vzxtvvEFMTAzTp0/n0UcfZcWKFbRu3fq223377bfx8fFh8eLFTJgwwfJ+06hRI0sde3t76tWrx++//45hGFl+7xQp8AwRyRVHjx41vLy8DMAICgoyunfvbkyYMMHYtm1bmvWbN29uAJk+1q1bZ7VeQkKC4ePjYzz33HOWsuXLlxuAsWTJEpt2goODjXLlyhmRkZFGZGSkcezYMWP27NmGt7e3YW9vb/z7778Z7tdrr71mADb1QkNDDcD4+++/LWWxsbE261+9etWoUKGCUblyZavyUaNGGYBx/PhxS1nPnj2N9N6mAKNnz56W5W3bthmA8eabb9rUffzxxw1PT0/jypUrGe7b2rVrDcAYP368zXPHjx83AGPUqFE2Ze7u7sapU6cs5ZGRkYaLi4thMpmMiRMnWm2nU6dOhoODgxETE2Ozn506dTKSk5Ot9slkMhkPP/yw1TbSOq5r1qwxAOPDDz+0lJ0+fdpwcnIyqlSpYly+fNlmHbPZbPn/rcczM2+//bYB2Ozf/PnzDcDo27evpWzdunUGYAQEBBgXL160lF+9etXw8/MzGjZsmGl7OXWsGzdubNjZ2Rnbt2+3qtu3b18DML7++mtLWbdu3QzA+OWXX6zqDho0yACM5s2bW8rOnTtnODs7G127drXp+5AhQww7OzvjyJEjlrLmzZsbwcHBme73wYMHDZPJZDRo0MBISEiwlEdFRRnFixc3ihYtavX3kN55nDNnjs37R1plqVJfj/Xr1zeuXbtmKT99+rTh7u5ulC9f3vK3mtZr49bt3Py6TqvsVr179zYAIzw8PN06IncbpZeI5JKyZcvy77//MnDgQJKTk1mwYAGvvPIKdevWpXr16mmmDTg6OrJ69eo0H6kjkLdavHgx0dHRVj8pt2nThoCAgHQvqDxy5Aj+/v74+/tTtmxZXnjhBYoWLcoPP/xgM9J1q549ewIwb948q/L58+dTqVIl6tevbylzd3e3/D8uLo4LFy4QFxdHq1at2L9/P1euXMmwrduxYMECIGVkLioqyurRoUMHYmJi2LRpU4bbiIyMBMDHx+e22u7YsSNBQUGWZT8/PypUqICdnR39+/e3qtu0aVOSkpLSTAV5/fXXrUb16tSpwyOPPMLatWutjlXqcU1OTuby5ctERUVRo0YNvL29+fvvvy31vv/+exITExk5ciReXl427aWO6GbH4sWL8fHxsflVoHv37pQrVy7NFKLnn3+eIkWKWJbd3Nxo2LCh5VeWrLiTYx0ZGcnGjRtp27YttWvXtqo7cuRIAMusQsnJySxbtowaNWoQEhJiVfett96y6deiRYu4du0azz//vM3fX/v27UlOTua3337L8n6mWrJkCYZh8Prrr+Ps7Gwp9/X1ZeDAgVy8eJF169bd9naz6pVXXrH8cgUpaXHPPPMMhw8fZu/evbnWbuqvNREREbnWhkheU3qJSC4qXbo0U6ZMYcqUKYSFhbFp0ybmzp3L0qVLadeuHXv37rUK8Ozs7Hj44YfT3NbOnTvTLJ81axb+/v4EBgZy5MgRS/kjjzzCggULCA8Pp3jx4lbrBAUFWX5yT80JLleuXJZ+xq1WrRq1atViwYIFfPjhh9jb27Nx40aOHDnC+++/b1U3IiKCESNGsGTJkjQ/PC9dupRmMJgd+/fvB6BKlSrp1jl//nyG20jdf8MwbqvtMmXK2JQVLVqUgIAAq0AptRxS8qFvlfoT/82qVKnCqlWrOH78ODVq1ABg7dq1vPPOO/z9998kJCRY1b948aLl/6nBbOp6OenYsWPUrFnTaoYXSDmGVatWZcmSJVy5csXq/KamXN3M19c3zWORnjs51qm52FWrVrXZRlBQEN7e3pY6ERERxMbGpnlOSpQogbe3t1VZ6t9f6rURacns7y8tGfX5gQcesKqTG9L7m4SU6z+qVauWK+2mvgaVWiL3EgXdInkkICCAJ554gieeeILu3bvzzTffsGLFCqtZRG7XiRMn+O233zAMgwoVKqRZZ+7cubzxxhtWZW5ubukG91nRs2dPXn75ZVavXk1ISAjz5s3Dzs7Oal+Sk5N55JFHOHDgAEOGDKFevXp4e3tjb2/PnDlzWLBgAcnJyRm2k94HblpTiaV+SK9YscImEEyVVuByM39/f8A6cM0Ke3v72yqHrAf2twYfW7ZsoXXr1pQrV44PPviAMmXK4OrqislkomvXrlbH9Ha/POSU9NrN6Hhk1Z0c6+wcj6wGfanbnjNnTroXSaf1pSOr273d526V3en30tr/W/8mMzpG2W03OjoauPGaFLkXKOgWyQcPPvgg33zzDWfPnr2j7cyZMwfDMJg+fXqaKRHvvPMOs2fPtgm671T37t0ZPnw48+bNo2XLlnz33Xe0atXKKtjYvXs3u3bt4n//+59ltoJUM2fOzFI7qfsUHR1ttX9pjexVqFCBlStXEhgYaBkBvF1Vq1bFZDJZ/WKQl/bv30/Dhg1tyuzs7CyziXzzzTeYzWZ++eUXq1Hfq1ev2nxZSJ0ycufOnWmOWN6JsmXLcujQIa5fv27zJWffvn34+fnl2K8YOeX+++8HSDMt4syZM1y+fNlSp1ixYnh4eLBv3z6buufOnbOZFSX1S6+vr+8dfaHNqM+3TgGauh+pdSDlNZMasN4srddMVr5Q7Nu3zyblLHVUP/VLxM2v05xqNzUFrlixYpnWFblbKKdbJJesW7eO+Ph4m/LUXFHIOBUiM8nJyXz55ZdUqVKFfv360blzZ5vHM888w6FDh9iwYUO220mLv78/jz76KD/99BNff/01ly5dsuR6p0odebx1NG7Pnj1ZnjIwNZBZs2aNVfn48eNt6qaOsr/11ltpjq5lJTfU39+fKlWqsGXLliz1L6d99NFHVsdrx44drFmzhlatWlkC2PSO69ixY21+OejcuTNOTk689957aebP37wNDw+P2xrh79SpE9HR0UyfPt2qfOHChRw5coQnnngiy9vKK/7+/jRu3JgVK1bYpGuNGTMGwNJvOzs7OnTowL///svKlSut6o4dO9Zm2126dMHZ2ZnQ0NA0Zza5fPlymlMSZqZjx46YTCbGjRtnmYoTUgLcqVOnUrRoUavb0VeoUIFNmzZZ9eHixYuWaRVvljpDTUbnfcKECVbtnjlzhgULFlChQgXLL0eenp4UL16ctWvXWv1NHTt2LM0bLmXWrtlsZtu2bTRr1kzpJXJP0Ui3SC4ZP348GzdupF27dtSpUwdvb2/Cw8P54Ycf2L59Oy1btqRt27bZ3v7q1as5deoU//vf/9Kt8+STT/Lmm28ya9YsmjRpku220tKzZ0+WLl3KK6+8goeHh02QVblyZapWrcpHH31EXFwcFStW5NChQ0yfPp1q1aqxY8eOTNvo1q0bb731Fv369ePAgQP4+vryyy+/pDmtYr169Rg9ejSjRo2iZs2aPPXUU5QoUYKwsDC2b9/OihUrrIKH9HTp0oV3332XsLAwm7m6c9vJkydp06YNHTp0ICwsjMmTJ+Pq6mr1JaNTp05MmDCBxx57jH79+uHk5MTq1avZtWuXzXSPgYGBTJw4kUGDBvHAAw/w3HPPERwczNmzZ1myZAmzZ8+mZs2aADRo0IA1a9bw8ccfExQUhLu7u81NnW72+uuvs2jRIoYMGcI///xDvXr1LFMGBgYG8s477+TKMbpTkyZNolmzZjRv3pxBgwZRsmRJVq1axdKlS2nTpg1PP/20pe57773HypUr6dSpE4MGDbJMGbht27Y0j/W0adPo06cPlStXthzryMhIdu/ezU8//cS+ffuyNP/5zcqXL8+bb77J+++/T+PGjenWrZtlysDw8HDmzZtndcHy4MGDefbZZ2nVqhU9evTg0qVLfPHFFwQHBxMeHm617bp162JnZ8f777/PxYsXcXNzo1q1alZ52klJSTRt2pRu3boRExPD559/Tnx8PJ999plVQDx48GBGjBjBo48+SseOHTl37hyff/451apVY+vWrVbtNmjQAID/+7//s9xXoEGDBpZfbtavX8/Vq1d56qmnbutYiRR4eTpXikghsmnTJmPYsGFG3bp1jWLFihkODg6Gt7e30bBhQ2P8+PFW038ZRsoUYs7Ozulu7+OPP7aa3qtLly4GYOzatSvDflSvXt1wd3e3TJcXHBxsVKxY8c52zjCMa9euGT4+PgZg9OrVK806J06cMDp37mz4+fkZrq6uRr169Ywff/zxtqYR27x5s9GoUSPD2dnZ8PX1Nfr27WtcvHgx3anRfv75Z6N169ZG0aJFDScnJyMwMNAICQkxpk6dmqX9Onv2rOHg4GCMGzfOqjyjKQPTmiotvSnh0pqmLXXKwIiICOPZZ581fHx8DFdXV6Nly5ZpTjG5ePFio3bt2oabm5vh6+trPP3008bJkyeN4OBgq2nsUv3666/Gww8/bHh5eRnOzs5GmTJljD59+hhRUVGWOgcOHDBatWpleHh4GECWprOLiooyBg8ebAQGBhqOjo5G8eLFjd69extnz561qpc6ZeCcOXNstpHRtJA3y6ljbRiGsXv3bqNTp06Gj4+P4ejoaJQvX94IDQ21eU0ahmHs27fPeOyxxwx3d3fDy8vL6NChg3H06NF0j/WGDRuMjh07Gv7+/oajo6MREBBgtGjRwhg3bpwRHx+faZ/TM2vWLKN27dqGi4uL4e7ubjRv3txYuXJlmnU/+ugjo1SpUoaTk5NRqVIlY9asWekei1mzZhkVKlQwHBwcrI5v6utxz549xuDBg4377rvPcHZ2NurVq2esWrXKps3r168bw4cPN4oXL244OzsbtWrVMpYuXZru63rMmDFGqVKlDHt7e5u/jZ49exrFixc3EhMTs3x8RO4GJsPIpyttREQKqP79+7Nq1SoOHjyY7kWZOalXr17MnTs33y58FLlVaGgoo0eP5vjx47c9On8nwsLCuP/++/nwww956aWX8qxdkbygnG4RkVu88847XLhwIc08WBHJPWPHjiU4OJgBAwbkd1dEcpxyukVEblGsWDGb2SlEJPd99tln+d0FkVyjkW4RERERkVymnG4RERERkVymkW4RERERkVymoFtEREREJJcp6BYRERERyWUKukVEREREcpmCbhERERGRXKagW0REREQklynoFhERERHJZQq6RURERERymYJuEREREZFc9v+At1Gk4yYN9wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 800x470 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model prediction for instance: 0.8363559246063232\n",
      "Actual outcome: 1\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxkAAAIECAYAAAB13OMOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAACLgUlEQVR4nOzdeViUVf8G8HsGhh1EdgEBV5DFBU3TVETNyiU1czdLs9JM33pbtOX1p2n7YuWSZW5lmpmiuZu7IhkuqAiKqKgssqrsy8w8vz9GphmHZYCBZwbuz3VxKefZ7ocR4TvnOedIBEEQQEREREREZCBSsQMQEREREVHjwiKDiIiIiIgMikUGEREREREZFIsMIiIiIiIyKBYZRERERERkUCwyiIiIiIjIoFhkEBERERGRQbHIICIiIiIig2KRQUREREREBsUig4iIiIiIDIpFBhERERERGRSLDCIiIiIyWvn5+XjppZfg5eUFc3NztG7dGh9++CECAwOhVCprfL5Vq1bBy8sLBQUF9ZCWykkEQRDEDkFEREREVJGXX34Zf/zxB5YvXw5fX18IgoBBgwZh7dq1ePbZZ2t8PrlcjsDAQIwfPx4LFiyoh8S6ysrKEB0djevXr6OkpASOjo7o1KkT2rZtW+2xWVlZOHPmDDIzM1FSUgI7Ozu0bdsWnTp1grm5udZ+0dHRyMnJQXFxMczNzdGsWTMEBQWhXbt2FZ77zp07OHfuHNLT06FQKGBra4v27dsjNDS0zvdsXv0uREREREQNr7S0FBs3bsSMGTMwbtw4AMCcOXPg6OiIZ555plbnNDc3xyuvvIKFCxdizpw5sLGxMWTkCu3fvx+ZmZno3r07HB0dkZiYiEOHDgFAlYXG3bt3sX37djg6OqJnz56wsrJCWloazp49i6ysLDzxxBPqfUtLS9UFiK2tLcrKypCYmIjDhw8jLy9Pp3Ao39a6dWuEh4dDJpMhNzfXYD08fFyKiIiIiIzOlClTYGlpifz8fHzxxReQSCQIDQ3FqlWrMGHCBEil2r/GpqWlwc7OTl2MlNu5cydkMhnef/99ddvEiRORm5uL3377rd7v49atW0hJSUHv3r0RGBgIT09P9O3bF15eXvj777+rfOQrMTERCoUCjz/+ONq0aQMvLy9069YN/v7+uHnzJkpKStT7enp6ok+fPmjXrh08PT3h6+uLAQMGwM3NDfHx8VrnLSgowLFjx9ChQwcMGDAAvr6+8PT0REBAALp27WqQ+2aRQURERERGZ86cOXj33XcBAH/++SeioqLw7bffIjs7G+Hh4Tr7t2jRAu+88w5+//13nDlzBgBw5MgRjB49GjNmzMBHH32k3tfDwwMBAQHYtWtXvd9HUlISZDIZWrdurdXu7++PwsJCZGRkVHpseSFlYWGh1W5paQmJRKJTaFXEyspKZ7/Lly9DLpejU6dO+t5GjbHIICIiIiKjExAQgPz8fDRv3hzDhg3Do48+iqioKACodMzAW2+9hRYtWmDOnDmIjo7G008/jfHjx+Pbb7/V2Tc0NBSRkZFVZhAEAUqlUq+PyuTk5MDR0VHnF30nJycAqkeiKtO+fXtYWFjg+PHjyM3NRWlpKW7evIn4+HgEBgZCJpNVmrmoqAiXLl3C7du3dYqJtLQ0WFpa4t69e9iyZQtWrlyJn3/+GcePH0dpaWmVXxN9cUwGERERERmlM2fOaD2+k5qaColEAhcXlwr3t7GxwaJFizB16lSEh4djyJAhWLlyJSQSic6+bm5uyMjIgFwu1xpArSktLQ07d+7UK+v48eNhb2+v015SUlJhu5WVFQCguLi40nPa29tjxIgR2L9/v9ajXcHBwejZs2eFx5w4cUL9eJRUKsVjjz2GwMBArX0KCgogl8tx4MABdO7cGT179kRmZiZOnz6NnJwcPP300xV+zWqCRQYRERERGR2FQoGYmBjMmjVL3VZUVASZTAYzM7NKj2vfvj0AQCKRYO3atZXua2VlBUEQUFxcDDs7uwr3cXFxwciRI/XKW9UA8qp+Ya9qW15eHvbu3Qtra2sMHDgQ1tbWyMjIwNmzZ1FWVoawsDCdY7p06YKAgAAUFRXh5s2biIyMRFlZmU5vhkKhQNeuXdG5c2cAqjEdUqkUUVFRSElJgbe3dzV3XDUWGURERERkdOLj41FYWKjVk+Hi4oLS0lIUFBTA1tZW55iYmBgMHToUjz32GCIjI7F69WrMnDmzwvPn5OTA0tKy0gIDAGQyGZydnfXKW9n4CEtLywp7K8rbLC0tKz3nqVOnUFZWhlGjRqkfjWrRogWsrKxw9OhR9SBvTXZ2dup78vHxAQD8888/aN++PaytrbWu+XAh0bJlS0RFRSErK4tFBhERERE1PqdPnwYArSIjICAAAHDt2jV07NhRa/8rV67giSeeQM+ePbF9+3aMHj0a8+fPx6RJk9CsWTOd81+/fl3nMaKHGeJxKScnJ1y7dg1KpVKrEMnJyQEANG/evNJzZmdnw9HRUWfshaurKwDVeI6Hi4yHlc8ulZeXpy4ynJycqhxwXtdHpQAWGURERERkhM6cOQNHR0etWZn69esHAPj777+1ioykpCQMHDgQ/v7+2LJlC2QyGT799FMEBwfj448/xmeffaZ1bqVSiX/++QcvvvhilRkM8biUn58fLl++jBs3bqBNmzbq9qtXr8LGxgZubm6VntPW1hY5OTkoKyvTKjTS09PV26tTPo5FswBq3bo1Ll++jNu3b2uNb7l16xYAwN3dvdrzVodFBhEREREZnTNnzujMItWyZUv06dMH27dvx8svvwxA1dswcOBAuLm5YefOnep36wMCAjB16lR8++23mDFjBvz8/NTnOXLkCO7fv4+JEydWmcHCwkLda1BbPj4+8PLywokTJ1BaWopmzZohMTERt2/fRnh4uFbvRmpqKnbt2oXQ0FB07doVwcHB2L9/P3bt2oWQkBBYWVkhIyMDMTExaN68OVq2bKk+9tixY+q81tbWKC4uxvXr13H9+nV07NhR/XUBVI9J+fj44OzZsxAEAW5ubuqVxX18fODh4VGnewYAiSAIQp3PQkRERETUALZs2YKxY8fi5s2b8PLyqtU5nnvuOVy/fr3aKWwNpaysDNHR0bh27RpKSkrg6OiIzp0766z2nZqaip07dyI0NBTdunVTt8XExCA7O1u9qrevry86d+6snqEKUD0uduXKFdy7dw8lJSXq8SQBAQFo166dTia5XI4zZ84gMTERhYWFsLW1Rdu2bdG1a9cqB9bri0UGEREREZkMQRDQq1cvdO3aFUuXLq3x8deuXUOHDh1w6NAh9O7dux4SEsDF+IiIiIjIhEgkEqxcuRKenp5VLoJXmVu3bmHp0qUsMOoZezKIiIiIiMig2JNBREREREQGxSKDiIiIiIgMikUGEREREREZFIsMIiIiIiIyKBYZRERERGTScnNz0a9fP+Tm5oodhR5gkUFEREREJi03NxdHjx5lkWFEWGQQEREREZFBscggIiIiIiKDYpFBREREREQGxSKDiIiIiEyag4MDevbsCQcHB7Gj0AMSQRAEsUMQEREREdVFfn4+7OzsxI5BD7Ang4iIiIhMXlZWltgRSAOLDCIiIiIyeffu3RM7AmlgkUFEREREJs/c3FzsCKSBYzKIiIiIiMig2JNBRERERCbv/PnzYkcgDSwyiIiIiMjk8eEc48Iig4iIiIhMnrOzs9gRSAOLDCIiIiIyeVyIz7iwyCAiIiIik3fjxg2xI5AGFhlERERERGRQnMKWiIiIiExebm4uH5kyIuzJICIiIiKTxxW/jQuLDCIiIiIyeTk5OWJHIA0sMoiIiIjI5Eml/LXWmHBMBhERERERGRRLPiIiIiIyeRcvXhQ7AmkwFzsAERERGVhpGbD5JKBQip2EyHBGPgrYW1e6WaFQNGAYqg6LDCIiosbmswhg3m9ipyAyrPxi4NWnKt3cvHnzBgxD1eHjUkRERI1NXjEEmZnYKYgMRwJg6R6giqHEzs7ODZeHqsUig4iIiIiMmwAgPhn4O6HSXRITExsuD1WLRQYREVEjxMkjqdExlwLf7xU7BemJRQYRERERGT+5EvjtBJCTV+FmPz+/hs1DVWKRQURE1AhJJBKxIxAZnlwJ/Hykwk35+fkNm4WqxCKDiIioEeLjUtQoCQKwdHeFA8CzsrJECESVYZFBRERERKbjWjpw9JLYKagaLDKIiIgaIT4uRY2WuRRYsU+nuXPnzg2fhSrFIoOIiIiITIdcCWyJAjLuaTVfusTeDWPCIoOIiKgR4pgMatSUArDmkFZTWVmZSGGoIiwyiIiIiMi0KAVg+V5AqVQ3NWvWTMRA9DAWGURERI0Qx2RQo3crCzhwQf2pu7u7iGHoYSwyiIiIiPTh2gxY8xqQuRYo2Aic/AToH6LfsYEtgWUvq47J3wAIW4GwoMr3d7YHvpkK3FgBFG8C7qwGdn8ANLczyK00CmZSYPke9acJCQkihqGHschowjw8PODv7y92DCIiqgcck2FgFubAwfnAgI7Af1YDwz8F0u8Be/8H9A2s/vhubYAR3YGcfODgxar3bdEcOPUZ8GQXYOFm4PEFwIwfgMQ7qhykolACO04DKdliJ6EK1OpfamJiIi5cuIC7d+/C3Nwc3t7e6N69O+zt7Q2dj4iIiKj+Hf4QSMoApiytePuLA4EQX6DnXODvB++YH74InP8a+Hwy8Ojcqs//y9F/V6oe1RN4+pHK913+MmApA7q9Ddwr+Lc94pTet9N0SIBVB4F5Y+Dj4yN2GNJQ456M2NhYHDp0CGZmZujZsydCQkKQnJyM7du3o6CgoPoTEBERUb2TckyGYY3sAVxO/rfAAFTvpK8/BvRoD3g6VX28vj1Lvq6qAmTlX9oFBlVMqQS+3wvIFSguLhY7DWmoUZFRXFyM6OhouLi4YNiwYQgMDERoaCgGDx6MwsJCnD59ur5yEhERUQ0o+biUYQX7ABdu6raXtwW1NMx1+gQCUimQmgNseAPI+xUo+k3V0/Joe8Nco7G5cw/YcxYZGRliJyENNSoykpKSUFZWhuDgYEil/x7q6uqKFi1a4Pr161AoFAYPWZ0bN25g+PDhcHV1hUwmg52dHdq0aYM5c+Zo7ScIAj7++GO0bdsWlpaWsLKyQnBwMNasWaPeJy8vD15eXnBwcMC5c+e0jn/rrbcgkUjwn//8x+D3MHLkSEgkEly4cAHDhg2Dvb09rKys0KNHD1y8qHp28/PPP0fLli0hk8nQokULfPnllzrP3H700Ufo2rUrnJycYG5uDkdHR4SHh+PUKf27WE+cOIG+ffvC3t5efa2XXnoJeXl5Br1nIiIi0ZhJtT8kEtXHw+3lnO1U4ykelvPgZ6OzgR4Z93rQI/Ll84C1BTDqC2DCYtWA70MLVI9skTYzKbBsT/X7UYOq0ZiMzMxMABVPEebu7o60tDTcu3cPzs7OVZ6npKRE7wFpMpkMZmZmlW6Xy+UICwtDRkYGRowYgaCgIOTn5yMuLg5RUVFa+z799NPYtWsXevXqhdGjR0OhUCAiIgLTpk1DVlYW3n77bdjb22PLli3o06cPJk+ejFOnTsHGxgZ//fUXFi9ejEceeQRffPGFXtlr45lnnoGLiwtmz56NW7duYePGjRg+fDjGjh2LNWvWYNSoUbC3t8fatWsxZ84cdOnSBQMGDFAfv2zZMgQEBGDy5MlwcnJCfHw8IiIi8MQTTyAyMhJBQVXMZAFgy5YtGDduHNzc3PDcc8/Bzc0N0dHRWLVqFS5evIhjx47BwsKi3u6fiIgMg1PYViEsCDiysOL258O12/xeAW6qfv+p8pEnQ/Uclb+Jm5ytKjDK14GISgASlwHvjACe+9Yw12osFEpgfwxClr8sdhLSUKMio3zMha2trc628raCgoJqi4wtW7YgP7+CdwMqEBYWVuUMSHFxcbh9+zamTp2KVatWVbrfxo0bsXPnTrz++utYvHixuv3jjz9GcHAwPvvsM7z88sto1qwZHn30UcybNw/z5s3DzJkz8cUXX2D8+PFwdHTE+vXr6/WXbH9/f+zYsUPdU2RtbY2VK1fixx9/xJkzZ+Dn5wcAGDt2LEJDQ7Fs2TKtIiMuLg6Ojo5a59y1axeGDh2Kr776CqtXr6702sXFxZg2bRpat26NU6dOaZ1n4cKFmDdvHtasWYNXXnlF7/vJycmBra0tLC0tAQD5+fkQBEE9SUBpaSny8vK0/s2kpaWhRYsWlX5+584duLu7q3+A8hq8Bq/Ba/Aa2tdwUMhR+dtzhDPXVIOqNf0wXfWI0oLftdtT76r+zM6vuLfC6UFbRb0ctZH9oGfkwAWtheZw5y5wPgkIbW2Y6zQ2ApAUexk21oJRfA+a4jUMTSLUYI67nTt3IjU1FS+99JLOOySXL1/GsWPHMHDgQLRuXfU3wJ07dyCXy/W6ppOTE2xsbCrdfvPmTfj5+aFjx47YtGkTAgICKtzv8ccfx/HjxxEVFQVXV1etbYsXL8bXX3+N3bt346mnnlK39+vXD8ePH0ebNm1w7do1rFq1Ci+88IJeuWtq5MiR2LZtG/bu3YsnnnhC3f77779j7NixGDNmDDZt2qR1jK2tLQIDAxEdHa1zPqVSiZycHPUgqICAAAQEBGiNm/Hw8ECzZs1w5coVAMDWrVsxatQovPXWWzqPhOXk5KBTp04YNWoU/vjjD4PdNxER1YN3foZy8Z+QypXV70sq1c0utW8e0NIFCJyt3T5nJPDpc4Dni0DaXf2uNaon8MfbQL//AUcvaW97tD0Q9Snw7U7g9YfeGDz5CWBvDYS8rt91mgqpBOjRDjHLx6Fz585ip6EHatSTYW6u2l2hUKj/Xq58LMbD7RXx8PCoyWWr5Ovri9mzZ2PJkiUIDAyEr68vevTogTFjxqjHOQDA1atXUVJSgtDQ0ErPlZqaqvX5H3/8gdatW+Pq1auYMGECnn/+eYPlrkyHDh20PndzcwMAtGypO6DM3t4eubm5Wm07duzABx98gPj4eJSVlWltq673KCYmBgDw5Zdf4ssvv6xwn+xszkVNRERNUMQp4PtXgO7tgH+uqtrMpMCkMNWMU/oWGNU5dRW4nQUM6qx6dKq8N6NFc6CTH7DhuGGu05goBeDVp7iUgpGpUZGh+UhUs2bNtLZV9SjVw4qKivQek2FhYVFt4fLtt99ixowZ+O2333D8+HHs2rULmzZtwpAhQ7Bt2zaYm5tDEATY2tpiyZIlsLKyqvA8vXr10vr8wIED6sHOV69eRVlZWb2PR6jsXvUp3iIjIzFixAi4ublh1qxZ8Pf3h52dHSQSCV555ZVqv+bl26dNm4b+/ftXuI+np2e1OYiISHwck2Fgqw8CM58CNr8FzF0PZNwHXn0S8PcEBs7X3vfAfNX4Dtnof9usLYDBXVV/L58lKiwIcHEACoqBvQ8mmxEE4I01wO9vAtvnAt/vA2wtgf+NBkrlwCdb6vtOTY+DDfBsT3iBPXfGpEZFhqurK+Lj45Genq5TZKSnp0Mmk+mMB6hIRESEwcZklAsICMD8+fMBqAaWh4eHY9euXTh69CgGDBiA1q1b4/bt2+jWrRtCQkKqPd+tW7fw8ssvo0WLFnjyySexZs0avPXWW/juu+/0yi2G1atXQ6lUYv369VrjNAoKCjBp0qRqjw8ODgagKuzGjx9fbzmJiIhMTqkcGPB/qoX3lkwDbCyAmCTgqUXAsTjtfc2kgPlDo2LcmqkekdK0YJzqz6QMoNX0f9u3RAEjPwPefxb44y2gRK56rGrsV8D1dIPfmkkzkwLTBgJWFrgcE8PHpYxIjYoMPz8/nDx5ErGxsWjbtq16cHJmZibS0tLg7+9f5UxQ5fr371+jMRlVuXv3rnra2nKWlpYICgpCVFSUekasF198EUeOHMHbb7+NHTt2QCaTaZ3n9u3b8PT0hJmZGRQKBYYPH47i4mKsX78eQ4YMwblz57BixQoMHDgQTz/9tF7ZG1r5116p1K7k586dq9NWkWHDhsHR0REbN27Eq6++qjMTVWFhIfLz89WPcBERkfESBAHsy6iB8HnV75NxH3hhSe3OdTMTkDyjf54/o1UfVDWFEnhlkNgpqAI1KjKsrKzwyCOPICoqCjt27EC7du1QXFyMixcvwtraGt26ddPrPIYck3HgwAG8+OKLCAsLQ/v27eHo6IiLFy9i69at8Pb2Vg+injRpEiIiIrB161YEBQXh8ccfh7u7O5KTk3H27FncvHkT169fh729Pf773/8iJiYGs2fPVhcU27dvR3BwMGbMmIFu3boZ5WND48ePx08//YTJkydj3LhxsLW1xdGjR3H58mW9nlO0sbHBmjVrMGbMGDz66KMYOnQoAgICkJubi4SEBBw6dAhff/11jWaXIiIiIqoXZlKgdwegvep3Mm9vb5EDkaYaFRkAEBISAisrK1y4cAFRUVEwNzeHl5cXunfvrtd4DEPr0qULBg4ciOjoaBw4cABKpRLOzs4YM2YMFi1ahObNm6v33bJlC5YsWYIffvgBq1evhlwuh6OjI9q2bYu3334b1tbW2LdvH5YsWaKzHoaPjw9WrlyJcePGYfLkydi7d69e4yQaUnh4ONatW4cFCxZg+fLlsLCwQJcuXbB7924MGzZMr3OMGDECUVFReP/997Fv3z5s3rwZtra28PDwwIQJE/D444/X810QEZEhSDkmgxo7hVI1TuYBfZ+SoYZRoylsiYiIyARwCltqCpztgdSfAAvVI/AxHJNhVKRiByAiIiIiqhEzqWoshoWs+n1JFMb1vI8Jyc7Oxv3796vcp6SkRL0SY2XMzMzQsmVL9SB6IiIiQ+AUttSoKZXAS9qPcJfPkknGgUVGLU2bNg3btm2rcp/27dsjISGhyn2cnZ1x48YNLiBDREREpA8zKTCgI+CnPdvltWvX9Fr2gBoGi4xa+uCDDzBmzJgq97GxsUFhYWGV+1hZWcHa2tqQ0YiIiDiFLTVeCiUw80md5qKiIhHCUGVYZNRS165d0bVrV7FjEBERETUt7s3+XT1dgxiznFLlOBCAiIioEeKYDGqUzKTAjCd1V1SHarkBMh4sMoiIiIjINAgCMG1ghZvi4+MbOAxVhY9LERERNUIck0GNjpkUGNIV8HIWOwnpgT0ZRERERGT8FEpgxhOVbvb09GzAMFQdFhlERESNkJRjMqix8XYGBnUWOwXpiY9LERERNTbmUghlCkhkuoNjiUySXAnMfAqoYvHi1NRUuLm5VbqdGhaLDCIiosbmnZG4czcbLVz5Cxc1IlP7i52AakAiCIIgdggiIiIyrKSkJPj5+Ykdg6jBlJSUwNLSUuwY9ADHZBARETVCLi4uYkcgalC3bt0SOwJpYJFBRETUCCUmJoodgahBFRQUiB2BNLDIICIiIiKTZ21tLXYE0sAxGURERI3QvXv34OjoKHYMogYjl8thbs45jYwFezKIiIgaIT46Qk1NbGys2BFIA4sMIiKiRigzM1PsCETUhLFPiYioqRME1QeZnioWJiNqajw8PMSOQBo4JoOIqKl7/jvg5yNip6CaCvAC4r4DJJIKNwuCAEkl24gao6ysLE7dbET4FggRUVN3PE7sBFQbl1OAyMuVbo6Pj2/AMETiS05OFjsCaWCRQUREZIrMpcD3eyvdXFpa2oBhiIi0scggIiIyRXIl8PtJICu3ws0ODg4NHIhIXAEBAWJHIA0sMoiIiEyVUgmsO1zhJg6CpaYmJSVF7AikgUUGERGRqVIKwLI9qmLjIQkJCSIEIhJPXl6e2BFIA4sMIiIiU3YjAzjMRciILC0txY5AGlhkEBERmbJKBoD7+PiIEIZIPO3btxc7AmlgkUFERGTK5Epg2z/AnbtazSUlJSIFIhLHxYsXxY5AGlhkEBERmTpBAFYf1GpKT08XKQwREYsMIiIi06cUgOV7AYVC7CREonFzcxM7AmlgkUFERNQYpOQA+8+rPw0JCRExDFHDs7KyEjsCaWCRQURE1BiYSVW9GQ9cvXpVxDBEDe/WrVtiRyANLDKIiIgaA4US2HUGuJ0FACguLhY5EBE1ZSwyTExSUhIkEgnGjx8vdhQiIuPn2gxY8xqQuRYo2Aic/ATor+djRIEtgWUvq47J3wAIW4GwoHqNW2dSCfDTAQCAvb29yGGIGhansDUu5mIHMJRz584hKysLWVlZyMvLg52dHSZMmCB2LCIiEouFOXBwPuBoC/xnNZBxH5j5JLD3f8DA+cCxuKqP79YGGNEdOHcDOHgRePqRhkhdNwolsGIf8L/R8PLyEjsNUYNKT09Hq1atxI5BDzSanozo6GikpqbCwcGBKz4SETUFhz9U9VJU5sWBQIgvMOZLYMMx4MB54NkvgIRU4PPJ1Z//l6OA1zRg6EfAz0cMFrveZdwHdp7G5cuXxU5C1KDu378vdgTS0GiKjHHjxuH555/HkCFDYGNjI3YcIiIS28gewOVk4O+Ef9sUSmD9MaBHe8DTqerjBaF+89UXMymwbI/YKYganEwmEzsCaWg0RYaDg4PYEXSMHDkSEokE58+fx5AhQ2Bvbw9LS0sEBwdj27ZtFR6zZs0adO7cGba2trC0tESLFi0wcuRIZGVlVXmtjz76CF27doWTkxPMzc3h6OiI8PBwnDp1Smff3377DR07doSDgwNkMhmaN2+O7t27Y//+/ep9bty4geHDh8PV1RUymQx2dnZo06YN5syZU6evCRFRgwn2AS7c1G0vbwtq2bB5GopCCRy8AB85e/WpaQkKMvIxU01MoxmTYQglJSUQ9HznSiaTwczMTK99n3nmGdja2uLVV19FdnY2NmzYgHHjxmHTpk0YPny4er/XXnsNy5Ytg5eXFyZMmABvb29cv34d+/fvR2pqKlxcXCq9xrJlyxAQEIDJkyfDyckJ8fHxiIiIwBNPPIHIyEj1N95ff/2FCRMmoGXLlpg6dSpcXFxw584dnDx5EufOncOgQYMgl8sRFhaGjIwMjBgxAkFBQcjPz0dcXByioqL0umciIoMze+h9MYlE9fFwu0Kp+tPZDsjJ1z1PTt6D7Y14YLRUCsufjwHdOoidhKjBxMTEoHPnzmLHoAdYZGjYsmUL8vMr+IFUgbCwMPj7++u1r5OTE06cOKEeKzJt2jT06tUL7733HgYPHgyZTIaTJ09i2bJlCAwMxIkTJ9C8eXP18YIgVFv8xMXFwdHRUatt165dGDp0KL766iusXr0aALBp0yYIgoA//vgDjzxS8SDGuLg43L59G1OnTsWqVav0usfK5OTkqHtlACA/Px+CIKhnPSktLUVeXh6cnZ3Vx6SlpaFFixaVfn7nzh24u7tDIpHwGrwGr2GAa5gplNDvLRMRhQUBRxZW3P58uHab3yvAzUzV36v6v9NUH4fSg6BQQrr3HIDG/W+X1+A1eA3DXcPQJIK+b92bkM2bN6OsrKzGs0vduXMHcrlcr32dnJyqHfsxcuRIbNu2DevWrcPkydqDDHv27IlTp07hwoULCA4OxpQpU7B27doK99WUlJSEVq1aYdy4cdi4caPOdqVSiZycHPX86AEBAQgICMDp06cBAG+//Ta+/PJL/Oc//8HHH39c4T3cvHkTfn5+6NixIzZt2oSAgIBqvx5EZMJaTwduZIidomp2VoD/Q7Ml/TAdSM0BFvyu3X7hJlAmB1JXAcfjgLFfaW8f3BXY9T4waAHw13noZVRP4I+3gX7/A45eqv19NBSpBKmvhsNzSRUD44kameTkZHh7e4sdgx5gT4YGDw+PejlvRV13gYGB+Pvvv3H58mUEBwerV2bt0aNHra6xY8cOfPDBB4iPj0dZWZnWNs3emXfffRd//vknvv32W/zwww8IDAxEv3798NJLL6mLCV9fX8yePRtLlixBYGAgfH190aNHD4wZM0Y9zoSIqEHlFwNnrmm35RUB2Xm67eUu3lTNLvWwEB/Vn7GNeHVgiQSuc8aKnYKoQdnZ2YkdgTQ0moHfhlBUVITCwkK9PvTt8ahMeQdS+S/sgiDU+pf3yMhIjBgxAhkZGZg1axZ++OEH/Prrr9iwYQPs7e21HrUqH6+xc+dOPPfccygrK8M333yDLl264KefflLv9+233yIuLg7z5s1D69atsWvXLowaNQrDhg2r870TETWIiFNAB2+ge7t/28ykwKQw1YxTaXfFy1afzKXAyB64UdhI74+oEklJSWJHIA3sydAQERFRL2MyYmJi0LFjR622+Ph4SCQS9Tn8/f1x8uRJREVF6X3ecqtXr4ZSqcT69esxYMAAdXtBQQEmTZqks79UKsWQIUMwZMgQAMD58+fRvXt3fPHFF5gyZYp6QHtAQADmz58PQDUoPjw8HLt27cLRo0e1rkNEZJRWHwRmPgVsfguYu161fsSrTwL+nqrF+DQdmK8a3yEb/W+btYXq0SoAePTBSsJhQYCLA1BQDDwY82B05Erg1SdRWFgodhIiasJYZGjo379/jcZk6GvJkiUYO3asenDOqVOncOrUKXTo0EFdUEybNg1r1qzBF198geHDh2sN/AZUYy2k0oo7nsqLAqVSqdU+d+5cnbbk5GR4eXlp9ZoEBwfDxsYG+fn5KCsrQ25urnra2nKWlpYICgpCVFQUMjMz9b53IiLRlMqBAf+nWnhvyTTAxgKISQKeWqS72reZFDB/aPi7WzPVOAxNC8ap/kzKAFpNr7foddLaHegXDNvERLGTEDWotm3bih2BNDSaIiMhIUHdC1FcXAyFQoGzZ88CACwsLBAcHFztOeprTEZOTg4eeeQRDB48GFlZWdiwYQMsLCzw8ccfqxeO6dWrF6ZPn44VK1YgJCQEQ4YMgZeXF5KSkrBv3z7s2bNHpzek3Pjx4/HTTz9h8uTJGDduHGxtbXH06FFcvnxZPctAueeffx5JSUno3bs3/Pz8IJfLsWPHDty7dw+jRo2ClZUVduzYgRdffBFhYWFo3749HB0dcfHiRWzduhXe3t544okn6uXrRERUI+Hzqt8n4z7wwpLanetmJiB5pua5xCSRqHpvJBL4+lYwHoWoEcvOzua4DCPSaIqMK1euIC0tTautfEYlOzs7vYqM+rJ161a8++67WLZsGUpLS9GuXTssWrRIa40MAPj+++/RqVMnLFmyBD///DOUSiWcnZ3Rs2dPeHp6Vnr+8PBwrFu3DgsWLMDy5cthYWGBLl26YPfu3Rg2bJjWvs899xxWrlyJnTt3Ijc3F1ZWVvD29sbHH3+Mt99WvWPXpUsXDBw4ENHR0Thw4IA6x5gxY7Bo0SKdXhYiIjIS5lL1lL5xcXFcM4CalLt377K4NiKNcgpbY1E+hW1KSkqVRQIRkahMYQpbqp65FBjXG/jldQBcmIyanosXLyIkJETsGPQAZ5ciIiJqDORKYPq/j7PyzS1qalhgGBcWGURERKZOAiDAC+j17+KpXNOImpoLFy6IHYE0sMggIiJqDF4brBr4/UBKSoqIYYga3sMzapK4Gs3Ab2MUEREhdgQiImoKLGXApL5ipyASVU2WF6D6x54MIiIiU2YuBSb0BZrZajV36NBBpEBE4nB0dBQ7AmlgkUFERGTK5Epghu76Rbdv3xYhDJF4rl+/LnYE0sDHpYiIiEyVRAJ09AW66a50XL5ALRGRGNiTQUREZKoEQbXCdwWsrKwaOAyRuFq1aiV2BNLAIoOIiMhU2VgC43tXuKltW93eDaLGLDc3V+wIpIFFBhERkSkylwLPhwN21hVujo2NbeBAROLKzs4WOwJpYJFBRERkiuRKYPogsVMQGQ0uQGlcOPCbiKipm9gXZT/uh0zGHwkmpZMf0NGv0s0eHh4NFoXIGHTq1EnsCKRBIgiCIHYIIiISV0xMDDp37ix2DCKiWouNjUVwcLDYMegBPi5FRERcxIqITJ5cLhc7AmlgkUFERHBxcRE7AhFRnfDNEuPCIoOIiJCYmCh2BCKiOuGbJcaFRQYRERERmTy+WWJcWGQQERH8/PzEjkBERI0IiwwiIkJBQYHYEYiI6oRvlhgXFhlERITMzEyxIxAR1QnfLDEuXHmJiAxr8Q4gms/FGp2JfYAh3cROQURUbzIzM+Hl5SV2DHqARQYRGU5+EfDfNRAkEkgkErHTkJoAJKRWWWRwpVwiIjIkrvhNRIaTXwTYTxQ7BVXm3FdA51YVboqLi0NgYGADByIiMhxBEPgGlxHhmAwioqbAXAqs2Ffp5tLS0gYMQ0RkePHx8WJHIA0sMoiImgK5Evj5CJBXVOFmBweHhs1DRGRgfLPEuLDIICJqKopLgQ3HKtzk4eHRwGGIiAyLb5YYFxYZRERNhgRYtgeoYCheQkKCCHmIiAyHb5YYFxYZRERNhSAAF29ximEiapT4ZolxYZFBRNSUmEuB7/fqNPv4+IgQhoiIGisWGURETYlcCWw8DtzTXhm3pKREpEBERIbBN0uMC4sMIqKmplQB/HJEqyk9PV2UKEREhsI3S4wLiwwioiZHAJZWPACciMhU8c0S48Iig4ioqREAJKQCJ/5duCokJES8PERE1OiwyCAiaooeGgB+9epVEcMQEdUd3ywxLiwyTMz+/fsRFBQEa2trSCQSTJ8+XexIRKbPtRmw5jUgcy1QsBE4+QnQvwY/rFq5A1veAe7+AuT9Cuz/P6BLa9397KyAb18EklcCxZuAK0uBt0cAUhH+K5Yrgc1RQFYuAKC4uLjhMxARGRDfLDEu5mIHqItz584hKysLWVlZyMvLg52dHSZMmKCznyAISExMxM2bN5GVlYWCggJYWVnB2dkZoaGhcHNzq/D8iYmJuHDhAu7evQtzc3N4e3uje/fusLe3r+9bq9C9e/fw7LPPwsHBAW+99RaaNWuG7t27i5KFqNGwMAcOzgccbYH/rAYy7gMznwT2/g8YOB84Flf18S4OwPFFwN0CYOpSoLgMePcZ4MiHwCPvqB5LAgAzKfDXfKB9C+B/G4GENODJLsCnkwBvZ+A/q+r5RiugVAJrDwFvjRDt/zUiIkPhmyXGxaSLjOjoaFhaWsLFxQWlpaWV7qdQKHD48GE4OTmhdevWcHBwQGFhIeLj47Ft2zaEh4ejXbt2WsfExsbi5MmTcHd3R8+ePVFcXIyLFy8iLS0NI0eOhK2tbX3fno6oqCjk5eXh3Xffxbvvvtvg1ycySYc/BJIygClLK97+4kAgxBfoORf4+8FCTocvAue/Bj6fDDw6t+rzvz0ccHUAer0H3MpUtZ2IB64tBz4cD4z7StX2bE/g0fbAM58BEadUbQfOq3o3Zj6pWom7vCBpKEpBdd3/Pg0vL6+GvTYRkYHxzRLjYtKPS40bNw7PP/88hgwZAhsbm0r3k0qlGDp0KJ599ll0794dAQEBCA0NxciRI2FpaYm///4bgsYsK8XFxYiOjoaLiwuGDRuGwMBAhIaGYvDgwSgsLMTp06cb4vZ03L59GwDg5ORk8HPfu3fP4OckMgkjewCXk/8tMABAoQTWHwN6tAc8q/l+G9kDOBT7b4EBAHlFwNZTwLBuqh4MAHisg6rnYM857eN3ngbMzFTnEUNSJnA4FpcvXxbn+kREBsI3S4yLSRcZDg4Oeu0nlUrh6emp025jY4MWLVqgqKgIRUVF6vakpCSUlZUhODgYUo1npV1dXdGiRQtcv34dCoWi7jdQAx4eHnjllVcAANOnT4dEIoFEIkFqaiqUSiXefPNNhISEwNHREebm5nB2dsbQoUN1nk9MSkqCRCLB+PHjsXLlSrRt2xYWFhYYPny4ep/t27ejW7dusLW1hUwmg4+PD9555x2UlZU16D0TNYhgH+DCTd328raglpUfa2UBtPEALiRVcHwSYGMJtHZXfW5hruo5KJNr71fy4Puqo29NkxuGuRRYrrsCOBGRqeGbJcbFpB+XMoSCggJIpVJYWFio2zIzVe9Iuru76+zv7u6OtLQ03Lt3D87OzlWeu6SkRKuHpCoymQxmZmaVbv/000+xa9cu/PHHHxg3bhy6du0KAHB0dERpaSl++OEH9O3bF4MGDYKDgwPOnDmD3bt3IyYmBufOnYOrq6vW+aKiorBjxw4888wzmDx5MqysrAAAX331Fd5++220bdsW06ZNg6OjI44cOYIvvvgCV69exZYtW7QKLyKjY/bQv0+JRPXxcLtCqfrT2Q7Iydc9T07eg+1VdL83t1UN2q7w+Px/j7+aBsTdBszNVI9MRWr8IOzdofrr1Ce5Etj+D1oueEac6xMRUaPUpIuMW7duITMzE23btoW5+b9fioKCAgCocNxFeVtBQUG1RcaWLVuQn1/BLx8VCAsLg7+/f6XbX3jhBRQXF+OPP/5Av3791L0agGpge2pqqk7PznfffYf//Oc/+P777zFv3jytbcnJydixYweeeuopdVtaWhreffdd9OzZE4cPH9YqvKZMmYJ169bh4MGDePzxx/W6J6IGFxYEHFlYcfvz4dptfq8ANx884lTVmwH6vFFQ1S7l2349BswbA/w4QzU+5EoK8FQoMHuIartSxIXxlAIsfjsJLGorXgYiojry9vYWOwJpaLJvSd+7dw+HDx+GjY0NevbsqbVNLlc9zlBRz0J5W/k+Venfvz8GDx6s10fLllU8klENiUSiLjDkcjkyMjKQnJyMQYMGAUCFY0g6deqEJ598Uqtt3bp1KCsrw/jx49XnKP949tlnIQgCdu/eXaNsOTk5KCkpUX+en5+PvLw89eelpaXIzs7WOiYtLa3Kz+/cuaPVQ8RrGNc1RHXmGtDtbe2PM9eAHdG67al3Vcdk51fci+D0oK2iXopydwtU4yyc7So4/kFbeY9Idh7w5IMC6NRnwL31wJJpwH/XqNpScmp+v4YiCMh0tlR/aoz/rngNXoPX4DWqu4ZCoWgU9yHWNQxNIhjNbwd1s3nzZpSVlVU4he3DcnNzsWPHDsjlcgwdOlSnR2Lv3r24desWpk6dqtXDAQCXLl1CZGQknnzySfj4+Bj0HqqzYsUKzJgxAytWrNDqyQCAn376CV9++SUSExN1xouEhYXhyJEjAFRjMlq1aoURI0YgIiJCa7+JEydiw4YNVWaYOHEi1q9fX/ebocYpvwiwnyh2Cm3VzS61bx7Q0gUInK3dPmck8OlzgOeLQNrdys9/ZSlw7Q4weJF2+/evAJP7AQ4T/300q5yvK2BrpXqMqmtrIOpTYPJ3wC9HanhzBuLeDDE7Z6Fzt1Bxrk9EZAAxMTHo3Lmz2DHogSb3uFReXh527tyJsrIyDBkypMJHnjQfiWrWrJnWtqoepXpYUVGR3u/wWlhY6BQ0+vr111/x0ksvoXXr1njnnXfQpk0b2NjYQKFQ4LnnnoNSqdQ5pnwMRkXee+89BAcHV7itbVs+TkGNTMQpVUHQvR3wz4OJEsykwKQw1YxTVRUY5ce/PlS11kXyg3eN7KyAZx4F/ozWLTCAfx/TAoA3hwMp2cDmk4a5n5oykwIznkRQJ66US0REhtOkiozyAqO0tBSDBw/WGQxdztXVFfHx8UhPT9cpMtLT0yGTyeDo6Fjt9SIiIgw2JqMqq1evhkwmw/79+9GmTRt1e01nWejQQTUA1dHREePHj69VFiKTs/ogMPMpYPNbwNz1qsX4Xn0S8PdULcan6cB81fgO2eh/277cDjwXBux6H5j3m2q2qLnPAFYyYP4m7eMXTQAu3lQVLj6uwNT+qmlyh3wEFFe+1k+9UgrAiwNw48YNtG/fXpwMREQGEBQUJHYE0tBkiozyAqOkpASDBw+udJVvAPDz88PJkycRGxuLtm3bqmdTyszMRFpaGvz9/aucCapc//799Rq7AdRt7YvyLJqPSQmCgLfffrtG53n++efx4YcfYtmyZZg0aRJatGihtf3u3buQSqU6hReRSSuVAwP+T7Xw3pJpgI0FEJMEPLVId7VvM6lqhihNWblAn/eBL18A1s1SbY+6AvSbpxrcram5HfDZZMDDEcgtBI7GAT3mALG36vEGq2AmBQaHAt4uKIxJFicDEZGB8M0S42LSRUZCQoK6p6C4uBgKhQJnz54FoHr8qPyRn9LSUuzcuRN5eXkICgrC/fv3cf/+fa1zeXl5qRf0s7KywiOPPKKe5rVdu3bqFb+tra3RrVs3vfJ5eHgY6larNG7cOPz111946qmn8OyzzwJQjSvRHACkj5YtW+LLL7/E66+/juDgYAwbNgytW7dGdnY24uLicOzYMezevRsDBgyoj9sgqh/h86rfJ+M+8MKS2p/rerpqJe/qzPwRmFn9bg1GoVT12kC/R0CJiIxZYWGh2BFIg0kXGVeuXNEZGV8+k5KdnZ26yCgpKVH/wn3p0iVcunRJ51xDhw7VWjU8JCQEVlZWuHDhAqKiomBubg4vLy90797d6H4YT506FTk5Ofj222/x9ddfw9bWFj179sTSpUtrPIZi9uzZ6NChAxYuXIiIiAgUFBTA3t4eXl5emD59Ojp16lRPd0FEDc7bGRjUGQDg6yvSYoBERAZibL+fNXWNZnYpIjICxji7FFVMKlGNEXl3FADOykJEpq+0tFRrjS8SV5NdJ4OIqEmTSICpfPSRiBqPuLi46neiBmPSj0sREVEtmEuBET0Ad0d1k6enp3h5iIio0WFPBhFRUyNXAjOe1GqSSCQihSEiMgy+WWJcWGQQETU1rd2BcO0FN1NSUirZmYjINPDNEuPCIoOIqCmRSlSLD/KHMRE1MnyzxLiwyCAiakrMpMDz4TrNHTp0ECEMERE1ViwyiIiaCnMpMKYX4Gyvs+n27dsiBCIiMhy+WWJcWGQQETUVFQz4Lpefn9/AYYiIDItvlhgXTmFLRNQUSAD4ewG9AircbGVl1bB5iIgMjG+WGBf2ZBARNRWvDa50wHfbtm0bOAwRkWHxzRLjwiKDiKgpsJQBk/pWujk2NrYBwxARGR7fLDEuLDKIyHBk5kBzO7FTUEUm9AWa2Yqdgoio3vDNEuPCMRlEZDiWMuDiYiT8dRLt27cTOw1pateiys0eHh4NFISIiJoCiSAIgtghiKhxSUpKgp+fn9gxiIioCblz5w7fMDEifFyKiAzOxcVF7AhERNTEyGQysSOQBhYZRGRwiYmJYkcgIqImhutkGBcWGUREREREZFAck0FEBnfv3j04OjqKHYOIiJqQoqIiWFtbix2DHmBPBhEZXEFBgdgRiIioiUlLSxM7AmlgkUFEBpeZmSl2BCIiamJyc3PFjkAauE4GkTGKTwZupIudonJ9AgF7dkkTEZHxsLS0FDsCaeCYDCJjczcf8JoGFJWKnaRy30wF/jO00s2CIEAikTRgICIiauqUSiWkUj6kYyz4ShAZm+JS4y4wAGDpbqCK9yfi4+MbMAwRERFw4cIFsSOQBhYZRFRziXeAY3GVbi4tNfIiiYiIiOoViwwiqjlzKfD93ko3Ozg4NGAYIiIiwM3NTewIpIFFBhHVnFwJbIkCMu5VuNnDw6Nh8xARUZPHNTKMC4sMIqodpQCsPVzhpoSEhAYOQ0RETd3NmzfFjkAaWGQQUe0oBWDZHkCpFDsJERERGRkWGURUe7eygAO6s3n4+PiIEIaIiJqydu3aiR2BNLDIIKLaq2QAeElJiQhhiIioKcvMzBQ7AmlgkUFEtSdXAn9GA6k5Ws3p6Ua8WjkRETVK9+7dEzsCaWCRQUR1t+qA2AmIiKiJk8lkYkcgDRJBqGLZXiJqeGk5gOc0sVPUTIvmwO0fATMzAIBCoYDZg78TERFR08OeDCKqu7S7wJ5z6k+vXr0qYhgiImqKzp8/L3YE0sAig4jqzkwKLN+j/rS4uLh+rpNxD3hhCeDyPGAzDug5FzioO7tVpa7fAZ75DHCcBNhNAB6fD5y9VvUx6fcA58mA5Bngj5N1CE9ERPWJD+cYFxYZRFR3CiWw9xxwMwMAYG9vb/hrlJQBA+ariopvpwLb5wLujsCTC4Gjl6o/PvM+0OcDICEVWP0a8PubQHEZ0G8ecCWl8uNm/ghYWRjqLoiIqJ64uLiIHYE0mIsdQAznzp1DVlYWsrKykJeXBzs7O0yYMEGvYy9duoTIyEgAwKRJk2BjY1OfUYlMh1QK/HQAWDgBXl5eNT++3/8APzdg7ayKt686AMTeAk5+AvT0V7WFhwCd/gu88zNw6rOqz//FdiAzFzj5MeDrpmrr3QFo8yowbyOw6S3dY7ZEAftigGUvAc8vqfk9ERFRg6mXN7io1ppkT0Z0dDRSU1Ph4OAAS0tLvY8rKCjAP//8w9kLiCqiUAIr9gFlcly+fNnw5484Bfh7/VtgAIC5GTCpL/DPVSAlu/rj+wf/W2AAgIMN8EwPYMdpQK7Q3j8nD5i5EvhoIuDjarj7ICKienHjxg2xI5CGJllkjBs3Ds8//zyGDBlSo56IyMhIODg4wNfXtx7TEZmwrDzVuhn1IfYW0LGC773ytku3Kz+2qAS4dgfo6FfB8X5AUSlw/aG1PWavAlq5Aa89VdvERERETVaTLDIcHBxqfExSUhJu3ryJPn36QCoV98t2+fJlTJ48GX5+frC2toalpSX8/Pwwa9YspKam6ux/6dIlhIeHw9raGjY2NggNDcXvv/8OHx8f+Pv74/Tp01r7//XXX3jsscdga2sLmUyGli1b4tVXX63w3ERazKTAsj3w9vauej9BUPUcaH4IQsXt5bLzASc73XM5Pegez86r/Hp3C1TnrvB4O93jd50Gfj8JrJyhegyMiIiMXps2bcSOQBqa5JiMmiotLUVkZCQCAgLg5uaGuLi4Gh2vUChQVlam174SiaTaR7iOHDmCEydOoEePHmjbti3kcjl2796NpUuXIiUlBcuWLUOLFi0AANeuXUOvXr1QVFSEQYMGITg4GOfOncPMmTNRWloKa2trrXP/+OOPmD59Olq1aoWJEyfC3d0dJ0+exPfff49r167hhx9+gJ+fX43un5oQhRI4HAskpgFVDcA7egkIn6fbfiwO+PmIdtuNFaqxGgAgkVR+zqq2qffRY9v9AuCVFcCcEUAwey2JiEzF3bt3OS7DiPAtOj38888/UCqV6N69e62OT0xMxM8//6zXx5YtW6o93+TJk3HlyhVs2rQJH330ET777DOcP38effr0wd69e7V6Jt577z3k5ubijTfewObNm/Hpp59i3759mDhxInJzc7XOm5aWhlmzZqFbt27YsWMHfvzxRyxcuBAHDx7ErFmzcODAAWzbtq1GU8Tl5OSgpKRE/Xl+fj7y8v59x7i0tBTZ2drP0qelpVX5+Z07d7QyNNZrmLK7sf9OC1vh18qvORD9ufoja887QGhrYGi3fz8v3+7ZXPW1crZT9zZofa1yVG2FVlLta2i+Hs1tIUgkqt6QB9SvR46qLVNRrHo93t8AyMxxd2JPlKTnAPcKgHzVlLxF2fdVnwuCyf674jV4DV6D12is18jJyWkU9yHWNQytya/4vXnzZpSVlVU6u1R6ejr+/PNP9OvXD+3atQOg6klISEjQe3apwsJC5OTk6JXH3NwcHh4eeucvLi7GvXv3IJfLsXr1avzf//0fFi5ciA8++AAKhQIODg5wcXHBb7/9hp49e2rdl4eHB9q3b49ff/0V3bp1w5IlSzB79my88cYbeP3117UeC7tw4QKGDBmCiRMnYunSpXB0dNQ7I9WQKa74ram1O2L+eBmdu3Sp2XHVzS41aAFwOwuIf2iWp0+3Au+uB1J+AjydKj9/+5lAGw9gz/+026evUPWe5P6qGkje73/VT4l79xfA0bbaWyIiooZz8eJFhISEiB2DHuDjUlVQKpU4duwYPD091QVGbdjY2Bh0qtv8/Hy8++672LRpEzIzM3W237t3DwCQmZmJwsJCuLu76xQF7u7uaNasmVZbfHw8AGDx4sVYvHhxhdfOy8tDUVERiwyqmEQCzHwKQcHBhj/3yB7Aqz8CpxKAHu1VbXIFsP4o0KNd1QVG+fHf7FQVKi0fPMqVVwRs/Rt4+hFVgQEA30xV9VZoirkBvLEGmD8WCAsC7KwMe29ERFRnLDCMC4uMKly6dAn37t1Dz549tbqgysdX5OfnQ6FQVPv8n1wuR2lpqV7XlEgkOuMkHjZ27Fjs2bMHYWFhGDBgALy8vGBlZYVDhw7hp59+UnenVddJ9fD28s9ffPFFDBgwoMJjfHx84ORUzS9z1HSZS4Hnw3Hjxg20b9/esOeeOgBYtgcY/SXw6STArRmwfC9wJRU4MF973wH/p+qNkP/xb9tbw4FfjgJDPgI+HAdYylS9IMVlquKhXOdWlWcIagn0q4cCioiI6ow9GcaFRUYV8vLyIAgCdu/eXeH2bdu2wczMDC+++GKV57l27RqOHj2q1zWrWxjw3r172LNnD3r06IEVK1bA3//fNQPOnz+vta+bmxtsbGxw584dde9GufT0dOTm5mo9mlX+S6GlpSVGjRoFCwuuckw1YC4Fxj4GONuj8Pa16vevKUsZcHCBauG9WT8BhaVAZz9gzweq3gVNCqXqQ5NrM+D4R8Bba1UL68kVqjU3jnwIBFQzGxYRERk9hUJR/U7UYFhkVCEgIACenp467bGxsUhNTUVYWBisrKp/bKJly5YYPHiwXtc0N6/6JTEzM1P/XbMnIi0tDT/++KPOvkOGDMHmzZuxbds2dO7cWd1L8sknn+ice/To0Zg7dy527tyJkSNHYsCAAZBozNhz//59KJVKNG/eXK97oSZGrgSmPwEAsLWtxXiFIwur38fdEVg3u/bnauMBRMytUSwAqt4LYWvNjyMiogbDJy2MS5MsMhISEpCfr5pRpri4GAqFAmfPngUAWFhYIPjB8+ROTk4V/oNNSkoCoCoe9BlrYcgxGfb29hg4cCAOHDiA6dOno3fv3sjOzsZvv/0GR0dH3L17V2v/jz76CHv37sXixYtx6dIlhISE4OzZszh37px6vZDyQsLb2xsrVqzAtGnTMHbsWAwYMAABAQHIy8tDfHw8jhw5gs8//xyzZ+vxSx41LRKoVuPuFQAAXLCSiIgaHN8ENS5Nssi4cuWKzrRd5dO+2tnZqYsMY7Vhwwa8/vrr2LNnDyIjI+Hu7o6JEyeibdu2eOONN7T2bdeuHSIjI/Haa6/hwIEDOHToEAIDA9XFhIWFhVbvyJQpU9C+fXvMnz8f+/fvx9atW2FnZwdPT09MnjwZAwcObOjbJVPx2mD1WhVxcXHo3LmzuHmIiKhJuXbtGn/2GJEmP4VtU5WVlQVXV1f07dsXq1atQtu2bcWOROVMcQpbKxlwZzXQTPWYVExMDP+jJyKiBsWfPcaFi/E1Afn5+VAqtQfBLlq0CAAQFBRU4bgTIr2ZS4EJfdUFBgD+myIiogbXqlUVswNSg2uSj0s1NV26dIGfnx+6dOkCiUSCEydO4OTJk2jXrh2ee+45g67hQU2QXAnMeEKrSXPCACIiooaQl5enswYYiYdFRhMwbNgwbNmyBSdOnIBcLoeTkxNGjhyJ999/H127dhU7HpkyiQTo6At0037cLiUlBa6uriKFIiKipigrKwve3pyS3FiwyGgCvv76a3z99ddix6DGSBCA154SOwURERF70Y0MB34TGRtTGvhtYwmkrwbstFepLykpgaWlpUihiIiISGwc+E1EtWMuBZ4P1ykwAOD27dsiBCIioqbs0qVLYkcgDSwyiKh25Epg+qAKN5UvdklERNRQysrKxI5AGjgmg4hqTipRDfbu6FfhZisrq4bNQ0RETZ6jo6PYEUgDezKIqOaUAjDzyUo3c3FHIiJqaJzV0LiwyCCimnOwBkb3qnRzbGxsA4YhIiICrl69KnYE0sDHpYiMzYMp+AQzCSRSI3wfQKEEpg4ArDl7FBEREVWMRQaRsfFoDix/GdmHz8LFxVnsNBWbWfXaGB4eHg0UhIiISMXX11fsCKSB62QQGamkpCT4+fmJHYOIiMgkpKamwtPTU+wY9IARPotBRADg4uIidgQiIiKTkZGRIXYE0sAig8hIJSYmih2BiIiIqFZYZBARERGRyevYsaPYEUgDiwwiI8XxGERERPq7cuWK2BFIA4sMIiNVUFAgdgQiIiKTUVJSInYE0sAig8hIZWZmih2BiIjIZDg4OIgdgTSwyCAiIiIik9eiRQuxI5AGrpNBZKQEQYDkwerfmrIKBXRYo0CJQvX5O49I8EFPswZOR0REZFxiYmLQuXNnsWPQA+zJIDJS8fHxFbavvSQgpwjIK1V97LzO9wmIiIjIuLDIIDJSpaWlOm1KQcCyc0ooRchDRERkzFq2bCl2BNLAIoPISFU0gO3wLQFJuSKEISIiMnJlZWViRyANLDKIjJSHh4dO2/IYJcx1h2kQERE1eXfu3BE7AmlgkUFkpBISErQ+T8sXsD0RkHMIBhERERk5FhlEJmJ1rADWF0RERBULDg4WOwJpYJFBZKR8fHzUf1coBXwfo4SSVQYREVGFEhMTxY5AGlhkEBmpkpIS9d/3JQlIyRcxDBERkZErLi4WOwJpYJFBZKTS09PVf18eo4QZB3wTERFVys7OTuwIpMFc7ABEVLXbuQJ2XwfHYxAREVWB62QYF/ZkEBmpkJAQAMBPF5WQsheDiIioSvHx8WJHIA0sMoiM1NWrV1GmEPB9jAAFuzGIiIjIhLDIIDJSxcXF2HldQGaR2EmIiIiMn5eXl9gRSAPHZBgpiUSCPn364NixY2JHaVTySwV8cEKJ368IyCkGApyAuT2kGBegX72dUSDgnWNK7LwuoLAM6OQKLOotxQBf7eN3XlNd41yGgMs5gFwJCG/V7NvN3t4ey8+qBnyzJ4OIiKhqgsAflsbE6IqMc+fOISsrC1lZWcjLy4OdnR0mTJggdqwmIzc3FwsWLEBERATS09OhUCjg4OCA1q1bY+DAgViwYAHMzMzEjllrz2xXIvqOgE/7StG+ObAhXsD4nar1JyZ0qLrQKJELGLBZgXslwLfhUrjZAMtiBDy5RYkDoyUIa/nvwImIqwL+ThPQxU0CSzMBZ9KrOHElSu28cOBmzY8jIiJqilJTU+Hm5iZ2DHrA6IqM6OhoWFpawsXFBaWlpWLHaVLy8vIQHByMlJQU9O7dG6NHj4a1tTWuX7+OyMhIrFmzBh988IHJFhm7ryvx100BG4ZIMf5BQRHuA9zMVeDto0qM9ZfArIoR1qsuCojNAk5OMENPT8mD4wV0WqfAO0cVODXp32+nlU9IIZWo9nntgAJn0mv+7srnx+7CTOLKXgwiIiIyOUZXZIwbNw4ODg4AgM2bN6OsrEzkRE3HN998g9u3b+PVV1/FsmXLdLZfvXoVFhYWIiQzjIirAuxkwGh/7UJiSrAEE3YJOJUG9Kricc6IRAH+TlAXGABgLpVgUqAU7x1XIiVPgJe9alt5gVFbpQoBW1Oas8AgIiLSU2BgoNgRSIPRDfwuLzCMTXJyMkaPHg0XFxeYm5ujefPmeOqpp3SmS3vzzTchkUiwa9cuPPfcc2jevDksLS0REhKCQ4cOAQDWrVuHtm3bwsLCAi4uLnjrrbegUCgqvO727dvRoUMHWFpaolmzZhg+fDhSUlLq5R7j4uIAAAMHDqxwe7t27SCVGt0/Gb3FZgno4KwqDDR1dJWot1d3fEcX3eKho4vqz0vZhqsIIq4KyJUb3XsARERERuvmTT5jbEwa5W8xJSUleg/+kclk1T7+k5SUhK5du6K0tBTDhg2Dv78/kpKSsGnTJvTr1w8nT55EmzZttI75z3/+AysrK7z88su4f/8+1q5di9GjR+P999/HwoULMWrUKLi7u2PTpk346quv4O/vj5deeknrHDdu3MDYsWMxePBgPPvss4iMjMSff/6JhIQE/PPPP7C3t6/ZF6Ya7dq1A6AqggYNGgRbW1uDnl9s2cVA62a6RYKT1b/bqzy+CHCy1m13spaotxvKsnNKSCFACS6QQUREpI+CggKxI5CGRllkbNmyBfn5+XrtGxYWBn9//yr3eeGFF1BaWoqDBw+ie/fu6vaXX34ZvXv3xgcffICNGzdqHePo6IjIyEhYWloCAFq1aoW5c+fi/fffx6FDh9CzZ08AwOuvvw4vLy+sWrVKp8hITk7GJ598grlz56rbpkyZgrVr1+Lzzz/HwoUL9bpHfb3xxhtYsWIFtm/fDk9PTwQHByM0NBT9+vXDsGHDjOpRqSO3lAj/XanXvucmm6Gzm+qX9ap+Zdfn1/kqjzdQPXC/RMDxFH0TEREREQDY2NiIHYE0mO6zL1Xo378/Bg8erNdHdUvQ37t3D8ePH0fXrl3h6emJ5ORk9UfLli3h5eWFf/75B3K5XOu4KVOmqAsMABg0aBAAoGvXruoCAwBcXV3h6+uLtLQ0nYHu7u7umD17tlbbxx9/DADYu3dvzb8w1WjevDkuXryIqVOnwsbGBidPnsTSpUvx7LPPwsvLCytWrKjxOXNyclBSUqL+PD8/H3l5eerPS0tLkZ2drXVMWlpalZ/fuXMH7ZsDKwdJsXKQFN88VoTl/ZXqz5eElWFJ31L15x5WZcjOzoazFZBdLOicM+dBD0Z5j0b5NTR7w3JycuBsJah7KzTvI6dItZ956b/3pe99PHyNkpISNLOU4DFPQIqaP36l7zXKGer14DV4DV6D1+A1eA2xr9GqVatGcR9iXcPQJIIRTypcPvBbzCls//nnH/To0aPKfVxcXHDjxg3Y2dnhzTffxNdff419+/apCwtA9chVq1atMGbMGGzatEnr+K5du+LmzZu4ceOG+hEoiUSC0NBQnDlzRud69vb2aN68ORITE+u1dyEtLQ2HDx/Gr7/+ij179kAmk2H37t0YMGBAvV2zPr28X4GN8QLuzjLTGpfx22Ulxu9UInK8GXp5Vd57MGizArfzBMRP1e4A/PSUEu8eVyJluhk87XSPf+2AAstihBqtk7ExXokJu/TrqenRAvh7YqPslCQiItJbTEwMOnfuLHYMeqBR/mZSVFSk95gMCwsLmJtX/mUoP89jjz2GmTNnVriPlZUVrKystNoqG+dRk4HTkkqev2mourBFixaYMGECJkyYgNdeew3Lli3D2rVrTbbIGNlWgpUXBGxJEDA24N+v7bpYAZ52ql/Wqzy+nQSvHhBwKk1Ajxaq4+VKAevjlOjRAhUWGLX1TDsJHGQK5JaZ5nTBRERE1LQ1yiIjIiLCYGMy2rZtC4lEgpKSEowbN67SX/zrQ3JyMgoLC7WeMUxLS0NBQQE6dOjQoGMk+vfvj2XLliE9vRaryhmJp1pL8bivgBkHlMgtBdo6AhsvC9ibJGD9YKnWGhkv7lVg3SUB16aZwffBYPGpwRIsOweM/lOBT/uqFuNbHiPgyl3gwGjtYuDmfQHRd1TF4LV7qrY/rqh6JvyaSdDNo+p/R5bmEoz0zMH6W1wng4iISB8tWlTzbiE1qEZZZPTv319njERlnJycqtzu7OyM3r17IzIyEuvWrcMLL7ygtV0QBNy6dQu+vr61jVup9PR0fPfdd1oDv9977z0AwJNPPmnw6/31119o3759hfdSPrC9fAYqU7V1uBTvn1BiXqQSOcVAgBOwcagU4wK0e5gUgupD8/d7S3MJDo4xwztHlZh1UIlCOdDZFdgzSqq12jcAHL4tYMpe7cedRu9Qff58kARrn6q+h2JS22Ks42x8REREejHVxYIbK6MrMhISEtS9EMXFxVAoFDh79iwA1aNNwcHB1Z7Dw8PDoJl++eUXPPLII5g2bRo2btyI0NBQSKVSXL9+HYcPH0Z4eLjO7FKG4O3tjfnz5yM6OhqBgYGIjIzE4cOHERAQgHfeecfg1/vll1+wadMmdOvWDY888gjc3NyQk5ODgwcPIiYmBp6enpgzZ47Br9uQ7Cwk+La/Gb7tX/V+a58yw9qndNvdbSVYN7j6/8ReCJbiheC6zavQN8gL/ROAo8lgbwYREVE1kpOT4eLiInYMesDoiowrV67ojHY/ffo0AMDOzk6vIsPQfH19ERsbizlz5mDfvn04dOgQZDIZXFxc0KtXL52pZw2lVatWWLp0KebMmYMdO3bA2toaTz/9NJYtW2bwNTIAYPbs2bCyssKJEyewbt065OXlwdzcHB4eHnjhhRfw4YcfVjsbFxlOXFwcZnbpiEO39RsATkRERGQsjHp2KaKmLCYmBkEhneC5QoGsKhb64+xSREREqidgHp6Ih8TTKNfJIGoMPD09ITOTYHonCcy4Lh8REVGVUlJSxI5AGvj2pwkrLS1FcnJylfsolUoolcoqp+kFVAv/2draGjIe1VH5TGYvdZTio78VIqchIiIybpqL0ZH4WGSYsJMnTyI8PNwg51qxYgVeeeUVg5yLDCMlJQWurq7wcZDgqVbAviQOACciIqoMH5UyLiwyTFinTp2wYcOGKvcpKSmBmZlZtT0ZvXr1MmQ0MrAZnaXYfYMDwImIiCpj6tPsNzYc+E1kpEpKSmBpaQkAUCgFtPxBgbQC3f048JuIiEg1YUrnzp3FjkEPcOA3kZG6ffu2+u9mUgle7SyFlAPAiYiIyASwyCAyUuWLUpZ7MYQVBhERUWXc3d3FjkAaWGQQGamHB7C1sJPg6TbgdLZEREQVKH/EmIwDiwwiI9W2bVudtlc7SznDFBERUQVu3boldgTSwCKDyEjFxsbqtA3wlcDXQYQwRERERDXAIoPIhEglHABORERUkfbt24sdgTSwyCAyUh4eHhW2TwmWwMECsDFXfTzVihUHERHRnTt3xI5AGji5PpGRqqzIcLWR4O4sfusSERFpys3NFTsCaWBPBhERERGZPAsLC7EjkAau+E1EREREJk8QBEgkfITYWLAng4iIiIhM3vnz58WOQBpYZBARERERkUGxyCAiIiIik+fq6ip2BNLAIoOIiIiITJ6tra3YEUgDiwwiIiIiMnlJSUliRyANLDKITEVeEfDpVrFTEBEREVWLRQaRqXjnZ+Dd9UAWFxsiIiJ6WNu2bcWOQBpYZBCZCjsr1Z/H48TNQUREZISysrLEjkAaWGQQmYqWLqo/j7HIICIieti9e/fEjkAaWGQQmZqDF8VOQEREZHTMzc3FjkAaWGQQmZrYW8D9ArFTEBERGZXg4GCxI5AGFhlEpkYQgMjLYqcgIiIyKufPnxc7AmlgkUFkSqQSwNyM4zKIiIgeIgiC2BFIA4sMIlMjVwAHL4idgoiIyKg4OzuLHYE0sMggMkXnbgAFxWKnICIiMhoODg5iRyANLDKITJFCCfydIHYKIiIio3Hjxg2xI5AGFhlEpshcChy9JHYKIiIiogqxyCAyRXIlcDhW7BRERERGo3Xr1mJHIA0sMohM1akEoKRM7BRERERGgSt+GxcWGUSmqkwB/HO1fq+RcQ94YQng8jxgMw7oOZczWxERkVHKyckROwJpYJFhApKSkiCRSDB+/Pgq26iJMZPW73oZJWXAgPmqouLbqcD2uYC7I/DkQo4HISIioyOV8tdaY2IudoCGdO7cOWRlZSErKwt5eXmws7PDhAkTxI5FVDtKQTUu4/1na3d8v/8Bfm7A2lkVb191AIi9BZz8BOjpr2oLDwE6/Rd452fg1Ge1uy4REVE96Nixo9gRSEOTKjKio6NhaWkJFxcXlJaWih1Hb76+vsjPz4e5eZN6uag6ggBEXgbK5ICsHv5tRJwC/L3+LTAA1Wrjk/oC7/0KpGQDXlz4iIiIjMPFixcREhIidgx6oEn91jpu3Dj1Qi2bN29GWZlpDJqVSCSwtbUVOwYZo+JS1cJ83dsZ/tyxt4A+gbrtHX1Vf166zSKDiIiMhkKhEDsCaWhSD68Z40qQN27cwPDhw+Hq6gqZTAY7Ozu0adMGc+bMUe9T3fiLH3/8Ea1atYJMJoOzszMmT56M+/fv1/g6R44cgUQiwdy5c7Fw4UJ4enpCJpPBw8MD//nPf0ymKGtSpBLgmB7jIwQBkCu0PwSh4vZy2fmAk53uuZzsH2zPM8w9EBERGUDz5s3FjkAamlRPhiGUlJRAEAS99pXJZDAzM6t0u1wuR1hYGDIyMjBixAgEBQUhPz8fcXFxiIqK0usap06dwvbt2zFq1Ci0bNkS+/fvxy+//IKkpCQcPHgQMpmsxtf5/fffcffuXYwaNQrOzs7Yvn07vvvuO6Snp2Pjxo2QSCR6ZaMGcuQS8NaIqvc5egkIn6fbfiwO+PmIdtuNFaqxGgBQ1WvNfwdERGREnJ3Zu25MmlRPhiFs2bIFP//8s14fiYmJVZ4rLi4Ot2/fxsSJE/Hbb7/hf//7Hz777DPs2LEDx44d0ytPUlIS1qxZg19++QUff/wxoqOjER4ejuPHj+OXX36p1XVSU1Oxe/du/PTTT/jss89w4cIFdOjQAZs3b8bRo0dr9PXKyclBSUmJ+vP8/Hzk5f37DnhpaSmys7O1jklLS6vy8zt37mgVek3lGnK5HA+Xt4JEotXbUOk1urYBoj/H/QMfoDRyERD9ORDaGvInO6PgyHzV59Gfo+zkR8i2fHAVZzsgO0/nnDmJt1R/eXBdY/xa8Rq8Bq/Ba/AaTe8aiYmJjeI+xLqGoUkEfd+Wb2TKx2TUdHapO3fuQC6X67Wvk5MTbGxsKt1+8+ZN+Pn5oWPHjti0aRMCAgIq3C8pKQmtWrXCuHHjsHHjRq224OBgxMTEaPWYnDhxAn369MHTTz+N7du3632dI0eOIDw8HAMHDsRff/2ltW3t2rWYMmUKZs6ciaVLl+p1/2Rg3+0C3litmlVK08oZwLTHa36+6maXGrQAuJ0FxC/Rbv90K/DueiDlJ8DTqebXJSIiqgcxMTHo3Lmz2DHoAfZk1JCHhwe8vb31+qiqwABUs0bNnj0bFy9eRGBgoLqQ2Lp1q96PZPn6+uo8klU+s0JycnKtrtO2bVudti5dugBQFTdkZPoG1c95R/YALqeoVhYvJ1cA648CPdqxwCAiIqPi5+cndgTSwCKjhoqKilBYWKjXhz49Ht9++y3i4uIwb948tG7dGrt27cKoUaMwbNgwvY6vanyE5raaXKeic5YXIxyPYWRc7IF2Lern3FMHAEEtgdFfAhuOAQfOA2O+BK6kAp9Nrp9rEhER1VJ+fr7YEUgDB37XUEREhN7/iMPCwuDv71/tfgEBAZg/fz4A1cDy8PBw7Nq1C0ePHsWAAQOqPDYpKQkKhUKrN+PixYsAAC8vr1pd5+rVqzrXiYmJAaDqFSEjYSYFwoPrbwC2pQw4uEC18N6sn4DCUqCzH7DnAyCsnnpPiIiIaikrKwve3t5ix6AHWGTUUP/+/Ws0JqMqd+/eVU8nW87S0hJBQUGIiopCZmZmtde4dOkS/vjjD4wdOxaAqsdh3jzVLELDhw+v1XWOHz+OqKgo9OzZE4Bq8NDnn38OqVSKZ5+t5erSZHhKAQgLrv3xRxZWv4+7I7Budu2vQURERE1SkyoyEhIS1L0QxcXFUCgUOHv2LADAwsICwcHV/8Lm4eFhsDwHDhzAiy++iLCwMLRv3x6Ojo64ePEitm7dCm9vbzzxxBPVnsPX1xdTpkzBzp074ePjg3379uHMmTPo06cPnnvuuVpdx9PTE4MHD8azzz4LZ2dnbNu2DVeuXMHYsWMRFhZmsPunOhIEIKyCxfKIiIiaIA76Ni5Nqsi4cuWKznRdp0+fBgDY2dnpVWQYUpcuXTBw4EBER0fjwIEDUCqVcHZ2xpgxY7Bo0SK9FpV59NFHER4ejk8++QTJycmwt7fHpEmTsHTpUshkslpdZ8yYMbCxscGKFSuQmZkJZ2dnzJ49G1988QXHZBgTBxsgsKXYKYiIiIzCpUuXEBTEx3mNRZOdwpZ0lU9hO2fOHHz66adix6GHaU5hK5UCQ0KBP98TOxUREZFR4BS2xoWzSxGZJAEIDxE7BBERkdFo1qyZ2BFIA4sMIlOkFIC+HI9BRERUzt3dXewIpIFFBpEpsrEEOvmJnYKIiMhoJCQkVL8TNZgmNfCbqtavXz+9VxonEUkkQJ8OgLlZ9fsSERERiYA9GUSmRAAglQD9GnYmNCIiImPn4+MjdgTSwJ4MIlMiCICC4zGIiIgeVlxcLHYE0sCeDCJTY2kOdGsjdgoiIiKjkpGRIXYE0sAig8jUPOoPWMjETkFERERUKRYZRKZCqVT9Gc7xGERERA8LCeH6UcaERQaRqYi9pfozLEjcHEREREaIU9gaFxYZRKaig7fqzx7txM1BRERkhEpKSsSOQBo4uxSRqfjv00BPf8DaUuwkRERERsfe3l7sCKRBInD1NSIiIiIyccXFxbCyshI7Bj3Ax6WIiIiIyORdvnxZ7AikgUUGEREREREZFIsMIiIiIjJ53t7eYkcgDSwyiIiIiMjkyeVysSOQBhYZRERERGTy7ty5I3YE0sAig4iIiIiIDIpT2BIZs6ISIOM+4OsmdhIiIiKjJpfLYW7OJeCMBXsyiIzZqM+BZz4XOwUREZHRu3btmtgRSAPLPSJjtuec2AmIiIhMQlFRkdgRSAN7MohMQWmZ2AmIiIiMmq2trdgRSAOLDCJjZm6m+vNqmrg5iIiIjJyPj4/YEUgDiwwiYxbgpfrz0m1xcxARERm5+Ph4sSOQBhYZRMbM2V71J4sMIiIiMiEsMohMQewtsRMQEREZNU9PT7EjkAYWGUSm4PwNsRMQERER6Y1FBpEpuJEBlHCGKSIiosqkpqaKHYE0sMggMgVKAUjgf55ERERkGlhkEJkKDv4mIiKqVIcOHcSOQBpYZBCZAnMzII5FBhERUWVu3eIkKcaERQaRKVAqOcMUERFRFQoKCsSOQBpYZBCZAqUAnE+q32tk3ANeWAK4PA/YjAN6zgUOXqjfaxIRERmItbW12BFIA4sM0iKRSNC3b1+xY1BFkupxhqmSMmDAfFVR8e1UYPtcwN0ReHIhcPRS/VyTiIjIgNq0aSN2BNJgLnaA+nLv3j0kJiYiOTkZubm5UCgUcHBwQKtWrRASEgKZTCZ2RKKaUQrAlRSgo1/Nj+33P8DPDVg7q+Ltqw6oHsc6+QnQ01/VFh4CdPov8M7PwKnPah2biIioIcTGxqJz585ix6AHGm1PxpUrV3DhwgXY29sjNDQUPXr0QLNmzXD69Gls374dcrlc7IhENVdfM0xFnAL8vf4tMADVYPNJfYF/rgIp2fVzXSIiImqUGm1PRuvWrdG5c2dYWlqq2wIDAxEdHY1z587hypUrCAoKEjFhw7h79y6aN28udgwyBHOz+isyYm8BfQJ12zv6qv68dBvwcq6faxMRERmAh4eH2BFIQ6PtyXB1ddUqMMq1bt0aAJCTk9PQkQAAI0eOhEQiwfnz5zFkyBDY29vD0tISwcHB2LZtm87+H330Ebp27QonJyeYm5vD0dER4eHhOHXqlM6+5eMp/vzzTwQHB8PKygqPPvqoevvJkycRHh6OZs2aQSaTwdnZGWFhYThx4oTOufbv34+QkBBYWlrC3t4eTzzxBJKTkw36taAaUiiB2JvV7ycIgFyh/SEIFbeXy84HnOx0z+Vk/2B7nmHugYiIqJ6Ymzfa985NUpN7NcqnN9N3BoKSkhIIgqDXvjKZDGZmZnrt+8wzz8DW1havvvoqsrOzsWHDBowbNw6bNm3C8OHD1fstW7YMAQEBmDx5MpycnBAfH4+IiAg88cQTiIyM1OmNuX79OsaOHYshQ4Zg9OjRKCtTDRT+/fffMXHiRFhaWmLYsGHw9/dHRkYGjh49iqioKPTu3Vt9jps3b2LUqFEYPHgwRo0ahZMnT2L//v144YUXsH//fkiljbY2NW6CnjNMHb0EhM/TbT8WB/x8RLvtxgrVWA0AkEgqP2dV24iIiIxAcnIyXFxcxI5B5YQmRKFQCBEREcKPP/4o3L17V69jfv31V+GHH37Q6+Py5cvVnm/EiBECAKFbt25CcXGxuj0qKkqQSCRCYGCgUFpaqm6vKOfOnTsFAMKUKVO02gEIAITly5drtRcUFAgODg6Cvb29cPr0aZ3zyeVyrXNIJBJh3bp1Wvv07t1bkEqlQnx8fLX3qCk7O1vrPvPy8oTc3Fz15yUlJUJWVpbWMampqVV+npaWJiiVyiZxjbLe7woCRqo/FM0mVH+N3EJBiL4qCNFXhcw9fwvKfxIEIfRNQRj6kXDvwBmhJPKSente9l3VfXhMEYTRX+jex85o1bX3nTP6rxWvwWvwGrwGr9G0r3Hu3LlGcR9iXcPQJIKg59v0jcCJEycQFxeHbt26ITQ0VK9j7ty5o/cgcScnJ9jY2FS5z8iRI7Ft2zasW7cOkydP1trWs2dPnDp1ChcuXEBwcLDWNqVSiZycHBQXFwMAAgICEBAQgNOnT6v3kUgkaNmyJRITE2FhYaFu37RpE8aNG4fnn38ea9eurTKfRCJBmzZtcPnyZa1uxwULFmD+/PnYunUrRo4cWeU5yID6/U97Ctme/qoZoGpznqpmlxq0ALidBcQv0W7/dCvw7nog5SfA06nm1yUiImogxcXFsLKyEjsGPdBkHpeKjo5GXFwcAgIC0KVLF72Pq69BRBVNsRYYGIi///4bly9fVhcZO3bswAcffID4+Hj1o0/l8vPzK8yrWWAAwKVLql9SO3XqpFc2Dw8Pneca3d3dAQCZmZl6nYPqgcwM6ORXP+ce2QN49UfgVALQo72qTa4A1h8FerRjgUFEREYvJSWFa2UYkSZRZJw+fRrnzp1Du3bt0KdPH0hq8Hx5UVGR3mMyLCws6jToqPw65fkiIyMxYsQIuLm5YdasWfD394ednR0kEgleeeWVCnNVVMHXtLOqqjEXTajjy/jIlUBQy/o599QBwLI9wOgvgU8nAW7NgOV7gSupwIH59XNNIiIiA8rL4yQlxqTRFxlnzpzB2bNn0bZtW/Tr169GBQYAREREVNhjUJGwsDD4+/tXvyOAmJgYdOzYUastPj4eEolEfY7Vq1dDqVRi/fr1GDBggHq/goICTJo0Sc87AEJCQgAA58+f1/sYMkKCAATWU5FhKQMOLlAtvDfrJ6CwFOjsB+z5AAhr/FM9ExGR6atoVlEST6MuMs6cOYMzZ87UusAAgP79+9doTIa+lixZgrFjx6q/IU6dOoVTp06hQ4cO6iKjfKYqpVKpdezcuXN12qoydOhQODg4YOvWrZg1axa6du2qtV2pVHLGKFNR256MIwur38fdEVg3u3bnJyIiEln79u3FjkAaGm2RcenSJZw5cwZ2dnbw9vbGtWvXtLZbW1vD29u72vPU15iMnJwcPPLIIxg8eDCysrKwYcMGWFhY4OOPP4ZMJgMAjB8/Hj/99BMmT56McePGwdbWFkePHsXly5dhb2+v97VsbGzwww8/YNKkSQgLC8PTTz8Nf39/ZGdn48iRI3juuefw9ttv18t9kgE1s1E9xkREREQ6Ll68WOGYVxJHoy0yygco5+fn48iRIzrbW7RooVeRUV+2bt2Kd999F8uWLUNpaSnatWuHRYsWaa2RER4ejnXr1mHBggVYvnw5LCws0KVLF+zevRvDhg2r0fXGjRuHFi1a4IMPPsCOHTuwefNmODg4ICQkBI899pihb4/qQ7AP16sgIiIik9CkprA1BuVT2KakpMDT01PsOGTsyqewNTcDXhoILH9F7ERERERGKTU1lb9bGRE+iE9kChRKIMhH7BRERERGi2tkGBcWGUSmQBDqb/paIiKiRuDWrVtiRyANLDKITAWLDCIiIjIRjXbgt7GKiIgQOwKZoua2gCtnliIiIqoMp7A1LuzJIDIFwRyPQUREVJX09HSxI5AGFhlEpqCjn9gJiIiIjNr9+/fFjkAaWGQQGbPSB6vNB4q3pgsREZEpKF/MmIwDiwwiY3btjupPTl9LRERUpaCgILEjkAYWGUTGLONB1y9nliIiIqpSTEyM2BFIA4sMIlPg4iB2AiIiIiK9scggIiIiIpPn4uIidgTSwHUyiIzZ4Q+BKylipyAiIjJ6dnZ2YkcgDRJBEASxQxARERER1UVMTAw6d+4sdgx6gI9LERERERGRQbEng4iIiIhMXn5+Ph+ZMiLsySAiIiIik5ednS12BNLAIoOIiIiITN7du3fFjkAaWGQQERERkckzMzMTOwJp4JgMIiIiIiIyKPZkEBEREZHJu3DhgtgRSAOLDCIjJwgCQn+W4+pddjoSERFVRqlUih2BNLDIIDJy90qAcxnAO0f5nycREVFlnJycxI5AGlhkEBm59ALVnw4W4uYgIiIyZo6OjmJHIA0sMoiMXEah6k93W3FzEBERGbPr16+LHYE0sMggMnLphaqxGG42EpGTEBEREemHRQaRkSvvyXC0FDcHERGRMWvVqpXYEUgDiwwiI5deoOrJkLAjg4iIqFK5ubliRyANLDKIjFxGkerP+/fvixuEiIjIiGVnZ4sdgTSwyCAycnce9GTwHRoiIqLKSdjlb1RYZBAZubR81Z8tW7YUNwgREZER69Spk9gRSAOLDCIjl/ZgnYyUlBRxgxARERmx2NhYsSOQBhYZREYu+8GYDIWCK34TERFVRi6Xix2BNLDIIDJiRWUCCh/8n2ljYy1uGCIiIiPGFb+NC4sMIiNWvkYGANjZ2YsXhIiIyMi5uLiIHYE0sMgwIjt27IBEIsELL7wgdhQyoPxSAa8fUsDzezmsFsvReZ0cv13W79GndI0iIyMjo54SEhERmb7ExESxI5AGc7EDlEtMTMSFCxdw9+5dmJubw9vbG927d4e9Pd+9bShXrlzB4sWLcfDgQaSkpEAul8PV1RUDBw7E/PnzuZJmLT2zXYnoOwI+7StF++bAhngB43cqoRSACR2qrvMzCoUGSklERERkOEZRZMTGxuLkyZNwd3dHz549UVxcjIsXLyItLQ0jR46Era2t2BEbNaVSiYiICLzxxhu4ffs2evTogWeffRZmZmaIjo7Gpk2b8Pvvv+P333/HsGHDxI5rUnZfV+KvmwI2DJFi/IOCItwHuJmrwNtHlRjrL4GZtPJ5vTV7MlxcnOs7LhERkcny8/MTOwJpEL3IKC4uRnR0NFxcXDBs2DBIpapfxFq2bImIiAicPn0aYWFhIqds3E6fPo25c+fi9u3b+P777zF9+nT1NrlcjnXr1uHtt9/G2LFjcebMGXTo0EHEtKYl4qoAOxkw2l+7kJgSLMGEXQJOpQG9vCo/PqMQMJcAcgEoKSkBYFe/gYmIiExUQUEBB38bEdHHZCQlJaGsrAzBwcHqAgMAXF1d0aJFC1y/fh0KhUKUbAqFAvv378egQYPg7OwMc3NzODs7Y/LkyVrPx6empmLYsGGQSCT4888/MXjwYDg6OsLKygqPPfYYrly5gpycHLz//vvw9fWFhYUFPDw8sHz58gqvW1ZWhk8++QRt2rSBpaUlmjdvjldeeQX5+fkGv8eioiL88ssvSExMxOjRo7UKDAAwNzfHhAkTMHnyZBQVFeF///ufwTM0ZrFZAjo4A+YP9VZ0dJWot1clvUBA+QKmeXmGf/2JiIgai8zMTLEjkAbRezLK/0G4u7vrbHN3d0daWhru3bsHZ+eqHxUpKSmBIOj3/LpMJoOZmVmV+yiVSqxbtw5vvvkmBEHAs88+C09PT5w/fx6bN2/GiRMncO7cOTRr1kzruDfeeAMuLi6YMWMGEhISsGvXLvTv3x9Dhw7Fli1bMG7cOAiCgB07dmDmzJkIDg5G3759tc5x/PhxbN26FaNHj4abmxuOHDmCH3/8EXFxcTh69KhWMVZXt27dwunTpwEAL7/8coX7WFtbY9iwYfj555+xa9culJSUwNLS0mAZGrPsYqB1M93HoZys/t1elYxCQMFhGURERGRiRC8yCgpUyxlXNO6ivK2goKDaImPLli16v9MfFhYGf3//KveJjY3Ft99+C6lUivPnz8Pb2xsAUFpais8++wzz58/H4sWLMX/+fK3jgoKCsH37dkgkEuTk5GDmzJn47bffsGHDBsTHx6vP061bN7zyyitYvny5TpFx+/ZtREREYMSIEQCAGzduYNq0aTh06BA2btyIiRMn6nWf+sjJyUFqaioAIDQ0tNL9XF1d4e3tjYsXL+Lq1asIDg42WAZTceSWEuG/6zcr1LnJZujspiouKh9xUfU2AMgsFKB8UGS0bOmt17WJiIiaok6dOokdgTSI/rhU+eqMFfUslLfps4Jj//79MXjwYL0+WrZsWe35zp8/j4sXL2LIkCEAgOTkZCQnJyMjIwMdO3aEq6sr9u3bp3Pc7NmzIXnwfIuTk5O6mBkxYoS6wAAAf39/uLu74+rVqzrnaN++vbrAAIBWrVph9OjRAICIiIhqs9dEWVkZiotVb6c/3CujycLCAtbWqsXg8vLy9D5/Tk7Og7EEKvn5+VrHl5aWIjs7W+uYtLS0Kj+/c+eOVq9VQ13Dz64MKwdJsXKQFEvCyrCkb6n68+/7K7H4sUL15z72qnM6WwHZxYLONXIe9GA0t6r6PuzM5epCJDU11WS+VrwGr8Fr8Bq8Bq/R0NeIj49vFPch1jUMThDZnj17hB9++EEoKyvT2RYbGyv88MMPws2bNxs813vvvScAqPKjVatWgiAIQkpKijB06FABgJCYmKh1nm+++UYAIHzwwQda7dHR0UL79u0FX19fdduff/4pABBGjBihk2ffvn2CjY2N0KlTJ4Pe58mTJwUfHx8BgJCdnV3pfufPnxdCQkIEAMK1a9cMmqExe2mfXLD7pkwoUyi12jfGKwR8USZEJisrOVJl5l9yQfZVmYAvyoR5O5PqMyoREZFJO3funNgRSIPoj0tpPhL18DvpVT1K9bCioiK9x2RYWFjA3Fy/Wx8+fDjGjh1b4TZPT0+dtsrGelTWXlHm8p6Qh/cTBKHCbXXh5OQET09P3Lp1C2fPnsXAgQMr3C8zMxO3b9+GlZWVVo8MVW1kWwlWXhCwJUHA2IB/X7t1sQI87YAeLao+3t1WAgGqfyPW1lb1GZWIiMikOTg4iB2BNIheZLi6uiI+Ph7p6ek6RUZ6ejpkMple05FFREQYdExG27ZtIZFIYGZmhvHjx+t1XkO5dOmSTtuNGzdQVFSENm3aGPRaPj4+6NatG/7++2/88MMPFRYZRUVF+PPPP3Hv3j0899xzsLCwMGiGxuyp1lI87itgxgElckuBto7AxssC9iYJWD9YWuUaGQDgZgPIHwwDaeZQ+eNsRERETZ2Hh4fYEUiD6EWGn58fTp48idjYWLRt21Y9c1JmZibS0tLg7+9f7UxQgGpMhj5jNwDVu/fVCQ0NRXBwMLZv347IyEg89thjWtsLCgpQWFgIV1dXva5ZEwkJCdi2bZvWwO/NmzcDAEaOHGnQa1lbW+O5557D3r178ccff+CHH37AK6+8ot4ul8uxYcMG/PLLL7CxscHcuXMNev2mYOtwKd4/ocS8SCVyioEAJ2DjUCnGBVQ/JMrd5t+/30lPB+Bbf0GJiIhMWEJCAjp37ix2DHpA9CLDysoKjzzyCKKiorBjxw60a9dOveK3tbU1unXrptd5DF29hoSE4M0338R///tf9OvXD0OHDkVwcDCKioqQkJCAf/75B9OnT9eZXcoQWrZsifHjx2tNYXvmzBn07t27XnpVunXrhk8++QT//e9/MX36dKxduxb9+/eHVCpFdHQ0jhw5AnNzc2zatAmBgYEGv35jZ2chwbf9zfBt/5of62Zj2MfjiIiIiBqC6EUGoPqF3srKChcuXEBUVBTMzc3h5eWF7t276zUeoz5IpVI899xzaN26Nb766itERUVh586dsLCwgLu7O4YMGYIxY8bUy7X79OmD4OBgrFy5EsnJybC1tcVLL72Er776yqBrZJSTSqV49tlnERISgq+//hoHDx7E119/rZ51ysXFBefOneNYDBG4a/zzd3auvgeOiIioqfLx8RE7AmmQCPqOlqYm59q1a5g2bRqOHDmC1157DUuWLBE7UpOTVyrA4TvVivdf9sjDm32ai5yIiIjIOKWlpaFFi2pmVKEGI/o6GWS82rRpgxUrVqBPnz5YunQp3nnnHbEjNTl2MsDywZCk3NxcccMQEREZsfT0dLEjkAajeFyKaubevXvIycmpch+5XA6pVFrl41UymQzu7u5Vzhbl7++PY8eO1Tor1Y1EIoGzFZBaIHYSIiIiIv2xyDBBCxcuxNdff22Qcx0+fBj9+vUzyLmofrjbqooMb28vsaMQEREZrZCQELEjkAYWGSZoypQp1c66JZfLoVAoYGlpWek+NjY26NSpk6HjkYF52gHnMsq7gVloEBERVeTq1asICAgQOwY9wCLDBAUHByM4OFjsGNRAPGwlAASUlem3DgwREVFTVD4rJhkHDvwmMnJuDxbks7KyEjcIERGREbO3txc7AmlgkUFk5NwfLMjn6OgobhAiIiIj5uXFR4qNCYsMIiNX3pNxPSVD3CBERERG7PLly2JHIA0sMoiMXPmq3zmlHEJFREREpoFFBpGRc7NWPS5VLHMQOQkREZHx8vb2FjsCaWCRQWTkynsyMgsl4gYhIiIyYgqFQuwIpIFFBpGRc3owqdQ4j2RxgxARERmxtLQ0sSOQBhYZREbOTCpB2X/NENq8UOwoRERERHqRCIIgiB2CiKpXVlYGmUwmdgwiIiKjxJ+TxoU9GUQm4saNG2JHICIiMlr8OWlcWGQQmYjCQj4uRUREVBn+nDQuLDKITIStra3YEYiIiIwWf04aF47JIDIRpaWlsLCwEDsGERGRUeLPSePCngwiExEXFyd2BCIiIqPFn5PGhUUGEREREREZFIsMIhPh6ekpdgQiIiKjxZ+TxoVFBpGJkEgkYkcgIiIyWvw5aVxYZBCZiJSUFLEjEBERGS3+nDQuLDKIiIiIiMigOIUtkYkoKSmBpaWl2DGIiIiMEn9OGhf2ZBCZiNu3b4sdgYiIyGjx56RxYZFBZCLy8/PFjkBERGS0+HPSuLDIIDIRVlZWYkcgIiIyWvw5aVw4JoPIRMjlcpibm4sdg4iIyCjx56RxYU8GkYmIjY0VOwIREZHR4s9J48Jyj+qNQqFAQkKC2DEajevXr3PWDCIiokrw52TdtG/fHmZmZgY7H4sMqjcJCQkIDAwUOwYRERERVSMuLg4dOnQw2Pk4JoPqTV16MvLz89G9e3f8888/sLOzM3Ay03Pnzh30798fhw4dgoeHh9hx6oyvb+PH17hx4+vb+PE1btwqen0N3ZPBIoOMUm5uLpo1a4b79+/DwcFB7DiiS05ORsuWLXH79m14e3uLHafO+Po2fnyNGze+vo0fX+PGrSFeXw78JiIiIiIig2KRQUREREREBsUig4ySpaUl/u///o+zRDzg4OCAsLCwRtNlzde38eNr3Ljx9W38+Bo3bg3x+nJMBhERERERGRR7MoiIiIiIyKBYZBARERERkUGxyCAiIiIiIoNikUFERERERAbFIoMazMaNG9G1a1dYW1vDxcUF48ePx82bN2t1rjFjxkAikSAgIMDAKaku6vIa9+vXDxKJpMKPbdu21W9w0ltdv48VCgVWrFiBHj16wN7eHnZ2dggJCcHChQvrMTXpq7av75EjRyr9/i3/iIyMbIA7oOrU5XtYEAT88ssv6NmzJ5ydneHg4ICQkBB8/PHHyM/Pr+fkpI+6vL5lZWX4+OOP0aFDB1haWsLZ2RmjRo3C5cuXa5WFs0tRg1i6dClmzZqFxx57DJMmTUJWVha++eYbWFpaIjo6Gp6ennqfa9euXXj66adhaWkJHx+fWv/jJ8Oq62vcr18/XLp0CYsXL65wW2NY6dzU1fU1LisrwzPPPIO9e/di3LhxeOyxxyCVSpGUlITMzEysXLmyge6EKlKX1zc9PR1//fWXTntJSQlefvlluLi4IDk5GTKZrD5vgapR1+/hd999F59++in69++PkSNHwszMDH/99RciIiLQt29fHD16tIHuhCpSl9dXEAQMHToUu3fvxvDhwzFo0CBkZmZi+fLlKCkpwcmTJxEYGFizQAJRPcvKyhLs7OyE0NBQoaysTN0eHR0tSCQS4cUXX9T7XHl5eYKPj4/w2muvCb6+voK/v399RKYaMsRrHBYWJvj6+tZjSqoLQ7zG8+bNE6RSqbB37976jEq1YMj/pzVt2LBBACC89dZbhopKtVTX17isrEywsbERQkNDBYVCobVt+PDhAgAhPj6+XrJT9er6+m7btk0AILz88sta7deuXROsra2FAQMG1DgTH5eierd9+3bk5+dj9uzZMDc3V7d369YNffv2xe+//47S0lK9zvXBBx+grKwMH330UX3FpVow5GusVCqRm5sLpVJZX3GpFur6GhcUFOCbb77BsGHD8MQTT0AQBOTl5TVEdNKDIb+HNf30008AgGnTphksK9VOXV/jsrIyFBUVwcPDA1Kp9q+P5e+Q29jY1E94qlZdX9/Dhw8DAKZMmaLV3rp1a/Tp0wcHDx7ErVu3apSJRQbVu3/++QcA0KtXL51tvXr1Ql5enl6PPEVHR2PJkiVYvHhxo1n5urEw1GuckpICOzs7NGvWDLa2thg8eDBOnz5t8LxUc3V9jU+cOIHc3Fx0794db731FhwdHeHg4AAnJyfMmjULhYWF9Zadqmeo72FNN27cwOHDh9G7d2/4+/sbJCfVXl1fY2tra/Tq1Qt79+7F559/jsTERCQlJWHlypVYs2YNpk2bBh8fn3rLT1Wr6+tbXFwMoOJCsbyt/Br6YpFB9S4lJQUAKnymvrwtOTm5ynPI5XK89NJLGDhwIMaOHWv4kFQnhniN/fz88Pbbb2PVqlXYsmUL3nrrLURGRuKxxx7DoUOHDB+aaqSur3H5D7dvvvkGv/76KxYtWoQ//vgDQ4YMwdKlS/H0009D4BBB0Rjie/hhq1evhiAI7MUwEoZ4jTds2IC+fftizpw5aNeuHVq1aoXp06fjvffe45gqkdX19S0fb/Hwz9vCwkKcOnUKAGrck2Fe/S5EdVP+DqWlpaXONisrK619KvPVV1/hypUr2LJli+EDUp0Z4jVeu3at1ufPPPMMJk2ahNDQUEyfPh0JCQmGCUu1UtfXuPzRqJycHFy4cEH9A23UqFEAgPXr12P//v144oknDJqb9GOI72FNCoUCa9euhYODA0aPHm2YkFQnhniNbWxs4O/vDx8fHzz55JOQSqXYtm0b5s2bB4VCgfnz5xs8N+mnrq/vpEmTsGjRIsybNw+2trYYOHAgsrKy8H//93/Iysqq9viKsCeD6l15N1tJSYnOtqKiIq19KnLt2jUsWLAA7733Htq0aVM/IalO6voaV8bf3x9jxozB1atXcfXq1bqFpDqp62tsbW0NAOjRo4fODCVTp04F8O8zwdTwDP09vG/fPiQnJ2P8+PF8Tt9I1PU1LiwsRK9evXD//n2sW7cO48ePx9ixY7Fx40ZMmTIFH374IWJiYuolO1Wvrq+vk5MT/vrrL7Rq1Qovv/wyWrduje7duyM3Nxdz5swBgBo/qs4ig+qdl5cXgIq76arq3iv35ptvonnz5hg7diySkpLUH3K5HGVlZUhKSkJ6enr9hCe91PU1roqfnx8AIDMzs3bhyCDq+hqXb2vRooXOtvK2nJycOuek2jH09/CqVasAcMC3Manra/zHH3/g6tWrFfZMjR07FoIgcApbERnie7hTp044f/48EhIScPToUSQkJODEiRPqwqWma5OxyKB698gjjwAATp48qbPt5MmTsLOzq/IfblJSElJTU+Hv749WrVqpP1JSUnD9+nW0atUKzz//fL3lp+rV9TWuSnkPhoeHR+0DUp3V9TXu0aMHAOD27ds628qf83V3dzdEVKoFQ34PZ2RkYMeOHejYsSO6detm0JxUe3V9jct/US0rK9PZVt4ml8sNEZVqwZDfw+3atUPfvn3Rrl07AMCePXvg4OCAxx57rGahajzpLVENZWZmqufWrmju5qlTp6rbUlNThfj4eKGgoEDddujQISEiIkLnw9XVVfDy8hIiIiKEkydPNug9kba6vsY5OTlCSUmJznmjo6MFmUwmBAUF1e8NULXq+hoLgiD07dtXkEgkQlRUlLpNqVQKTz/9tACA38ciMsTrW+6LL74QAAjfffddvecm/dX1NS5fR+Gpp57SOffIkSMFAMKxY8fq9yaoUob8Htb03XffCQCE//u//6txJhYZ1CC++eYbAYDw2GOPCStWrBAWLVokODs7Cx4eHkJycrJ6v+eff14AIBw+fLjac3IxPuNSl9c4IiJCcHNzE2bOnCksXrxYWL58ufDyyy8LFhYWgo2NDX/5NBJ1/T4+f/68YG9vLzg4OAjvv/++sHTpUmHQoEECAK0fgCQOQ/0/3aFDB8HKykrIyclpoOSkr7q8xnK5XOjevbsAQOjTp4+wePFi4ZtvvhH69esnABCGDh0qwh2Rprp+Dz/11FPCzJkzhWXLlgnLly8XRowYIQAQhgwZIpSWltY4D4sMajDr168XunTpIlhZWQlOTk7C2LFjhevXr2vtwyLDtNX2NY6LixNGjx4ttGnTRrCzsxNkMpng6+srTJ06VUhISGjgu6Cq1PX7ODY2Vhg5cqTQvHlzwcLCQggMDBQWL16ss4IwiaOur29kZKQAQJgwYUIDJaaaqstrXFBQIHz22WdC586dhWbNmgmWlpZCUFCQ8NFHH1XYG00Nry6v74cffigEBQUJtra2gq2trdCtWzdh2bJlglwur1UWiSBwYnIiIiIiIjIcDvwmIiIiIiKDYpFBREREREQGxSKDiIiIiIgMikUGEREREREZFIsMIiIiIiIyKHOxAxA1Brt378aQIUMq3f7TTz/h+PHjWLduHQAgKCgIsbGxOvvl5+fjjTfewO7du5Geng4fHx+88MIL+O233xAbGwup9N/3BT7++GO8//77OHv2LLp06aJ1nsmTJ2PDhg3Yvn077ty5g3nz5iEhIQG2trZa+23btg0jR45Ufx4dHd2gK/SWlZUhOjoa169fR0lJCRwdHdGpUye0bdu2xue6fPkyjh07BnNzc0ydOlXdnpqaip07d1Z4zPDhw9WrTB85cgQJCQmVnl9zXyIiIqoaiwwiAzh79iwAYPv27XBzc9PZHhgYiOPHj8PDwwMRERGwsbGp8Dz//e9/sWXLFixfvhy+vr4QBAGDBg3C2rVrtQoMAHjttdfwxRdf4OOPP8bmzZvV7fPmzcMvv/yC5cuXY8iQIZDL5fjss8/w+eefY8GCBVrnCAsLQ1RUFHbt2oVFixbV9ctQY/v370dmZia6d+8OR0dHJCYm4tChQwBQo0KjoKAAf//9N2xsbFBaWlrhPo888gg8PT212pycnNR/Dw0NRYcOHXSO27dvH8zMzODq6qp3HiIioqaORQaRAZw9exYODg4YNmwYJBJJpftZWlri0UcfrXBbaWkpNm7ciBkzZmDcuHEAgDlz5sDR0RHPPPOMzv4ODg6YNWsWPvroI1y+fBkBAQFYs2YNFi5ciHfeeQczZswAAJibm+OVV17BwoULMWfOHK0Cp3nz5nj00Udx+fLlutx+rdy6dQspKSno37+/uqDw9PREXl4e/v77b7Ru3VqnsKpMeQFnZWWF69evV7hPs2bNquyJcHBwgIODg1ZbamoqiouL0aVLF72zEBEREcdkEBnEmTNn0KlTpyoLjKpMmTIFlpaWyM/PxxdffAGJRILQ0FCsWrUKEyZMqPQX3Ndffx02Njb45JNPcODAAbzyyisYM2YMPv30U639Jk6ciNzcXPz222+1ylcfkpKSIJPJ0Lp1a612f39/FBYWIiMjQ6/zXL16FWlpaejdu7fBM165ckWdiYiIiPTHngyiOsrOzsatW7cwdOhQyOVyne1mZmbVFh9z5sxBixYt8Mknn+DPP/+Eq6srysrK0LdvX4SHh1d6nJOTE2bMmIHFixdj27Zt6NGjB37++Wed63l4eCAgIAC7du3SGq9QW4IgQBAEvfatrEDKycmBo6OjzvbyR5ju3r0LDw+PKs9dVFSEkydPonv37rCzs6ty38jISBw8eBDm5uZwd3dHaGholecvLS3F9evX4eXlpdPDQURERFVjkUFUR+XjMZYvX47ly5frbI+NjUVQUFCV5wgICEB+fj6aN2+OYcOGAQA+//xzAKqxAlUZP348vvjiC9jZ2WH79u2wtLSscL/Q0FAcOHCg2vvRR1paWqWDqSvKZ29vr9NeUlJSYbuVlRUAoLi4uNpznzhxAo6OjggMDKx0HwsLCwQHB8PT0xOWlpbIzc3F+fPnsWPHDjz55JNo2bJlhcclJiZCoVCwF4OIiKgWWGQQ1dGZM2cAAFu3bq3wF9aqfgF++Dxdu3ZVf56amgqJRAIXF5dKj8nNzcWUKVMAAFlZWSgsLNQazKzJzc0NGRkZkMvlMDev27e+i4uL1qxUValskDuAKnt4quv9uX79Om7evIlRo0ZVua+Li4vW17BFixbw8/PDH3/8gVOnTlVaZFy5cgWWlpZo1apVlTmIiIhIF4sMojo6e/YsrKys8PTTT8PMzKxW51AoFIiJicGsWbPUbUVFRZDJZJWe8//bu7+Xpv44juOvhUszIXN5tVJBBiFSoHnRhWhdNIIgKMULDQSlC/+CcLuTEOki8sIL7Sa76iJw0XYRRCMSJH8gQ1Dcj9REIU0ckTpD14VstO/ZdLrz7abnA3bh5/PxnG1eeF68Pz9+/fql+/fvKxKJaGRkRE1NTXry5ImePXuWdnxBQYHi8bh2dnaOnFp0FKvVKpvNltXYTNOl8vPz01YrEm2ZKjLSwWcfHR1VdXW1CgsLFYvFJB18j9JBleTUqVOyWq0Z711WVqbZ2dm0oev79+9aW1tTdXX1if+mAAD8ywgZQI6mpqZyfhidnZ3V1tZWSiXjwoUL2t3d1c+fPw3nW0hSZ2en/H6/3r59K6fTqba2Ng0NDcnlcqXdRndjY0P5+fk5BwzJnOlSJSUlCofD2t/fTwkiGxsbkg52vspkZ2dH29vbCgQCCgQChv4XL16ovLxcTqczq/f4X4kF35cvXz7R7wMA8K8jZAA5iEajikQiOS+mnpiYkKSUkJF4wA2Hw7py5UrKeLfbreHhYT1//jz5IN3d3a2XL1/q6dOn6u3tNdwjEolkPXXrKGZMl6qoqNDc3Jy+fPmiysrKZHswGFRhYWHaoJRw5swZ3blzx9A+PT2t1dVV3b59O7m2I51YLKalpSXZbDZDFWNvb0/BYFClpaUZp54BAIDDETKAHExNTSkej+vs2bMaGxsz9Nvt9oxz/v80OTmp4uLilO1cGxsbJUljY2MpIWNwcFCPHz+W2+1WR0dHst3hcKi5uVkDAwPJ8zUS9vf39fnz55TxuTh9+nTOh9OVlZXJbrfr06dP2t3d1blz5xQKhfT161fduHEjpbqxsrIir9ermpoa1dbWKi8vz3CwniTNz8/LYrGk9L1//15FRUUqLS1VQUGBotGoAoGAtra21NDQYLjGwsKCYrEYVQwAAHLAORlADhI7S/X39+v69euG17t377K6zuTkpGEXqUuXLqm+vl4ejyfZ5vP51NXVpba2NvX09Biu43K59OPHD/X396e0+/1+RaNRtba2Hvcj/q9u3bolh8OhiYkJ+Xw+ffv2TTdv3pTD4TCMPc62uX+y2WxaXl7Wx48f5fV6NT4+rvPnz+vu3bu6ePGiYfzc3Jzy8vJSqisAAOB4LPGT/NcGcGzt7e3y+/0KhUKyWCxZreF4/fq1WlpatLi4KLvdfuJ7P3jwQJFIRKOjoynt8Xhce3t7Gh4eVkdHh8bHx3Xt2rUT3wcAAECikgH8VYuLi7Jarbp69WpW4+/du6e6urq0ayyyFQ6H9erVK/X19Rn6PB6PrFaradOoAAAAJCoZwF+zsLCg9fV1SQcLl486oC9hZmZGb9680aNHjzJuB3uYDx8+KBgM6uHDh4a+zc1NhUKh5M9VVVWHnmsBAACQDUIGAAAAAFMxXQoAAACAqQgZAAAAAExFyAAAAABgKkIGAAAAAFMRMgAAAACYipABAAAAwFSEDAAAAACmImQAAAAAMBUhAwAAAICpfgNxIryjI6glQQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 800x550 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# global explanations\n",
    "shap.plots.beeswarm(shap_values_xgb)\n",
    "\n",
    "# local explanations\n",
    "print(f'Model prediction for instance: {model.predict_proba(X_test)[:,1][1]}')\n",
    "print(f'Actual outcome: {y_test.iloc[1]}')\n",
    "shap.plots.waterfall(shap_values_xgb[1], max_display=14)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3cfd81f0",
   "metadata": {},
   "source": [
    "### LIME"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "id": "d822645a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Intercept 0.2490679265822912\n",
      "Prediction_local [0.82272364]\n",
      "Right: 0.8363559\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<html>\n",
       "        <meta http-equiv=\"content-type\" content=\"text/html; charset=UTF8\">\n",
       "        <head><script>var lime =\n",
       "/******/ (function(modules) { // webpackBootstrap\n",
       "/******/ \t// The module cache\n",
       "/******/ \tvar installedModules = {};\n",
       "/******/\n",
       "/******/ \t// The require function\n",
       "/******/ \tfunction __webpack_require__(moduleId) {\n",
       "/******/\n",
       "/******/ \t\t// Check if module is in cache\n",
       "/******/ \t\tif(installedModules[moduleId])\n",
       "/******/ \t\t\treturn installedModules[moduleId].exports;\n",
       "/******/\n",
       "/******/ \t\t// Create a new module (and put it into the cache)\n",
       "/******/ \t\tvar module = installedModules[moduleId] = {\n",
       "/******/ \t\t\texports: {},\n",
       "/******/ \t\t\tid: moduleId,\n",
       "/******/ \t\t\tloaded: false\n",
       "/******/ \t\t};\n",
       "/******/\n",
       "/******/ \t\t// Execute the module function\n",
       "/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n",
       "/******/\n",
       "/******/ \t\t// Flag the module as loaded\n",
       "/******/ \t\tmodule.loaded = true;\n",
       "/******/\n",
       "/******/ \t\t// Return the exports of the module\n",
       "/******/ \t\treturn module.exports;\n",
       "/******/ \t}\n",
       "/******/\n",
       "/******/\n",
       "/******/ \t// expose the modules object (__webpack_modules__)\n",
       "/******/ \t__webpack_require__.m = modules;\n",
       "/******/\n",
       "/******/ \t// expose the module cache\n",
       "/******/ \t__webpack_require__.c = installedModules;\n",
       "/******/\n",
       "/******/ \t// __webpack_public_path__\n",
       "/******/ \t__webpack_require__.p = \"\";\n",
       "/******/\n",
       "/******/ \t// Load entry module and return exports\n",
       "/******/ \treturn __webpack_require__(0);\n",
       "/******/ })\n",
       "/************************************************************************/\n",
       "/******/ ([\n",
       "/* 0 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t/* WEBPACK VAR INJECTION */(function(global) {'use strict';\n",
       "\t\n",
       "\tObject.defineProperty(exports, \"__esModule\", {\n",
       "\t  value: true\n",
       "\t});\n",
       "\texports.PredictedValue = exports.PredictProba = exports.Barchart = exports.Explanation = undefined;\n",
       "\t\n",
       "\tvar _explanation = __webpack_require__(1);\n",
       "\t\n",
       "\tvar _explanation2 = _interopRequireDefault(_explanation);\n",
       "\t\n",
       "\tvar _bar_chart = __webpack_require__(3);\n",
       "\t\n",
       "\tvar _bar_chart2 = _interopRequireDefault(_bar_chart);\n",
       "\t\n",
       "\tvar _predict_proba = __webpack_require__(6);\n",
       "\t\n",
       "\tvar _predict_proba2 = _interopRequireDefault(_predict_proba);\n",
       "\t\n",
       "\tvar _predicted_value = __webpack_require__(7);\n",
       "\t\n",
       "\tvar _predicted_value2 = _interopRequireDefault(_predicted_value);\n",
       "\t\n",
       "\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n",
       "\t\n",
       "\tif (!global._babelPolyfill) {\n",
       "\t  __webpack_require__(8);\n",
       "\t}\n",
       "\t\n",
       "\t__webpack_require__(339);\n",
       "\t\n",
       "\texports.Explanation = _explanation2.default;\n",
       "\texports.Barchart = _bar_chart2.default;\n",
       "\texports.PredictProba = _predict_proba2.default;\n",
       "\texports.PredictedValue = _predicted_value2.default;\n",
       "\t//require('style-loader');\n",
       "\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n",
       "\n",
       "/***/ }),\n",
       "/* 1 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t\n",
       "\tObject.defineProperty(exports, \"__esModule\", {\n",
       "\t  value: true\n",
       "\t});\n",
       "\t\n",
       "\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n",
       "\t\n",
       "\tvar _d2 = __webpack_require__(2);\n",
       "\t\n",
       "\tvar _d3 = _interopRequireDefault(_d2);\n",
       "\t\n",
       "\tvar _bar_chart = __webpack_require__(3);\n",
       "\t\n",
       "\tvar _bar_chart2 = _interopRequireDefault(_bar_chart);\n",
       "\t\n",
       "\tvar _lodash = __webpack_require__(4);\n",
       "\t\n",
       "\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n",
       "\t\n",
       "\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n",
       "\t\n",
       "\tvar Explanation = function () {\n",
       "\t  function Explanation(class_names) {\n",
       "\t    _classCallCheck(this, Explanation);\n",
       "\t\n",
       "\t    this.names = class_names;\n",
       "\t    if (class_names.length < 10) {\n",
       "\t      this.colors = _d3.default.scale.category10().domain(this.names);\n",
       "\t      this.colors_i = _d3.default.scale.category10().domain((0, _lodash.range)(this.names.length));\n",
       "\t    } else {\n",
       "\t      this.colors = _d3.default.scale.category20().domain(this.names);\n",
       "\t      this.colors_i = _d3.default.scale.category20().domain((0, _lodash.range)(this.names.length));\n",
       "\t    }\n",
       "\t  }\n",
       "\t  // exp: [(feature-name, weight), ...]\n",
       "\t  // label: int\n",
       "\t  // div: d3 selection\n",
       "\t\n",
       "\t\n",
       "\t  Explanation.prototype.show = function show(exp, label, div) {\n",
       "\t    var svg = div.append('svg').style('width', '100%');\n",
       "\t    var colors = ['#5F9EA0', this.colors_i(label)];\n",
       "\t    var names = ['NOT ' + this.names[label], this.names[label]];\n",
       "\t    if (this.names.length == 2) {\n",
       "\t      colors = [this.colors_i(0), this.colors_i(1)];\n",
       "\t      names = this.names;\n",
       "\t    }\n",
       "\t    var plot = new _bar_chart2.default(svg, exp, true, names, colors, true, 10);\n",
       "\t    svg.style('height', plot.svg_height + 'px');\n",
       "\t  };\n",
       "\t  // exp has all ocurrences of words, with start index and weight:\n",
       "\t  // exp = [('word', 132, -0.13), ('word3', 111, 1.3)\n",
       "\t\n",
       "\t\n",
       "\t  Explanation.prototype.show_raw_text = function show_raw_text(exp, label, raw, div) {\n",
       "\t    var opacity = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n",
       "\t\n",
       "\t    //let colors=['#5F9EA0', this.colors(this.exp['class'])];\n",
       "\t    var colors = ['#5F9EA0', this.colors_i(label)];\n",
       "\t    if (this.names.length == 2) {\n",
       "\t      colors = [this.colors_i(0), this.colors_i(1)];\n",
       "\t    }\n",
       "\t    var word_lists = [[], []];\n",
       "\t    var max_weight = -1;\n",
       "\t    var _iteratorNormalCompletion = true;\n",
       "\t    var _didIteratorError = false;\n",
       "\t    var _iteratorError = undefined;\n",
       "\t\n",
       "\t    try {\n",
       "\t      for (var _iterator = exp[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n",
       "\t        var _step$value = _slicedToArray(_step.value, 3),\n",
       "\t            word = _step$value[0],\n",
       "\t            start = _step$value[1],\n",
       "\t            weight = _step$value[2];\n",
       "\t\n",
       "\t        if (weight > 0) {\n",
       "\t          word_lists[1].push([start, start + word.length, weight]);\n",
       "\t        } else {\n",
       "\t          word_lists[0].push([start, start + word.length, -weight]);\n",
       "\t        }\n",
       "\t        max_weight = Math.max(max_weight, Math.abs(weight));\n",
       "\t      }\n",
       "\t    } catch (err) {\n",
       "\t      _didIteratorError = true;\n",
       "\t      _iteratorError = err;\n",
       "\t    } finally {\n",
       "\t      try {\n",
       "\t        if (!_iteratorNormalCompletion && _iterator.return) {\n",
       "\t          _iterator.return();\n",
       "\t        }\n",
       "\t      } finally {\n",
       "\t        if (_didIteratorError) {\n",
       "\t          throw _iteratorError;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    if (!opacity) {\n",
       "\t      max_weight = 0;\n",
       "\t    }\n",
       "\t    this.display_raw_text(div, raw, word_lists, colors, max_weight, true);\n",
       "\t  };\n",
       "\t  // exp is list of (feature_name, value, weight)\n",
       "\t\n",
       "\t\n",
       "\t  Explanation.prototype.show_raw_tabular = function show_raw_tabular(exp, label, div) {\n",
       "\t    div.classed('lime', true).classed('table_div', true);\n",
       "\t    var colors = ['#5F9EA0', this.colors_i(label)];\n",
       "\t    if (this.names.length == 2) {\n",
       "\t      colors = [this.colors_i(0), this.colors_i(1)];\n",
       "\t    }\n",
       "\t    var table = div.append('table');\n",
       "\t    var thead = table.append('tr');\n",
       "\t    thead.append('td').text('Feature');\n",
       "\t    thead.append('td').text('Value');\n",
       "\t    thead.style('color', 'black').style('font-size', '20px');\n",
       "\t    var _iteratorNormalCompletion2 = true;\n",
       "\t    var _didIteratorError2 = false;\n",
       "\t    var _iteratorError2 = undefined;\n",
       "\t\n",
       "\t    try {\n",
       "\t      for (var _iterator2 = exp[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n",
       "\t        var _step2$value = _slicedToArray(_step2.value, 3),\n",
       "\t            fname = _step2$value[0],\n",
       "\t            value = _step2$value[1],\n",
       "\t            weight = _step2$value[2];\n",
       "\t\n",
       "\t        var tr = table.append('tr');\n",
       "\t        tr.style('border-style', 'hidden');\n",
       "\t        tr.append('td').text(fname);\n",
       "\t        tr.append('td').text(value);\n",
       "\t        if (weight > 0) {\n",
       "\t          tr.style('background-color', colors[1]);\n",
       "\t        } else if (weight < 0) {\n",
       "\t          tr.style('background-color', colors[0]);\n",
       "\t        } else {\n",
       "\t          tr.style('color', 'black');\n",
       "\t        }\n",
       "\t      }\n",
       "\t    } catch (err) {\n",
       "\t      _didIteratorError2 = true;\n",
       "\t      _iteratorError2 = err;\n",
       "\t    } finally {\n",
       "\t      try {\n",
       "\t        if (!_iteratorNormalCompletion2 && _iterator2.return) {\n",
       "\t          _iterator2.return();\n",
       "\t        }\n",
       "\t      } finally {\n",
       "\t        if (_didIteratorError2) {\n",
       "\t          throw _iteratorError2;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t  };\n",
       "\t\n",
       "\t  Explanation.prototype.hexToRgb = function hexToRgb(hex) {\n",
       "\t    var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n",
       "\t    return result ? {\n",
       "\t      r: parseInt(result[1], 16),\n",
       "\t      g: parseInt(result[2], 16),\n",
       "\t      b: parseInt(result[3], 16)\n",
       "\t    } : null;\n",
       "\t  };\n",
       "\t\n",
       "\t  Explanation.prototype.applyAlpha = function applyAlpha(hex, alpha) {\n",
       "\t    var components = this.hexToRgb(hex);\n",
       "\t    return 'rgba(' + components.r + \",\" + components.g + \",\" + components.b + \",\" + alpha.toFixed(3) + \")\";\n",
       "\t  };\n",
       "\t  // sord_lists is an array of arrays, of length (colors). if with_positions is true,\n",
       "\t  // word_lists is an array of [start,end] positions instead\n",
       "\t\n",
       "\t\n",
       "\t  Explanation.prototype.display_raw_text = function display_raw_text(div, raw_text) {\n",
       "\t    var word_lists = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n",
       "\t    var colors = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n",
       "\t    var max_weight = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\n",
       "\t    var positions = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n",
       "\t\n",
       "\t    div.classed('lime', true).classed('text_div', true);\n",
       "\t    div.append('h3').text('Text with highlighted words');\n",
       "\t    var highlight_tag = 'span';\n",
       "\t    var text_span = div.append('span').style('white-space', 'pre-wrap').text(raw_text);\n",
       "\t    var position_lists = word_lists;\n",
       "\t    if (!positions) {\n",
       "\t      position_lists = this.wordlists_to_positions(word_lists, raw_text);\n",
       "\t    }\n",
       "\t    var objects = [];\n",
       "\t    var _iteratorNormalCompletion3 = true;\n",
       "\t    var _didIteratorError3 = false;\n",
       "\t    var _iteratorError3 = undefined;\n",
       "\t\n",
       "\t    try {\n",
       "\t      var _loop = function _loop() {\n",
       "\t        var i = _step3.value;\n",
       "\t\n",
       "\t        position_lists[i].map(function (x) {\n",
       "\t          return objects.push({ 'label': i, 'start': x[0], 'end': x[1], 'alpha': max_weight === 0 ? 1 : x[2] / max_weight });\n",
       "\t        });\n",
       "\t      };\n",
       "\t\n",
       "\t      for (var _iterator3 = (0, _lodash.range)(position_lists.length)[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n",
       "\t        _loop();\n",
       "\t      }\n",
       "\t    } catch (err) {\n",
       "\t      _didIteratorError3 = true;\n",
       "\t      _iteratorError3 = err;\n",
       "\t    } finally {\n",
       "\t      try {\n",
       "\t        if (!_iteratorNormalCompletion3 && _iterator3.return) {\n",
       "\t          _iterator3.return();\n",
       "\t        }\n",
       "\t      } finally {\n",
       "\t        if (_didIteratorError3) {\n",
       "\t          throw _iteratorError3;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    objects = (0, _lodash.sortBy)(objects, function (x) {\n",
       "\t      return x['start'];\n",
       "\t    });\n",
       "\t    var node = text_span.node().childNodes[0];\n",
       "\t    var subtract = 0;\n",
       "\t    var _iteratorNormalCompletion4 = true;\n",
       "\t    var _didIteratorError4 = false;\n",
       "\t    var _iteratorError4 = undefined;\n",
       "\t\n",
       "\t    try {\n",
       "\t      for (var _iterator4 = objects[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n",
       "\t        var obj = _step4.value;\n",
       "\t\n",
       "\t        var word = raw_text.slice(obj.start, obj.end);\n",
       "\t        var start = obj.start - subtract;\n",
       "\t        var end = obj.end - subtract;\n",
       "\t        var match = document.createElement(highlight_tag);\n",
       "\t        match.appendChild(document.createTextNode(word));\n",
       "\t        match.style.backgroundColor = this.applyAlpha(colors[obj.label], obj.alpha);\n",
       "\t        var after = node.splitText(start);\n",
       "\t        after.nodeValue = after.nodeValue.substring(word.length);\n",
       "\t        node.parentNode.insertBefore(match, after);\n",
       "\t        subtract += end;\n",
       "\t        node = after;\n",
       "\t      }\n",
       "\t    } catch (err) {\n",
       "\t      _didIteratorError4 = true;\n",
       "\t      _iteratorError4 = err;\n",
       "\t    } finally {\n",
       "\t      try {\n",
       "\t        if (!_iteratorNormalCompletion4 && _iterator4.return) {\n",
       "\t          _iterator4.return();\n",
       "\t        }\n",
       "\t      } finally {\n",
       "\t        if (_didIteratorError4) {\n",
       "\t          throw _iteratorError4;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t  };\n",
       "\t\n",
       "\t  Explanation.prototype.wordlists_to_positions = function wordlists_to_positions(word_lists, raw_text) {\n",
       "\t    var ret = [];\n",
       "\t    var _iteratorNormalCompletion5 = true;\n",
       "\t    var _didIteratorError5 = false;\n",
       "\t    var _iteratorError5 = undefined;\n",
       "\t\n",
       "\t    try {\n",
       "\t      for (var _iterator5 = word_lists[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {\n",
       "\t        var words = _step5.value;\n",
       "\t\n",
       "\t        if (words.length === 0) {\n",
       "\t          ret.push([]);\n",
       "\t          continue;\n",
       "\t        }\n",
       "\t        var re = new RegExp(\"\\\\b(\" + words.join('|') + \")\\\\b\", 'gm');\n",
       "\t        var temp = void 0;\n",
       "\t        var list = [];\n",
       "\t        while ((temp = re.exec(raw_text)) !== null) {\n",
       "\t          list.push([temp.index, temp.index + temp[0].length]);\n",
       "\t        }\n",
       "\t        ret.push(list);\n",
       "\t      }\n",
       "\t    } catch (err) {\n",
       "\t      _didIteratorError5 = true;\n",
       "\t      _iteratorError5 = err;\n",
       "\t    } finally {\n",
       "\t      try {\n",
       "\t        if (!_iteratorNormalCompletion5 && _iterator5.return) {\n",
       "\t          _iterator5.return();\n",
       "\t        }\n",
       "\t      } finally {\n",
       "\t        if (_didIteratorError5) {\n",
       "\t          throw _iteratorError5;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    return ret;\n",
       "\t  };\n",
       "\t\n",
       "\t  return Explanation;\n",
       "\t}();\n",
       "\t\n",
       "\texports.default = Explanation;\n",
       "\n",
       "/***/ }),\n",
       "/* 2 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;!function() {\n",
       "\t  var d3 = {\n",
       "\t    version: \"3.5.17\"\n",
       "\t  };\n",
       "\t  var d3_arraySlice = [].slice, d3_array = function(list) {\n",
       "\t    return d3_arraySlice.call(list);\n",
       "\t  };\n",
       "\t  var d3_document = this.document;\n",
       "\t  function d3_documentElement(node) {\n",
       "\t    return node && (node.ownerDocument || node.document || node).documentElement;\n",
       "\t  }\n",
       "\t  function d3_window(node) {\n",
       "\t    return node && (node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView);\n",
       "\t  }\n",
       "\t  if (d3_document) {\n",
       "\t    try {\n",
       "\t      d3_array(d3_document.documentElement.childNodes)[0].nodeType;\n",
       "\t    } catch (e) {\n",
       "\t      d3_array = function(list) {\n",
       "\t        var i = list.length, array = new Array(i);\n",
       "\t        while (i--) array[i] = list[i];\n",
       "\t        return array;\n",
       "\t      };\n",
       "\t    }\n",
       "\t  }\n",
       "\t  if (!Date.now) Date.now = function() {\n",
       "\t    return +new Date();\n",
       "\t  };\n",
       "\t  if (d3_document) {\n",
       "\t    try {\n",
       "\t      d3_document.createElement(\"DIV\").style.setProperty(\"opacity\", 0, \"\");\n",
       "\t    } catch (error) {\n",
       "\t      var d3_element_prototype = this.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = this.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty;\n",
       "\t      d3_element_prototype.setAttribute = function(name, value) {\n",
       "\t        d3_element_setAttribute.call(this, name, value + \"\");\n",
       "\t      };\n",
       "\t      d3_element_prototype.setAttributeNS = function(space, local, value) {\n",
       "\t        d3_element_setAttributeNS.call(this, space, local, value + \"\");\n",
       "\t      };\n",
       "\t      d3_style_prototype.setProperty = function(name, value, priority) {\n",
       "\t        d3_style_setProperty.call(this, name, value + \"\", priority);\n",
       "\t      };\n",
       "\t    }\n",
       "\t  }\n",
       "\t  d3.ascending = d3_ascending;\n",
       "\t  function d3_ascending(a, b) {\n",
       "\t    return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n",
       "\t  }\n",
       "\t  d3.descending = function(a, b) {\n",
       "\t    return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n",
       "\t  };\n",
       "\t  d3.min = function(array, f) {\n",
       "\t    var i = -1, n = array.length, a, b;\n",
       "\t    if (arguments.length === 1) {\n",
       "\t      while (++i < n) if ((b = array[i]) != null && b >= b) {\n",
       "\t        a = b;\n",
       "\t        break;\n",
       "\t      }\n",
       "\t      while (++i < n) if ((b = array[i]) != null && a > b) a = b;\n",
       "\t    } else {\n",
       "\t      while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n",
       "\t        a = b;\n",
       "\t        break;\n",
       "\t      }\n",
       "\t      while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b;\n",
       "\t    }\n",
       "\t    return a;\n",
       "\t  };\n",
       "\t  d3.max = function(array, f) {\n",
       "\t    var i = -1, n = array.length, a, b;\n",
       "\t    if (arguments.length === 1) {\n",
       "\t      while (++i < n) if ((b = array[i]) != null && b >= b) {\n",
       "\t        a = b;\n",
       "\t        break;\n",
       "\t      }\n",
       "\t      while (++i < n) if ((b = array[i]) != null && b > a) a = b;\n",
       "\t    } else {\n",
       "\t      while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n",
       "\t        a = b;\n",
       "\t        break;\n",
       "\t      }\n",
       "\t      while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b;\n",
       "\t    }\n",
       "\t    return a;\n",
       "\t  };\n",
       "\t  d3.extent = function(array, f) {\n",
       "\t    var i = -1, n = array.length, a, b, c;\n",
       "\t    if (arguments.length === 1) {\n",
       "\t      while (++i < n) if ((b = array[i]) != null && b >= b) {\n",
       "\t        a = c = b;\n",
       "\t        break;\n",
       "\t      }\n",
       "\t      while (++i < n) if ((b = array[i]) != null) {\n",
       "\t        if (a > b) a = b;\n",
       "\t        if (c < b) c = b;\n",
       "\t      }\n",
       "\t    } else {\n",
       "\t      while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) {\n",
       "\t        a = c = b;\n",
       "\t        break;\n",
       "\t      }\n",
       "\t      while (++i < n) if ((b = f.call(array, array[i], i)) != null) {\n",
       "\t        if (a > b) a = b;\n",
       "\t        if (c < b) c = b;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return [ a, c ];\n",
       "\t  };\n",
       "\t  function d3_number(x) {\n",
       "\t    return x === null ? NaN : +x;\n",
       "\t  }\n",
       "\t  function d3_numeric(x) {\n",
       "\t    return !isNaN(x);\n",
       "\t  }\n",
       "\t  d3.sum = function(array, f) {\n",
       "\t    var s = 0, n = array.length, a, i = -1;\n",
       "\t    if (arguments.length === 1) {\n",
       "\t      while (++i < n) if (d3_numeric(a = +array[i])) s += a;\n",
       "\t    } else {\n",
       "\t      while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a;\n",
       "\t    }\n",
       "\t    return s;\n",
       "\t  };\n",
       "\t  d3.mean = function(array, f) {\n",
       "\t    var s = 0, n = array.length, a, i = -1, j = n;\n",
       "\t    if (arguments.length === 1) {\n",
       "\t      while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j;\n",
       "\t    } else {\n",
       "\t      while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j;\n",
       "\t    }\n",
       "\t    if (j) return s / j;\n",
       "\t  };\n",
       "\t  d3.quantile = function(values, p) {\n",
       "\t    var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h;\n",
       "\t    return e ? v + e * (values[h] - v) : v;\n",
       "\t  };\n",
       "\t  d3.median = function(array, f) {\n",
       "\t    var numbers = [], n = array.length, a, i = -1;\n",
       "\t    if (arguments.length === 1) {\n",
       "\t      while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a);\n",
       "\t    } else {\n",
       "\t      while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a);\n",
       "\t    }\n",
       "\t    if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5);\n",
       "\t  };\n",
       "\t  d3.variance = function(array, f) {\n",
       "\t    var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0;\n",
       "\t    if (arguments.length === 1) {\n",
       "\t      while (++i < n) {\n",
       "\t        if (d3_numeric(a = d3_number(array[i]))) {\n",
       "\t          d = a - m;\n",
       "\t          m += d / ++j;\n",
       "\t          s += d * (a - m);\n",
       "\t        }\n",
       "\t      }\n",
       "\t    } else {\n",
       "\t      while (++i < n) {\n",
       "\t        if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) {\n",
       "\t          d = a - m;\n",
       "\t          m += d / ++j;\n",
       "\t          s += d * (a - m);\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    if (j > 1) return s / (j - 1);\n",
       "\t  };\n",
       "\t  d3.deviation = function() {\n",
       "\t    var v = d3.variance.apply(this, arguments);\n",
       "\t    return v ? Math.sqrt(v) : v;\n",
       "\t  };\n",
       "\t  function d3_bisector(compare) {\n",
       "\t    return {\n",
       "\t      left: function(a, x, lo, hi) {\n",
       "\t        if (arguments.length < 3) lo = 0;\n",
       "\t        if (arguments.length < 4) hi = a.length;\n",
       "\t        while (lo < hi) {\n",
       "\t          var mid = lo + hi >>> 1;\n",
       "\t          if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid;\n",
       "\t        }\n",
       "\t        return lo;\n",
       "\t      },\n",
       "\t      right: function(a, x, lo, hi) {\n",
       "\t        if (arguments.length < 3) lo = 0;\n",
       "\t        if (arguments.length < 4) hi = a.length;\n",
       "\t        while (lo < hi) {\n",
       "\t          var mid = lo + hi >>> 1;\n",
       "\t          if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1;\n",
       "\t        }\n",
       "\t        return lo;\n",
       "\t      }\n",
       "\t    };\n",
       "\t  }\n",
       "\t  var d3_bisect = d3_bisector(d3_ascending);\n",
       "\t  d3.bisectLeft = d3_bisect.left;\n",
       "\t  d3.bisect = d3.bisectRight = d3_bisect.right;\n",
       "\t  d3.bisector = function(f) {\n",
       "\t    return d3_bisector(f.length === 1 ? function(d, x) {\n",
       "\t      return d3_ascending(f(d), x);\n",
       "\t    } : f);\n",
       "\t  };\n",
       "\t  d3.shuffle = function(array, i0, i1) {\n",
       "\t    if ((m = arguments.length) < 3) {\n",
       "\t      i1 = array.length;\n",
       "\t      if (m < 2) i0 = 0;\n",
       "\t    }\n",
       "\t    var m = i1 - i0, t, i;\n",
       "\t    while (m) {\n",
       "\t      i = Math.random() * m-- | 0;\n",
       "\t      t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t;\n",
       "\t    }\n",
       "\t    return array;\n",
       "\t  };\n",
       "\t  d3.permute = function(array, indexes) {\n",
       "\t    var i = indexes.length, permutes = new Array(i);\n",
       "\t    while (i--) permutes[i] = array[indexes[i]];\n",
       "\t    return permutes;\n",
       "\t  };\n",
       "\t  d3.pairs = function(array) {\n",
       "\t    var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n);\n",
       "\t    while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ];\n",
       "\t    return pairs;\n",
       "\t  };\n",
       "\t  d3.transpose = function(matrix) {\n",
       "\t    if (!(n = matrix.length)) return [];\n",
       "\t    for (var i = -1, m = d3.min(matrix, d3_transposeLength), transpose = new Array(m); ++i < m; ) {\n",
       "\t      for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n; ) {\n",
       "\t        row[j] = matrix[j][i];\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return transpose;\n",
       "\t  };\n",
       "\t  function d3_transposeLength(d) {\n",
       "\t    return d.length;\n",
       "\t  }\n",
       "\t  d3.zip = function() {\n",
       "\t    return d3.transpose(arguments);\n",
       "\t  };\n",
       "\t  d3.keys = function(map) {\n",
       "\t    var keys = [];\n",
       "\t    for (var key in map) keys.push(key);\n",
       "\t    return keys;\n",
       "\t  };\n",
       "\t  d3.values = function(map) {\n",
       "\t    var values = [];\n",
       "\t    for (var key in map) values.push(map[key]);\n",
       "\t    return values;\n",
       "\t  };\n",
       "\t  d3.entries = function(map) {\n",
       "\t    var entries = [];\n",
       "\t    for (var key in map) entries.push({\n",
       "\t      key: key,\n",
       "\t      value: map[key]\n",
       "\t    });\n",
       "\t    return entries;\n",
       "\t  };\n",
       "\t  d3.merge = function(arrays) {\n",
       "\t    var n = arrays.length, m, i = -1, j = 0, merged, array;\n",
       "\t    while (++i < n) j += arrays[i].length;\n",
       "\t    merged = new Array(j);\n",
       "\t    while (--n >= 0) {\n",
       "\t      array = arrays[n];\n",
       "\t      m = array.length;\n",
       "\t      while (--m >= 0) {\n",
       "\t        merged[--j] = array[m];\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return merged;\n",
       "\t  };\n",
       "\t  var abs = Math.abs;\n",
       "\t  d3.range = function(start, stop, step) {\n",
       "\t    if (arguments.length < 3) {\n",
       "\t      step = 1;\n",
       "\t      if (arguments.length < 2) {\n",
       "\t        stop = start;\n",
       "\t        start = 0;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    if ((stop - start) / step === Infinity) throw new Error(\"infinite range\");\n",
       "\t    var range = [], k = d3_range_integerScale(abs(step)), i = -1, j;\n",
       "\t    start *= k, stop *= k, step *= k;\n",
       "\t    if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k);\n",
       "\t    return range;\n",
       "\t  };\n",
       "\t  function d3_range_integerScale(x) {\n",
       "\t    var k = 1;\n",
       "\t    while (x * k % 1) k *= 10;\n",
       "\t    return k;\n",
       "\t  }\n",
       "\t  function d3_class(ctor, properties) {\n",
       "\t    for (var key in properties) {\n",
       "\t      Object.defineProperty(ctor.prototype, key, {\n",
       "\t        value: properties[key],\n",
       "\t        enumerable: false\n",
       "\t      });\n",
       "\t    }\n",
       "\t  }\n",
       "\t  d3.map = function(object, f) {\n",
       "\t    var map = new d3_Map();\n",
       "\t    if (object instanceof d3_Map) {\n",
       "\t      object.forEach(function(key, value) {\n",
       "\t        map.set(key, value);\n",
       "\t      });\n",
       "\t    } else if (Array.isArray(object)) {\n",
       "\t      var i = -1, n = object.length, o;\n",
       "\t      if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o);\n",
       "\t    } else {\n",
       "\t      for (var key in object) map.set(key, object[key]);\n",
       "\t    }\n",
       "\t    return map;\n",
       "\t  };\n",
       "\t  function d3_Map() {\n",
       "\t    this._ = Object.create(null);\n",
       "\t  }\n",
       "\t  var d3_map_proto = \"__proto__\", d3_map_zero = \"\\x00\";\n",
       "\t  d3_class(d3_Map, {\n",
       "\t    has: d3_map_has,\n",
       "\t    get: function(key) {\n",
       "\t      return this._[d3_map_escape(key)];\n",
       "\t    },\n",
       "\t    set: function(key, value) {\n",
       "\t      return this._[d3_map_escape(key)] = value;\n",
       "\t    },\n",
       "\t    remove: d3_map_remove,\n",
       "\t    keys: d3_map_keys,\n",
       "\t    values: function() {\n",
       "\t      var values = [];\n",
       "\t      for (var key in this._) values.push(this._[key]);\n",
       "\t      return values;\n",
       "\t    },\n",
       "\t    entries: function() {\n",
       "\t      var entries = [];\n",
       "\t      for (var key in this._) entries.push({\n",
       "\t        key: d3_map_unescape(key),\n",
       "\t        value: this._[key]\n",
       "\t      });\n",
       "\t      return entries;\n",
       "\t    },\n",
       "\t    size: d3_map_size,\n",
       "\t    empty: d3_map_empty,\n",
       "\t    forEach: function(f) {\n",
       "\t      for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]);\n",
       "\t    }\n",
       "\t  });\n",
       "\t  function d3_map_escape(key) {\n",
       "\t    return (key += \"\") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key;\n",
       "\t  }\n",
       "\t  function d3_map_unescape(key) {\n",
       "\t    return (key += \"\")[0] === d3_map_zero ? key.slice(1) : key;\n",
       "\t  }\n",
       "\t  function d3_map_has(key) {\n",
       "\t    return d3_map_escape(key) in this._;\n",
       "\t  }\n",
       "\t  function d3_map_remove(key) {\n",
       "\t    return (key = d3_map_escape(key)) in this._ && delete this._[key];\n",
       "\t  }\n",
       "\t  function d3_map_keys() {\n",
       "\t    var keys = [];\n",
       "\t    for (var key in this._) keys.push(d3_map_unescape(key));\n",
       "\t    return keys;\n",
       "\t  }\n",
       "\t  function d3_map_size() {\n",
       "\t    var size = 0;\n",
       "\t    for (var key in this._) ++size;\n",
       "\t    return size;\n",
       "\t  }\n",
       "\t  function d3_map_empty() {\n",
       "\t    for (var key in this._) return false;\n",
       "\t    return true;\n",
       "\t  }\n",
       "\t  d3.nest = function() {\n",
       "\t    var nest = {}, keys = [], sortKeys = [], sortValues, rollup;\n",
       "\t    function map(mapType, array, depth) {\n",
       "\t      if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array;\n",
       "\t      var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values;\n",
       "\t      while (++i < n) {\n",
       "\t        if (values = valuesByKey.get(keyValue = key(object = array[i]))) {\n",
       "\t          values.push(object);\n",
       "\t        } else {\n",
       "\t          valuesByKey.set(keyValue, [ object ]);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      if (mapType) {\n",
       "\t        object = mapType();\n",
       "\t        setter = function(keyValue, values) {\n",
       "\t          object.set(keyValue, map(mapType, values, depth));\n",
       "\t        };\n",
       "\t      } else {\n",
       "\t        object = {};\n",
       "\t        setter = function(keyValue, values) {\n",
       "\t          object[keyValue] = map(mapType, values, depth);\n",
       "\t        };\n",
       "\t      }\n",
       "\t      valuesByKey.forEach(setter);\n",
       "\t      return object;\n",
       "\t    }\n",
       "\t    function entries(map, depth) {\n",
       "\t      if (depth >= keys.length) return map;\n",
       "\t      var array = [], sortKey = sortKeys[depth++];\n",
       "\t      map.forEach(function(key, keyMap) {\n",
       "\t        array.push({\n",
       "\t          key: key,\n",
       "\t          values: entries(keyMap, depth)\n",
       "\t        });\n",
       "\t      });\n",
       "\t      return sortKey ? array.sort(function(a, b) {\n",
       "\t        return sortKey(a.key, b.key);\n",
       "\t      }) : array;\n",
       "\t    }\n",
       "\t    nest.map = function(array, mapType) {\n",
       "\t      return map(mapType, array, 0);\n",
       "\t    };\n",
       "\t    nest.entries = function(array) {\n",
       "\t      return entries(map(d3.map, array, 0), 0);\n",
       "\t    };\n",
       "\t    nest.key = function(d) {\n",
       "\t      keys.push(d);\n",
       "\t      return nest;\n",
       "\t    };\n",
       "\t    nest.sortKeys = function(order) {\n",
       "\t      sortKeys[keys.length - 1] = order;\n",
       "\t      return nest;\n",
       "\t    };\n",
       "\t    nest.sortValues = function(order) {\n",
       "\t      sortValues = order;\n",
       "\t      return nest;\n",
       "\t    };\n",
       "\t    nest.rollup = function(f) {\n",
       "\t      rollup = f;\n",
       "\t      return nest;\n",
       "\t    };\n",
       "\t    return nest;\n",
       "\t  };\n",
       "\t  d3.set = function(array) {\n",
       "\t    var set = new d3_Set();\n",
       "\t    if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]);\n",
       "\t    return set;\n",
       "\t  };\n",
       "\t  function d3_Set() {\n",
       "\t    this._ = Object.create(null);\n",
       "\t  }\n",
       "\t  d3_class(d3_Set, {\n",
       "\t    has: d3_map_has,\n",
       "\t    add: function(key) {\n",
       "\t      this._[d3_map_escape(key += \"\")] = true;\n",
       "\t      return key;\n",
       "\t    },\n",
       "\t    remove: d3_map_remove,\n",
       "\t    values: d3_map_keys,\n",
       "\t    size: d3_map_size,\n",
       "\t    empty: d3_map_empty,\n",
       "\t    forEach: function(f) {\n",
       "\t      for (var key in this._) f.call(this, d3_map_unescape(key));\n",
       "\t    }\n",
       "\t  });\n",
       "\t  d3.behavior = {};\n",
       "\t  function d3_identity(d) {\n",
       "\t    return d;\n",
       "\t  }\n",
       "\t  d3.rebind = function(target, source) {\n",
       "\t    var i = 1, n = arguments.length, method;\n",
       "\t    while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]);\n",
       "\t    return target;\n",
       "\t  };\n",
       "\t  function d3_rebind(target, source, method) {\n",
       "\t    return function() {\n",
       "\t      var value = method.apply(source, arguments);\n",
       "\t      return value === source ? target : value;\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_vendorSymbol(object, name) {\n",
       "\t    if (name in object) return name;\n",
       "\t    name = name.charAt(0).toUpperCase() + name.slice(1);\n",
       "\t    for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) {\n",
       "\t      var prefixName = d3_vendorPrefixes[i] + name;\n",
       "\t      if (prefixName in object) return prefixName;\n",
       "\t    }\n",
       "\t  }\n",
       "\t  var d3_vendorPrefixes = [ \"webkit\", \"ms\", \"moz\", \"Moz\", \"o\", \"O\" ];\n",
       "\t  function d3_noop() {}\n",
       "\t  d3.dispatch = function() {\n",
       "\t    var dispatch = new d3_dispatch(), i = -1, n = arguments.length;\n",
       "\t    while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n",
       "\t    return dispatch;\n",
       "\t  };\n",
       "\t  function d3_dispatch() {}\n",
       "\t  d3_dispatch.prototype.on = function(type, listener) {\n",
       "\t    var i = type.indexOf(\".\"), name = \"\";\n",
       "\t    if (i >= 0) {\n",
       "\t      name = type.slice(i + 1);\n",
       "\t      type = type.slice(0, i);\n",
       "\t    }\n",
       "\t    if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener);\n",
       "\t    if (arguments.length === 2) {\n",
       "\t      if (listener == null) for (type in this) {\n",
       "\t        if (this.hasOwnProperty(type)) this[type].on(name, null);\n",
       "\t      }\n",
       "\t      return this;\n",
       "\t    }\n",
       "\t  };\n",
       "\t  function d3_dispatch_event(dispatch) {\n",
       "\t    var listeners = [], listenerByName = new d3_Map();\n",
       "\t    function event() {\n",
       "\t      var z = listeners, i = -1, n = z.length, l;\n",
       "\t      while (++i < n) if (l = z[i].on) l.apply(this, arguments);\n",
       "\t      return dispatch;\n",
       "\t    }\n",
       "\t    event.on = function(name, listener) {\n",
       "\t      var l = listenerByName.get(name), i;\n",
       "\t      if (arguments.length < 2) return l && l.on;\n",
       "\t      if (l) {\n",
       "\t        l.on = null;\n",
       "\t        listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1));\n",
       "\t        listenerByName.remove(name);\n",
       "\t      }\n",
       "\t      if (listener) listeners.push(listenerByName.set(name, {\n",
       "\t        on: listener\n",
       "\t      }));\n",
       "\t      return dispatch;\n",
       "\t    };\n",
       "\t    return event;\n",
       "\t  }\n",
       "\t  d3.event = null;\n",
       "\t  function d3_eventPreventDefault() {\n",
       "\t    d3.event.preventDefault();\n",
       "\t  }\n",
       "\t  function d3_eventSource() {\n",
       "\t    var e = d3.event, s;\n",
       "\t    while (s = e.sourceEvent) e = s;\n",
       "\t    return e;\n",
       "\t  }\n",
       "\t  function d3_eventDispatch(target) {\n",
       "\t    var dispatch = new d3_dispatch(), i = 0, n = arguments.length;\n",
       "\t    while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);\n",
       "\t    dispatch.of = function(thiz, argumentz) {\n",
       "\t      return function(e1) {\n",
       "\t        try {\n",
       "\t          var e0 = e1.sourceEvent = d3.event;\n",
       "\t          e1.target = target;\n",
       "\t          d3.event = e1;\n",
       "\t          dispatch[e1.type].apply(thiz, argumentz);\n",
       "\t        } finally {\n",
       "\t          d3.event = e0;\n",
       "\t        }\n",
       "\t      };\n",
       "\t    };\n",
       "\t    return dispatch;\n",
       "\t  }\n",
       "\t  d3.requote = function(s) {\n",
       "\t    return s.replace(d3_requote_re, \"\\\\$&\");\n",
       "\t  };\n",
       "\t  var d3_requote_re = /[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g;\n",
       "\t  var d3_subclass = {}.__proto__ ? function(object, prototype) {\n",
       "\t    object.__proto__ = prototype;\n",
       "\t  } : function(object, prototype) {\n",
       "\t    for (var property in prototype) object[property] = prototype[property];\n",
       "\t  };\n",
       "\t  function d3_selection(groups) {\n",
       "\t    d3_subclass(groups, d3_selectionPrototype);\n",
       "\t    return groups;\n",
       "\t  }\n",
       "\t  var d3_select = function(s, n) {\n",
       "\t    return n.querySelector(s);\n",
       "\t  }, d3_selectAll = function(s, n) {\n",
       "\t    return n.querySelectorAll(s);\n",
       "\t  }, d3_selectMatches = function(n, s) {\n",
       "\t    var d3_selectMatcher = n.matches || n[d3_vendorSymbol(n, \"matchesSelector\")];\n",
       "\t    d3_selectMatches = function(n, s) {\n",
       "\t      return d3_selectMatcher.call(n, s);\n",
       "\t    };\n",
       "\t    return d3_selectMatches(n, s);\n",
       "\t  };\n",
       "\t  if (typeof Sizzle === \"function\") {\n",
       "\t    d3_select = function(s, n) {\n",
       "\t      return Sizzle(s, n)[0] || null;\n",
       "\t    };\n",
       "\t    d3_selectAll = Sizzle;\n",
       "\t    d3_selectMatches = Sizzle.matchesSelector;\n",
       "\t  }\n",
       "\t  d3.selection = function() {\n",
       "\t    return d3.select(d3_document.documentElement);\n",
       "\t  };\n",
       "\t  var d3_selectionPrototype = d3.selection.prototype = [];\n",
       "\t  d3_selectionPrototype.select = function(selector) {\n",
       "\t    var subgroups = [], subgroup, subnode, group, node;\n",
       "\t    selector = d3_selection_selector(selector);\n",
       "\t    for (var j = -1, m = this.length; ++j < m; ) {\n",
       "\t      subgroups.push(subgroup = []);\n",
       "\t      subgroup.parentNode = (group = this[j]).parentNode;\n",
       "\t      for (var i = -1, n = group.length; ++i < n; ) {\n",
       "\t        if (node = group[i]) {\n",
       "\t          subgroup.push(subnode = selector.call(node, node.__data__, i, j));\n",
       "\t          if (subnode && \"__data__\" in node) subnode.__data__ = node.__data__;\n",
       "\t        } else {\n",
       "\t          subgroup.push(null);\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return d3_selection(subgroups);\n",
       "\t  };\n",
       "\t  function d3_selection_selector(selector) {\n",
       "\t    return typeof selector === \"function\" ? selector : function() {\n",
       "\t      return d3_select(selector, this);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3_selectionPrototype.selectAll = function(selector) {\n",
       "\t    var subgroups = [], subgroup, node;\n",
       "\t    selector = d3_selection_selectorAll(selector);\n",
       "\t    for (var j = -1, m = this.length; ++j < m; ) {\n",
       "\t      for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n",
       "\t        if (node = group[i]) {\n",
       "\t          subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j)));\n",
       "\t          subgroup.parentNode = node;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return d3_selection(subgroups);\n",
       "\t  };\n",
       "\t  function d3_selection_selectorAll(selector) {\n",
       "\t    return typeof selector === \"function\" ? selector : function() {\n",
       "\t      return d3_selectAll(selector, this);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  var d3_nsXhtml = \"http://www.w3.org/1999/xhtml\";\n",
       "\t  var d3_nsPrefix = {\n",
       "\t    svg: \"http://www.w3.org/2000/svg\",\n",
       "\t    xhtml: d3_nsXhtml,\n",
       "\t    xlink: \"http://www.w3.org/1999/xlink\",\n",
       "\t    xml: \"http://www.w3.org/XML/1998/namespace\",\n",
       "\t    xmlns: \"http://www.w3.org/2000/xmlns/\"\n",
       "\t  };\n",
       "\t  d3.ns = {\n",
       "\t    prefix: d3_nsPrefix,\n",
       "\t    qualify: function(name) {\n",
       "\t      var i = name.indexOf(\":\"), prefix = name;\n",
       "\t      if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n",
       "\t      return d3_nsPrefix.hasOwnProperty(prefix) ? {\n",
       "\t        space: d3_nsPrefix[prefix],\n",
       "\t        local: name\n",
       "\t      } : name;\n",
       "\t    }\n",
       "\t  };\n",
       "\t  d3_selectionPrototype.attr = function(name, value) {\n",
       "\t    if (arguments.length < 2) {\n",
       "\t      if (typeof name === \"string\") {\n",
       "\t        var node = this.node();\n",
       "\t        name = d3.ns.qualify(name);\n",
       "\t        return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name);\n",
       "\t      }\n",
       "\t      for (value in name) this.each(d3_selection_attr(value, name[value]));\n",
       "\t      return this;\n",
       "\t    }\n",
       "\t    return this.each(d3_selection_attr(name, value));\n",
       "\t  };\n",
       "\t  function d3_selection_attr(name, value) {\n",
       "\t    name = d3.ns.qualify(name);\n",
       "\t    function attrNull() {\n",
       "\t      this.removeAttribute(name);\n",
       "\t    }\n",
       "\t    function attrNullNS() {\n",
       "\t      this.removeAttributeNS(name.space, name.local);\n",
       "\t    }\n",
       "\t    function attrConstant() {\n",
       "\t      this.setAttribute(name, value);\n",
       "\t    }\n",
       "\t    function attrConstantNS() {\n",
       "\t      this.setAttributeNS(name.space, name.local, value);\n",
       "\t    }\n",
       "\t    function attrFunction() {\n",
       "\t      var x = value.apply(this, arguments);\n",
       "\t      if (x == null) this.removeAttribute(name); else this.setAttribute(name, x);\n",
       "\t    }\n",
       "\t    function attrFunctionNS() {\n",
       "\t      var x = value.apply(this, arguments);\n",
       "\t      if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x);\n",
       "\t    }\n",
       "\t    return value == null ? name.local ? attrNullNS : attrNull : typeof value === \"function\" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant;\n",
       "\t  }\n",
       "\t  function d3_collapse(s) {\n",
       "\t    return s.trim().replace(/\\s+/g, \" \");\n",
       "\t  }\n",
       "\t  d3_selectionPrototype.classed = function(name, value) {\n",
       "\t    if (arguments.length < 2) {\n",
       "\t      if (typeof name === \"string\") {\n",
       "\t        var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1;\n",
       "\t        if (value = node.classList) {\n",
       "\t          while (++i < n) if (!value.contains(name[i])) return false;\n",
       "\t        } else {\n",
       "\t          value = node.getAttribute(\"class\");\n",
       "\t          while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false;\n",
       "\t        }\n",
       "\t        return true;\n",
       "\t      }\n",
       "\t      for (value in name) this.each(d3_selection_classed(value, name[value]));\n",
       "\t      return this;\n",
       "\t    }\n",
       "\t    return this.each(d3_selection_classed(name, value));\n",
       "\t  };\n",
       "\t  function d3_selection_classedRe(name) {\n",
       "\t    return new RegExp(\"(?:^|\\\\s+)\" + d3.requote(name) + \"(?:\\\\s+|$)\", \"g\");\n",
       "\t  }\n",
       "\t  function d3_selection_classes(name) {\n",
       "\t    return (name + \"\").trim().split(/^|\\s+/);\n",
       "\t  }\n",
       "\t  function d3_selection_classed(name, value) {\n",
       "\t    name = d3_selection_classes(name).map(d3_selection_classedName);\n",
       "\t    var n = name.length;\n",
       "\t    function classedConstant() {\n",
       "\t      var i = -1;\n",
       "\t      while (++i < n) name[i](this, value);\n",
       "\t    }\n",
       "\t    function classedFunction() {\n",
       "\t      var i = -1, x = value.apply(this, arguments);\n",
       "\t      while (++i < n) name[i](this, x);\n",
       "\t    }\n",
       "\t    return typeof value === \"function\" ? classedFunction : classedConstant;\n",
       "\t  }\n",
       "\t  function d3_selection_classedName(name) {\n",
       "\t    var re = d3_selection_classedRe(name);\n",
       "\t    return function(node, value) {\n",
       "\t      if (c = node.classList) return value ? c.add(name) : c.remove(name);\n",
       "\t      var c = node.getAttribute(\"class\") || \"\";\n",
       "\t      if (value) {\n",
       "\t        re.lastIndex = 0;\n",
       "\t        if (!re.test(c)) node.setAttribute(\"class\", d3_collapse(c + \" \" + name));\n",
       "\t      } else {\n",
       "\t        node.setAttribute(\"class\", d3_collapse(c.replace(re, \" \")));\n",
       "\t      }\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3_selectionPrototype.style = function(name, value, priority) {\n",
       "\t    var n = arguments.length;\n",
       "\t    if (n < 3) {\n",
       "\t      if (typeof name !== \"string\") {\n",
       "\t        if (n < 2) value = \"\";\n",
       "\t        for (priority in name) this.each(d3_selection_style(priority, name[priority], value));\n",
       "\t        return this;\n",
       "\t      }\n",
       "\t      if (n < 2) {\n",
       "\t        var node = this.node();\n",
       "\t        return d3_window(node).getComputedStyle(node, null).getPropertyValue(name);\n",
       "\t      }\n",
       "\t      priority = \"\";\n",
       "\t    }\n",
       "\t    return this.each(d3_selection_style(name, value, priority));\n",
       "\t  };\n",
       "\t  function d3_selection_style(name, value, priority) {\n",
       "\t    function styleNull() {\n",
       "\t      this.style.removeProperty(name);\n",
       "\t    }\n",
       "\t    function styleConstant() {\n",
       "\t      this.style.setProperty(name, value, priority);\n",
       "\t    }\n",
       "\t    function styleFunction() {\n",
       "\t      var x = value.apply(this, arguments);\n",
       "\t      if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority);\n",
       "\t    }\n",
       "\t    return value == null ? styleNull : typeof value === \"function\" ? styleFunction : styleConstant;\n",
       "\t  }\n",
       "\t  d3_selectionPrototype.property = function(name, value) {\n",
       "\t    if (arguments.length < 2) {\n",
       "\t      if (typeof name === \"string\") return this.node()[name];\n",
       "\t      for (value in name) this.each(d3_selection_property(value, name[value]));\n",
       "\t      return this;\n",
       "\t    }\n",
       "\t    return this.each(d3_selection_property(name, value));\n",
       "\t  };\n",
       "\t  function d3_selection_property(name, value) {\n",
       "\t    function propertyNull() {\n",
       "\t      delete this[name];\n",
       "\t    }\n",
       "\t    function propertyConstant() {\n",
       "\t      this[name] = value;\n",
       "\t    }\n",
       "\t    function propertyFunction() {\n",
       "\t      var x = value.apply(this, arguments);\n",
       "\t      if (x == null) delete this[name]; else this[name] = x;\n",
       "\t    }\n",
       "\t    return value == null ? propertyNull : typeof value === \"function\" ? propertyFunction : propertyConstant;\n",
       "\t  }\n",
       "\t  d3_selectionPrototype.text = function(value) {\n",
       "\t    return arguments.length ? this.each(typeof value === \"function\" ? function() {\n",
       "\t      var v = value.apply(this, arguments);\n",
       "\t      this.textContent = v == null ? \"\" : v;\n",
       "\t    } : value == null ? function() {\n",
       "\t      this.textContent = \"\";\n",
       "\t    } : function() {\n",
       "\t      this.textContent = value;\n",
       "\t    }) : this.node().textContent;\n",
       "\t  };\n",
       "\t  d3_selectionPrototype.html = function(value) {\n",
       "\t    return arguments.length ? this.each(typeof value === \"function\" ? function() {\n",
       "\t      var v = value.apply(this, arguments);\n",
       "\t      this.innerHTML = v == null ? \"\" : v;\n",
       "\t    } : value == null ? function() {\n",
       "\t      this.innerHTML = \"\";\n",
       "\t    } : function() {\n",
       "\t      this.innerHTML = value;\n",
       "\t    }) : this.node().innerHTML;\n",
       "\t  };\n",
       "\t  d3_selectionPrototype.append = function(name) {\n",
       "\t    name = d3_selection_creator(name);\n",
       "\t    return this.select(function() {\n",
       "\t      return this.appendChild(name.apply(this, arguments));\n",
       "\t    });\n",
       "\t  };\n",
       "\t  function d3_selection_creator(name) {\n",
       "\t    function create() {\n",
       "\t      var document = this.ownerDocument, namespace = this.namespaceURI;\n",
       "\t      return namespace === d3_nsXhtml && document.documentElement.namespaceURI === d3_nsXhtml ? document.createElement(name) : document.createElementNS(namespace, name);\n",
       "\t    }\n",
       "\t    function createNS() {\n",
       "\t      return this.ownerDocument.createElementNS(name.space, name.local);\n",
       "\t    }\n",
       "\t    return typeof name === \"function\" ? name : (name = d3.ns.qualify(name)).local ? createNS : create;\n",
       "\t  }\n",
       "\t  d3_selectionPrototype.insert = function(name, before) {\n",
       "\t    name = d3_selection_creator(name);\n",
       "\t    before = d3_selection_selector(before);\n",
       "\t    return this.select(function() {\n",
       "\t      return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null);\n",
       "\t    });\n",
       "\t  };\n",
       "\t  d3_selectionPrototype.remove = function() {\n",
       "\t    return this.each(d3_selectionRemove);\n",
       "\t  };\n",
       "\t  function d3_selectionRemove() {\n",
       "\t    var parent = this.parentNode;\n",
       "\t    if (parent) parent.removeChild(this);\n",
       "\t  }\n",
       "\t  d3_selectionPrototype.data = function(value, key) {\n",
       "\t    var i = -1, n = this.length, group, node;\n",
       "\t    if (!arguments.length) {\n",
       "\t      value = new Array(n = (group = this[0]).length);\n",
       "\t      while (++i < n) {\n",
       "\t        if (node = group[i]) {\n",
       "\t          value[i] = node.__data__;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return value;\n",
       "\t    }\n",
       "\t    function bind(group, groupData) {\n",
       "\t      var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData;\n",
       "\t      if (key) {\n",
       "\t        var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue;\n",
       "\t        for (i = -1; ++i < n; ) {\n",
       "\t          if (node = group[i]) {\n",
       "\t            if (nodeByKeyValue.has(keyValue = key.call(node, node.__data__, i))) {\n",
       "\t              exitNodes[i] = node;\n",
       "\t            } else {\n",
       "\t              nodeByKeyValue.set(keyValue, node);\n",
       "\t            }\n",
       "\t            keyValues[i] = keyValue;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        for (i = -1; ++i < m; ) {\n",
       "\t          if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) {\n",
       "\t            enterNodes[i] = d3_selection_dataNode(nodeData);\n",
       "\t          } else if (node !== true) {\n",
       "\t            updateNodes[i] = node;\n",
       "\t            node.__data__ = nodeData;\n",
       "\t          }\n",
       "\t          nodeByKeyValue.set(keyValue, true);\n",
       "\t        }\n",
       "\t        for (i = -1; ++i < n; ) {\n",
       "\t          if (i in keyValues && nodeByKeyValue.get(keyValues[i]) !== true) {\n",
       "\t            exitNodes[i] = group[i];\n",
       "\t          }\n",
       "\t        }\n",
       "\t      } else {\n",
       "\t        for (i = -1; ++i < n0; ) {\n",
       "\t          node = group[i];\n",
       "\t          nodeData = groupData[i];\n",
       "\t          if (node) {\n",
       "\t            node.__data__ = nodeData;\n",
       "\t            updateNodes[i] = node;\n",
       "\t          } else {\n",
       "\t            enterNodes[i] = d3_selection_dataNode(nodeData);\n",
       "\t          }\n",
       "\t        }\n",
       "\t        for (;i < m; ++i) {\n",
       "\t          enterNodes[i] = d3_selection_dataNode(groupData[i]);\n",
       "\t        }\n",
       "\t        for (;i < n; ++i) {\n",
       "\t          exitNodes[i] = group[i];\n",
       "\t        }\n",
       "\t      }\n",
       "\t      enterNodes.update = updateNodes;\n",
       "\t      enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode;\n",
       "\t      enter.push(enterNodes);\n",
       "\t      update.push(updateNodes);\n",
       "\t      exit.push(exitNodes);\n",
       "\t    }\n",
       "\t    var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]);\n",
       "\t    if (typeof value === \"function\") {\n",
       "\t      while (++i < n) {\n",
       "\t        bind(group = this[i], value.call(group, group.parentNode.__data__, i));\n",
       "\t      }\n",
       "\t    } else {\n",
       "\t      while (++i < n) {\n",
       "\t        bind(group = this[i], value);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    update.enter = function() {\n",
       "\t      return enter;\n",
       "\t    };\n",
       "\t    update.exit = function() {\n",
       "\t      return exit;\n",
       "\t    };\n",
       "\t    return update;\n",
       "\t  };\n",
       "\t  function d3_selection_dataNode(data) {\n",
       "\t    return {\n",
       "\t      __data__: data\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3_selectionPrototype.datum = function(value) {\n",
       "\t    return arguments.length ? this.property(\"__data__\", value) : this.property(\"__data__\");\n",
       "\t  };\n",
       "\t  d3_selectionPrototype.filter = function(filter) {\n",
       "\t    var subgroups = [], subgroup, group, node;\n",
       "\t    if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n",
       "\t    for (var j = 0, m = this.length; j < m; j++) {\n",
       "\t      subgroups.push(subgroup = []);\n",
       "\t      subgroup.parentNode = (group = this[j]).parentNode;\n",
       "\t      for (var i = 0, n = group.length; i < n; i++) {\n",
       "\t        if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n",
       "\t          subgroup.push(node);\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return d3_selection(subgroups);\n",
       "\t  };\n",
       "\t  function d3_selection_filter(selector) {\n",
       "\t    return function() {\n",
       "\t      return d3_selectMatches(this, selector);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3_selectionPrototype.order = function() {\n",
       "\t    for (var j = -1, m = this.length; ++j < m; ) {\n",
       "\t      for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) {\n",
       "\t        if (node = group[i]) {\n",
       "\t          if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);\n",
       "\t          next = node;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return this;\n",
       "\t  };\n",
       "\t  d3_selectionPrototype.sort = function(comparator) {\n",
       "\t    comparator = d3_selection_sortComparator.apply(this, arguments);\n",
       "\t    for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator);\n",
       "\t    return this.order();\n",
       "\t  };\n",
       "\t  function d3_selection_sortComparator(comparator) {\n",
       "\t    if (!arguments.length) comparator = d3_ascending;\n",
       "\t    return function(a, b) {\n",
       "\t      return a && b ? comparator(a.__data__, b.__data__) : !a - !b;\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3_selectionPrototype.each = function(callback) {\n",
       "\t    return d3_selection_each(this, function(node, i, j) {\n",
       "\t      callback.call(node, node.__data__, i, j);\n",
       "\t    });\n",
       "\t  };\n",
       "\t  function d3_selection_each(groups, callback) {\n",
       "\t    for (var j = 0, m = groups.length; j < m; j++) {\n",
       "\t      for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) {\n",
       "\t        if (node = group[i]) callback(node, i, j);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return groups;\n",
       "\t  }\n",
       "\t  d3_selectionPrototype.call = function(callback) {\n",
       "\t    var args = d3_array(arguments);\n",
       "\t    callback.apply(args[0] = this, args);\n",
       "\t    return this;\n",
       "\t  };\n",
       "\t  d3_selectionPrototype.empty = function() {\n",
       "\t    return !this.node();\n",
       "\t  };\n",
       "\t  d3_selectionPrototype.node = function() {\n",
       "\t    for (var j = 0, m = this.length; j < m; j++) {\n",
       "\t      for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n",
       "\t        var node = group[i];\n",
       "\t        if (node) return node;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return null;\n",
       "\t  };\n",
       "\t  d3_selectionPrototype.size = function() {\n",
       "\t    var n = 0;\n",
       "\t    d3_selection_each(this, function() {\n",
       "\t      ++n;\n",
       "\t    });\n",
       "\t    return n;\n",
       "\t  };\n",
       "\t  function d3_selection_enter(selection) {\n",
       "\t    d3_subclass(selection, d3_selection_enterPrototype);\n",
       "\t    return selection;\n",
       "\t  }\n",
       "\t  var d3_selection_enterPrototype = [];\n",
       "\t  d3.selection.enter = d3_selection_enter;\n",
       "\t  d3.selection.enter.prototype = d3_selection_enterPrototype;\n",
       "\t  d3_selection_enterPrototype.append = d3_selectionPrototype.append;\n",
       "\t  d3_selection_enterPrototype.empty = d3_selectionPrototype.empty;\n",
       "\t  d3_selection_enterPrototype.node = d3_selectionPrototype.node;\n",
       "\t  d3_selection_enterPrototype.call = d3_selectionPrototype.call;\n",
       "\t  d3_selection_enterPrototype.size = d3_selectionPrototype.size;\n",
       "\t  d3_selection_enterPrototype.select = function(selector) {\n",
       "\t    var subgroups = [], subgroup, subnode, upgroup, group, node;\n",
       "\t    for (var j = -1, m = this.length; ++j < m; ) {\n",
       "\t      upgroup = (group = this[j]).update;\n",
       "\t      subgroups.push(subgroup = []);\n",
       "\t      subgroup.parentNode = group.parentNode;\n",
       "\t      for (var i = -1, n = group.length; ++i < n; ) {\n",
       "\t        if (node = group[i]) {\n",
       "\t          subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j));\n",
       "\t          subnode.__data__ = node.__data__;\n",
       "\t        } else {\n",
       "\t          subgroup.push(null);\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return d3_selection(subgroups);\n",
       "\t  };\n",
       "\t  d3_selection_enterPrototype.insert = function(name, before) {\n",
       "\t    if (arguments.length < 2) before = d3_selection_enterInsertBefore(this);\n",
       "\t    return d3_selectionPrototype.insert.call(this, name, before);\n",
       "\t  };\n",
       "\t  function d3_selection_enterInsertBefore(enter) {\n",
       "\t    var i0, j0;\n",
       "\t    return function(d, i, j) {\n",
       "\t      var group = enter[j].update, n = group.length, node;\n",
       "\t      if (j != j0) j0 = j, i0 = 0;\n",
       "\t      if (i >= i0) i0 = i + 1;\n",
       "\t      while (!(node = group[i0]) && ++i0 < n) ;\n",
       "\t      return node;\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.select = function(node) {\n",
       "\t    var group;\n",
       "\t    if (typeof node === \"string\") {\n",
       "\t      group = [ d3_select(node, d3_document) ];\n",
       "\t      group.parentNode = d3_document.documentElement;\n",
       "\t    } else {\n",
       "\t      group = [ node ];\n",
       "\t      group.parentNode = d3_documentElement(node);\n",
       "\t    }\n",
       "\t    return d3_selection([ group ]);\n",
       "\t  };\n",
       "\t  d3.selectAll = function(nodes) {\n",
       "\t    var group;\n",
       "\t    if (typeof nodes === \"string\") {\n",
       "\t      group = d3_array(d3_selectAll(nodes, d3_document));\n",
       "\t      group.parentNode = d3_document.documentElement;\n",
       "\t    } else {\n",
       "\t      group = d3_array(nodes);\n",
       "\t      group.parentNode = null;\n",
       "\t    }\n",
       "\t    return d3_selection([ group ]);\n",
       "\t  };\n",
       "\t  d3_selectionPrototype.on = function(type, listener, capture) {\n",
       "\t    var n = arguments.length;\n",
       "\t    if (n < 3) {\n",
       "\t      if (typeof type !== \"string\") {\n",
       "\t        if (n < 2) listener = false;\n",
       "\t        for (capture in type) this.each(d3_selection_on(capture, type[capture], listener));\n",
       "\t        return this;\n",
       "\t      }\n",
       "\t      if (n < 2) return (n = this.node()[\"__on\" + type]) && n._;\n",
       "\t      capture = false;\n",
       "\t    }\n",
       "\t    return this.each(d3_selection_on(type, listener, capture));\n",
       "\t  };\n",
       "\t  function d3_selection_on(type, listener, capture) {\n",
       "\t    var name = \"__on\" + type, i = type.indexOf(\".\"), wrap = d3_selection_onListener;\n",
       "\t    if (i > 0) type = type.slice(0, i);\n",
       "\t    var filter = d3_selection_onFilters.get(type);\n",
       "\t    if (filter) type = filter, wrap = d3_selection_onFilter;\n",
       "\t    function onRemove() {\n",
       "\t      var l = this[name];\n",
       "\t      if (l) {\n",
       "\t        this.removeEventListener(type, l, l.$);\n",
       "\t        delete this[name];\n",
       "\t      }\n",
       "\t    }\n",
       "\t    function onAdd() {\n",
       "\t      var l = wrap(listener, d3_array(arguments));\n",
       "\t      onRemove.call(this);\n",
       "\t      this.addEventListener(type, this[name] = l, l.$ = capture);\n",
       "\t      l._ = listener;\n",
       "\t    }\n",
       "\t    function removeAll() {\n",
       "\t      var re = new RegExp(\"^__on([^.]+)\" + d3.requote(type) + \"$\"), match;\n",
       "\t      for (var name in this) {\n",
       "\t        if (match = name.match(re)) {\n",
       "\t          var l = this[name];\n",
       "\t          this.removeEventListener(match[1], l, l.$);\n",
       "\t          delete this[name];\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll;\n",
       "\t  }\n",
       "\t  var d3_selection_onFilters = d3.map({\n",
       "\t    mouseenter: \"mouseover\",\n",
       "\t    mouseleave: \"mouseout\"\n",
       "\t  });\n",
       "\t  if (d3_document) {\n",
       "\t    d3_selection_onFilters.forEach(function(k) {\n",
       "\t      if (\"on\" + k in d3_document) d3_selection_onFilters.remove(k);\n",
       "\t    });\n",
       "\t  }\n",
       "\t  function d3_selection_onListener(listener, argumentz) {\n",
       "\t    return function(e) {\n",
       "\t      var o = d3.event;\n",
       "\t      d3.event = e;\n",
       "\t      argumentz[0] = this.__data__;\n",
       "\t      try {\n",
       "\t        listener.apply(this, argumentz);\n",
       "\t      } finally {\n",
       "\t        d3.event = o;\n",
       "\t      }\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_selection_onFilter(listener, argumentz) {\n",
       "\t    var l = d3_selection_onListener(listener, argumentz);\n",
       "\t    return function(e) {\n",
       "\t      var target = this, related = e.relatedTarget;\n",
       "\t      if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) {\n",
       "\t        l.call(target, e);\n",
       "\t      }\n",
       "\t    };\n",
       "\t  }\n",
       "\t  var d3_event_dragSelect, d3_event_dragId = 0;\n",
       "\t  function d3_event_dragSuppress(node) {\n",
       "\t    var name = \".dragsuppress-\" + ++d3_event_dragId, click = \"click\" + name, w = d3.select(d3_window(node)).on(\"touchmove\" + name, d3_eventPreventDefault).on(\"dragstart\" + name, d3_eventPreventDefault).on(\"selectstart\" + name, d3_eventPreventDefault);\n",
       "\t    if (d3_event_dragSelect == null) {\n",
       "\t      d3_event_dragSelect = \"onselectstart\" in node ? false : d3_vendorSymbol(node.style, \"userSelect\");\n",
       "\t    }\n",
       "\t    if (d3_event_dragSelect) {\n",
       "\t      var style = d3_documentElement(node).style, select = style[d3_event_dragSelect];\n",
       "\t      style[d3_event_dragSelect] = \"none\";\n",
       "\t    }\n",
       "\t    return function(suppressClick) {\n",
       "\t      w.on(name, null);\n",
       "\t      if (d3_event_dragSelect) style[d3_event_dragSelect] = select;\n",
       "\t      if (suppressClick) {\n",
       "\t        var off = function() {\n",
       "\t          w.on(click, null);\n",
       "\t        };\n",
       "\t        w.on(click, function() {\n",
       "\t          d3_eventPreventDefault();\n",
       "\t          off();\n",
       "\t        }, true);\n",
       "\t        setTimeout(off, 0);\n",
       "\t      }\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.mouse = function(container) {\n",
       "\t    return d3_mousePoint(container, d3_eventSource());\n",
       "\t  };\n",
       "\t  var d3_mouse_bug44083 = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0;\n",
       "\t  function d3_mousePoint(container, e) {\n",
       "\t    if (e.changedTouches) e = e.changedTouches[0];\n",
       "\t    var svg = container.ownerSVGElement || container;\n",
       "\t    if (svg.createSVGPoint) {\n",
       "\t      var point = svg.createSVGPoint();\n",
       "\t      if (d3_mouse_bug44083 < 0) {\n",
       "\t        var window = d3_window(container);\n",
       "\t        if (window.scrollX || window.scrollY) {\n",
       "\t          svg = d3.select(\"body\").append(\"svg\").style({\n",
       "\t            position: \"absolute\",\n",
       "\t            top: 0,\n",
       "\t            left: 0,\n",
       "\t            margin: 0,\n",
       "\t            padding: 0,\n",
       "\t            border: \"none\"\n",
       "\t          }, \"important\");\n",
       "\t          var ctm = svg[0][0].getScreenCTM();\n",
       "\t          d3_mouse_bug44083 = !(ctm.f || ctm.e);\n",
       "\t          svg.remove();\n",
       "\t        }\n",
       "\t      }\n",
       "\t      if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, \n",
       "\t      point.y = e.clientY;\n",
       "\t      point = point.matrixTransform(container.getScreenCTM().inverse());\n",
       "\t      return [ point.x, point.y ];\n",
       "\t    }\n",
       "\t    var rect = container.getBoundingClientRect();\n",
       "\t    return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ];\n",
       "\t  }\n",
       "\t  d3.touch = function(container, touches, identifier) {\n",
       "\t    if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches;\n",
       "\t    if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) {\n",
       "\t      if ((touch = touches[i]).identifier === identifier) {\n",
       "\t        return d3_mousePoint(container, touch);\n",
       "\t      }\n",
       "\t    }\n",
       "\t  };\n",
       "\t  d3.behavior.drag = function() {\n",
       "\t    var event = d3_eventDispatch(drag, \"drag\", \"dragstart\", \"dragend\"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_window, \"mousemove\", \"mouseup\"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_identity, \"touchmove\", \"touchend\");\n",
       "\t    function drag() {\n",
       "\t      this.on(\"mousedown.drag\", mousedown).on(\"touchstart.drag\", touchstart);\n",
       "\t    }\n",
       "\t    function dragstart(id, position, subject, move, end) {\n",
       "\t      return function() {\n",
       "\t        var that = this, target = d3.event.target.correspondingElement || d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = \".drag\" + (dragId == null ? \"\" : \"-\" + dragId), dragOffset, dragSubject = d3.select(subject(target)).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(target), position0 = position(parent, dragId);\n",
       "\t        if (origin) {\n",
       "\t          dragOffset = origin.apply(that, arguments);\n",
       "\t          dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ];\n",
       "\t        } else {\n",
       "\t          dragOffset = [ 0, 0 ];\n",
       "\t        }\n",
       "\t        dispatch({\n",
       "\t          type: \"dragstart\"\n",
       "\t        });\n",
       "\t        function moved() {\n",
       "\t          var position1 = position(parent, dragId), dx, dy;\n",
       "\t          if (!position1) return;\n",
       "\t          dx = position1[0] - position0[0];\n",
       "\t          dy = position1[1] - position0[1];\n",
       "\t          dragged |= dx | dy;\n",
       "\t          position0 = position1;\n",
       "\t          dispatch({\n",
       "\t            type: \"drag\",\n",
       "\t            x: position1[0] + dragOffset[0],\n",
       "\t            y: position1[1] + dragOffset[1],\n",
       "\t            dx: dx,\n",
       "\t            dy: dy\n",
       "\t          });\n",
       "\t        }\n",
       "\t        function ended() {\n",
       "\t          if (!position(parent, dragId)) return;\n",
       "\t          dragSubject.on(move + dragName, null).on(end + dragName, null);\n",
       "\t          dragRestore(dragged);\n",
       "\t          dispatch({\n",
       "\t            type: \"dragend\"\n",
       "\t          });\n",
       "\t        }\n",
       "\t      };\n",
       "\t    }\n",
       "\t    drag.origin = function(x) {\n",
       "\t      if (!arguments.length) return origin;\n",
       "\t      origin = x;\n",
       "\t      return drag;\n",
       "\t    };\n",
       "\t    return d3.rebind(drag, event, \"on\");\n",
       "\t  };\n",
       "\t  function d3_behavior_dragTouchId() {\n",
       "\t    return d3.event.changedTouches[0].identifier;\n",
       "\t  }\n",
       "\t  d3.touches = function(container, touches) {\n",
       "\t    if (arguments.length < 2) touches = d3_eventSource().touches;\n",
       "\t    return touches ? d3_array(touches).map(function(touch) {\n",
       "\t      var point = d3_mousePoint(container, touch);\n",
       "\t      point.identifier = touch.identifier;\n",
       "\t      return point;\n",
       "\t    }) : [];\n",
       "\t  };\n",
       "\t  var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π;\n",
       "\t  function d3_sgn(x) {\n",
       "\t    return x > 0 ? 1 : x < 0 ? -1 : 0;\n",
       "\t  }\n",
       "\t  function d3_cross2d(a, b, c) {\n",
       "\t    return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);\n",
       "\t  }\n",
       "\t  function d3_acos(x) {\n",
       "\t    return x > 1 ? 0 : x < -1 ? π : Math.acos(x);\n",
       "\t  }\n",
       "\t  function d3_asin(x) {\n",
       "\t    return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x);\n",
       "\t  }\n",
       "\t  function d3_sinh(x) {\n",
       "\t    return ((x = Math.exp(x)) - 1 / x) / 2;\n",
       "\t  }\n",
       "\t  function d3_cosh(x) {\n",
       "\t    return ((x = Math.exp(x)) + 1 / x) / 2;\n",
       "\t  }\n",
       "\t  function d3_tanh(x) {\n",
       "\t    return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n",
       "\t  }\n",
       "\t  function d3_haversin(x) {\n",
       "\t    return (x = Math.sin(x / 2)) * x;\n",
       "\t  }\n",
       "\t  var ρ = Math.SQRT2, ρ2 = 2, ρ4 = 4;\n",
       "\t  d3.interpolateZoom = function(p0, p1) {\n",
       "\t    var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2], dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, i, S;\n",
       "\t    if (d2 < ε2) {\n",
       "\t      S = Math.log(w1 / w0) / ρ;\n",
       "\t      i = function(t) {\n",
       "\t        return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ρ * t * S) ];\n",
       "\t      };\n",
       "\t    } else {\n",
       "\t      var d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1), b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n",
       "\t      S = (r1 - r0) / ρ;\n",
       "\t      i = function(t) {\n",
       "\t        var s = t * S, coshr0 = d3_cosh(r0), u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0));\n",
       "\t        return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(ρ * s + r0) ];\n",
       "\t      };\n",
       "\t    }\n",
       "\t    i.duration = S * 1e3;\n",
       "\t    return i;\n",
       "\t  };\n",
       "\t  d3.behavior.zoom = function() {\n",
       "\t    var view = {\n",
       "\t      x: 0,\n",
       "\t      y: 0,\n",
       "\t      k: 1\n",
       "\t    }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = \"mousedown.zoom\", mousemove = \"mousemove.zoom\", mouseup = \"mouseup.zoom\", mousewheelTimer, touchstart = \"touchstart.zoom\", touchtime, event = d3_eventDispatch(zoom, \"zoomstart\", \"zoom\", \"zoomend\"), x0, x1, y0, y1;\n",
       "\t    if (!d3_behavior_zoomWheel) {\n",
       "\t      d3_behavior_zoomWheel = \"onwheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n",
       "\t        return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1);\n",
       "\t      }, \"wheel\") : \"onmousewheel\" in d3_document ? (d3_behavior_zoomDelta = function() {\n",
       "\t        return d3.event.wheelDelta;\n",
       "\t      }, \"mousewheel\") : (d3_behavior_zoomDelta = function() {\n",
       "\t        return -d3.event.detail;\n",
       "\t      }, \"MozMousePixelScroll\");\n",
       "\t    }\n",
       "\t    function zoom(g) {\n",
       "\t      g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + \".zoom\", mousewheeled).on(\"dblclick.zoom\", dblclicked).on(touchstart, touchstarted);\n",
       "\t    }\n",
       "\t    zoom.event = function(g) {\n",
       "\t      g.each(function() {\n",
       "\t        var dispatch = event.of(this, arguments), view1 = view;\n",
       "\t        if (d3_transitionInheritId) {\n",
       "\t          d3.select(this).transition().each(\"start.zoom\", function() {\n",
       "\t            view = this.__chart__ || {\n",
       "\t              x: 0,\n",
       "\t              y: 0,\n",
       "\t              k: 1\n",
       "\t            };\n",
       "\t            zoomstarted(dispatch);\n",
       "\t          }).tween(\"zoom:zoom\", function() {\n",
       "\t            var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]);\n",
       "\t            return function(t) {\n",
       "\t              var l = i(t), k = dx / l[2];\n",
       "\t              this.__chart__ = view = {\n",
       "\t                x: cx - l[0] * k,\n",
       "\t                y: cy - l[1] * k,\n",
       "\t                k: k\n",
       "\t              };\n",
       "\t              zoomed(dispatch);\n",
       "\t            };\n",
       "\t          }).each(\"interrupt.zoom\", function() {\n",
       "\t            zoomended(dispatch);\n",
       "\t          }).each(\"end.zoom\", function() {\n",
       "\t            zoomended(dispatch);\n",
       "\t          });\n",
       "\t        } else {\n",
       "\t          this.__chart__ = view;\n",
       "\t          zoomstarted(dispatch);\n",
       "\t          zoomed(dispatch);\n",
       "\t          zoomended(dispatch);\n",
       "\t        }\n",
       "\t      });\n",
       "\t    };\n",
       "\t    zoom.translate = function(_) {\n",
       "\t      if (!arguments.length) return [ view.x, view.y ];\n",
       "\t      view = {\n",
       "\t        x: +_[0],\n",
       "\t        y: +_[1],\n",
       "\t        k: view.k\n",
       "\t      };\n",
       "\t      rescale();\n",
       "\t      return zoom;\n",
       "\t    };\n",
       "\t    zoom.scale = function(_) {\n",
       "\t      if (!arguments.length) return view.k;\n",
       "\t      view = {\n",
       "\t        x: view.x,\n",
       "\t        y: view.y,\n",
       "\t        k: null\n",
       "\t      };\n",
       "\t      scaleTo(+_);\n",
       "\t      rescale();\n",
       "\t      return zoom;\n",
       "\t    };\n",
       "\t    zoom.scaleExtent = function(_) {\n",
       "\t      if (!arguments.length) return scaleExtent;\n",
       "\t      scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ];\n",
       "\t      return zoom;\n",
       "\t    };\n",
       "\t    zoom.center = function(_) {\n",
       "\t      if (!arguments.length) return center;\n",
       "\t      center = _ && [ +_[0], +_[1] ];\n",
       "\t      return zoom;\n",
       "\t    };\n",
       "\t    zoom.size = function(_) {\n",
       "\t      if (!arguments.length) return size;\n",
       "\t      size = _ && [ +_[0], +_[1] ];\n",
       "\t      return zoom;\n",
       "\t    };\n",
       "\t    zoom.duration = function(_) {\n",
       "\t      if (!arguments.length) return duration;\n",
       "\t      duration = +_;\n",
       "\t      return zoom;\n",
       "\t    };\n",
       "\t    zoom.x = function(z) {\n",
       "\t      if (!arguments.length) return x1;\n",
       "\t      x1 = z;\n",
       "\t      x0 = z.copy();\n",
       "\t      view = {\n",
       "\t        x: 0,\n",
       "\t        y: 0,\n",
       "\t        k: 1\n",
       "\t      };\n",
       "\t      return zoom;\n",
       "\t    };\n",
       "\t    zoom.y = function(z) {\n",
       "\t      if (!arguments.length) return y1;\n",
       "\t      y1 = z;\n",
       "\t      y0 = z.copy();\n",
       "\t      view = {\n",
       "\t        x: 0,\n",
       "\t        y: 0,\n",
       "\t        k: 1\n",
       "\t      };\n",
       "\t      return zoom;\n",
       "\t    };\n",
       "\t    function location(p) {\n",
       "\t      return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ];\n",
       "\t    }\n",
       "\t    function point(l) {\n",
       "\t      return [ l[0] * view.k + view.x, l[1] * view.k + view.y ];\n",
       "\t    }\n",
       "\t    function scaleTo(s) {\n",
       "\t      view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));\n",
       "\t    }\n",
       "\t    function translateTo(p, l) {\n",
       "\t      l = point(l);\n",
       "\t      view.x += p[0] - l[0];\n",
       "\t      view.y += p[1] - l[1];\n",
       "\t    }\n",
       "\t    function zoomTo(that, p, l, k) {\n",
       "\t      that.__chart__ = {\n",
       "\t        x: view.x,\n",
       "\t        y: view.y,\n",
       "\t        k: view.k\n",
       "\t      };\n",
       "\t      scaleTo(Math.pow(2, k));\n",
       "\t      translateTo(center0 = p, l);\n",
       "\t      that = d3.select(that);\n",
       "\t      if (duration > 0) that = that.transition().duration(duration);\n",
       "\t      that.call(zoom.event);\n",
       "\t    }\n",
       "\t    function rescale() {\n",
       "\t      if (x1) x1.domain(x0.range().map(function(x) {\n",
       "\t        return (x - view.x) / view.k;\n",
       "\t      }).map(x0.invert));\n",
       "\t      if (y1) y1.domain(y0.range().map(function(y) {\n",
       "\t        return (y - view.y) / view.k;\n",
       "\t      }).map(y0.invert));\n",
       "\t    }\n",
       "\t    function zoomstarted(dispatch) {\n",
       "\t      if (!zooming++) dispatch({\n",
       "\t        type: \"zoomstart\"\n",
       "\t      });\n",
       "\t    }\n",
       "\t    function zoomed(dispatch) {\n",
       "\t      rescale();\n",
       "\t      dispatch({\n",
       "\t        type: \"zoom\",\n",
       "\t        scale: view.k,\n",
       "\t        translate: [ view.x, view.y ]\n",
       "\t      });\n",
       "\t    }\n",
       "\t    function zoomended(dispatch) {\n",
       "\t      if (!--zooming) dispatch({\n",
       "\t        type: \"zoomend\"\n",
       "\t      }), center0 = null;\n",
       "\t    }\n",
       "\t    function mousedowned() {\n",
       "\t      var that = this, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window(that)).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(that);\n",
       "\t      d3_selection_interrupt.call(that);\n",
       "\t      zoomstarted(dispatch);\n",
       "\t      function moved() {\n",
       "\t        dragged = 1;\n",
       "\t        translateTo(d3.mouse(that), location0);\n",
       "\t        zoomed(dispatch);\n",
       "\t      }\n",
       "\t      function ended() {\n",
       "\t        subject.on(mousemove, null).on(mouseup, null);\n",
       "\t        dragRestore(dragged);\n",
       "\t        zoomended(dispatch);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    function touchstarted() {\n",
       "\t      var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = \".zoom-\" + d3.event.changedTouches[0].identifier, touchmove = \"touchmove\" + zoomName, touchend = \"touchend\" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(that);\n",
       "\t      started();\n",
       "\t      zoomstarted(dispatch);\n",
       "\t      subject.on(mousedown, null).on(touchstart, started);\n",
       "\t      function relocate() {\n",
       "\t        var touches = d3.touches(that);\n",
       "\t        scale0 = view.k;\n",
       "\t        touches.forEach(function(t) {\n",
       "\t          if (t.identifier in locations0) locations0[t.identifier] = location(t);\n",
       "\t        });\n",
       "\t        return touches;\n",
       "\t      }\n",
       "\t      function started() {\n",
       "\t        var target = d3.event.target;\n",
       "\t        d3.select(target).on(touchmove, moved).on(touchend, ended);\n",
       "\t        targets.push(target);\n",
       "\t        var changed = d3.event.changedTouches;\n",
       "\t        for (var i = 0, n = changed.length; i < n; ++i) {\n",
       "\t          locations0[changed[i].identifier] = null;\n",
       "\t        }\n",
       "\t        var touches = relocate(), now = Date.now();\n",
       "\t        if (touches.length === 1) {\n",
       "\t          if (now - touchtime < 500) {\n",
       "\t            var p = touches[0];\n",
       "\t            zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1);\n",
       "\t            d3_eventPreventDefault();\n",
       "\t          }\n",
       "\t          touchtime = now;\n",
       "\t        } else if (touches.length > 1) {\n",
       "\t          var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1];\n",
       "\t          distance0 = dx * dx + dy * dy;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      function moved() {\n",
       "\t        var touches = d3.touches(that), p0, l0, p1, l1;\n",
       "\t        d3_selection_interrupt.call(that);\n",
       "\t        for (var i = 0, n = touches.length; i < n; ++i, l1 = null) {\n",
       "\t          p1 = touches[i];\n",
       "\t          if (l1 = locations0[p1.identifier]) {\n",
       "\t            if (l0) break;\n",
       "\t            p0 = p1, l0 = l1;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        if (l1) {\n",
       "\t          var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0);\n",
       "\t          p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ];\n",
       "\t          l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ];\n",
       "\t          scaleTo(scale1 * scale0);\n",
       "\t        }\n",
       "\t        touchtime = null;\n",
       "\t        translateTo(p0, l0);\n",
       "\t        zoomed(dispatch);\n",
       "\t      }\n",
       "\t      function ended() {\n",
       "\t        if (d3.event.touches.length) {\n",
       "\t          var changed = d3.event.changedTouches;\n",
       "\t          for (var i = 0, n = changed.length; i < n; ++i) {\n",
       "\t            delete locations0[changed[i].identifier];\n",
       "\t          }\n",
       "\t          for (var identifier in locations0) {\n",
       "\t            return void relocate();\n",
       "\t          }\n",
       "\t        }\n",
       "\t        d3.selectAll(targets).on(zoomName, null);\n",
       "\t        subject.on(mousedown, mousedowned).on(touchstart, touchstarted);\n",
       "\t        dragRestore();\n",
       "\t        zoomended(dispatch);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    function mousewheeled() {\n",
       "\t      var dispatch = event.of(this, arguments);\n",
       "\t      if (mousewheelTimer) clearTimeout(mousewheelTimer); else d3_selection_interrupt.call(this), \n",
       "\t      translate0 = location(center0 = center || d3.mouse(this)), zoomstarted(dispatch);\n",
       "\t      mousewheelTimer = setTimeout(function() {\n",
       "\t        mousewheelTimer = null;\n",
       "\t        zoomended(dispatch);\n",
       "\t      }, 50);\n",
       "\t      d3_eventPreventDefault();\n",
       "\t      scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k);\n",
       "\t      translateTo(center0, translate0);\n",
       "\t      zoomed(dispatch);\n",
       "\t    }\n",
       "\t    function dblclicked() {\n",
       "\t      var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2;\n",
       "\t      zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1);\n",
       "\t    }\n",
       "\t    return d3.rebind(zoom, event, \"on\");\n",
       "\t  };\n",
       "\t  var d3_behavior_zoomInfinity = [ 0, Infinity ], d3_behavior_zoomDelta, d3_behavior_zoomWheel;\n",
       "\t  d3.color = d3_color;\n",
       "\t  function d3_color() {}\n",
       "\t  d3_color.prototype.toString = function() {\n",
       "\t    return this.rgb() + \"\";\n",
       "\t  };\n",
       "\t  d3.hsl = d3_hsl;\n",
       "\t  function d3_hsl(h, s, l) {\n",
       "\t    return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse(\"\" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l);\n",
       "\t  }\n",
       "\t  var d3_hslPrototype = d3_hsl.prototype = new d3_color();\n",
       "\t  d3_hslPrototype.brighter = function(k) {\n",
       "\t    k = Math.pow(.7, arguments.length ? k : 1);\n",
       "\t    return new d3_hsl(this.h, this.s, this.l / k);\n",
       "\t  };\n",
       "\t  d3_hslPrototype.darker = function(k) {\n",
       "\t    k = Math.pow(.7, arguments.length ? k : 1);\n",
       "\t    return new d3_hsl(this.h, this.s, k * this.l);\n",
       "\t  };\n",
       "\t  d3_hslPrototype.rgb = function() {\n",
       "\t    return d3_hsl_rgb(this.h, this.s, this.l);\n",
       "\t  };\n",
       "\t  function d3_hsl_rgb(h, s, l) {\n",
       "\t    var m1, m2;\n",
       "\t    h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h;\n",
       "\t    s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s;\n",
       "\t    l = l < 0 ? 0 : l > 1 ? 1 : l;\n",
       "\t    m2 = l <= .5 ? l * (1 + s) : l + s - l * s;\n",
       "\t    m1 = 2 * l - m2;\n",
       "\t    function v(h) {\n",
       "\t      if (h > 360) h -= 360; else if (h < 0) h += 360;\n",
       "\t      if (h < 60) return m1 + (m2 - m1) * h / 60;\n",
       "\t      if (h < 180) return m2;\n",
       "\t      if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60;\n",
       "\t      return m1;\n",
       "\t    }\n",
       "\t    function vv(h) {\n",
       "\t      return Math.round(v(h) * 255);\n",
       "\t    }\n",
       "\t    return new d3_rgb(vv(h + 120), vv(h), vv(h - 120));\n",
       "\t  }\n",
       "\t  d3.hcl = d3_hcl;\n",
       "\t  function d3_hcl(h, c, l) {\n",
       "\t    return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l);\n",
       "\t  }\n",
       "\t  var d3_hclPrototype = d3_hcl.prototype = new d3_color();\n",
       "\t  d3_hclPrototype.brighter = function(k) {\n",
       "\t    return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)));\n",
       "\t  };\n",
       "\t  d3_hclPrototype.darker = function(k) {\n",
       "\t    return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)));\n",
       "\t  };\n",
       "\t  d3_hclPrototype.rgb = function() {\n",
       "\t    return d3_hcl_lab(this.h, this.c, this.l).rgb();\n",
       "\t  };\n",
       "\t  function d3_hcl_lab(h, c, l) {\n",
       "\t    if (isNaN(h)) h = 0;\n",
       "\t    if (isNaN(c)) c = 0;\n",
       "\t    return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c);\n",
       "\t  }\n",
       "\t  d3.lab = d3_lab;\n",
       "\t  function d3_lab(l, a, b) {\n",
       "\t    return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b);\n",
       "\t  }\n",
       "\t  var d3_lab_K = 18;\n",
       "\t  var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883;\n",
       "\t  var d3_labPrototype = d3_lab.prototype = new d3_color();\n",
       "\t  d3_labPrototype.brighter = function(k) {\n",
       "\t    return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n",
       "\t  };\n",
       "\t  d3_labPrototype.darker = function(k) {\n",
       "\t    return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);\n",
       "\t  };\n",
       "\t  d3_labPrototype.rgb = function() {\n",
       "\t    return d3_lab_rgb(this.l, this.a, this.b);\n",
       "\t  };\n",
       "\t  function d3_lab_rgb(l, a, b) {\n",
       "\t    var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200;\n",
       "\t    x = d3_lab_xyz(x) * d3_lab_X;\n",
       "\t    y = d3_lab_xyz(y) * d3_lab_Y;\n",
       "\t    z = d3_lab_xyz(z) * d3_lab_Z;\n",
       "\t    return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z));\n",
       "\t  }\n",
       "\t  function d3_lab_hcl(l, a, b) {\n",
       "\t    return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l);\n",
       "\t  }\n",
       "\t  function d3_lab_xyz(x) {\n",
       "\t    return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037;\n",
       "\t  }\n",
       "\t  function d3_xyz_lab(x) {\n",
       "\t    return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29;\n",
       "\t  }\n",
       "\t  function d3_xyz_rgb(r) {\n",
       "\t    return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055));\n",
       "\t  }\n",
       "\t  d3.rgb = d3_rgb;\n",
       "\t  function d3_rgb(r, g, b) {\n",
       "\t    return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse(\"\" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b);\n",
       "\t  }\n",
       "\t  function d3_rgbNumber(value) {\n",
       "\t    return new d3_rgb(value >> 16, value >> 8 & 255, value & 255);\n",
       "\t  }\n",
       "\t  function d3_rgbString(value) {\n",
       "\t    return d3_rgbNumber(value) + \"\";\n",
       "\t  }\n",
       "\t  var d3_rgbPrototype = d3_rgb.prototype = new d3_color();\n",
       "\t  d3_rgbPrototype.brighter = function(k) {\n",
       "\t    k = Math.pow(.7, arguments.length ? k : 1);\n",
       "\t    var r = this.r, g = this.g, b = this.b, i = 30;\n",
       "\t    if (!r && !g && !b) return new d3_rgb(i, i, i);\n",
       "\t    if (r && r < i) r = i;\n",
       "\t    if (g && g < i) g = i;\n",
       "\t    if (b && b < i) b = i;\n",
       "\t    return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k));\n",
       "\t  };\n",
       "\t  d3_rgbPrototype.darker = function(k) {\n",
       "\t    k = Math.pow(.7, arguments.length ? k : 1);\n",
       "\t    return new d3_rgb(k * this.r, k * this.g, k * this.b);\n",
       "\t  };\n",
       "\t  d3_rgbPrototype.hsl = function() {\n",
       "\t    return d3_rgb_hsl(this.r, this.g, this.b);\n",
       "\t  };\n",
       "\t  d3_rgbPrototype.toString = function() {\n",
       "\t    return \"#\" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b);\n",
       "\t  };\n",
       "\t  function d3_rgb_hex(v) {\n",
       "\t    return v < 16 ? \"0\" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16);\n",
       "\t  }\n",
       "\t  function d3_rgb_parse(format, rgb, hsl) {\n",
       "\t    var r = 0, g = 0, b = 0, m1, m2, color;\n",
       "\t    m1 = /([a-z]+)\\((.*)\\)/.exec(format = format.toLowerCase());\n",
       "\t    if (m1) {\n",
       "\t      m2 = m1[2].split(\",\");\n",
       "\t      switch (m1[1]) {\n",
       "\t       case \"hsl\":\n",
       "\t        {\n",
       "\t          return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100);\n",
       "\t        }\n",
       "\t\n",
       "\t       case \"rgb\":\n",
       "\t        {\n",
       "\t          return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2]));\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    if (color = d3_rgb_names.get(format)) {\n",
       "\t      return rgb(color.r, color.g, color.b);\n",
       "\t    }\n",
       "\t    if (format != null && format.charAt(0) === \"#\" && !isNaN(color = parseInt(format.slice(1), 16))) {\n",
       "\t      if (format.length === 4) {\n",
       "\t        r = (color & 3840) >> 4;\n",
       "\t        r = r >> 4 | r;\n",
       "\t        g = color & 240;\n",
       "\t        g = g >> 4 | g;\n",
       "\t        b = color & 15;\n",
       "\t        b = b << 4 | b;\n",
       "\t      } else if (format.length === 7) {\n",
       "\t        r = (color & 16711680) >> 16;\n",
       "\t        g = (color & 65280) >> 8;\n",
       "\t        b = color & 255;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return rgb(r, g, b);\n",
       "\t  }\n",
       "\t  function d3_rgb_hsl(r, g, b) {\n",
       "\t    var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2;\n",
       "\t    if (d) {\n",
       "\t      s = l < .5 ? d / (max + min) : d / (2 - max - min);\n",
       "\t      if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4;\n",
       "\t      h *= 60;\n",
       "\t    } else {\n",
       "\t      h = NaN;\n",
       "\t      s = l > 0 && l < 1 ? 0 : h;\n",
       "\t    }\n",
       "\t    return new d3_hsl(h, s, l);\n",
       "\t  }\n",
       "\t  function d3_rgb_lab(r, g, b) {\n",
       "\t    r = d3_rgb_xyz(r);\n",
       "\t    g = d3_rgb_xyz(g);\n",
       "\t    b = d3_rgb_xyz(b);\n",
       "\t    var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z);\n",
       "\t    return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z));\n",
       "\t  }\n",
       "\t  function d3_rgb_xyz(r) {\n",
       "\t    return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4);\n",
       "\t  }\n",
       "\t  function d3_rgb_parseNumber(c) {\n",
       "\t    var f = parseFloat(c);\n",
       "\t    return c.charAt(c.length - 1) === \"%\" ? Math.round(f * 2.55) : f;\n",
       "\t  }\n",
       "\t  var d3_rgb_names = d3.map({\n",
       "\t    aliceblue: 15792383,\n",
       "\t    antiquewhite: 16444375,\n",
       "\t    aqua: 65535,\n",
       "\t    aquamarine: 8388564,\n",
       "\t    azure: 15794175,\n",
       "\t    beige: 16119260,\n",
       "\t    bisque: 16770244,\n",
       "\t    black: 0,\n",
       "\t    blanchedalmond: 16772045,\n",
       "\t    blue: 255,\n",
       "\t    blueviolet: 9055202,\n",
       "\t    brown: 10824234,\n",
       "\t    burlywood: 14596231,\n",
       "\t    cadetblue: 6266528,\n",
       "\t    chartreuse: 8388352,\n",
       "\t    chocolate: 13789470,\n",
       "\t    coral: 16744272,\n",
       "\t    cornflowerblue: 6591981,\n",
       "\t    cornsilk: 16775388,\n",
       "\t    crimson: 14423100,\n",
       "\t    cyan: 65535,\n",
       "\t    darkblue: 139,\n",
       "\t    darkcyan: 35723,\n",
       "\t    darkgoldenrod: 12092939,\n",
       "\t    darkgray: 11119017,\n",
       "\t    darkgreen: 25600,\n",
       "\t    darkgrey: 11119017,\n",
       "\t    darkkhaki: 12433259,\n",
       "\t    darkmagenta: 9109643,\n",
       "\t    darkolivegreen: 5597999,\n",
       "\t    darkorange: 16747520,\n",
       "\t    darkorchid: 10040012,\n",
       "\t    darkred: 9109504,\n",
       "\t    darksalmon: 15308410,\n",
       "\t    darkseagreen: 9419919,\n",
       "\t    darkslateblue: 4734347,\n",
       "\t    darkslategray: 3100495,\n",
       "\t    darkslategrey: 3100495,\n",
       "\t    darkturquoise: 52945,\n",
       "\t    darkviolet: 9699539,\n",
       "\t    deeppink: 16716947,\n",
       "\t    deepskyblue: 49151,\n",
       "\t    dimgray: 6908265,\n",
       "\t    dimgrey: 6908265,\n",
       "\t    dodgerblue: 2003199,\n",
       "\t    firebrick: 11674146,\n",
       "\t    floralwhite: 16775920,\n",
       "\t    forestgreen: 2263842,\n",
       "\t    fuchsia: 16711935,\n",
       "\t    gainsboro: 14474460,\n",
       "\t    ghostwhite: 16316671,\n",
       "\t    gold: 16766720,\n",
       "\t    goldenrod: 14329120,\n",
       "\t    gray: 8421504,\n",
       "\t    green: 32768,\n",
       "\t    greenyellow: 11403055,\n",
       "\t    grey: 8421504,\n",
       "\t    honeydew: 15794160,\n",
       "\t    hotpink: 16738740,\n",
       "\t    indianred: 13458524,\n",
       "\t    indigo: 4915330,\n",
       "\t    ivory: 16777200,\n",
       "\t    khaki: 15787660,\n",
       "\t    lavender: 15132410,\n",
       "\t    lavenderblush: 16773365,\n",
       "\t    lawngreen: 8190976,\n",
       "\t    lemonchiffon: 16775885,\n",
       "\t    lightblue: 11393254,\n",
       "\t    lightcoral: 15761536,\n",
       "\t    lightcyan: 14745599,\n",
       "\t    lightgoldenrodyellow: 16448210,\n",
       "\t    lightgray: 13882323,\n",
       "\t    lightgreen: 9498256,\n",
       "\t    lightgrey: 13882323,\n",
       "\t    lightpink: 16758465,\n",
       "\t    lightsalmon: 16752762,\n",
       "\t    lightseagreen: 2142890,\n",
       "\t    lightskyblue: 8900346,\n",
       "\t    lightslategray: 7833753,\n",
       "\t    lightslategrey: 7833753,\n",
       "\t    lightsteelblue: 11584734,\n",
       "\t    lightyellow: 16777184,\n",
       "\t    lime: 65280,\n",
       "\t    limegreen: 3329330,\n",
       "\t    linen: 16445670,\n",
       "\t    magenta: 16711935,\n",
       "\t    maroon: 8388608,\n",
       "\t    mediumaquamarine: 6737322,\n",
       "\t    mediumblue: 205,\n",
       "\t    mediumorchid: 12211667,\n",
       "\t    mediumpurple: 9662683,\n",
       "\t    mediumseagreen: 3978097,\n",
       "\t    mediumslateblue: 8087790,\n",
       "\t    mediumspringgreen: 64154,\n",
       "\t    mediumturquoise: 4772300,\n",
       "\t    mediumvioletred: 13047173,\n",
       "\t    midnightblue: 1644912,\n",
       "\t    mintcream: 16121850,\n",
       "\t    mistyrose: 16770273,\n",
       "\t    moccasin: 16770229,\n",
       "\t    navajowhite: 16768685,\n",
       "\t    navy: 128,\n",
       "\t    oldlace: 16643558,\n",
       "\t    olive: 8421376,\n",
       "\t    olivedrab: 7048739,\n",
       "\t    orange: 16753920,\n",
       "\t    orangered: 16729344,\n",
       "\t    orchid: 14315734,\n",
       "\t    palegoldenrod: 15657130,\n",
       "\t    palegreen: 10025880,\n",
       "\t    paleturquoise: 11529966,\n",
       "\t    palevioletred: 14381203,\n",
       "\t    papayawhip: 16773077,\n",
       "\t    peachpuff: 16767673,\n",
       "\t    peru: 13468991,\n",
       "\t    pink: 16761035,\n",
       "\t    plum: 14524637,\n",
       "\t    powderblue: 11591910,\n",
       "\t    purple: 8388736,\n",
       "\t    rebeccapurple: 6697881,\n",
       "\t    red: 16711680,\n",
       "\t    rosybrown: 12357519,\n",
       "\t    royalblue: 4286945,\n",
       "\t    saddlebrown: 9127187,\n",
       "\t    salmon: 16416882,\n",
       "\t    sandybrown: 16032864,\n",
       "\t    seagreen: 3050327,\n",
       "\t    seashell: 16774638,\n",
       "\t    sienna: 10506797,\n",
       "\t    silver: 12632256,\n",
       "\t    skyblue: 8900331,\n",
       "\t    slateblue: 6970061,\n",
       "\t    slategray: 7372944,\n",
       "\t    slategrey: 7372944,\n",
       "\t    snow: 16775930,\n",
       "\t    springgreen: 65407,\n",
       "\t    steelblue: 4620980,\n",
       "\t    tan: 13808780,\n",
       "\t    teal: 32896,\n",
       "\t    thistle: 14204888,\n",
       "\t    tomato: 16737095,\n",
       "\t    turquoise: 4251856,\n",
       "\t    violet: 15631086,\n",
       "\t    wheat: 16113331,\n",
       "\t    white: 16777215,\n",
       "\t    whitesmoke: 16119285,\n",
       "\t    yellow: 16776960,\n",
       "\t    yellowgreen: 10145074\n",
       "\t  });\n",
       "\t  d3_rgb_names.forEach(function(key, value) {\n",
       "\t    d3_rgb_names.set(key, d3_rgbNumber(value));\n",
       "\t  });\n",
       "\t  function d3_functor(v) {\n",
       "\t    return typeof v === \"function\" ? v : function() {\n",
       "\t      return v;\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.functor = d3_functor;\n",
       "\t  d3.xhr = d3_xhrType(d3_identity);\n",
       "\t  function d3_xhrType(response) {\n",
       "\t    return function(url, mimeType, callback) {\n",
       "\t      if (arguments.length === 2 && typeof mimeType === \"function\") callback = mimeType, \n",
       "\t      mimeType = null;\n",
       "\t      return d3_xhr(url, mimeType, response, callback);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_xhr(url, mimeType, response, callback) {\n",
       "\t    var xhr = {}, dispatch = d3.dispatch(\"beforesend\", \"progress\", \"load\", \"error\"), headers = {}, request = new XMLHttpRequest(), responseType = null;\n",
       "\t    if (this.XDomainRequest && !(\"withCredentials\" in request) && /^(http(s)?:)?\\/\\//.test(url)) request = new XDomainRequest();\n",
       "\t    \"onload\" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() {\n",
       "\t      request.readyState > 3 && respond();\n",
       "\t    };\n",
       "\t    function respond() {\n",
       "\t      var status = request.status, result;\n",
       "\t      if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) {\n",
       "\t        try {\n",
       "\t          result = response.call(xhr, request);\n",
       "\t        } catch (e) {\n",
       "\t          dispatch.error.call(xhr, e);\n",
       "\t          return;\n",
       "\t        }\n",
       "\t        dispatch.load.call(xhr, result);\n",
       "\t      } else {\n",
       "\t        dispatch.error.call(xhr, request);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    request.onprogress = function(event) {\n",
       "\t      var o = d3.event;\n",
       "\t      d3.event = event;\n",
       "\t      try {\n",
       "\t        dispatch.progress.call(xhr, request);\n",
       "\t      } finally {\n",
       "\t        d3.event = o;\n",
       "\t      }\n",
       "\t    };\n",
       "\t    xhr.header = function(name, value) {\n",
       "\t      name = (name + \"\").toLowerCase();\n",
       "\t      if (arguments.length < 2) return headers[name];\n",
       "\t      if (value == null) delete headers[name]; else headers[name] = value + \"\";\n",
       "\t      return xhr;\n",
       "\t    };\n",
       "\t    xhr.mimeType = function(value) {\n",
       "\t      if (!arguments.length) return mimeType;\n",
       "\t      mimeType = value == null ? null : value + \"\";\n",
       "\t      return xhr;\n",
       "\t    };\n",
       "\t    xhr.responseType = function(value) {\n",
       "\t      if (!arguments.length) return responseType;\n",
       "\t      responseType = value;\n",
       "\t      return xhr;\n",
       "\t    };\n",
       "\t    xhr.response = function(value) {\n",
       "\t      response = value;\n",
       "\t      return xhr;\n",
       "\t    };\n",
       "\t    [ \"get\", \"post\" ].forEach(function(method) {\n",
       "\t      xhr[method] = function() {\n",
       "\t        return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments)));\n",
       "\t      };\n",
       "\t    });\n",
       "\t    xhr.send = function(method, data, callback) {\n",
       "\t      if (arguments.length === 2 && typeof data === \"function\") callback = data, data = null;\n",
       "\t      request.open(method, url, true);\n",
       "\t      if (mimeType != null && !(\"accept\" in headers)) headers[\"accept\"] = mimeType + \",*/*\";\n",
       "\t      if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]);\n",
       "\t      if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType);\n",
       "\t      if (responseType != null) request.responseType = responseType;\n",
       "\t      if (callback != null) xhr.on(\"error\", callback).on(\"load\", function(request) {\n",
       "\t        callback(null, request);\n",
       "\t      });\n",
       "\t      dispatch.beforesend.call(xhr, request);\n",
       "\t      request.send(data == null ? null : data);\n",
       "\t      return xhr;\n",
       "\t    };\n",
       "\t    xhr.abort = function() {\n",
       "\t      request.abort();\n",
       "\t      return xhr;\n",
       "\t    };\n",
       "\t    d3.rebind(xhr, dispatch, \"on\");\n",
       "\t    return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback));\n",
       "\t  }\n",
       "\t  function d3_xhr_fixCallback(callback) {\n",
       "\t    return callback.length === 1 ? function(error, request) {\n",
       "\t      callback(error == null ? request : null);\n",
       "\t    } : callback;\n",
       "\t  }\n",
       "\t  function d3_xhrHasResponse(request) {\n",
       "\t    var type = request.responseType;\n",
       "\t    return type && type !== \"text\" ? request.response : request.responseText;\n",
       "\t  }\n",
       "\t  d3.dsv = function(delimiter, mimeType) {\n",
       "\t    var reFormat = new RegExp('[\"' + delimiter + \"\\n]\"), delimiterCode = delimiter.charCodeAt(0);\n",
       "\t    function dsv(url, row, callback) {\n",
       "\t      if (arguments.length < 3) callback = row, row = null;\n",
       "\t      var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback);\n",
       "\t      xhr.row = function(_) {\n",
       "\t        return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row;\n",
       "\t      };\n",
       "\t      return xhr;\n",
       "\t    }\n",
       "\t    function response(request) {\n",
       "\t      return dsv.parse(request.responseText);\n",
       "\t    }\n",
       "\t    function typedResponse(f) {\n",
       "\t      return function(request) {\n",
       "\t        return dsv.parse(request.responseText, f);\n",
       "\t      };\n",
       "\t    }\n",
       "\t    dsv.parse = function(text, f) {\n",
       "\t      var o;\n",
       "\t      return dsv.parseRows(text, function(row, i) {\n",
       "\t        if (o) return o(row, i - 1);\n",
       "\t        var a = new Function(\"d\", \"return {\" + row.map(function(name, i) {\n",
       "\t          return JSON.stringify(name) + \": d[\" + i + \"]\";\n",
       "\t        }).join(\",\") + \"}\");\n",
       "\t        o = f ? function(row, i) {\n",
       "\t          return f(a(row), i);\n",
       "\t        } : a;\n",
       "\t      });\n",
       "\t    };\n",
       "\t    dsv.parseRows = function(text, f) {\n",
       "\t      var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol;\n",
       "\t      function token() {\n",
       "\t        if (I >= N) return EOF;\n",
       "\t        if (eol) return eol = false, EOL;\n",
       "\t        var j = I;\n",
       "\t        if (text.charCodeAt(j) === 34) {\n",
       "\t          var i = j;\n",
       "\t          while (i++ < N) {\n",
       "\t            if (text.charCodeAt(i) === 34) {\n",
       "\t              if (text.charCodeAt(i + 1) !== 34) break;\n",
       "\t              ++i;\n",
       "\t            }\n",
       "\t          }\n",
       "\t          I = i + 2;\n",
       "\t          var c = text.charCodeAt(i + 1);\n",
       "\t          if (c === 13) {\n",
       "\t            eol = true;\n",
       "\t            if (text.charCodeAt(i + 2) === 10) ++I;\n",
       "\t          } else if (c === 10) {\n",
       "\t            eol = true;\n",
       "\t          }\n",
       "\t          return text.slice(j + 1, i).replace(/\"\"/g, '\"');\n",
       "\t        }\n",
       "\t        while (I < N) {\n",
       "\t          var c = text.charCodeAt(I++), k = 1;\n",
       "\t          if (c === 10) eol = true; else if (c === 13) {\n",
       "\t            eol = true;\n",
       "\t            if (text.charCodeAt(I) === 10) ++I, ++k;\n",
       "\t          } else if (c !== delimiterCode) continue;\n",
       "\t          return text.slice(j, I - k);\n",
       "\t        }\n",
       "\t        return text.slice(j);\n",
       "\t      }\n",
       "\t      while ((t = token()) !== EOF) {\n",
       "\t        var a = [];\n",
       "\t        while (t !== EOL && t !== EOF) {\n",
       "\t          a.push(t);\n",
       "\t          t = token();\n",
       "\t        }\n",
       "\t        if (f && (a = f(a, n++)) == null) continue;\n",
       "\t        rows.push(a);\n",
       "\t      }\n",
       "\t      return rows;\n",
       "\t    };\n",
       "\t    dsv.format = function(rows) {\n",
       "\t      if (Array.isArray(rows[0])) return dsv.formatRows(rows);\n",
       "\t      var fieldSet = new d3_Set(), fields = [];\n",
       "\t      rows.forEach(function(row) {\n",
       "\t        for (var field in row) {\n",
       "\t          if (!fieldSet.has(field)) {\n",
       "\t            fields.push(fieldSet.add(field));\n",
       "\t          }\n",
       "\t        }\n",
       "\t      });\n",
       "\t      return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) {\n",
       "\t        return fields.map(function(field) {\n",
       "\t          return formatValue(row[field]);\n",
       "\t        }).join(delimiter);\n",
       "\t      })).join(\"\\n\");\n",
       "\t    };\n",
       "\t    dsv.formatRows = function(rows) {\n",
       "\t      return rows.map(formatRow).join(\"\\n\");\n",
       "\t    };\n",
       "\t    function formatRow(row) {\n",
       "\t      return row.map(formatValue).join(delimiter);\n",
       "\t    }\n",
       "\t    function formatValue(text) {\n",
       "\t      return reFormat.test(text) ? '\"' + text.replace(/\\\"/g, '\"\"') + '\"' : text;\n",
       "\t    }\n",
       "\t    return dsv;\n",
       "\t  };\n",
       "\t  d3.csv = d3.dsv(\",\", \"text/csv\");\n",
       "\t  d3.tsv = d3.dsv(\"\t\", \"text/tab-separated-values\");\n",
       "\t  var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_frame = this[d3_vendorSymbol(this, \"requestAnimationFrame\")] || function(callback) {\n",
       "\t    setTimeout(callback, 17);\n",
       "\t  };\n",
       "\t  d3.timer = function() {\n",
       "\t    d3_timer.apply(this, arguments);\n",
       "\t  };\n",
       "\t  function d3_timer(callback, delay, then) {\n",
       "\t    var n = arguments.length;\n",
       "\t    if (n < 2) delay = 0;\n",
       "\t    if (n < 3) then = Date.now();\n",
       "\t    var time = then + delay, timer = {\n",
       "\t      c: callback,\n",
       "\t      t: time,\n",
       "\t      n: null\n",
       "\t    };\n",
       "\t    if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer;\n",
       "\t    d3_timer_queueTail = timer;\n",
       "\t    if (!d3_timer_interval) {\n",
       "\t      d3_timer_timeout = clearTimeout(d3_timer_timeout);\n",
       "\t      d3_timer_interval = 1;\n",
       "\t      d3_timer_frame(d3_timer_step);\n",
       "\t    }\n",
       "\t    return timer;\n",
       "\t  }\n",
       "\t  function d3_timer_step() {\n",
       "\t    var now = d3_timer_mark(), delay = d3_timer_sweep() - now;\n",
       "\t    if (delay > 24) {\n",
       "\t      if (isFinite(delay)) {\n",
       "\t        clearTimeout(d3_timer_timeout);\n",
       "\t        d3_timer_timeout = setTimeout(d3_timer_step, delay);\n",
       "\t      }\n",
       "\t      d3_timer_interval = 0;\n",
       "\t    } else {\n",
       "\t      d3_timer_interval = 1;\n",
       "\t      d3_timer_frame(d3_timer_step);\n",
       "\t    }\n",
       "\t  }\n",
       "\t  d3.timer.flush = function() {\n",
       "\t    d3_timer_mark();\n",
       "\t    d3_timer_sweep();\n",
       "\t  };\n",
       "\t  function d3_timer_mark() {\n",
       "\t    var now = Date.now(), timer = d3_timer_queueHead;\n",
       "\t    while (timer) {\n",
       "\t      if (now >= timer.t && timer.c(now - timer.t)) timer.c = null;\n",
       "\t      timer = timer.n;\n",
       "\t    }\n",
       "\t    return now;\n",
       "\t  }\n",
       "\t  function d3_timer_sweep() {\n",
       "\t    var t0, t1 = d3_timer_queueHead, time = Infinity;\n",
       "\t    while (t1) {\n",
       "\t      if (t1.c) {\n",
       "\t        if (t1.t < time) time = t1.t;\n",
       "\t        t1 = (t0 = t1).n;\n",
       "\t      } else {\n",
       "\t        t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    d3_timer_queueTail = t0;\n",
       "\t    return time;\n",
       "\t  }\n",
       "\t  function d3_format_precision(x, p) {\n",
       "\t    return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1);\n",
       "\t  }\n",
       "\t  d3.round = function(x, n) {\n",
       "\t    return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x);\n",
       "\t  };\n",
       "\t  var d3_formatPrefixes = [ \"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"µ\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\" ].map(d3_formatPrefix);\n",
       "\t  d3.formatPrefix = function(value, precision) {\n",
       "\t    var i = 0;\n",
       "\t    if (value = +value) {\n",
       "\t      if (value < 0) value *= -1;\n",
       "\t      if (precision) value = d3.round(value, d3_format_precision(value, precision));\n",
       "\t      i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10);\n",
       "\t      i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3));\n",
       "\t    }\n",
       "\t    return d3_formatPrefixes[8 + i / 3];\n",
       "\t  };\n",
       "\t  function d3_formatPrefix(d, i) {\n",
       "\t    var k = Math.pow(10, abs(8 - i) * 3);\n",
       "\t    return {\n",
       "\t      scale: i > 8 ? function(d) {\n",
       "\t        return d / k;\n",
       "\t      } : function(d) {\n",
       "\t        return d * k;\n",
       "\t      },\n",
       "\t      symbol: d\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_locale_numberFormat(locale) {\n",
       "\t    var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) {\n",
       "\t      var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0;\n",
       "\t      while (i > 0 && g > 0) {\n",
       "\t        if (length + g + 1 > width) g = Math.max(1, width - length);\n",
       "\t        t.push(value.substring(i -= g, i + g));\n",
       "\t        if ((length += g + 1) > width) break;\n",
       "\t        g = locale_grouping[j = (j + 1) % locale_grouping.length];\n",
       "\t      }\n",
       "\t      return t.reverse().join(locale_thousands);\n",
       "\t    } : d3_identity;\n",
       "\t    return function(specifier) {\n",
       "\t      var match = d3_format_re.exec(specifier), fill = match[1] || \" \", align = match[2] || \">\", sign = match[3] || \"-\", symbol = match[4] || \"\", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = \"\", suffix = \"\", integer = false, exponent = true;\n",
       "\t      if (precision) precision = +precision.substring(1);\n",
       "\t      if (zfill || fill === \"0\" && align === \"=\") {\n",
       "\t        zfill = fill = \"0\";\n",
       "\t        align = \"=\";\n",
       "\t      }\n",
       "\t      switch (type) {\n",
       "\t       case \"n\":\n",
       "\t        comma = true;\n",
       "\t        type = \"g\";\n",
       "\t        break;\n",
       "\t\n",
       "\t       case \"%\":\n",
       "\t        scale = 100;\n",
       "\t        suffix = \"%\";\n",
       "\t        type = \"f\";\n",
       "\t        break;\n",
       "\t\n",
       "\t       case \"p\":\n",
       "\t        scale = 100;\n",
       "\t        suffix = \"%\";\n",
       "\t        type = \"r\";\n",
       "\t        break;\n",
       "\t\n",
       "\t       case \"b\":\n",
       "\t       case \"o\":\n",
       "\t       case \"x\":\n",
       "\t       case \"X\":\n",
       "\t        if (symbol === \"#\") prefix = \"0\" + type.toLowerCase();\n",
       "\t\n",
       "\t       case \"c\":\n",
       "\t        exponent = false;\n",
       "\t\n",
       "\t       case \"d\":\n",
       "\t        integer = true;\n",
       "\t        precision = 0;\n",
       "\t        break;\n",
       "\t\n",
       "\t       case \"s\":\n",
       "\t        scale = -1;\n",
       "\t        type = \"r\";\n",
       "\t        break;\n",
       "\t      }\n",
       "\t      if (symbol === \"$\") prefix = locale_currency[0], suffix = locale_currency[1];\n",
       "\t      if (type == \"r\" && !precision) type = \"g\";\n",
       "\t      if (precision != null) {\n",
       "\t        if (type == \"g\") precision = Math.max(1, Math.min(21, precision)); else if (type == \"e\" || type == \"f\") precision = Math.max(0, Math.min(20, precision));\n",
       "\t      }\n",
       "\t      type = d3_format_types.get(type) || d3_format_typeDefault;\n",
       "\t      var zcomma = zfill && comma;\n",
       "\t      return function(value) {\n",
       "\t        var fullSuffix = suffix;\n",
       "\t        if (integer && value % 1) return \"\";\n",
       "\t        var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, \"-\") : sign === \"-\" ? \"\" : sign;\n",
       "\t        if (scale < 0) {\n",
       "\t          var unit = d3.formatPrefix(value, precision);\n",
       "\t          value = unit.scale(value);\n",
       "\t          fullSuffix = unit.symbol + suffix;\n",
       "\t        } else {\n",
       "\t          value *= scale;\n",
       "\t        }\n",
       "\t        value = type(value, precision);\n",
       "\t        var i = value.lastIndexOf(\".\"), before, after;\n",
       "\t        if (i < 0) {\n",
       "\t          var j = exponent ? value.lastIndexOf(\"e\") : -1;\n",
       "\t          if (j < 0) before = value, after = \"\"; else before = value.substring(0, j), after = value.substring(j);\n",
       "\t        } else {\n",
       "\t          before = value.substring(0, i);\n",
       "\t          after = locale_decimal + value.substring(i + 1);\n",
       "\t        }\n",
       "\t        if (!zfill && comma) before = formatGroup(before, Infinity);\n",
       "\t        var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : \"\";\n",
       "\t        if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity);\n",
       "\t        negative += prefix;\n",
       "\t        value = before + after;\n",
       "\t        return (align === \"<\" ? negative + value + padding : align === \">\" ? padding + negative + value : align === \"^\" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix;\n",
       "\t      };\n",
       "\t    };\n",
       "\t  }\n",
       "\t  var d3_format_re = /(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i;\n",
       "\t  var d3_format_types = d3.map({\n",
       "\t    b: function(x) {\n",
       "\t      return x.toString(2);\n",
       "\t    },\n",
       "\t    c: function(x) {\n",
       "\t      return String.fromCharCode(x);\n",
       "\t    },\n",
       "\t    o: function(x) {\n",
       "\t      return x.toString(8);\n",
       "\t    },\n",
       "\t    x: function(x) {\n",
       "\t      return x.toString(16);\n",
       "\t    },\n",
       "\t    X: function(x) {\n",
       "\t      return x.toString(16).toUpperCase();\n",
       "\t    },\n",
       "\t    g: function(x, p) {\n",
       "\t      return x.toPrecision(p);\n",
       "\t    },\n",
       "\t    e: function(x, p) {\n",
       "\t      return x.toExponential(p);\n",
       "\t    },\n",
       "\t    f: function(x, p) {\n",
       "\t      return x.toFixed(p);\n",
       "\t    },\n",
       "\t    r: function(x, p) {\n",
       "\t      return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p))));\n",
       "\t    }\n",
       "\t  });\n",
       "\t  function d3_format_typeDefault(x) {\n",
       "\t    return x + \"\";\n",
       "\t  }\n",
       "\t  var d3_time = d3.time = {}, d3_date = Date;\n",
       "\t  function d3_date_utc() {\n",
       "\t    this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]);\n",
       "\t  }\n",
       "\t  d3_date_utc.prototype = {\n",
       "\t    getDate: function() {\n",
       "\t      return this._.getUTCDate();\n",
       "\t    },\n",
       "\t    getDay: function() {\n",
       "\t      return this._.getUTCDay();\n",
       "\t    },\n",
       "\t    getFullYear: function() {\n",
       "\t      return this._.getUTCFullYear();\n",
       "\t    },\n",
       "\t    getHours: function() {\n",
       "\t      return this._.getUTCHours();\n",
       "\t    },\n",
       "\t    getMilliseconds: function() {\n",
       "\t      return this._.getUTCMilliseconds();\n",
       "\t    },\n",
       "\t    getMinutes: function() {\n",
       "\t      return this._.getUTCMinutes();\n",
       "\t    },\n",
       "\t    getMonth: function() {\n",
       "\t      return this._.getUTCMonth();\n",
       "\t    },\n",
       "\t    getSeconds: function() {\n",
       "\t      return this._.getUTCSeconds();\n",
       "\t    },\n",
       "\t    getTime: function() {\n",
       "\t      return this._.getTime();\n",
       "\t    },\n",
       "\t    getTimezoneOffset: function() {\n",
       "\t      return 0;\n",
       "\t    },\n",
       "\t    valueOf: function() {\n",
       "\t      return this._.valueOf();\n",
       "\t    },\n",
       "\t    setDate: function() {\n",
       "\t      d3_time_prototype.setUTCDate.apply(this._, arguments);\n",
       "\t    },\n",
       "\t    setDay: function() {\n",
       "\t      d3_time_prototype.setUTCDay.apply(this._, arguments);\n",
       "\t    },\n",
       "\t    setFullYear: function() {\n",
       "\t      d3_time_prototype.setUTCFullYear.apply(this._, arguments);\n",
       "\t    },\n",
       "\t    setHours: function() {\n",
       "\t      d3_time_prototype.setUTCHours.apply(this._, arguments);\n",
       "\t    },\n",
       "\t    setMilliseconds: function() {\n",
       "\t      d3_time_prototype.setUTCMilliseconds.apply(this._, arguments);\n",
       "\t    },\n",
       "\t    setMinutes: function() {\n",
       "\t      d3_time_prototype.setUTCMinutes.apply(this._, arguments);\n",
       "\t    },\n",
       "\t    setMonth: function() {\n",
       "\t      d3_time_prototype.setUTCMonth.apply(this._, arguments);\n",
       "\t    },\n",
       "\t    setSeconds: function() {\n",
       "\t      d3_time_prototype.setUTCSeconds.apply(this._, arguments);\n",
       "\t    },\n",
       "\t    setTime: function() {\n",
       "\t      d3_time_prototype.setTime.apply(this._, arguments);\n",
       "\t    }\n",
       "\t  };\n",
       "\t  var d3_time_prototype = Date.prototype;\n",
       "\t  function d3_time_interval(local, step, number) {\n",
       "\t    function round(date) {\n",
       "\t      var d0 = local(date), d1 = offset(d0, 1);\n",
       "\t      return date - d0 < d1 - date ? d0 : d1;\n",
       "\t    }\n",
       "\t    function ceil(date) {\n",
       "\t      step(date = local(new d3_date(date - 1)), 1);\n",
       "\t      return date;\n",
       "\t    }\n",
       "\t    function offset(date, k) {\n",
       "\t      step(date = new d3_date(+date), k);\n",
       "\t      return date;\n",
       "\t    }\n",
       "\t    function range(t0, t1, dt) {\n",
       "\t      var time = ceil(t0), times = [];\n",
       "\t      if (dt > 1) {\n",
       "\t        while (time < t1) {\n",
       "\t          if (!(number(time) % dt)) times.push(new Date(+time));\n",
       "\t          step(time, 1);\n",
       "\t        }\n",
       "\t      } else {\n",
       "\t        while (time < t1) times.push(new Date(+time)), step(time, 1);\n",
       "\t      }\n",
       "\t      return times;\n",
       "\t    }\n",
       "\t    function range_utc(t0, t1, dt) {\n",
       "\t      try {\n",
       "\t        d3_date = d3_date_utc;\n",
       "\t        var utc = new d3_date_utc();\n",
       "\t        utc._ = t0;\n",
       "\t        return range(utc, t1, dt);\n",
       "\t      } finally {\n",
       "\t        d3_date = Date;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    local.floor = local;\n",
       "\t    local.round = round;\n",
       "\t    local.ceil = ceil;\n",
       "\t    local.offset = offset;\n",
       "\t    local.range = range;\n",
       "\t    var utc = local.utc = d3_time_interval_utc(local);\n",
       "\t    utc.floor = utc;\n",
       "\t    utc.round = d3_time_interval_utc(round);\n",
       "\t    utc.ceil = d3_time_interval_utc(ceil);\n",
       "\t    utc.offset = d3_time_interval_utc(offset);\n",
       "\t    utc.range = range_utc;\n",
       "\t    return local;\n",
       "\t  }\n",
       "\t  function d3_time_interval_utc(method) {\n",
       "\t    return function(date, k) {\n",
       "\t      try {\n",
       "\t        d3_date = d3_date_utc;\n",
       "\t        var utc = new d3_date_utc();\n",
       "\t        utc._ = date;\n",
       "\t        return method(utc, k)._;\n",
       "\t      } finally {\n",
       "\t        d3_date = Date;\n",
       "\t      }\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3_time.year = d3_time_interval(function(date) {\n",
       "\t    date = d3_time.day(date);\n",
       "\t    date.setMonth(0, 1);\n",
       "\t    return date;\n",
       "\t  }, function(date, offset) {\n",
       "\t    date.setFullYear(date.getFullYear() + offset);\n",
       "\t  }, function(date) {\n",
       "\t    return date.getFullYear();\n",
       "\t  });\n",
       "\t  d3_time.years = d3_time.year.range;\n",
       "\t  d3_time.years.utc = d3_time.year.utc.range;\n",
       "\t  d3_time.day = d3_time_interval(function(date) {\n",
       "\t    var day = new d3_date(2e3, 0);\n",
       "\t    day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n",
       "\t    return day;\n",
       "\t  }, function(date, offset) {\n",
       "\t    date.setDate(date.getDate() + offset);\n",
       "\t  }, function(date) {\n",
       "\t    return date.getDate() - 1;\n",
       "\t  });\n",
       "\t  d3_time.days = d3_time.day.range;\n",
       "\t  d3_time.days.utc = d3_time.day.utc.range;\n",
       "\t  d3_time.dayOfYear = function(date) {\n",
       "\t    var year = d3_time.year(date);\n",
       "\t    return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5);\n",
       "\t  };\n",
       "\t  [ \"sunday\", \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\" ].forEach(function(day, i) {\n",
       "\t    i = 7 - i;\n",
       "\t    var interval = d3_time[day] = d3_time_interval(function(date) {\n",
       "\t      (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7);\n",
       "\t      return date;\n",
       "\t    }, function(date, offset) {\n",
       "\t      date.setDate(date.getDate() + Math.floor(offset) * 7);\n",
       "\t    }, function(date) {\n",
       "\t      var day = d3_time.year(date).getDay();\n",
       "\t      return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i);\n",
       "\t    });\n",
       "\t    d3_time[day + \"s\"] = interval.range;\n",
       "\t    d3_time[day + \"s\"].utc = interval.utc.range;\n",
       "\t    d3_time[day + \"OfYear\"] = function(date) {\n",
       "\t      var day = d3_time.year(date).getDay();\n",
       "\t      return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7);\n",
       "\t    };\n",
       "\t  });\n",
       "\t  d3_time.week = d3_time.sunday;\n",
       "\t  d3_time.weeks = d3_time.sunday.range;\n",
       "\t  d3_time.weeks.utc = d3_time.sunday.utc.range;\n",
       "\t  d3_time.weekOfYear = d3_time.sundayOfYear;\n",
       "\t  function d3_locale_timeFormat(locale) {\n",
       "\t    var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths;\n",
       "\t    function d3_time_format(template) {\n",
       "\t      var n = template.length;\n",
       "\t      function format(date) {\n",
       "\t        var string = [], i = -1, j = 0, c, p, f;\n",
       "\t        while (++i < n) {\n",
       "\t          if (template.charCodeAt(i) === 37) {\n",
       "\t            string.push(template.slice(j, i));\n",
       "\t            if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i);\n",
       "\t            if (f = d3_time_formats[c]) c = f(date, p == null ? c === \"e\" ? \" \" : \"0\" : p);\n",
       "\t            string.push(c);\n",
       "\t            j = i + 1;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        string.push(template.slice(j, i));\n",
       "\t        return string.join(\"\");\n",
       "\t      }\n",
       "\t      format.parse = function(string) {\n",
       "\t        var d = {\n",
       "\t          y: 1900,\n",
       "\t          m: 0,\n",
       "\t          d: 1,\n",
       "\t          H: 0,\n",
       "\t          M: 0,\n",
       "\t          S: 0,\n",
       "\t          L: 0,\n",
       "\t          Z: null\n",
       "\t        }, i = d3_time_parse(d, template, string, 0);\n",
       "\t        if (i != string.length) return null;\n",
       "\t        if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n",
       "\t        var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)();\n",
       "\t        if (\"j\" in d) date.setFullYear(d.y, 0, d.j); else if (\"W\" in d || \"U\" in d) {\n",
       "\t          if (!(\"w\" in d)) d.w = \"W\" in d ? 1 : 0;\n",
       "\t          date.setFullYear(d.y, 0, 1);\n",
       "\t          date.setFullYear(d.y, 0, \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7);\n",
       "\t        } else date.setFullYear(d.y, d.m, d.d);\n",
       "\t        date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L);\n",
       "\t        return localZ ? date._ : date;\n",
       "\t      };\n",
       "\t      format.toString = function() {\n",
       "\t        return template;\n",
       "\t      };\n",
       "\t      return format;\n",
       "\t    }\n",
       "\t    function d3_time_parse(date, template, string, j) {\n",
       "\t      var c, p, t, i = 0, n = template.length, m = string.length;\n",
       "\t      while (i < n) {\n",
       "\t        if (j >= m) return -1;\n",
       "\t        c = template.charCodeAt(i++);\n",
       "\t        if (c === 37) {\n",
       "\t          t = template.charAt(i++);\n",
       "\t          p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t];\n",
       "\t          if (!p || (j = p(date, string, j)) < 0) return -1;\n",
       "\t        } else if (c != string.charCodeAt(j++)) {\n",
       "\t          return -1;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return j;\n",
       "\t    }\n",
       "\t    d3_time_format.utc = function(template) {\n",
       "\t      var local = d3_time_format(template);\n",
       "\t      function format(date) {\n",
       "\t        try {\n",
       "\t          d3_date = d3_date_utc;\n",
       "\t          var utc = new d3_date();\n",
       "\t          utc._ = date;\n",
       "\t          return local(utc);\n",
       "\t        } finally {\n",
       "\t          d3_date = Date;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      format.parse = function(string) {\n",
       "\t        try {\n",
       "\t          d3_date = d3_date_utc;\n",
       "\t          var date = local.parse(string);\n",
       "\t          return date && date._;\n",
       "\t        } finally {\n",
       "\t          d3_date = Date;\n",
       "\t        }\n",
       "\t      };\n",
       "\t      format.toString = local.toString;\n",
       "\t      return format;\n",
       "\t    };\n",
       "\t    d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti;\n",
       "\t    var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths);\n",
       "\t    locale_periods.forEach(function(p, i) {\n",
       "\t      d3_time_periodLookup.set(p.toLowerCase(), i);\n",
       "\t    });\n",
       "\t    var d3_time_formats = {\n",
       "\t      a: function(d) {\n",
       "\t        return locale_shortDays[d.getDay()];\n",
       "\t      },\n",
       "\t      A: function(d) {\n",
       "\t        return locale_days[d.getDay()];\n",
       "\t      },\n",
       "\t      b: function(d) {\n",
       "\t        return locale_shortMonths[d.getMonth()];\n",
       "\t      },\n",
       "\t      B: function(d) {\n",
       "\t        return locale_months[d.getMonth()];\n",
       "\t      },\n",
       "\t      c: d3_time_format(locale_dateTime),\n",
       "\t      d: function(d, p) {\n",
       "\t        return d3_time_formatPad(d.getDate(), p, 2);\n",
       "\t      },\n",
       "\t      e: function(d, p) {\n",
       "\t        return d3_time_formatPad(d.getDate(), p, 2);\n",
       "\t      },\n",
       "\t      H: function(d, p) {\n",
       "\t        return d3_time_formatPad(d.getHours(), p, 2);\n",
       "\t      },\n",
       "\t      I: function(d, p) {\n",
       "\t        return d3_time_formatPad(d.getHours() % 12 || 12, p, 2);\n",
       "\t      },\n",
       "\t      j: function(d, p) {\n",
       "\t        return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3);\n",
       "\t      },\n",
       "\t      L: function(d, p) {\n",
       "\t        return d3_time_formatPad(d.getMilliseconds(), p, 3);\n",
       "\t      },\n",
       "\t      m: function(d, p) {\n",
       "\t        return d3_time_formatPad(d.getMonth() + 1, p, 2);\n",
       "\t      },\n",
       "\t      M: function(d, p) {\n",
       "\t        return d3_time_formatPad(d.getMinutes(), p, 2);\n",
       "\t      },\n",
       "\t      p: function(d) {\n",
       "\t        return locale_periods[+(d.getHours() >= 12)];\n",
       "\t      },\n",
       "\t      S: function(d, p) {\n",
       "\t        return d3_time_formatPad(d.getSeconds(), p, 2);\n",
       "\t      },\n",
       "\t      U: function(d, p) {\n",
       "\t        return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2);\n",
       "\t      },\n",
       "\t      w: function(d) {\n",
       "\t        return d.getDay();\n",
       "\t      },\n",
       "\t      W: function(d, p) {\n",
       "\t        return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2);\n",
       "\t      },\n",
       "\t      x: d3_time_format(locale_date),\n",
       "\t      X: d3_time_format(locale_time),\n",
       "\t      y: function(d, p) {\n",
       "\t        return d3_time_formatPad(d.getFullYear() % 100, p, 2);\n",
       "\t      },\n",
       "\t      Y: function(d, p) {\n",
       "\t        return d3_time_formatPad(d.getFullYear() % 1e4, p, 4);\n",
       "\t      },\n",
       "\t      Z: d3_time_zone,\n",
       "\t      \"%\": function() {\n",
       "\t        return \"%\";\n",
       "\t      }\n",
       "\t    };\n",
       "\t    var d3_time_parsers = {\n",
       "\t      a: d3_time_parseWeekdayAbbrev,\n",
       "\t      A: d3_time_parseWeekday,\n",
       "\t      b: d3_time_parseMonthAbbrev,\n",
       "\t      B: d3_time_parseMonth,\n",
       "\t      c: d3_time_parseLocaleFull,\n",
       "\t      d: d3_time_parseDay,\n",
       "\t      e: d3_time_parseDay,\n",
       "\t      H: d3_time_parseHour24,\n",
       "\t      I: d3_time_parseHour24,\n",
       "\t      j: d3_time_parseDayOfYear,\n",
       "\t      L: d3_time_parseMilliseconds,\n",
       "\t      m: d3_time_parseMonthNumber,\n",
       "\t      M: d3_time_parseMinutes,\n",
       "\t      p: d3_time_parseAmPm,\n",
       "\t      S: d3_time_parseSeconds,\n",
       "\t      U: d3_time_parseWeekNumberSunday,\n",
       "\t      w: d3_time_parseWeekdayNumber,\n",
       "\t      W: d3_time_parseWeekNumberMonday,\n",
       "\t      x: d3_time_parseLocaleDate,\n",
       "\t      X: d3_time_parseLocaleTime,\n",
       "\t      y: d3_time_parseYear,\n",
       "\t      Y: d3_time_parseFullYear,\n",
       "\t      Z: d3_time_parseZone,\n",
       "\t      \"%\": d3_time_parseLiteralPercent\n",
       "\t    };\n",
       "\t    function d3_time_parseWeekdayAbbrev(date, string, i) {\n",
       "\t      d3_time_dayAbbrevRe.lastIndex = 0;\n",
       "\t      var n = d3_time_dayAbbrevRe.exec(string.slice(i));\n",
       "\t      return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n",
       "\t    }\n",
       "\t    function d3_time_parseWeekday(date, string, i) {\n",
       "\t      d3_time_dayRe.lastIndex = 0;\n",
       "\t      var n = d3_time_dayRe.exec(string.slice(i));\n",
       "\t      return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n",
       "\t    }\n",
       "\t    function d3_time_parseMonthAbbrev(date, string, i) {\n",
       "\t      d3_time_monthAbbrevRe.lastIndex = 0;\n",
       "\t      var n = d3_time_monthAbbrevRe.exec(string.slice(i));\n",
       "\t      return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n",
       "\t    }\n",
       "\t    function d3_time_parseMonth(date, string, i) {\n",
       "\t      d3_time_monthRe.lastIndex = 0;\n",
       "\t      var n = d3_time_monthRe.exec(string.slice(i));\n",
       "\t      return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n",
       "\t    }\n",
       "\t    function d3_time_parseLocaleFull(date, string, i) {\n",
       "\t      return d3_time_parse(date, d3_time_formats.c.toString(), string, i);\n",
       "\t    }\n",
       "\t    function d3_time_parseLocaleDate(date, string, i) {\n",
       "\t      return d3_time_parse(date, d3_time_formats.x.toString(), string, i);\n",
       "\t    }\n",
       "\t    function d3_time_parseLocaleTime(date, string, i) {\n",
       "\t      return d3_time_parse(date, d3_time_formats.X.toString(), string, i);\n",
       "\t    }\n",
       "\t    function d3_time_parseAmPm(date, string, i) {\n",
       "\t      var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase());\n",
       "\t      return n == null ? -1 : (date.p = n, i);\n",
       "\t    }\n",
       "\t    return d3_time_format;\n",
       "\t  }\n",
       "\t  var d3_time_formatPads = {\n",
       "\t    \"-\": \"\",\n",
       "\t    _: \" \",\n",
       "\t    \"0\": \"0\"\n",
       "\t  }, d3_time_numberRe = /^\\s*\\d+/, d3_time_percentRe = /^%/;\n",
       "\t  function d3_time_formatPad(value, fill, width) {\n",
       "\t    var sign = value < 0 ? \"-\" : \"\", string = (sign ? -value : value) + \"\", length = string.length;\n",
       "\t    return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n",
       "\t  }\n",
       "\t  function d3_time_formatRe(names) {\n",
       "\t    return new RegExp(\"^(?:\" + names.map(d3.requote).join(\"|\") + \")\", \"i\");\n",
       "\t  }\n",
       "\t  function d3_time_formatLookup(names) {\n",
       "\t    var map = new d3_Map(), i = -1, n = names.length;\n",
       "\t    while (++i < n) map.set(names[i].toLowerCase(), i);\n",
       "\t    return map;\n",
       "\t  }\n",
       "\t  function d3_time_parseWeekdayNumber(date, string, i) {\n",
       "\t    d3_time_numberRe.lastIndex = 0;\n",
       "\t    var n = d3_time_numberRe.exec(string.slice(i, i + 1));\n",
       "\t    return n ? (date.w = +n[0], i + n[0].length) : -1;\n",
       "\t  }\n",
       "\t  function d3_time_parseWeekNumberSunday(date, string, i) {\n",
       "\t    d3_time_numberRe.lastIndex = 0;\n",
       "\t    var n = d3_time_numberRe.exec(string.slice(i));\n",
       "\t    return n ? (date.U = +n[0], i + n[0].length) : -1;\n",
       "\t  }\n",
       "\t  function d3_time_parseWeekNumberMonday(date, string, i) {\n",
       "\t    d3_time_numberRe.lastIndex = 0;\n",
       "\t    var n = d3_time_numberRe.exec(string.slice(i));\n",
       "\t    return n ? (date.W = +n[0], i + n[0].length) : -1;\n",
       "\t  }\n",
       "\t  function d3_time_parseFullYear(date, string, i) {\n",
       "\t    d3_time_numberRe.lastIndex = 0;\n",
       "\t    var n = d3_time_numberRe.exec(string.slice(i, i + 4));\n",
       "\t    return n ? (date.y = +n[0], i + n[0].length) : -1;\n",
       "\t  }\n",
       "\t  function d3_time_parseYear(date, string, i) {\n",
       "\t    d3_time_numberRe.lastIndex = 0;\n",
       "\t    var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n",
       "\t    return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1;\n",
       "\t  }\n",
       "\t  function d3_time_parseZone(date, string, i) {\n",
       "\t    return /^[+-]\\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, \n",
       "\t    i + 5) : -1;\n",
       "\t  }\n",
       "\t  function d3_time_expandYear(d) {\n",
       "\t    return d + (d > 68 ? 1900 : 2e3);\n",
       "\t  }\n",
       "\t  function d3_time_parseMonthNumber(date, string, i) {\n",
       "\t    d3_time_numberRe.lastIndex = 0;\n",
       "\t    var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n",
       "\t    return n ? (date.m = n[0] - 1, i + n[0].length) : -1;\n",
       "\t  }\n",
       "\t  function d3_time_parseDay(date, string, i) {\n",
       "\t    d3_time_numberRe.lastIndex = 0;\n",
       "\t    var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n",
       "\t    return n ? (date.d = +n[0], i + n[0].length) : -1;\n",
       "\t  }\n",
       "\t  function d3_time_parseDayOfYear(date, string, i) {\n",
       "\t    d3_time_numberRe.lastIndex = 0;\n",
       "\t    var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n",
       "\t    return n ? (date.j = +n[0], i + n[0].length) : -1;\n",
       "\t  }\n",
       "\t  function d3_time_parseHour24(date, string, i) {\n",
       "\t    d3_time_numberRe.lastIndex = 0;\n",
       "\t    var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n",
       "\t    return n ? (date.H = +n[0], i + n[0].length) : -1;\n",
       "\t  }\n",
       "\t  function d3_time_parseMinutes(date, string, i) {\n",
       "\t    d3_time_numberRe.lastIndex = 0;\n",
       "\t    var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n",
       "\t    return n ? (date.M = +n[0], i + n[0].length) : -1;\n",
       "\t  }\n",
       "\t  function d3_time_parseSeconds(date, string, i) {\n",
       "\t    d3_time_numberRe.lastIndex = 0;\n",
       "\t    var n = d3_time_numberRe.exec(string.slice(i, i + 2));\n",
       "\t    return n ? (date.S = +n[0], i + n[0].length) : -1;\n",
       "\t  }\n",
       "\t  function d3_time_parseMilliseconds(date, string, i) {\n",
       "\t    d3_time_numberRe.lastIndex = 0;\n",
       "\t    var n = d3_time_numberRe.exec(string.slice(i, i + 3));\n",
       "\t    return n ? (date.L = +n[0], i + n[0].length) : -1;\n",
       "\t  }\n",
       "\t  function d3_time_zone(d) {\n",
       "\t    var z = d.getTimezoneOffset(), zs = z > 0 ? \"-\" : \"+\", zh = abs(z) / 60 | 0, zm = abs(z) % 60;\n",
       "\t    return zs + d3_time_formatPad(zh, \"0\", 2) + d3_time_formatPad(zm, \"0\", 2);\n",
       "\t  }\n",
       "\t  function d3_time_parseLiteralPercent(date, string, i) {\n",
       "\t    d3_time_percentRe.lastIndex = 0;\n",
       "\t    var n = d3_time_percentRe.exec(string.slice(i, i + 1));\n",
       "\t    return n ? i + n[0].length : -1;\n",
       "\t  }\n",
       "\t  function d3_time_formatMulti(formats) {\n",
       "\t    var n = formats.length, i = -1;\n",
       "\t    while (++i < n) formats[i][0] = this(formats[i][0]);\n",
       "\t    return function(date) {\n",
       "\t      var i = 0, f = formats[i];\n",
       "\t      while (!f[1](date)) f = formats[++i];\n",
       "\t      return f[0](date);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.locale = function(locale) {\n",
       "\t    return {\n",
       "\t      numberFormat: d3_locale_numberFormat(locale),\n",
       "\t      timeFormat: d3_locale_timeFormat(locale)\n",
       "\t    };\n",
       "\t  };\n",
       "\t  var d3_locale_enUS = d3.locale({\n",
       "\t    decimal: \".\",\n",
       "\t    thousands: \",\",\n",
       "\t    grouping: [ 3 ],\n",
       "\t    currency: [ \"$\", \"\" ],\n",
       "\t    dateTime: \"%a %b %e %X %Y\",\n",
       "\t    date: \"%m/%d/%Y\",\n",
       "\t    time: \"%H:%M:%S\",\n",
       "\t    periods: [ \"AM\", \"PM\" ],\n",
       "\t    days: [ \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\" ],\n",
       "\t    shortDays: [ \"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\" ],\n",
       "\t    months: [ \"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ],\n",
       "\t    shortMonths: [ \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\" ]\n",
       "\t  });\n",
       "\t  d3.format = d3_locale_enUS.numberFormat;\n",
       "\t  d3.geo = {};\n",
       "\t  function d3_adder() {}\n",
       "\t  d3_adder.prototype = {\n",
       "\t    s: 0,\n",
       "\t    t: 0,\n",
       "\t    add: function(y) {\n",
       "\t      d3_adderSum(y, this.t, d3_adderTemp);\n",
       "\t      d3_adderSum(d3_adderTemp.s, this.s, this);\n",
       "\t      if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t;\n",
       "\t    },\n",
       "\t    reset: function() {\n",
       "\t      this.s = this.t = 0;\n",
       "\t    },\n",
       "\t    valueOf: function() {\n",
       "\t      return this.s;\n",
       "\t    }\n",
       "\t  };\n",
       "\t  var d3_adderTemp = new d3_adder();\n",
       "\t  function d3_adderSum(a, b, o) {\n",
       "\t    var x = o.s = a + b, bv = x - a, av = x - bv;\n",
       "\t    o.t = a - av + (b - bv);\n",
       "\t  }\n",
       "\t  d3.geo.stream = function(object, listener) {\n",
       "\t    if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) {\n",
       "\t      d3_geo_streamObjectType[object.type](object, listener);\n",
       "\t    } else {\n",
       "\t      d3_geo_streamGeometry(object, listener);\n",
       "\t    }\n",
       "\t  };\n",
       "\t  function d3_geo_streamGeometry(geometry, listener) {\n",
       "\t    if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {\n",
       "\t      d3_geo_streamGeometryType[geometry.type](geometry, listener);\n",
       "\t    }\n",
       "\t  }\n",
       "\t  var d3_geo_streamObjectType = {\n",
       "\t    Feature: function(feature, listener) {\n",
       "\t      d3_geo_streamGeometry(feature.geometry, listener);\n",
       "\t    },\n",
       "\t    FeatureCollection: function(object, listener) {\n",
       "\t      var features = object.features, i = -1, n = features.length;\n",
       "\t      while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener);\n",
       "\t    }\n",
       "\t  };\n",
       "\t  var d3_geo_streamGeometryType = {\n",
       "\t    Sphere: function(object, listener) {\n",
       "\t      listener.sphere();\n",
       "\t    },\n",
       "\t    Point: function(object, listener) {\n",
       "\t      object = object.coordinates;\n",
       "\t      listener.point(object[0], object[1], object[2]);\n",
       "\t    },\n",
       "\t    MultiPoint: function(object, listener) {\n",
       "\t      var coordinates = object.coordinates, i = -1, n = coordinates.length;\n",
       "\t      while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]);\n",
       "\t    },\n",
       "\t    LineString: function(object, listener) {\n",
       "\t      d3_geo_streamLine(object.coordinates, listener, 0);\n",
       "\t    },\n",
       "\t    MultiLineString: function(object, listener) {\n",
       "\t      var coordinates = object.coordinates, i = -1, n = coordinates.length;\n",
       "\t      while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0);\n",
       "\t    },\n",
       "\t    Polygon: function(object, listener) {\n",
       "\t      d3_geo_streamPolygon(object.coordinates, listener);\n",
       "\t    },\n",
       "\t    MultiPolygon: function(object, listener) {\n",
       "\t      var coordinates = object.coordinates, i = -1, n = coordinates.length;\n",
       "\t      while (++i < n) d3_geo_streamPolygon(coordinates[i], listener);\n",
       "\t    },\n",
       "\t    GeometryCollection: function(object, listener) {\n",
       "\t      var geometries = object.geometries, i = -1, n = geometries.length;\n",
       "\t      while (++i < n) d3_geo_streamGeometry(geometries[i], listener);\n",
       "\t    }\n",
       "\t  };\n",
       "\t  function d3_geo_streamLine(coordinates, listener, closed) {\n",
       "\t    var i = -1, n = coordinates.length - closed, coordinate;\n",
       "\t    listener.lineStart();\n",
       "\t    while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]);\n",
       "\t    listener.lineEnd();\n",
       "\t  }\n",
       "\t  function d3_geo_streamPolygon(coordinates, listener) {\n",
       "\t    var i = -1, n = coordinates.length;\n",
       "\t    listener.polygonStart();\n",
       "\t    while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1);\n",
       "\t    listener.polygonEnd();\n",
       "\t  }\n",
       "\t  d3.geo.area = function(object) {\n",
       "\t    d3_geo_areaSum = 0;\n",
       "\t    d3.geo.stream(object, d3_geo_area);\n",
       "\t    return d3_geo_areaSum;\n",
       "\t  };\n",
       "\t  var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder();\n",
       "\t  var d3_geo_area = {\n",
       "\t    sphere: function() {\n",
       "\t      d3_geo_areaSum += 4 * π;\n",
       "\t    },\n",
       "\t    point: d3_noop,\n",
       "\t    lineStart: d3_noop,\n",
       "\t    lineEnd: d3_noop,\n",
       "\t    polygonStart: function() {\n",
       "\t      d3_geo_areaRingSum.reset();\n",
       "\t      d3_geo_area.lineStart = d3_geo_areaRingStart;\n",
       "\t    },\n",
       "\t    polygonEnd: function() {\n",
       "\t      var area = 2 * d3_geo_areaRingSum;\n",
       "\t      d3_geo_areaSum += area < 0 ? 4 * π + area : area;\n",
       "\t      d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop;\n",
       "\t    }\n",
       "\t  };\n",
       "\t  function d3_geo_areaRingStart() {\n",
       "\t    var λ00, φ00, λ0, cosφ0, sinφ0;\n",
       "\t    d3_geo_area.point = function(λ, φ) {\n",
       "\t      d3_geo_area.point = nextPoint;\n",
       "\t      λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), \n",
       "\t      sinφ0 = Math.sin(φ);\n",
       "\t    };\n",
       "\t    function nextPoint(λ, φ) {\n",
       "\t      λ *= d3_radians;\n",
       "\t      φ = φ * d3_radians / 2 + π / 4;\n",
       "\t      var dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(adλ), v = k * sdλ * Math.sin(adλ);\n",
       "\t      d3_geo_areaRingSum.add(Math.atan2(v, u));\n",
       "\t      λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ;\n",
       "\t    }\n",
       "\t    d3_geo_area.lineEnd = function() {\n",
       "\t      nextPoint(λ00, φ00);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_geo_cartesian(spherical) {\n",
       "\t    var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ);\n",
       "\t    return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ];\n",
       "\t  }\n",
       "\t  function d3_geo_cartesianDot(a, b) {\n",
       "\t    return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n",
       "\t  }\n",
       "\t  function d3_geo_cartesianCross(a, b) {\n",
       "\t    return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ];\n",
       "\t  }\n",
       "\t  function d3_geo_cartesianAdd(a, b) {\n",
       "\t    a[0] += b[0];\n",
       "\t    a[1] += b[1];\n",
       "\t    a[2] += b[2];\n",
       "\t  }\n",
       "\t  function d3_geo_cartesianScale(vector, k) {\n",
       "\t    return [ vector[0] * k, vector[1] * k, vector[2] * k ];\n",
       "\t  }\n",
       "\t  function d3_geo_cartesianNormalize(d) {\n",
       "\t    var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n",
       "\t    d[0] /= l;\n",
       "\t    d[1] /= l;\n",
       "\t    d[2] /= l;\n",
       "\t  }\n",
       "\t  function d3_geo_spherical(cartesian) {\n",
       "\t    return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ];\n",
       "\t  }\n",
       "\t  function d3_geo_sphericalEqual(a, b) {\n",
       "\t    return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε;\n",
       "\t  }\n",
       "\t  d3.geo.bounds = function() {\n",
       "\t    var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range;\n",
       "\t    var bound = {\n",
       "\t      point: point,\n",
       "\t      lineStart: lineStart,\n",
       "\t      lineEnd: lineEnd,\n",
       "\t      polygonStart: function() {\n",
       "\t        bound.point = ringPoint;\n",
       "\t        bound.lineStart = ringStart;\n",
       "\t        bound.lineEnd = ringEnd;\n",
       "\t        dλSum = 0;\n",
       "\t        d3_geo_area.polygonStart();\n",
       "\t      },\n",
       "\t      polygonEnd: function() {\n",
       "\t        d3_geo_area.polygonEnd();\n",
       "\t        bound.point = point;\n",
       "\t        bound.lineStart = lineStart;\n",
       "\t        bound.lineEnd = lineEnd;\n",
       "\t        if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90;\n",
       "\t        range[0] = λ0, range[1] = λ1;\n",
       "\t      }\n",
       "\t    };\n",
       "\t    function point(λ, φ) {\n",
       "\t      ranges.push(range = [ λ0 = λ, λ1 = λ ]);\n",
       "\t      if (φ < φ0) φ0 = φ;\n",
       "\t      if (φ > φ1) φ1 = φ;\n",
       "\t    }\n",
       "\t    function linePoint(λ, φ) {\n",
       "\t      var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]);\n",
       "\t      if (p0) {\n",
       "\t        var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal);\n",
       "\t        d3_geo_cartesianNormalize(inflection);\n",
       "\t        inflection = d3_geo_spherical(inflection);\n",
       "\t        var dλ = λ - λ_, s = dλ > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = abs(dλ) > 180;\n",
       "\t        if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) {\n",
       "\t          var φi = inflection[1] * d3_degrees;\n",
       "\t          if (φi > φ1) φ1 = φi;\n",
       "\t        } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) {\n",
       "\t          var φi = -inflection[1] * d3_degrees;\n",
       "\t          if (φi < φ0) φ0 = φi;\n",
       "\t        } else {\n",
       "\t          if (φ < φ0) φ0 = φ;\n",
       "\t          if (φ > φ1) φ1 = φ;\n",
       "\t        }\n",
       "\t        if (antimeridian) {\n",
       "\t          if (λ < λ_) {\n",
       "\t            if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;\n",
       "\t          } else {\n",
       "\t            if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;\n",
       "\t          }\n",
       "\t        } else {\n",
       "\t          if (λ1 >= λ0) {\n",
       "\t            if (λ < λ0) λ0 = λ;\n",
       "\t            if (λ > λ1) λ1 = λ;\n",
       "\t          } else {\n",
       "\t            if (λ > λ_) {\n",
       "\t              if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;\n",
       "\t            } else {\n",
       "\t              if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;\n",
       "\t            }\n",
       "\t          }\n",
       "\t        }\n",
       "\t      } else {\n",
       "\t        point(λ, φ);\n",
       "\t      }\n",
       "\t      p0 = p, λ_ = λ;\n",
       "\t    }\n",
       "\t    function lineStart() {\n",
       "\t      bound.point = linePoint;\n",
       "\t    }\n",
       "\t    function lineEnd() {\n",
       "\t      range[0] = λ0, range[1] = λ1;\n",
       "\t      bound.point = point;\n",
       "\t      p0 = null;\n",
       "\t    }\n",
       "\t    function ringPoint(λ, φ) {\n",
       "\t      if (p0) {\n",
       "\t        var dλ = λ - λ_;\n",
       "\t        dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ;\n",
       "\t      } else λ__ = λ, φ__ = φ;\n",
       "\t      d3_geo_area.point(λ, φ);\n",
       "\t      linePoint(λ, φ);\n",
       "\t    }\n",
       "\t    function ringStart() {\n",
       "\t      d3_geo_area.lineStart();\n",
       "\t    }\n",
       "\t    function ringEnd() {\n",
       "\t      ringPoint(λ__, φ__);\n",
       "\t      d3_geo_area.lineEnd();\n",
       "\t      if (abs(dλSum) > ε) λ0 = -(λ1 = 180);\n",
       "\t      range[0] = λ0, range[1] = λ1;\n",
       "\t      p0 = null;\n",
       "\t    }\n",
       "\t    function angle(λ0, λ1) {\n",
       "\t      return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1;\n",
       "\t    }\n",
       "\t    function compareRanges(a, b) {\n",
       "\t      return a[0] - b[0];\n",
       "\t    }\n",
       "\t    function withinRange(x, range) {\n",
       "\t      return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;\n",
       "\t    }\n",
       "\t    return function(feature) {\n",
       "\t      φ1 = λ1 = -(λ0 = φ0 = Infinity);\n",
       "\t      ranges = [];\n",
       "\t      d3.geo.stream(feature, bound);\n",
       "\t      var n = ranges.length;\n",
       "\t      if (n) {\n",
       "\t        ranges.sort(compareRanges);\n",
       "\t        for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) {\n",
       "\t          b = ranges[i];\n",
       "\t          if (withinRange(b[0], a) || withinRange(b[1], a)) {\n",
       "\t            if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];\n",
       "\t            if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];\n",
       "\t          } else {\n",
       "\t            merged.push(a = b);\n",
       "\t          }\n",
       "\t        }\n",
       "\t        var best = -Infinity, dλ;\n",
       "\t        for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) {\n",
       "\t          b = merged[i];\n",
       "\t          if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1];\n",
       "\t        }\n",
       "\t      }\n",
       "\t      ranges = range = null;\n",
       "\t      return λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ];\n",
       "\t    };\n",
       "\t  }();\n",
       "\t  d3.geo.centroid = function(object) {\n",
       "\t    d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n",
       "\t    d3.geo.stream(object, d3_geo_centroid);\n",
       "\t    var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z;\n",
       "\t    if (m < ε2) {\n",
       "\t      x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1;\n",
       "\t      if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0;\n",
       "\t      m = x * x + y * y + z * z;\n",
       "\t      if (m < ε2) return [ NaN, NaN ];\n",
       "\t    }\n",
       "\t    return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ];\n",
       "\t  };\n",
       "\t  var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2;\n",
       "\t  var d3_geo_centroid = {\n",
       "\t    sphere: d3_noop,\n",
       "\t    point: d3_geo_centroidPoint,\n",
       "\t    lineStart: d3_geo_centroidLineStart,\n",
       "\t    lineEnd: d3_geo_centroidLineEnd,\n",
       "\t    polygonStart: function() {\n",
       "\t      d3_geo_centroid.lineStart = d3_geo_centroidRingStart;\n",
       "\t    },\n",
       "\t    polygonEnd: function() {\n",
       "\t      d3_geo_centroid.lineStart = d3_geo_centroidLineStart;\n",
       "\t    }\n",
       "\t  };\n",
       "\t  function d3_geo_centroidPoint(λ, φ) {\n",
       "\t    λ *= d3_radians;\n",
       "\t    var cosφ = Math.cos(φ *= d3_radians);\n",
       "\t    d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ));\n",
       "\t  }\n",
       "\t  function d3_geo_centroidPointXYZ(x, y, z) {\n",
       "\t    ++d3_geo_centroidW0;\n",
       "\t    d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0;\n",
       "\t    d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0;\n",
       "\t    d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0;\n",
       "\t  }\n",
       "\t  function d3_geo_centroidLineStart() {\n",
       "\t    var x0, y0, z0;\n",
       "\t    d3_geo_centroid.point = function(λ, φ) {\n",
       "\t      λ *= d3_radians;\n",
       "\t      var cosφ = Math.cos(φ *= d3_radians);\n",
       "\t      x0 = cosφ * Math.cos(λ);\n",
       "\t      y0 = cosφ * Math.sin(λ);\n",
       "\t      z0 = Math.sin(φ);\n",
       "\t      d3_geo_centroid.point = nextPoint;\n",
       "\t      d3_geo_centroidPointXYZ(x0, y0, z0);\n",
       "\t    };\n",
       "\t    function nextPoint(λ, φ) {\n",
       "\t      λ *= d3_radians;\n",
       "\t      var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);\n",
       "\t      d3_geo_centroidW1 += w;\n",
       "\t      d3_geo_centroidX1 += w * (x0 + (x0 = x));\n",
       "\t      d3_geo_centroidY1 += w * (y0 + (y0 = y));\n",
       "\t      d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n",
       "\t      d3_geo_centroidPointXYZ(x0, y0, z0);\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_geo_centroidLineEnd() {\n",
       "\t    d3_geo_centroid.point = d3_geo_centroidPoint;\n",
       "\t  }\n",
       "\t  function d3_geo_centroidRingStart() {\n",
       "\t    var λ00, φ00, x0, y0, z0;\n",
       "\t    d3_geo_centroid.point = function(λ, φ) {\n",
       "\t      λ00 = λ, φ00 = φ;\n",
       "\t      d3_geo_centroid.point = nextPoint;\n",
       "\t      λ *= d3_radians;\n",
       "\t      var cosφ = Math.cos(φ *= d3_radians);\n",
       "\t      x0 = cosφ * Math.cos(λ);\n",
       "\t      y0 = cosφ * Math.sin(λ);\n",
       "\t      z0 = Math.sin(φ);\n",
       "\t      d3_geo_centroidPointXYZ(x0, y0, z0);\n",
       "\t    };\n",
       "\t    d3_geo_centroid.lineEnd = function() {\n",
       "\t      nextPoint(λ00, φ00);\n",
       "\t      d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd;\n",
       "\t      d3_geo_centroid.point = d3_geo_centroidPoint;\n",
       "\t    };\n",
       "\t    function nextPoint(λ, φ) {\n",
       "\t      λ *= d3_radians;\n",
       "\t      var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u);\n",
       "\t      d3_geo_centroidX2 += v * cx;\n",
       "\t      d3_geo_centroidY2 += v * cy;\n",
       "\t      d3_geo_centroidZ2 += v * cz;\n",
       "\t      d3_geo_centroidW1 += w;\n",
       "\t      d3_geo_centroidX1 += w * (x0 + (x0 = x));\n",
       "\t      d3_geo_centroidY1 += w * (y0 + (y0 = y));\n",
       "\t      d3_geo_centroidZ1 += w * (z0 + (z0 = z));\n",
       "\t      d3_geo_centroidPointXYZ(x0, y0, z0);\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_geo_compose(a, b) {\n",
       "\t    function compose(x, y) {\n",
       "\t      return x = a(x, y), b(x[0], x[1]);\n",
       "\t    }\n",
       "\t    if (a.invert && b.invert) compose.invert = function(x, y) {\n",
       "\t      return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n",
       "\t    };\n",
       "\t    return compose;\n",
       "\t  }\n",
       "\t  function d3_true() {\n",
       "\t    return true;\n",
       "\t  }\n",
       "\t  function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) {\n",
       "\t    var subject = [], clip = [];\n",
       "\t    segments.forEach(function(segment) {\n",
       "\t      if ((n = segment.length - 1) <= 0) return;\n",
       "\t      var n, p0 = segment[0], p1 = segment[n];\n",
       "\t      if (d3_geo_sphericalEqual(p0, p1)) {\n",
       "\t        listener.lineStart();\n",
       "\t        for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]);\n",
       "\t        listener.lineEnd();\n",
       "\t        return;\n",
       "\t      }\n",
       "\t      var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false);\n",
       "\t      a.o = b;\n",
       "\t      subject.push(a);\n",
       "\t      clip.push(b);\n",
       "\t      a = new d3_geo_clipPolygonIntersection(p1, segment, null, false);\n",
       "\t      b = new d3_geo_clipPolygonIntersection(p1, null, a, true);\n",
       "\t      a.o = b;\n",
       "\t      subject.push(a);\n",
       "\t      clip.push(b);\n",
       "\t    });\n",
       "\t    clip.sort(compare);\n",
       "\t    d3_geo_clipPolygonLinkCircular(subject);\n",
       "\t    d3_geo_clipPolygonLinkCircular(clip);\n",
       "\t    if (!subject.length) return;\n",
       "\t    for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) {\n",
       "\t      clip[i].e = entry = !entry;\n",
       "\t    }\n",
       "\t    var start = subject[0], points, point;\n",
       "\t    while (1) {\n",
       "\t      var current = start, isSubject = true;\n",
       "\t      while (current.v) if ((current = current.n) === start) return;\n",
       "\t      points = current.z;\n",
       "\t      listener.lineStart();\n",
       "\t      do {\n",
       "\t        current.v = current.o.v = true;\n",
       "\t        if (current.e) {\n",
       "\t          if (isSubject) {\n",
       "\t            for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]);\n",
       "\t          } else {\n",
       "\t            interpolate(current.x, current.n.x, 1, listener);\n",
       "\t          }\n",
       "\t          current = current.n;\n",
       "\t        } else {\n",
       "\t          if (isSubject) {\n",
       "\t            points = current.p.z;\n",
       "\t            for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]);\n",
       "\t          } else {\n",
       "\t            interpolate(current.x, current.p.x, -1, listener);\n",
       "\t          }\n",
       "\t          current = current.p;\n",
       "\t        }\n",
       "\t        current = current.o;\n",
       "\t        points = current.z;\n",
       "\t        isSubject = !isSubject;\n",
       "\t      } while (!current.v);\n",
       "\t      listener.lineEnd();\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_geo_clipPolygonLinkCircular(array) {\n",
       "\t    if (!(n = array.length)) return;\n",
       "\t    var n, i = 0, a = array[0], b;\n",
       "\t    while (++i < n) {\n",
       "\t      a.n = b = array[i];\n",
       "\t      b.p = a;\n",
       "\t      a = b;\n",
       "\t    }\n",
       "\t    a.n = b = array[0];\n",
       "\t    b.p = a;\n",
       "\t  }\n",
       "\t  function d3_geo_clipPolygonIntersection(point, points, other, entry) {\n",
       "\t    this.x = point;\n",
       "\t    this.z = points;\n",
       "\t    this.o = other;\n",
       "\t    this.e = entry;\n",
       "\t    this.v = false;\n",
       "\t    this.n = this.p = null;\n",
       "\t  }\n",
       "\t  function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) {\n",
       "\t    return function(rotate, listener) {\n",
       "\t      var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]);\n",
       "\t      var clip = {\n",
       "\t        point: point,\n",
       "\t        lineStart: lineStart,\n",
       "\t        lineEnd: lineEnd,\n",
       "\t        polygonStart: function() {\n",
       "\t          clip.point = pointRing;\n",
       "\t          clip.lineStart = ringStart;\n",
       "\t          clip.lineEnd = ringEnd;\n",
       "\t          segments = [];\n",
       "\t          polygon = [];\n",
       "\t        },\n",
       "\t        polygonEnd: function() {\n",
       "\t          clip.point = point;\n",
       "\t          clip.lineStart = lineStart;\n",
       "\t          clip.lineEnd = lineEnd;\n",
       "\t          segments = d3.merge(segments);\n",
       "\t          var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon);\n",
       "\t          if (segments.length) {\n",
       "\t            if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n",
       "\t            d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener);\n",
       "\t          } else if (clipStartInside) {\n",
       "\t            if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n",
       "\t            listener.lineStart();\n",
       "\t            interpolate(null, null, 1, listener);\n",
       "\t            listener.lineEnd();\n",
       "\t          }\n",
       "\t          if (polygonStarted) listener.polygonEnd(), polygonStarted = false;\n",
       "\t          segments = polygon = null;\n",
       "\t        },\n",
       "\t        sphere: function() {\n",
       "\t          listener.polygonStart();\n",
       "\t          listener.lineStart();\n",
       "\t          interpolate(null, null, 1, listener);\n",
       "\t          listener.lineEnd();\n",
       "\t          listener.polygonEnd();\n",
       "\t        }\n",
       "\t      };\n",
       "\t      function point(λ, φ) {\n",
       "\t        var point = rotate(λ, φ);\n",
       "\t        if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ);\n",
       "\t      }\n",
       "\t      function pointLine(λ, φ) {\n",
       "\t        var point = rotate(λ, φ);\n",
       "\t        line.point(point[0], point[1]);\n",
       "\t      }\n",
       "\t      function lineStart() {\n",
       "\t        clip.point = pointLine;\n",
       "\t        line.lineStart();\n",
       "\t      }\n",
       "\t      function lineEnd() {\n",
       "\t        clip.point = point;\n",
       "\t        line.lineEnd();\n",
       "\t      }\n",
       "\t      var segments;\n",
       "\t      var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring;\n",
       "\t      function pointRing(λ, φ) {\n",
       "\t        ring.push([ λ, φ ]);\n",
       "\t        var point = rotate(λ, φ);\n",
       "\t        ringListener.point(point[0], point[1]);\n",
       "\t      }\n",
       "\t      function ringStart() {\n",
       "\t        ringListener.lineStart();\n",
       "\t        ring = [];\n",
       "\t      }\n",
       "\t      function ringEnd() {\n",
       "\t        pointRing(ring[0][0], ring[0][1]);\n",
       "\t        ringListener.lineEnd();\n",
       "\t        var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length;\n",
       "\t        ring.pop();\n",
       "\t        polygon.push(ring);\n",
       "\t        ring = null;\n",
       "\t        if (!n) return;\n",
       "\t        if (clean & 1) {\n",
       "\t          segment = ringSegments[0];\n",
       "\t          var n = segment.length - 1, i = -1, point;\n",
       "\t          if (n > 0) {\n",
       "\t            if (!polygonStarted) listener.polygonStart(), polygonStarted = true;\n",
       "\t            listener.lineStart();\n",
       "\t            while (++i < n) listener.point((point = segment[i])[0], point[1]);\n",
       "\t            listener.lineEnd();\n",
       "\t          }\n",
       "\t          return;\n",
       "\t        }\n",
       "\t        if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n",
       "\t        segments.push(ringSegments.filter(d3_geo_clipSegmentLength1));\n",
       "\t      }\n",
       "\t      return clip;\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_geo_clipSegmentLength1(segment) {\n",
       "\t    return segment.length > 1;\n",
       "\t  }\n",
       "\t  function d3_geo_clipBufferListener() {\n",
       "\t    var lines = [], line;\n",
       "\t    return {\n",
       "\t      lineStart: function() {\n",
       "\t        lines.push(line = []);\n",
       "\t      },\n",
       "\t      point: function(λ, φ) {\n",
       "\t        line.push([ λ, φ ]);\n",
       "\t      },\n",
       "\t      lineEnd: d3_noop,\n",
       "\t      buffer: function() {\n",
       "\t        var buffer = lines;\n",
       "\t        lines = [];\n",
       "\t        line = null;\n",
       "\t        return buffer;\n",
       "\t      },\n",
       "\t      rejoin: function() {\n",
       "\t        if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n",
       "\t      }\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_geo_clipSort(a, b) {\n",
       "\t    return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]);\n",
       "\t  }\n",
       "\t  var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -π, -π / 2 ]);\n",
       "\t  function d3_geo_clipAntimeridianLine(listener) {\n",
       "\t    var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean;\n",
       "\t    return {\n",
       "\t      lineStart: function() {\n",
       "\t        listener.lineStart();\n",
       "\t        clean = 1;\n",
       "\t      },\n",
       "\t      point: function(λ1, φ1) {\n",
       "\t        var sλ1 = λ1 > 0 ? π : -π, dλ = abs(λ1 - λ0);\n",
       "\t        if (abs(dλ - π) < ε) {\n",
       "\t          listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ);\n",
       "\t          listener.point(sλ0, φ0);\n",
       "\t          listener.lineEnd();\n",
       "\t          listener.lineStart();\n",
       "\t          listener.point(sλ1, φ0);\n",
       "\t          listener.point(λ1, φ0);\n",
       "\t          clean = 0;\n",
       "\t        } else if (sλ0 !== sλ1 && dλ >= π) {\n",
       "\t          if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε;\n",
       "\t          if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε;\n",
       "\t          φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1);\n",
       "\t          listener.point(sλ0, φ0);\n",
       "\t          listener.lineEnd();\n",
       "\t          listener.lineStart();\n",
       "\t          listener.point(sλ1, φ0);\n",
       "\t          clean = 0;\n",
       "\t        }\n",
       "\t        listener.point(λ0 = λ1, φ0 = φ1);\n",
       "\t        sλ0 = sλ1;\n",
       "\t      },\n",
       "\t      lineEnd: function() {\n",
       "\t        listener.lineEnd();\n",
       "\t        λ0 = φ0 = NaN;\n",
       "\t      },\n",
       "\t      clean: function() {\n",
       "\t        return 2 - clean;\n",
       "\t      }\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) {\n",
       "\t    var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1);\n",
       "\t    return abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2;\n",
       "\t  }\n",
       "\t  function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) {\n",
       "\t    var φ;\n",
       "\t    if (from == null) {\n",
       "\t      φ = direction * halfπ;\n",
       "\t      listener.point(-π, φ);\n",
       "\t      listener.point(0, φ);\n",
       "\t      listener.point(π, φ);\n",
       "\t      listener.point(π, 0);\n",
       "\t      listener.point(π, -φ);\n",
       "\t      listener.point(0, -φ);\n",
       "\t      listener.point(-π, -φ);\n",
       "\t      listener.point(-π, 0);\n",
       "\t      listener.point(-π, φ);\n",
       "\t    } else if (abs(from[0] - to[0]) > ε) {\n",
       "\t      var s = from[0] < to[0] ? π : -π;\n",
       "\t      φ = direction * s / 2;\n",
       "\t      listener.point(-s, φ);\n",
       "\t      listener.point(0, φ);\n",
       "\t      listener.point(s, φ);\n",
       "\t    } else {\n",
       "\t      listener.point(to[0], to[1]);\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_geo_pointInPolygon(point, polygon) {\n",
       "\t    var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0;\n",
       "\t    d3_geo_areaRingSum.reset();\n",
       "\t    for (var i = 0, n = polygon.length; i < n; ++i) {\n",
       "\t      var ring = polygon[i], m = ring.length;\n",
       "\t      if (!m) continue;\n",
       "\t      var point0 = ring[0], λ0 = point0[0], φ0 = point0[1] / 2 + π / 4, sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), j = 1;\n",
       "\t      while (true) {\n",
       "\t        if (j === m) j = 0;\n",
       "\t        point = ring[j];\n",
       "\t        var λ = point[0], φ = point[1] / 2 + π / 4, sinφ = Math.sin(φ), cosφ = Math.cos(φ), dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, antimeridian = adλ > π, k = sinφ0 * sinφ;\n",
       "\t        d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ)));\n",
       "\t        polarAngle += antimeridian ? dλ + sdλ * τ : dλ;\n",
       "\t        if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) {\n",
       "\t          var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point));\n",
       "\t          d3_geo_cartesianNormalize(arc);\n",
       "\t          var intersection = d3_geo_cartesianCross(meridianNormal, arc);\n",
       "\t          d3_geo_cartesianNormalize(intersection);\n",
       "\t          var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]);\n",
       "\t          if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) {\n",
       "\t            winding += antimeridian ^ dλ >= 0 ? 1 : -1;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        if (!j++) break;\n",
       "\t        λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < -ε) ^ winding & 1;\n",
       "\t  }\n",
       "\t  function d3_geo_clipCircle(radius) {\n",
       "\t    var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians);\n",
       "\t    return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -π, radius - π ]);\n",
       "\t    function visible(λ, φ) {\n",
       "\t      return Math.cos(λ) * Math.cos(φ) > cr;\n",
       "\t    }\n",
       "\t    function clipLine(listener) {\n",
       "\t      var point0, c0, v0, v00, clean;\n",
       "\t      return {\n",
       "\t        lineStart: function() {\n",
       "\t          v00 = v0 = false;\n",
       "\t          clean = 1;\n",
       "\t        },\n",
       "\t        point: function(λ, φ) {\n",
       "\t          var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0;\n",
       "\t          if (!point0 && (v00 = v0 = v)) listener.lineStart();\n",
       "\t          if (v !== v0) {\n",
       "\t            point2 = intersect(point0, point1);\n",
       "\t            if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) {\n",
       "\t              point1[0] += ε;\n",
       "\t              point1[1] += ε;\n",
       "\t              v = visible(point1[0], point1[1]);\n",
       "\t            }\n",
       "\t          }\n",
       "\t          if (v !== v0) {\n",
       "\t            clean = 0;\n",
       "\t            if (v) {\n",
       "\t              listener.lineStart();\n",
       "\t              point2 = intersect(point1, point0);\n",
       "\t              listener.point(point2[0], point2[1]);\n",
       "\t            } else {\n",
       "\t              point2 = intersect(point0, point1);\n",
       "\t              listener.point(point2[0], point2[1]);\n",
       "\t              listener.lineEnd();\n",
       "\t            }\n",
       "\t            point0 = point2;\n",
       "\t          } else if (notHemisphere && point0 && smallRadius ^ v) {\n",
       "\t            var t;\n",
       "\t            if (!(c & c0) && (t = intersect(point1, point0, true))) {\n",
       "\t              clean = 0;\n",
       "\t              if (smallRadius) {\n",
       "\t                listener.lineStart();\n",
       "\t                listener.point(t[0][0], t[0][1]);\n",
       "\t                listener.point(t[1][0], t[1][1]);\n",
       "\t                listener.lineEnd();\n",
       "\t              } else {\n",
       "\t                listener.point(t[1][0], t[1][1]);\n",
       "\t                listener.lineEnd();\n",
       "\t                listener.lineStart();\n",
       "\t                listener.point(t[0][0], t[0][1]);\n",
       "\t              }\n",
       "\t            }\n",
       "\t          }\n",
       "\t          if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) {\n",
       "\t            listener.point(point1[0], point1[1]);\n",
       "\t          }\n",
       "\t          point0 = point1, v0 = v, c0 = c;\n",
       "\t        },\n",
       "\t        lineEnd: function() {\n",
       "\t          if (v0) listener.lineEnd();\n",
       "\t          point0 = null;\n",
       "\t        },\n",
       "\t        clean: function() {\n",
       "\t          return clean | (v00 && v0) << 1;\n",
       "\t        }\n",
       "\t      };\n",
       "\t    }\n",
       "\t    function intersect(a, b, two) {\n",
       "\t      var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b);\n",
       "\t      var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2;\n",
       "\t      if (!determinant) return !two && a;\n",
       "\t      var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2);\n",
       "\t      d3_geo_cartesianAdd(A, B);\n",
       "\t      var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1);\n",
       "\t      if (t2 < 0) return;\n",
       "\t      var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu);\n",
       "\t      d3_geo_cartesianAdd(q, A);\n",
       "\t      q = d3_geo_spherical(q);\n",
       "\t      if (!two) return q;\n",
       "\t      var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z;\n",
       "\t      if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z;\n",
       "\t      var δλ = λ1 - λ0, polar = abs(δλ - π) < ε, meridian = polar || δλ < ε;\n",
       "\t      if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z;\n",
       "\t      if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) {\n",
       "\t        var q1 = d3_geo_cartesianScale(u, (-w + t) / uu);\n",
       "\t        d3_geo_cartesianAdd(q1, A);\n",
       "\t        return [ q, d3_geo_spherical(q1) ];\n",
       "\t      }\n",
       "\t    }\n",
       "\t    function code(λ, φ) {\n",
       "\t      var r = smallRadius ? radius : π - radius, code = 0;\n",
       "\t      if (λ < -r) code |= 1; else if (λ > r) code |= 2;\n",
       "\t      if (φ < -r) code |= 4; else if (φ > r) code |= 8;\n",
       "\t      return code;\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_geom_clipLine(x0, y0, x1, y1) {\n",
       "\t    return function(line) {\n",
       "\t      var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r;\n",
       "\t      r = x0 - ax;\n",
       "\t      if (!dx && r > 0) return;\n",
       "\t      r /= dx;\n",
       "\t      if (dx < 0) {\n",
       "\t        if (r < t0) return;\n",
       "\t        if (r < t1) t1 = r;\n",
       "\t      } else if (dx > 0) {\n",
       "\t        if (r > t1) return;\n",
       "\t        if (r > t0) t0 = r;\n",
       "\t      }\n",
       "\t      r = x1 - ax;\n",
       "\t      if (!dx && r < 0) return;\n",
       "\t      r /= dx;\n",
       "\t      if (dx < 0) {\n",
       "\t        if (r > t1) return;\n",
       "\t        if (r > t0) t0 = r;\n",
       "\t      } else if (dx > 0) {\n",
       "\t        if (r < t0) return;\n",
       "\t        if (r < t1) t1 = r;\n",
       "\t      }\n",
       "\t      r = y0 - ay;\n",
       "\t      if (!dy && r > 0) return;\n",
       "\t      r /= dy;\n",
       "\t      if (dy < 0) {\n",
       "\t        if (r < t0) return;\n",
       "\t        if (r < t1) t1 = r;\n",
       "\t      } else if (dy > 0) {\n",
       "\t        if (r > t1) return;\n",
       "\t        if (r > t0) t0 = r;\n",
       "\t      }\n",
       "\t      r = y1 - ay;\n",
       "\t      if (!dy && r < 0) return;\n",
       "\t      r /= dy;\n",
       "\t      if (dy < 0) {\n",
       "\t        if (r > t1) return;\n",
       "\t        if (r > t0) t0 = r;\n",
       "\t      } else if (dy > 0) {\n",
       "\t        if (r < t0) return;\n",
       "\t        if (r < t1) t1 = r;\n",
       "\t      }\n",
       "\t      if (t0 > 0) line.a = {\n",
       "\t        x: ax + t0 * dx,\n",
       "\t        y: ay + t0 * dy\n",
       "\t      };\n",
       "\t      if (t1 < 1) line.b = {\n",
       "\t        x: ax + t1 * dx,\n",
       "\t        y: ay + t1 * dy\n",
       "\t      };\n",
       "\t      return line;\n",
       "\t    };\n",
       "\t  }\n",
       "\t  var d3_geo_clipExtentMAX = 1e9;\n",
       "\t  d3.geo.clipExtent = function() {\n",
       "\t    var x0, y0, x1, y1, stream, clip, clipExtent = {\n",
       "\t      stream: function(output) {\n",
       "\t        if (stream) stream.valid = false;\n",
       "\t        stream = clip(output);\n",
       "\t        stream.valid = true;\n",
       "\t        return stream;\n",
       "\t      },\n",
       "\t      extent: function(_) {\n",
       "\t        if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n",
       "\t        clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]);\n",
       "\t        if (stream) stream.valid = false, stream = null;\n",
       "\t        return clipExtent;\n",
       "\t      }\n",
       "\t    };\n",
       "\t    return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]);\n",
       "\t  };\n",
       "\t  function d3_geo_clipExtent(x0, y0, x1, y1) {\n",
       "\t    return function(listener) {\n",
       "\t      var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring;\n",
       "\t      var clip = {\n",
       "\t        point: point,\n",
       "\t        lineStart: lineStart,\n",
       "\t        lineEnd: lineEnd,\n",
       "\t        polygonStart: function() {\n",
       "\t          listener = bufferListener;\n",
       "\t          segments = [];\n",
       "\t          polygon = [];\n",
       "\t          clean = true;\n",
       "\t        },\n",
       "\t        polygonEnd: function() {\n",
       "\t          listener = listener_;\n",
       "\t          segments = d3.merge(segments);\n",
       "\t          var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length;\n",
       "\t          if (inside || visible) {\n",
       "\t            listener.polygonStart();\n",
       "\t            if (inside) {\n",
       "\t              listener.lineStart();\n",
       "\t              interpolate(null, null, 1, listener);\n",
       "\t              listener.lineEnd();\n",
       "\t            }\n",
       "\t            if (visible) {\n",
       "\t              d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener);\n",
       "\t            }\n",
       "\t            listener.polygonEnd();\n",
       "\t          }\n",
       "\t          segments = polygon = ring = null;\n",
       "\t        }\n",
       "\t      };\n",
       "\t      function insidePolygon(p) {\n",
       "\t        var wn = 0, n = polygon.length, y = p[1];\n",
       "\t        for (var i = 0; i < n; ++i) {\n",
       "\t          for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) {\n",
       "\t            b = v[j];\n",
       "\t            if (a[1] <= y) {\n",
       "\t              if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn;\n",
       "\t            } else {\n",
       "\t              if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn;\n",
       "\t            }\n",
       "\t            a = b;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        return wn !== 0;\n",
       "\t      }\n",
       "\t      function interpolate(from, to, direction, listener) {\n",
       "\t        var a = 0, a1 = 0;\n",
       "\t        if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) {\n",
       "\t          do {\n",
       "\t            listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n",
       "\t          } while ((a = (a + direction + 4) % 4) !== a1);\n",
       "\t        } else {\n",
       "\t          listener.point(to[0], to[1]);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      function pointVisible(x, y) {\n",
       "\t        return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n",
       "\t      }\n",
       "\t      function point(x, y) {\n",
       "\t        if (pointVisible(x, y)) listener.point(x, y);\n",
       "\t      }\n",
       "\t      var x__, y__, v__, x_, y_, v_, first, clean;\n",
       "\t      function lineStart() {\n",
       "\t        clip.point = linePoint;\n",
       "\t        if (polygon) polygon.push(ring = []);\n",
       "\t        first = true;\n",
       "\t        v_ = false;\n",
       "\t        x_ = y_ = NaN;\n",
       "\t      }\n",
       "\t      function lineEnd() {\n",
       "\t        if (segments) {\n",
       "\t          linePoint(x__, y__);\n",
       "\t          if (v__ && v_) bufferListener.rejoin();\n",
       "\t          segments.push(bufferListener.buffer());\n",
       "\t        }\n",
       "\t        clip.point = point;\n",
       "\t        if (v_) listener.lineEnd();\n",
       "\t      }\n",
       "\t      function linePoint(x, y) {\n",
       "\t        x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x));\n",
       "\t        y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y));\n",
       "\t        var v = pointVisible(x, y);\n",
       "\t        if (polygon) ring.push([ x, y ]);\n",
       "\t        if (first) {\n",
       "\t          x__ = x, y__ = y, v__ = v;\n",
       "\t          first = false;\n",
       "\t          if (v) {\n",
       "\t            listener.lineStart();\n",
       "\t            listener.point(x, y);\n",
       "\t          }\n",
       "\t        } else {\n",
       "\t          if (v && v_) listener.point(x, y); else {\n",
       "\t            var l = {\n",
       "\t              a: {\n",
       "\t                x: x_,\n",
       "\t                y: y_\n",
       "\t              },\n",
       "\t              b: {\n",
       "\t                x: x,\n",
       "\t                y: y\n",
       "\t              }\n",
       "\t            };\n",
       "\t            if (clipLine(l)) {\n",
       "\t              if (!v_) {\n",
       "\t                listener.lineStart();\n",
       "\t                listener.point(l.a.x, l.a.y);\n",
       "\t              }\n",
       "\t              listener.point(l.b.x, l.b.y);\n",
       "\t              if (!v) listener.lineEnd();\n",
       "\t              clean = false;\n",
       "\t            } else if (v) {\n",
       "\t              listener.lineStart();\n",
       "\t              listener.point(x, y);\n",
       "\t              clean = false;\n",
       "\t            }\n",
       "\t          }\n",
       "\t        }\n",
       "\t        x_ = x, y_ = y, v_ = v;\n",
       "\t      }\n",
       "\t      return clip;\n",
       "\t    };\n",
       "\t    function corner(p, direction) {\n",
       "\t      return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2;\n",
       "\t    }\n",
       "\t    function compare(a, b) {\n",
       "\t      return comparePoints(a.x, b.x);\n",
       "\t    }\n",
       "\t    function comparePoints(a, b) {\n",
       "\t      var ca = corner(a, 1), cb = corner(b, 1);\n",
       "\t      return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0];\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_geo_conic(projectAt) {\n",
       "\t    var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1);\n",
       "\t    p.parallels = function(_) {\n",
       "\t      if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ];\n",
       "\t      return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180);\n",
       "\t    };\n",
       "\t    return p;\n",
       "\t  }\n",
       "\t  function d3_geo_conicEqualArea(φ0, φ1) {\n",
       "\t    var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n;\n",
       "\t    function forward(λ, φ) {\n",
       "\t      var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n;\n",
       "\t      return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ];\n",
       "\t    }\n",
       "\t    forward.invert = function(x, y) {\n",
       "\t      var ρ0_y = ρ0 - y;\n",
       "\t      return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ];\n",
       "\t    };\n",
       "\t    return forward;\n",
       "\t  }\n",
       "\t  (d3.geo.conicEqualArea = function() {\n",
       "\t    return d3_geo_conic(d3_geo_conicEqualArea);\n",
       "\t  }).raw = d3_geo_conicEqualArea;\n",
       "\t  d3.geo.albers = function() {\n",
       "\t    return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070);\n",
       "\t  };\n",
       "\t  d3.geo.albersUsa = function() {\n",
       "\t    var lower48 = d3.geo.albers();\n",
       "\t    var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]);\n",
       "\t    var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]);\n",
       "\t    var point, pointStream = {\n",
       "\t      point: function(x, y) {\n",
       "\t        point = [ x, y ];\n",
       "\t      }\n",
       "\t    }, lower48Point, alaskaPoint, hawaiiPoint;\n",
       "\t    function albersUsa(coordinates) {\n",
       "\t      var x = coordinates[0], y = coordinates[1];\n",
       "\t      point = null;\n",
       "\t      (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y);\n",
       "\t      return point;\n",
       "\t    }\n",
       "\t    albersUsa.invert = function(coordinates) {\n",
       "\t      var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k;\n",
       "\t      return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates);\n",
       "\t    };\n",
       "\t    albersUsa.stream = function(stream) {\n",
       "\t      var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream);\n",
       "\t      return {\n",
       "\t        point: function(x, y) {\n",
       "\t          lower48Stream.point(x, y);\n",
       "\t          alaskaStream.point(x, y);\n",
       "\t          hawaiiStream.point(x, y);\n",
       "\t        },\n",
       "\t        sphere: function() {\n",
       "\t          lower48Stream.sphere();\n",
       "\t          alaskaStream.sphere();\n",
       "\t          hawaiiStream.sphere();\n",
       "\t        },\n",
       "\t        lineStart: function() {\n",
       "\t          lower48Stream.lineStart();\n",
       "\t          alaskaStream.lineStart();\n",
       "\t          hawaiiStream.lineStart();\n",
       "\t        },\n",
       "\t        lineEnd: function() {\n",
       "\t          lower48Stream.lineEnd();\n",
       "\t          alaskaStream.lineEnd();\n",
       "\t          hawaiiStream.lineEnd();\n",
       "\t        },\n",
       "\t        polygonStart: function() {\n",
       "\t          lower48Stream.polygonStart();\n",
       "\t          alaskaStream.polygonStart();\n",
       "\t          hawaiiStream.polygonStart();\n",
       "\t        },\n",
       "\t        polygonEnd: function() {\n",
       "\t          lower48Stream.polygonEnd();\n",
       "\t          alaskaStream.polygonEnd();\n",
       "\t          hawaiiStream.polygonEnd();\n",
       "\t        }\n",
       "\t      };\n",
       "\t    };\n",
       "\t    albersUsa.precision = function(_) {\n",
       "\t      if (!arguments.length) return lower48.precision();\n",
       "\t      lower48.precision(_);\n",
       "\t      alaska.precision(_);\n",
       "\t      hawaii.precision(_);\n",
       "\t      return albersUsa;\n",
       "\t    };\n",
       "\t    albersUsa.scale = function(_) {\n",
       "\t      if (!arguments.length) return lower48.scale();\n",
       "\t      lower48.scale(_);\n",
       "\t      alaska.scale(_ * .35);\n",
       "\t      hawaii.scale(_);\n",
       "\t      return albersUsa.translate(lower48.translate());\n",
       "\t    };\n",
       "\t    albersUsa.translate = function(_) {\n",
       "\t      if (!arguments.length) return lower48.translate();\n",
       "\t      var k = lower48.scale(), x = +_[0], y = +_[1];\n",
       "\t      lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point;\n",
       "\t      alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point;\n",
       "\t      hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point;\n",
       "\t      return albersUsa;\n",
       "\t    };\n",
       "\t    return albersUsa.scale(1070);\n",
       "\t  };\n",
       "\t  var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {\n",
       "\t    point: d3_noop,\n",
       "\t    lineStart: d3_noop,\n",
       "\t    lineEnd: d3_noop,\n",
       "\t    polygonStart: function() {\n",
       "\t      d3_geo_pathAreaPolygon = 0;\n",
       "\t      d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart;\n",
       "\t    },\n",
       "\t    polygonEnd: function() {\n",
       "\t      d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;\n",
       "\t      d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2);\n",
       "\t    }\n",
       "\t  };\n",
       "\t  function d3_geo_pathAreaRingStart() {\n",
       "\t    var x00, y00, x0, y0;\n",
       "\t    d3_geo_pathArea.point = function(x, y) {\n",
       "\t      d3_geo_pathArea.point = nextPoint;\n",
       "\t      x00 = x0 = x, y00 = y0 = y;\n",
       "\t    };\n",
       "\t    function nextPoint(x, y) {\n",
       "\t      d3_geo_pathAreaPolygon += y0 * x - x0 * y;\n",
       "\t      x0 = x, y0 = y;\n",
       "\t    }\n",
       "\t    d3_geo_pathArea.lineEnd = function() {\n",
       "\t      nextPoint(x00, y00);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1;\n",
       "\t  var d3_geo_pathBounds = {\n",
       "\t    point: d3_geo_pathBoundsPoint,\n",
       "\t    lineStart: d3_noop,\n",
       "\t    lineEnd: d3_noop,\n",
       "\t    polygonStart: d3_noop,\n",
       "\t    polygonEnd: d3_noop\n",
       "\t  };\n",
       "\t  function d3_geo_pathBoundsPoint(x, y) {\n",
       "\t    if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x;\n",
       "\t    if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x;\n",
       "\t    if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y;\n",
       "\t    if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y;\n",
       "\t  }\n",
       "\t  function d3_geo_pathBuffer() {\n",
       "\t    var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = [];\n",
       "\t    var stream = {\n",
       "\t      point: point,\n",
       "\t      lineStart: function() {\n",
       "\t        stream.point = pointLineStart;\n",
       "\t      },\n",
       "\t      lineEnd: lineEnd,\n",
       "\t      polygonStart: function() {\n",
       "\t        stream.lineEnd = lineEndPolygon;\n",
       "\t      },\n",
       "\t      polygonEnd: function() {\n",
       "\t        stream.lineEnd = lineEnd;\n",
       "\t        stream.point = point;\n",
       "\t      },\n",
       "\t      pointRadius: function(_) {\n",
       "\t        pointCircle = d3_geo_pathBufferCircle(_);\n",
       "\t        return stream;\n",
       "\t      },\n",
       "\t      result: function() {\n",
       "\t        if (buffer.length) {\n",
       "\t          var result = buffer.join(\"\");\n",
       "\t          buffer = [];\n",
       "\t          return result;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    };\n",
       "\t    function point(x, y) {\n",
       "\t      buffer.push(\"M\", x, \",\", y, pointCircle);\n",
       "\t    }\n",
       "\t    function pointLineStart(x, y) {\n",
       "\t      buffer.push(\"M\", x, \",\", y);\n",
       "\t      stream.point = pointLine;\n",
       "\t    }\n",
       "\t    function pointLine(x, y) {\n",
       "\t      buffer.push(\"L\", x, \",\", y);\n",
       "\t    }\n",
       "\t    function lineEnd() {\n",
       "\t      stream.point = point;\n",
       "\t    }\n",
       "\t    function lineEndPolygon() {\n",
       "\t      buffer.push(\"Z\");\n",
       "\t    }\n",
       "\t    return stream;\n",
       "\t  }\n",
       "\t  function d3_geo_pathBufferCircle(radius) {\n",
       "\t    return \"m0,\" + radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius + \"z\";\n",
       "\t  }\n",
       "\t  var d3_geo_pathCentroid = {\n",
       "\t    point: d3_geo_pathCentroidPoint,\n",
       "\t    lineStart: d3_geo_pathCentroidLineStart,\n",
       "\t    lineEnd: d3_geo_pathCentroidLineEnd,\n",
       "\t    polygonStart: function() {\n",
       "\t      d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart;\n",
       "\t    },\n",
       "\t    polygonEnd: function() {\n",
       "\t      d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n",
       "\t      d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart;\n",
       "\t      d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd;\n",
       "\t    }\n",
       "\t  };\n",
       "\t  function d3_geo_pathCentroidPoint(x, y) {\n",
       "\t    d3_geo_centroidX0 += x;\n",
       "\t    d3_geo_centroidY0 += y;\n",
       "\t    ++d3_geo_centroidZ0;\n",
       "\t  }\n",
       "\t  function d3_geo_pathCentroidLineStart() {\n",
       "\t    var x0, y0;\n",
       "\t    d3_geo_pathCentroid.point = function(x, y) {\n",
       "\t      d3_geo_pathCentroid.point = nextPoint;\n",
       "\t      d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n",
       "\t    };\n",
       "\t    function nextPoint(x, y) {\n",
       "\t      var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n",
       "\t      d3_geo_centroidX1 += z * (x0 + x) / 2;\n",
       "\t      d3_geo_centroidY1 += z * (y0 + y) / 2;\n",
       "\t      d3_geo_centroidZ1 += z;\n",
       "\t      d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_geo_pathCentroidLineEnd() {\n",
       "\t    d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;\n",
       "\t  }\n",
       "\t  function d3_geo_pathCentroidRingStart() {\n",
       "\t    var x00, y00, x0, y0;\n",
       "\t    d3_geo_pathCentroid.point = function(x, y) {\n",
       "\t      d3_geo_pathCentroid.point = nextPoint;\n",
       "\t      d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y);\n",
       "\t    };\n",
       "\t    function nextPoint(x, y) {\n",
       "\t      var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);\n",
       "\t      d3_geo_centroidX1 += z * (x0 + x) / 2;\n",
       "\t      d3_geo_centroidY1 += z * (y0 + y) / 2;\n",
       "\t      d3_geo_centroidZ1 += z;\n",
       "\t      z = y0 * x - x0 * y;\n",
       "\t      d3_geo_centroidX2 += z * (x0 + x);\n",
       "\t      d3_geo_centroidY2 += z * (y0 + y);\n",
       "\t      d3_geo_centroidZ2 += z * 3;\n",
       "\t      d3_geo_pathCentroidPoint(x0 = x, y0 = y);\n",
       "\t    }\n",
       "\t    d3_geo_pathCentroid.lineEnd = function() {\n",
       "\t      nextPoint(x00, y00);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_geo_pathContext(context) {\n",
       "\t    var pointRadius = 4.5;\n",
       "\t    var stream = {\n",
       "\t      point: point,\n",
       "\t      lineStart: function() {\n",
       "\t        stream.point = pointLineStart;\n",
       "\t      },\n",
       "\t      lineEnd: lineEnd,\n",
       "\t      polygonStart: function() {\n",
       "\t        stream.lineEnd = lineEndPolygon;\n",
       "\t      },\n",
       "\t      polygonEnd: function() {\n",
       "\t        stream.lineEnd = lineEnd;\n",
       "\t        stream.point = point;\n",
       "\t      },\n",
       "\t      pointRadius: function(_) {\n",
       "\t        pointRadius = _;\n",
       "\t        return stream;\n",
       "\t      },\n",
       "\t      result: d3_noop\n",
       "\t    };\n",
       "\t    function point(x, y) {\n",
       "\t      context.moveTo(x + pointRadius, y);\n",
       "\t      context.arc(x, y, pointRadius, 0, τ);\n",
       "\t    }\n",
       "\t    function pointLineStart(x, y) {\n",
       "\t      context.moveTo(x, y);\n",
       "\t      stream.point = pointLine;\n",
       "\t    }\n",
       "\t    function pointLine(x, y) {\n",
       "\t      context.lineTo(x, y);\n",
       "\t    }\n",
       "\t    function lineEnd() {\n",
       "\t      stream.point = point;\n",
       "\t    }\n",
       "\t    function lineEndPolygon() {\n",
       "\t      context.closePath();\n",
       "\t    }\n",
       "\t    return stream;\n",
       "\t  }\n",
       "\t  function d3_geo_resample(project) {\n",
       "\t    var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16;\n",
       "\t    function resample(stream) {\n",
       "\t      return (maxDepth ? resampleRecursive : resampleNone)(stream);\n",
       "\t    }\n",
       "\t    function resampleNone(stream) {\n",
       "\t      return d3_geo_transformPoint(stream, function(x, y) {\n",
       "\t        x = project(x, y);\n",
       "\t        stream.point(x[0], x[1]);\n",
       "\t      });\n",
       "\t    }\n",
       "\t    function resampleRecursive(stream) {\n",
       "\t      var λ00, φ00, x00, y00, a00, b00, c00, λ0, x0, y0, a0, b0, c0;\n",
       "\t      var resample = {\n",
       "\t        point: point,\n",
       "\t        lineStart: lineStart,\n",
       "\t        lineEnd: lineEnd,\n",
       "\t        polygonStart: function() {\n",
       "\t          stream.polygonStart();\n",
       "\t          resample.lineStart = ringStart;\n",
       "\t        },\n",
       "\t        polygonEnd: function() {\n",
       "\t          stream.polygonEnd();\n",
       "\t          resample.lineStart = lineStart;\n",
       "\t        }\n",
       "\t      };\n",
       "\t      function point(x, y) {\n",
       "\t        x = project(x, y);\n",
       "\t        stream.point(x[0], x[1]);\n",
       "\t      }\n",
       "\t      function lineStart() {\n",
       "\t        x0 = NaN;\n",
       "\t        resample.point = linePoint;\n",
       "\t        stream.lineStart();\n",
       "\t      }\n",
       "\t      function linePoint(λ, φ) {\n",
       "\t        var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ);\n",
       "\t        resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n",
       "\t        stream.point(x0, y0);\n",
       "\t      }\n",
       "\t      function lineEnd() {\n",
       "\t        resample.point = point;\n",
       "\t        stream.lineEnd();\n",
       "\t      }\n",
       "\t      function ringStart() {\n",
       "\t        lineStart();\n",
       "\t        resample.point = ringPoint;\n",
       "\t        resample.lineEnd = ringEnd;\n",
       "\t      }\n",
       "\t      function ringPoint(λ, φ) {\n",
       "\t        linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n",
       "\t        resample.point = linePoint;\n",
       "\t      }\n",
       "\t      function ringEnd() {\n",
       "\t        resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream);\n",
       "\t        resample.lineEnd = lineEnd;\n",
       "\t        lineEnd();\n",
       "\t      }\n",
       "\t      return resample;\n",
       "\t    }\n",
       "\t    function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) {\n",
       "\t      var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy;\n",
       "\t      if (d2 > 4 * δ2 && depth--) {\n",
       "\t        var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2;\n",
       "\t        if (dz * dz / d2 > δ2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) {\n",
       "\t          resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream);\n",
       "\t          stream.point(x2, y2);\n",
       "\t          resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream);\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    resample.precision = function(_) {\n",
       "\t      if (!arguments.length) return Math.sqrt(δ2);\n",
       "\t      maxDepth = (δ2 = _ * _) > 0 && 16;\n",
       "\t      return resample;\n",
       "\t    };\n",
       "\t    return resample;\n",
       "\t  }\n",
       "\t  d3.geo.path = function() {\n",
       "\t    var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream;\n",
       "\t    function path(object) {\n",
       "\t      if (object) {\n",
       "\t        if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n",
       "\t        if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream);\n",
       "\t        d3.geo.stream(object, cacheStream);\n",
       "\t      }\n",
       "\t      return contextStream.result();\n",
       "\t    }\n",
       "\t    path.area = function(object) {\n",
       "\t      d3_geo_pathAreaSum = 0;\n",
       "\t      d3.geo.stream(object, projectStream(d3_geo_pathArea));\n",
       "\t      return d3_geo_pathAreaSum;\n",
       "\t    };\n",
       "\t    path.centroid = function(object) {\n",
       "\t      d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;\n",
       "\t      d3.geo.stream(object, projectStream(d3_geo_pathCentroid));\n",
       "\t      return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ];\n",
       "\t    };\n",
       "\t    path.bounds = function(object) {\n",
       "\t      d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity);\n",
       "\t      d3.geo.stream(object, projectStream(d3_geo_pathBounds));\n",
       "\t      return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ];\n",
       "\t    };\n",
       "\t    path.projection = function(_) {\n",
       "\t      if (!arguments.length) return projection;\n",
       "\t      projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity;\n",
       "\t      return reset();\n",
       "\t    };\n",
       "\t    path.context = function(_) {\n",
       "\t      if (!arguments.length) return context;\n",
       "\t      contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_);\n",
       "\t      if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n",
       "\t      return reset();\n",
       "\t    };\n",
       "\t    path.pointRadius = function(_) {\n",
       "\t      if (!arguments.length) return pointRadius;\n",
       "\t      pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n",
       "\t      return path;\n",
       "\t    };\n",
       "\t    function reset() {\n",
       "\t      cacheStream = null;\n",
       "\t      return path;\n",
       "\t    }\n",
       "\t    return path.projection(d3.geo.albersUsa()).context(null);\n",
       "\t  };\n",
       "\t  function d3_geo_pathProjectStream(project) {\n",
       "\t    var resample = d3_geo_resample(function(x, y) {\n",
       "\t      return project([ x * d3_degrees, y * d3_degrees ]);\n",
       "\t    });\n",
       "\t    return function(stream) {\n",
       "\t      return d3_geo_projectionRadians(resample(stream));\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.geo.transform = function(methods) {\n",
       "\t    return {\n",
       "\t      stream: function(stream) {\n",
       "\t        var transform = new d3_geo_transform(stream);\n",
       "\t        for (var k in methods) transform[k] = methods[k];\n",
       "\t        return transform;\n",
       "\t      }\n",
       "\t    };\n",
       "\t  };\n",
       "\t  function d3_geo_transform(stream) {\n",
       "\t    this.stream = stream;\n",
       "\t  }\n",
       "\t  d3_geo_transform.prototype = {\n",
       "\t    point: function(x, y) {\n",
       "\t      this.stream.point(x, y);\n",
       "\t    },\n",
       "\t    sphere: function() {\n",
       "\t      this.stream.sphere();\n",
       "\t    },\n",
       "\t    lineStart: function() {\n",
       "\t      this.stream.lineStart();\n",
       "\t    },\n",
       "\t    lineEnd: function() {\n",
       "\t      this.stream.lineEnd();\n",
       "\t    },\n",
       "\t    polygonStart: function() {\n",
       "\t      this.stream.polygonStart();\n",
       "\t    },\n",
       "\t    polygonEnd: function() {\n",
       "\t      this.stream.polygonEnd();\n",
       "\t    }\n",
       "\t  };\n",
       "\t  function d3_geo_transformPoint(stream, point) {\n",
       "\t    return {\n",
       "\t      point: point,\n",
       "\t      sphere: function() {\n",
       "\t        stream.sphere();\n",
       "\t      },\n",
       "\t      lineStart: function() {\n",
       "\t        stream.lineStart();\n",
       "\t      },\n",
       "\t      lineEnd: function() {\n",
       "\t        stream.lineEnd();\n",
       "\t      },\n",
       "\t      polygonStart: function() {\n",
       "\t        stream.polygonStart();\n",
       "\t      },\n",
       "\t      polygonEnd: function() {\n",
       "\t        stream.polygonEnd();\n",
       "\t      }\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.geo.projection = d3_geo_projection;\n",
       "\t  d3.geo.projectionMutator = d3_geo_projectionMutator;\n",
       "\t  function d3_geo_projection(project) {\n",
       "\t    return d3_geo_projectionMutator(function() {\n",
       "\t      return project;\n",
       "\t    })();\n",
       "\t  }\n",
       "\t  function d3_geo_projectionMutator(projectAt) {\n",
       "\t    var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) {\n",
       "\t      x = project(x, y);\n",
       "\t      return [ x[0] * k + δx, δy - x[1] * k ];\n",
       "\t    }), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream;\n",
       "\t    function projection(point) {\n",
       "\t      point = projectRotate(point[0] * d3_radians, point[1] * d3_radians);\n",
       "\t      return [ point[0] * k + δx, δy - point[1] * k ];\n",
       "\t    }\n",
       "\t    function invert(point) {\n",
       "\t      point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k);\n",
       "\t      return point && [ point[0] * d3_degrees, point[1] * d3_degrees ];\n",
       "\t    }\n",
       "\t    projection.stream = function(output) {\n",
       "\t      if (stream) stream.valid = false;\n",
       "\t      stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output))));\n",
       "\t      stream.valid = true;\n",
       "\t      return stream;\n",
       "\t    };\n",
       "\t    projection.clipAngle = function(_) {\n",
       "\t      if (!arguments.length) return clipAngle;\n",
       "\t      preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians);\n",
       "\t      return invalidate();\n",
       "\t    };\n",
       "\t    projection.clipExtent = function(_) {\n",
       "\t      if (!arguments.length) return clipExtent;\n",
       "\t      clipExtent = _;\n",
       "\t      postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity;\n",
       "\t      return invalidate();\n",
       "\t    };\n",
       "\t    projection.scale = function(_) {\n",
       "\t      if (!arguments.length) return k;\n",
       "\t      k = +_;\n",
       "\t      return reset();\n",
       "\t    };\n",
       "\t    projection.translate = function(_) {\n",
       "\t      if (!arguments.length) return [ x, y ];\n",
       "\t      x = +_[0];\n",
       "\t      y = +_[1];\n",
       "\t      return reset();\n",
       "\t    };\n",
       "\t    projection.center = function(_) {\n",
       "\t      if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ];\n",
       "\t      λ = _[0] % 360 * d3_radians;\n",
       "\t      φ = _[1] % 360 * d3_radians;\n",
       "\t      return reset();\n",
       "\t    };\n",
       "\t    projection.rotate = function(_) {\n",
       "\t      if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ];\n",
       "\t      δλ = _[0] % 360 * d3_radians;\n",
       "\t      δφ = _[1] % 360 * d3_radians;\n",
       "\t      δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0;\n",
       "\t      return reset();\n",
       "\t    };\n",
       "\t    d3.rebind(projection, projectResample, \"precision\");\n",
       "\t    function reset() {\n",
       "\t      projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project);\n",
       "\t      var center = project(λ, φ);\n",
       "\t      δx = x - center[0] * k;\n",
       "\t      δy = y + center[1] * k;\n",
       "\t      return invalidate();\n",
       "\t    }\n",
       "\t    function invalidate() {\n",
       "\t      if (stream) stream.valid = false, stream = null;\n",
       "\t      return projection;\n",
       "\t    }\n",
       "\t    return function() {\n",
       "\t      project = projectAt.apply(this, arguments);\n",
       "\t      projection.invert = project.invert && invert;\n",
       "\t      return reset();\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_geo_projectionRadians(stream) {\n",
       "\t    return d3_geo_transformPoint(stream, function(x, y) {\n",
       "\t      stream.point(x * d3_radians, y * d3_radians);\n",
       "\t    });\n",
       "\t  }\n",
       "\t  function d3_geo_equirectangular(λ, φ) {\n",
       "\t    return [ λ, φ ];\n",
       "\t  }\n",
       "\t  (d3.geo.equirectangular = function() {\n",
       "\t    return d3_geo_projection(d3_geo_equirectangular);\n",
       "\t  }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular;\n",
       "\t  d3.geo.rotation = function(rotate) {\n",
       "\t    rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0);\n",
       "\t    function forward(coordinates) {\n",
       "\t      coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n",
       "\t      return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n",
       "\t    }\n",
       "\t    forward.invert = function(coordinates) {\n",
       "\t      coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians);\n",
       "\t      return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;\n",
       "\t    };\n",
       "\t    return forward;\n",
       "\t  };\n",
       "\t  function d3_geo_identityRotation(λ, φ) {\n",
       "\t    return [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ];\n",
       "\t  }\n",
       "\t  d3_geo_identityRotation.invert = d3_geo_equirectangular;\n",
       "\t  function d3_geo_rotation(δλ, δφ, δγ) {\n",
       "\t    return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_identityRotation;\n",
       "\t  }\n",
       "\t  function d3_geo_forwardRotationλ(δλ) {\n",
       "\t    return function(λ, φ) {\n",
       "\t      return λ += δλ, [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ];\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_geo_rotationλ(δλ) {\n",
       "\t    var rotation = d3_geo_forwardRotationλ(δλ);\n",
       "\t    rotation.invert = d3_geo_forwardRotationλ(-δλ);\n",
       "\t    return rotation;\n",
       "\t  }\n",
       "\t  function d3_geo_rotationφγ(δφ, δγ) {\n",
       "\t    var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ);\n",
       "\t    function rotation(λ, φ) {\n",
       "\t      var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ;\n",
       "\t      return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ];\n",
       "\t    }\n",
       "\t    rotation.invert = function(λ, φ) {\n",
       "\t      var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ;\n",
       "\t      return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ];\n",
       "\t    };\n",
       "\t    return rotation;\n",
       "\t  }\n",
       "\t  d3.geo.circle = function() {\n",
       "\t    var origin = [ 0, 0 ], angle, precision = 6, interpolate;\n",
       "\t    function circle() {\n",
       "\t      var center = typeof origin === \"function\" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = [];\n",
       "\t      interpolate(null, null, 1, {\n",
       "\t        point: function(x, y) {\n",
       "\t          ring.push(x = rotate(x, y));\n",
       "\t          x[0] *= d3_degrees, x[1] *= d3_degrees;\n",
       "\t        }\n",
       "\t      });\n",
       "\t      return {\n",
       "\t        type: \"Polygon\",\n",
       "\t        coordinates: [ ring ]\n",
       "\t      };\n",
       "\t    }\n",
       "\t    circle.origin = function(x) {\n",
       "\t      if (!arguments.length) return origin;\n",
       "\t      origin = x;\n",
       "\t      return circle;\n",
       "\t    };\n",
       "\t    circle.angle = function(x) {\n",
       "\t      if (!arguments.length) return angle;\n",
       "\t      interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians);\n",
       "\t      return circle;\n",
       "\t    };\n",
       "\t    circle.precision = function(_) {\n",
       "\t      if (!arguments.length) return precision;\n",
       "\t      interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians);\n",
       "\t      return circle;\n",
       "\t    };\n",
       "\t    return circle.angle(90);\n",
       "\t  };\n",
       "\t  function d3_geo_circleInterpolate(radius, precision) {\n",
       "\t    var cr = Math.cos(radius), sr = Math.sin(radius);\n",
       "\t    return function(from, to, direction, listener) {\n",
       "\t      var step = direction * precision;\n",
       "\t      if (from != null) {\n",
       "\t        from = d3_geo_circleAngle(cr, from);\n",
       "\t        to = d3_geo_circleAngle(cr, to);\n",
       "\t        if (direction > 0 ? from < to : from > to) from += direction * τ;\n",
       "\t      } else {\n",
       "\t        from = radius + direction * τ;\n",
       "\t        to = radius - .5 * step;\n",
       "\t      }\n",
       "\t      for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) {\n",
       "\t        listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]);\n",
       "\t      }\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_geo_circleAngle(cr, point) {\n",
       "\t    var a = d3_geo_cartesian(point);\n",
       "\t    a[0] -= cr;\n",
       "\t    d3_geo_cartesianNormalize(a);\n",
       "\t    var angle = d3_acos(-a[1]);\n",
       "\t    return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI);\n",
       "\t  }\n",
       "\t  d3.geo.distance = function(a, b) {\n",
       "\t    var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t;\n",
       "\t    return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ);\n",
       "\t  };\n",
       "\t  d3.geo.graticule = function() {\n",
       "\t    var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5;\n",
       "\t    function graticule() {\n",
       "\t      return {\n",
       "\t        type: \"MultiLineString\",\n",
       "\t        coordinates: lines()\n",
       "\t      };\n",
       "\t    }\n",
       "\t    function lines() {\n",
       "\t      return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) {\n",
       "\t        return abs(x % DX) > ε;\n",
       "\t      }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) {\n",
       "\t        return abs(y % DY) > ε;\n",
       "\t      }).map(y));\n",
       "\t    }\n",
       "\t    graticule.lines = function() {\n",
       "\t      return lines().map(function(coordinates) {\n",
       "\t        return {\n",
       "\t          type: \"LineString\",\n",
       "\t          coordinates: coordinates\n",
       "\t        };\n",
       "\t      });\n",
       "\t    };\n",
       "\t    graticule.outline = function() {\n",
       "\t      return {\n",
       "\t        type: \"Polygon\",\n",
       "\t        coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ]\n",
       "\t      };\n",
       "\t    };\n",
       "\t    graticule.extent = function(_) {\n",
       "\t      if (!arguments.length) return graticule.minorExtent();\n",
       "\t      return graticule.majorExtent(_).minorExtent(_);\n",
       "\t    };\n",
       "\t    graticule.majorExtent = function(_) {\n",
       "\t      if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ];\n",
       "\t      X0 = +_[0][0], X1 = +_[1][0];\n",
       "\t      Y0 = +_[0][1], Y1 = +_[1][1];\n",
       "\t      if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n",
       "\t      if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n",
       "\t      return graticule.precision(precision);\n",
       "\t    };\n",
       "\t    graticule.minorExtent = function(_) {\n",
       "\t      if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];\n",
       "\t      x0 = +_[0][0], x1 = +_[1][0];\n",
       "\t      y0 = +_[0][1], y1 = +_[1][1];\n",
       "\t      if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n",
       "\t      if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n",
       "\t      return graticule.precision(precision);\n",
       "\t    };\n",
       "\t    graticule.step = function(_) {\n",
       "\t      if (!arguments.length) return graticule.minorStep();\n",
       "\t      return graticule.majorStep(_).minorStep(_);\n",
       "\t    };\n",
       "\t    graticule.majorStep = function(_) {\n",
       "\t      if (!arguments.length) return [ DX, DY ];\n",
       "\t      DX = +_[0], DY = +_[1];\n",
       "\t      return graticule;\n",
       "\t    };\n",
       "\t    graticule.minorStep = function(_) {\n",
       "\t      if (!arguments.length) return [ dx, dy ];\n",
       "\t      dx = +_[0], dy = +_[1];\n",
       "\t      return graticule;\n",
       "\t    };\n",
       "\t    graticule.precision = function(_) {\n",
       "\t      if (!arguments.length) return precision;\n",
       "\t      precision = +_;\n",
       "\t      x = d3_geo_graticuleX(y0, y1, 90);\n",
       "\t      y = d3_geo_graticuleY(x0, x1, precision);\n",
       "\t      X = d3_geo_graticuleX(Y0, Y1, 90);\n",
       "\t      Y = d3_geo_graticuleY(X0, X1, precision);\n",
       "\t      return graticule;\n",
       "\t    };\n",
       "\t    return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]);\n",
       "\t  };\n",
       "\t  function d3_geo_graticuleX(y0, y1, dy) {\n",
       "\t    var y = d3.range(y0, y1 - ε, dy).concat(y1);\n",
       "\t    return function(x) {\n",
       "\t      return y.map(function(y) {\n",
       "\t        return [ x, y ];\n",
       "\t      });\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_geo_graticuleY(x0, x1, dx) {\n",
       "\t    var x = d3.range(x0, x1 - ε, dx).concat(x1);\n",
       "\t    return function(y) {\n",
       "\t      return x.map(function(x) {\n",
       "\t        return [ x, y ];\n",
       "\t      });\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_source(d) {\n",
       "\t    return d.source;\n",
       "\t  }\n",
       "\t  function d3_target(d) {\n",
       "\t    return d.target;\n",
       "\t  }\n",
       "\t  d3.geo.greatArc = function() {\n",
       "\t    var source = d3_source, source_, target = d3_target, target_;\n",
       "\t    function greatArc() {\n",
       "\t      return {\n",
       "\t        type: \"LineString\",\n",
       "\t        coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ]\n",
       "\t      };\n",
       "\t    }\n",
       "\t    greatArc.distance = function() {\n",
       "\t      return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments));\n",
       "\t    };\n",
       "\t    greatArc.source = function(_) {\n",
       "\t      if (!arguments.length) return source;\n",
       "\t      source = _, source_ = typeof _ === \"function\" ? null : _;\n",
       "\t      return greatArc;\n",
       "\t    };\n",
       "\t    greatArc.target = function(_) {\n",
       "\t      if (!arguments.length) return target;\n",
       "\t      target = _, target_ = typeof _ === \"function\" ? null : _;\n",
       "\t      return greatArc;\n",
       "\t    };\n",
       "\t    greatArc.precision = function() {\n",
       "\t      return arguments.length ? greatArc : 0;\n",
       "\t    };\n",
       "\t    return greatArc;\n",
       "\t  };\n",
       "\t  d3.geo.interpolate = function(source, target) {\n",
       "\t    return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians);\n",
       "\t  };\n",
       "\t  function d3_geo_interpolate(x0, y0, x1, y1) {\n",
       "\t    var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d);\n",
       "\t    var interpolate = d ? function(t) {\n",
       "\t      var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1;\n",
       "\t      return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ];\n",
       "\t    } : function() {\n",
       "\t      return [ x0 * d3_degrees, y0 * d3_degrees ];\n",
       "\t    };\n",
       "\t    interpolate.distance = d;\n",
       "\t    return interpolate;\n",
       "\t  }\n",
       "\t  d3.geo.length = function(object) {\n",
       "\t    d3_geo_lengthSum = 0;\n",
       "\t    d3.geo.stream(object, d3_geo_length);\n",
       "\t    return d3_geo_lengthSum;\n",
       "\t  };\n",
       "\t  var d3_geo_lengthSum;\n",
       "\t  var d3_geo_length = {\n",
       "\t    sphere: d3_noop,\n",
       "\t    point: d3_noop,\n",
       "\t    lineStart: d3_geo_lengthLineStart,\n",
       "\t    lineEnd: d3_noop,\n",
       "\t    polygonStart: d3_noop,\n",
       "\t    polygonEnd: d3_noop\n",
       "\t  };\n",
       "\t  function d3_geo_lengthLineStart() {\n",
       "\t    var λ0, sinφ0, cosφ0;\n",
       "\t    d3_geo_length.point = function(λ, φ) {\n",
       "\t      λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ);\n",
       "\t      d3_geo_length.point = nextPoint;\n",
       "\t    };\n",
       "\t    d3_geo_length.lineEnd = function() {\n",
       "\t      d3_geo_length.point = d3_geo_length.lineEnd = d3_noop;\n",
       "\t    };\n",
       "\t    function nextPoint(λ, φ) {\n",
       "\t      var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t);\n",
       "\t      d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ);\n",
       "\t      λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ;\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_geo_azimuthal(scale, angle) {\n",
       "\t    function azimuthal(λ, φ) {\n",
       "\t      var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ);\n",
       "\t      return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ];\n",
       "\t    }\n",
       "\t    azimuthal.invert = function(x, y) {\n",
       "\t      var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c);\n",
       "\t      return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ];\n",
       "\t    };\n",
       "\t    return azimuthal;\n",
       "\t  }\n",
       "\t  var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) {\n",
       "\t    return Math.sqrt(2 / (1 + cosλcosφ));\n",
       "\t  }, function(ρ) {\n",
       "\t    return 2 * Math.asin(ρ / 2);\n",
       "\t  });\n",
       "\t  (d3.geo.azimuthalEqualArea = function() {\n",
       "\t    return d3_geo_projection(d3_geo_azimuthalEqualArea);\n",
       "\t  }).raw = d3_geo_azimuthalEqualArea;\n",
       "\t  var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) {\n",
       "\t    var c = Math.acos(cosλcosφ);\n",
       "\t    return c && c / Math.sin(c);\n",
       "\t  }, d3_identity);\n",
       "\t  (d3.geo.azimuthalEquidistant = function() {\n",
       "\t    return d3_geo_projection(d3_geo_azimuthalEquidistant);\n",
       "\t  }).raw = d3_geo_azimuthalEquidistant;\n",
       "\t  function d3_geo_conicConformal(φ0, φ1) {\n",
       "\t    var cosφ0 = Math.cos(φ0), t = function(φ) {\n",
       "\t      return Math.tan(π / 4 + φ / 2);\n",
       "\t    }, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n;\n",
       "\t    if (!n) return d3_geo_mercator;\n",
       "\t    function forward(λ, φ) {\n",
       "\t      if (F > 0) {\n",
       "\t        if (φ < -halfπ + ε) φ = -halfπ + ε;\n",
       "\t      } else {\n",
       "\t        if (φ > halfπ - ε) φ = halfπ - ε;\n",
       "\t      }\n",
       "\t      var ρ = F / Math.pow(t(φ), n);\n",
       "\t      return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ];\n",
       "\t    }\n",
       "\t    forward.invert = function(x, y) {\n",
       "\t      var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y);\n",
       "\t      return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - halfπ ];\n",
       "\t    };\n",
       "\t    return forward;\n",
       "\t  }\n",
       "\t  (d3.geo.conicConformal = function() {\n",
       "\t    return d3_geo_conic(d3_geo_conicConformal);\n",
       "\t  }).raw = d3_geo_conicConformal;\n",
       "\t  function d3_geo_conicEquidistant(φ0, φ1) {\n",
       "\t    var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0;\n",
       "\t    if (abs(n) < ε) return d3_geo_equirectangular;\n",
       "\t    function forward(λ, φ) {\n",
       "\t      var ρ = G - φ;\n",
       "\t      return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ];\n",
       "\t    }\n",
       "\t    forward.invert = function(x, y) {\n",
       "\t      var ρ0_y = G - y;\n",
       "\t      return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ];\n",
       "\t    };\n",
       "\t    return forward;\n",
       "\t  }\n",
       "\t  (d3.geo.conicEquidistant = function() {\n",
       "\t    return d3_geo_conic(d3_geo_conicEquidistant);\n",
       "\t  }).raw = d3_geo_conicEquidistant;\n",
       "\t  var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) {\n",
       "\t    return 1 / cosλcosφ;\n",
       "\t  }, Math.atan);\n",
       "\t  (d3.geo.gnomonic = function() {\n",
       "\t    return d3_geo_projection(d3_geo_gnomonic);\n",
       "\t  }).raw = d3_geo_gnomonic;\n",
       "\t  function d3_geo_mercator(λ, φ) {\n",
       "\t    return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ];\n",
       "\t  }\n",
       "\t  d3_geo_mercator.invert = function(x, y) {\n",
       "\t    return [ x, 2 * Math.atan(Math.exp(y)) - halfπ ];\n",
       "\t  };\n",
       "\t  function d3_geo_mercatorProjection(project) {\n",
       "\t    var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto;\n",
       "\t    m.scale = function() {\n",
       "\t      var v = scale.apply(m, arguments);\n",
       "\t      return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n",
       "\t    };\n",
       "\t    m.translate = function() {\n",
       "\t      var v = translate.apply(m, arguments);\n",
       "\t      return v === m ? clipAuto ? m.clipExtent(null) : m : v;\n",
       "\t    };\n",
       "\t    m.clipExtent = function(_) {\n",
       "\t      var v = clipExtent.apply(m, arguments);\n",
       "\t      if (v === m) {\n",
       "\t        if (clipAuto = _ == null) {\n",
       "\t          var k = π * scale(), t = translate();\n",
       "\t          clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]);\n",
       "\t        }\n",
       "\t      } else if (clipAuto) {\n",
       "\t        v = null;\n",
       "\t      }\n",
       "\t      return v;\n",
       "\t    };\n",
       "\t    return m.clipExtent(null);\n",
       "\t  }\n",
       "\t  (d3.geo.mercator = function() {\n",
       "\t    return d3_geo_mercatorProjection(d3_geo_mercator);\n",
       "\t  }).raw = d3_geo_mercator;\n",
       "\t  var d3_geo_orthographic = d3_geo_azimuthal(function() {\n",
       "\t    return 1;\n",
       "\t  }, Math.asin);\n",
       "\t  (d3.geo.orthographic = function() {\n",
       "\t    return d3_geo_projection(d3_geo_orthographic);\n",
       "\t  }).raw = d3_geo_orthographic;\n",
       "\t  var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) {\n",
       "\t    return 1 / (1 + cosλcosφ);\n",
       "\t  }, function(ρ) {\n",
       "\t    return 2 * Math.atan(ρ);\n",
       "\t  });\n",
       "\t  (d3.geo.stereographic = function() {\n",
       "\t    return d3_geo_projection(d3_geo_stereographic);\n",
       "\t  }).raw = d3_geo_stereographic;\n",
       "\t  function d3_geo_transverseMercator(λ, φ) {\n",
       "\t    return [ Math.log(Math.tan(π / 4 + φ / 2)), -λ ];\n",
       "\t  }\n",
       "\t  d3_geo_transverseMercator.invert = function(x, y) {\n",
       "\t    return [ -y, 2 * Math.atan(Math.exp(x)) - halfπ ];\n",
       "\t  };\n",
       "\t  (d3.geo.transverseMercator = function() {\n",
       "\t    var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate;\n",
       "\t    projection.center = function(_) {\n",
       "\t      return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]);\n",
       "\t    };\n",
       "\t    projection.rotate = function(_) {\n",
       "\t      return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), \n",
       "\t      [ _[0], _[1], _[2] - 90 ]);\n",
       "\t    };\n",
       "\t    return rotate([ 0, 0, 90 ]);\n",
       "\t  }).raw = d3_geo_transverseMercator;\n",
       "\t  d3.geom = {};\n",
       "\t  function d3_geom_pointX(d) {\n",
       "\t    return d[0];\n",
       "\t  }\n",
       "\t  function d3_geom_pointY(d) {\n",
       "\t    return d[1];\n",
       "\t  }\n",
       "\t  d3.geom.hull = function(vertices) {\n",
       "\t    var x = d3_geom_pointX, y = d3_geom_pointY;\n",
       "\t    if (arguments.length) return hull(vertices);\n",
       "\t    function hull(data) {\n",
       "\t      if (data.length < 3) return [];\n",
       "\t      var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = [];\n",
       "\t      for (i = 0; i < n; i++) {\n",
       "\t        points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]);\n",
       "\t      }\n",
       "\t      points.sort(d3_geom_hullOrder);\n",
       "\t      for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]);\n",
       "\t      var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints);\n",
       "\t      var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = [];\n",
       "\t      for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]);\n",
       "\t      for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]);\n",
       "\t      return polygon;\n",
       "\t    }\n",
       "\t    hull.x = function(_) {\n",
       "\t      return arguments.length ? (x = _, hull) : x;\n",
       "\t    };\n",
       "\t    hull.y = function(_) {\n",
       "\t      return arguments.length ? (y = _, hull) : y;\n",
       "\t    };\n",
       "\t    return hull;\n",
       "\t  };\n",
       "\t  function d3_geom_hullUpper(points) {\n",
       "\t    var n = points.length, hull = [ 0, 1 ], hs = 2;\n",
       "\t    for (var i = 2; i < n; i++) {\n",
       "\t      while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs;\n",
       "\t      hull[hs++] = i;\n",
       "\t    }\n",
       "\t    return hull.slice(0, hs);\n",
       "\t  }\n",
       "\t  function d3_geom_hullOrder(a, b) {\n",
       "\t    return a[0] - b[0] || a[1] - b[1];\n",
       "\t  }\n",
       "\t  d3.geom.polygon = function(coordinates) {\n",
       "\t    d3_subclass(coordinates, d3_geom_polygonPrototype);\n",
       "\t    return coordinates;\n",
       "\t  };\n",
       "\t  var d3_geom_polygonPrototype = d3.geom.polygon.prototype = [];\n",
       "\t  d3_geom_polygonPrototype.area = function() {\n",
       "\t    var i = -1, n = this.length, a, b = this[n - 1], area = 0;\n",
       "\t    while (++i < n) {\n",
       "\t      a = b;\n",
       "\t      b = this[i];\n",
       "\t      area += a[1] * b[0] - a[0] * b[1];\n",
       "\t    }\n",
       "\t    return area * .5;\n",
       "\t  };\n",
       "\t  d3_geom_polygonPrototype.centroid = function(k) {\n",
       "\t    var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c;\n",
       "\t    if (!arguments.length) k = -1 / (6 * this.area());\n",
       "\t    while (++i < n) {\n",
       "\t      a = b;\n",
       "\t      b = this[i];\n",
       "\t      c = a[0] * b[1] - b[0] * a[1];\n",
       "\t      x += (a[0] + b[0]) * c;\n",
       "\t      y += (a[1] + b[1]) * c;\n",
       "\t    }\n",
       "\t    return [ x * k, y * k ];\n",
       "\t  };\n",
       "\t  d3_geom_polygonPrototype.clip = function(subject) {\n",
       "\t    var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d;\n",
       "\t    while (++i < n) {\n",
       "\t      input = subject.slice();\n",
       "\t      subject.length = 0;\n",
       "\t      b = this[i];\n",
       "\t      c = input[(m = input.length - closed) - 1];\n",
       "\t      j = -1;\n",
       "\t      while (++j < m) {\n",
       "\t        d = input[j];\n",
       "\t        if (d3_geom_polygonInside(d, a, b)) {\n",
       "\t          if (!d3_geom_polygonInside(c, a, b)) {\n",
       "\t            subject.push(d3_geom_polygonIntersect(c, d, a, b));\n",
       "\t          }\n",
       "\t          subject.push(d);\n",
       "\t        } else if (d3_geom_polygonInside(c, a, b)) {\n",
       "\t          subject.push(d3_geom_polygonIntersect(c, d, a, b));\n",
       "\t        }\n",
       "\t        c = d;\n",
       "\t      }\n",
       "\t      if (closed) subject.push(subject[0]);\n",
       "\t      a = b;\n",
       "\t    }\n",
       "\t    return subject;\n",
       "\t  };\n",
       "\t  function d3_geom_polygonInside(p, a, b) {\n",
       "\t    return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]);\n",
       "\t  }\n",
       "\t  function d3_geom_polygonIntersect(c, d, a, b) {\n",
       "\t    var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21);\n",
       "\t    return [ x1 + ua * x21, y1 + ua * y21 ];\n",
       "\t  }\n",
       "\t  function d3_geom_polygonClosed(coordinates) {\n",
       "\t    var a = coordinates[0], b = coordinates[coordinates.length - 1];\n",
       "\t    return !(a[0] - b[0] || a[1] - b[1]);\n",
       "\t  }\n",
       "\t  var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = [];\n",
       "\t  function d3_geom_voronoiBeach() {\n",
       "\t    d3_geom_voronoiRedBlackNode(this);\n",
       "\t    this.edge = this.site = this.circle = null;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiCreateBeach(site) {\n",
       "\t    var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach();\n",
       "\t    beach.site = site;\n",
       "\t    return beach;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiDetachBeach(beach) {\n",
       "\t    d3_geom_voronoiDetachCircle(beach);\n",
       "\t    d3_geom_voronoiBeaches.remove(beach);\n",
       "\t    d3_geom_voronoiBeachPool.push(beach);\n",
       "\t    d3_geom_voronoiRedBlackNode(beach);\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiRemoveBeach(beach) {\n",
       "\t    var circle = beach.circle, x = circle.x, y = circle.cy, vertex = {\n",
       "\t      x: x,\n",
       "\t      y: y\n",
       "\t    }, previous = beach.P, next = beach.N, disappearing = [ beach ];\n",
       "\t    d3_geom_voronoiDetachBeach(beach);\n",
       "\t    var lArc = previous;\n",
       "\t    while (lArc.circle && abs(x - lArc.circle.x) < ε && abs(y - lArc.circle.cy) < ε) {\n",
       "\t      previous = lArc.P;\n",
       "\t      disappearing.unshift(lArc);\n",
       "\t      d3_geom_voronoiDetachBeach(lArc);\n",
       "\t      lArc = previous;\n",
       "\t    }\n",
       "\t    disappearing.unshift(lArc);\n",
       "\t    d3_geom_voronoiDetachCircle(lArc);\n",
       "\t    var rArc = next;\n",
       "\t    while (rArc.circle && abs(x - rArc.circle.x) < ε && abs(y - rArc.circle.cy) < ε) {\n",
       "\t      next = rArc.N;\n",
       "\t      disappearing.push(rArc);\n",
       "\t      d3_geom_voronoiDetachBeach(rArc);\n",
       "\t      rArc = next;\n",
       "\t    }\n",
       "\t    disappearing.push(rArc);\n",
       "\t    d3_geom_voronoiDetachCircle(rArc);\n",
       "\t    var nArcs = disappearing.length, iArc;\n",
       "\t    for (iArc = 1; iArc < nArcs; ++iArc) {\n",
       "\t      rArc = disappearing[iArc];\n",
       "\t      lArc = disappearing[iArc - 1];\n",
       "\t      d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);\n",
       "\t    }\n",
       "\t    lArc = disappearing[0];\n",
       "\t    rArc = disappearing[nArcs - 1];\n",
       "\t    rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex);\n",
       "\t    d3_geom_voronoiAttachCircle(lArc);\n",
       "\t    d3_geom_voronoiAttachCircle(rArc);\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiAddBeach(site) {\n",
       "\t    var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._;\n",
       "\t    while (node) {\n",
       "\t      dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x;\n",
       "\t      if (dxl > ε) node = node.L; else {\n",
       "\t        dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix);\n",
       "\t        if (dxr > ε) {\n",
       "\t          if (!node.R) {\n",
       "\t            lArc = node;\n",
       "\t            break;\n",
       "\t          }\n",
       "\t          node = node.R;\n",
       "\t        } else {\n",
       "\t          if (dxl > -ε) {\n",
       "\t            lArc = node.P;\n",
       "\t            rArc = node;\n",
       "\t          } else if (dxr > -ε) {\n",
       "\t            lArc = node;\n",
       "\t            rArc = node.N;\n",
       "\t          } else {\n",
       "\t            lArc = rArc = node;\n",
       "\t          }\n",
       "\t          break;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    var newArc = d3_geom_voronoiCreateBeach(site);\n",
       "\t    d3_geom_voronoiBeaches.insert(lArc, newArc);\n",
       "\t    if (!lArc && !rArc) return;\n",
       "\t    if (lArc === rArc) {\n",
       "\t      d3_geom_voronoiDetachCircle(lArc);\n",
       "\t      rArc = d3_geom_voronoiCreateBeach(lArc.site);\n",
       "\t      d3_geom_voronoiBeaches.insert(newArc, rArc);\n",
       "\t      newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n",
       "\t      d3_geom_voronoiAttachCircle(lArc);\n",
       "\t      d3_geom_voronoiAttachCircle(rArc);\n",
       "\t      return;\n",
       "\t    }\n",
       "\t    if (!rArc) {\n",
       "\t      newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);\n",
       "\t      return;\n",
       "\t    }\n",
       "\t    d3_geom_voronoiDetachCircle(lArc);\n",
       "\t    d3_geom_voronoiDetachCircle(rArc);\n",
       "\t    var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = {\n",
       "\t      x: (cy * hb - by * hc) / d + ax,\n",
       "\t      y: (bx * hc - cx * hb) / d + ay\n",
       "\t    };\n",
       "\t    d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex);\n",
       "\t    newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex);\n",
       "\t    rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex);\n",
       "\t    d3_geom_voronoiAttachCircle(lArc);\n",
       "\t    d3_geom_voronoiAttachCircle(rArc);\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiLeftBreakPoint(arc, directrix) {\n",
       "\t    var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix;\n",
       "\t    if (!pby2) return rfocx;\n",
       "\t    var lArc = arc.P;\n",
       "\t    if (!lArc) return -Infinity;\n",
       "\t    site = lArc.site;\n",
       "\t    var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix;\n",
       "\t    if (!plby2) return lfocx;\n",
       "\t    var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2;\n",
       "\t    if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;\n",
       "\t    return (rfocx + lfocx) / 2;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiRightBreakPoint(arc, directrix) {\n",
       "\t    var rArc = arc.N;\n",
       "\t    if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix);\n",
       "\t    var site = arc.site;\n",
       "\t    return site.y === directrix ? site.x : Infinity;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiCell(site) {\n",
       "\t    this.site = site;\n",
       "\t    this.edges = [];\n",
       "\t  }\n",
       "\t  d3_geom_voronoiCell.prototype.prepare = function() {\n",
       "\t    var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge;\n",
       "\t    while (iHalfEdge--) {\n",
       "\t      edge = halfEdges[iHalfEdge].edge;\n",
       "\t      if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1);\n",
       "\t    }\n",
       "\t    halfEdges.sort(d3_geom_voronoiHalfEdgeOrder);\n",
       "\t    return halfEdges.length;\n",
       "\t  };\n",
       "\t  function d3_geom_voronoiCloseCells(extent) {\n",
       "\t    var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end;\n",
       "\t    while (iCell--) {\n",
       "\t      cell = cells[iCell];\n",
       "\t      if (!cell || !cell.prepare()) continue;\n",
       "\t      halfEdges = cell.edges;\n",
       "\t      nHalfEdges = halfEdges.length;\n",
       "\t      iHalfEdge = 0;\n",
       "\t      while (iHalfEdge < nHalfEdges) {\n",
       "\t        end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y;\n",
       "\t        start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y;\n",
       "\t        if (abs(x3 - x2) > ε || abs(y3 - y2) > ε) {\n",
       "\t          halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ε && y1 - y3 > ε ? {\n",
       "\t            x: x0,\n",
       "\t            y: abs(x2 - x0) < ε ? y2 : y1\n",
       "\t          } : abs(y3 - y1) < ε && x1 - x3 > ε ? {\n",
       "\t            x: abs(y2 - y1) < ε ? x2 : x1,\n",
       "\t            y: y1\n",
       "\t          } : abs(x3 - x1) < ε && y3 - y0 > ε ? {\n",
       "\t            x: x1,\n",
       "\t            y: abs(x2 - x1) < ε ? y2 : y0\n",
       "\t          } : abs(y3 - y0) < ε && x3 - x0 > ε ? {\n",
       "\t            x: abs(y2 - y0) < ε ? x2 : x0,\n",
       "\t            y: y0\n",
       "\t          } : null), cell.site, null));\n",
       "\t          ++nHalfEdges;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiHalfEdgeOrder(a, b) {\n",
       "\t    return b.angle - a.angle;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiCircle() {\n",
       "\t    d3_geom_voronoiRedBlackNode(this);\n",
       "\t    this.x = this.y = this.arc = this.site = this.cy = null;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiAttachCircle(arc) {\n",
       "\t    var lArc = arc.P, rArc = arc.N;\n",
       "\t    if (!lArc || !rArc) return;\n",
       "\t    var lSite = lArc.site, cSite = arc.site, rSite = rArc.site;\n",
       "\t    if (lSite === rSite) return;\n",
       "\t    var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by;\n",
       "\t    var d = 2 * (ax * cy - ay * cx);\n",
       "\t    if (d >= -ε2) return;\n",
       "\t    var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by;\n",
       "\t    var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle();\n",
       "\t    circle.arc = arc;\n",
       "\t    circle.site = cSite;\n",
       "\t    circle.x = x + bx;\n",
       "\t    circle.y = cy + Math.sqrt(x * x + y * y);\n",
       "\t    circle.cy = cy;\n",
       "\t    arc.circle = circle;\n",
       "\t    var before = null, node = d3_geom_voronoiCircles._;\n",
       "\t    while (node) {\n",
       "\t      if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) {\n",
       "\t        if (node.L) node = node.L; else {\n",
       "\t          before = node.P;\n",
       "\t          break;\n",
       "\t        }\n",
       "\t      } else {\n",
       "\t        if (node.R) node = node.R; else {\n",
       "\t          before = node;\n",
       "\t          break;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    d3_geom_voronoiCircles.insert(before, circle);\n",
       "\t    if (!before) d3_geom_voronoiFirstCircle = circle;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiDetachCircle(arc) {\n",
       "\t    var circle = arc.circle;\n",
       "\t    if (circle) {\n",
       "\t      if (!circle.P) d3_geom_voronoiFirstCircle = circle.N;\n",
       "\t      d3_geom_voronoiCircles.remove(circle);\n",
       "\t      d3_geom_voronoiCirclePool.push(circle);\n",
       "\t      d3_geom_voronoiRedBlackNode(circle);\n",
       "\t      arc.circle = null;\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiClipEdges(extent) {\n",
       "\t    var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e;\n",
       "\t    while (i--) {\n",
       "\t      e = edges[i];\n",
       "\t      if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ε && abs(e.a.y - e.b.y) < ε) {\n",
       "\t        e.a = e.b = null;\n",
       "\t        edges.splice(i, 1);\n",
       "\t      }\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiConnectEdge(edge, extent) {\n",
       "\t    var vb = edge.b;\n",
       "\t    if (vb) return true;\n",
       "\t    var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb;\n",
       "\t    if (ry === ly) {\n",
       "\t      if (fx < x0 || fx >= x1) return;\n",
       "\t      if (lx > rx) {\n",
       "\t        if (!va) va = {\n",
       "\t          x: fx,\n",
       "\t          y: y0\n",
       "\t        }; else if (va.y >= y1) return;\n",
       "\t        vb = {\n",
       "\t          x: fx,\n",
       "\t          y: y1\n",
       "\t        };\n",
       "\t      } else {\n",
       "\t        if (!va) va = {\n",
       "\t          x: fx,\n",
       "\t          y: y1\n",
       "\t        }; else if (va.y < y0) return;\n",
       "\t        vb = {\n",
       "\t          x: fx,\n",
       "\t          y: y0\n",
       "\t        };\n",
       "\t      }\n",
       "\t    } else {\n",
       "\t      fm = (lx - rx) / (ry - ly);\n",
       "\t      fb = fy - fm * fx;\n",
       "\t      if (fm < -1 || fm > 1) {\n",
       "\t        if (lx > rx) {\n",
       "\t          if (!va) va = {\n",
       "\t            x: (y0 - fb) / fm,\n",
       "\t            y: y0\n",
       "\t          }; else if (va.y >= y1) return;\n",
       "\t          vb = {\n",
       "\t            x: (y1 - fb) / fm,\n",
       "\t            y: y1\n",
       "\t          };\n",
       "\t        } else {\n",
       "\t          if (!va) va = {\n",
       "\t            x: (y1 - fb) / fm,\n",
       "\t            y: y1\n",
       "\t          }; else if (va.y < y0) return;\n",
       "\t          vb = {\n",
       "\t            x: (y0 - fb) / fm,\n",
       "\t            y: y0\n",
       "\t          };\n",
       "\t        }\n",
       "\t      } else {\n",
       "\t        if (ly < ry) {\n",
       "\t          if (!va) va = {\n",
       "\t            x: x0,\n",
       "\t            y: fm * x0 + fb\n",
       "\t          }; else if (va.x >= x1) return;\n",
       "\t          vb = {\n",
       "\t            x: x1,\n",
       "\t            y: fm * x1 + fb\n",
       "\t          };\n",
       "\t        } else {\n",
       "\t          if (!va) va = {\n",
       "\t            x: x1,\n",
       "\t            y: fm * x1 + fb\n",
       "\t          }; else if (va.x < x0) return;\n",
       "\t          vb = {\n",
       "\t            x: x0,\n",
       "\t            y: fm * x0 + fb\n",
       "\t          };\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    edge.a = va;\n",
       "\t    edge.b = vb;\n",
       "\t    return true;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiEdge(lSite, rSite) {\n",
       "\t    this.l = lSite;\n",
       "\t    this.r = rSite;\n",
       "\t    this.a = this.b = null;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) {\n",
       "\t    var edge = new d3_geom_voronoiEdge(lSite, rSite);\n",
       "\t    d3_geom_voronoiEdges.push(edge);\n",
       "\t    if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va);\n",
       "\t    if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb);\n",
       "\t    d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite));\n",
       "\t    d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite));\n",
       "\t    return edge;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) {\n",
       "\t    var edge = new d3_geom_voronoiEdge(lSite, null);\n",
       "\t    edge.a = va;\n",
       "\t    edge.b = vb;\n",
       "\t    d3_geom_voronoiEdges.push(edge);\n",
       "\t    return edge;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) {\n",
       "\t    if (!edge.a && !edge.b) {\n",
       "\t      edge.a = vertex;\n",
       "\t      edge.l = lSite;\n",
       "\t      edge.r = rSite;\n",
       "\t    } else if (edge.l === rSite) {\n",
       "\t      edge.b = vertex;\n",
       "\t    } else {\n",
       "\t      edge.a = vertex;\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiHalfEdge(edge, lSite, rSite) {\n",
       "\t    var va = edge.a, vb = edge.b;\n",
       "\t    this.edge = edge;\n",
       "\t    this.site = lSite;\n",
       "\t    this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y);\n",
       "\t  }\n",
       "\t  d3_geom_voronoiHalfEdge.prototype = {\n",
       "\t    start: function() {\n",
       "\t      return this.edge.l === this.site ? this.edge.a : this.edge.b;\n",
       "\t    },\n",
       "\t    end: function() {\n",
       "\t      return this.edge.l === this.site ? this.edge.b : this.edge.a;\n",
       "\t    }\n",
       "\t  };\n",
       "\t  function d3_geom_voronoiRedBlackTree() {\n",
       "\t    this._ = null;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiRedBlackNode(node) {\n",
       "\t    node.U = node.C = node.L = node.R = node.P = node.N = null;\n",
       "\t  }\n",
       "\t  d3_geom_voronoiRedBlackTree.prototype = {\n",
       "\t    insert: function(after, node) {\n",
       "\t      var parent, grandpa, uncle;\n",
       "\t      if (after) {\n",
       "\t        node.P = after;\n",
       "\t        node.N = after.N;\n",
       "\t        if (after.N) after.N.P = node;\n",
       "\t        after.N = node;\n",
       "\t        if (after.R) {\n",
       "\t          after = after.R;\n",
       "\t          while (after.L) after = after.L;\n",
       "\t          after.L = node;\n",
       "\t        } else {\n",
       "\t          after.R = node;\n",
       "\t        }\n",
       "\t        parent = after;\n",
       "\t      } else if (this._) {\n",
       "\t        after = d3_geom_voronoiRedBlackFirst(this._);\n",
       "\t        node.P = null;\n",
       "\t        node.N = after;\n",
       "\t        after.P = after.L = node;\n",
       "\t        parent = after;\n",
       "\t      } else {\n",
       "\t        node.P = node.N = null;\n",
       "\t        this._ = node;\n",
       "\t        parent = null;\n",
       "\t      }\n",
       "\t      node.L = node.R = null;\n",
       "\t      node.U = parent;\n",
       "\t      node.C = true;\n",
       "\t      after = node;\n",
       "\t      while (parent && parent.C) {\n",
       "\t        grandpa = parent.U;\n",
       "\t        if (parent === grandpa.L) {\n",
       "\t          uncle = grandpa.R;\n",
       "\t          if (uncle && uncle.C) {\n",
       "\t            parent.C = uncle.C = false;\n",
       "\t            grandpa.C = true;\n",
       "\t            after = grandpa;\n",
       "\t          } else {\n",
       "\t            if (after === parent.R) {\n",
       "\t              d3_geom_voronoiRedBlackRotateLeft(this, parent);\n",
       "\t              after = parent;\n",
       "\t              parent = after.U;\n",
       "\t            }\n",
       "\t            parent.C = false;\n",
       "\t            grandpa.C = true;\n",
       "\t            d3_geom_voronoiRedBlackRotateRight(this, grandpa);\n",
       "\t          }\n",
       "\t        } else {\n",
       "\t          uncle = grandpa.L;\n",
       "\t          if (uncle && uncle.C) {\n",
       "\t            parent.C = uncle.C = false;\n",
       "\t            grandpa.C = true;\n",
       "\t            after = grandpa;\n",
       "\t          } else {\n",
       "\t            if (after === parent.L) {\n",
       "\t              d3_geom_voronoiRedBlackRotateRight(this, parent);\n",
       "\t              after = parent;\n",
       "\t              parent = after.U;\n",
       "\t            }\n",
       "\t            parent.C = false;\n",
       "\t            grandpa.C = true;\n",
       "\t            d3_geom_voronoiRedBlackRotateLeft(this, grandpa);\n",
       "\t          }\n",
       "\t        }\n",
       "\t        parent = after.U;\n",
       "\t      }\n",
       "\t      this._.C = false;\n",
       "\t    },\n",
       "\t    remove: function(node) {\n",
       "\t      if (node.N) node.N.P = node.P;\n",
       "\t      if (node.P) node.P.N = node.N;\n",
       "\t      node.N = node.P = null;\n",
       "\t      var parent = node.U, sibling, left = node.L, right = node.R, next, red;\n",
       "\t      if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right);\n",
       "\t      if (parent) {\n",
       "\t        if (parent.L === node) parent.L = next; else parent.R = next;\n",
       "\t      } else {\n",
       "\t        this._ = next;\n",
       "\t      }\n",
       "\t      if (left && right) {\n",
       "\t        red = next.C;\n",
       "\t        next.C = node.C;\n",
       "\t        next.L = left;\n",
       "\t        left.U = next;\n",
       "\t        if (next !== right) {\n",
       "\t          parent = next.U;\n",
       "\t          next.U = node.U;\n",
       "\t          node = next.R;\n",
       "\t          parent.L = node;\n",
       "\t          next.R = right;\n",
       "\t          right.U = next;\n",
       "\t        } else {\n",
       "\t          next.U = parent;\n",
       "\t          parent = next;\n",
       "\t          node = next.R;\n",
       "\t        }\n",
       "\t      } else {\n",
       "\t        red = node.C;\n",
       "\t        node = next;\n",
       "\t      }\n",
       "\t      if (node) node.U = parent;\n",
       "\t      if (red) return;\n",
       "\t      if (node && node.C) {\n",
       "\t        node.C = false;\n",
       "\t        return;\n",
       "\t      }\n",
       "\t      do {\n",
       "\t        if (node === this._) break;\n",
       "\t        if (node === parent.L) {\n",
       "\t          sibling = parent.R;\n",
       "\t          if (sibling.C) {\n",
       "\t            sibling.C = false;\n",
       "\t            parent.C = true;\n",
       "\t            d3_geom_voronoiRedBlackRotateLeft(this, parent);\n",
       "\t            sibling = parent.R;\n",
       "\t          }\n",
       "\t          if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n",
       "\t            if (!sibling.R || !sibling.R.C) {\n",
       "\t              sibling.L.C = false;\n",
       "\t              sibling.C = true;\n",
       "\t              d3_geom_voronoiRedBlackRotateRight(this, sibling);\n",
       "\t              sibling = parent.R;\n",
       "\t            }\n",
       "\t            sibling.C = parent.C;\n",
       "\t            parent.C = sibling.R.C = false;\n",
       "\t            d3_geom_voronoiRedBlackRotateLeft(this, parent);\n",
       "\t            node = this._;\n",
       "\t            break;\n",
       "\t          }\n",
       "\t        } else {\n",
       "\t          sibling = parent.L;\n",
       "\t          if (sibling.C) {\n",
       "\t            sibling.C = false;\n",
       "\t            parent.C = true;\n",
       "\t            d3_geom_voronoiRedBlackRotateRight(this, parent);\n",
       "\t            sibling = parent.L;\n",
       "\t          }\n",
       "\t          if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {\n",
       "\t            if (!sibling.L || !sibling.L.C) {\n",
       "\t              sibling.R.C = false;\n",
       "\t              sibling.C = true;\n",
       "\t              d3_geom_voronoiRedBlackRotateLeft(this, sibling);\n",
       "\t              sibling = parent.L;\n",
       "\t            }\n",
       "\t            sibling.C = parent.C;\n",
       "\t            parent.C = sibling.L.C = false;\n",
       "\t            d3_geom_voronoiRedBlackRotateRight(this, parent);\n",
       "\t            node = this._;\n",
       "\t            break;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        sibling.C = true;\n",
       "\t        node = parent;\n",
       "\t        parent = parent.U;\n",
       "\t      } while (!node.C);\n",
       "\t      if (node) node.C = false;\n",
       "\t    }\n",
       "\t  };\n",
       "\t  function d3_geom_voronoiRedBlackRotateLeft(tree, node) {\n",
       "\t    var p = node, q = node.R, parent = p.U;\n",
       "\t    if (parent) {\n",
       "\t      if (parent.L === p) parent.L = q; else parent.R = q;\n",
       "\t    } else {\n",
       "\t      tree._ = q;\n",
       "\t    }\n",
       "\t    q.U = parent;\n",
       "\t    p.U = q;\n",
       "\t    p.R = q.L;\n",
       "\t    if (p.R) p.R.U = p;\n",
       "\t    q.L = p;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiRedBlackRotateRight(tree, node) {\n",
       "\t    var p = node, q = node.L, parent = p.U;\n",
       "\t    if (parent) {\n",
       "\t      if (parent.L === p) parent.L = q; else parent.R = q;\n",
       "\t    } else {\n",
       "\t      tree._ = q;\n",
       "\t    }\n",
       "\t    q.U = parent;\n",
       "\t    p.U = q;\n",
       "\t    p.L = q.R;\n",
       "\t    if (p.L) p.L.U = p;\n",
       "\t    q.R = p;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiRedBlackFirst(node) {\n",
       "\t    while (node.L) node = node.L;\n",
       "\t    return node;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoi(sites, bbox) {\n",
       "\t    var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle;\n",
       "\t    d3_geom_voronoiEdges = [];\n",
       "\t    d3_geom_voronoiCells = new Array(sites.length);\n",
       "\t    d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree();\n",
       "\t    d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree();\n",
       "\t    while (true) {\n",
       "\t      circle = d3_geom_voronoiFirstCircle;\n",
       "\t      if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) {\n",
       "\t        if (site.x !== x0 || site.y !== y0) {\n",
       "\t          d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site);\n",
       "\t          d3_geom_voronoiAddBeach(site);\n",
       "\t          x0 = site.x, y0 = site.y;\n",
       "\t        }\n",
       "\t        site = sites.pop();\n",
       "\t      } else if (circle) {\n",
       "\t        d3_geom_voronoiRemoveBeach(circle.arc);\n",
       "\t      } else {\n",
       "\t        break;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox);\n",
       "\t    var diagram = {\n",
       "\t      cells: d3_geom_voronoiCells,\n",
       "\t      edges: d3_geom_voronoiEdges\n",
       "\t    };\n",
       "\t    d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null;\n",
       "\t    return diagram;\n",
       "\t  }\n",
       "\t  function d3_geom_voronoiVertexOrder(a, b) {\n",
       "\t    return b.y - a.y || b.x - a.x;\n",
       "\t  }\n",
       "\t  d3.geom.voronoi = function(points) {\n",
       "\t    var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent;\n",
       "\t    if (points) return voronoi(points);\n",
       "\t    function voronoi(data) {\n",
       "\t      var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1];\n",
       "\t      d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) {\n",
       "\t        var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) {\n",
       "\t          var s = e.start();\n",
       "\t          return [ s.x, s.y ];\n",
       "\t        }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : [];\n",
       "\t        polygon.point = data[i];\n",
       "\t      });\n",
       "\t      return polygons;\n",
       "\t    }\n",
       "\t    function sites(data) {\n",
       "\t      return data.map(function(d, i) {\n",
       "\t        return {\n",
       "\t          x: Math.round(fx(d, i) / ε) * ε,\n",
       "\t          y: Math.round(fy(d, i) / ε) * ε,\n",
       "\t          i: i\n",
       "\t        };\n",
       "\t      });\n",
       "\t    }\n",
       "\t    voronoi.links = function(data) {\n",
       "\t      return d3_geom_voronoi(sites(data)).edges.filter(function(edge) {\n",
       "\t        return edge.l && edge.r;\n",
       "\t      }).map(function(edge) {\n",
       "\t        return {\n",
       "\t          source: data[edge.l.i],\n",
       "\t          target: data[edge.r.i]\n",
       "\t        };\n",
       "\t      });\n",
       "\t    };\n",
       "\t    voronoi.triangles = function(data) {\n",
       "\t      var triangles = [];\n",
       "\t      d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) {\n",
       "\t        var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l;\n",
       "\t        while (++j < m) {\n",
       "\t          e0 = e1;\n",
       "\t          s0 = s1;\n",
       "\t          e1 = edges[j].edge;\n",
       "\t          s1 = e1.l === site ? e1.r : e1.l;\n",
       "\t          if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) {\n",
       "\t            triangles.push([ data[i], data[s0.i], data[s1.i] ]);\n",
       "\t          }\n",
       "\t        }\n",
       "\t      });\n",
       "\t      return triangles;\n",
       "\t    };\n",
       "\t    voronoi.x = function(_) {\n",
       "\t      return arguments.length ? (fx = d3_functor(x = _), voronoi) : x;\n",
       "\t    };\n",
       "\t    voronoi.y = function(_) {\n",
       "\t      return arguments.length ? (fy = d3_functor(y = _), voronoi) : y;\n",
       "\t    };\n",
       "\t    voronoi.clipExtent = function(_) {\n",
       "\t      if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent;\n",
       "\t      clipExtent = _ == null ? d3_geom_voronoiClipExtent : _;\n",
       "\t      return voronoi;\n",
       "\t    };\n",
       "\t    voronoi.size = function(_) {\n",
       "\t      if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1];\n",
       "\t      return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]);\n",
       "\t    };\n",
       "\t    return voronoi;\n",
       "\t  };\n",
       "\t  var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ];\n",
       "\t  function d3_geom_voronoiTriangleArea(a, b, c) {\n",
       "\t    return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y);\n",
       "\t  }\n",
       "\t  d3.geom.delaunay = function(vertices) {\n",
       "\t    return d3.geom.voronoi().triangles(vertices);\n",
       "\t  };\n",
       "\t  d3.geom.quadtree = function(points, x1, y1, x2, y2) {\n",
       "\t    var x = d3_geom_pointX, y = d3_geom_pointY, compat;\n",
       "\t    if (compat = arguments.length) {\n",
       "\t      x = d3_geom_quadtreeCompatX;\n",
       "\t      y = d3_geom_quadtreeCompatY;\n",
       "\t      if (compat === 3) {\n",
       "\t        y2 = y1;\n",
       "\t        x2 = x1;\n",
       "\t        y1 = x1 = 0;\n",
       "\t      }\n",
       "\t      return quadtree(points);\n",
       "\t    }\n",
       "\t    function quadtree(data) {\n",
       "\t      var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_;\n",
       "\t      if (x1 != null) {\n",
       "\t        x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2;\n",
       "\t      } else {\n",
       "\t        x2_ = y2_ = -(x1_ = y1_ = Infinity);\n",
       "\t        xs = [], ys = [];\n",
       "\t        n = data.length;\n",
       "\t        if (compat) for (i = 0; i < n; ++i) {\n",
       "\t          d = data[i];\n",
       "\t          if (d.x < x1_) x1_ = d.x;\n",
       "\t          if (d.y < y1_) y1_ = d.y;\n",
       "\t          if (d.x > x2_) x2_ = d.x;\n",
       "\t          if (d.y > y2_) y2_ = d.y;\n",
       "\t          xs.push(d.x);\n",
       "\t          ys.push(d.y);\n",
       "\t        } else for (i = 0; i < n; ++i) {\n",
       "\t          var x_ = +fx(d = data[i], i), y_ = +fy(d, i);\n",
       "\t          if (x_ < x1_) x1_ = x_;\n",
       "\t          if (y_ < y1_) y1_ = y_;\n",
       "\t          if (x_ > x2_) x2_ = x_;\n",
       "\t          if (y_ > y2_) y2_ = y_;\n",
       "\t          xs.push(x_);\n",
       "\t          ys.push(y_);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      var dx = x2_ - x1_, dy = y2_ - y1_;\n",
       "\t      if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy;\n",
       "\t      function insert(n, d, x, y, x1, y1, x2, y2) {\n",
       "\t        if (isNaN(x) || isNaN(y)) return;\n",
       "\t        if (n.leaf) {\n",
       "\t          var nx = n.x, ny = n.y;\n",
       "\t          if (nx != null) {\n",
       "\t            if (abs(nx - x) + abs(ny - y) < .01) {\n",
       "\t              insertChild(n, d, x, y, x1, y1, x2, y2);\n",
       "\t            } else {\n",
       "\t              var nPoint = n.point;\n",
       "\t              n.x = n.y = n.point = null;\n",
       "\t              insertChild(n, nPoint, nx, ny, x1, y1, x2, y2);\n",
       "\t              insertChild(n, d, x, y, x1, y1, x2, y2);\n",
       "\t            }\n",
       "\t          } else {\n",
       "\t            n.x = x, n.y = y, n.point = d;\n",
       "\t          }\n",
       "\t        } else {\n",
       "\t          insertChild(n, d, x, y, x1, y1, x2, y2);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      function insertChild(n, d, x, y, x1, y1, x2, y2) {\n",
       "\t        var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right;\n",
       "\t        n.leaf = false;\n",
       "\t        n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode());\n",
       "\t        if (right) x1 = xm; else x2 = xm;\n",
       "\t        if (below) y1 = ym; else y2 = ym;\n",
       "\t        insert(n, d, x, y, x1, y1, x2, y2);\n",
       "\t      }\n",
       "\t      var root = d3_geom_quadtreeNode();\n",
       "\t      root.add = function(d) {\n",
       "\t        insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_);\n",
       "\t      };\n",
       "\t      root.visit = function(f) {\n",
       "\t        d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_);\n",
       "\t      };\n",
       "\t      root.find = function(point) {\n",
       "\t        return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_);\n",
       "\t      };\n",
       "\t      i = -1;\n",
       "\t      if (x1 == null) {\n",
       "\t        while (++i < n) {\n",
       "\t          insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_);\n",
       "\t        }\n",
       "\t        --i;\n",
       "\t      } else data.forEach(root.add);\n",
       "\t      xs = ys = data = d = null;\n",
       "\t      return root;\n",
       "\t    }\n",
       "\t    quadtree.x = function(_) {\n",
       "\t      return arguments.length ? (x = _, quadtree) : x;\n",
       "\t    };\n",
       "\t    quadtree.y = function(_) {\n",
       "\t      return arguments.length ? (y = _, quadtree) : y;\n",
       "\t    };\n",
       "\t    quadtree.extent = function(_) {\n",
       "\t      if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ];\n",
       "\t      if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], \n",
       "\t      y2 = +_[1][1];\n",
       "\t      return quadtree;\n",
       "\t    };\n",
       "\t    quadtree.size = function(_) {\n",
       "\t      if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ];\n",
       "\t      if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1];\n",
       "\t      return quadtree;\n",
       "\t    };\n",
       "\t    return quadtree;\n",
       "\t  };\n",
       "\t  function d3_geom_quadtreeCompatX(d) {\n",
       "\t    return d.x;\n",
       "\t  }\n",
       "\t  function d3_geom_quadtreeCompatY(d) {\n",
       "\t    return d.y;\n",
       "\t  }\n",
       "\t  function d3_geom_quadtreeNode() {\n",
       "\t    return {\n",
       "\t      leaf: true,\n",
       "\t      nodes: [],\n",
       "\t      point: null,\n",
       "\t      x: null,\n",
       "\t      y: null\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) {\n",
       "\t    if (!f(node, x1, y1, x2, y2)) {\n",
       "\t      var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes;\n",
       "\t      if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy);\n",
       "\t      if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy);\n",
       "\t      if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2);\n",
       "\t      if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2);\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) {\n",
       "\t    var minDistance2 = Infinity, closestPoint;\n",
       "\t    (function find(node, x1, y1, x2, y2) {\n",
       "\t      if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return;\n",
       "\t      if (point = node.point) {\n",
       "\t        var point, dx = x - node.x, dy = y - node.y, distance2 = dx * dx + dy * dy;\n",
       "\t        if (distance2 < minDistance2) {\n",
       "\t          var distance = Math.sqrt(minDistance2 = distance2);\n",
       "\t          x0 = x - distance, y0 = y - distance;\n",
       "\t          x3 = x + distance, y3 = y + distance;\n",
       "\t          closestPoint = point;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym;\n",
       "\t      for (var i = below << 1 | right, j = i + 4; i < j; ++i) {\n",
       "\t        if (node = children[i & 3]) switch (i & 3) {\n",
       "\t         case 0:\n",
       "\t          find(node, x1, y1, xm, ym);\n",
       "\t          break;\n",
       "\t\n",
       "\t         case 1:\n",
       "\t          find(node, xm, y1, x2, ym);\n",
       "\t          break;\n",
       "\t\n",
       "\t         case 2:\n",
       "\t          find(node, x1, ym, xm, y2);\n",
       "\t          break;\n",
       "\t\n",
       "\t         case 3:\n",
       "\t          find(node, xm, ym, x2, y2);\n",
       "\t          break;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    })(root, x0, y0, x3, y3);\n",
       "\t    return closestPoint;\n",
       "\t  }\n",
       "\t  d3.interpolateRgb = d3_interpolateRgb;\n",
       "\t  function d3_interpolateRgb(a, b) {\n",
       "\t    a = d3.rgb(a);\n",
       "\t    b = d3.rgb(b);\n",
       "\t    var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab;\n",
       "\t    return function(t) {\n",
       "\t      return \"#\" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t));\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.interpolateObject = d3_interpolateObject;\n",
       "\t  function d3_interpolateObject(a, b) {\n",
       "\t    var i = {}, c = {}, k;\n",
       "\t    for (k in a) {\n",
       "\t      if (k in b) {\n",
       "\t        i[k] = d3_interpolate(a[k], b[k]);\n",
       "\t      } else {\n",
       "\t        c[k] = a[k];\n",
       "\t      }\n",
       "\t    }\n",
       "\t    for (k in b) {\n",
       "\t      if (!(k in a)) {\n",
       "\t        c[k] = b[k];\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return function(t) {\n",
       "\t      for (k in i) c[k] = i[k](t);\n",
       "\t      return c;\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.interpolateNumber = d3_interpolateNumber;\n",
       "\t  function d3_interpolateNumber(a, b) {\n",
       "\t    a = +a, b = +b;\n",
       "\t    return function(t) {\n",
       "\t      return a * (1 - t) + b * t;\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.interpolateString = d3_interpolateString;\n",
       "\t  function d3_interpolateString(a, b) {\n",
       "\t    var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = [];\n",
       "\t    a = a + \"\", b = b + \"\";\n",
       "\t    while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) {\n",
       "\t      if ((bs = bm.index) > bi) {\n",
       "\t        bs = b.slice(bi, bs);\n",
       "\t        if (s[i]) s[i] += bs; else s[++i] = bs;\n",
       "\t      }\n",
       "\t      if ((am = am[0]) === (bm = bm[0])) {\n",
       "\t        if (s[i]) s[i] += bm; else s[++i] = bm;\n",
       "\t      } else {\n",
       "\t        s[++i] = null;\n",
       "\t        q.push({\n",
       "\t          i: i,\n",
       "\t          x: d3_interpolateNumber(am, bm)\n",
       "\t        });\n",
       "\t      }\n",
       "\t      bi = d3_interpolate_numberB.lastIndex;\n",
       "\t    }\n",
       "\t    if (bi < b.length) {\n",
       "\t      bs = b.slice(bi);\n",
       "\t      if (s[i]) s[i] += bs; else s[++i] = bs;\n",
       "\t    }\n",
       "\t    return s.length < 2 ? q[0] ? (b = q[0].x, function(t) {\n",
       "\t      return b(t) + \"\";\n",
       "\t    }) : function() {\n",
       "\t      return b;\n",
       "\t    } : (b = q.length, function(t) {\n",
       "\t      for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n",
       "\t      return s.join(\"\");\n",
       "\t    });\n",
       "\t  }\n",
       "\t  var d3_interpolate_numberA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, \"g\");\n",
       "\t  d3.interpolate = d3_interpolate;\n",
       "\t  function d3_interpolate(a, b) {\n",
       "\t    var i = d3.interpolators.length, f;\n",
       "\t    while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ;\n",
       "\t    return f;\n",
       "\t  }\n",
       "\t  d3.interpolators = [ function(a, b) {\n",
       "\t    var t = typeof b;\n",
       "\t    return (t === \"string\" ? d3_rgb_names.has(b.toLowerCase()) || /^(#|rgb\\(|hsl\\()/i.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === \"object\" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b);\n",
       "\t  } ];\n",
       "\t  d3.interpolateArray = d3_interpolateArray;\n",
       "\t  function d3_interpolateArray(a, b) {\n",
       "\t    var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i;\n",
       "\t    for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i]));\n",
       "\t    for (;i < na; ++i) c[i] = a[i];\n",
       "\t    for (;i < nb; ++i) c[i] = b[i];\n",
       "\t    return function(t) {\n",
       "\t      for (i = 0; i < n0; ++i) c[i] = x[i](t);\n",
       "\t      return c;\n",
       "\t    };\n",
       "\t  }\n",
       "\t  var d3_ease_default = function() {\n",
       "\t    return d3_identity;\n",
       "\t  };\n",
       "\t  var d3_ease = d3.map({\n",
       "\t    linear: d3_ease_default,\n",
       "\t    poly: d3_ease_poly,\n",
       "\t    quad: function() {\n",
       "\t      return d3_ease_quad;\n",
       "\t    },\n",
       "\t    cubic: function() {\n",
       "\t      return d3_ease_cubic;\n",
       "\t    },\n",
       "\t    sin: function() {\n",
       "\t      return d3_ease_sin;\n",
       "\t    },\n",
       "\t    exp: function() {\n",
       "\t      return d3_ease_exp;\n",
       "\t    },\n",
       "\t    circle: function() {\n",
       "\t      return d3_ease_circle;\n",
       "\t    },\n",
       "\t    elastic: d3_ease_elastic,\n",
       "\t    back: d3_ease_back,\n",
       "\t    bounce: function() {\n",
       "\t      return d3_ease_bounce;\n",
       "\t    }\n",
       "\t  });\n",
       "\t  var d3_ease_mode = d3.map({\n",
       "\t    \"in\": d3_identity,\n",
       "\t    out: d3_ease_reverse,\n",
       "\t    \"in-out\": d3_ease_reflect,\n",
       "\t    \"out-in\": function(f) {\n",
       "\t      return d3_ease_reflect(d3_ease_reverse(f));\n",
       "\t    }\n",
       "\t  });\n",
       "\t  d3.ease = function(name) {\n",
       "\t    var i = name.indexOf(\"-\"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : \"in\";\n",
       "\t    t = d3_ease.get(t) || d3_ease_default;\n",
       "\t    m = d3_ease_mode.get(m) || d3_identity;\n",
       "\t    return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1))));\n",
       "\t  };\n",
       "\t  function d3_ease_clamp(f) {\n",
       "\t    return function(t) {\n",
       "\t      return t <= 0 ? 0 : t >= 1 ? 1 : f(t);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_ease_reverse(f) {\n",
       "\t    return function(t) {\n",
       "\t      return 1 - f(1 - t);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_ease_reflect(f) {\n",
       "\t    return function(t) {\n",
       "\t      return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t));\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_ease_quad(t) {\n",
       "\t    return t * t;\n",
       "\t  }\n",
       "\t  function d3_ease_cubic(t) {\n",
       "\t    return t * t * t;\n",
       "\t  }\n",
       "\t  function d3_ease_cubicInOut(t) {\n",
       "\t    if (t <= 0) return 0;\n",
       "\t    if (t >= 1) return 1;\n",
       "\t    var t2 = t * t, t3 = t2 * t;\n",
       "\t    return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75);\n",
       "\t  }\n",
       "\t  function d3_ease_poly(e) {\n",
       "\t    return function(t) {\n",
       "\t      return Math.pow(t, e);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_ease_sin(t) {\n",
       "\t    return 1 - Math.cos(t * halfπ);\n",
       "\t  }\n",
       "\t  function d3_ease_exp(t) {\n",
       "\t    return Math.pow(2, 10 * (t - 1));\n",
       "\t  }\n",
       "\t  function d3_ease_circle(t) {\n",
       "\t    return 1 - Math.sqrt(1 - t * t);\n",
       "\t  }\n",
       "\t  function d3_ease_elastic(a, p) {\n",
       "\t    var s;\n",
       "\t    if (arguments.length < 2) p = .45;\n",
       "\t    if (arguments.length) s = p / τ * Math.asin(1 / a); else a = 1, s = p / 4;\n",
       "\t    return function(t) {\n",
       "\t      return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_ease_back(s) {\n",
       "\t    if (!s) s = 1.70158;\n",
       "\t    return function(t) {\n",
       "\t      return t * t * ((s + 1) * t - s);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_ease_bounce(t) {\n",
       "\t    return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;\n",
       "\t  }\n",
       "\t  d3.interpolateHcl = d3_interpolateHcl;\n",
       "\t  function d3_interpolateHcl(a, b) {\n",
       "\t    a = d3.hcl(a);\n",
       "\t    b = d3.hcl(b);\n",
       "\t    var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al;\n",
       "\t    if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac;\n",
       "\t    if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n",
       "\t    return function(t) {\n",
       "\t      return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + \"\";\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.interpolateHsl = d3_interpolateHsl;\n",
       "\t  function d3_interpolateHsl(a, b) {\n",
       "\t    a = d3.hsl(a);\n",
       "\t    b = d3.hsl(b);\n",
       "\t    var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al;\n",
       "\t    if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as;\n",
       "\t    if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;\n",
       "\t    return function(t) {\n",
       "\t      return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + \"\";\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.interpolateLab = d3_interpolateLab;\n",
       "\t  function d3_interpolateLab(a, b) {\n",
       "\t    a = d3.lab(a);\n",
       "\t    b = d3.lab(b);\n",
       "\t    var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab;\n",
       "\t    return function(t) {\n",
       "\t      return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + \"\";\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.interpolateRound = d3_interpolateRound;\n",
       "\t  function d3_interpolateRound(a, b) {\n",
       "\t    b -= a;\n",
       "\t    return function(t) {\n",
       "\t      return Math.round(a + b * t);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.transform = function(string) {\n",
       "\t    var g = d3_document.createElementNS(d3.ns.prefix.svg, \"g\");\n",
       "\t    return (d3.transform = function(string) {\n",
       "\t      if (string != null) {\n",
       "\t        g.setAttribute(\"transform\", string);\n",
       "\t        var t = g.transform.baseVal.consolidate();\n",
       "\t      }\n",
       "\t      return new d3_transform(t ? t.matrix : d3_transformIdentity);\n",
       "\t    })(string);\n",
       "\t  };\n",
       "\t  function d3_transform(m) {\n",
       "\t    var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0;\n",
       "\t    if (r0[0] * r1[1] < r1[0] * r0[1]) {\n",
       "\t      r0[0] *= -1;\n",
       "\t      r0[1] *= -1;\n",
       "\t      kx *= -1;\n",
       "\t      kz *= -1;\n",
       "\t    }\n",
       "\t    this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees;\n",
       "\t    this.translate = [ m.e, m.f ];\n",
       "\t    this.scale = [ kx, ky ];\n",
       "\t    this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0;\n",
       "\t  }\n",
       "\t  d3_transform.prototype.toString = function() {\n",
       "\t    return \"translate(\" + this.translate + \")rotate(\" + this.rotate + \")skewX(\" + this.skew + \")scale(\" + this.scale + \")\";\n",
       "\t  };\n",
       "\t  function d3_transformDot(a, b) {\n",
       "\t    return a[0] * b[0] + a[1] * b[1];\n",
       "\t  }\n",
       "\t  function d3_transformNormalize(a) {\n",
       "\t    var k = Math.sqrt(d3_transformDot(a, a));\n",
       "\t    if (k) {\n",
       "\t      a[0] /= k;\n",
       "\t      a[1] /= k;\n",
       "\t    }\n",
       "\t    return k;\n",
       "\t  }\n",
       "\t  function d3_transformCombine(a, b, k) {\n",
       "\t    a[0] += k * b[0];\n",
       "\t    a[1] += k * b[1];\n",
       "\t    return a;\n",
       "\t  }\n",
       "\t  var d3_transformIdentity = {\n",
       "\t    a: 1,\n",
       "\t    b: 0,\n",
       "\t    c: 0,\n",
       "\t    d: 1,\n",
       "\t    e: 0,\n",
       "\t    f: 0\n",
       "\t  };\n",
       "\t  d3.interpolateTransform = d3_interpolateTransform;\n",
       "\t  function d3_interpolateTransformPop(s) {\n",
       "\t    return s.length ? s.pop() + \",\" : \"\";\n",
       "\t  }\n",
       "\t  function d3_interpolateTranslate(ta, tb, s, q) {\n",
       "\t    if (ta[0] !== tb[0] || ta[1] !== tb[1]) {\n",
       "\t      var i = s.push(\"translate(\", null, \",\", null, \")\");\n",
       "\t      q.push({\n",
       "\t        i: i - 4,\n",
       "\t        x: d3_interpolateNumber(ta[0], tb[0])\n",
       "\t      }, {\n",
       "\t        i: i - 2,\n",
       "\t        x: d3_interpolateNumber(ta[1], tb[1])\n",
       "\t      });\n",
       "\t    } else if (tb[0] || tb[1]) {\n",
       "\t      s.push(\"translate(\" + tb + \")\");\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_interpolateRotate(ra, rb, s, q) {\n",
       "\t    if (ra !== rb) {\n",
       "\t      if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360;\n",
       "\t      q.push({\n",
       "\t        i: s.push(d3_interpolateTransformPop(s) + \"rotate(\", null, \")\") - 2,\n",
       "\t        x: d3_interpolateNumber(ra, rb)\n",
       "\t      });\n",
       "\t    } else if (rb) {\n",
       "\t      s.push(d3_interpolateTransformPop(s) + \"rotate(\" + rb + \")\");\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_interpolateSkew(wa, wb, s, q) {\n",
       "\t    if (wa !== wb) {\n",
       "\t      q.push({\n",
       "\t        i: s.push(d3_interpolateTransformPop(s) + \"skewX(\", null, \")\") - 2,\n",
       "\t        x: d3_interpolateNumber(wa, wb)\n",
       "\t      });\n",
       "\t    } else if (wb) {\n",
       "\t      s.push(d3_interpolateTransformPop(s) + \"skewX(\" + wb + \")\");\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_interpolateScale(ka, kb, s, q) {\n",
       "\t    if (ka[0] !== kb[0] || ka[1] !== kb[1]) {\n",
       "\t      var i = s.push(d3_interpolateTransformPop(s) + \"scale(\", null, \",\", null, \")\");\n",
       "\t      q.push({\n",
       "\t        i: i - 4,\n",
       "\t        x: d3_interpolateNumber(ka[0], kb[0])\n",
       "\t      }, {\n",
       "\t        i: i - 2,\n",
       "\t        x: d3_interpolateNumber(ka[1], kb[1])\n",
       "\t      });\n",
       "\t    } else if (kb[0] !== 1 || kb[1] !== 1) {\n",
       "\t      s.push(d3_interpolateTransformPop(s) + \"scale(\" + kb + \")\");\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_interpolateTransform(a, b) {\n",
       "\t    var s = [], q = [];\n",
       "\t    a = d3.transform(a), b = d3.transform(b);\n",
       "\t    d3_interpolateTranslate(a.translate, b.translate, s, q);\n",
       "\t    d3_interpolateRotate(a.rotate, b.rotate, s, q);\n",
       "\t    d3_interpolateSkew(a.skew, b.skew, s, q);\n",
       "\t    d3_interpolateScale(a.scale, b.scale, s, q);\n",
       "\t    a = b = null;\n",
       "\t    return function(t) {\n",
       "\t      var i = -1, n = q.length, o;\n",
       "\t      while (++i < n) s[(o = q[i]).i] = o.x(t);\n",
       "\t      return s.join(\"\");\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_uninterpolateNumber(a, b) {\n",
       "\t    b = (b -= a = +a) || 1 / b;\n",
       "\t    return function(x) {\n",
       "\t      return (x - a) / b;\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_uninterpolateClamp(a, b) {\n",
       "\t    b = (b -= a = +a) || 1 / b;\n",
       "\t    return function(x) {\n",
       "\t      return Math.max(0, Math.min(1, (x - a) / b));\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.layout = {};\n",
       "\t  d3.layout.bundle = function() {\n",
       "\t    return function(links) {\n",
       "\t      var paths = [], i = -1, n = links.length;\n",
       "\t      while (++i < n) paths.push(d3_layout_bundlePath(links[i]));\n",
       "\t      return paths;\n",
       "\t    };\n",
       "\t  };\n",
       "\t  function d3_layout_bundlePath(link) {\n",
       "\t    var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ];\n",
       "\t    while (start !== lca) {\n",
       "\t      start = start.parent;\n",
       "\t      points.push(start);\n",
       "\t    }\n",
       "\t    var k = points.length;\n",
       "\t    while (end !== lca) {\n",
       "\t      points.splice(k, 0, end);\n",
       "\t      end = end.parent;\n",
       "\t    }\n",
       "\t    return points;\n",
       "\t  }\n",
       "\t  function d3_layout_bundleAncestors(node) {\n",
       "\t    var ancestors = [], parent = node.parent;\n",
       "\t    while (parent != null) {\n",
       "\t      ancestors.push(node);\n",
       "\t      node = parent;\n",
       "\t      parent = parent.parent;\n",
       "\t    }\n",
       "\t    ancestors.push(node);\n",
       "\t    return ancestors;\n",
       "\t  }\n",
       "\t  function d3_layout_bundleLeastCommonAncestor(a, b) {\n",
       "\t    if (a === b) return a;\n",
       "\t    var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null;\n",
       "\t    while (aNode === bNode) {\n",
       "\t      sharedNode = aNode;\n",
       "\t      aNode = aNodes.pop();\n",
       "\t      bNode = bNodes.pop();\n",
       "\t    }\n",
       "\t    return sharedNode;\n",
       "\t  }\n",
       "\t  d3.layout.chord = function() {\n",
       "\t    var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords;\n",
       "\t    function relayout() {\n",
       "\t      var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j;\n",
       "\t      chords = [];\n",
       "\t      groups = [];\n",
       "\t      k = 0, i = -1;\n",
       "\t      while (++i < n) {\n",
       "\t        x = 0, j = -1;\n",
       "\t        while (++j < n) {\n",
       "\t          x += matrix[i][j];\n",
       "\t        }\n",
       "\t        groupSums.push(x);\n",
       "\t        subgroupIndex.push(d3.range(n));\n",
       "\t        k += x;\n",
       "\t      }\n",
       "\t      if (sortGroups) {\n",
       "\t        groupIndex.sort(function(a, b) {\n",
       "\t          return sortGroups(groupSums[a], groupSums[b]);\n",
       "\t        });\n",
       "\t      }\n",
       "\t      if (sortSubgroups) {\n",
       "\t        subgroupIndex.forEach(function(d, i) {\n",
       "\t          d.sort(function(a, b) {\n",
       "\t            return sortSubgroups(matrix[i][a], matrix[i][b]);\n",
       "\t          });\n",
       "\t        });\n",
       "\t      }\n",
       "\t      k = (τ - padding * n) / k;\n",
       "\t      x = 0, i = -1;\n",
       "\t      while (++i < n) {\n",
       "\t        x0 = x, j = -1;\n",
       "\t        while (++j < n) {\n",
       "\t          var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k;\n",
       "\t          subgroups[di + \"-\" + dj] = {\n",
       "\t            index: di,\n",
       "\t            subindex: dj,\n",
       "\t            startAngle: a0,\n",
       "\t            endAngle: a1,\n",
       "\t            value: v\n",
       "\t          };\n",
       "\t        }\n",
       "\t        groups[di] = {\n",
       "\t          index: di,\n",
       "\t          startAngle: x0,\n",
       "\t          endAngle: x,\n",
       "\t          value: groupSums[di]\n",
       "\t        };\n",
       "\t        x += padding;\n",
       "\t      }\n",
       "\t      i = -1;\n",
       "\t      while (++i < n) {\n",
       "\t        j = i - 1;\n",
       "\t        while (++j < n) {\n",
       "\t          var source = subgroups[i + \"-\" + j], target = subgroups[j + \"-\" + i];\n",
       "\t          if (source.value || target.value) {\n",
       "\t            chords.push(source.value < target.value ? {\n",
       "\t              source: target,\n",
       "\t              target: source\n",
       "\t            } : {\n",
       "\t              source: source,\n",
       "\t              target: target\n",
       "\t            });\n",
       "\t          }\n",
       "\t        }\n",
       "\t      }\n",
       "\t      if (sortChords) resort();\n",
       "\t    }\n",
       "\t    function resort() {\n",
       "\t      chords.sort(function(a, b) {\n",
       "\t        return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2);\n",
       "\t      });\n",
       "\t    }\n",
       "\t    chord.matrix = function(x) {\n",
       "\t      if (!arguments.length) return matrix;\n",
       "\t      n = (matrix = x) && matrix.length;\n",
       "\t      chords = groups = null;\n",
       "\t      return chord;\n",
       "\t    };\n",
       "\t    chord.padding = function(x) {\n",
       "\t      if (!arguments.length) return padding;\n",
       "\t      padding = x;\n",
       "\t      chords = groups = null;\n",
       "\t      return chord;\n",
       "\t    };\n",
       "\t    chord.sortGroups = function(x) {\n",
       "\t      if (!arguments.length) return sortGroups;\n",
       "\t      sortGroups = x;\n",
       "\t      chords = groups = null;\n",
       "\t      return chord;\n",
       "\t    };\n",
       "\t    chord.sortSubgroups = function(x) {\n",
       "\t      if (!arguments.length) return sortSubgroups;\n",
       "\t      sortSubgroups = x;\n",
       "\t      chords = null;\n",
       "\t      return chord;\n",
       "\t    };\n",
       "\t    chord.sortChords = function(x) {\n",
       "\t      if (!arguments.length) return sortChords;\n",
       "\t      sortChords = x;\n",
       "\t      if (chords) resort();\n",
       "\t      return chord;\n",
       "\t    };\n",
       "\t    chord.chords = function() {\n",
       "\t      if (!chords) relayout();\n",
       "\t      return chords;\n",
       "\t    };\n",
       "\t    chord.groups = function() {\n",
       "\t      if (!groups) relayout();\n",
       "\t      return groups;\n",
       "\t    };\n",
       "\t    return chord;\n",
       "\t  };\n",
       "\t  d3.layout.force = function() {\n",
       "\t    var force = {}, event = d3.dispatch(\"start\", \"tick\", \"end\"), timer, size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges;\n",
       "\t    function repulse(node) {\n",
       "\t      return function(quad, x1, _, x2) {\n",
       "\t        if (quad.point !== node) {\n",
       "\t          var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy;\n",
       "\t          if (dw * dw / theta2 < dn) {\n",
       "\t            if (dn < chargeDistance2) {\n",
       "\t              var k = quad.charge / dn;\n",
       "\t              node.px -= dx * k;\n",
       "\t              node.py -= dy * k;\n",
       "\t            }\n",
       "\t            return true;\n",
       "\t          }\n",
       "\t          if (quad.point && dn && dn < chargeDistance2) {\n",
       "\t            var k = quad.pointCharge / dn;\n",
       "\t            node.px -= dx * k;\n",
       "\t            node.py -= dy * k;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        return !quad.charge;\n",
       "\t      };\n",
       "\t    }\n",
       "\t    force.tick = function() {\n",
       "\t      if ((alpha *= .99) < .005) {\n",
       "\t        timer = null;\n",
       "\t        event.end({\n",
       "\t          type: \"end\",\n",
       "\t          alpha: alpha = 0\n",
       "\t        });\n",
       "\t        return true;\n",
       "\t      }\n",
       "\t      var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y;\n",
       "\t      for (i = 0; i < m; ++i) {\n",
       "\t        o = links[i];\n",
       "\t        s = o.source;\n",
       "\t        t = o.target;\n",
       "\t        x = t.x - s.x;\n",
       "\t        y = t.y - s.y;\n",
       "\t        if (l = x * x + y * y) {\n",
       "\t          l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;\n",
       "\t          x *= l;\n",
       "\t          y *= l;\n",
       "\t          t.x -= x * (k = s.weight + t.weight ? s.weight / (s.weight + t.weight) : .5);\n",
       "\t          t.y -= y * k;\n",
       "\t          s.x += x * (k = 1 - k);\n",
       "\t          s.y += y * k;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      if (k = alpha * gravity) {\n",
       "\t        x = size[0] / 2;\n",
       "\t        y = size[1] / 2;\n",
       "\t        i = -1;\n",
       "\t        if (k) while (++i < n) {\n",
       "\t          o = nodes[i];\n",
       "\t          o.x += (x - o.x) * k;\n",
       "\t          o.y += (y - o.y) * k;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      if (charge) {\n",
       "\t        d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges);\n",
       "\t        i = -1;\n",
       "\t        while (++i < n) {\n",
       "\t          if (!(o = nodes[i]).fixed) {\n",
       "\t            q.visit(repulse(o));\n",
       "\t          }\n",
       "\t        }\n",
       "\t      }\n",
       "\t      i = -1;\n",
       "\t      while (++i < n) {\n",
       "\t        o = nodes[i];\n",
       "\t        if (o.fixed) {\n",
       "\t          o.x = o.px;\n",
       "\t          o.y = o.py;\n",
       "\t        } else {\n",
       "\t          o.x -= (o.px - (o.px = o.x)) * friction;\n",
       "\t          o.y -= (o.py - (o.py = o.y)) * friction;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      event.tick({\n",
       "\t        type: \"tick\",\n",
       "\t        alpha: alpha\n",
       "\t      });\n",
       "\t    };\n",
       "\t    force.nodes = function(x) {\n",
       "\t      if (!arguments.length) return nodes;\n",
       "\t      nodes = x;\n",
       "\t      return force;\n",
       "\t    };\n",
       "\t    force.links = function(x) {\n",
       "\t      if (!arguments.length) return links;\n",
       "\t      links = x;\n",
       "\t      return force;\n",
       "\t    };\n",
       "\t    force.size = function(x) {\n",
       "\t      if (!arguments.length) return size;\n",
       "\t      size = x;\n",
       "\t      return force;\n",
       "\t    };\n",
       "\t    force.linkDistance = function(x) {\n",
       "\t      if (!arguments.length) return linkDistance;\n",
       "\t      linkDistance = typeof x === \"function\" ? x : +x;\n",
       "\t      return force;\n",
       "\t    };\n",
       "\t    force.distance = force.linkDistance;\n",
       "\t    force.linkStrength = function(x) {\n",
       "\t      if (!arguments.length) return linkStrength;\n",
       "\t      linkStrength = typeof x === \"function\" ? x : +x;\n",
       "\t      return force;\n",
       "\t    };\n",
       "\t    force.friction = function(x) {\n",
       "\t      if (!arguments.length) return friction;\n",
       "\t      friction = +x;\n",
       "\t      return force;\n",
       "\t    };\n",
       "\t    force.charge = function(x) {\n",
       "\t      if (!arguments.length) return charge;\n",
       "\t      charge = typeof x === \"function\" ? x : +x;\n",
       "\t      return force;\n",
       "\t    };\n",
       "\t    force.chargeDistance = function(x) {\n",
       "\t      if (!arguments.length) return Math.sqrt(chargeDistance2);\n",
       "\t      chargeDistance2 = x * x;\n",
       "\t      return force;\n",
       "\t    };\n",
       "\t    force.gravity = function(x) {\n",
       "\t      if (!arguments.length) return gravity;\n",
       "\t      gravity = +x;\n",
       "\t      return force;\n",
       "\t    };\n",
       "\t    force.theta = function(x) {\n",
       "\t      if (!arguments.length) return Math.sqrt(theta2);\n",
       "\t      theta2 = x * x;\n",
       "\t      return force;\n",
       "\t    };\n",
       "\t    force.alpha = function(x) {\n",
       "\t      if (!arguments.length) return alpha;\n",
       "\t      x = +x;\n",
       "\t      if (alpha) {\n",
       "\t        if (x > 0) {\n",
       "\t          alpha = x;\n",
       "\t        } else {\n",
       "\t          timer.c = null, timer.t = NaN, timer = null;\n",
       "\t          event.end({\n",
       "\t            type: \"end\",\n",
       "\t            alpha: alpha = 0\n",
       "\t          });\n",
       "\t        }\n",
       "\t      } else if (x > 0) {\n",
       "\t        event.start({\n",
       "\t          type: \"start\",\n",
       "\t          alpha: alpha = x\n",
       "\t        });\n",
       "\t        timer = d3_timer(force.tick);\n",
       "\t      }\n",
       "\t      return force;\n",
       "\t    };\n",
       "\t    force.start = function() {\n",
       "\t      var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o;\n",
       "\t      for (i = 0; i < n; ++i) {\n",
       "\t        (o = nodes[i]).index = i;\n",
       "\t        o.weight = 0;\n",
       "\t      }\n",
       "\t      for (i = 0; i < m; ++i) {\n",
       "\t        o = links[i];\n",
       "\t        if (typeof o.source == \"number\") o.source = nodes[o.source];\n",
       "\t        if (typeof o.target == \"number\") o.target = nodes[o.target];\n",
       "\t        ++o.source.weight;\n",
       "\t        ++o.target.weight;\n",
       "\t      }\n",
       "\t      for (i = 0; i < n; ++i) {\n",
       "\t        o = nodes[i];\n",
       "\t        if (isNaN(o.x)) o.x = position(\"x\", w);\n",
       "\t        if (isNaN(o.y)) o.y = position(\"y\", h);\n",
       "\t        if (isNaN(o.px)) o.px = o.x;\n",
       "\t        if (isNaN(o.py)) o.py = o.y;\n",
       "\t      }\n",
       "\t      distances = [];\n",
       "\t      if (typeof linkDistance === \"function\") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance;\n",
       "\t      strengths = [];\n",
       "\t      if (typeof linkStrength === \"function\") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength;\n",
       "\t      charges = [];\n",
       "\t      if (typeof charge === \"function\") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge;\n",
       "\t      function position(dimension, size) {\n",
       "\t        if (!neighbors) {\n",
       "\t          neighbors = new Array(n);\n",
       "\t          for (j = 0; j < n; ++j) {\n",
       "\t            neighbors[j] = [];\n",
       "\t          }\n",
       "\t          for (j = 0; j < m; ++j) {\n",
       "\t            var o = links[j];\n",
       "\t            neighbors[o.source.index].push(o.target);\n",
       "\t            neighbors[o.target.index].push(o.source);\n",
       "\t          }\n",
       "\t        }\n",
       "\t        var candidates = neighbors[i], j = -1, l = candidates.length, x;\n",
       "\t        while (++j < l) if (!isNaN(x = candidates[j][dimension])) return x;\n",
       "\t        return Math.random() * size;\n",
       "\t      }\n",
       "\t      return force.resume();\n",
       "\t    };\n",
       "\t    force.resume = function() {\n",
       "\t      return force.alpha(.1);\n",
       "\t    };\n",
       "\t    force.stop = function() {\n",
       "\t      return force.alpha(0);\n",
       "\t    };\n",
       "\t    force.drag = function() {\n",
       "\t      if (!drag) drag = d3.behavior.drag().origin(d3_identity).on(\"dragstart.force\", d3_layout_forceDragstart).on(\"drag.force\", dragmove).on(\"dragend.force\", d3_layout_forceDragend);\n",
       "\t      if (!arguments.length) return drag;\n",
       "\t      this.on(\"mouseover.force\", d3_layout_forceMouseover).on(\"mouseout.force\", d3_layout_forceMouseout).call(drag);\n",
       "\t    };\n",
       "\t    function dragmove(d) {\n",
       "\t      d.px = d3.event.x, d.py = d3.event.y;\n",
       "\t      force.resume();\n",
       "\t    }\n",
       "\t    return d3.rebind(force, event, \"on\");\n",
       "\t  };\n",
       "\t  function d3_layout_forceDragstart(d) {\n",
       "\t    d.fixed |= 2;\n",
       "\t  }\n",
       "\t  function d3_layout_forceDragend(d) {\n",
       "\t    d.fixed &= ~6;\n",
       "\t  }\n",
       "\t  function d3_layout_forceMouseover(d) {\n",
       "\t    d.fixed |= 4;\n",
       "\t    d.px = d.x, d.py = d.y;\n",
       "\t  }\n",
       "\t  function d3_layout_forceMouseout(d) {\n",
       "\t    d.fixed &= ~4;\n",
       "\t  }\n",
       "\t  function d3_layout_forceAccumulate(quad, alpha, charges) {\n",
       "\t    var cx = 0, cy = 0;\n",
       "\t    quad.charge = 0;\n",
       "\t    if (!quad.leaf) {\n",
       "\t      var nodes = quad.nodes, n = nodes.length, i = -1, c;\n",
       "\t      while (++i < n) {\n",
       "\t        c = nodes[i];\n",
       "\t        if (c == null) continue;\n",
       "\t        d3_layout_forceAccumulate(c, alpha, charges);\n",
       "\t        quad.charge += c.charge;\n",
       "\t        cx += c.charge * c.cx;\n",
       "\t        cy += c.charge * c.cy;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    if (quad.point) {\n",
       "\t      if (!quad.leaf) {\n",
       "\t        quad.point.x += Math.random() - .5;\n",
       "\t        quad.point.y += Math.random() - .5;\n",
       "\t      }\n",
       "\t      var k = alpha * charges[quad.point.index];\n",
       "\t      quad.charge += quad.pointCharge = k;\n",
       "\t      cx += k * quad.point.x;\n",
       "\t      cy += k * quad.point.y;\n",
       "\t    }\n",
       "\t    quad.cx = cx / quad.charge;\n",
       "\t    quad.cy = cy / quad.charge;\n",
       "\t  }\n",
       "\t  var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity;\n",
       "\t  d3.layout.hierarchy = function() {\n",
       "\t    var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue;\n",
       "\t    function hierarchy(root) {\n",
       "\t      var stack = [ root ], nodes = [], node;\n",
       "\t      root.depth = 0;\n",
       "\t      while ((node = stack.pop()) != null) {\n",
       "\t        nodes.push(node);\n",
       "\t        if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) {\n",
       "\t          var n, childs, child;\n",
       "\t          while (--n >= 0) {\n",
       "\t            stack.push(child = childs[n]);\n",
       "\t            child.parent = node;\n",
       "\t            child.depth = node.depth + 1;\n",
       "\t          }\n",
       "\t          if (value) node.value = 0;\n",
       "\t          node.children = childs;\n",
       "\t        } else {\n",
       "\t          if (value) node.value = +value.call(hierarchy, node, node.depth) || 0;\n",
       "\t          delete node.children;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      d3_layout_hierarchyVisitAfter(root, function(node) {\n",
       "\t        var childs, parent;\n",
       "\t        if (sort && (childs = node.children)) childs.sort(sort);\n",
       "\t        if (value && (parent = node.parent)) parent.value += node.value;\n",
       "\t      });\n",
       "\t      return nodes;\n",
       "\t    }\n",
       "\t    hierarchy.sort = function(x) {\n",
       "\t      if (!arguments.length) return sort;\n",
       "\t      sort = x;\n",
       "\t      return hierarchy;\n",
       "\t    };\n",
       "\t    hierarchy.children = function(x) {\n",
       "\t      if (!arguments.length) return children;\n",
       "\t      children = x;\n",
       "\t      return hierarchy;\n",
       "\t    };\n",
       "\t    hierarchy.value = function(x) {\n",
       "\t      if (!arguments.length) return value;\n",
       "\t      value = x;\n",
       "\t      return hierarchy;\n",
       "\t    };\n",
       "\t    hierarchy.revalue = function(root) {\n",
       "\t      if (value) {\n",
       "\t        d3_layout_hierarchyVisitBefore(root, function(node) {\n",
       "\t          if (node.children) node.value = 0;\n",
       "\t        });\n",
       "\t        d3_layout_hierarchyVisitAfter(root, function(node) {\n",
       "\t          var parent;\n",
       "\t          if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0;\n",
       "\t          if (parent = node.parent) parent.value += node.value;\n",
       "\t        });\n",
       "\t      }\n",
       "\t      return root;\n",
       "\t    };\n",
       "\t    return hierarchy;\n",
       "\t  };\n",
       "\t  function d3_layout_hierarchyRebind(object, hierarchy) {\n",
       "\t    d3.rebind(object, hierarchy, \"sort\", \"children\", \"value\");\n",
       "\t    object.nodes = object;\n",
       "\t    object.links = d3_layout_hierarchyLinks;\n",
       "\t    return object;\n",
       "\t  }\n",
       "\t  function d3_layout_hierarchyVisitBefore(node, callback) {\n",
       "\t    var nodes = [ node ];\n",
       "\t    while ((node = nodes.pop()) != null) {\n",
       "\t      callback(node);\n",
       "\t      if ((children = node.children) && (n = children.length)) {\n",
       "\t        var n, children;\n",
       "\t        while (--n >= 0) nodes.push(children[n]);\n",
       "\t      }\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_layout_hierarchyVisitAfter(node, callback) {\n",
       "\t    var nodes = [ node ], nodes2 = [];\n",
       "\t    while ((node = nodes.pop()) != null) {\n",
       "\t      nodes2.push(node);\n",
       "\t      if ((children = node.children) && (n = children.length)) {\n",
       "\t        var i = -1, n, children;\n",
       "\t        while (++i < n) nodes.push(children[i]);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    while ((node = nodes2.pop()) != null) {\n",
       "\t      callback(node);\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_layout_hierarchyChildren(d) {\n",
       "\t    return d.children;\n",
       "\t  }\n",
       "\t  function d3_layout_hierarchyValue(d) {\n",
       "\t    return d.value;\n",
       "\t  }\n",
       "\t  function d3_layout_hierarchySort(a, b) {\n",
       "\t    return b.value - a.value;\n",
       "\t  }\n",
       "\t  function d3_layout_hierarchyLinks(nodes) {\n",
       "\t    return d3.merge(nodes.map(function(parent) {\n",
       "\t      return (parent.children || []).map(function(child) {\n",
       "\t        return {\n",
       "\t          source: parent,\n",
       "\t          target: child\n",
       "\t        };\n",
       "\t      });\n",
       "\t    }));\n",
       "\t  }\n",
       "\t  d3.layout.partition = function() {\n",
       "\t    var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ];\n",
       "\t    function position(node, x, dx, dy) {\n",
       "\t      var children = node.children;\n",
       "\t      node.x = x;\n",
       "\t      node.y = node.depth * dy;\n",
       "\t      node.dx = dx;\n",
       "\t      node.dy = dy;\n",
       "\t      if (children && (n = children.length)) {\n",
       "\t        var i = -1, n, c, d;\n",
       "\t        dx = node.value ? dx / node.value : 0;\n",
       "\t        while (++i < n) {\n",
       "\t          position(c = children[i], x, d = c.value * dx, dy);\n",
       "\t          x += d;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    function depth(node) {\n",
       "\t      var children = node.children, d = 0;\n",
       "\t      if (children && (n = children.length)) {\n",
       "\t        var i = -1, n;\n",
       "\t        while (++i < n) d = Math.max(d, depth(children[i]));\n",
       "\t      }\n",
       "\t      return 1 + d;\n",
       "\t    }\n",
       "\t    function partition(d, i) {\n",
       "\t      var nodes = hierarchy.call(this, d, i);\n",
       "\t      position(nodes[0], 0, size[0], size[1] / depth(nodes[0]));\n",
       "\t      return nodes;\n",
       "\t    }\n",
       "\t    partition.size = function(x) {\n",
       "\t      if (!arguments.length) return size;\n",
       "\t      size = x;\n",
       "\t      return partition;\n",
       "\t    };\n",
       "\t    return d3_layout_hierarchyRebind(partition, hierarchy);\n",
       "\t  };\n",
       "\t  d3.layout.pie = function() {\n",
       "\t    var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0;\n",
       "\t    function pie(data) {\n",
       "\t      var n = data.length, values = data.map(function(d, i) {\n",
       "\t        return +value.call(pie, d, i);\n",
       "\t      }), a = +(typeof startAngle === \"function\" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === \"function\" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === \"function\" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), sum = d3.sum(values), k = sum ? (da - n * pa) / sum : 0, index = d3.range(n), arcs = [], v;\n",
       "\t      if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) {\n",
       "\t        return values[j] - values[i];\n",
       "\t      } : function(i, j) {\n",
       "\t        return sort(data[i], data[j]);\n",
       "\t      });\n",
       "\t      index.forEach(function(i) {\n",
       "\t        arcs[i] = {\n",
       "\t          data: data[i],\n",
       "\t          value: v = values[i],\n",
       "\t          startAngle: a,\n",
       "\t          endAngle: a += v * k + pa,\n",
       "\t          padAngle: p\n",
       "\t        };\n",
       "\t      });\n",
       "\t      return arcs;\n",
       "\t    }\n",
       "\t    pie.value = function(_) {\n",
       "\t      if (!arguments.length) return value;\n",
       "\t      value = _;\n",
       "\t      return pie;\n",
       "\t    };\n",
       "\t    pie.sort = function(_) {\n",
       "\t      if (!arguments.length) return sort;\n",
       "\t      sort = _;\n",
       "\t      return pie;\n",
       "\t    };\n",
       "\t    pie.startAngle = function(_) {\n",
       "\t      if (!arguments.length) return startAngle;\n",
       "\t      startAngle = _;\n",
       "\t      return pie;\n",
       "\t    };\n",
       "\t    pie.endAngle = function(_) {\n",
       "\t      if (!arguments.length) return endAngle;\n",
       "\t      endAngle = _;\n",
       "\t      return pie;\n",
       "\t    };\n",
       "\t    pie.padAngle = function(_) {\n",
       "\t      if (!arguments.length) return padAngle;\n",
       "\t      padAngle = _;\n",
       "\t      return pie;\n",
       "\t    };\n",
       "\t    return pie;\n",
       "\t  };\n",
       "\t  var d3_layout_pieSortByValue = {};\n",
       "\t  d3.layout.stack = function() {\n",
       "\t    var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY;\n",
       "\t    function stack(data, index) {\n",
       "\t      if (!(n = data.length)) return data;\n",
       "\t      var series = data.map(function(d, i) {\n",
       "\t        return values.call(stack, d, i);\n",
       "\t      });\n",
       "\t      var points = series.map(function(d) {\n",
       "\t        return d.map(function(v, i) {\n",
       "\t          return [ x.call(stack, v, i), y.call(stack, v, i) ];\n",
       "\t        });\n",
       "\t      });\n",
       "\t      var orders = order.call(stack, points, index);\n",
       "\t      series = d3.permute(series, orders);\n",
       "\t      points = d3.permute(points, orders);\n",
       "\t      var offsets = offset.call(stack, points, index);\n",
       "\t      var m = series[0].length, n, i, j, o;\n",
       "\t      for (j = 0; j < m; ++j) {\n",
       "\t        out.call(stack, series[0][j], o = offsets[j], points[0][j][1]);\n",
       "\t        for (i = 1; i < n; ++i) {\n",
       "\t          out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return data;\n",
       "\t    }\n",
       "\t    stack.values = function(x) {\n",
       "\t      if (!arguments.length) return values;\n",
       "\t      values = x;\n",
       "\t      return stack;\n",
       "\t    };\n",
       "\t    stack.order = function(x) {\n",
       "\t      if (!arguments.length) return order;\n",
       "\t      order = typeof x === \"function\" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault;\n",
       "\t      return stack;\n",
       "\t    };\n",
       "\t    stack.offset = function(x) {\n",
       "\t      if (!arguments.length) return offset;\n",
       "\t      offset = typeof x === \"function\" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero;\n",
       "\t      return stack;\n",
       "\t    };\n",
       "\t    stack.x = function(z) {\n",
       "\t      if (!arguments.length) return x;\n",
       "\t      x = z;\n",
       "\t      return stack;\n",
       "\t    };\n",
       "\t    stack.y = function(z) {\n",
       "\t      if (!arguments.length) return y;\n",
       "\t      y = z;\n",
       "\t      return stack;\n",
       "\t    };\n",
       "\t    stack.out = function(z) {\n",
       "\t      if (!arguments.length) return out;\n",
       "\t      out = z;\n",
       "\t      return stack;\n",
       "\t    };\n",
       "\t    return stack;\n",
       "\t  };\n",
       "\t  function d3_layout_stackX(d) {\n",
       "\t    return d.x;\n",
       "\t  }\n",
       "\t  function d3_layout_stackY(d) {\n",
       "\t    return d.y;\n",
       "\t  }\n",
       "\t  function d3_layout_stackOut(d, y0, y) {\n",
       "\t    d.y0 = y0;\n",
       "\t    d.y = y;\n",
       "\t  }\n",
       "\t  var d3_layout_stackOrders = d3.map({\n",
       "\t    \"inside-out\": function(data) {\n",
       "\t      var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) {\n",
       "\t        return max[a] - max[b];\n",
       "\t      }), top = 0, bottom = 0, tops = [], bottoms = [];\n",
       "\t      for (i = 0; i < n; ++i) {\n",
       "\t        j = index[i];\n",
       "\t        if (top < bottom) {\n",
       "\t          top += sums[j];\n",
       "\t          tops.push(j);\n",
       "\t        } else {\n",
       "\t          bottom += sums[j];\n",
       "\t          bottoms.push(j);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return bottoms.reverse().concat(tops);\n",
       "\t    },\n",
       "\t    reverse: function(data) {\n",
       "\t      return d3.range(data.length).reverse();\n",
       "\t    },\n",
       "\t    \"default\": d3_layout_stackOrderDefault\n",
       "\t  });\n",
       "\t  var d3_layout_stackOffsets = d3.map({\n",
       "\t    silhouette: function(data) {\n",
       "\t      var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = [];\n",
       "\t      for (j = 0; j < m; ++j) {\n",
       "\t        for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n",
       "\t        if (o > max) max = o;\n",
       "\t        sums.push(o);\n",
       "\t      }\n",
       "\t      for (j = 0; j < m; ++j) {\n",
       "\t        y0[j] = (max - sums[j]) / 2;\n",
       "\t      }\n",
       "\t      return y0;\n",
       "\t    },\n",
       "\t    wiggle: function(data) {\n",
       "\t      var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = [];\n",
       "\t      y0[0] = o = o0 = 0;\n",
       "\t      for (j = 1; j < m; ++j) {\n",
       "\t        for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1];\n",
       "\t        for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) {\n",
       "\t          for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) {\n",
       "\t            s3 += (data[k][j][1] - data[k][j - 1][1]) / dx;\n",
       "\t          }\n",
       "\t          s2 += s3 * data[i][j][1];\n",
       "\t        }\n",
       "\t        y0[j] = o -= s1 ? s2 / s1 * dx : 0;\n",
       "\t        if (o < o0) o0 = o;\n",
       "\t      }\n",
       "\t      for (j = 0; j < m; ++j) y0[j] -= o0;\n",
       "\t      return y0;\n",
       "\t    },\n",
       "\t    expand: function(data) {\n",
       "\t      var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = [];\n",
       "\t      for (j = 0; j < m; ++j) {\n",
       "\t        for (i = 0, o = 0; i < n; i++) o += data[i][j][1];\n",
       "\t        if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k;\n",
       "\t      }\n",
       "\t      for (j = 0; j < m; ++j) y0[j] = 0;\n",
       "\t      return y0;\n",
       "\t    },\n",
       "\t    zero: d3_layout_stackOffsetZero\n",
       "\t  });\n",
       "\t  function d3_layout_stackOrderDefault(data) {\n",
       "\t    return d3.range(data.length);\n",
       "\t  }\n",
       "\t  function d3_layout_stackOffsetZero(data) {\n",
       "\t    var j = -1, m = data[0].length, y0 = [];\n",
       "\t    while (++j < m) y0[j] = 0;\n",
       "\t    return y0;\n",
       "\t  }\n",
       "\t  function d3_layout_stackMaxIndex(array) {\n",
       "\t    var i = 1, j = 0, v = array[0][1], k, n = array.length;\n",
       "\t    for (;i < n; ++i) {\n",
       "\t      if ((k = array[i][1]) > v) {\n",
       "\t        j = i;\n",
       "\t        v = k;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return j;\n",
       "\t  }\n",
       "\t  function d3_layout_stackReduceSum(d) {\n",
       "\t    return d.reduce(d3_layout_stackSum, 0);\n",
       "\t  }\n",
       "\t  function d3_layout_stackSum(p, d) {\n",
       "\t    return p + d[1];\n",
       "\t  }\n",
       "\t  d3.layout.histogram = function() {\n",
       "\t    var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges;\n",
       "\t    function histogram(data, i) {\n",
       "\t      var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x;\n",
       "\t      while (++i < m) {\n",
       "\t        bin = bins[i] = [];\n",
       "\t        bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]);\n",
       "\t        bin.y = 0;\n",
       "\t      }\n",
       "\t      if (m > 0) {\n",
       "\t        i = -1;\n",
       "\t        while (++i < n) {\n",
       "\t          x = values[i];\n",
       "\t          if (x >= range[0] && x <= range[1]) {\n",
       "\t            bin = bins[d3.bisect(thresholds, x, 1, m) - 1];\n",
       "\t            bin.y += k;\n",
       "\t            bin.push(data[i]);\n",
       "\t          }\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return bins;\n",
       "\t    }\n",
       "\t    histogram.value = function(x) {\n",
       "\t      if (!arguments.length) return valuer;\n",
       "\t      valuer = x;\n",
       "\t      return histogram;\n",
       "\t    };\n",
       "\t    histogram.range = function(x) {\n",
       "\t      if (!arguments.length) return ranger;\n",
       "\t      ranger = d3_functor(x);\n",
       "\t      return histogram;\n",
       "\t    };\n",
       "\t    histogram.bins = function(x) {\n",
       "\t      if (!arguments.length) return binner;\n",
       "\t      binner = typeof x === \"number\" ? function(range) {\n",
       "\t        return d3_layout_histogramBinFixed(range, x);\n",
       "\t      } : d3_functor(x);\n",
       "\t      return histogram;\n",
       "\t    };\n",
       "\t    histogram.frequency = function(x) {\n",
       "\t      if (!arguments.length) return frequency;\n",
       "\t      frequency = !!x;\n",
       "\t      return histogram;\n",
       "\t    };\n",
       "\t    return histogram;\n",
       "\t  };\n",
       "\t  function d3_layout_histogramBinSturges(range, values) {\n",
       "\t    return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1));\n",
       "\t  }\n",
       "\t  function d3_layout_histogramBinFixed(range, n) {\n",
       "\t    var x = -1, b = +range[0], m = (range[1] - b) / n, f = [];\n",
       "\t    while (++x <= n) f[x] = m * x + b;\n",
       "\t    return f;\n",
       "\t  }\n",
       "\t  function d3_layout_histogramRange(values) {\n",
       "\t    return [ d3.min(values), d3.max(values) ];\n",
       "\t  }\n",
       "\t  d3.layout.pack = function() {\n",
       "\t    var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius;\n",
       "\t    function pack(d, i) {\n",
       "\t      var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === \"function\" ? radius : function() {\n",
       "\t        return radius;\n",
       "\t      };\n",
       "\t      root.x = root.y = 0;\n",
       "\t      d3_layout_hierarchyVisitAfter(root, function(d) {\n",
       "\t        d.r = +r(d.value);\n",
       "\t      });\n",
       "\t      d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n",
       "\t      if (padding) {\n",
       "\t        var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2;\n",
       "\t        d3_layout_hierarchyVisitAfter(root, function(d) {\n",
       "\t          d.r += dr;\n",
       "\t        });\n",
       "\t        d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);\n",
       "\t        d3_layout_hierarchyVisitAfter(root, function(d) {\n",
       "\t          d.r -= dr;\n",
       "\t        });\n",
       "\t      }\n",
       "\t      d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h));\n",
       "\t      return nodes;\n",
       "\t    }\n",
       "\t    pack.size = function(_) {\n",
       "\t      if (!arguments.length) return size;\n",
       "\t      size = _;\n",
       "\t      return pack;\n",
       "\t    };\n",
       "\t    pack.radius = function(_) {\n",
       "\t      if (!arguments.length) return radius;\n",
       "\t      radius = _ == null || typeof _ === \"function\" ? _ : +_;\n",
       "\t      return pack;\n",
       "\t    };\n",
       "\t    pack.padding = function(_) {\n",
       "\t      if (!arguments.length) return padding;\n",
       "\t      padding = +_;\n",
       "\t      return pack;\n",
       "\t    };\n",
       "\t    return d3_layout_hierarchyRebind(pack, hierarchy);\n",
       "\t  };\n",
       "\t  function d3_layout_packSort(a, b) {\n",
       "\t    return a.value - b.value;\n",
       "\t  }\n",
       "\t  function d3_layout_packInsert(a, b) {\n",
       "\t    var c = a._pack_next;\n",
       "\t    a._pack_next = b;\n",
       "\t    b._pack_prev = a;\n",
       "\t    b._pack_next = c;\n",
       "\t    c._pack_prev = b;\n",
       "\t  }\n",
       "\t  function d3_layout_packSplice(a, b) {\n",
       "\t    a._pack_next = b;\n",
       "\t    b._pack_prev = a;\n",
       "\t  }\n",
       "\t  function d3_layout_packIntersects(a, b) {\n",
       "\t    var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r;\n",
       "\t    return .999 * dr * dr > dx * dx + dy * dy;\n",
       "\t  }\n",
       "\t  function d3_layout_packSiblings(node) {\n",
       "\t    if (!(nodes = node.children) || !(n = nodes.length)) return;\n",
       "\t    var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n;\n",
       "\t    function bound(node) {\n",
       "\t      xMin = Math.min(node.x - node.r, xMin);\n",
       "\t      xMax = Math.max(node.x + node.r, xMax);\n",
       "\t      yMin = Math.min(node.y - node.r, yMin);\n",
       "\t      yMax = Math.max(node.y + node.r, yMax);\n",
       "\t    }\n",
       "\t    nodes.forEach(d3_layout_packLink);\n",
       "\t    a = nodes[0];\n",
       "\t    a.x = -a.r;\n",
       "\t    a.y = 0;\n",
       "\t    bound(a);\n",
       "\t    if (n > 1) {\n",
       "\t      b = nodes[1];\n",
       "\t      b.x = b.r;\n",
       "\t      b.y = 0;\n",
       "\t      bound(b);\n",
       "\t      if (n > 2) {\n",
       "\t        c = nodes[2];\n",
       "\t        d3_layout_packPlace(a, b, c);\n",
       "\t        bound(c);\n",
       "\t        d3_layout_packInsert(a, c);\n",
       "\t        a._pack_prev = c;\n",
       "\t        d3_layout_packInsert(c, b);\n",
       "\t        b = a._pack_next;\n",
       "\t        for (i = 3; i < n; i++) {\n",
       "\t          d3_layout_packPlace(a, b, c = nodes[i]);\n",
       "\t          var isect = 0, s1 = 1, s2 = 1;\n",
       "\t          for (j = b._pack_next; j !== b; j = j._pack_next, s1++) {\n",
       "\t            if (d3_layout_packIntersects(j, c)) {\n",
       "\t              isect = 1;\n",
       "\t              break;\n",
       "\t            }\n",
       "\t          }\n",
       "\t          if (isect == 1) {\n",
       "\t            for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) {\n",
       "\t              if (d3_layout_packIntersects(k, c)) {\n",
       "\t                break;\n",
       "\t              }\n",
       "\t            }\n",
       "\t          }\n",
       "\t          if (isect) {\n",
       "\t            if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b);\n",
       "\t            i--;\n",
       "\t          } else {\n",
       "\t            d3_layout_packInsert(a, c);\n",
       "\t            b = c;\n",
       "\t            bound(c);\n",
       "\t          }\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0;\n",
       "\t    for (i = 0; i < n; i++) {\n",
       "\t      c = nodes[i];\n",
       "\t      c.x -= cx;\n",
       "\t      c.y -= cy;\n",
       "\t      cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y));\n",
       "\t    }\n",
       "\t    node.r = cr;\n",
       "\t    nodes.forEach(d3_layout_packUnlink);\n",
       "\t  }\n",
       "\t  function d3_layout_packLink(node) {\n",
       "\t    node._pack_next = node._pack_prev = node;\n",
       "\t  }\n",
       "\t  function d3_layout_packUnlink(node) {\n",
       "\t    delete node._pack_next;\n",
       "\t    delete node._pack_prev;\n",
       "\t  }\n",
       "\t  function d3_layout_packTransform(node, x, y, k) {\n",
       "\t    var children = node.children;\n",
       "\t    node.x = x += k * node.x;\n",
       "\t    node.y = y += k * node.y;\n",
       "\t    node.r *= k;\n",
       "\t    if (children) {\n",
       "\t      var i = -1, n = children.length;\n",
       "\t      while (++i < n) d3_layout_packTransform(children[i], x, y, k);\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_layout_packPlace(a, b, c) {\n",
       "\t    var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y;\n",
       "\t    if (db && (dx || dy)) {\n",
       "\t      var da = b.r + c.r, dc = dx * dx + dy * dy;\n",
       "\t      da *= da;\n",
       "\t      db *= db;\n",
       "\t      var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc);\n",
       "\t      c.x = a.x + x * dx + y * dy;\n",
       "\t      c.y = a.y + x * dy - y * dx;\n",
       "\t    } else {\n",
       "\t      c.x = a.x + db;\n",
       "\t      c.y = a.y;\n",
       "\t    }\n",
       "\t  }\n",
       "\t  d3.layout.tree = function() {\n",
       "\t    var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null;\n",
       "\t    function tree(d, i) {\n",
       "\t      var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0);\n",
       "\t      d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z;\n",
       "\t      d3_layout_hierarchyVisitBefore(root1, secondWalk);\n",
       "\t      if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else {\n",
       "\t        var left = root0, right = root0, bottom = root0;\n",
       "\t        d3_layout_hierarchyVisitBefore(root0, function(node) {\n",
       "\t          if (node.x < left.x) left = node;\n",
       "\t          if (node.x > right.x) right = node;\n",
       "\t          if (node.depth > bottom.depth) bottom = node;\n",
       "\t        });\n",
       "\t        var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1);\n",
       "\t        d3_layout_hierarchyVisitBefore(root0, function(node) {\n",
       "\t          node.x = (node.x + tx) * kx;\n",
       "\t          node.y = node.depth * ky;\n",
       "\t        });\n",
       "\t      }\n",
       "\t      return nodes;\n",
       "\t    }\n",
       "\t    function wrapTree(root0) {\n",
       "\t      var root1 = {\n",
       "\t        A: null,\n",
       "\t        children: [ root0 ]\n",
       "\t      }, queue = [ root1 ], node1;\n",
       "\t      while ((node1 = queue.pop()) != null) {\n",
       "\t        for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) {\n",
       "\t          queue.push((children[i] = child = {\n",
       "\t            _: children[i],\n",
       "\t            parent: node1,\n",
       "\t            children: (child = children[i].children) && child.slice() || [],\n",
       "\t            A: null,\n",
       "\t            a: null,\n",
       "\t            z: 0,\n",
       "\t            m: 0,\n",
       "\t            c: 0,\n",
       "\t            s: 0,\n",
       "\t            t: null,\n",
       "\t            i: i\n",
       "\t          }).a = child);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return root1.children[0];\n",
       "\t    }\n",
       "\t    function firstWalk(v) {\n",
       "\t      var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null;\n",
       "\t      if (children.length) {\n",
       "\t        d3_layout_treeShift(v);\n",
       "\t        var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n",
       "\t        if (w) {\n",
       "\t          v.z = w.z + separation(v._, w._);\n",
       "\t          v.m = v.z - midpoint;\n",
       "\t        } else {\n",
       "\t          v.z = midpoint;\n",
       "\t        }\n",
       "\t      } else if (w) {\n",
       "\t        v.z = w.z + separation(v._, w._);\n",
       "\t      }\n",
       "\t      v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n",
       "\t    }\n",
       "\t    function secondWalk(v) {\n",
       "\t      v._.x = v.z + v.parent.m;\n",
       "\t      v.m += v.parent.m;\n",
       "\t    }\n",
       "\t    function apportion(v, w, ancestor) {\n",
       "\t      if (w) {\n",
       "\t        var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift;\n",
       "\t        while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) {\n",
       "\t          vom = d3_layout_treeLeft(vom);\n",
       "\t          vop = d3_layout_treeRight(vop);\n",
       "\t          vop.a = v;\n",
       "\t          shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n",
       "\t          if (shift > 0) {\n",
       "\t            d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift);\n",
       "\t            sip += shift;\n",
       "\t            sop += shift;\n",
       "\t          }\n",
       "\t          sim += vim.m;\n",
       "\t          sip += vip.m;\n",
       "\t          som += vom.m;\n",
       "\t          sop += vop.m;\n",
       "\t        }\n",
       "\t        if (vim && !d3_layout_treeRight(vop)) {\n",
       "\t          vop.t = vim;\n",
       "\t          vop.m += sim - sop;\n",
       "\t        }\n",
       "\t        if (vip && !d3_layout_treeLeft(vom)) {\n",
       "\t          vom.t = vip;\n",
       "\t          vom.m += sip - som;\n",
       "\t          ancestor = v;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return ancestor;\n",
       "\t    }\n",
       "\t    function sizeNode(node) {\n",
       "\t      node.x *= size[0];\n",
       "\t      node.y = node.depth * size[1];\n",
       "\t    }\n",
       "\t    tree.separation = function(x) {\n",
       "\t      if (!arguments.length) return separation;\n",
       "\t      separation = x;\n",
       "\t      return tree;\n",
       "\t    };\n",
       "\t    tree.size = function(x) {\n",
       "\t      if (!arguments.length) return nodeSize ? null : size;\n",
       "\t      nodeSize = (size = x) == null ? sizeNode : null;\n",
       "\t      return tree;\n",
       "\t    };\n",
       "\t    tree.nodeSize = function(x) {\n",
       "\t      if (!arguments.length) return nodeSize ? size : null;\n",
       "\t      nodeSize = (size = x) == null ? null : sizeNode;\n",
       "\t      return tree;\n",
       "\t    };\n",
       "\t    return d3_layout_hierarchyRebind(tree, hierarchy);\n",
       "\t  };\n",
       "\t  function d3_layout_treeSeparation(a, b) {\n",
       "\t    return a.parent == b.parent ? 1 : 2;\n",
       "\t  }\n",
       "\t  function d3_layout_treeLeft(v) {\n",
       "\t    var children = v.children;\n",
       "\t    return children.length ? children[0] : v.t;\n",
       "\t  }\n",
       "\t  function d3_layout_treeRight(v) {\n",
       "\t    var children = v.children, n;\n",
       "\t    return (n = children.length) ? children[n - 1] : v.t;\n",
       "\t  }\n",
       "\t  function d3_layout_treeMove(wm, wp, shift) {\n",
       "\t    var change = shift / (wp.i - wm.i);\n",
       "\t    wp.c -= change;\n",
       "\t    wp.s += shift;\n",
       "\t    wm.c += change;\n",
       "\t    wp.z += shift;\n",
       "\t    wp.m += shift;\n",
       "\t  }\n",
       "\t  function d3_layout_treeShift(v) {\n",
       "\t    var shift = 0, change = 0, children = v.children, i = children.length, w;\n",
       "\t    while (--i >= 0) {\n",
       "\t      w = children[i];\n",
       "\t      w.z += shift;\n",
       "\t      w.m += shift;\n",
       "\t      shift += w.s + (change += w.c);\n",
       "\t    }\n",
       "\t  }\n",
       "\t  function d3_layout_treeAncestor(vim, v, ancestor) {\n",
       "\t    return vim.a.parent === v.parent ? vim.a : ancestor;\n",
       "\t  }\n",
       "\t  d3.layout.cluster = function() {\n",
       "\t    var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false;\n",
       "\t    function cluster(d, i) {\n",
       "\t      var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0;\n",
       "\t      d3_layout_hierarchyVisitAfter(root, function(node) {\n",
       "\t        var children = node.children;\n",
       "\t        if (children && children.length) {\n",
       "\t          node.x = d3_layout_clusterX(children);\n",
       "\t          node.y = d3_layout_clusterY(children);\n",
       "\t        } else {\n",
       "\t          node.x = previousNode ? x += separation(node, previousNode) : 0;\n",
       "\t          node.y = 0;\n",
       "\t          previousNode = node;\n",
       "\t        }\n",
       "\t      });\n",
       "\t      var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2;\n",
       "\t      d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) {\n",
       "\t        node.x = (node.x - root.x) * size[0];\n",
       "\t        node.y = (root.y - node.y) * size[1];\n",
       "\t      } : function(node) {\n",
       "\t        node.x = (node.x - x0) / (x1 - x0) * size[0];\n",
       "\t        node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1];\n",
       "\t      });\n",
       "\t      return nodes;\n",
       "\t    }\n",
       "\t    cluster.separation = function(x) {\n",
       "\t      if (!arguments.length) return separation;\n",
       "\t      separation = x;\n",
       "\t      return cluster;\n",
       "\t    };\n",
       "\t    cluster.size = function(x) {\n",
       "\t      if (!arguments.length) return nodeSize ? null : size;\n",
       "\t      nodeSize = (size = x) == null;\n",
       "\t      return cluster;\n",
       "\t    };\n",
       "\t    cluster.nodeSize = function(x) {\n",
       "\t      if (!arguments.length) return nodeSize ? size : null;\n",
       "\t      nodeSize = (size = x) != null;\n",
       "\t      return cluster;\n",
       "\t    };\n",
       "\t    return d3_layout_hierarchyRebind(cluster, hierarchy);\n",
       "\t  };\n",
       "\t  function d3_layout_clusterY(children) {\n",
       "\t    return 1 + d3.max(children, function(child) {\n",
       "\t      return child.y;\n",
       "\t    });\n",
       "\t  }\n",
       "\t  function d3_layout_clusterX(children) {\n",
       "\t    return children.reduce(function(x, child) {\n",
       "\t      return x + child.x;\n",
       "\t    }, 0) / children.length;\n",
       "\t  }\n",
       "\t  function d3_layout_clusterLeft(node) {\n",
       "\t    var children = node.children;\n",
       "\t    return children && children.length ? d3_layout_clusterLeft(children[0]) : node;\n",
       "\t  }\n",
       "\t  function d3_layout_clusterRight(node) {\n",
       "\t    var children = node.children, n;\n",
       "\t    return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node;\n",
       "\t  }\n",
       "\t  d3.layout.treemap = function() {\n",
       "\t    var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = \"squarify\", ratio = .5 * (1 + Math.sqrt(5));\n",
       "\t    function scale(children, k) {\n",
       "\t      var i = -1, n = children.length, child, area;\n",
       "\t      while (++i < n) {\n",
       "\t        area = (child = children[i]).value * (k < 0 ? 0 : k);\n",
       "\t        child.area = isNaN(area) || area <= 0 ? 0 : area;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    function squarify(node) {\n",
       "\t      var children = node.children;\n",
       "\t      if (children && children.length) {\n",
       "\t        var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === \"slice\" ? rect.dx : mode === \"dice\" ? rect.dy : mode === \"slice-dice\" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n;\n",
       "\t        scale(remaining, rect.dx * rect.dy / node.value);\n",
       "\t        row.area = 0;\n",
       "\t        while ((n = remaining.length) > 0) {\n",
       "\t          row.push(child = remaining[n - 1]);\n",
       "\t          row.area += child.area;\n",
       "\t          if (mode !== \"squarify\" || (score = worst(row, u)) <= best) {\n",
       "\t            remaining.pop();\n",
       "\t            best = score;\n",
       "\t          } else {\n",
       "\t            row.area -= row.pop().area;\n",
       "\t            position(row, u, rect, false);\n",
       "\t            u = Math.min(rect.dx, rect.dy);\n",
       "\t            row.length = row.area = 0;\n",
       "\t            best = Infinity;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        if (row.length) {\n",
       "\t          position(row, u, rect, true);\n",
       "\t          row.length = row.area = 0;\n",
       "\t        }\n",
       "\t        children.forEach(squarify);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    function stickify(node) {\n",
       "\t      var children = node.children;\n",
       "\t      if (children && children.length) {\n",
       "\t        var rect = pad(node), remaining = children.slice(), child, row = [];\n",
       "\t        scale(remaining, rect.dx * rect.dy / node.value);\n",
       "\t        row.area = 0;\n",
       "\t        while (child = remaining.pop()) {\n",
       "\t          row.push(child);\n",
       "\t          row.area += child.area;\n",
       "\t          if (child.z != null) {\n",
       "\t            position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length);\n",
       "\t            row.length = row.area = 0;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        children.forEach(stickify);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    function worst(row, u) {\n",
       "\t      var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length;\n",
       "\t      while (++i < n) {\n",
       "\t        if (!(r = row[i].area)) continue;\n",
       "\t        if (r < rmin) rmin = r;\n",
       "\t        if (r > rmax) rmax = r;\n",
       "\t      }\n",
       "\t      s *= s;\n",
       "\t      u *= u;\n",
       "\t      return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity;\n",
       "\t    }\n",
       "\t    function position(row, u, rect, flush) {\n",
       "\t      var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o;\n",
       "\t      if (u == rect.dx) {\n",
       "\t        if (flush || v > rect.dy) v = rect.dy;\n",
       "\t        while (++i < n) {\n",
       "\t          o = row[i];\n",
       "\t          o.x = x;\n",
       "\t          o.y = y;\n",
       "\t          o.dy = v;\n",
       "\t          x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0);\n",
       "\t        }\n",
       "\t        o.z = true;\n",
       "\t        o.dx += rect.x + rect.dx - x;\n",
       "\t        rect.y += v;\n",
       "\t        rect.dy -= v;\n",
       "\t      } else {\n",
       "\t        if (flush || v > rect.dx) v = rect.dx;\n",
       "\t        while (++i < n) {\n",
       "\t          o = row[i];\n",
       "\t          o.x = x;\n",
       "\t          o.y = y;\n",
       "\t          o.dx = v;\n",
       "\t          y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0);\n",
       "\t        }\n",
       "\t        o.z = false;\n",
       "\t        o.dy += rect.y + rect.dy - y;\n",
       "\t        rect.x += v;\n",
       "\t        rect.dx -= v;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    function treemap(d) {\n",
       "\t      var nodes = stickies || hierarchy(d), root = nodes[0];\n",
       "\t      root.x = root.y = 0;\n",
       "\t      if (root.value) root.dx = size[0], root.dy = size[1]; else root.dx = root.dy = 0;\n",
       "\t      if (stickies) hierarchy.revalue(root);\n",
       "\t      scale([ root ], root.dx * root.dy / root.value);\n",
       "\t      (stickies ? stickify : squarify)(root);\n",
       "\t      if (sticky) stickies = nodes;\n",
       "\t      return nodes;\n",
       "\t    }\n",
       "\t    treemap.size = function(x) {\n",
       "\t      if (!arguments.length) return size;\n",
       "\t      size = x;\n",
       "\t      return treemap;\n",
       "\t    };\n",
       "\t    treemap.padding = function(x) {\n",
       "\t      if (!arguments.length) return padding;\n",
       "\t      function padFunction(node) {\n",
       "\t        var p = x.call(treemap, node, node.depth);\n",
       "\t        return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === \"number\" ? [ p, p, p, p ] : p);\n",
       "\t      }\n",
       "\t      function padConstant(node) {\n",
       "\t        return d3_layout_treemapPad(node, x);\n",
       "\t      }\n",
       "\t      var type;\n",
       "\t      pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === \"function\" ? padFunction : type === \"number\" ? (x = [ x, x, x, x ], \n",
       "\t      padConstant) : padConstant;\n",
       "\t      return treemap;\n",
       "\t    };\n",
       "\t    treemap.round = function(x) {\n",
       "\t      if (!arguments.length) return round != Number;\n",
       "\t      round = x ? Math.round : Number;\n",
       "\t      return treemap;\n",
       "\t    };\n",
       "\t    treemap.sticky = function(x) {\n",
       "\t      if (!arguments.length) return sticky;\n",
       "\t      sticky = x;\n",
       "\t      stickies = null;\n",
       "\t      return treemap;\n",
       "\t    };\n",
       "\t    treemap.ratio = function(x) {\n",
       "\t      if (!arguments.length) return ratio;\n",
       "\t      ratio = x;\n",
       "\t      return treemap;\n",
       "\t    };\n",
       "\t    treemap.mode = function(x) {\n",
       "\t      if (!arguments.length) return mode;\n",
       "\t      mode = x + \"\";\n",
       "\t      return treemap;\n",
       "\t    };\n",
       "\t    return d3_layout_hierarchyRebind(treemap, hierarchy);\n",
       "\t  };\n",
       "\t  function d3_layout_treemapPadNull(node) {\n",
       "\t    return {\n",
       "\t      x: node.x,\n",
       "\t      y: node.y,\n",
       "\t      dx: node.dx,\n",
       "\t      dy: node.dy\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_layout_treemapPad(node, padding) {\n",
       "\t    var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2];\n",
       "\t    if (dx < 0) {\n",
       "\t      x += dx / 2;\n",
       "\t      dx = 0;\n",
       "\t    }\n",
       "\t    if (dy < 0) {\n",
       "\t      y += dy / 2;\n",
       "\t      dy = 0;\n",
       "\t    }\n",
       "\t    return {\n",
       "\t      x: x,\n",
       "\t      y: y,\n",
       "\t      dx: dx,\n",
       "\t      dy: dy\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.random = {\n",
       "\t    normal: function(µ, σ) {\n",
       "\t      var n = arguments.length;\n",
       "\t      if (n < 2) σ = 1;\n",
       "\t      if (n < 1) µ = 0;\n",
       "\t      return function() {\n",
       "\t        var x, y, r;\n",
       "\t        do {\n",
       "\t          x = Math.random() * 2 - 1;\n",
       "\t          y = Math.random() * 2 - 1;\n",
       "\t          r = x * x + y * y;\n",
       "\t        } while (!r || r > 1);\n",
       "\t        return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r);\n",
       "\t      };\n",
       "\t    },\n",
       "\t    logNormal: function() {\n",
       "\t      var random = d3.random.normal.apply(d3, arguments);\n",
       "\t      return function() {\n",
       "\t        return Math.exp(random());\n",
       "\t      };\n",
       "\t    },\n",
       "\t    bates: function(m) {\n",
       "\t      var random = d3.random.irwinHall(m);\n",
       "\t      return function() {\n",
       "\t        return random() / m;\n",
       "\t      };\n",
       "\t    },\n",
       "\t    irwinHall: function(m) {\n",
       "\t      return function() {\n",
       "\t        for (var s = 0, j = 0; j < m; j++) s += Math.random();\n",
       "\t        return s;\n",
       "\t      };\n",
       "\t    }\n",
       "\t  };\n",
       "\t  d3.scale = {};\n",
       "\t  function d3_scaleExtent(domain) {\n",
       "\t    var start = domain[0], stop = domain[domain.length - 1];\n",
       "\t    return start < stop ? [ start, stop ] : [ stop, start ];\n",
       "\t  }\n",
       "\t  function d3_scaleRange(scale) {\n",
       "\t    return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range());\n",
       "\t  }\n",
       "\t  function d3_scale_bilinear(domain, range, uninterpolate, interpolate) {\n",
       "\t    var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]);\n",
       "\t    return function(x) {\n",
       "\t      return i(u(x));\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_scale_nice(domain, nice) {\n",
       "\t    var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx;\n",
       "\t    if (x1 < x0) {\n",
       "\t      dx = i0, i0 = i1, i1 = dx;\n",
       "\t      dx = x0, x0 = x1, x1 = dx;\n",
       "\t    }\n",
       "\t    domain[i0] = nice.floor(x0);\n",
       "\t    domain[i1] = nice.ceil(x1);\n",
       "\t    return domain;\n",
       "\t  }\n",
       "\t  function d3_scale_niceStep(step) {\n",
       "\t    return step ? {\n",
       "\t      floor: function(x) {\n",
       "\t        return Math.floor(x / step) * step;\n",
       "\t      },\n",
       "\t      ceil: function(x) {\n",
       "\t        return Math.ceil(x / step) * step;\n",
       "\t      }\n",
       "\t    } : d3_scale_niceIdentity;\n",
       "\t  }\n",
       "\t  var d3_scale_niceIdentity = {\n",
       "\t    floor: d3_identity,\n",
       "\t    ceil: d3_identity\n",
       "\t  };\n",
       "\t  function d3_scale_polylinear(domain, range, uninterpolate, interpolate) {\n",
       "\t    var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1;\n",
       "\t    if (domain[k] < domain[0]) {\n",
       "\t      domain = domain.slice().reverse();\n",
       "\t      range = range.slice().reverse();\n",
       "\t    }\n",
       "\t    while (++j <= k) {\n",
       "\t      u.push(uninterpolate(domain[j - 1], domain[j]));\n",
       "\t      i.push(interpolate(range[j - 1], range[j]));\n",
       "\t    }\n",
       "\t    return function(x) {\n",
       "\t      var j = d3.bisect(domain, x, 1, k) - 1;\n",
       "\t      return i[j](u[j](x));\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.scale.linear = function() {\n",
       "\t    return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false);\n",
       "\t  };\n",
       "\t  function d3_scale_linear(domain, range, interpolate, clamp) {\n",
       "\t    var output, input;\n",
       "\t    function rescale() {\n",
       "\t      var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber;\n",
       "\t      output = linear(domain, range, uninterpolate, interpolate);\n",
       "\t      input = linear(range, domain, uninterpolate, d3_interpolate);\n",
       "\t      return scale;\n",
       "\t    }\n",
       "\t    function scale(x) {\n",
       "\t      return output(x);\n",
       "\t    }\n",
       "\t    scale.invert = function(y) {\n",
       "\t      return input(y);\n",
       "\t    };\n",
       "\t    scale.domain = function(x) {\n",
       "\t      if (!arguments.length) return domain;\n",
       "\t      domain = x.map(Number);\n",
       "\t      return rescale();\n",
       "\t    };\n",
       "\t    scale.range = function(x) {\n",
       "\t      if (!arguments.length) return range;\n",
       "\t      range = x;\n",
       "\t      return rescale();\n",
       "\t    };\n",
       "\t    scale.rangeRound = function(x) {\n",
       "\t      return scale.range(x).interpolate(d3_interpolateRound);\n",
       "\t    };\n",
       "\t    scale.clamp = function(x) {\n",
       "\t      if (!arguments.length) return clamp;\n",
       "\t      clamp = x;\n",
       "\t      return rescale();\n",
       "\t    };\n",
       "\t    scale.interpolate = function(x) {\n",
       "\t      if (!arguments.length) return interpolate;\n",
       "\t      interpolate = x;\n",
       "\t      return rescale();\n",
       "\t    };\n",
       "\t    scale.ticks = function(m) {\n",
       "\t      return d3_scale_linearTicks(domain, m);\n",
       "\t    };\n",
       "\t    scale.tickFormat = function(m, format) {\n",
       "\t      return d3_scale_linearTickFormat(domain, m, format);\n",
       "\t    };\n",
       "\t    scale.nice = function(m) {\n",
       "\t      d3_scale_linearNice(domain, m);\n",
       "\t      return rescale();\n",
       "\t    };\n",
       "\t    scale.copy = function() {\n",
       "\t      return d3_scale_linear(domain, range, interpolate, clamp);\n",
       "\t    };\n",
       "\t    return rescale();\n",
       "\t  }\n",
       "\t  function d3_scale_linearRebind(scale, linear) {\n",
       "\t    return d3.rebind(scale, linear, \"range\", \"rangeRound\", \"interpolate\", \"clamp\");\n",
       "\t  }\n",
       "\t  function d3_scale_linearNice(domain, m) {\n",
       "\t    d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n",
       "\t    d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));\n",
       "\t    return domain;\n",
       "\t  }\n",
       "\t  function d3_scale_linearTickRange(domain, m) {\n",
       "\t    if (m == null) m = 10;\n",
       "\t    var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step;\n",
       "\t    if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2;\n",
       "\t    extent[0] = Math.ceil(extent[0] / step) * step;\n",
       "\t    extent[1] = Math.floor(extent[1] / step) * step + step * .5;\n",
       "\t    extent[2] = step;\n",
       "\t    return extent;\n",
       "\t  }\n",
       "\t  function d3_scale_linearTicks(domain, m) {\n",
       "\t    return d3.range.apply(d3, d3_scale_linearTickRange(domain, m));\n",
       "\t  }\n",
       "\t  function d3_scale_linearTickFormat(domain, m, format) {\n",
       "\t    var range = d3_scale_linearTickRange(domain, m);\n",
       "\t    if (format) {\n",
       "\t      var match = d3_format_re.exec(format);\n",
       "\t      match.shift();\n",
       "\t      if (match[8] === \"s\") {\n",
       "\t        var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1])));\n",
       "\t        if (!match[7]) match[7] = \".\" + d3_scale_linearPrecision(prefix.scale(range[2]));\n",
       "\t        match[8] = \"f\";\n",
       "\t        format = d3.format(match.join(\"\"));\n",
       "\t        return function(d) {\n",
       "\t          return format(prefix.scale(d)) + prefix.symbol;\n",
       "\t        };\n",
       "\t      }\n",
       "\t      if (!match[7]) match[7] = \".\" + d3_scale_linearFormatPrecision(match[8], range);\n",
       "\t      format = match.join(\"\");\n",
       "\t    } else {\n",
       "\t      format = \",.\" + d3_scale_linearPrecision(range[2]) + \"f\";\n",
       "\t    }\n",
       "\t    return d3.format(format);\n",
       "\t  }\n",
       "\t  var d3_scale_linearFormatSignificant = {\n",
       "\t    s: 1,\n",
       "\t    g: 1,\n",
       "\t    p: 1,\n",
       "\t    r: 1,\n",
       "\t    e: 1\n",
       "\t  };\n",
       "\t  function d3_scale_linearPrecision(value) {\n",
       "\t    return -Math.floor(Math.log(value) / Math.LN10 + .01);\n",
       "\t  }\n",
       "\t  function d3_scale_linearFormatPrecision(type, range) {\n",
       "\t    var p = d3_scale_linearPrecision(range[2]);\n",
       "\t    return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== \"e\") : p - (type === \"%\") * 2;\n",
       "\t  }\n",
       "\t  d3.scale.log = function() {\n",
       "\t    return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]);\n",
       "\t  };\n",
       "\t  function d3_scale_log(linear, base, positive, domain) {\n",
       "\t    function log(x) {\n",
       "\t      return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base);\n",
       "\t    }\n",
       "\t    function pow(x) {\n",
       "\t      return positive ? Math.pow(base, x) : -Math.pow(base, -x);\n",
       "\t    }\n",
       "\t    function scale(x) {\n",
       "\t      return linear(log(x));\n",
       "\t    }\n",
       "\t    scale.invert = function(x) {\n",
       "\t      return pow(linear.invert(x));\n",
       "\t    };\n",
       "\t    scale.domain = function(x) {\n",
       "\t      if (!arguments.length) return domain;\n",
       "\t      positive = x[0] >= 0;\n",
       "\t      linear.domain((domain = x.map(Number)).map(log));\n",
       "\t      return scale;\n",
       "\t    };\n",
       "\t    scale.base = function(_) {\n",
       "\t      if (!arguments.length) return base;\n",
       "\t      base = +_;\n",
       "\t      linear.domain(domain.map(log));\n",
       "\t      return scale;\n",
       "\t    };\n",
       "\t    scale.nice = function() {\n",
       "\t      var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative);\n",
       "\t      linear.domain(niced);\n",
       "\t      domain = niced.map(pow);\n",
       "\t      return scale;\n",
       "\t    };\n",
       "\t    scale.ticks = function() {\n",
       "\t      var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base;\n",
       "\t      if (isFinite(j - i)) {\n",
       "\t        if (positive) {\n",
       "\t          for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k);\n",
       "\t          ticks.push(pow(i));\n",
       "\t        } else {\n",
       "\t          ticks.push(pow(i));\n",
       "\t          for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k);\n",
       "\t        }\n",
       "\t        for (i = 0; ticks[i] < u; i++) {}\n",
       "\t        for (j = ticks.length; ticks[j - 1] > v; j--) {}\n",
       "\t        ticks = ticks.slice(i, j);\n",
       "\t      }\n",
       "\t      return ticks;\n",
       "\t    };\n",
       "\t    scale.tickFormat = function(n, format) {\n",
       "\t      if (!arguments.length) return d3_scale_logFormat;\n",
       "\t      if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== \"function\") format = d3.format(format);\n",
       "\t      var k = Math.max(1, base * n / scale.ticks().length);\n",
       "\t      return function(d) {\n",
       "\t        var i = d / pow(Math.round(log(d)));\n",
       "\t        if (i * base < base - .5) i *= base;\n",
       "\t        return i <= k ? format(d) : \"\";\n",
       "\t      };\n",
       "\t    };\n",
       "\t    scale.copy = function() {\n",
       "\t      return d3_scale_log(linear.copy(), base, positive, domain);\n",
       "\t    };\n",
       "\t    return d3_scale_linearRebind(scale, linear);\n",
       "\t  }\n",
       "\t  var d3_scale_logFormat = d3.format(\".0e\"), d3_scale_logNiceNegative = {\n",
       "\t    floor: function(x) {\n",
       "\t      return -Math.ceil(-x);\n",
       "\t    },\n",
       "\t    ceil: function(x) {\n",
       "\t      return -Math.floor(-x);\n",
       "\t    }\n",
       "\t  };\n",
       "\t  d3.scale.pow = function() {\n",
       "\t    return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]);\n",
       "\t  };\n",
       "\t  function d3_scale_pow(linear, exponent, domain) {\n",
       "\t    var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent);\n",
       "\t    function scale(x) {\n",
       "\t      return linear(powp(x));\n",
       "\t    }\n",
       "\t    scale.invert = function(x) {\n",
       "\t      return powb(linear.invert(x));\n",
       "\t    };\n",
       "\t    scale.domain = function(x) {\n",
       "\t      if (!arguments.length) return domain;\n",
       "\t      linear.domain((domain = x.map(Number)).map(powp));\n",
       "\t      return scale;\n",
       "\t    };\n",
       "\t    scale.ticks = function(m) {\n",
       "\t      return d3_scale_linearTicks(domain, m);\n",
       "\t    };\n",
       "\t    scale.tickFormat = function(m, format) {\n",
       "\t      return d3_scale_linearTickFormat(domain, m, format);\n",
       "\t    };\n",
       "\t    scale.nice = function(m) {\n",
       "\t      return scale.domain(d3_scale_linearNice(domain, m));\n",
       "\t    };\n",
       "\t    scale.exponent = function(x) {\n",
       "\t      if (!arguments.length) return exponent;\n",
       "\t      powp = d3_scale_powPow(exponent = x);\n",
       "\t      powb = d3_scale_powPow(1 / exponent);\n",
       "\t      linear.domain(domain.map(powp));\n",
       "\t      return scale;\n",
       "\t    };\n",
       "\t    scale.copy = function() {\n",
       "\t      return d3_scale_pow(linear.copy(), exponent, domain);\n",
       "\t    };\n",
       "\t    return d3_scale_linearRebind(scale, linear);\n",
       "\t  }\n",
       "\t  function d3_scale_powPow(e) {\n",
       "\t    return function(x) {\n",
       "\t      return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.scale.sqrt = function() {\n",
       "\t    return d3.scale.pow().exponent(.5);\n",
       "\t  };\n",
       "\t  d3.scale.ordinal = function() {\n",
       "\t    return d3_scale_ordinal([], {\n",
       "\t      t: \"range\",\n",
       "\t      a: [ [] ]\n",
       "\t    });\n",
       "\t  };\n",
       "\t  function d3_scale_ordinal(domain, ranger) {\n",
       "\t    var index, range, rangeBand;\n",
       "\t    function scale(x) {\n",
       "\t      return range[((index.get(x) || (ranger.t === \"range\" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length];\n",
       "\t    }\n",
       "\t    function steps(start, step) {\n",
       "\t      return d3.range(domain.length).map(function(i) {\n",
       "\t        return start + step * i;\n",
       "\t      });\n",
       "\t    }\n",
       "\t    scale.domain = function(x) {\n",
       "\t      if (!arguments.length) return domain;\n",
       "\t      domain = [];\n",
       "\t      index = new d3_Map();\n",
       "\t      var i = -1, n = x.length, xi;\n",
       "\t      while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi));\n",
       "\t      return scale[ranger.t].apply(scale, ranger.a);\n",
       "\t    };\n",
       "\t    scale.range = function(x) {\n",
       "\t      if (!arguments.length) return range;\n",
       "\t      range = x;\n",
       "\t      rangeBand = 0;\n",
       "\t      ranger = {\n",
       "\t        t: \"range\",\n",
       "\t        a: arguments\n",
       "\t      };\n",
       "\t      return scale;\n",
       "\t    };\n",
       "\t    scale.rangePoints = function(x, padding) {\n",
       "\t      if (arguments.length < 2) padding = 0;\n",
       "\t      var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, \n",
       "\t      0) : (stop - start) / (domain.length - 1 + padding);\n",
       "\t      range = steps(start + step * padding / 2, step);\n",
       "\t      rangeBand = 0;\n",
       "\t      ranger = {\n",
       "\t        t: \"rangePoints\",\n",
       "\t        a: arguments\n",
       "\t      };\n",
       "\t      return scale;\n",
       "\t    };\n",
       "\t    scale.rangeRoundPoints = function(x, padding) {\n",
       "\t      if (arguments.length < 2) padding = 0;\n",
       "\t      var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), \n",
       "\t      0) : (stop - start) / (domain.length - 1 + padding) | 0;\n",
       "\t      range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step);\n",
       "\t      rangeBand = 0;\n",
       "\t      ranger = {\n",
       "\t        t: \"rangeRoundPoints\",\n",
       "\t        a: arguments\n",
       "\t      };\n",
       "\t      return scale;\n",
       "\t    };\n",
       "\t    scale.rangeBands = function(x, padding, outerPadding) {\n",
       "\t      if (arguments.length < 2) padding = 0;\n",
       "\t      if (arguments.length < 3) outerPadding = padding;\n",
       "\t      var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding);\n",
       "\t      range = steps(start + step * outerPadding, step);\n",
       "\t      if (reverse) range.reverse();\n",
       "\t      rangeBand = step * (1 - padding);\n",
       "\t      ranger = {\n",
       "\t        t: \"rangeBands\",\n",
       "\t        a: arguments\n",
       "\t      };\n",
       "\t      return scale;\n",
       "\t    };\n",
       "\t    scale.rangeRoundBands = function(x, padding, outerPadding) {\n",
       "\t      if (arguments.length < 2) padding = 0;\n",
       "\t      if (arguments.length < 3) outerPadding = padding;\n",
       "\t      var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding));\n",
       "\t      range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step);\n",
       "\t      if (reverse) range.reverse();\n",
       "\t      rangeBand = Math.round(step * (1 - padding));\n",
       "\t      ranger = {\n",
       "\t        t: \"rangeRoundBands\",\n",
       "\t        a: arguments\n",
       "\t      };\n",
       "\t      return scale;\n",
       "\t    };\n",
       "\t    scale.rangeBand = function() {\n",
       "\t      return rangeBand;\n",
       "\t    };\n",
       "\t    scale.rangeExtent = function() {\n",
       "\t      return d3_scaleExtent(ranger.a[0]);\n",
       "\t    };\n",
       "\t    scale.copy = function() {\n",
       "\t      return d3_scale_ordinal(domain, ranger);\n",
       "\t    };\n",
       "\t    return scale.domain(domain);\n",
       "\t  }\n",
       "\t  d3.scale.category10 = function() {\n",
       "\t    return d3.scale.ordinal().range(d3_category10);\n",
       "\t  };\n",
       "\t  d3.scale.category20 = function() {\n",
       "\t    return d3.scale.ordinal().range(d3_category20);\n",
       "\t  };\n",
       "\t  d3.scale.category20b = function() {\n",
       "\t    return d3.scale.ordinal().range(d3_category20b);\n",
       "\t  };\n",
       "\t  d3.scale.category20c = function() {\n",
       "\t    return d3.scale.ordinal().range(d3_category20c);\n",
       "\t  };\n",
       "\t  var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString);\n",
       "\t  var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString);\n",
       "\t  var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString);\n",
       "\t  var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString);\n",
       "\t  d3.scale.quantile = function() {\n",
       "\t    return d3_scale_quantile([], []);\n",
       "\t  };\n",
       "\t  function d3_scale_quantile(domain, range) {\n",
       "\t    var thresholds;\n",
       "\t    function rescale() {\n",
       "\t      var k = 0, q = range.length;\n",
       "\t      thresholds = [];\n",
       "\t      while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q);\n",
       "\t      return scale;\n",
       "\t    }\n",
       "\t    function scale(x) {\n",
       "\t      if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)];\n",
       "\t    }\n",
       "\t    scale.domain = function(x) {\n",
       "\t      if (!arguments.length) return domain;\n",
       "\t      domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending);\n",
       "\t      return rescale();\n",
       "\t    };\n",
       "\t    scale.range = function(x) {\n",
       "\t      if (!arguments.length) return range;\n",
       "\t      range = x;\n",
       "\t      return rescale();\n",
       "\t    };\n",
       "\t    scale.quantiles = function() {\n",
       "\t      return thresholds;\n",
       "\t    };\n",
       "\t    scale.invertExtent = function(y) {\n",
       "\t      y = range.indexOf(y);\n",
       "\t      return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ];\n",
       "\t    };\n",
       "\t    scale.copy = function() {\n",
       "\t      return d3_scale_quantile(domain, range);\n",
       "\t    };\n",
       "\t    return rescale();\n",
       "\t  }\n",
       "\t  d3.scale.quantize = function() {\n",
       "\t    return d3_scale_quantize(0, 1, [ 0, 1 ]);\n",
       "\t  };\n",
       "\t  function d3_scale_quantize(x0, x1, range) {\n",
       "\t    var kx, i;\n",
       "\t    function scale(x) {\n",
       "\t      return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))];\n",
       "\t    }\n",
       "\t    function rescale() {\n",
       "\t      kx = range.length / (x1 - x0);\n",
       "\t      i = range.length - 1;\n",
       "\t      return scale;\n",
       "\t    }\n",
       "\t    scale.domain = function(x) {\n",
       "\t      if (!arguments.length) return [ x0, x1 ];\n",
       "\t      x0 = +x[0];\n",
       "\t      x1 = +x[x.length - 1];\n",
       "\t      return rescale();\n",
       "\t    };\n",
       "\t    scale.range = function(x) {\n",
       "\t      if (!arguments.length) return range;\n",
       "\t      range = x;\n",
       "\t      return rescale();\n",
       "\t    };\n",
       "\t    scale.invertExtent = function(y) {\n",
       "\t      y = range.indexOf(y);\n",
       "\t      y = y < 0 ? NaN : y / kx + x0;\n",
       "\t      return [ y, y + 1 / kx ];\n",
       "\t    };\n",
       "\t    scale.copy = function() {\n",
       "\t      return d3_scale_quantize(x0, x1, range);\n",
       "\t    };\n",
       "\t    return rescale();\n",
       "\t  }\n",
       "\t  d3.scale.threshold = function() {\n",
       "\t    return d3_scale_threshold([ .5 ], [ 0, 1 ]);\n",
       "\t  };\n",
       "\t  function d3_scale_threshold(domain, range) {\n",
       "\t    function scale(x) {\n",
       "\t      if (x <= x) return range[d3.bisect(domain, x)];\n",
       "\t    }\n",
       "\t    scale.domain = function(_) {\n",
       "\t      if (!arguments.length) return domain;\n",
       "\t      domain = _;\n",
       "\t      return scale;\n",
       "\t    };\n",
       "\t    scale.range = function(_) {\n",
       "\t      if (!arguments.length) return range;\n",
       "\t      range = _;\n",
       "\t      return scale;\n",
       "\t    };\n",
       "\t    scale.invertExtent = function(y) {\n",
       "\t      y = range.indexOf(y);\n",
       "\t      return [ domain[y - 1], domain[y] ];\n",
       "\t    };\n",
       "\t    scale.copy = function() {\n",
       "\t      return d3_scale_threshold(domain, range);\n",
       "\t    };\n",
       "\t    return scale;\n",
       "\t  }\n",
       "\t  d3.scale.identity = function() {\n",
       "\t    return d3_scale_identity([ 0, 1 ]);\n",
       "\t  };\n",
       "\t  function d3_scale_identity(domain) {\n",
       "\t    function identity(x) {\n",
       "\t      return +x;\n",
       "\t    }\n",
       "\t    identity.invert = identity;\n",
       "\t    identity.domain = identity.range = function(x) {\n",
       "\t      if (!arguments.length) return domain;\n",
       "\t      domain = x.map(identity);\n",
       "\t      return identity;\n",
       "\t    };\n",
       "\t    identity.ticks = function(m) {\n",
       "\t      return d3_scale_linearTicks(domain, m);\n",
       "\t    };\n",
       "\t    identity.tickFormat = function(m, format) {\n",
       "\t      return d3_scale_linearTickFormat(domain, m, format);\n",
       "\t    };\n",
       "\t    identity.copy = function() {\n",
       "\t      return d3_scale_identity(domain);\n",
       "\t    };\n",
       "\t    return identity;\n",
       "\t  }\n",
       "\t  d3.svg = {};\n",
       "\t  function d3_zero() {\n",
       "\t    return 0;\n",
       "\t  }\n",
       "\t  d3.svg.arc = function() {\n",
       "\t    var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle;\n",
       "\t    function arc() {\n",
       "\t      var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1;\n",
       "\t      if (r1 < r0) rc = r1, r1 = r0, r0 = rc;\n",
       "\t      if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : \"\") + \"Z\";\n",
       "\t      var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = [];\n",
       "\t      if (ap = (+padAngle.apply(this, arguments) || 0) / 2) {\n",
       "\t        rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments);\n",
       "\t        if (!cw) p1 *= -1;\n",
       "\t        if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap));\n",
       "\t        if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap));\n",
       "\t      }\n",
       "\t      if (r1) {\n",
       "\t        x0 = r1 * Math.cos(a0 + p1);\n",
       "\t        y0 = r1 * Math.sin(a0 + p1);\n",
       "\t        x1 = r1 * Math.cos(a1 - p1);\n",
       "\t        y1 = r1 * Math.sin(a1 - p1);\n",
       "\t        var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1;\n",
       "\t        if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) {\n",
       "\t          var h1 = (a0 + a1) / 2;\n",
       "\t          x0 = r1 * Math.cos(h1);\n",
       "\t          y0 = r1 * Math.sin(h1);\n",
       "\t          x1 = y1 = null;\n",
       "\t        }\n",
       "\t      } else {\n",
       "\t        x0 = y0 = 0;\n",
       "\t      }\n",
       "\t      if (r0) {\n",
       "\t        x2 = r0 * Math.cos(a1 - p0);\n",
       "\t        y2 = r0 * Math.sin(a1 - p0);\n",
       "\t        x3 = r0 * Math.cos(a0 + p0);\n",
       "\t        y3 = r0 * Math.sin(a0 + p0);\n",
       "\t        var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1;\n",
       "\t        if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) {\n",
       "\t          var h0 = (a0 + a1) / 2;\n",
       "\t          x2 = r0 * Math.cos(h0);\n",
       "\t          y2 = r0 * Math.sin(h0);\n",
       "\t          x3 = y3 = null;\n",
       "\t        }\n",
       "\t      } else {\n",
       "\t        x2 = y2 = 0;\n",
       "\t      }\n",
       "\t      if (da > ε && (rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) {\n",
       "\t        cr = r0 < r1 ^ cw ? 0 : 1;\n",
       "\t        var rc1 = rc, rc0 = rc;\n",
       "\t        if (da < π) {\n",
       "\t          var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n",
       "\t          rc0 = Math.min(rc, (r0 - lc) / (kc - 1));\n",
       "\t          rc1 = Math.min(rc, (r1 - lc) / (kc + 1));\n",
       "\t        }\n",
       "\t        if (x1 != null) {\n",
       "\t          var t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw);\n",
       "\t          if (rc === rc1) {\n",
       "\t            path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t30[1], \"A\", r1, \",\", r1, \" 0 \", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), \",\", cw, \" \", t12[1], \"A\", rc1, \",\", rc1, \" 0 0,\", cr, \" \", t12[0]);\n",
       "\t          } else {\n",
       "\t            path.push(\"M\", t30[0], \"A\", rc1, \",\", rc1, \" 0 1,\", cr, \" \", t12[0]);\n",
       "\t          }\n",
       "\t        } else {\n",
       "\t          path.push(\"M\", x0, \",\", y0);\n",
       "\t        }\n",
       "\t        if (x3 != null) {\n",
       "\t          var t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw);\n",
       "\t          if (rc === rc0) {\n",
       "\t            path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t21[1], \"A\", r0, \",\", r0, \" 0 \", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), \",\", 1 - cw, \" \", t03[1], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n",
       "\t          } else {\n",
       "\t            path.push(\"L\", t21[0], \"A\", rc0, \",\", rc0, \" 0 0,\", cr, \" \", t03[0]);\n",
       "\t          }\n",
       "\t        } else {\n",
       "\t          path.push(\"L\", x2, \",\", y2);\n",
       "\t        }\n",
       "\t      } else {\n",
       "\t        path.push(\"M\", x0, \",\", y0);\n",
       "\t        if (x1 != null) path.push(\"A\", r1, \",\", r1, \" 0 \", l1, \",\", cw, \" \", x1, \",\", y1);\n",
       "\t        path.push(\"L\", x2, \",\", y2);\n",
       "\t        if (x3 != null) path.push(\"A\", r0, \",\", r0, \" 0 \", l0, \",\", 1 - cw, \" \", x3, \",\", y3);\n",
       "\t      }\n",
       "\t      path.push(\"Z\");\n",
       "\t      return path.join(\"\");\n",
       "\t    }\n",
       "\t    function circleSegment(r1, cw) {\n",
       "\t      return \"M0,\" + r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + -r1 + \"A\" + r1 + \",\" + r1 + \" 0 1,\" + cw + \" 0,\" + r1;\n",
       "\t    }\n",
       "\t    arc.innerRadius = function(v) {\n",
       "\t      if (!arguments.length) return innerRadius;\n",
       "\t      innerRadius = d3_functor(v);\n",
       "\t      return arc;\n",
       "\t    };\n",
       "\t    arc.outerRadius = function(v) {\n",
       "\t      if (!arguments.length) return outerRadius;\n",
       "\t      outerRadius = d3_functor(v);\n",
       "\t      return arc;\n",
       "\t    };\n",
       "\t    arc.cornerRadius = function(v) {\n",
       "\t      if (!arguments.length) return cornerRadius;\n",
       "\t      cornerRadius = d3_functor(v);\n",
       "\t      return arc;\n",
       "\t    };\n",
       "\t    arc.padRadius = function(v) {\n",
       "\t      if (!arguments.length) return padRadius;\n",
       "\t      padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v);\n",
       "\t      return arc;\n",
       "\t    };\n",
       "\t    arc.startAngle = function(v) {\n",
       "\t      if (!arguments.length) return startAngle;\n",
       "\t      startAngle = d3_functor(v);\n",
       "\t      return arc;\n",
       "\t    };\n",
       "\t    arc.endAngle = function(v) {\n",
       "\t      if (!arguments.length) return endAngle;\n",
       "\t      endAngle = d3_functor(v);\n",
       "\t      return arc;\n",
       "\t    };\n",
       "\t    arc.padAngle = function(v) {\n",
       "\t      if (!arguments.length) return padAngle;\n",
       "\t      padAngle = d3_functor(v);\n",
       "\t      return arc;\n",
       "\t    };\n",
       "\t    arc.centroid = function() {\n",
       "\t      var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ;\n",
       "\t      return [ Math.cos(a) * r, Math.sin(a) * r ];\n",
       "\t    };\n",
       "\t    return arc;\n",
       "\t  };\n",
       "\t  var d3_svg_arcAuto = \"auto\";\n",
       "\t  function d3_svg_arcInnerRadius(d) {\n",
       "\t    return d.innerRadius;\n",
       "\t  }\n",
       "\t  function d3_svg_arcOuterRadius(d) {\n",
       "\t    return d.outerRadius;\n",
       "\t  }\n",
       "\t  function d3_svg_arcStartAngle(d) {\n",
       "\t    return d.startAngle;\n",
       "\t  }\n",
       "\t  function d3_svg_arcEndAngle(d) {\n",
       "\t    return d.endAngle;\n",
       "\t  }\n",
       "\t  function d3_svg_arcPadAngle(d) {\n",
       "\t    return d && d.padAngle;\n",
       "\t  }\n",
       "\t  function d3_svg_arcSweep(x0, y0, x1, y1) {\n",
       "\t    return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1;\n",
       "\t  }\n",
       "\t  function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) {\n",
       "\t    var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(Math.max(0, r * r * d2 - D * D)), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3;\n",
       "\t    if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n",
       "\t    return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ];\n",
       "\t  }\n",
       "\t  function d3_svg_line(projection) {\n",
       "\t    var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7;\n",
       "\t    function line(data) {\n",
       "\t      var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y);\n",
       "\t      function segment() {\n",
       "\t        segments.push(\"M\", interpolate(projection(points), tension));\n",
       "\t      }\n",
       "\t      while (++i < n) {\n",
       "\t        if (defined.call(this, d = data[i], i)) {\n",
       "\t          points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]);\n",
       "\t        } else if (points.length) {\n",
       "\t          segment();\n",
       "\t          points = [];\n",
       "\t        }\n",
       "\t      }\n",
       "\t      if (points.length) segment();\n",
       "\t      return segments.length ? segments.join(\"\") : null;\n",
       "\t    }\n",
       "\t    line.x = function(_) {\n",
       "\t      if (!arguments.length) return x;\n",
       "\t      x = _;\n",
       "\t      return line;\n",
       "\t    };\n",
       "\t    line.y = function(_) {\n",
       "\t      if (!arguments.length) return y;\n",
       "\t      y = _;\n",
       "\t      return line;\n",
       "\t    };\n",
       "\t    line.defined = function(_) {\n",
       "\t      if (!arguments.length) return defined;\n",
       "\t      defined = _;\n",
       "\t      return line;\n",
       "\t    };\n",
       "\t    line.interpolate = function(_) {\n",
       "\t      if (!arguments.length) return interpolateKey;\n",
       "\t      if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n",
       "\t      return line;\n",
       "\t    };\n",
       "\t    line.tension = function(_) {\n",
       "\t      if (!arguments.length) return tension;\n",
       "\t      tension = _;\n",
       "\t      return line;\n",
       "\t    };\n",
       "\t    return line;\n",
       "\t  }\n",
       "\t  d3.svg.line = function() {\n",
       "\t    return d3_svg_line(d3_identity);\n",
       "\t  };\n",
       "\t  var d3_svg_lineInterpolators = d3.map({\n",
       "\t    linear: d3_svg_lineLinear,\n",
       "\t    \"linear-closed\": d3_svg_lineLinearClosed,\n",
       "\t    step: d3_svg_lineStep,\n",
       "\t    \"step-before\": d3_svg_lineStepBefore,\n",
       "\t    \"step-after\": d3_svg_lineStepAfter,\n",
       "\t    basis: d3_svg_lineBasis,\n",
       "\t    \"basis-open\": d3_svg_lineBasisOpen,\n",
       "\t    \"basis-closed\": d3_svg_lineBasisClosed,\n",
       "\t    bundle: d3_svg_lineBundle,\n",
       "\t    cardinal: d3_svg_lineCardinal,\n",
       "\t    \"cardinal-open\": d3_svg_lineCardinalOpen,\n",
       "\t    \"cardinal-closed\": d3_svg_lineCardinalClosed,\n",
       "\t    monotone: d3_svg_lineMonotone\n",
       "\t  });\n",
       "\t  d3_svg_lineInterpolators.forEach(function(key, value) {\n",
       "\t    value.key = key;\n",
       "\t    value.closed = /-closed$/.test(key);\n",
       "\t  });\n",
       "\t  function d3_svg_lineLinear(points) {\n",
       "\t    return points.length > 1 ? points.join(\"L\") : points + \"Z\";\n",
       "\t  }\n",
       "\t  function d3_svg_lineLinearClosed(points) {\n",
       "\t    return points.join(\"L\") + \"Z\";\n",
       "\t  }\n",
       "\t  function d3_svg_lineStep(points) {\n",
       "\t    var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n",
       "\t    while (++i < n) path.push(\"H\", (p[0] + (p = points[i])[0]) / 2, \"V\", p[1]);\n",
       "\t    if (n > 1) path.push(\"H\", p[0]);\n",
       "\t    return path.join(\"\");\n",
       "\t  }\n",
       "\t  function d3_svg_lineStepBefore(points) {\n",
       "\t    var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n",
       "\t    while (++i < n) path.push(\"V\", (p = points[i])[1], \"H\", p[0]);\n",
       "\t    return path.join(\"\");\n",
       "\t  }\n",
       "\t  function d3_svg_lineStepAfter(points) {\n",
       "\t    var i = 0, n = points.length, p = points[0], path = [ p[0], \",\", p[1] ];\n",
       "\t    while (++i < n) path.push(\"H\", (p = points[i])[0], \"V\", p[1]);\n",
       "\t    return path.join(\"\");\n",
       "\t  }\n",
       "\t  function d3_svg_lineCardinalOpen(points, tension) {\n",
       "\t    return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension));\n",
       "\t  }\n",
       "\t  function d3_svg_lineCardinalClosed(points, tension) {\n",
       "\t    return points.length < 3 ? d3_svg_lineLinearClosed(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), \n",
       "\t    points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension));\n",
       "\t  }\n",
       "\t  function d3_svg_lineCardinal(points, tension) {\n",
       "\t    return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension));\n",
       "\t  }\n",
       "\t  function d3_svg_lineHermite(points, tangents) {\n",
       "\t    if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) {\n",
       "\t      return d3_svg_lineLinear(points);\n",
       "\t    }\n",
       "\t    var quad = points.length != tangents.length, path = \"\", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1;\n",
       "\t    if (quad) {\n",
       "\t      path += \"Q\" + (p[0] - t0[0] * 2 / 3) + \",\" + (p[1] - t0[1] * 2 / 3) + \",\" + p[0] + \",\" + p[1];\n",
       "\t      p0 = points[1];\n",
       "\t      pi = 2;\n",
       "\t    }\n",
       "\t    if (tangents.length > 1) {\n",
       "\t      t = tangents[1];\n",
       "\t      p = points[pi];\n",
       "\t      pi++;\n",
       "\t      path += \"C\" + (p0[0] + t0[0]) + \",\" + (p0[1] + t0[1]) + \",\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n",
       "\t      for (var i = 2; i < tangents.length; i++, pi++) {\n",
       "\t        p = points[pi];\n",
       "\t        t = tangents[i];\n",
       "\t        path += \"S\" + (p[0] - t[0]) + \",\" + (p[1] - t[1]) + \",\" + p[0] + \",\" + p[1];\n",
       "\t      }\n",
       "\t    }\n",
       "\t    if (quad) {\n",
       "\t      var lp = points[pi];\n",
       "\t      path += \"Q\" + (p[0] + t[0] * 2 / 3) + \",\" + (p[1] + t[1] * 2 / 3) + \",\" + lp[0] + \",\" + lp[1];\n",
       "\t    }\n",
       "\t    return path;\n",
       "\t  }\n",
       "\t  function d3_svg_lineCardinalTangents(points, tension) {\n",
       "\t    var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length;\n",
       "\t    while (++i < n) {\n",
       "\t      p0 = p1;\n",
       "\t      p1 = p2;\n",
       "\t      p2 = points[i];\n",
       "\t      tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]);\n",
       "\t    }\n",
       "\t    return tangents;\n",
       "\t  }\n",
       "\t  function d3_svg_lineBasis(points) {\n",
       "\t    if (points.length < 3) return d3_svg_lineLinear(points);\n",
       "\t    var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, \",\", y0, \"L\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n",
       "\t    points.push(points[n - 1]);\n",
       "\t    while (++i <= n) {\n",
       "\t      pi = points[i];\n",
       "\t      px.shift();\n",
       "\t      px.push(pi[0]);\n",
       "\t      py.shift();\n",
       "\t      py.push(pi[1]);\n",
       "\t      d3_svg_lineBasisBezier(path, px, py);\n",
       "\t    }\n",
       "\t    points.pop();\n",
       "\t    path.push(\"L\", pi);\n",
       "\t    return path.join(\"\");\n",
       "\t  }\n",
       "\t  function d3_svg_lineBasisOpen(points) {\n",
       "\t    if (points.length < 4) return d3_svg_lineLinear(points);\n",
       "\t    var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ];\n",
       "\t    while (++i < 3) {\n",
       "\t      pi = points[i];\n",
       "\t      px.push(pi[0]);\n",
       "\t      py.push(pi[1]);\n",
       "\t    }\n",
       "\t    path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + \",\" + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py));\n",
       "\t    --i;\n",
       "\t    while (++i < n) {\n",
       "\t      pi = points[i];\n",
       "\t      px.shift();\n",
       "\t      px.push(pi[0]);\n",
       "\t      py.shift();\n",
       "\t      py.push(pi[1]);\n",
       "\t      d3_svg_lineBasisBezier(path, px, py);\n",
       "\t    }\n",
       "\t    return path.join(\"\");\n",
       "\t  }\n",
       "\t  function d3_svg_lineBasisClosed(points) {\n",
       "\t    var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = [];\n",
       "\t    while (++i < 4) {\n",
       "\t      pi = points[i % n];\n",
       "\t      px.push(pi[0]);\n",
       "\t      py.push(pi[1]);\n",
       "\t    }\n",
       "\t    path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];\n",
       "\t    --i;\n",
       "\t    while (++i < m) {\n",
       "\t      pi = points[i % n];\n",
       "\t      px.shift();\n",
       "\t      px.push(pi[0]);\n",
       "\t      py.shift();\n",
       "\t      py.push(pi[1]);\n",
       "\t      d3_svg_lineBasisBezier(path, px, py);\n",
       "\t    }\n",
       "\t    return path.join(\"\");\n",
       "\t  }\n",
       "\t  function d3_svg_lineBundle(points, tension) {\n",
       "\t    var n = points.length - 1;\n",
       "\t    if (n) {\n",
       "\t      var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t;\n",
       "\t      while (++i <= n) {\n",
       "\t        p = points[i];\n",
       "\t        t = i / n;\n",
       "\t        p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx);\n",
       "\t        p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return d3_svg_lineBasis(points);\n",
       "\t  }\n",
       "\t  function d3_svg_lineDot4(a, b) {\n",
       "\t    return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];\n",
       "\t  }\n",
       "\t  var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ];\n",
       "\t  function d3_svg_lineBasisBezier(path, x, y) {\n",
       "\t    path.push(\"C\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), \",\", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y));\n",
       "\t  }\n",
       "\t  function d3_svg_lineSlope(p0, p1) {\n",
       "\t    return (p1[1] - p0[1]) / (p1[0] - p0[0]);\n",
       "\t  }\n",
       "\t  function d3_svg_lineFiniteDifferences(points) {\n",
       "\t    var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1);\n",
       "\t    while (++i < j) {\n",
       "\t      m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2;\n",
       "\t    }\n",
       "\t    m[i] = d;\n",
       "\t    return m;\n",
       "\t  }\n",
       "\t  function d3_svg_lineMonotoneTangents(points) {\n",
       "\t    var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1;\n",
       "\t    while (++i < j) {\n",
       "\t      d = d3_svg_lineSlope(points[i], points[i + 1]);\n",
       "\t      if (abs(d) < ε) {\n",
       "\t        m[i] = m[i + 1] = 0;\n",
       "\t      } else {\n",
       "\t        a = m[i] / d;\n",
       "\t        b = m[i + 1] / d;\n",
       "\t        s = a * a + b * b;\n",
       "\t        if (s > 9) {\n",
       "\t          s = d * 3 / Math.sqrt(s);\n",
       "\t          m[i] = s * a;\n",
       "\t          m[i + 1] = s * b;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    i = -1;\n",
       "\t    while (++i <= j) {\n",
       "\t      s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i]));\n",
       "\t      tangents.push([ s || 0, m[i] * s || 0 ]);\n",
       "\t    }\n",
       "\t    return tangents;\n",
       "\t  }\n",
       "\t  function d3_svg_lineMonotone(points) {\n",
       "\t    return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points));\n",
       "\t  }\n",
       "\t  d3.svg.line.radial = function() {\n",
       "\t    var line = d3_svg_line(d3_svg_lineRadial);\n",
       "\t    line.radius = line.x, delete line.x;\n",
       "\t    line.angle = line.y, delete line.y;\n",
       "\t    return line;\n",
       "\t  };\n",
       "\t  function d3_svg_lineRadial(points) {\n",
       "\t    var point, i = -1, n = points.length, r, a;\n",
       "\t    while (++i < n) {\n",
       "\t      point = points[i];\n",
       "\t      r = point[0];\n",
       "\t      a = point[1] - halfπ;\n",
       "\t      point[0] = r * Math.cos(a);\n",
       "\t      point[1] = r * Math.sin(a);\n",
       "\t    }\n",
       "\t    return points;\n",
       "\t  }\n",
       "\t  function d3_svg_area(projection) {\n",
       "\t    var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = \"L\", tension = .7;\n",
       "\t    function area(data) {\n",
       "\t      var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() {\n",
       "\t        return x;\n",
       "\t      } : d3_functor(x1), fy1 = y0 === y1 ? function() {\n",
       "\t        return y;\n",
       "\t      } : d3_functor(y1), x, y;\n",
       "\t      function segment() {\n",
       "\t        segments.push(\"M\", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), \"Z\");\n",
       "\t      }\n",
       "\t      while (++i < n) {\n",
       "\t        if (defined.call(this, d = data[i], i)) {\n",
       "\t          points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]);\n",
       "\t          points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]);\n",
       "\t        } else if (points0.length) {\n",
       "\t          segment();\n",
       "\t          points0 = [];\n",
       "\t          points1 = [];\n",
       "\t        }\n",
       "\t      }\n",
       "\t      if (points0.length) segment();\n",
       "\t      return segments.length ? segments.join(\"\") : null;\n",
       "\t    }\n",
       "\t    area.x = function(_) {\n",
       "\t      if (!arguments.length) return x1;\n",
       "\t      x0 = x1 = _;\n",
       "\t      return area;\n",
       "\t    };\n",
       "\t    area.x0 = function(_) {\n",
       "\t      if (!arguments.length) return x0;\n",
       "\t      x0 = _;\n",
       "\t      return area;\n",
       "\t    };\n",
       "\t    area.x1 = function(_) {\n",
       "\t      if (!arguments.length) return x1;\n",
       "\t      x1 = _;\n",
       "\t      return area;\n",
       "\t    };\n",
       "\t    area.y = function(_) {\n",
       "\t      if (!arguments.length) return y1;\n",
       "\t      y0 = y1 = _;\n",
       "\t      return area;\n",
       "\t    };\n",
       "\t    area.y0 = function(_) {\n",
       "\t      if (!arguments.length) return y0;\n",
       "\t      y0 = _;\n",
       "\t      return area;\n",
       "\t    };\n",
       "\t    area.y1 = function(_) {\n",
       "\t      if (!arguments.length) return y1;\n",
       "\t      y1 = _;\n",
       "\t      return area;\n",
       "\t    };\n",
       "\t    area.defined = function(_) {\n",
       "\t      if (!arguments.length) return defined;\n",
       "\t      defined = _;\n",
       "\t      return area;\n",
       "\t    };\n",
       "\t    area.interpolate = function(_) {\n",
       "\t      if (!arguments.length) return interpolateKey;\n",
       "\t      if (typeof _ === \"function\") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;\n",
       "\t      interpolateReverse = interpolate.reverse || interpolate;\n",
       "\t      L = interpolate.closed ? \"M\" : \"L\";\n",
       "\t      return area;\n",
       "\t    };\n",
       "\t    area.tension = function(_) {\n",
       "\t      if (!arguments.length) return tension;\n",
       "\t      tension = _;\n",
       "\t      return area;\n",
       "\t    };\n",
       "\t    return area;\n",
       "\t  }\n",
       "\t  d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter;\n",
       "\t  d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore;\n",
       "\t  d3.svg.area = function() {\n",
       "\t    return d3_svg_area(d3_identity);\n",
       "\t  };\n",
       "\t  d3.svg.area.radial = function() {\n",
       "\t    var area = d3_svg_area(d3_svg_lineRadial);\n",
       "\t    area.radius = area.x, delete area.x;\n",
       "\t    area.innerRadius = area.x0, delete area.x0;\n",
       "\t    area.outerRadius = area.x1, delete area.x1;\n",
       "\t    area.angle = area.y, delete area.y;\n",
       "\t    area.startAngle = area.y0, delete area.y0;\n",
       "\t    area.endAngle = area.y1, delete area.y1;\n",
       "\t    return area;\n",
       "\t  };\n",
       "\t  d3.svg.chord = function() {\n",
       "\t    var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle;\n",
       "\t    function chord(d, i) {\n",
       "\t      var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i);\n",
       "\t      return \"M\" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + \"Z\";\n",
       "\t    }\n",
       "\t    function subgroup(self, f, d, i) {\n",
       "\t      var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ;\n",
       "\t      return {\n",
       "\t        r: r,\n",
       "\t        a0: a0,\n",
       "\t        a1: a1,\n",
       "\t        p0: [ r * Math.cos(a0), r * Math.sin(a0) ],\n",
       "\t        p1: [ r * Math.cos(a1), r * Math.sin(a1) ]\n",
       "\t      };\n",
       "\t    }\n",
       "\t    function equals(a, b) {\n",
       "\t      return a.a0 == b.a0 && a.a1 == b.a1;\n",
       "\t    }\n",
       "\t    function arc(r, p, a) {\n",
       "\t      return \"A\" + r + \",\" + r + \" 0 \" + +(a > π) + \",1 \" + p;\n",
       "\t    }\n",
       "\t    function curve(r0, p0, r1, p1) {\n",
       "\t      return \"Q 0,0 \" + p1;\n",
       "\t    }\n",
       "\t    chord.radius = function(v) {\n",
       "\t      if (!arguments.length) return radius;\n",
       "\t      radius = d3_functor(v);\n",
       "\t      return chord;\n",
       "\t    };\n",
       "\t    chord.source = function(v) {\n",
       "\t      if (!arguments.length) return source;\n",
       "\t      source = d3_functor(v);\n",
       "\t      return chord;\n",
       "\t    };\n",
       "\t    chord.target = function(v) {\n",
       "\t      if (!arguments.length) return target;\n",
       "\t      target = d3_functor(v);\n",
       "\t      return chord;\n",
       "\t    };\n",
       "\t    chord.startAngle = function(v) {\n",
       "\t      if (!arguments.length) return startAngle;\n",
       "\t      startAngle = d3_functor(v);\n",
       "\t      return chord;\n",
       "\t    };\n",
       "\t    chord.endAngle = function(v) {\n",
       "\t      if (!arguments.length) return endAngle;\n",
       "\t      endAngle = d3_functor(v);\n",
       "\t      return chord;\n",
       "\t    };\n",
       "\t    return chord;\n",
       "\t  };\n",
       "\t  function d3_svg_chordRadius(d) {\n",
       "\t    return d.radius;\n",
       "\t  }\n",
       "\t  d3.svg.diagonal = function() {\n",
       "\t    var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection;\n",
       "\t    function diagonal(d, i) {\n",
       "\t      var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, {\n",
       "\t        x: p0.x,\n",
       "\t        y: m\n",
       "\t      }, {\n",
       "\t        x: p3.x,\n",
       "\t        y: m\n",
       "\t      }, p3 ];\n",
       "\t      p = p.map(projection);\n",
       "\t      return \"M\" + p[0] + \"C\" + p[1] + \" \" + p[2] + \" \" + p[3];\n",
       "\t    }\n",
       "\t    diagonal.source = function(x) {\n",
       "\t      if (!arguments.length) return source;\n",
       "\t      source = d3_functor(x);\n",
       "\t      return diagonal;\n",
       "\t    };\n",
       "\t    diagonal.target = function(x) {\n",
       "\t      if (!arguments.length) return target;\n",
       "\t      target = d3_functor(x);\n",
       "\t      return diagonal;\n",
       "\t    };\n",
       "\t    diagonal.projection = function(x) {\n",
       "\t      if (!arguments.length) return projection;\n",
       "\t      projection = x;\n",
       "\t      return diagonal;\n",
       "\t    };\n",
       "\t    return diagonal;\n",
       "\t  };\n",
       "\t  function d3_svg_diagonalProjection(d) {\n",
       "\t    return [ d.x, d.y ];\n",
       "\t  }\n",
       "\t  d3.svg.diagonal.radial = function() {\n",
       "\t    var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection;\n",
       "\t    diagonal.projection = function(x) {\n",
       "\t      return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection;\n",
       "\t    };\n",
       "\t    return diagonal;\n",
       "\t  };\n",
       "\t  function d3_svg_diagonalRadialProjection(projection) {\n",
       "\t    return function() {\n",
       "\t      var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ;\n",
       "\t      return [ r * Math.cos(a), r * Math.sin(a) ];\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3.svg.symbol = function() {\n",
       "\t    var type = d3_svg_symbolType, size = d3_svg_symbolSize;\n",
       "\t    function symbol(d, i) {\n",
       "\t      return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i));\n",
       "\t    }\n",
       "\t    symbol.type = function(x) {\n",
       "\t      if (!arguments.length) return type;\n",
       "\t      type = d3_functor(x);\n",
       "\t      return symbol;\n",
       "\t    };\n",
       "\t    symbol.size = function(x) {\n",
       "\t      if (!arguments.length) return size;\n",
       "\t      size = d3_functor(x);\n",
       "\t      return symbol;\n",
       "\t    };\n",
       "\t    return symbol;\n",
       "\t  };\n",
       "\t  function d3_svg_symbolSize() {\n",
       "\t    return 64;\n",
       "\t  }\n",
       "\t  function d3_svg_symbolType() {\n",
       "\t    return \"circle\";\n",
       "\t  }\n",
       "\t  function d3_svg_symbolCircle(size) {\n",
       "\t    var r = Math.sqrt(size / π);\n",
       "\t    return \"M0,\" + r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + -r + \"A\" + r + \",\" + r + \" 0 1,1 0,\" + r + \"Z\";\n",
       "\t  }\n",
       "\t  var d3_svg_symbols = d3.map({\n",
       "\t    circle: d3_svg_symbolCircle,\n",
       "\t    cross: function(size) {\n",
       "\t      var r = Math.sqrt(size / 5) / 2;\n",
       "\t      return \"M\" + -3 * r + \",\" + -r + \"H\" + -r + \"V\" + -3 * r + \"H\" + r + \"V\" + -r + \"H\" + 3 * r + \"V\" + r + \"H\" + r + \"V\" + 3 * r + \"H\" + -r + \"V\" + r + \"H\" + -3 * r + \"Z\";\n",
       "\t    },\n",
       "\t    diamond: function(size) {\n",
       "\t      var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30;\n",
       "\t      return \"M0,\" + -ry + \"L\" + rx + \",0\" + \" 0,\" + ry + \" \" + -rx + \",0\" + \"Z\";\n",
       "\t    },\n",
       "\t    square: function(size) {\n",
       "\t      var r = Math.sqrt(size) / 2;\n",
       "\t      return \"M\" + -r + \",\" + -r + \"L\" + r + \",\" + -r + \" \" + r + \",\" + r + \" \" + -r + \",\" + r + \"Z\";\n",
       "\t    },\n",
       "\t    \"triangle-down\": function(size) {\n",
       "\t      var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n",
       "\t      return \"M0,\" + ry + \"L\" + rx + \",\" + -ry + \" \" + -rx + \",\" + -ry + \"Z\";\n",
       "\t    },\n",
       "\t    \"triangle-up\": function(size) {\n",
       "\t      var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;\n",
       "\t      return \"M0,\" + -ry + \"L\" + rx + \",\" + ry + \" \" + -rx + \",\" + ry + \"Z\";\n",
       "\t    }\n",
       "\t  });\n",
       "\t  d3.svg.symbolTypes = d3_svg_symbols.keys();\n",
       "\t  var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians);\n",
       "\t  d3_selectionPrototype.transition = function(name) {\n",
       "\t    var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || {\n",
       "\t      time: Date.now(),\n",
       "\t      ease: d3_ease_cubicInOut,\n",
       "\t      delay: 0,\n",
       "\t      duration: 250\n",
       "\t    };\n",
       "\t    for (var j = -1, m = this.length; ++j < m; ) {\n",
       "\t      subgroups.push(subgroup = []);\n",
       "\t      for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n",
       "\t        if (node = group[i]) d3_transitionNode(node, i, ns, id, transition);\n",
       "\t        subgroup.push(node);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return d3_transition(subgroups, ns, id);\n",
       "\t  };\n",
       "\t  d3_selectionPrototype.interrupt = function(name) {\n",
       "\t    return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name)));\n",
       "\t  };\n",
       "\t  var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace());\n",
       "\t  function d3_selection_interruptNS(ns) {\n",
       "\t    return function() {\n",
       "\t      var lock, activeId, active;\n",
       "\t      if ((lock = this[ns]) && (active = lock[activeId = lock.active])) {\n",
       "\t        active.timer.c = null;\n",
       "\t        active.timer.t = NaN;\n",
       "\t        if (--lock.count) delete lock[activeId]; else delete this[ns];\n",
       "\t        lock.active += .5;\n",
       "\t        active.event && active.event.interrupt.call(this, this.__data__, active.index);\n",
       "\t      }\n",
       "\t    };\n",
       "\t  }\n",
       "\t  function d3_transition(groups, ns, id) {\n",
       "\t    d3_subclass(groups, d3_transitionPrototype);\n",
       "\t    groups.namespace = ns;\n",
       "\t    groups.id = id;\n",
       "\t    return groups;\n",
       "\t  }\n",
       "\t  var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit;\n",
       "\t  d3_transitionPrototype.call = d3_selectionPrototype.call;\n",
       "\t  d3_transitionPrototype.empty = d3_selectionPrototype.empty;\n",
       "\t  d3_transitionPrototype.node = d3_selectionPrototype.node;\n",
       "\t  d3_transitionPrototype.size = d3_selectionPrototype.size;\n",
       "\t  d3.transition = function(selection, name) {\n",
       "\t    return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3.selection().transition(selection);\n",
       "\t  };\n",
       "\t  d3.transition.prototype = d3_transitionPrototype;\n",
       "\t  d3_transitionPrototype.select = function(selector) {\n",
       "\t    var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node;\n",
       "\t    selector = d3_selection_selector(selector);\n",
       "\t    for (var j = -1, m = this.length; ++j < m; ) {\n",
       "\t      subgroups.push(subgroup = []);\n",
       "\t      for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n",
       "\t        if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) {\n",
       "\t          if (\"__data__\" in node) subnode.__data__ = node.__data__;\n",
       "\t          d3_transitionNode(subnode, i, ns, id, node[ns][id]);\n",
       "\t          subgroup.push(subnode);\n",
       "\t        } else {\n",
       "\t          subgroup.push(null);\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return d3_transition(subgroups, ns, id);\n",
       "\t  };\n",
       "\t  d3_transitionPrototype.selectAll = function(selector) {\n",
       "\t    var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition;\n",
       "\t    selector = d3_selection_selectorAll(selector);\n",
       "\t    for (var j = -1, m = this.length; ++j < m; ) {\n",
       "\t      for (var group = this[j], i = -1, n = group.length; ++i < n; ) {\n",
       "\t        if (node = group[i]) {\n",
       "\t          transition = node[ns][id];\n",
       "\t          subnodes = selector.call(node, node.__data__, i, j);\n",
       "\t          subgroups.push(subgroup = []);\n",
       "\t          for (var k = -1, o = subnodes.length; ++k < o; ) {\n",
       "\t            if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition);\n",
       "\t            subgroup.push(subnode);\n",
       "\t          }\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return d3_transition(subgroups, ns, id);\n",
       "\t  };\n",
       "\t  d3_transitionPrototype.filter = function(filter) {\n",
       "\t    var subgroups = [], subgroup, group, node;\n",
       "\t    if (typeof filter !== \"function\") filter = d3_selection_filter(filter);\n",
       "\t    for (var j = 0, m = this.length; j < m; j++) {\n",
       "\t      subgroups.push(subgroup = []);\n",
       "\t      for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n",
       "\t        if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {\n",
       "\t          subgroup.push(node);\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return d3_transition(subgroups, this.namespace, this.id);\n",
       "\t  };\n",
       "\t  d3_transitionPrototype.tween = function(name, tween) {\n",
       "\t    var id = this.id, ns = this.namespace;\n",
       "\t    if (arguments.length < 2) return this.node()[ns][id].tween.get(name);\n",
       "\t    return d3_selection_each(this, tween == null ? function(node) {\n",
       "\t      node[ns][id].tween.remove(name);\n",
       "\t    } : function(node) {\n",
       "\t      node[ns][id].tween.set(name, tween);\n",
       "\t    });\n",
       "\t  };\n",
       "\t  function d3_transition_tween(groups, name, value, tween) {\n",
       "\t    var id = groups.id, ns = groups.namespace;\n",
       "\t    return d3_selection_each(groups, typeof value === \"function\" ? function(node, i, j) {\n",
       "\t      node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j)));\n",
       "\t    } : (value = tween(value), function(node) {\n",
       "\t      node[ns][id].tween.set(name, value);\n",
       "\t    }));\n",
       "\t  }\n",
       "\t  d3_transitionPrototype.attr = function(nameNS, value) {\n",
       "\t    if (arguments.length < 2) {\n",
       "\t      for (value in nameNS) this.attr(value, nameNS[value]);\n",
       "\t      return this;\n",
       "\t    }\n",
       "\t    var interpolate = nameNS == \"transform\" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS);\n",
       "\t    function attrNull() {\n",
       "\t      this.removeAttribute(name);\n",
       "\t    }\n",
       "\t    function attrNullNS() {\n",
       "\t      this.removeAttributeNS(name.space, name.local);\n",
       "\t    }\n",
       "\t    function attrTween(b) {\n",
       "\t      return b == null ? attrNull : (b += \"\", function() {\n",
       "\t        var a = this.getAttribute(name), i;\n",
       "\t        return a !== b && (i = interpolate(a, b), function(t) {\n",
       "\t          this.setAttribute(name, i(t));\n",
       "\t        });\n",
       "\t      });\n",
       "\t    }\n",
       "\t    function attrTweenNS(b) {\n",
       "\t      return b == null ? attrNullNS : (b += \"\", function() {\n",
       "\t        var a = this.getAttributeNS(name.space, name.local), i;\n",
       "\t        return a !== b && (i = interpolate(a, b), function(t) {\n",
       "\t          this.setAttributeNS(name.space, name.local, i(t));\n",
       "\t        });\n",
       "\t      });\n",
       "\t    }\n",
       "\t    return d3_transition_tween(this, \"attr.\" + nameNS, value, name.local ? attrTweenNS : attrTween);\n",
       "\t  };\n",
       "\t  d3_transitionPrototype.attrTween = function(nameNS, tween) {\n",
       "\t    var name = d3.ns.qualify(nameNS);\n",
       "\t    function attrTween(d, i) {\n",
       "\t      var f = tween.call(this, d, i, this.getAttribute(name));\n",
       "\t      return f && function(t) {\n",
       "\t        this.setAttribute(name, f(t));\n",
       "\t      };\n",
       "\t    }\n",
       "\t    function attrTweenNS(d, i) {\n",
       "\t      var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local));\n",
       "\t      return f && function(t) {\n",
       "\t        this.setAttributeNS(name.space, name.local, f(t));\n",
       "\t      };\n",
       "\t    }\n",
       "\t    return this.tween(\"attr.\" + nameNS, name.local ? attrTweenNS : attrTween);\n",
       "\t  };\n",
       "\t  d3_transitionPrototype.style = function(name, value, priority) {\n",
       "\t    var n = arguments.length;\n",
       "\t    if (n < 3) {\n",
       "\t      if (typeof name !== \"string\") {\n",
       "\t        if (n < 2) value = \"\";\n",
       "\t        for (priority in name) this.style(priority, name[priority], value);\n",
       "\t        return this;\n",
       "\t      }\n",
       "\t      priority = \"\";\n",
       "\t    }\n",
       "\t    function styleNull() {\n",
       "\t      this.style.removeProperty(name);\n",
       "\t    }\n",
       "\t    function styleString(b) {\n",
       "\t      return b == null ? styleNull : (b += \"\", function() {\n",
       "\t        var a = d3_window(this).getComputedStyle(this, null).getPropertyValue(name), i;\n",
       "\t        return a !== b && (i = d3_interpolate(a, b), function(t) {\n",
       "\t          this.style.setProperty(name, i(t), priority);\n",
       "\t        });\n",
       "\t      });\n",
       "\t    }\n",
       "\t    return d3_transition_tween(this, \"style.\" + name, value, styleString);\n",
       "\t  };\n",
       "\t  d3_transitionPrototype.styleTween = function(name, tween, priority) {\n",
       "\t    if (arguments.length < 3) priority = \"\";\n",
       "\t    function styleTween(d, i) {\n",
       "\t      var f = tween.call(this, d, i, d3_window(this).getComputedStyle(this, null).getPropertyValue(name));\n",
       "\t      return f && function(t) {\n",
       "\t        this.style.setProperty(name, f(t), priority);\n",
       "\t      };\n",
       "\t    }\n",
       "\t    return this.tween(\"style.\" + name, styleTween);\n",
       "\t  };\n",
       "\t  d3_transitionPrototype.text = function(value) {\n",
       "\t    return d3_transition_tween(this, \"text\", value, d3_transition_text);\n",
       "\t  };\n",
       "\t  function d3_transition_text(b) {\n",
       "\t    if (b == null) b = \"\";\n",
       "\t    return function() {\n",
       "\t      this.textContent = b;\n",
       "\t    };\n",
       "\t  }\n",
       "\t  d3_transitionPrototype.remove = function() {\n",
       "\t    var ns = this.namespace;\n",
       "\t    return this.each(\"end.transition\", function() {\n",
       "\t      var p;\n",
       "\t      if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this);\n",
       "\t    });\n",
       "\t  };\n",
       "\t  d3_transitionPrototype.ease = function(value) {\n",
       "\t    var id = this.id, ns = this.namespace;\n",
       "\t    if (arguments.length < 1) return this.node()[ns][id].ease;\n",
       "\t    if (typeof value !== \"function\") value = d3.ease.apply(d3, arguments);\n",
       "\t    return d3_selection_each(this, function(node) {\n",
       "\t      node[ns][id].ease = value;\n",
       "\t    });\n",
       "\t  };\n",
       "\t  d3_transitionPrototype.delay = function(value) {\n",
       "\t    var id = this.id, ns = this.namespace;\n",
       "\t    if (arguments.length < 1) return this.node()[ns][id].delay;\n",
       "\t    return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n",
       "\t      node[ns][id].delay = +value.call(node, node.__data__, i, j);\n",
       "\t    } : (value = +value, function(node) {\n",
       "\t      node[ns][id].delay = value;\n",
       "\t    }));\n",
       "\t  };\n",
       "\t  d3_transitionPrototype.duration = function(value) {\n",
       "\t    var id = this.id, ns = this.namespace;\n",
       "\t    if (arguments.length < 1) return this.node()[ns][id].duration;\n",
       "\t    return d3_selection_each(this, typeof value === \"function\" ? function(node, i, j) {\n",
       "\t      node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j));\n",
       "\t    } : (value = Math.max(1, value), function(node) {\n",
       "\t      node[ns][id].duration = value;\n",
       "\t    }));\n",
       "\t  };\n",
       "\t  d3_transitionPrototype.each = function(type, listener) {\n",
       "\t    var id = this.id, ns = this.namespace;\n",
       "\t    if (arguments.length < 2) {\n",
       "\t      var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId;\n",
       "\t      try {\n",
       "\t        d3_transitionInheritId = id;\n",
       "\t        d3_selection_each(this, function(node, i, j) {\n",
       "\t          d3_transitionInherit = node[ns][id];\n",
       "\t          type.call(node, node.__data__, i, j);\n",
       "\t        });\n",
       "\t      } finally {\n",
       "\t        d3_transitionInherit = inherit;\n",
       "\t        d3_transitionInheritId = inheritId;\n",
       "\t      }\n",
       "\t    } else {\n",
       "\t      d3_selection_each(this, function(node) {\n",
       "\t        var transition = node[ns][id];\n",
       "\t        (transition.event || (transition.event = d3.dispatch(\"start\", \"end\", \"interrupt\"))).on(type, listener);\n",
       "\t      });\n",
       "\t    }\n",
       "\t    return this;\n",
       "\t  };\n",
       "\t  d3_transitionPrototype.transition = function() {\n",
       "\t    var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition;\n",
       "\t    for (var j = 0, m = this.length; j < m; j++) {\n",
       "\t      subgroups.push(subgroup = []);\n",
       "\t      for (var group = this[j], i = 0, n = group.length; i < n; i++) {\n",
       "\t        if (node = group[i]) {\n",
       "\t          transition = node[ns][id0];\n",
       "\t          d3_transitionNode(node, i, ns, id1, {\n",
       "\t            time: transition.time,\n",
       "\t            ease: transition.ease,\n",
       "\t            delay: transition.delay + transition.duration,\n",
       "\t            duration: transition.duration\n",
       "\t          });\n",
       "\t        }\n",
       "\t        subgroup.push(node);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return d3_transition(subgroups, ns, id1);\n",
       "\t  };\n",
       "\t  function d3_transitionNamespace(name) {\n",
       "\t    return name == null ? \"__transition__\" : \"__transition_\" + name + \"__\";\n",
       "\t  }\n",
       "\t  function d3_transitionNode(node, i, ns, id, inherit) {\n",
       "\t    var lock = node[ns] || (node[ns] = {\n",
       "\t      active: 0,\n",
       "\t      count: 0\n",
       "\t    }), transition = lock[id], time, timer, duration, ease, tweens;\n",
       "\t    function schedule(elapsed) {\n",
       "\t      var delay = transition.delay;\n",
       "\t      timer.t = delay + time;\n",
       "\t      if (delay <= elapsed) return start(elapsed - delay);\n",
       "\t      timer.c = start;\n",
       "\t    }\n",
       "\t    function start(elapsed) {\n",
       "\t      var activeId = lock.active, active = lock[activeId];\n",
       "\t      if (active) {\n",
       "\t        active.timer.c = null;\n",
       "\t        active.timer.t = NaN;\n",
       "\t        --lock.count;\n",
       "\t        delete lock[activeId];\n",
       "\t        active.event && active.event.interrupt.call(node, node.__data__, active.index);\n",
       "\t      }\n",
       "\t      for (var cancelId in lock) {\n",
       "\t        if (+cancelId < id) {\n",
       "\t          var cancel = lock[cancelId];\n",
       "\t          cancel.timer.c = null;\n",
       "\t          cancel.timer.t = NaN;\n",
       "\t          --lock.count;\n",
       "\t          delete lock[cancelId];\n",
       "\t        }\n",
       "\t      }\n",
       "\t      timer.c = tick;\n",
       "\t      d3_timer(function() {\n",
       "\t        if (timer.c && tick(elapsed || 1)) {\n",
       "\t          timer.c = null;\n",
       "\t          timer.t = NaN;\n",
       "\t        }\n",
       "\t        return 1;\n",
       "\t      }, 0, time);\n",
       "\t      lock.active = id;\n",
       "\t      transition.event && transition.event.start.call(node, node.__data__, i);\n",
       "\t      tweens = [];\n",
       "\t      transition.tween.forEach(function(key, value) {\n",
       "\t        if (value = value.call(node, node.__data__, i)) {\n",
       "\t          tweens.push(value);\n",
       "\t        }\n",
       "\t      });\n",
       "\t      ease = transition.ease;\n",
       "\t      duration = transition.duration;\n",
       "\t    }\n",
       "\t    function tick(elapsed) {\n",
       "\t      var t = elapsed / duration, e = ease(t), n = tweens.length;\n",
       "\t      while (n > 0) {\n",
       "\t        tweens[--n].call(node, e);\n",
       "\t      }\n",
       "\t      if (t >= 1) {\n",
       "\t        transition.event && transition.event.end.call(node, node.__data__, i);\n",
       "\t        if (--lock.count) delete lock[id]; else delete node[ns];\n",
       "\t        return 1;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    if (!transition) {\n",
       "\t      time = inherit.time;\n",
       "\t      timer = d3_timer(schedule, 0, time);\n",
       "\t      transition = lock[id] = {\n",
       "\t        tween: new d3_Map(),\n",
       "\t        time: time,\n",
       "\t        timer: timer,\n",
       "\t        delay: inherit.delay,\n",
       "\t        duration: inherit.duration,\n",
       "\t        ease: inherit.ease,\n",
       "\t        index: i\n",
       "\t      };\n",
       "\t      inherit = null;\n",
       "\t      ++lock.count;\n",
       "\t    }\n",
       "\t  }\n",
       "\t  d3.svg.axis = function() {\n",
       "\t    var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_;\n",
       "\t    function axis(g) {\n",
       "\t      g.each(function() {\n",
       "\t        var g = d3.select(this);\n",
       "\t        var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy();\n",
       "\t        var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(\".tick\").data(ticks, scale1), tickEnter = tick.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", ε), tickExit = d3.transition(tick.exit()).style(\"opacity\", ε).remove(), tickUpdate = d3.transition(tick.order()).style(\"opacity\", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform;\n",
       "\t        var range = d3_scaleRange(scale1), path = g.selectAll(\".domain\").data([ 0 ]), pathUpdate = (path.enter().append(\"path\").attr(\"class\", \"domain\"), \n",
       "\t        d3.transition(path));\n",
       "\t        tickEnter.append(\"line\");\n",
       "\t        tickEnter.append(\"text\");\n",
       "\t        var lineEnter = tickEnter.select(\"line\"), lineUpdate = tickUpdate.select(\"line\"), text = tick.select(\"text\").text(tickFormat), textEnter = tickEnter.select(\"text\"), textUpdate = tickUpdate.select(\"text\"), sign = orient === \"top\" || orient === \"left\" ? -1 : 1, x1, x2, y1, y2;\n",
       "\t        if (orient === \"bottom\" || orient === \"top\") {\n",
       "\t          tickTransform = d3_svg_axisX, x1 = \"x\", y1 = \"y\", x2 = \"x2\", y2 = \"y2\";\n",
       "\t          text.attr(\"dy\", sign < 0 ? \"0em\" : \".71em\").style(\"text-anchor\", \"middle\");\n",
       "\t          pathUpdate.attr(\"d\", \"M\" + range[0] + \",\" + sign * outerTickSize + \"V0H\" + range[1] + \"V\" + sign * outerTickSize);\n",
       "\t        } else {\n",
       "\t          tickTransform = d3_svg_axisY, x1 = \"y\", y1 = \"x\", x2 = \"y2\", y2 = \"x2\";\n",
       "\t          text.attr(\"dy\", \".32em\").style(\"text-anchor\", sign < 0 ? \"end\" : \"start\");\n",
       "\t          pathUpdate.attr(\"d\", \"M\" + sign * outerTickSize + \",\" + range[0] + \"H0V\" + range[1] + \"H\" + sign * outerTickSize);\n",
       "\t        }\n",
       "\t        lineEnter.attr(y2, sign * innerTickSize);\n",
       "\t        textEnter.attr(y1, sign * tickSpacing);\n",
       "\t        lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize);\n",
       "\t        textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing);\n",
       "\t        if (scale1.rangeBand) {\n",
       "\t          var x = scale1, dx = x.rangeBand() / 2;\n",
       "\t          scale0 = scale1 = function(d) {\n",
       "\t            return x(d) + dx;\n",
       "\t          };\n",
       "\t        } else if (scale0.rangeBand) {\n",
       "\t          scale0 = scale1;\n",
       "\t        } else {\n",
       "\t          tickExit.call(tickTransform, scale1, scale0);\n",
       "\t        }\n",
       "\t        tickEnter.call(tickTransform, scale0, scale1);\n",
       "\t        tickUpdate.call(tickTransform, scale1, scale1);\n",
       "\t      });\n",
       "\t    }\n",
       "\t    axis.scale = function(x) {\n",
       "\t      if (!arguments.length) return scale;\n",
       "\t      scale = x;\n",
       "\t      return axis;\n",
       "\t    };\n",
       "\t    axis.orient = function(x) {\n",
       "\t      if (!arguments.length) return orient;\n",
       "\t      orient = x in d3_svg_axisOrients ? x + \"\" : d3_svg_axisDefaultOrient;\n",
       "\t      return axis;\n",
       "\t    };\n",
       "\t    axis.ticks = function() {\n",
       "\t      if (!arguments.length) return tickArguments_;\n",
       "\t      tickArguments_ = d3_array(arguments);\n",
       "\t      return axis;\n",
       "\t    };\n",
       "\t    axis.tickValues = function(x) {\n",
       "\t      if (!arguments.length) return tickValues;\n",
       "\t      tickValues = x;\n",
       "\t      return axis;\n",
       "\t    };\n",
       "\t    axis.tickFormat = function(x) {\n",
       "\t      if (!arguments.length) return tickFormat_;\n",
       "\t      tickFormat_ = x;\n",
       "\t      return axis;\n",
       "\t    };\n",
       "\t    axis.tickSize = function(x) {\n",
       "\t      var n = arguments.length;\n",
       "\t      if (!n) return innerTickSize;\n",
       "\t      innerTickSize = +x;\n",
       "\t      outerTickSize = +arguments[n - 1];\n",
       "\t      return axis;\n",
       "\t    };\n",
       "\t    axis.innerTickSize = function(x) {\n",
       "\t      if (!arguments.length) return innerTickSize;\n",
       "\t      innerTickSize = +x;\n",
       "\t      return axis;\n",
       "\t    };\n",
       "\t    axis.outerTickSize = function(x) {\n",
       "\t      if (!arguments.length) return outerTickSize;\n",
       "\t      outerTickSize = +x;\n",
       "\t      return axis;\n",
       "\t    };\n",
       "\t    axis.tickPadding = function(x) {\n",
       "\t      if (!arguments.length) return tickPadding;\n",
       "\t      tickPadding = +x;\n",
       "\t      return axis;\n",
       "\t    };\n",
       "\t    axis.tickSubdivide = function() {\n",
       "\t      return arguments.length && axis;\n",
       "\t    };\n",
       "\t    return axis;\n",
       "\t  };\n",
       "\t  var d3_svg_axisDefaultOrient = \"bottom\", d3_svg_axisOrients = {\n",
       "\t    top: 1,\n",
       "\t    right: 1,\n",
       "\t    bottom: 1,\n",
       "\t    left: 1\n",
       "\t  };\n",
       "\t  function d3_svg_axisX(selection, x0, x1) {\n",
       "\t    selection.attr(\"transform\", function(d) {\n",
       "\t      var v0 = x0(d);\n",
       "\t      return \"translate(\" + (isFinite(v0) ? v0 : x1(d)) + \",0)\";\n",
       "\t    });\n",
       "\t  }\n",
       "\t  function d3_svg_axisY(selection, y0, y1) {\n",
       "\t    selection.attr(\"transform\", function(d) {\n",
       "\t      var v0 = y0(d);\n",
       "\t      return \"translate(0,\" + (isFinite(v0) ? v0 : y1(d)) + \")\";\n",
       "\t    });\n",
       "\t  }\n",
       "\t  d3.svg.brush = function() {\n",
       "\t    var event = d3_eventDispatch(brush, \"brushstart\", \"brush\", \"brushend\"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0];\n",
       "\t    function brush(g) {\n",
       "\t      g.each(function() {\n",
       "\t        var g = d3.select(this).style(\"pointer-events\", \"all\").style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\").on(\"mousedown.brush\", brushstart).on(\"touchstart.brush\", brushstart);\n",
       "\t        var background = g.selectAll(\".background\").data([ 0 ]);\n",
       "\t        background.enter().append(\"rect\").attr(\"class\", \"background\").style(\"visibility\", \"hidden\").style(\"cursor\", \"crosshair\");\n",
       "\t        g.selectAll(\".extent\").data([ 0 ]).enter().append(\"rect\").attr(\"class\", \"extent\").style(\"cursor\", \"move\");\n",
       "\t        var resize = g.selectAll(\".resize\").data(resizes, d3_identity);\n",
       "\t        resize.exit().remove();\n",
       "\t        resize.enter().append(\"g\").attr(\"class\", function(d) {\n",
       "\t          return \"resize \" + d;\n",
       "\t        }).style(\"cursor\", function(d) {\n",
       "\t          return d3_svg_brushCursor[d];\n",
       "\t        }).append(\"rect\").attr(\"x\", function(d) {\n",
       "\t          return /[ew]$/.test(d) ? -3 : null;\n",
       "\t        }).attr(\"y\", function(d) {\n",
       "\t          return /^[ns]/.test(d) ? -3 : null;\n",
       "\t        }).attr(\"width\", 6).attr(\"height\", 6).style(\"visibility\", \"hidden\");\n",
       "\t        resize.style(\"display\", brush.empty() ? \"none\" : null);\n",
       "\t        var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range;\n",
       "\t        if (x) {\n",
       "\t          range = d3_scaleRange(x);\n",
       "\t          backgroundUpdate.attr(\"x\", range[0]).attr(\"width\", range[1] - range[0]);\n",
       "\t          redrawX(gUpdate);\n",
       "\t        }\n",
       "\t        if (y) {\n",
       "\t          range = d3_scaleRange(y);\n",
       "\t          backgroundUpdate.attr(\"y\", range[0]).attr(\"height\", range[1] - range[0]);\n",
       "\t          redrawY(gUpdate);\n",
       "\t        }\n",
       "\t        redraw(gUpdate);\n",
       "\t      });\n",
       "\t    }\n",
       "\t    brush.event = function(g) {\n",
       "\t      g.each(function() {\n",
       "\t        var event_ = event.of(this, arguments), extent1 = {\n",
       "\t          x: xExtent,\n",
       "\t          y: yExtent,\n",
       "\t          i: xExtentDomain,\n",
       "\t          j: yExtentDomain\n",
       "\t        }, extent0 = this.__chart__ || extent1;\n",
       "\t        this.__chart__ = extent1;\n",
       "\t        if (d3_transitionInheritId) {\n",
       "\t          d3.select(this).transition().each(\"start.brush\", function() {\n",
       "\t            xExtentDomain = extent0.i;\n",
       "\t            yExtentDomain = extent0.j;\n",
       "\t            xExtent = extent0.x;\n",
       "\t            yExtent = extent0.y;\n",
       "\t            event_({\n",
       "\t              type: \"brushstart\"\n",
       "\t            });\n",
       "\t          }).tween(\"brush:brush\", function() {\n",
       "\t            var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y);\n",
       "\t            xExtentDomain = yExtentDomain = null;\n",
       "\t            return function(t) {\n",
       "\t              xExtent = extent1.x = xi(t);\n",
       "\t              yExtent = extent1.y = yi(t);\n",
       "\t              event_({\n",
       "\t                type: \"brush\",\n",
       "\t                mode: \"resize\"\n",
       "\t              });\n",
       "\t            };\n",
       "\t          }).each(\"end.brush\", function() {\n",
       "\t            xExtentDomain = extent1.i;\n",
       "\t            yExtentDomain = extent1.j;\n",
       "\t            event_({\n",
       "\t              type: \"brush\",\n",
       "\t              mode: \"resize\"\n",
       "\t            });\n",
       "\t            event_({\n",
       "\t              type: \"brushend\"\n",
       "\t            });\n",
       "\t          });\n",
       "\t        } else {\n",
       "\t          event_({\n",
       "\t            type: \"brushstart\"\n",
       "\t          });\n",
       "\t          event_({\n",
       "\t            type: \"brush\",\n",
       "\t            mode: \"resize\"\n",
       "\t          });\n",
       "\t          event_({\n",
       "\t            type: \"brushend\"\n",
       "\t          });\n",
       "\t        }\n",
       "\t      });\n",
       "\t    };\n",
       "\t    function redraw(g) {\n",
       "\t      g.selectAll(\".resize\").attr(\"transform\", function(d) {\n",
       "\t        return \"translate(\" + xExtent[+/e$/.test(d)] + \",\" + yExtent[+/^s/.test(d)] + \")\";\n",
       "\t      });\n",
       "\t    }\n",
       "\t    function redrawX(g) {\n",
       "\t      g.select(\".extent\").attr(\"x\", xExtent[0]);\n",
       "\t      g.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\", xExtent[1] - xExtent[0]);\n",
       "\t    }\n",
       "\t    function redrawY(g) {\n",
       "\t      g.select(\".extent\").attr(\"y\", yExtent[0]);\n",
       "\t      g.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\", yExtent[1] - yExtent[0]);\n",
       "\t    }\n",
       "\t    function brushstart() {\n",
       "\t      var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed(\"extent\"), dragRestore = d3_event_dragSuppress(target), center, origin = d3.mouse(target), offset;\n",
       "\t      var w = d3.select(d3_window(target)).on(\"keydown.brush\", keydown).on(\"keyup.brush\", keyup);\n",
       "\t      if (d3.event.changedTouches) {\n",
       "\t        w.on(\"touchmove.brush\", brushmove).on(\"touchend.brush\", brushend);\n",
       "\t      } else {\n",
       "\t        w.on(\"mousemove.brush\", brushmove).on(\"mouseup.brush\", brushend);\n",
       "\t      }\n",
       "\t      g.interrupt().selectAll(\"*\").interrupt();\n",
       "\t      if (dragging) {\n",
       "\t        origin[0] = xExtent[0] - origin[0];\n",
       "\t        origin[1] = yExtent[0] - origin[1];\n",
       "\t      } else if (resizing) {\n",
       "\t        var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing);\n",
       "\t        offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ];\n",
       "\t        origin[0] = xExtent[ex];\n",
       "\t        origin[1] = yExtent[ey];\n",
       "\t      } else if (d3.event.altKey) center = origin.slice();\n",
       "\t      g.style(\"pointer-events\", \"none\").selectAll(\".resize\").style(\"display\", null);\n",
       "\t      d3.select(\"body\").style(\"cursor\", eventTarget.style(\"cursor\"));\n",
       "\t      event_({\n",
       "\t        type: \"brushstart\"\n",
       "\t      });\n",
       "\t      brushmove();\n",
       "\t      function keydown() {\n",
       "\t        if (d3.event.keyCode == 32) {\n",
       "\t          if (!dragging) {\n",
       "\t            center = null;\n",
       "\t            origin[0] -= xExtent[1];\n",
       "\t            origin[1] -= yExtent[1];\n",
       "\t            dragging = 2;\n",
       "\t          }\n",
       "\t          d3_eventPreventDefault();\n",
       "\t        }\n",
       "\t      }\n",
       "\t      function keyup() {\n",
       "\t        if (d3.event.keyCode == 32 && dragging == 2) {\n",
       "\t          origin[0] += xExtent[1];\n",
       "\t          origin[1] += yExtent[1];\n",
       "\t          dragging = 0;\n",
       "\t          d3_eventPreventDefault();\n",
       "\t        }\n",
       "\t      }\n",
       "\t      function brushmove() {\n",
       "\t        var point = d3.mouse(target), moved = false;\n",
       "\t        if (offset) {\n",
       "\t          point[0] += offset[0];\n",
       "\t          point[1] += offset[1];\n",
       "\t        }\n",
       "\t        if (!dragging) {\n",
       "\t          if (d3.event.altKey) {\n",
       "\t            if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ];\n",
       "\t            origin[0] = xExtent[+(point[0] < center[0])];\n",
       "\t            origin[1] = yExtent[+(point[1] < center[1])];\n",
       "\t          } else center = null;\n",
       "\t        }\n",
       "\t        if (resizingX && move1(point, x, 0)) {\n",
       "\t          redrawX(g);\n",
       "\t          moved = true;\n",
       "\t        }\n",
       "\t        if (resizingY && move1(point, y, 1)) {\n",
       "\t          redrawY(g);\n",
       "\t          moved = true;\n",
       "\t        }\n",
       "\t        if (moved) {\n",
       "\t          redraw(g);\n",
       "\t          event_({\n",
       "\t            type: \"brush\",\n",
       "\t            mode: dragging ? \"move\" : \"resize\"\n",
       "\t          });\n",
       "\t        }\n",
       "\t      }\n",
       "\t      function move1(point, scale, i) {\n",
       "\t        var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max;\n",
       "\t        if (dragging) {\n",
       "\t          r0 -= position;\n",
       "\t          r1 -= size + position;\n",
       "\t        }\n",
       "\t        min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i];\n",
       "\t        if (dragging) {\n",
       "\t          max = (min += position) + size;\n",
       "\t        } else {\n",
       "\t          if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min));\n",
       "\t          if (position < min) {\n",
       "\t            max = min;\n",
       "\t            min = position;\n",
       "\t          } else {\n",
       "\t            max = position;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        if (extent[0] != min || extent[1] != max) {\n",
       "\t          if (i) yExtentDomain = null; else xExtentDomain = null;\n",
       "\t          extent[0] = min;\n",
       "\t          extent[1] = max;\n",
       "\t          return true;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      function brushend() {\n",
       "\t        brushmove();\n",
       "\t        g.style(\"pointer-events\", \"all\").selectAll(\".resize\").style(\"display\", brush.empty() ? \"none\" : null);\n",
       "\t        d3.select(\"body\").style(\"cursor\", null);\n",
       "\t        w.on(\"mousemove.brush\", null).on(\"mouseup.brush\", null).on(\"touchmove.brush\", null).on(\"touchend.brush\", null).on(\"keydown.brush\", null).on(\"keyup.brush\", null);\n",
       "\t        dragRestore();\n",
       "\t        event_({\n",
       "\t          type: \"brushend\"\n",
       "\t        });\n",
       "\t      }\n",
       "\t    }\n",
       "\t    brush.x = function(z) {\n",
       "\t      if (!arguments.length) return x;\n",
       "\t      x = z;\n",
       "\t      resizes = d3_svg_brushResizes[!x << 1 | !y];\n",
       "\t      return brush;\n",
       "\t    };\n",
       "\t    brush.y = function(z) {\n",
       "\t      if (!arguments.length) return y;\n",
       "\t      y = z;\n",
       "\t      resizes = d3_svg_brushResizes[!x << 1 | !y];\n",
       "\t      return brush;\n",
       "\t    };\n",
       "\t    brush.clamp = function(z) {\n",
       "\t      if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null;\n",
       "\t      if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z;\n",
       "\t      return brush;\n",
       "\t    };\n",
       "\t    brush.extent = function(z) {\n",
       "\t      var x0, x1, y0, y1, t;\n",
       "\t      if (!arguments.length) {\n",
       "\t        if (x) {\n",
       "\t          if (xExtentDomain) {\n",
       "\t            x0 = xExtentDomain[0], x1 = xExtentDomain[1];\n",
       "\t          } else {\n",
       "\t            x0 = xExtent[0], x1 = xExtent[1];\n",
       "\t            if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1);\n",
       "\t            if (x1 < x0) t = x0, x0 = x1, x1 = t;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        if (y) {\n",
       "\t          if (yExtentDomain) {\n",
       "\t            y0 = yExtentDomain[0], y1 = yExtentDomain[1];\n",
       "\t          } else {\n",
       "\t            y0 = yExtent[0], y1 = yExtent[1];\n",
       "\t            if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1);\n",
       "\t            if (y1 < y0) t = y0, y0 = y1, y1 = t;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ];\n",
       "\t      }\n",
       "\t      if (x) {\n",
       "\t        x0 = z[0], x1 = z[1];\n",
       "\t        if (y) x0 = x0[0], x1 = x1[0];\n",
       "\t        xExtentDomain = [ x0, x1 ];\n",
       "\t        if (x.invert) x0 = x(x0), x1 = x(x1);\n",
       "\t        if (x1 < x0) t = x0, x0 = x1, x1 = t;\n",
       "\t        if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ];\n",
       "\t      }\n",
       "\t      if (y) {\n",
       "\t        y0 = z[0], y1 = z[1];\n",
       "\t        if (x) y0 = y0[1], y1 = y1[1];\n",
       "\t        yExtentDomain = [ y0, y1 ];\n",
       "\t        if (y.invert) y0 = y(y0), y1 = y(y1);\n",
       "\t        if (y1 < y0) t = y0, y0 = y1, y1 = t;\n",
       "\t        if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ];\n",
       "\t      }\n",
       "\t      return brush;\n",
       "\t    };\n",
       "\t    brush.clear = function() {\n",
       "\t      if (!brush.empty()) {\n",
       "\t        xExtent = [ 0, 0 ], yExtent = [ 0, 0 ];\n",
       "\t        xExtentDomain = yExtentDomain = null;\n",
       "\t      }\n",
       "\t      return brush;\n",
       "\t    };\n",
       "\t    brush.empty = function() {\n",
       "\t      return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1];\n",
       "\t    };\n",
       "\t    return d3.rebind(brush, event, \"on\");\n",
       "\t  };\n",
       "\t  var d3_svg_brushCursor = {\n",
       "\t    n: \"ns-resize\",\n",
       "\t    e: \"ew-resize\",\n",
       "\t    s: \"ns-resize\",\n",
       "\t    w: \"ew-resize\",\n",
       "\t    nw: \"nwse-resize\",\n",
       "\t    ne: \"nesw-resize\",\n",
       "\t    se: \"nwse-resize\",\n",
       "\t    sw: \"nesw-resize\"\n",
       "\t  };\n",
       "\t  var d3_svg_brushResizes = [ [ \"n\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\" ], [ \"e\", \"w\" ], [ \"n\", \"s\" ], [] ];\n",
       "\t  var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat;\n",
       "\t  var d3_time_formatUtc = d3_time_format.utc;\n",
       "\t  var d3_time_formatIso = d3_time_formatUtc(\"%Y-%m-%dT%H:%M:%S.%LZ\");\n",
       "\t  d3_time_format.iso = Date.prototype.toISOString && +new Date(\"2000-01-01T00:00:00.000Z\") ? d3_time_formatIsoNative : d3_time_formatIso;\n",
       "\t  function d3_time_formatIsoNative(date) {\n",
       "\t    return date.toISOString();\n",
       "\t  }\n",
       "\t  d3_time_formatIsoNative.parse = function(string) {\n",
       "\t    var date = new Date(string);\n",
       "\t    return isNaN(date) ? null : date;\n",
       "\t  };\n",
       "\t  d3_time_formatIsoNative.toString = d3_time_formatIso.toString;\n",
       "\t  d3_time.second = d3_time_interval(function(date) {\n",
       "\t    return new d3_date(Math.floor(date / 1e3) * 1e3);\n",
       "\t  }, function(date, offset) {\n",
       "\t    date.setTime(date.getTime() + Math.floor(offset) * 1e3);\n",
       "\t  }, function(date) {\n",
       "\t    return date.getSeconds();\n",
       "\t  });\n",
       "\t  d3_time.seconds = d3_time.second.range;\n",
       "\t  d3_time.seconds.utc = d3_time.second.utc.range;\n",
       "\t  d3_time.minute = d3_time_interval(function(date) {\n",
       "\t    return new d3_date(Math.floor(date / 6e4) * 6e4);\n",
       "\t  }, function(date, offset) {\n",
       "\t    date.setTime(date.getTime() + Math.floor(offset) * 6e4);\n",
       "\t  }, function(date) {\n",
       "\t    return date.getMinutes();\n",
       "\t  });\n",
       "\t  d3_time.minutes = d3_time.minute.range;\n",
       "\t  d3_time.minutes.utc = d3_time.minute.utc.range;\n",
       "\t  d3_time.hour = d3_time_interval(function(date) {\n",
       "\t    var timezone = date.getTimezoneOffset() / 60;\n",
       "\t    return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5);\n",
       "\t  }, function(date, offset) {\n",
       "\t    date.setTime(date.getTime() + Math.floor(offset) * 36e5);\n",
       "\t  }, function(date) {\n",
       "\t    return date.getHours();\n",
       "\t  });\n",
       "\t  d3_time.hours = d3_time.hour.range;\n",
       "\t  d3_time.hours.utc = d3_time.hour.utc.range;\n",
       "\t  d3_time.month = d3_time_interval(function(date) {\n",
       "\t    date = d3_time.day(date);\n",
       "\t    date.setDate(1);\n",
       "\t    return date;\n",
       "\t  }, function(date, offset) {\n",
       "\t    date.setMonth(date.getMonth() + offset);\n",
       "\t  }, function(date) {\n",
       "\t    return date.getMonth();\n",
       "\t  });\n",
       "\t  d3_time.months = d3_time.month.range;\n",
       "\t  d3_time.months.utc = d3_time.month.utc.range;\n",
       "\t  function d3_time_scale(linear, methods, format) {\n",
       "\t    function scale(x) {\n",
       "\t      return linear(x);\n",
       "\t    }\n",
       "\t    scale.invert = function(x) {\n",
       "\t      return d3_time_scaleDate(linear.invert(x));\n",
       "\t    };\n",
       "\t    scale.domain = function(x) {\n",
       "\t      if (!arguments.length) return linear.domain().map(d3_time_scaleDate);\n",
       "\t      linear.domain(x);\n",
       "\t      return scale;\n",
       "\t    };\n",
       "\t    function tickMethod(extent, count) {\n",
       "\t      var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target);\n",
       "\t      return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) {\n",
       "\t        return d / 31536e6;\n",
       "\t      }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i];\n",
       "\t    }\n",
       "\t    scale.nice = function(interval, skip) {\n",
       "\t      var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" && tickMethod(extent, interval);\n",
       "\t      if (method) interval = method[0], skip = method[1];\n",
       "\t      function skipped(date) {\n",
       "\t        return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length;\n",
       "\t      }\n",
       "\t      return scale.domain(d3_scale_nice(domain, skip > 1 ? {\n",
       "\t        floor: function(date) {\n",
       "\t          while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1);\n",
       "\t          return date;\n",
       "\t        },\n",
       "\t        ceil: function(date) {\n",
       "\t          while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1);\n",
       "\t          return date;\n",
       "\t        }\n",
       "\t      } : interval));\n",
       "\t    };\n",
       "\t    scale.ticks = function(interval, skip) {\n",
       "\t      var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === \"number\" ? tickMethod(extent, interval) : !interval.range && [ {\n",
       "\t        range: interval\n",
       "\t      }, skip ];\n",
       "\t      if (method) interval = method[0], skip = method[1];\n",
       "\t      return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip);\n",
       "\t    };\n",
       "\t    scale.tickFormat = function() {\n",
       "\t      return format;\n",
       "\t    };\n",
       "\t    scale.copy = function() {\n",
       "\t      return d3_time_scale(linear.copy(), methods, format);\n",
       "\t    };\n",
       "\t    return d3_scale_linearRebind(scale, linear);\n",
       "\t  }\n",
       "\t  function d3_time_scaleDate(t) {\n",
       "\t    return new Date(t);\n",
       "\t  }\n",
       "\t  var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ];\n",
       "\t  var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ];\n",
       "\t  var d3_time_scaleLocalFormat = d3_time_format.multi([ [ \".%L\", function(d) {\n",
       "\t    return d.getMilliseconds();\n",
       "\t  } ], [ \":%S\", function(d) {\n",
       "\t    return d.getSeconds();\n",
       "\t  } ], [ \"%I:%M\", function(d) {\n",
       "\t    return d.getMinutes();\n",
       "\t  } ], [ \"%I %p\", function(d) {\n",
       "\t    return d.getHours();\n",
       "\t  } ], [ \"%a %d\", function(d) {\n",
       "\t    return d.getDay() && d.getDate() != 1;\n",
       "\t  } ], [ \"%b %d\", function(d) {\n",
       "\t    return d.getDate() != 1;\n",
       "\t  } ], [ \"%B\", function(d) {\n",
       "\t    return d.getMonth();\n",
       "\t  } ], [ \"%Y\", d3_true ] ]);\n",
       "\t  var d3_time_scaleMilliseconds = {\n",
       "\t    range: function(start, stop, step) {\n",
       "\t      return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate);\n",
       "\t    },\n",
       "\t    floor: d3_identity,\n",
       "\t    ceil: d3_identity\n",
       "\t  };\n",
       "\t  d3_time_scaleLocalMethods.year = d3_time.year;\n",
       "\t  d3_time.scale = function() {\n",
       "\t    return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat);\n",
       "\t  };\n",
       "\t  var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) {\n",
       "\t    return [ m[0].utc, m[1] ];\n",
       "\t  });\n",
       "\t  var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ \".%L\", function(d) {\n",
       "\t    return d.getUTCMilliseconds();\n",
       "\t  } ], [ \":%S\", function(d) {\n",
       "\t    return d.getUTCSeconds();\n",
       "\t  } ], [ \"%I:%M\", function(d) {\n",
       "\t    return d.getUTCMinutes();\n",
       "\t  } ], [ \"%I %p\", function(d) {\n",
       "\t    return d.getUTCHours();\n",
       "\t  } ], [ \"%a %d\", function(d) {\n",
       "\t    return d.getUTCDay() && d.getUTCDate() != 1;\n",
       "\t  } ], [ \"%b %d\", function(d) {\n",
       "\t    return d.getUTCDate() != 1;\n",
       "\t  } ], [ \"%B\", function(d) {\n",
       "\t    return d.getUTCMonth();\n",
       "\t  } ], [ \"%Y\", d3_true ] ]);\n",
       "\t  d3_time_scaleUtcMethods.year = d3_time.year.utc;\n",
       "\t  d3_time.scale.utc = function() {\n",
       "\t    return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat);\n",
       "\t  };\n",
       "\t  d3.text = d3_xhrType(function(request) {\n",
       "\t    return request.responseText;\n",
       "\t  });\n",
       "\t  d3.json = function(url, callback) {\n",
       "\t    return d3_xhr(url, \"application/json\", d3_json, callback);\n",
       "\t  };\n",
       "\t  function d3_json(request) {\n",
       "\t    return JSON.parse(request.responseText);\n",
       "\t  }\n",
       "\t  d3.html = function(url, callback) {\n",
       "\t    return d3_xhr(url, \"text/html\", d3_html, callback);\n",
       "\t  };\n",
       "\t  function d3_html(request) {\n",
       "\t    var range = d3_document.createRange();\n",
       "\t    range.selectNode(d3_document.body);\n",
       "\t    return range.createContextualFragment(request.responseText);\n",
       "\t  }\n",
       "\t  d3.xml = d3_xhrType(function(request) {\n",
       "\t    return request.responseXML;\n",
       "\t  });\n",
       "\t  if (true) this.d3 = d3, !(__WEBPACK_AMD_DEFINE_FACTORY__ = (d3), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); else if (typeof module === \"object\" && module.exports) module.exports = d3; else this.d3 = d3;\n",
       "\t}();\n",
       "\n",
       "/***/ }),\n",
       "/* 3 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t\n",
       "\tObject.defineProperty(exports, \"__esModule\", {\n",
       "\t  value: true\n",
       "\t});\n",
       "\t\n",
       "\tvar _d = __webpack_require__(2);\n",
       "\t\n",
       "\tvar _d2 = _interopRequireDefault(_d);\n",
       "\t\n",
       "\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n",
       "\t\n",
       "\tfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n",
       "\t\n",
       "\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n",
       "\t\n",
       "\tvar Barchart =\n",
       "\t// svg: d3 object with the svg in question\n",
       "\t// exp_array: list of (feature_name, weight)\n",
       "\tfunction Barchart(svg, exp_array) {\n",
       "\t  var two_sided = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n",
       "\t  var titles = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;\n",
       "\t  var colors = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : ['red', 'green'];\n",
       "\t  var show_numbers = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n",
       "\t  var bar_height = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 5;\n",
       "\t\n",
       "\t  _classCallCheck(this, Barchart);\n",
       "\t\n",
       "\t  var svg_width = Math.min(600, parseInt(svg.style('width')));\n",
       "\t  var bar_width = two_sided ? svg_width / 2 : svg_width;\n",
       "\t  if (titles === undefined) {\n",
       "\t    titles = two_sided ? ['Cons', 'Pros'] : 'Pros';\n",
       "\t  }\n",
       "\t  if (show_numbers) {\n",
       "\t    bar_width = bar_width - 30;\n",
       "\t  }\n",
       "\t  var x_offset = two_sided ? svg_width / 2 : 10;\n",
       "\t  // 13.1 is +- the width of W, the widest letter.\n",
       "\t  if (two_sided && titles.length == 2) {\n",
       "\t    svg.append('text').attr('x', svg_width / 4).attr('y', 15).attr('font-size', '20').attr('text-anchor', 'middle').style('fill', colors[0]).text(titles[0]);\n",
       "\t\n",
       "\t    svg.append('text').attr('x', svg_width / 4 * 3).attr('y', 15).attr('font-size', '20').attr('text-anchor', 'middle').style('fill', colors[1]).text(titles[1]);\n",
       "\t  } else {\n",
       "\t    var pos = two_sided ? svg_width / 2 : x_offset;\n",
       "\t    var anchor = two_sided ? 'middle' : 'begin';\n",
       "\t    svg.append('text').attr('x', pos).attr('y', 15).attr('font-size', '20').attr('text-anchor', anchor).text(titles);\n",
       "\t  }\n",
       "\t  var yshift = 20;\n",
       "\t  var space_between_bars = 0;\n",
       "\t  var text_height = 16;\n",
       "\t  var space_between_bar_and_text = 3;\n",
       "\t  var total_bar_height = text_height + space_between_bar_and_text + bar_height + space_between_bars;\n",
       "\t  var total_height = total_bar_height * exp_array.length;\n",
       "\t  this.svg_height = total_height + yshift;\n",
       "\t  var yscale = _d2.default.scale.linear().domain([0, exp_array.length]).range([yshift, yshift + total_height]);\n",
       "\t  var names = exp_array.map(function (v) {\n",
       "\t    return v[0];\n",
       "\t  });\n",
       "\t  var weights = exp_array.map(function (v) {\n",
       "\t    return v[1];\n",
       "\t  });\n",
       "\t  var max_weight = Math.max.apply(Math, _toConsumableArray(weights.map(function (v) {\n",
       "\t    return Math.abs(v);\n",
       "\t  })));\n",
       "\t  var xscale = _d2.default.scale.linear().domain([0, Math.max(1, max_weight)]).range([0, bar_width]);\n",
       "\t\n",
       "\t  for (var i = 0; i < exp_array.length; ++i) {\n",
       "\t    var name = names[i];\n",
       "\t    var weight = weights[i];\n",
       "\t    var size = xscale(Math.abs(weight));\n",
       "\t    var to_the_right = weight > 0 || !two_sided;\n",
       "\t    var text = svg.append('text').attr('x', to_the_right ? x_offset + 2 : x_offset - 2).attr('y', yscale(i) + text_height).attr('text-anchor', to_the_right ? 'begin' : 'end').attr('font-size', '14').text(name);\n",
       "\t    while (text.node().getBBox()['width'] + 1 > bar_width) {\n",
       "\t      var cur_text = text.text().slice(0, text.text().length - 5);\n",
       "\t      text.text(cur_text + '...');\n",
       "\t      if (text === '...') {\n",
       "\t        break;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    var bar = svg.append('rect').attr('height', bar_height).attr('x', to_the_right ? x_offset : x_offset - size).attr('y', text_height + yscale(i) + space_between_bar_and_text) // + bar_height)\n",
       "\t    .attr('width', size).style('fill', weight > 0 ? colors[1] : colors[0]);\n",
       "\t    if (show_numbers) {\n",
       "\t      var bartext = svg.append('text').attr('x', to_the_right ? x_offset + size + 1 : x_offset - size - 1).attr('text-anchor', weight > 0 || !two_sided ? 'begin' : 'end').attr('y', bar_height + yscale(i) + text_height + space_between_bar_and_text).attr('font-size', '10').text(Math.abs(weight).toFixed(2));\n",
       "\t    }\n",
       "\t  }\n",
       "\t  var line = svg.append(\"line\").attr(\"x1\", x_offset).attr(\"x2\", x_offset).attr(\"y1\", bar_height + yshift).attr(\"y2\", Math.max(bar_height, yscale(exp_array.length))).style(\"stroke-width\", 2).style(\"stroke\", \"black\");\n",
       "\t};\n",
       "\t\n",
       "\texports.default = Barchart;\n",
       "\n",
       "/***/ }),\n",
       "/* 4 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {/**\n",
       "\t * @license\n",
       "\t * Lodash <https://lodash.com/>\n",
       "\t * Copyright JS Foundation and other contributors <https://js.foundation/>\n",
       "\t * Released under MIT license <https://lodash.com/license>\n",
       "\t * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n",
       "\t * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n",
       "\t */\n",
       "\t;(function() {\n",
       "\t\n",
       "\t  /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n",
       "\t  var undefined;\n",
       "\t\n",
       "\t  /** Used as the semantic version number. */\n",
       "\t  var VERSION = '4.17.11';\n",
       "\t\n",
       "\t  /** Used as the size to enable large array optimizations. */\n",
       "\t  var LARGE_ARRAY_SIZE = 200;\n",
       "\t\n",
       "\t  /** Error message constants. */\n",
       "\t  var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n",
       "\t      FUNC_ERROR_TEXT = 'Expected a function';\n",
       "\t\n",
       "\t  /** Used to stand-in for `undefined` hash values. */\n",
       "\t  var HASH_UNDEFINED = '__lodash_hash_undefined__';\n",
       "\t\n",
       "\t  /** Used as the maximum memoize cache size. */\n",
       "\t  var MAX_MEMOIZE_SIZE = 500;\n",
       "\t\n",
       "\t  /** Used as the internal argument placeholder. */\n",
       "\t  var PLACEHOLDER = '__lodash_placeholder__';\n",
       "\t\n",
       "\t  /** Used to compose bitmasks for cloning. */\n",
       "\t  var CLONE_DEEP_FLAG = 1,\n",
       "\t      CLONE_FLAT_FLAG = 2,\n",
       "\t      CLONE_SYMBOLS_FLAG = 4;\n",
       "\t\n",
       "\t  /** Used to compose bitmasks for value comparisons. */\n",
       "\t  var COMPARE_PARTIAL_FLAG = 1,\n",
       "\t      COMPARE_UNORDERED_FLAG = 2;\n",
       "\t\n",
       "\t  /** Used to compose bitmasks for function metadata. */\n",
       "\t  var WRAP_BIND_FLAG = 1,\n",
       "\t      WRAP_BIND_KEY_FLAG = 2,\n",
       "\t      WRAP_CURRY_BOUND_FLAG = 4,\n",
       "\t      WRAP_CURRY_FLAG = 8,\n",
       "\t      WRAP_CURRY_RIGHT_FLAG = 16,\n",
       "\t      WRAP_PARTIAL_FLAG = 32,\n",
       "\t      WRAP_PARTIAL_RIGHT_FLAG = 64,\n",
       "\t      WRAP_ARY_FLAG = 128,\n",
       "\t      WRAP_REARG_FLAG = 256,\n",
       "\t      WRAP_FLIP_FLAG = 512;\n",
       "\t\n",
       "\t  /** Used as default options for `_.truncate`. */\n",
       "\t  var DEFAULT_TRUNC_LENGTH = 30,\n",
       "\t      DEFAULT_TRUNC_OMISSION = '...';\n",
       "\t\n",
       "\t  /** Used to detect hot functions by number of calls within a span of milliseconds. */\n",
       "\t  var HOT_COUNT = 800,\n",
       "\t      HOT_SPAN = 16;\n",
       "\t\n",
       "\t  /** Used to indicate the type of lazy iteratees. */\n",
       "\t  var LAZY_FILTER_FLAG = 1,\n",
       "\t      LAZY_MAP_FLAG = 2,\n",
       "\t      LAZY_WHILE_FLAG = 3;\n",
       "\t\n",
       "\t  /** Used as references for various `Number` constants. */\n",
       "\t  var INFINITY = 1 / 0,\n",
       "\t      MAX_SAFE_INTEGER = 9007199254740991,\n",
       "\t      MAX_INTEGER = 1.7976931348623157e+308,\n",
       "\t      NAN = 0 / 0;\n",
       "\t\n",
       "\t  /** Used as references for the maximum length and index of an array. */\n",
       "\t  var MAX_ARRAY_LENGTH = 4294967295,\n",
       "\t      MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n",
       "\t      HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n",
       "\t\n",
       "\t  /** Used to associate wrap methods with their bit flags. */\n",
       "\t  var wrapFlags = [\n",
       "\t    ['ary', WRAP_ARY_FLAG],\n",
       "\t    ['bind', WRAP_BIND_FLAG],\n",
       "\t    ['bindKey', WRAP_BIND_KEY_FLAG],\n",
       "\t    ['curry', WRAP_CURRY_FLAG],\n",
       "\t    ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n",
       "\t    ['flip', WRAP_FLIP_FLAG],\n",
       "\t    ['partial', WRAP_PARTIAL_FLAG],\n",
       "\t    ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n",
       "\t    ['rearg', WRAP_REARG_FLAG]\n",
       "\t  ];\n",
       "\t\n",
       "\t  /** `Object#toString` result references. */\n",
       "\t  var argsTag = '[object Arguments]',\n",
       "\t      arrayTag = '[object Array]',\n",
       "\t      asyncTag = '[object AsyncFunction]',\n",
       "\t      boolTag = '[object Boolean]',\n",
       "\t      dateTag = '[object Date]',\n",
       "\t      domExcTag = '[object DOMException]',\n",
       "\t      errorTag = '[object Error]',\n",
       "\t      funcTag = '[object Function]',\n",
       "\t      genTag = '[object GeneratorFunction]',\n",
       "\t      mapTag = '[object Map]',\n",
       "\t      numberTag = '[object Number]',\n",
       "\t      nullTag = '[object Null]',\n",
       "\t      objectTag = '[object Object]',\n",
       "\t      promiseTag = '[object Promise]',\n",
       "\t      proxyTag = '[object Proxy]',\n",
       "\t      regexpTag = '[object RegExp]',\n",
       "\t      setTag = '[object Set]',\n",
       "\t      stringTag = '[object String]',\n",
       "\t      symbolTag = '[object Symbol]',\n",
       "\t      undefinedTag = '[object Undefined]',\n",
       "\t      weakMapTag = '[object WeakMap]',\n",
       "\t      weakSetTag = '[object WeakSet]';\n",
       "\t\n",
       "\t  var arrayBufferTag = '[object ArrayBuffer]',\n",
       "\t      dataViewTag = '[object DataView]',\n",
       "\t      float32Tag = '[object Float32Array]',\n",
       "\t      float64Tag = '[object Float64Array]',\n",
       "\t      int8Tag = '[object Int8Array]',\n",
       "\t      int16Tag = '[object Int16Array]',\n",
       "\t      int32Tag = '[object Int32Array]',\n",
       "\t      uint8Tag = '[object Uint8Array]',\n",
       "\t      uint8ClampedTag = '[object Uint8ClampedArray]',\n",
       "\t      uint16Tag = '[object Uint16Array]',\n",
       "\t      uint32Tag = '[object Uint32Array]';\n",
       "\t\n",
       "\t  /** Used to match empty string literals in compiled template source. */\n",
       "\t  var reEmptyStringLeading = /\\b__p \\+= '';/g,\n",
       "\t      reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n",
       "\t      reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n",
       "\t\n",
       "\t  /** Used to match HTML entities and HTML characters. */\n",
       "\t  var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n",
       "\t      reUnescapedHtml = /[&<>\"']/g,\n",
       "\t      reHasEscapedHtml = RegExp(reEscapedHtml.source),\n",
       "\t      reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n",
       "\t\n",
       "\t  /** Used to match template delimiters. */\n",
       "\t  var reEscape = /<%-([\\s\\S]+?)%>/g,\n",
       "\t      reEvaluate = /<%([\\s\\S]+?)%>/g,\n",
       "\t      reInterpolate = /<%=([\\s\\S]+?)%>/g;\n",
       "\t\n",
       "\t  /** Used to match property names within property paths. */\n",
       "\t  var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n",
       "\t      reIsPlainProp = /^\\w*$/,\n",
       "\t      rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Used to match `RegExp`\n",
       "\t   * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n",
       "\t   */\n",
       "\t  var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n",
       "\t      reHasRegExpChar = RegExp(reRegExpChar.source);\n",
       "\t\n",
       "\t  /** Used to match leading and trailing whitespace. */\n",
       "\t  var reTrim = /^\\s+|\\s+$/g,\n",
       "\t      reTrimStart = /^\\s+/,\n",
       "\t      reTrimEnd = /\\s+$/;\n",
       "\t\n",
       "\t  /** Used to match wrap detail comments. */\n",
       "\t  var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n",
       "\t      reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n",
       "\t      reSplitDetails = /,? & /;\n",
       "\t\n",
       "\t  /** Used to match words composed of alphanumeric characters. */\n",
       "\t  var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n",
       "\t\n",
       "\t  /** Used to match backslashes in property paths. */\n",
       "\t  var reEscapeChar = /\\\\(\\\\)?/g;\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Used to match\n",
       "\t   * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n",
       "\t   */\n",
       "\t  var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n",
       "\t\n",
       "\t  /** Used to match `RegExp` flags from their coerced string values. */\n",
       "\t  var reFlags = /\\w*$/;\n",
       "\t\n",
       "\t  /** Used to detect bad signed hexadecimal string values. */\n",
       "\t  var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n",
       "\t\n",
       "\t  /** Used to detect binary string values. */\n",
       "\t  var reIsBinary = /^0b[01]+$/i;\n",
       "\t\n",
       "\t  /** Used to detect host constructors (Safari). */\n",
       "\t  var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n",
       "\t\n",
       "\t  /** Used to detect octal string values. */\n",
       "\t  var reIsOctal = /^0o[0-7]+$/i;\n",
       "\t\n",
       "\t  /** Used to detect unsigned integer values. */\n",
       "\t  var reIsUint = /^(?:0|[1-9]\\d*)$/;\n",
       "\t\n",
       "\t  /** Used to match Latin Unicode letters (excluding mathematical operators). */\n",
       "\t  var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n",
       "\t\n",
       "\t  /** Used to ensure capturing order of template delimiters. */\n",
       "\t  var reNoMatch = /($^)/;\n",
       "\t\n",
       "\t  /** Used to match unescaped characters in compiled string literals. */\n",
       "\t  var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n",
       "\t\n",
       "\t  /** Used to compose unicode character classes. */\n",
       "\t  var rsAstralRange = '\\\\ud800-\\\\udfff',\n",
       "\t      rsComboMarksRange = '\\\\u0300-\\\\u036f',\n",
       "\t      reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n",
       "\t      rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n",
       "\t      rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n",
       "\t      rsDingbatRange = '\\\\u2700-\\\\u27bf',\n",
       "\t      rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n",
       "\t      rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n",
       "\t      rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n",
       "\t      rsPunctuationRange = '\\\\u2000-\\\\u206f',\n",
       "\t      rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n",
       "\t      rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n",
       "\t      rsVarRange = '\\\\ufe0e\\\\ufe0f',\n",
       "\t      rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n",
       "\t\n",
       "\t  /** Used to compose unicode capture groups. */\n",
       "\t  var rsApos = \"['\\u2019]\",\n",
       "\t      rsAstral = '[' + rsAstralRange + ']',\n",
       "\t      rsBreak = '[' + rsBreakRange + ']',\n",
       "\t      rsCombo = '[' + rsComboRange + ']',\n",
       "\t      rsDigits = '\\\\d+',\n",
       "\t      rsDingbat = '[' + rsDingbatRange + ']',\n",
       "\t      rsLower = '[' + rsLowerRange + ']',\n",
       "\t      rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n",
       "\t      rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n",
       "\t      rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n",
       "\t      rsNonAstral = '[^' + rsAstralRange + ']',\n",
       "\t      rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n",
       "\t      rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n",
       "\t      rsUpper = '[' + rsUpperRange + ']',\n",
       "\t      rsZWJ = '\\\\u200d';\n",
       "\t\n",
       "\t  /** Used to compose unicode regexes. */\n",
       "\t  var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n",
       "\t      rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n",
       "\t      rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n",
       "\t      rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n",
       "\t      reOptMod = rsModifier + '?',\n",
       "\t      rsOptVar = '[' + rsVarRange + ']?',\n",
       "\t      rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n",
       "\t      rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n",
       "\t      rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n",
       "\t      rsSeq = rsOptVar + reOptMod + rsOptJoin,\n",
       "\t      rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n",
       "\t      rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n",
       "\t\n",
       "\t  /** Used to match apostrophes. */\n",
       "\t  var reApos = RegExp(rsApos, 'g');\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n",
       "\t   * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n",
       "\t   */\n",
       "\t  var reComboMark = RegExp(rsCombo, 'g');\n",
       "\t\n",
       "\t  /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n",
       "\t  var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n",
       "\t\n",
       "\t  /** Used to match complex or compound words. */\n",
       "\t  var reUnicodeWord = RegExp([\n",
       "\t    rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n",
       "\t    rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n",
       "\t    rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n",
       "\t    rsUpper + '+' + rsOptContrUpper,\n",
       "\t    rsOrdUpper,\n",
       "\t    rsOrdLower,\n",
       "\t    rsDigits,\n",
       "\t    rsEmoji\n",
       "\t  ].join('|'), 'g');\n",
       "\t\n",
       "\t  /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n",
       "\t  var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange  + rsComboRange + rsVarRange + ']');\n",
       "\t\n",
       "\t  /** Used to detect strings that need a more robust regexp to match words. */\n",
       "\t  var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n",
       "\t\n",
       "\t  /** Used to assign default `context` object properties. */\n",
       "\t  var contextProps = [\n",
       "\t    'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n",
       "\t    'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n",
       "\t    'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n",
       "\t    'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n",
       "\t    '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n",
       "\t  ];\n",
       "\t\n",
       "\t  /** Used to make template sourceURLs easier to identify. */\n",
       "\t  var templateCounter = -1;\n",
       "\t\n",
       "\t  /** Used to identify `toStringTag` values of typed arrays. */\n",
       "\t  var typedArrayTags = {};\n",
       "\t  typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n",
       "\t  typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n",
       "\t  typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n",
       "\t  typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n",
       "\t  typedArrayTags[uint32Tag] = true;\n",
       "\t  typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n",
       "\t  typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n",
       "\t  typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n",
       "\t  typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n",
       "\t  typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n",
       "\t  typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n",
       "\t  typedArrayTags[setTag] = typedArrayTags[stringTag] =\n",
       "\t  typedArrayTags[weakMapTag] = false;\n",
       "\t\n",
       "\t  /** Used to identify `toStringTag` values supported by `_.clone`. */\n",
       "\t  var cloneableTags = {};\n",
       "\t  cloneableTags[argsTag] = cloneableTags[arrayTag] =\n",
       "\t  cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n",
       "\t  cloneableTags[boolTag] = cloneableTags[dateTag] =\n",
       "\t  cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n",
       "\t  cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n",
       "\t  cloneableTags[int32Tag] = cloneableTags[mapTag] =\n",
       "\t  cloneableTags[numberTag] = cloneableTags[objectTag] =\n",
       "\t  cloneableTags[regexpTag] = cloneableTags[setTag] =\n",
       "\t  cloneableTags[stringTag] = cloneableTags[symbolTag] =\n",
       "\t  cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n",
       "\t  cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n",
       "\t  cloneableTags[errorTag] = cloneableTags[funcTag] =\n",
       "\t  cloneableTags[weakMapTag] = false;\n",
       "\t\n",
       "\t  /** Used to map Latin Unicode letters to basic Latin letters. */\n",
       "\t  var deburredLetters = {\n",
       "\t    // Latin-1 Supplement block.\n",
       "\t    '\\xc0': 'A',  '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n",
       "\t    '\\xe0': 'a',  '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n",
       "\t    '\\xc7': 'C',  '\\xe7': 'c',\n",
       "\t    '\\xd0': 'D',  '\\xf0': 'd',\n",
       "\t    '\\xc8': 'E',  '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n",
       "\t    '\\xe8': 'e',  '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n",
       "\t    '\\xcc': 'I',  '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n",
       "\t    '\\xec': 'i',  '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n",
       "\t    '\\xd1': 'N',  '\\xf1': 'n',\n",
       "\t    '\\xd2': 'O',  '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n",
       "\t    '\\xf2': 'o',  '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n",
       "\t    '\\xd9': 'U',  '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n",
       "\t    '\\xf9': 'u',  '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n",
       "\t    '\\xdd': 'Y',  '\\xfd': 'y', '\\xff': 'y',\n",
       "\t    '\\xc6': 'Ae', '\\xe6': 'ae',\n",
       "\t    '\\xde': 'Th', '\\xfe': 'th',\n",
       "\t    '\\xdf': 'ss',\n",
       "\t    // Latin Extended-A block.\n",
       "\t    '\\u0100': 'A',  '\\u0102': 'A', '\\u0104': 'A',\n",
       "\t    '\\u0101': 'a',  '\\u0103': 'a', '\\u0105': 'a',\n",
       "\t    '\\u0106': 'C',  '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n",
       "\t    '\\u0107': 'c',  '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n",
       "\t    '\\u010e': 'D',  '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n",
       "\t    '\\u0112': 'E',  '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n",
       "\t    '\\u0113': 'e',  '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n",
       "\t    '\\u011c': 'G',  '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n",
       "\t    '\\u011d': 'g',  '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n",
       "\t    '\\u0124': 'H',  '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n",
       "\t    '\\u0128': 'I',  '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n",
       "\t    '\\u0129': 'i',  '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n",
       "\t    '\\u0134': 'J',  '\\u0135': 'j',\n",
       "\t    '\\u0136': 'K',  '\\u0137': 'k', '\\u0138': 'k',\n",
       "\t    '\\u0139': 'L',  '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n",
       "\t    '\\u013a': 'l',  '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n",
       "\t    '\\u0143': 'N',  '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n",
       "\t    '\\u0144': 'n',  '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n",
       "\t    '\\u014c': 'O',  '\\u014e': 'O', '\\u0150': 'O',\n",
       "\t    '\\u014d': 'o',  '\\u014f': 'o', '\\u0151': 'o',\n",
       "\t    '\\u0154': 'R',  '\\u0156': 'R', '\\u0158': 'R',\n",
       "\t    '\\u0155': 'r',  '\\u0157': 'r', '\\u0159': 'r',\n",
       "\t    '\\u015a': 'S',  '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n",
       "\t    '\\u015b': 's',  '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n",
       "\t    '\\u0162': 'T',  '\\u0164': 'T', '\\u0166': 'T',\n",
       "\t    '\\u0163': 't',  '\\u0165': 't', '\\u0167': 't',\n",
       "\t    '\\u0168': 'U',  '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n",
       "\t    '\\u0169': 'u',  '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n",
       "\t    '\\u0174': 'W',  '\\u0175': 'w',\n",
       "\t    '\\u0176': 'Y',  '\\u0177': 'y', '\\u0178': 'Y',\n",
       "\t    '\\u0179': 'Z',  '\\u017b': 'Z', '\\u017d': 'Z',\n",
       "\t    '\\u017a': 'z',  '\\u017c': 'z', '\\u017e': 'z',\n",
       "\t    '\\u0132': 'IJ', '\\u0133': 'ij',\n",
       "\t    '\\u0152': 'Oe', '\\u0153': 'oe',\n",
       "\t    '\\u0149': \"'n\", '\\u017f': 's'\n",
       "\t  };\n",
       "\t\n",
       "\t  /** Used to map characters to HTML entities. */\n",
       "\t  var htmlEscapes = {\n",
       "\t    '&': '&amp;',\n",
       "\t    '<': '&lt;',\n",
       "\t    '>': '&gt;',\n",
       "\t    '\"': '&quot;',\n",
       "\t    \"'\": '&#39;'\n",
       "\t  };\n",
       "\t\n",
       "\t  /** Used to map HTML entities to characters. */\n",
       "\t  var htmlUnescapes = {\n",
       "\t    '&amp;': '&',\n",
       "\t    '&lt;': '<',\n",
       "\t    '&gt;': '>',\n",
       "\t    '&quot;': '\"',\n",
       "\t    '&#39;': \"'\"\n",
       "\t  };\n",
       "\t\n",
       "\t  /** Used to escape characters for inclusion in compiled string literals. */\n",
       "\t  var stringEscapes = {\n",
       "\t    '\\\\': '\\\\',\n",
       "\t    \"'\": \"'\",\n",
       "\t    '\\n': 'n',\n",
       "\t    '\\r': 'r',\n",
       "\t    '\\u2028': 'u2028',\n",
       "\t    '\\u2029': 'u2029'\n",
       "\t  };\n",
       "\t\n",
       "\t  /** Built-in method references without a dependency on `root`. */\n",
       "\t  var freeParseFloat = parseFloat,\n",
       "\t      freeParseInt = parseInt;\n",
       "\t\n",
       "\t  /** Detect free variable `global` from Node.js. */\n",
       "\t  var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n",
       "\t\n",
       "\t  /** Detect free variable `self`. */\n",
       "\t  var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n",
       "\t\n",
       "\t  /** Used as a reference to the global object. */\n",
       "\t  var root = freeGlobal || freeSelf || Function('return this')();\n",
       "\t\n",
       "\t  /** Detect free variable `exports`. */\n",
       "\t  var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n",
       "\t\n",
       "\t  /** Detect free variable `module`. */\n",
       "\t  var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n",
       "\t\n",
       "\t  /** Detect the popular CommonJS extension `module.exports`. */\n",
       "\t  var moduleExports = freeModule && freeModule.exports === freeExports;\n",
       "\t\n",
       "\t  /** Detect free variable `process` from Node.js. */\n",
       "\t  var freeProcess = moduleExports && freeGlobal.process;\n",
       "\t\n",
       "\t  /** Used to access faster Node.js helpers. */\n",
       "\t  var nodeUtil = (function() {\n",
       "\t    try {\n",
       "\t      // Use `util.types` for Node.js 10+.\n",
       "\t      var types = freeModule && freeModule.require && freeModule.require('util').types;\n",
       "\t\n",
       "\t      if (types) {\n",
       "\t        return types;\n",
       "\t      }\n",
       "\t\n",
       "\t      // Legacy `process.binding('util')` for Node.js < 10.\n",
       "\t      return freeProcess && freeProcess.binding && freeProcess.binding('util');\n",
       "\t    } catch (e) {}\n",
       "\t  }());\n",
       "\t\n",
       "\t  /* Node.js helper references. */\n",
       "\t  var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n",
       "\t      nodeIsDate = nodeUtil && nodeUtil.isDate,\n",
       "\t      nodeIsMap = nodeUtil && nodeUtil.isMap,\n",
       "\t      nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n",
       "\t      nodeIsSet = nodeUtil && nodeUtil.isSet,\n",
       "\t      nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n",
       "\t\n",
       "\t  /*--------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t  /**\n",
       "\t   * A faster alternative to `Function#apply`, this function invokes `func`\n",
       "\t   * with the `this` binding of `thisArg` and the arguments of `args`.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Function} func The function to invoke.\n",
       "\t   * @param {*} thisArg The `this` binding of `func`.\n",
       "\t   * @param {Array} args The arguments to invoke `func` with.\n",
       "\t   * @returns {*} Returns the result of `func`.\n",
       "\t   */\n",
       "\t  function apply(func, thisArg, args) {\n",
       "\t    switch (args.length) {\n",
       "\t      case 0: return func.call(thisArg);\n",
       "\t      case 1: return func.call(thisArg, args[0]);\n",
       "\t      case 2: return func.call(thisArg, args[0], args[1]);\n",
       "\t      case 3: return func.call(thisArg, args[0], args[1], args[2]);\n",
       "\t    }\n",
       "\t    return func.apply(thisArg, args);\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * A specialized version of `baseAggregator` for arrays.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} [array] The array to iterate over.\n",
       "\t   * @param {Function} setter The function to set `accumulator` values.\n",
       "\t   * @param {Function} iteratee The iteratee to transform keys.\n",
       "\t   * @param {Object} accumulator The initial aggregated object.\n",
       "\t   * @returns {Function} Returns `accumulator`.\n",
       "\t   */\n",
       "\t  function arrayAggregator(array, setter, iteratee, accumulator) {\n",
       "\t    var index = -1,\n",
       "\t        length = array == null ? 0 : array.length;\n",
       "\t\n",
       "\t    while (++index < length) {\n",
       "\t      var value = array[index];\n",
       "\t      setter(accumulator, value, iteratee(value), array);\n",
       "\t    }\n",
       "\t    return accumulator;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * A specialized version of `_.forEach` for arrays without support for\n",
       "\t   * iteratee shorthands.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} [array] The array to iterate over.\n",
       "\t   * @param {Function} iteratee The function invoked per iteration.\n",
       "\t   * @returns {Array} Returns `array`.\n",
       "\t   */\n",
       "\t  function arrayEach(array, iteratee) {\n",
       "\t    var index = -1,\n",
       "\t        length = array == null ? 0 : array.length;\n",
       "\t\n",
       "\t    while (++index < length) {\n",
       "\t      if (iteratee(array[index], index, array) === false) {\n",
       "\t        break;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return array;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * A specialized version of `_.forEachRight` for arrays without support for\n",
       "\t   * iteratee shorthands.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} [array] The array to iterate over.\n",
       "\t   * @param {Function} iteratee The function invoked per iteration.\n",
       "\t   * @returns {Array} Returns `array`.\n",
       "\t   */\n",
       "\t  function arrayEachRight(array, iteratee) {\n",
       "\t    var length = array == null ? 0 : array.length;\n",
       "\t\n",
       "\t    while (length--) {\n",
       "\t      if (iteratee(array[length], length, array) === false) {\n",
       "\t        break;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return array;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * A specialized version of `_.every` for arrays without support for\n",
       "\t   * iteratee shorthands.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} [array] The array to iterate over.\n",
       "\t   * @param {Function} predicate The function invoked per iteration.\n",
       "\t   * @returns {boolean} Returns `true` if all elements pass the predicate check,\n",
       "\t   *  else `false`.\n",
       "\t   */\n",
       "\t  function arrayEvery(array, predicate) {\n",
       "\t    var index = -1,\n",
       "\t        length = array == null ? 0 : array.length;\n",
       "\t\n",
       "\t    while (++index < length) {\n",
       "\t      if (!predicate(array[index], index, array)) {\n",
       "\t        return false;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return true;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * A specialized version of `_.filter` for arrays without support for\n",
       "\t   * iteratee shorthands.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} [array] The array to iterate over.\n",
       "\t   * @param {Function} predicate The function invoked per iteration.\n",
       "\t   * @returns {Array} Returns the new filtered array.\n",
       "\t   */\n",
       "\t  function arrayFilter(array, predicate) {\n",
       "\t    var index = -1,\n",
       "\t        length = array == null ? 0 : array.length,\n",
       "\t        resIndex = 0,\n",
       "\t        result = [];\n",
       "\t\n",
       "\t    while (++index < length) {\n",
       "\t      var value = array[index];\n",
       "\t      if (predicate(value, index, array)) {\n",
       "\t        result[resIndex++] = value;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * A specialized version of `_.includes` for arrays without support for\n",
       "\t   * specifying an index to search from.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} [array] The array to inspect.\n",
       "\t   * @param {*} target The value to search for.\n",
       "\t   * @returns {boolean} Returns `true` if `target` is found, else `false`.\n",
       "\t   */\n",
       "\t  function arrayIncludes(array, value) {\n",
       "\t    var length = array == null ? 0 : array.length;\n",
       "\t    return !!length && baseIndexOf(array, value, 0) > -1;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * This function is like `arrayIncludes` except that it accepts a comparator.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} [array] The array to inspect.\n",
       "\t   * @param {*} target The value to search for.\n",
       "\t   * @param {Function} comparator The comparator invoked per element.\n",
       "\t   * @returns {boolean} Returns `true` if `target` is found, else `false`.\n",
       "\t   */\n",
       "\t  function arrayIncludesWith(array, value, comparator) {\n",
       "\t    var index = -1,\n",
       "\t        length = array == null ? 0 : array.length;\n",
       "\t\n",
       "\t    while (++index < length) {\n",
       "\t      if (comparator(value, array[index])) {\n",
       "\t        return true;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return false;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * A specialized version of `_.map` for arrays without support for iteratee\n",
       "\t   * shorthands.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} [array] The array to iterate over.\n",
       "\t   * @param {Function} iteratee The function invoked per iteration.\n",
       "\t   * @returns {Array} Returns the new mapped array.\n",
       "\t   */\n",
       "\t  function arrayMap(array, iteratee) {\n",
       "\t    var index = -1,\n",
       "\t        length = array == null ? 0 : array.length,\n",
       "\t        result = Array(length);\n",
       "\t\n",
       "\t    while (++index < length) {\n",
       "\t      result[index] = iteratee(array[index], index, array);\n",
       "\t    }\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Appends the elements of `values` to `array`.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} array The array to modify.\n",
       "\t   * @param {Array} values The values to append.\n",
       "\t   * @returns {Array} Returns `array`.\n",
       "\t   */\n",
       "\t  function arrayPush(array, values) {\n",
       "\t    var index = -1,\n",
       "\t        length = values.length,\n",
       "\t        offset = array.length;\n",
       "\t\n",
       "\t    while (++index < length) {\n",
       "\t      array[offset + index] = values[index];\n",
       "\t    }\n",
       "\t    return array;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * A specialized version of `_.reduce` for arrays without support for\n",
       "\t   * iteratee shorthands.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} [array] The array to iterate over.\n",
       "\t   * @param {Function} iteratee The function invoked per iteration.\n",
       "\t   * @param {*} [accumulator] The initial value.\n",
       "\t   * @param {boolean} [initAccum] Specify using the first element of `array` as\n",
       "\t   *  the initial value.\n",
       "\t   * @returns {*} Returns the accumulated value.\n",
       "\t   */\n",
       "\t  function arrayReduce(array, iteratee, accumulator, initAccum) {\n",
       "\t    var index = -1,\n",
       "\t        length = array == null ? 0 : array.length;\n",
       "\t\n",
       "\t    if (initAccum && length) {\n",
       "\t      accumulator = array[++index];\n",
       "\t    }\n",
       "\t    while (++index < length) {\n",
       "\t      accumulator = iteratee(accumulator, array[index], index, array);\n",
       "\t    }\n",
       "\t    return accumulator;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * A specialized version of `_.reduceRight` for arrays without support for\n",
       "\t   * iteratee shorthands.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} [array] The array to iterate over.\n",
       "\t   * @param {Function} iteratee The function invoked per iteration.\n",
       "\t   * @param {*} [accumulator] The initial value.\n",
       "\t   * @param {boolean} [initAccum] Specify using the last element of `array` as\n",
       "\t   *  the initial value.\n",
       "\t   * @returns {*} Returns the accumulated value.\n",
       "\t   */\n",
       "\t  function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n",
       "\t    var length = array == null ? 0 : array.length;\n",
       "\t    if (initAccum && length) {\n",
       "\t      accumulator = array[--length];\n",
       "\t    }\n",
       "\t    while (length--) {\n",
       "\t      accumulator = iteratee(accumulator, array[length], length, array);\n",
       "\t    }\n",
       "\t    return accumulator;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * A specialized version of `_.some` for arrays without support for iteratee\n",
       "\t   * shorthands.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} [array] The array to iterate over.\n",
       "\t   * @param {Function} predicate The function invoked per iteration.\n",
       "\t   * @returns {boolean} Returns `true` if any element passes the predicate check,\n",
       "\t   *  else `false`.\n",
       "\t   */\n",
       "\t  function arraySome(array, predicate) {\n",
       "\t    var index = -1,\n",
       "\t        length = array == null ? 0 : array.length;\n",
       "\t\n",
       "\t    while (++index < length) {\n",
       "\t      if (predicate(array[index], index, array)) {\n",
       "\t        return true;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return false;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Gets the size of an ASCII `string`.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} string The string inspect.\n",
       "\t   * @returns {number} Returns the string size.\n",
       "\t   */\n",
       "\t  var asciiSize = baseProperty('length');\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Converts an ASCII `string` to an array.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} string The string to convert.\n",
       "\t   * @returns {Array} Returns the converted array.\n",
       "\t   */\n",
       "\t  function asciiToArray(string) {\n",
       "\t    return string.split('');\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Splits an ASCII `string` into an array of its words.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} The string to inspect.\n",
       "\t   * @returns {Array} Returns the words of `string`.\n",
       "\t   */\n",
       "\t  function asciiWords(string) {\n",
       "\t    return string.match(reAsciiWord) || [];\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n",
       "\t   * without support for iteratee shorthands, which iterates over `collection`\n",
       "\t   * using `eachFunc`.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array|Object} collection The collection to inspect.\n",
       "\t   * @param {Function} predicate The function invoked per iteration.\n",
       "\t   * @param {Function} eachFunc The function to iterate over `collection`.\n",
       "\t   * @returns {*} Returns the found element or its key, else `undefined`.\n",
       "\t   */\n",
       "\t  function baseFindKey(collection, predicate, eachFunc) {\n",
       "\t    var result;\n",
       "\t    eachFunc(collection, function(value, key, collection) {\n",
       "\t      if (predicate(value, key, collection)) {\n",
       "\t        result = key;\n",
       "\t        return false;\n",
       "\t      }\n",
       "\t    });\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of `_.findIndex` and `_.findLastIndex` without\n",
       "\t   * support for iteratee shorthands.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} array The array to inspect.\n",
       "\t   * @param {Function} predicate The function invoked per iteration.\n",
       "\t   * @param {number} fromIndex The index to search from.\n",
       "\t   * @param {boolean} [fromRight] Specify iterating from right to left.\n",
       "\t   * @returns {number} Returns the index of the matched value, else `-1`.\n",
       "\t   */\n",
       "\t  function baseFindIndex(array, predicate, fromIndex, fromRight) {\n",
       "\t    var length = array.length,\n",
       "\t        index = fromIndex + (fromRight ? 1 : -1);\n",
       "\t\n",
       "\t    while ((fromRight ? index-- : ++index < length)) {\n",
       "\t      if (predicate(array[index], index, array)) {\n",
       "\t        return index;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return -1;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} array The array to inspect.\n",
       "\t   * @param {*} value The value to search for.\n",
       "\t   * @param {number} fromIndex The index to search from.\n",
       "\t   * @returns {number} Returns the index of the matched value, else `-1`.\n",
       "\t   */\n",
       "\t  function baseIndexOf(array, value, fromIndex) {\n",
       "\t    return value === value\n",
       "\t      ? strictIndexOf(array, value, fromIndex)\n",
       "\t      : baseFindIndex(array, baseIsNaN, fromIndex);\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * This function is like `baseIndexOf` except that it accepts a comparator.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} array The array to inspect.\n",
       "\t   * @param {*} value The value to search for.\n",
       "\t   * @param {number} fromIndex The index to search from.\n",
       "\t   * @param {Function} comparator The comparator invoked per element.\n",
       "\t   * @returns {number} Returns the index of the matched value, else `-1`.\n",
       "\t   */\n",
       "\t  function baseIndexOfWith(array, value, fromIndex, comparator) {\n",
       "\t    var index = fromIndex - 1,\n",
       "\t        length = array.length;\n",
       "\t\n",
       "\t    while (++index < length) {\n",
       "\t      if (comparator(array[index], value)) {\n",
       "\t        return index;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return -1;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of `_.isNaN` without support for number objects.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {*} value The value to check.\n",
       "\t   * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n",
       "\t   */\n",
       "\t  function baseIsNaN(value) {\n",
       "\t    return value !== value;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of `_.mean` and `_.meanBy` without support for\n",
       "\t   * iteratee shorthands.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} array The array to iterate over.\n",
       "\t   * @param {Function} iteratee The function invoked per iteration.\n",
       "\t   * @returns {number} Returns the mean.\n",
       "\t   */\n",
       "\t  function baseMean(array, iteratee) {\n",
       "\t    var length = array == null ? 0 : array.length;\n",
       "\t    return length ? (baseSum(array, iteratee) / length) : NAN;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of `_.property` without support for deep paths.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} key The key of the property to get.\n",
       "\t   * @returns {Function} Returns the new accessor function.\n",
       "\t   */\n",
       "\t  function baseProperty(key) {\n",
       "\t    return function(object) {\n",
       "\t      return object == null ? undefined : object[key];\n",
       "\t    };\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of `_.propertyOf` without support for deep paths.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Object} object The object to query.\n",
       "\t   * @returns {Function} Returns the new accessor function.\n",
       "\t   */\n",
       "\t  function basePropertyOf(object) {\n",
       "\t    return function(key) {\n",
       "\t      return object == null ? undefined : object[key];\n",
       "\t    };\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of `_.reduce` and `_.reduceRight`, without support\n",
       "\t   * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array|Object} collection The collection to iterate over.\n",
       "\t   * @param {Function} iteratee The function invoked per iteration.\n",
       "\t   * @param {*} accumulator The initial value.\n",
       "\t   * @param {boolean} initAccum Specify using the first or last element of\n",
       "\t   *  `collection` as the initial value.\n",
       "\t   * @param {Function} eachFunc The function to iterate over `collection`.\n",
       "\t   * @returns {*} Returns the accumulated value.\n",
       "\t   */\n",
       "\t  function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n",
       "\t    eachFunc(collection, function(value, index, collection) {\n",
       "\t      accumulator = initAccum\n",
       "\t        ? (initAccum = false, value)\n",
       "\t        : iteratee(accumulator, value, index, collection);\n",
       "\t    });\n",
       "\t    return accumulator;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of `_.sortBy` which uses `comparer` to define the\n",
       "\t   * sort order of `array` and replaces criteria objects with their corresponding\n",
       "\t   * values.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} array The array to sort.\n",
       "\t   * @param {Function} comparer The function to define sort order.\n",
       "\t   * @returns {Array} Returns `array`.\n",
       "\t   */\n",
       "\t  function baseSortBy(array, comparer) {\n",
       "\t    var length = array.length;\n",
       "\t\n",
       "\t    array.sort(comparer);\n",
       "\t    while (length--) {\n",
       "\t      array[length] = array[length].value;\n",
       "\t    }\n",
       "\t    return array;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of `_.sum` and `_.sumBy` without support for\n",
       "\t   * iteratee shorthands.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} array The array to iterate over.\n",
       "\t   * @param {Function} iteratee The function invoked per iteration.\n",
       "\t   * @returns {number} Returns the sum.\n",
       "\t   */\n",
       "\t  function baseSum(array, iteratee) {\n",
       "\t    var result,\n",
       "\t        index = -1,\n",
       "\t        length = array.length;\n",
       "\t\n",
       "\t    while (++index < length) {\n",
       "\t      var current = iteratee(array[index]);\n",
       "\t      if (current !== undefined) {\n",
       "\t        result = result === undefined ? current : (result + current);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of `_.times` without support for iteratee shorthands\n",
       "\t   * or max array length checks.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {number} n The number of times to invoke `iteratee`.\n",
       "\t   * @param {Function} iteratee The function invoked per iteration.\n",
       "\t   * @returns {Array} Returns the array of results.\n",
       "\t   */\n",
       "\t  function baseTimes(n, iteratee) {\n",
       "\t    var index = -1,\n",
       "\t        result = Array(n);\n",
       "\t\n",
       "\t    while (++index < n) {\n",
       "\t      result[index] = iteratee(index);\n",
       "\t    }\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n",
       "\t   * of key-value pairs for `object` corresponding to the property names of `props`.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Object} object The object to query.\n",
       "\t   * @param {Array} props The property names to get values for.\n",
       "\t   * @returns {Object} Returns the key-value pairs.\n",
       "\t   */\n",
       "\t  function baseToPairs(object, props) {\n",
       "\t    return arrayMap(props, function(key) {\n",
       "\t      return [key, object[key]];\n",
       "\t    });\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of `_.unary` without support for storing metadata.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Function} func The function to cap arguments for.\n",
       "\t   * @returns {Function} Returns the new capped function.\n",
       "\t   */\n",
       "\t  function baseUnary(func) {\n",
       "\t    return function(value) {\n",
       "\t      return func(value);\n",
       "\t    };\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * The base implementation of `_.values` and `_.valuesIn` which creates an\n",
       "\t   * array of `object` property values corresponding to the property names\n",
       "\t   * of `props`.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Object} object The object to query.\n",
       "\t   * @param {Array} props The property names to get values for.\n",
       "\t   * @returns {Object} Returns the array of property values.\n",
       "\t   */\n",
       "\t  function baseValues(object, props) {\n",
       "\t    return arrayMap(props, function(key) {\n",
       "\t      return object[key];\n",
       "\t    });\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Checks if a `cache` value for `key` exists.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Object} cache The cache to query.\n",
       "\t   * @param {string} key The key of the entry to check.\n",
       "\t   * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n",
       "\t   */\n",
       "\t  function cacheHas(cache, key) {\n",
       "\t    return cache.has(key);\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n",
       "\t   * that is not found in the character symbols.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} strSymbols The string symbols to inspect.\n",
       "\t   * @param {Array} chrSymbols The character symbols to find.\n",
       "\t   * @returns {number} Returns the index of the first unmatched string symbol.\n",
       "\t   */\n",
       "\t  function charsStartIndex(strSymbols, chrSymbols) {\n",
       "\t    var index = -1,\n",
       "\t        length = strSymbols.length;\n",
       "\t\n",
       "\t    while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n",
       "\t    return index;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n",
       "\t   * that is not found in the character symbols.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} strSymbols The string symbols to inspect.\n",
       "\t   * @param {Array} chrSymbols The character symbols to find.\n",
       "\t   * @returns {number} Returns the index of the last unmatched string symbol.\n",
       "\t   */\n",
       "\t  function charsEndIndex(strSymbols, chrSymbols) {\n",
       "\t    var index = strSymbols.length;\n",
       "\t\n",
       "\t    while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n",
       "\t    return index;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Gets the number of `placeholder` occurrences in `array`.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} array The array to inspect.\n",
       "\t   * @param {*} placeholder The placeholder to search for.\n",
       "\t   * @returns {number} Returns the placeholder count.\n",
       "\t   */\n",
       "\t  function countHolders(array, placeholder) {\n",
       "\t    var length = array.length,\n",
       "\t        result = 0;\n",
       "\t\n",
       "\t    while (length--) {\n",
       "\t      if (array[length] === placeholder) {\n",
       "\t        ++result;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n",
       "\t   * letters to basic Latin letters.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} letter The matched letter to deburr.\n",
       "\t   * @returns {string} Returns the deburred letter.\n",
       "\t   */\n",
       "\t  var deburrLetter = basePropertyOf(deburredLetters);\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Used by `_.escape` to convert characters to HTML entities.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} chr The matched character to escape.\n",
       "\t   * @returns {string} Returns the escaped character.\n",
       "\t   */\n",
       "\t  var escapeHtmlChar = basePropertyOf(htmlEscapes);\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Used by `_.template` to escape characters for inclusion in compiled string literals.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} chr The matched character to escape.\n",
       "\t   * @returns {string} Returns the escaped character.\n",
       "\t   */\n",
       "\t  function escapeStringChar(chr) {\n",
       "\t    return '\\\\' + stringEscapes[chr];\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Gets the value at `key` of `object`.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Object} [object] The object to query.\n",
       "\t   * @param {string} key The key of the property to get.\n",
       "\t   * @returns {*} Returns the property value.\n",
       "\t   */\n",
       "\t  function getValue(object, key) {\n",
       "\t    return object == null ? undefined : object[key];\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Checks if `string` contains Unicode symbols.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} string The string to inspect.\n",
       "\t   * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n",
       "\t   */\n",
       "\t  function hasUnicode(string) {\n",
       "\t    return reHasUnicode.test(string);\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Checks if `string` contains a word composed of Unicode symbols.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} string The string to inspect.\n",
       "\t   * @returns {boolean} Returns `true` if a word is found, else `false`.\n",
       "\t   */\n",
       "\t  function hasUnicodeWord(string) {\n",
       "\t    return reHasUnicodeWord.test(string);\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Converts `iterator` to an array.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Object} iterator The iterator to convert.\n",
       "\t   * @returns {Array} Returns the converted array.\n",
       "\t   */\n",
       "\t  function iteratorToArray(iterator) {\n",
       "\t    var data,\n",
       "\t        result = [];\n",
       "\t\n",
       "\t    while (!(data = iterator.next()).done) {\n",
       "\t      result.push(data.value);\n",
       "\t    }\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Converts `map` to its key-value pairs.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Object} map The map to convert.\n",
       "\t   * @returns {Array} Returns the key-value pairs.\n",
       "\t   */\n",
       "\t  function mapToArray(map) {\n",
       "\t    var index = -1,\n",
       "\t        result = Array(map.size);\n",
       "\t\n",
       "\t    map.forEach(function(value, key) {\n",
       "\t      result[++index] = [key, value];\n",
       "\t    });\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Creates a unary function that invokes `func` with its argument transformed.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Function} func The function to wrap.\n",
       "\t   * @param {Function} transform The argument transform.\n",
       "\t   * @returns {Function} Returns the new function.\n",
       "\t   */\n",
       "\t  function overArg(func, transform) {\n",
       "\t    return function(arg) {\n",
       "\t      return func(transform(arg));\n",
       "\t    };\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Replaces all `placeholder` elements in `array` with an internal placeholder\n",
       "\t   * and returns an array of their indexes.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} array The array to modify.\n",
       "\t   * @param {*} placeholder The placeholder to replace.\n",
       "\t   * @returns {Array} Returns the new array of placeholder indexes.\n",
       "\t   */\n",
       "\t  function replaceHolders(array, placeholder) {\n",
       "\t    var index = -1,\n",
       "\t        length = array.length,\n",
       "\t        resIndex = 0,\n",
       "\t        result = [];\n",
       "\t\n",
       "\t    while (++index < length) {\n",
       "\t      var value = array[index];\n",
       "\t      if (value === placeholder || value === PLACEHOLDER) {\n",
       "\t        array[index] = PLACEHOLDER;\n",
       "\t        result[resIndex++] = index;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Converts `set` to an array of its values.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Object} set The set to convert.\n",
       "\t   * @returns {Array} Returns the values.\n",
       "\t   */\n",
       "\t  function setToArray(set) {\n",
       "\t    var index = -1,\n",
       "\t        result = Array(set.size);\n",
       "\t\n",
       "\t    set.forEach(function(value) {\n",
       "\t      result[++index] = value;\n",
       "\t    });\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Converts `set` to its value-value pairs.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Object} set The set to convert.\n",
       "\t   * @returns {Array} Returns the value-value pairs.\n",
       "\t   */\n",
       "\t  function setToPairs(set) {\n",
       "\t    var index = -1,\n",
       "\t        result = Array(set.size);\n",
       "\t\n",
       "\t    set.forEach(function(value) {\n",
       "\t      result[++index] = [value, value];\n",
       "\t    });\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * A specialized version of `_.indexOf` which performs strict equality\n",
       "\t   * comparisons of values, i.e. `===`.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} array The array to inspect.\n",
       "\t   * @param {*} value The value to search for.\n",
       "\t   * @param {number} fromIndex The index to search from.\n",
       "\t   * @returns {number} Returns the index of the matched value, else `-1`.\n",
       "\t   */\n",
       "\t  function strictIndexOf(array, value, fromIndex) {\n",
       "\t    var index = fromIndex - 1,\n",
       "\t        length = array.length;\n",
       "\t\n",
       "\t    while (++index < length) {\n",
       "\t      if (array[index] === value) {\n",
       "\t        return index;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return -1;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * A specialized version of `_.lastIndexOf` which performs strict equality\n",
       "\t   * comparisons of values, i.e. `===`.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {Array} array The array to inspect.\n",
       "\t   * @param {*} value The value to search for.\n",
       "\t   * @param {number} fromIndex The index to search from.\n",
       "\t   * @returns {number} Returns the index of the matched value, else `-1`.\n",
       "\t   */\n",
       "\t  function strictLastIndexOf(array, value, fromIndex) {\n",
       "\t    var index = fromIndex + 1;\n",
       "\t    while (index--) {\n",
       "\t      if (array[index] === value) {\n",
       "\t        return index;\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return index;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Gets the number of symbols in `string`.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} string The string to inspect.\n",
       "\t   * @returns {number} Returns the string size.\n",
       "\t   */\n",
       "\t  function stringSize(string) {\n",
       "\t    return hasUnicode(string)\n",
       "\t      ? unicodeSize(string)\n",
       "\t      : asciiSize(string);\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Converts `string` to an array.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} string The string to convert.\n",
       "\t   * @returns {Array} Returns the converted array.\n",
       "\t   */\n",
       "\t  function stringToArray(string) {\n",
       "\t    return hasUnicode(string)\n",
       "\t      ? unicodeToArray(string)\n",
       "\t      : asciiToArray(string);\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Used by `_.unescape` to convert HTML entities to characters.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} chr The matched character to unescape.\n",
       "\t   * @returns {string} Returns the unescaped character.\n",
       "\t   */\n",
       "\t  var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Gets the size of a Unicode `string`.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} string The string inspect.\n",
       "\t   * @returns {number} Returns the string size.\n",
       "\t   */\n",
       "\t  function unicodeSize(string) {\n",
       "\t    var result = reUnicode.lastIndex = 0;\n",
       "\t    while (reUnicode.test(string)) {\n",
       "\t      ++result;\n",
       "\t    }\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Converts a Unicode `string` to an array.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} string The string to convert.\n",
       "\t   * @returns {Array} Returns the converted array.\n",
       "\t   */\n",
       "\t  function unicodeToArray(string) {\n",
       "\t    return string.match(reUnicode) || [];\n",
       "\t  }\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Splits a Unicode `string` into an array of its words.\n",
       "\t   *\n",
       "\t   * @private\n",
       "\t   * @param {string} The string to inspect.\n",
       "\t   * @returns {Array} Returns the words of `string`.\n",
       "\t   */\n",
       "\t  function unicodeWords(string) {\n",
       "\t    return string.match(reUnicodeWord) || [];\n",
       "\t  }\n",
       "\t\n",
       "\t  /*--------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t  /**\n",
       "\t   * Create a new pristine `lodash` function using the `context` object.\n",
       "\t   *\n",
       "\t   * @static\n",
       "\t   * @memberOf _\n",
       "\t   * @since 1.1.0\n",
       "\t   * @category Util\n",
       "\t   * @param {Object} [context=root] The context object.\n",
       "\t   * @returns {Function} Returns a new `lodash` function.\n",
       "\t   * @example\n",
       "\t   *\n",
       "\t   * _.mixin({ 'foo': _.constant('foo') });\n",
       "\t   *\n",
       "\t   * var lodash = _.runInContext();\n",
       "\t   * lodash.mixin({ 'bar': lodash.constant('bar') });\n",
       "\t   *\n",
       "\t   * _.isFunction(_.foo);\n",
       "\t   * // => true\n",
       "\t   * _.isFunction(_.bar);\n",
       "\t   * // => false\n",
       "\t   *\n",
       "\t   * lodash.isFunction(lodash.foo);\n",
       "\t   * // => false\n",
       "\t   * lodash.isFunction(lodash.bar);\n",
       "\t   * // => true\n",
       "\t   *\n",
       "\t   * // Create a suped-up `defer` in Node.js.\n",
       "\t   * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n",
       "\t   */\n",
       "\t  var runInContext = (function runInContext(context) {\n",
       "\t    context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n",
       "\t\n",
       "\t    /** Built-in constructor references. */\n",
       "\t    var Array = context.Array,\n",
       "\t        Date = context.Date,\n",
       "\t        Error = context.Error,\n",
       "\t        Function = context.Function,\n",
       "\t        Math = context.Math,\n",
       "\t        Object = context.Object,\n",
       "\t        RegExp = context.RegExp,\n",
       "\t        String = context.String,\n",
       "\t        TypeError = context.TypeError;\n",
       "\t\n",
       "\t    /** Used for built-in method references. */\n",
       "\t    var arrayProto = Array.prototype,\n",
       "\t        funcProto = Function.prototype,\n",
       "\t        objectProto = Object.prototype;\n",
       "\t\n",
       "\t    /** Used to detect overreaching core-js shims. */\n",
       "\t    var coreJsData = context['__core-js_shared__'];\n",
       "\t\n",
       "\t    /** Used to resolve the decompiled source of functions. */\n",
       "\t    var funcToString = funcProto.toString;\n",
       "\t\n",
       "\t    /** Used to check objects for own properties. */\n",
       "\t    var hasOwnProperty = objectProto.hasOwnProperty;\n",
       "\t\n",
       "\t    /** Used to generate unique IDs. */\n",
       "\t    var idCounter = 0;\n",
       "\t\n",
       "\t    /** Used to detect methods masquerading as native. */\n",
       "\t    var maskSrcKey = (function() {\n",
       "\t      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n",
       "\t      return uid ? ('Symbol(src)_1.' + uid) : '';\n",
       "\t    }());\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Used to resolve the\n",
       "\t     * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n",
       "\t     * of values.\n",
       "\t     */\n",
       "\t    var nativeObjectToString = objectProto.toString;\n",
       "\t\n",
       "\t    /** Used to infer the `Object` constructor. */\n",
       "\t    var objectCtorString = funcToString.call(Object);\n",
       "\t\n",
       "\t    /** Used to restore the original `_` reference in `_.noConflict`. */\n",
       "\t    var oldDash = root._;\n",
       "\t\n",
       "\t    /** Used to detect if a method is native. */\n",
       "\t    var reIsNative = RegExp('^' +\n",
       "\t      funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n",
       "\t      .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n",
       "\t    );\n",
       "\t\n",
       "\t    /** Built-in value references. */\n",
       "\t    var Buffer = moduleExports ? context.Buffer : undefined,\n",
       "\t        Symbol = context.Symbol,\n",
       "\t        Uint8Array = context.Uint8Array,\n",
       "\t        allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n",
       "\t        getPrototype = overArg(Object.getPrototypeOf, Object),\n",
       "\t        objectCreate = Object.create,\n",
       "\t        propertyIsEnumerable = objectProto.propertyIsEnumerable,\n",
       "\t        splice = arrayProto.splice,\n",
       "\t        spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n",
       "\t        symIterator = Symbol ? Symbol.iterator : undefined,\n",
       "\t        symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n",
       "\t\n",
       "\t    var defineProperty = (function() {\n",
       "\t      try {\n",
       "\t        var func = getNative(Object, 'defineProperty');\n",
       "\t        func({}, '', {});\n",
       "\t        return func;\n",
       "\t      } catch (e) {}\n",
       "\t    }());\n",
       "\t\n",
       "\t    /** Mocked built-ins. */\n",
       "\t    var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n",
       "\t        ctxNow = Date && Date.now !== root.Date.now && Date.now,\n",
       "\t        ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n",
       "\t\n",
       "\t    /* Built-in method references for those with the same name as other `lodash` methods. */\n",
       "\t    var nativeCeil = Math.ceil,\n",
       "\t        nativeFloor = Math.floor,\n",
       "\t        nativeGetSymbols = Object.getOwnPropertySymbols,\n",
       "\t        nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n",
       "\t        nativeIsFinite = context.isFinite,\n",
       "\t        nativeJoin = arrayProto.join,\n",
       "\t        nativeKeys = overArg(Object.keys, Object),\n",
       "\t        nativeMax = Math.max,\n",
       "\t        nativeMin = Math.min,\n",
       "\t        nativeNow = Date.now,\n",
       "\t        nativeParseInt = context.parseInt,\n",
       "\t        nativeRandom = Math.random,\n",
       "\t        nativeReverse = arrayProto.reverse;\n",
       "\t\n",
       "\t    /* Built-in method references that are verified to be native. */\n",
       "\t    var DataView = getNative(context, 'DataView'),\n",
       "\t        Map = getNative(context, 'Map'),\n",
       "\t        Promise = getNative(context, 'Promise'),\n",
       "\t        Set = getNative(context, 'Set'),\n",
       "\t        WeakMap = getNative(context, 'WeakMap'),\n",
       "\t        nativeCreate = getNative(Object, 'create');\n",
       "\t\n",
       "\t    /** Used to store function metadata. */\n",
       "\t    var metaMap = WeakMap && new WeakMap;\n",
       "\t\n",
       "\t    /** Used to lookup unminified function names. */\n",
       "\t    var realNames = {};\n",
       "\t\n",
       "\t    /** Used to detect maps, sets, and weakmaps. */\n",
       "\t    var dataViewCtorString = toSource(DataView),\n",
       "\t        mapCtorString = toSource(Map),\n",
       "\t        promiseCtorString = toSource(Promise),\n",
       "\t        setCtorString = toSource(Set),\n",
       "\t        weakMapCtorString = toSource(WeakMap);\n",
       "\t\n",
       "\t    /** Used to convert symbols to primitives and strings. */\n",
       "\t    var symbolProto = Symbol ? Symbol.prototype : undefined,\n",
       "\t        symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n",
       "\t        symbolToString = symbolProto ? symbolProto.toString : undefined;\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a `lodash` object which wraps `value` to enable implicit method\n",
       "\t     * chain sequences. Methods that operate on and return arrays, collections,\n",
       "\t     * and functions can be chained together. Methods that retrieve a single value\n",
       "\t     * or may return a primitive value will automatically end the chain sequence\n",
       "\t     * and return the unwrapped value. Otherwise, the value must be unwrapped\n",
       "\t     * with `_#value`.\n",
       "\t     *\n",
       "\t     * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n",
       "\t     * enabled using `_.chain`.\n",
       "\t     *\n",
       "\t     * The execution of chained methods is lazy, that is, it's deferred until\n",
       "\t     * `_#value` is implicitly or explicitly called.\n",
       "\t     *\n",
       "\t     * Lazy evaluation allows several methods to support shortcut fusion.\n",
       "\t     * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n",
       "\t     * the creation of intermediate arrays and can greatly reduce the number of\n",
       "\t     * iteratee executions. Sections of a chain sequence qualify for shortcut\n",
       "\t     * fusion if the section is applied to an array and iteratees accept only\n",
       "\t     * one argument. The heuristic for whether a section qualifies for shortcut\n",
       "\t     * fusion is subject to change.\n",
       "\t     *\n",
       "\t     * Chaining is supported in custom builds as long as the `_#value` method is\n",
       "\t     * directly or indirectly included in the build.\n",
       "\t     *\n",
       "\t     * In addition to lodash methods, wrappers have `Array` and `String` methods.\n",
       "\t     *\n",
       "\t     * The wrapper `Array` methods are:\n",
       "\t     * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n",
       "\t     *\n",
       "\t     * The wrapper `String` methods are:\n",
       "\t     * `replace` and `split`\n",
       "\t     *\n",
       "\t     * The wrapper methods that support shortcut fusion are:\n",
       "\t     * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n",
       "\t     * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n",
       "\t     * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n",
       "\t     *\n",
       "\t     * The chainable wrapper methods are:\n",
       "\t     * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n",
       "\t     * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n",
       "\t     * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n",
       "\t     * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n",
       "\t     * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n",
       "\t     * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n",
       "\t     * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n",
       "\t     * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n",
       "\t     * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n",
       "\t     * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n",
       "\t     * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n",
       "\t     * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n",
       "\t     * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n",
       "\t     * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n",
       "\t     * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n",
       "\t     * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n",
       "\t     * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n",
       "\t     * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n",
       "\t     * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n",
       "\t     * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n",
       "\t     * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n",
       "\t     * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n",
       "\t     * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n",
       "\t     * `zipObject`, `zipObjectDeep`, and `zipWith`\n",
       "\t     *\n",
       "\t     * The wrapper methods that are **not** chainable by default are:\n",
       "\t     * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n",
       "\t     * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n",
       "\t     * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n",
       "\t     * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n",
       "\t     * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n",
       "\t     * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n",
       "\t     * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n",
       "\t     * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n",
       "\t     * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n",
       "\t     * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n",
       "\t     * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n",
       "\t     * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n",
       "\t     * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n",
       "\t     * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n",
       "\t     * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n",
       "\t     * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n",
       "\t     * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n",
       "\t     * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n",
       "\t     * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n",
       "\t     * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n",
       "\t     * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n",
       "\t     * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n",
       "\t     * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n",
       "\t     * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n",
       "\t     * `upperFirst`, `value`, and `words`\n",
       "\t     *\n",
       "\t     * @name _\n",
       "\t     * @constructor\n",
       "\t     * @category Seq\n",
       "\t     * @param {*} value The value to wrap in a `lodash` instance.\n",
       "\t     * @returns {Object} Returns the new `lodash` wrapper instance.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function square(n) {\n",
       "\t     *   return n * n;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var wrapped = _([1, 2, 3]);\n",
       "\t     *\n",
       "\t     * // Returns an unwrapped value.\n",
       "\t     * wrapped.reduce(_.add);\n",
       "\t     * // => 6\n",
       "\t     *\n",
       "\t     * // Returns a wrapped value.\n",
       "\t     * var squares = wrapped.map(square);\n",
       "\t     *\n",
       "\t     * _.isArray(squares);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isArray(squares.value());\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function lodash(value) {\n",
       "\t      if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n",
       "\t        if (value instanceof LodashWrapper) {\n",
       "\t          return value;\n",
       "\t        }\n",
       "\t        if (hasOwnProperty.call(value, '__wrapped__')) {\n",
       "\t          return wrapperClone(value);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return new LodashWrapper(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.create` without support for assigning\n",
       "\t     * properties to the created object.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} proto The object to inherit from.\n",
       "\t     * @returns {Object} Returns the new object.\n",
       "\t     */\n",
       "\t    var baseCreate = (function() {\n",
       "\t      function object() {}\n",
       "\t      return function(proto) {\n",
       "\t        if (!isObject(proto)) {\n",
       "\t          return {};\n",
       "\t        }\n",
       "\t        if (objectCreate) {\n",
       "\t          return objectCreate(proto);\n",
       "\t        }\n",
       "\t        object.prototype = proto;\n",
       "\t        var result = new object;\n",
       "\t        object.prototype = undefined;\n",
       "\t        return result;\n",
       "\t      };\n",
       "\t    }());\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The function whose prototype chain sequence wrappers inherit from.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     */\n",
       "\t    function baseLodash() {\n",
       "\t      // No operation performed.\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base constructor for creating `lodash` wrapper objects.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to wrap.\n",
       "\t     * @param {boolean} [chainAll] Enable explicit method chain sequences.\n",
       "\t     */\n",
       "\t    function LodashWrapper(value, chainAll) {\n",
       "\t      this.__wrapped__ = value;\n",
       "\t      this.__actions__ = [];\n",
       "\t      this.__chain__ = !!chainAll;\n",
       "\t      this.__index__ = 0;\n",
       "\t      this.__values__ = undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * By default, the template delimiters used by lodash are like those in\n",
       "\t     * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n",
       "\t     * following template settings to use alternative delimiters.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @type {Object}\n",
       "\t     */\n",
       "\t    lodash.templateSettings = {\n",
       "\t\n",
       "\t      /**\n",
       "\t       * Used to detect `data` property values to be HTML-escaped.\n",
       "\t       *\n",
       "\t       * @memberOf _.templateSettings\n",
       "\t       * @type {RegExp}\n",
       "\t       */\n",
       "\t      'escape': reEscape,\n",
       "\t\n",
       "\t      /**\n",
       "\t       * Used to detect code to be evaluated.\n",
       "\t       *\n",
       "\t       * @memberOf _.templateSettings\n",
       "\t       * @type {RegExp}\n",
       "\t       */\n",
       "\t      'evaluate': reEvaluate,\n",
       "\t\n",
       "\t      /**\n",
       "\t       * Used to detect `data` property values to inject.\n",
       "\t       *\n",
       "\t       * @memberOf _.templateSettings\n",
       "\t       * @type {RegExp}\n",
       "\t       */\n",
       "\t      'interpolate': reInterpolate,\n",
       "\t\n",
       "\t      /**\n",
       "\t       * Used to reference the data object in the template text.\n",
       "\t       *\n",
       "\t       * @memberOf _.templateSettings\n",
       "\t       * @type {string}\n",
       "\t       */\n",
       "\t      'variable': '',\n",
       "\t\n",
       "\t      /**\n",
       "\t       * Used to import variables into the compiled template.\n",
       "\t       *\n",
       "\t       * @memberOf _.templateSettings\n",
       "\t       * @type {Object}\n",
       "\t       */\n",
       "\t      'imports': {\n",
       "\t\n",
       "\t        /**\n",
       "\t         * A reference to the `lodash` function.\n",
       "\t         *\n",
       "\t         * @memberOf _.templateSettings.imports\n",
       "\t         * @type {Function}\n",
       "\t         */\n",
       "\t        '_': lodash\n",
       "\t      }\n",
       "\t    };\n",
       "\t\n",
       "\t    // Ensure wrappers are instances of `baseLodash`.\n",
       "\t    lodash.prototype = baseLodash.prototype;\n",
       "\t    lodash.prototype.constructor = lodash;\n",
       "\t\n",
       "\t    LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n",
       "\t    LodashWrapper.prototype.constructor = LodashWrapper;\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @constructor\n",
       "\t     * @param {*} value The value to wrap.\n",
       "\t     */\n",
       "\t    function LazyWrapper(value) {\n",
       "\t      this.__wrapped__ = value;\n",
       "\t      this.__actions__ = [];\n",
       "\t      this.__dir__ = 1;\n",
       "\t      this.__filtered__ = false;\n",
       "\t      this.__iteratees__ = [];\n",
       "\t      this.__takeCount__ = MAX_ARRAY_LENGTH;\n",
       "\t      this.__views__ = [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a clone of the lazy wrapper object.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name clone\n",
       "\t     * @memberOf LazyWrapper\n",
       "\t     * @returns {Object} Returns the cloned `LazyWrapper` object.\n",
       "\t     */\n",
       "\t    function lazyClone() {\n",
       "\t      var result = new LazyWrapper(this.__wrapped__);\n",
       "\t      result.__actions__ = copyArray(this.__actions__);\n",
       "\t      result.__dir__ = this.__dir__;\n",
       "\t      result.__filtered__ = this.__filtered__;\n",
       "\t      result.__iteratees__ = copyArray(this.__iteratees__);\n",
       "\t      result.__takeCount__ = this.__takeCount__;\n",
       "\t      result.__views__ = copyArray(this.__views__);\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Reverses the direction of lazy iteration.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name reverse\n",
       "\t     * @memberOf LazyWrapper\n",
       "\t     * @returns {Object} Returns the new reversed `LazyWrapper` object.\n",
       "\t     */\n",
       "\t    function lazyReverse() {\n",
       "\t      if (this.__filtered__) {\n",
       "\t        var result = new LazyWrapper(this);\n",
       "\t        result.__dir__ = -1;\n",
       "\t        result.__filtered__ = true;\n",
       "\t      } else {\n",
       "\t        result = this.clone();\n",
       "\t        result.__dir__ *= -1;\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Extracts the unwrapped value from its lazy wrapper.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name value\n",
       "\t     * @memberOf LazyWrapper\n",
       "\t     * @returns {*} Returns the unwrapped value.\n",
       "\t     */\n",
       "\t    function lazyValue() {\n",
       "\t      var array = this.__wrapped__.value(),\n",
       "\t          dir = this.__dir__,\n",
       "\t          isArr = isArray(array),\n",
       "\t          isRight = dir < 0,\n",
       "\t          arrLength = isArr ? array.length : 0,\n",
       "\t          view = getView(0, arrLength, this.__views__),\n",
       "\t          start = view.start,\n",
       "\t          end = view.end,\n",
       "\t          length = end - start,\n",
       "\t          index = isRight ? end : (start - 1),\n",
       "\t          iteratees = this.__iteratees__,\n",
       "\t          iterLength = iteratees.length,\n",
       "\t          resIndex = 0,\n",
       "\t          takeCount = nativeMin(length, this.__takeCount__);\n",
       "\t\n",
       "\t      if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n",
       "\t        return baseWrapperValue(array, this.__actions__);\n",
       "\t      }\n",
       "\t      var result = [];\n",
       "\t\n",
       "\t      outer:\n",
       "\t      while (length-- && resIndex < takeCount) {\n",
       "\t        index += dir;\n",
       "\t\n",
       "\t        var iterIndex = -1,\n",
       "\t            value = array[index];\n",
       "\t\n",
       "\t        while (++iterIndex < iterLength) {\n",
       "\t          var data = iteratees[iterIndex],\n",
       "\t              iteratee = data.iteratee,\n",
       "\t              type = data.type,\n",
       "\t              computed = iteratee(value);\n",
       "\t\n",
       "\t          if (type == LAZY_MAP_FLAG) {\n",
       "\t            value = computed;\n",
       "\t          } else if (!computed) {\n",
       "\t            if (type == LAZY_FILTER_FLAG) {\n",
       "\t              continue outer;\n",
       "\t            } else {\n",
       "\t              break outer;\n",
       "\t            }\n",
       "\t          }\n",
       "\t        }\n",
       "\t        result[resIndex++] = value;\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    // Ensure `LazyWrapper` is an instance of `baseLodash`.\n",
       "\t    LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n",
       "\t    LazyWrapper.prototype.constructor = LazyWrapper;\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a hash object.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @constructor\n",
       "\t     * @param {Array} [entries] The key-value pairs to cache.\n",
       "\t     */\n",
       "\t    function Hash(entries) {\n",
       "\t      var index = -1,\n",
       "\t          length = entries == null ? 0 : entries.length;\n",
       "\t\n",
       "\t      this.clear();\n",
       "\t      while (++index < length) {\n",
       "\t        var entry = entries[index];\n",
       "\t        this.set(entry[0], entry[1]);\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes all key-value entries from the hash.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name clear\n",
       "\t     * @memberOf Hash\n",
       "\t     */\n",
       "\t    function hashClear() {\n",
       "\t      this.__data__ = nativeCreate ? nativeCreate(null) : {};\n",
       "\t      this.size = 0;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes `key` and its value from the hash.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name delete\n",
       "\t     * @memberOf Hash\n",
       "\t     * @param {Object} hash The hash to modify.\n",
       "\t     * @param {string} key The key of the value to remove.\n",
       "\t     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n",
       "\t     */\n",
       "\t    function hashDelete(key) {\n",
       "\t      var result = this.has(key) && delete this.__data__[key];\n",
       "\t      this.size -= result ? 1 : 0;\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the hash value for `key`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name get\n",
       "\t     * @memberOf Hash\n",
       "\t     * @param {string} key The key of the value to get.\n",
       "\t     * @returns {*} Returns the entry value.\n",
       "\t     */\n",
       "\t    function hashGet(key) {\n",
       "\t      var data = this.__data__;\n",
       "\t      if (nativeCreate) {\n",
       "\t        var result = data[key];\n",
       "\t        return result === HASH_UNDEFINED ? undefined : result;\n",
       "\t      }\n",
       "\t      return hasOwnProperty.call(data, key) ? data[key] : undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if a hash value for `key` exists.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name has\n",
       "\t     * @memberOf Hash\n",
       "\t     * @param {string} key The key of the entry to check.\n",
       "\t     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n",
       "\t     */\n",
       "\t    function hashHas(key) {\n",
       "\t      var data = this.__data__;\n",
       "\t      return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Sets the hash `key` to `value`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name set\n",
       "\t     * @memberOf Hash\n",
       "\t     * @param {string} key The key of the value to set.\n",
       "\t     * @param {*} value The value to set.\n",
       "\t     * @returns {Object} Returns the hash instance.\n",
       "\t     */\n",
       "\t    function hashSet(key, value) {\n",
       "\t      var data = this.__data__;\n",
       "\t      this.size += this.has(key) ? 0 : 1;\n",
       "\t      data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n",
       "\t      return this;\n",
       "\t    }\n",
       "\t\n",
       "\t    // Add methods to `Hash`.\n",
       "\t    Hash.prototype.clear = hashClear;\n",
       "\t    Hash.prototype['delete'] = hashDelete;\n",
       "\t    Hash.prototype.get = hashGet;\n",
       "\t    Hash.prototype.has = hashHas;\n",
       "\t    Hash.prototype.set = hashSet;\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an list cache object.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @constructor\n",
       "\t     * @param {Array} [entries] The key-value pairs to cache.\n",
       "\t     */\n",
       "\t    function ListCache(entries) {\n",
       "\t      var index = -1,\n",
       "\t          length = entries == null ? 0 : entries.length;\n",
       "\t\n",
       "\t      this.clear();\n",
       "\t      while (++index < length) {\n",
       "\t        var entry = entries[index];\n",
       "\t        this.set(entry[0], entry[1]);\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes all key-value entries from the list cache.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name clear\n",
       "\t     * @memberOf ListCache\n",
       "\t     */\n",
       "\t    function listCacheClear() {\n",
       "\t      this.__data__ = [];\n",
       "\t      this.size = 0;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes `key` and its value from the list cache.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name delete\n",
       "\t     * @memberOf ListCache\n",
       "\t     * @param {string} key The key of the value to remove.\n",
       "\t     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n",
       "\t     */\n",
       "\t    function listCacheDelete(key) {\n",
       "\t      var data = this.__data__,\n",
       "\t          index = assocIndexOf(data, key);\n",
       "\t\n",
       "\t      if (index < 0) {\n",
       "\t        return false;\n",
       "\t      }\n",
       "\t      var lastIndex = data.length - 1;\n",
       "\t      if (index == lastIndex) {\n",
       "\t        data.pop();\n",
       "\t      } else {\n",
       "\t        splice.call(data, index, 1);\n",
       "\t      }\n",
       "\t      --this.size;\n",
       "\t      return true;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the list cache value for `key`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name get\n",
       "\t     * @memberOf ListCache\n",
       "\t     * @param {string} key The key of the value to get.\n",
       "\t     * @returns {*} Returns the entry value.\n",
       "\t     */\n",
       "\t    function listCacheGet(key) {\n",
       "\t      var data = this.__data__,\n",
       "\t          index = assocIndexOf(data, key);\n",
       "\t\n",
       "\t      return index < 0 ? undefined : data[index][1];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if a list cache value for `key` exists.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name has\n",
       "\t     * @memberOf ListCache\n",
       "\t     * @param {string} key The key of the entry to check.\n",
       "\t     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n",
       "\t     */\n",
       "\t    function listCacheHas(key) {\n",
       "\t      return assocIndexOf(this.__data__, key) > -1;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Sets the list cache `key` to `value`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name set\n",
       "\t     * @memberOf ListCache\n",
       "\t     * @param {string} key The key of the value to set.\n",
       "\t     * @param {*} value The value to set.\n",
       "\t     * @returns {Object} Returns the list cache instance.\n",
       "\t     */\n",
       "\t    function listCacheSet(key, value) {\n",
       "\t      var data = this.__data__,\n",
       "\t          index = assocIndexOf(data, key);\n",
       "\t\n",
       "\t      if (index < 0) {\n",
       "\t        ++this.size;\n",
       "\t        data.push([key, value]);\n",
       "\t      } else {\n",
       "\t        data[index][1] = value;\n",
       "\t      }\n",
       "\t      return this;\n",
       "\t    }\n",
       "\t\n",
       "\t    // Add methods to `ListCache`.\n",
       "\t    ListCache.prototype.clear = listCacheClear;\n",
       "\t    ListCache.prototype['delete'] = listCacheDelete;\n",
       "\t    ListCache.prototype.get = listCacheGet;\n",
       "\t    ListCache.prototype.has = listCacheHas;\n",
       "\t    ListCache.prototype.set = listCacheSet;\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a map cache object to store key-value pairs.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @constructor\n",
       "\t     * @param {Array} [entries] The key-value pairs to cache.\n",
       "\t     */\n",
       "\t    function MapCache(entries) {\n",
       "\t      var index = -1,\n",
       "\t          length = entries == null ? 0 : entries.length;\n",
       "\t\n",
       "\t      this.clear();\n",
       "\t      while (++index < length) {\n",
       "\t        var entry = entries[index];\n",
       "\t        this.set(entry[0], entry[1]);\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes all key-value entries from the map.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name clear\n",
       "\t     * @memberOf MapCache\n",
       "\t     */\n",
       "\t    function mapCacheClear() {\n",
       "\t      this.size = 0;\n",
       "\t      this.__data__ = {\n",
       "\t        'hash': new Hash,\n",
       "\t        'map': new (Map || ListCache),\n",
       "\t        'string': new Hash\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes `key` and its value from the map.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name delete\n",
       "\t     * @memberOf MapCache\n",
       "\t     * @param {string} key The key of the value to remove.\n",
       "\t     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n",
       "\t     */\n",
       "\t    function mapCacheDelete(key) {\n",
       "\t      var result = getMapData(this, key)['delete'](key);\n",
       "\t      this.size -= result ? 1 : 0;\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the map value for `key`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name get\n",
       "\t     * @memberOf MapCache\n",
       "\t     * @param {string} key The key of the value to get.\n",
       "\t     * @returns {*} Returns the entry value.\n",
       "\t     */\n",
       "\t    function mapCacheGet(key) {\n",
       "\t      return getMapData(this, key).get(key);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if a map value for `key` exists.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name has\n",
       "\t     * @memberOf MapCache\n",
       "\t     * @param {string} key The key of the entry to check.\n",
       "\t     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n",
       "\t     */\n",
       "\t    function mapCacheHas(key) {\n",
       "\t      return getMapData(this, key).has(key);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Sets the map `key` to `value`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name set\n",
       "\t     * @memberOf MapCache\n",
       "\t     * @param {string} key The key of the value to set.\n",
       "\t     * @param {*} value The value to set.\n",
       "\t     * @returns {Object} Returns the map cache instance.\n",
       "\t     */\n",
       "\t    function mapCacheSet(key, value) {\n",
       "\t      var data = getMapData(this, key),\n",
       "\t          size = data.size;\n",
       "\t\n",
       "\t      data.set(key, value);\n",
       "\t      this.size += data.size == size ? 0 : 1;\n",
       "\t      return this;\n",
       "\t    }\n",
       "\t\n",
       "\t    // Add methods to `MapCache`.\n",
       "\t    MapCache.prototype.clear = mapCacheClear;\n",
       "\t    MapCache.prototype['delete'] = mapCacheDelete;\n",
       "\t    MapCache.prototype.get = mapCacheGet;\n",
       "\t    MapCache.prototype.has = mapCacheHas;\n",
       "\t    MapCache.prototype.set = mapCacheSet;\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     *\n",
       "\t     * Creates an array cache object to store unique values.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @constructor\n",
       "\t     * @param {Array} [values] The values to cache.\n",
       "\t     */\n",
       "\t    function SetCache(values) {\n",
       "\t      var index = -1,\n",
       "\t          length = values == null ? 0 : values.length;\n",
       "\t\n",
       "\t      this.__data__ = new MapCache;\n",
       "\t      while (++index < length) {\n",
       "\t        this.add(values[index]);\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Adds `value` to the array cache.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name add\n",
       "\t     * @memberOf SetCache\n",
       "\t     * @alias push\n",
       "\t     * @param {*} value The value to cache.\n",
       "\t     * @returns {Object} Returns the cache instance.\n",
       "\t     */\n",
       "\t    function setCacheAdd(value) {\n",
       "\t      this.__data__.set(value, HASH_UNDEFINED);\n",
       "\t      return this;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is in the array cache.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name has\n",
       "\t     * @memberOf SetCache\n",
       "\t     * @param {*} value The value to search for.\n",
       "\t     * @returns {number} Returns `true` if `value` is found, else `false`.\n",
       "\t     */\n",
       "\t    function setCacheHas(value) {\n",
       "\t      return this.__data__.has(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    // Add methods to `SetCache`.\n",
       "\t    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n",
       "\t    SetCache.prototype.has = setCacheHas;\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a stack cache object to store key-value pairs.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @constructor\n",
       "\t     * @param {Array} [entries] The key-value pairs to cache.\n",
       "\t     */\n",
       "\t    function Stack(entries) {\n",
       "\t      var data = this.__data__ = new ListCache(entries);\n",
       "\t      this.size = data.size;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes all key-value entries from the stack.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name clear\n",
       "\t     * @memberOf Stack\n",
       "\t     */\n",
       "\t    function stackClear() {\n",
       "\t      this.__data__ = new ListCache;\n",
       "\t      this.size = 0;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes `key` and its value from the stack.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name delete\n",
       "\t     * @memberOf Stack\n",
       "\t     * @param {string} key The key of the value to remove.\n",
       "\t     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n",
       "\t     */\n",
       "\t    function stackDelete(key) {\n",
       "\t      var data = this.__data__,\n",
       "\t          result = data['delete'](key);\n",
       "\t\n",
       "\t      this.size = data.size;\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the stack value for `key`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name get\n",
       "\t     * @memberOf Stack\n",
       "\t     * @param {string} key The key of the value to get.\n",
       "\t     * @returns {*} Returns the entry value.\n",
       "\t     */\n",
       "\t    function stackGet(key) {\n",
       "\t      return this.__data__.get(key);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if a stack value for `key` exists.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name has\n",
       "\t     * @memberOf Stack\n",
       "\t     * @param {string} key The key of the entry to check.\n",
       "\t     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n",
       "\t     */\n",
       "\t    function stackHas(key) {\n",
       "\t      return this.__data__.has(key);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Sets the stack `key` to `value`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @name set\n",
       "\t     * @memberOf Stack\n",
       "\t     * @param {string} key The key of the value to set.\n",
       "\t     * @param {*} value The value to set.\n",
       "\t     * @returns {Object} Returns the stack cache instance.\n",
       "\t     */\n",
       "\t    function stackSet(key, value) {\n",
       "\t      var data = this.__data__;\n",
       "\t      if (data instanceof ListCache) {\n",
       "\t        var pairs = data.__data__;\n",
       "\t        if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n",
       "\t          pairs.push([key, value]);\n",
       "\t          this.size = ++data.size;\n",
       "\t          return this;\n",
       "\t        }\n",
       "\t        data = this.__data__ = new MapCache(pairs);\n",
       "\t      }\n",
       "\t      data.set(key, value);\n",
       "\t      this.size = data.size;\n",
       "\t      return this;\n",
       "\t    }\n",
       "\t\n",
       "\t    // Add methods to `Stack`.\n",
       "\t    Stack.prototype.clear = stackClear;\n",
       "\t    Stack.prototype['delete'] = stackDelete;\n",
       "\t    Stack.prototype.get = stackGet;\n",
       "\t    Stack.prototype.has = stackHas;\n",
       "\t    Stack.prototype.set = stackSet;\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of the enumerable property names of the array-like `value`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to query.\n",
       "\t     * @param {boolean} inherited Specify returning inherited property names.\n",
       "\t     * @returns {Array} Returns the array of property names.\n",
       "\t     */\n",
       "\t    function arrayLikeKeys(value, inherited) {\n",
       "\t      var isArr = isArray(value),\n",
       "\t          isArg = !isArr && isArguments(value),\n",
       "\t          isBuff = !isArr && !isArg && isBuffer(value),\n",
       "\t          isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n",
       "\t          skipIndexes = isArr || isArg || isBuff || isType,\n",
       "\t          result = skipIndexes ? baseTimes(value.length, String) : [],\n",
       "\t          length = result.length;\n",
       "\t\n",
       "\t      for (var key in value) {\n",
       "\t        if ((inherited || hasOwnProperty.call(value, key)) &&\n",
       "\t            !(skipIndexes && (\n",
       "\t               // Safari 9 has enumerable `arguments.length` in strict mode.\n",
       "\t               key == 'length' ||\n",
       "\t               // Node.js 0.10 has enumerable non-index properties on buffers.\n",
       "\t               (isBuff && (key == 'offset' || key == 'parent')) ||\n",
       "\t               // PhantomJS 2 has enumerable non-index properties on typed arrays.\n",
       "\t               (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n",
       "\t               // Skip index properties.\n",
       "\t               isIndex(key, length)\n",
       "\t            ))) {\n",
       "\t          result.push(key);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `_.sample` for arrays.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to sample.\n",
       "\t     * @returns {*} Returns the random element.\n",
       "\t     */\n",
       "\t    function arraySample(array) {\n",
       "\t      var length = array.length;\n",
       "\t      return length ? array[baseRandom(0, length - 1)] : undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `_.sampleSize` for arrays.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to sample.\n",
       "\t     * @param {number} n The number of elements to sample.\n",
       "\t     * @returns {Array} Returns the random elements.\n",
       "\t     */\n",
       "\t    function arraySampleSize(array, n) {\n",
       "\t      return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `_.shuffle` for arrays.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to shuffle.\n",
       "\t     * @returns {Array} Returns the new shuffled array.\n",
       "\t     */\n",
       "\t    function arrayShuffle(array) {\n",
       "\t      return shuffleSelf(copyArray(array));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This function is like `assignValue` except that it doesn't assign\n",
       "\t     * `undefined` values.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to modify.\n",
       "\t     * @param {string} key The key of the property to assign.\n",
       "\t     * @param {*} value The value to assign.\n",
       "\t     */\n",
       "\t    function assignMergeValue(object, key, value) {\n",
       "\t      if ((value !== undefined && !eq(object[key], value)) ||\n",
       "\t          (value === undefined && !(key in object))) {\n",
       "\t        baseAssignValue(object, key, value);\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Assigns `value` to `key` of `object` if the existing value is not equivalent\n",
       "\t     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n",
       "\t     * for equality comparisons.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to modify.\n",
       "\t     * @param {string} key The key of the property to assign.\n",
       "\t     * @param {*} value The value to assign.\n",
       "\t     */\n",
       "\t    function assignValue(object, key, value) {\n",
       "\t      var objValue = object[key];\n",
       "\t      if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n",
       "\t          (value === undefined && !(key in object))) {\n",
       "\t        baseAssignValue(object, key, value);\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the index at which the `key` is found in `array` of key-value pairs.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {*} key The key to search for.\n",
       "\t     * @returns {number} Returns the index of the matched value, else `-1`.\n",
       "\t     */\n",
       "\t    function assocIndexOf(array, key) {\n",
       "\t      var length = array.length;\n",
       "\t      while (length--) {\n",
       "\t        if (eq(array[length][0], key)) {\n",
       "\t          return length;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return -1;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Aggregates elements of `collection` on `accumulator` with keys transformed\n",
       "\t     * by `iteratee` and values set by `setter`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} setter The function to set `accumulator` values.\n",
       "\t     * @param {Function} iteratee The iteratee to transform keys.\n",
       "\t     * @param {Object} accumulator The initial aggregated object.\n",
       "\t     * @returns {Function} Returns `accumulator`.\n",
       "\t     */\n",
       "\t    function baseAggregator(collection, setter, iteratee, accumulator) {\n",
       "\t      baseEach(collection, function(value, key, collection) {\n",
       "\t        setter(accumulator, value, iteratee(value), collection);\n",
       "\t      });\n",
       "\t      return accumulator;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.assign` without support for multiple sources\n",
       "\t     * or `customizer` functions.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The destination object.\n",
       "\t     * @param {Object} source The source object.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     */\n",
       "\t    function baseAssign(object, source) {\n",
       "\t      return object && copyObject(source, keys(source), object);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.assignIn` without support for multiple sources\n",
       "\t     * or `customizer` functions.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The destination object.\n",
       "\t     * @param {Object} source The source object.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     */\n",
       "\t    function baseAssignIn(object, source) {\n",
       "\t      return object && copyObject(source, keysIn(source), object);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `assignValue` and `assignMergeValue` without\n",
       "\t     * value checks.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to modify.\n",
       "\t     * @param {string} key The key of the property to assign.\n",
       "\t     * @param {*} value The value to assign.\n",
       "\t     */\n",
       "\t    function baseAssignValue(object, key, value) {\n",
       "\t      if (key == '__proto__' && defineProperty) {\n",
       "\t        defineProperty(object, key, {\n",
       "\t          'configurable': true,\n",
       "\t          'enumerable': true,\n",
       "\t          'value': value,\n",
       "\t          'writable': true\n",
       "\t        });\n",
       "\t      } else {\n",
       "\t        object[key] = value;\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.at` without support for individual paths.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {string[]} paths The property paths to pick.\n",
       "\t     * @returns {Array} Returns the picked elements.\n",
       "\t     */\n",
       "\t    function baseAt(object, paths) {\n",
       "\t      var index = -1,\n",
       "\t          length = paths.length,\n",
       "\t          result = Array(length),\n",
       "\t          skip = object == null;\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        result[index] = skip ? undefined : get(object, paths[index]);\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.clamp` which doesn't coerce arguments.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {number} number The number to clamp.\n",
       "\t     * @param {number} [lower] The lower bound.\n",
       "\t     * @param {number} upper The upper bound.\n",
       "\t     * @returns {number} Returns the clamped number.\n",
       "\t     */\n",
       "\t    function baseClamp(number, lower, upper) {\n",
       "\t      if (number === number) {\n",
       "\t        if (upper !== undefined) {\n",
       "\t          number = number <= upper ? number : upper;\n",
       "\t        }\n",
       "\t        if (lower !== undefined) {\n",
       "\t          number = number >= lower ? number : lower;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return number;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n",
       "\t     * traversed objects.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to clone.\n",
       "\t     * @param {boolean} bitmask The bitmask flags.\n",
       "\t     *  1 - Deep clone\n",
       "\t     *  2 - Flatten inherited properties\n",
       "\t     *  4 - Clone symbols\n",
       "\t     * @param {Function} [customizer] The function to customize cloning.\n",
       "\t     * @param {string} [key] The key of `value`.\n",
       "\t     * @param {Object} [object] The parent object of `value`.\n",
       "\t     * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n",
       "\t     * @returns {*} Returns the cloned value.\n",
       "\t     */\n",
       "\t    function baseClone(value, bitmask, customizer, key, object, stack) {\n",
       "\t      var result,\n",
       "\t          isDeep = bitmask & CLONE_DEEP_FLAG,\n",
       "\t          isFlat = bitmask & CLONE_FLAT_FLAG,\n",
       "\t          isFull = bitmask & CLONE_SYMBOLS_FLAG;\n",
       "\t\n",
       "\t      if (customizer) {\n",
       "\t        result = object ? customizer(value, key, object, stack) : customizer(value);\n",
       "\t      }\n",
       "\t      if (result !== undefined) {\n",
       "\t        return result;\n",
       "\t      }\n",
       "\t      if (!isObject(value)) {\n",
       "\t        return value;\n",
       "\t      }\n",
       "\t      var isArr = isArray(value);\n",
       "\t      if (isArr) {\n",
       "\t        result = initCloneArray(value);\n",
       "\t        if (!isDeep) {\n",
       "\t          return copyArray(value, result);\n",
       "\t        }\n",
       "\t      } else {\n",
       "\t        var tag = getTag(value),\n",
       "\t            isFunc = tag == funcTag || tag == genTag;\n",
       "\t\n",
       "\t        if (isBuffer(value)) {\n",
       "\t          return cloneBuffer(value, isDeep);\n",
       "\t        }\n",
       "\t        if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n",
       "\t          result = (isFlat || isFunc) ? {} : initCloneObject(value);\n",
       "\t          if (!isDeep) {\n",
       "\t            return isFlat\n",
       "\t              ? copySymbolsIn(value, baseAssignIn(result, value))\n",
       "\t              : copySymbols(value, baseAssign(result, value));\n",
       "\t          }\n",
       "\t        } else {\n",
       "\t          if (!cloneableTags[tag]) {\n",
       "\t            return object ? value : {};\n",
       "\t          }\n",
       "\t          result = initCloneByTag(value, tag, isDeep);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      // Check for circular references and return its corresponding clone.\n",
       "\t      stack || (stack = new Stack);\n",
       "\t      var stacked = stack.get(value);\n",
       "\t      if (stacked) {\n",
       "\t        return stacked;\n",
       "\t      }\n",
       "\t      stack.set(value, result);\n",
       "\t\n",
       "\t      if (isSet(value)) {\n",
       "\t        value.forEach(function(subValue) {\n",
       "\t          result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n",
       "\t        });\n",
       "\t\n",
       "\t        return result;\n",
       "\t      }\n",
       "\t\n",
       "\t      if (isMap(value)) {\n",
       "\t        value.forEach(function(subValue, key) {\n",
       "\t          result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n",
       "\t        });\n",
       "\t\n",
       "\t        return result;\n",
       "\t      }\n",
       "\t\n",
       "\t      var keysFunc = isFull\n",
       "\t        ? (isFlat ? getAllKeysIn : getAllKeys)\n",
       "\t        : (isFlat ? keysIn : keys);\n",
       "\t\n",
       "\t      var props = isArr ? undefined : keysFunc(value);\n",
       "\t      arrayEach(props || value, function(subValue, key) {\n",
       "\t        if (props) {\n",
       "\t          key = subValue;\n",
       "\t          subValue = value[key];\n",
       "\t        }\n",
       "\t        // Recursively populate clone (susceptible to call stack limits).\n",
       "\t        assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n",
       "\t      });\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.conforms` which doesn't clone `source`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} source The object of property predicates to conform to.\n",
       "\t     * @returns {Function} Returns the new spec function.\n",
       "\t     */\n",
       "\t    function baseConforms(source) {\n",
       "\t      var props = keys(source);\n",
       "\t      return function(object) {\n",
       "\t        return baseConformsTo(object, source, props);\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.conformsTo` which accepts `props` to check.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to inspect.\n",
       "\t     * @param {Object} source The object of property predicates to conform to.\n",
       "\t     * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n",
       "\t     */\n",
       "\t    function baseConformsTo(object, source, props) {\n",
       "\t      var length = props.length;\n",
       "\t      if (object == null) {\n",
       "\t        return !length;\n",
       "\t      }\n",
       "\t      object = Object(object);\n",
       "\t      while (length--) {\n",
       "\t        var key = props[length],\n",
       "\t            predicate = source[key],\n",
       "\t            value = object[key];\n",
       "\t\n",
       "\t        if ((value === undefined && !(key in object)) || !predicate(value)) {\n",
       "\t          return false;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return true;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.delay` and `_.defer` which accepts `args`\n",
       "\t     * to provide to `func`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to delay.\n",
       "\t     * @param {number} wait The number of milliseconds to delay invocation.\n",
       "\t     * @param {Array} args The arguments to provide to `func`.\n",
       "\t     * @returns {number|Object} Returns the timer id or timeout object.\n",
       "\t     */\n",
       "\t    function baseDelay(func, wait, args) {\n",
       "\t      if (typeof func != 'function') {\n",
       "\t        throw new TypeError(FUNC_ERROR_TEXT);\n",
       "\t      }\n",
       "\t      return setTimeout(function() { func.apply(undefined, args); }, wait);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of methods like `_.difference` without support\n",
       "\t     * for excluding multiple arrays or iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {Array} values The values to exclude.\n",
       "\t     * @param {Function} [iteratee] The iteratee invoked per element.\n",
       "\t     * @param {Function} [comparator] The comparator invoked per element.\n",
       "\t     * @returns {Array} Returns the new array of filtered values.\n",
       "\t     */\n",
       "\t    function baseDifference(array, values, iteratee, comparator) {\n",
       "\t      var index = -1,\n",
       "\t          includes = arrayIncludes,\n",
       "\t          isCommon = true,\n",
       "\t          length = array.length,\n",
       "\t          result = [],\n",
       "\t          valuesLength = values.length;\n",
       "\t\n",
       "\t      if (!length) {\n",
       "\t        return result;\n",
       "\t      }\n",
       "\t      if (iteratee) {\n",
       "\t        values = arrayMap(values, baseUnary(iteratee));\n",
       "\t      }\n",
       "\t      if (comparator) {\n",
       "\t        includes = arrayIncludesWith;\n",
       "\t        isCommon = false;\n",
       "\t      }\n",
       "\t      else if (values.length >= LARGE_ARRAY_SIZE) {\n",
       "\t        includes = cacheHas;\n",
       "\t        isCommon = false;\n",
       "\t        values = new SetCache(values);\n",
       "\t      }\n",
       "\t      outer:\n",
       "\t      while (++index < length) {\n",
       "\t        var value = array[index],\n",
       "\t            computed = iteratee == null ? value : iteratee(value);\n",
       "\t\n",
       "\t        value = (comparator || value !== 0) ? value : 0;\n",
       "\t        if (isCommon && computed === computed) {\n",
       "\t          var valuesIndex = valuesLength;\n",
       "\t          while (valuesIndex--) {\n",
       "\t            if (values[valuesIndex] === computed) {\n",
       "\t              continue outer;\n",
       "\t            }\n",
       "\t          }\n",
       "\t          result.push(value);\n",
       "\t        }\n",
       "\t        else if (!includes(values, computed, comparator)) {\n",
       "\t          result.push(value);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.forEach` without support for iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} iteratee The function invoked per iteration.\n",
       "\t     * @returns {Array|Object} Returns `collection`.\n",
       "\t     */\n",
       "\t    var baseEach = createBaseEach(baseForOwn);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} iteratee The function invoked per iteration.\n",
       "\t     * @returns {Array|Object} Returns `collection`.\n",
       "\t     */\n",
       "\t    var baseEachRight = createBaseEach(baseForOwnRight, true);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.every` without support for iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} predicate The function invoked per iteration.\n",
       "\t     * @returns {boolean} Returns `true` if all elements pass the predicate check,\n",
       "\t     *  else `false`\n",
       "\t     */\n",
       "\t    function baseEvery(collection, predicate) {\n",
       "\t      var result = true;\n",
       "\t      baseEach(collection, function(value, index, collection) {\n",
       "\t        result = !!predicate(value, index, collection);\n",
       "\t        return result;\n",
       "\t      });\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of methods like `_.max` and `_.min` which accepts a\n",
       "\t     * `comparator` to determine the extremum value.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to iterate over.\n",
       "\t     * @param {Function} iteratee The iteratee invoked per iteration.\n",
       "\t     * @param {Function} comparator The comparator used to compare values.\n",
       "\t     * @returns {*} Returns the extremum value.\n",
       "\t     */\n",
       "\t    function baseExtremum(array, iteratee, comparator) {\n",
       "\t      var index = -1,\n",
       "\t          length = array.length;\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        var value = array[index],\n",
       "\t            current = iteratee(value);\n",
       "\t\n",
       "\t        if (current != null && (computed === undefined\n",
       "\t              ? (current === current && !isSymbol(current))\n",
       "\t              : comparator(current, computed)\n",
       "\t            )) {\n",
       "\t          var computed = current,\n",
       "\t              result = value;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.fill` without an iteratee call guard.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to fill.\n",
       "\t     * @param {*} value The value to fill `array` with.\n",
       "\t     * @param {number} [start=0] The start position.\n",
       "\t     * @param {number} [end=array.length] The end position.\n",
       "\t     * @returns {Array} Returns `array`.\n",
       "\t     */\n",
       "\t    function baseFill(array, value, start, end) {\n",
       "\t      var length = array.length;\n",
       "\t\n",
       "\t      start = toInteger(start);\n",
       "\t      if (start < 0) {\n",
       "\t        start = -start > length ? 0 : (length + start);\n",
       "\t      }\n",
       "\t      end = (end === undefined || end > length) ? length : toInteger(end);\n",
       "\t      if (end < 0) {\n",
       "\t        end += length;\n",
       "\t      }\n",
       "\t      end = start > end ? 0 : toLength(end);\n",
       "\t      while (start < end) {\n",
       "\t        array[start++] = value;\n",
       "\t      }\n",
       "\t      return array;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.filter` without support for iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} predicate The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the new filtered array.\n",
       "\t     */\n",
       "\t    function baseFilter(collection, predicate) {\n",
       "\t      var result = [];\n",
       "\t      baseEach(collection, function(value, index, collection) {\n",
       "\t        if (predicate(value, index, collection)) {\n",
       "\t          result.push(value);\n",
       "\t        }\n",
       "\t      });\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.flatten` with support for restricting flattening.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to flatten.\n",
       "\t     * @param {number} depth The maximum recursion depth.\n",
       "\t     * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n",
       "\t     * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n",
       "\t     * @param {Array} [result=[]] The initial result value.\n",
       "\t     * @returns {Array} Returns the new flattened array.\n",
       "\t     */\n",
       "\t    function baseFlatten(array, depth, predicate, isStrict, result) {\n",
       "\t      var index = -1,\n",
       "\t          length = array.length;\n",
       "\t\n",
       "\t      predicate || (predicate = isFlattenable);\n",
       "\t      result || (result = []);\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        var value = array[index];\n",
       "\t        if (depth > 0 && predicate(value)) {\n",
       "\t          if (depth > 1) {\n",
       "\t            // Recursively flatten arrays (susceptible to call stack limits).\n",
       "\t            baseFlatten(value, depth - 1, predicate, isStrict, result);\n",
       "\t          } else {\n",
       "\t            arrayPush(result, value);\n",
       "\t          }\n",
       "\t        } else if (!isStrict) {\n",
       "\t          result[result.length] = value;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `baseForOwn` which iterates over `object`\n",
       "\t     * properties returned by `keysFunc` and invokes `iteratee` for each property.\n",
       "\t     * Iteratee functions may exit iteration early by explicitly returning `false`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {Function} iteratee The function invoked per iteration.\n",
       "\t     * @param {Function} keysFunc The function to get the keys of `object`.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     */\n",
       "\t    var baseFor = createBaseFor();\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This function is like `baseFor` except that it iterates over properties\n",
       "\t     * in the opposite order.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {Function} iteratee The function invoked per iteration.\n",
       "\t     * @param {Function} keysFunc The function to get the keys of `object`.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     */\n",
       "\t    var baseForRight = createBaseFor(true);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.forOwn` without support for iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {Function} iteratee The function invoked per iteration.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     */\n",
       "\t    function baseForOwn(object, iteratee) {\n",
       "\t      return object && baseFor(object, iteratee, keys);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {Function} iteratee The function invoked per iteration.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     */\n",
       "\t    function baseForOwnRight(object, iteratee) {\n",
       "\t      return object && baseForRight(object, iteratee, keys);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.functions` which creates an array of\n",
       "\t     * `object` function property names filtered from `props`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to inspect.\n",
       "\t     * @param {Array} props The property names to filter.\n",
       "\t     * @returns {Array} Returns the function names.\n",
       "\t     */\n",
       "\t    function baseFunctions(object, props) {\n",
       "\t      return arrayFilter(props, function(key) {\n",
       "\t        return isFunction(object[key]);\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.get` without support for default values.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @param {Array|string} path The path of the property to get.\n",
       "\t     * @returns {*} Returns the resolved value.\n",
       "\t     */\n",
       "\t    function baseGet(object, path) {\n",
       "\t      path = castPath(path, object);\n",
       "\t\n",
       "\t      var index = 0,\n",
       "\t          length = path.length;\n",
       "\t\n",
       "\t      while (object != null && index < length) {\n",
       "\t        object = object[toKey(path[index++])];\n",
       "\t      }\n",
       "\t      return (index && index == length) ? object : undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n",
       "\t     * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n",
       "\t     * symbols of `object`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @param {Function} keysFunc The function to get the keys of `object`.\n",
       "\t     * @param {Function} symbolsFunc The function to get the symbols of `object`.\n",
       "\t     * @returns {Array} Returns the array of property names and symbols.\n",
       "\t     */\n",
       "\t    function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n",
       "\t      var result = keysFunc(object);\n",
       "\t      return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `getTag` without fallbacks for buggy environments.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to query.\n",
       "\t     * @returns {string} Returns the `toStringTag`.\n",
       "\t     */\n",
       "\t    function baseGetTag(value) {\n",
       "\t      if (value == null) {\n",
       "\t        return value === undefined ? undefinedTag : nullTag;\n",
       "\t      }\n",
       "\t      return (symToStringTag && symToStringTag in Object(value))\n",
       "\t        ? getRawTag(value)\n",
       "\t        : objectToString(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.gt` which doesn't coerce arguments.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to compare.\n",
       "\t     * @param {*} other The other value to compare.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is greater than `other`,\n",
       "\t     *  else `false`.\n",
       "\t     */\n",
       "\t    function baseGt(value, other) {\n",
       "\t      return value > other;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.has` without support for deep paths.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} [object] The object to query.\n",
       "\t     * @param {Array|string} key The key to check.\n",
       "\t     * @returns {boolean} Returns `true` if `key` exists, else `false`.\n",
       "\t     */\n",
       "\t    function baseHas(object, key) {\n",
       "\t      return object != null && hasOwnProperty.call(object, key);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.hasIn` without support for deep paths.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} [object] The object to query.\n",
       "\t     * @param {Array|string} key The key to check.\n",
       "\t     * @returns {boolean} Returns `true` if `key` exists, else `false`.\n",
       "\t     */\n",
       "\t    function baseHasIn(object, key) {\n",
       "\t      return object != null && key in Object(object);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.inRange` which doesn't coerce arguments.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {number} number The number to check.\n",
       "\t     * @param {number} start The start of the range.\n",
       "\t     * @param {number} end The end of the range.\n",
       "\t     * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n",
       "\t     */\n",
       "\t    function baseInRange(number, start, end) {\n",
       "\t      return number >= nativeMin(start, end) && number < nativeMax(start, end);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of methods like `_.intersection`, without support\n",
       "\t     * for iteratee shorthands, that accepts an array of arrays to inspect.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} arrays The arrays to inspect.\n",
       "\t     * @param {Function} [iteratee] The iteratee invoked per element.\n",
       "\t     * @param {Function} [comparator] The comparator invoked per element.\n",
       "\t     * @returns {Array} Returns the new array of shared values.\n",
       "\t     */\n",
       "\t    function baseIntersection(arrays, iteratee, comparator) {\n",
       "\t      var includes = comparator ? arrayIncludesWith : arrayIncludes,\n",
       "\t          length = arrays[0].length,\n",
       "\t          othLength = arrays.length,\n",
       "\t          othIndex = othLength,\n",
       "\t          caches = Array(othLength),\n",
       "\t          maxLength = Infinity,\n",
       "\t          result = [];\n",
       "\t\n",
       "\t      while (othIndex--) {\n",
       "\t        var array = arrays[othIndex];\n",
       "\t        if (othIndex && iteratee) {\n",
       "\t          array = arrayMap(array, baseUnary(iteratee));\n",
       "\t        }\n",
       "\t        maxLength = nativeMin(array.length, maxLength);\n",
       "\t        caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n",
       "\t          ? new SetCache(othIndex && array)\n",
       "\t          : undefined;\n",
       "\t      }\n",
       "\t      array = arrays[0];\n",
       "\t\n",
       "\t      var index = -1,\n",
       "\t          seen = caches[0];\n",
       "\t\n",
       "\t      outer:\n",
       "\t      while (++index < length && result.length < maxLength) {\n",
       "\t        var value = array[index],\n",
       "\t            computed = iteratee ? iteratee(value) : value;\n",
       "\t\n",
       "\t        value = (comparator || value !== 0) ? value : 0;\n",
       "\t        if (!(seen\n",
       "\t              ? cacheHas(seen, computed)\n",
       "\t              : includes(result, computed, comparator)\n",
       "\t            )) {\n",
       "\t          othIndex = othLength;\n",
       "\t          while (--othIndex) {\n",
       "\t            var cache = caches[othIndex];\n",
       "\t            if (!(cache\n",
       "\t                  ? cacheHas(cache, computed)\n",
       "\t                  : includes(arrays[othIndex], computed, comparator))\n",
       "\t                ) {\n",
       "\t              continue outer;\n",
       "\t            }\n",
       "\t          }\n",
       "\t          if (seen) {\n",
       "\t            seen.push(computed);\n",
       "\t          }\n",
       "\t          result.push(value);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.invert` and `_.invertBy` which inverts\n",
       "\t     * `object` with values transformed by `iteratee` and set by `setter`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {Function} setter The function to set `accumulator` values.\n",
       "\t     * @param {Function} iteratee The iteratee to transform values.\n",
       "\t     * @param {Object} accumulator The initial inverted object.\n",
       "\t     * @returns {Function} Returns `accumulator`.\n",
       "\t     */\n",
       "\t    function baseInverter(object, setter, iteratee, accumulator) {\n",
       "\t      baseForOwn(object, function(value, key, object) {\n",
       "\t        setter(accumulator, iteratee(value), key, object);\n",
       "\t      });\n",
       "\t      return accumulator;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.invoke` without support for individual\n",
       "\t     * method arguments.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @param {Array|string} path The path of the method to invoke.\n",
       "\t     * @param {Array} args The arguments to invoke the method with.\n",
       "\t     * @returns {*} Returns the result of the invoked method.\n",
       "\t     */\n",
       "\t    function baseInvoke(object, path, args) {\n",
       "\t      path = castPath(path, object);\n",
       "\t      object = parent(object, path);\n",
       "\t      var func = object == null ? object : object[toKey(last(path))];\n",
       "\t      return func == null ? undefined : apply(func, object, args);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.isArguments`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n",
       "\t     */\n",
       "\t    function baseIsArguments(value) {\n",
       "\t      return isObjectLike(value) && baseGetTag(value) == argsTag;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n",
       "\t     */\n",
       "\t    function baseIsArrayBuffer(value) {\n",
       "\t      return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.isDate` without Node.js optimizations.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n",
       "\t     */\n",
       "\t    function baseIsDate(value) {\n",
       "\t      return isObjectLike(value) && baseGetTag(value) == dateTag;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.isEqual` which supports partial comparisons\n",
       "\t     * and tracks traversed objects.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to compare.\n",
       "\t     * @param {*} other The other value to compare.\n",
       "\t     * @param {boolean} bitmask The bitmask flags.\n",
       "\t     *  1 - Unordered comparison\n",
       "\t     *  2 - Partial comparison\n",
       "\t     * @param {Function} [customizer] The function to customize comparisons.\n",
       "\t     * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n",
       "\t     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n",
       "\t     */\n",
       "\t    function baseIsEqual(value, other, bitmask, customizer, stack) {\n",
       "\t      if (value === other) {\n",
       "\t        return true;\n",
       "\t      }\n",
       "\t      if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n",
       "\t        return value !== value && other !== other;\n",
       "\t      }\n",
       "\t      return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `baseIsEqual` for arrays and objects which performs\n",
       "\t     * deep comparisons and tracks traversed objects enabling objects with circular\n",
       "\t     * references to be compared.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to compare.\n",
       "\t     * @param {Object} other The other object to compare.\n",
       "\t     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n",
       "\t     * @param {Function} customizer The function to customize comparisons.\n",
       "\t     * @param {Function} equalFunc The function to determine equivalents of values.\n",
       "\t     * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n",
       "\t     * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n",
       "\t     */\n",
       "\t    function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n",
       "\t      var objIsArr = isArray(object),\n",
       "\t          othIsArr = isArray(other),\n",
       "\t          objTag = objIsArr ? arrayTag : getTag(object),\n",
       "\t          othTag = othIsArr ? arrayTag : getTag(other);\n",
       "\t\n",
       "\t      objTag = objTag == argsTag ? objectTag : objTag;\n",
       "\t      othTag = othTag == argsTag ? objectTag : othTag;\n",
       "\t\n",
       "\t      var objIsObj = objTag == objectTag,\n",
       "\t          othIsObj = othTag == objectTag,\n",
       "\t          isSameTag = objTag == othTag;\n",
       "\t\n",
       "\t      if (isSameTag && isBuffer(object)) {\n",
       "\t        if (!isBuffer(other)) {\n",
       "\t          return false;\n",
       "\t        }\n",
       "\t        objIsArr = true;\n",
       "\t        objIsObj = false;\n",
       "\t      }\n",
       "\t      if (isSameTag && !objIsObj) {\n",
       "\t        stack || (stack = new Stack);\n",
       "\t        return (objIsArr || isTypedArray(object))\n",
       "\t          ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n",
       "\t          : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n",
       "\t      }\n",
       "\t      if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n",
       "\t        var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n",
       "\t            othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n",
       "\t\n",
       "\t        if (objIsWrapped || othIsWrapped) {\n",
       "\t          var objUnwrapped = objIsWrapped ? object.value() : object,\n",
       "\t              othUnwrapped = othIsWrapped ? other.value() : other;\n",
       "\t\n",
       "\t          stack || (stack = new Stack);\n",
       "\t          return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      if (!isSameTag) {\n",
       "\t        return false;\n",
       "\t      }\n",
       "\t      stack || (stack = new Stack);\n",
       "\t      return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.isMap` without Node.js optimizations.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n",
       "\t     */\n",
       "\t    function baseIsMap(value) {\n",
       "\t      return isObjectLike(value) && getTag(value) == mapTag;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.isMatch` without support for iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to inspect.\n",
       "\t     * @param {Object} source The object of property values to match.\n",
       "\t     * @param {Array} matchData The property names, values, and compare flags to match.\n",
       "\t     * @param {Function} [customizer] The function to customize comparisons.\n",
       "\t     * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n",
       "\t     */\n",
       "\t    function baseIsMatch(object, source, matchData, customizer) {\n",
       "\t      var index = matchData.length,\n",
       "\t          length = index,\n",
       "\t          noCustomizer = !customizer;\n",
       "\t\n",
       "\t      if (object == null) {\n",
       "\t        return !length;\n",
       "\t      }\n",
       "\t      object = Object(object);\n",
       "\t      while (index--) {\n",
       "\t        var data = matchData[index];\n",
       "\t        if ((noCustomizer && data[2])\n",
       "\t              ? data[1] !== object[data[0]]\n",
       "\t              : !(data[0] in object)\n",
       "\t            ) {\n",
       "\t          return false;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      while (++index < length) {\n",
       "\t        data = matchData[index];\n",
       "\t        var key = data[0],\n",
       "\t            objValue = object[key],\n",
       "\t            srcValue = data[1];\n",
       "\t\n",
       "\t        if (noCustomizer && data[2]) {\n",
       "\t          if (objValue === undefined && !(key in object)) {\n",
       "\t            return false;\n",
       "\t          }\n",
       "\t        } else {\n",
       "\t          var stack = new Stack;\n",
       "\t          if (customizer) {\n",
       "\t            var result = customizer(objValue, srcValue, key, object, source, stack);\n",
       "\t          }\n",
       "\t          if (!(result === undefined\n",
       "\t                ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n",
       "\t                : result\n",
       "\t              )) {\n",
       "\t            return false;\n",
       "\t          }\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return true;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.isNative` without bad shim checks.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a native function,\n",
       "\t     *  else `false`.\n",
       "\t     */\n",
       "\t    function baseIsNative(value) {\n",
       "\t      if (!isObject(value) || isMasked(value)) {\n",
       "\t        return false;\n",
       "\t      }\n",
       "\t      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n",
       "\t      return pattern.test(toSource(value));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.isRegExp` without Node.js optimizations.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n",
       "\t     */\n",
       "\t    function baseIsRegExp(value) {\n",
       "\t      return isObjectLike(value) && baseGetTag(value) == regexpTag;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.isSet` without Node.js optimizations.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n",
       "\t     */\n",
       "\t    function baseIsSet(value) {\n",
       "\t      return isObjectLike(value) && getTag(value) == setTag;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.isTypedArray` without Node.js optimizations.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n",
       "\t     */\n",
       "\t    function baseIsTypedArray(value) {\n",
       "\t      return isObjectLike(value) &&\n",
       "\t        isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.iteratee`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} [value=_.identity] The value to convert to an iteratee.\n",
       "\t     * @returns {Function} Returns the iteratee.\n",
       "\t     */\n",
       "\t    function baseIteratee(value) {\n",
       "\t      // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n",
       "\t      // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n",
       "\t      if (typeof value == 'function') {\n",
       "\t        return value;\n",
       "\t      }\n",
       "\t      if (value == null) {\n",
       "\t        return identity;\n",
       "\t      }\n",
       "\t      if (typeof value == 'object') {\n",
       "\t        return isArray(value)\n",
       "\t          ? baseMatchesProperty(value[0], value[1])\n",
       "\t          : baseMatches(value);\n",
       "\t      }\n",
       "\t      return property(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the array of property names.\n",
       "\t     */\n",
       "\t    function baseKeys(object) {\n",
       "\t      if (!isPrototype(object)) {\n",
       "\t        return nativeKeys(object);\n",
       "\t      }\n",
       "\t      var result = [];\n",
       "\t      for (var key in Object(object)) {\n",
       "\t        if (hasOwnProperty.call(object, key) && key != 'constructor') {\n",
       "\t          result.push(key);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the array of property names.\n",
       "\t     */\n",
       "\t    function baseKeysIn(object) {\n",
       "\t      if (!isObject(object)) {\n",
       "\t        return nativeKeysIn(object);\n",
       "\t      }\n",
       "\t      var isProto = isPrototype(object),\n",
       "\t          result = [];\n",
       "\t\n",
       "\t      for (var key in object) {\n",
       "\t        if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n",
       "\t          result.push(key);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.lt` which doesn't coerce arguments.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to compare.\n",
       "\t     * @param {*} other The other value to compare.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is less than `other`,\n",
       "\t     *  else `false`.\n",
       "\t     */\n",
       "\t    function baseLt(value, other) {\n",
       "\t      return value < other;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.map` without support for iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} iteratee The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the new mapped array.\n",
       "\t     */\n",
       "\t    function baseMap(collection, iteratee) {\n",
       "\t      var index = -1,\n",
       "\t          result = isArrayLike(collection) ? Array(collection.length) : [];\n",
       "\t\n",
       "\t      baseEach(collection, function(value, key, collection) {\n",
       "\t        result[++index] = iteratee(value, key, collection);\n",
       "\t      });\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.matches` which doesn't clone `source`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} source The object of property values to match.\n",
       "\t     * @returns {Function} Returns the new spec function.\n",
       "\t     */\n",
       "\t    function baseMatches(source) {\n",
       "\t      var matchData = getMatchData(source);\n",
       "\t      if (matchData.length == 1 && matchData[0][2]) {\n",
       "\t        return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n",
       "\t      }\n",
       "\t      return function(object) {\n",
       "\t        return object === source || baseIsMatch(object, source, matchData);\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {string} path The path of the property to get.\n",
       "\t     * @param {*} srcValue The value to match.\n",
       "\t     * @returns {Function} Returns the new spec function.\n",
       "\t     */\n",
       "\t    function baseMatchesProperty(path, srcValue) {\n",
       "\t      if (isKey(path) && isStrictComparable(srcValue)) {\n",
       "\t        return matchesStrictComparable(toKey(path), srcValue);\n",
       "\t      }\n",
       "\t      return function(object) {\n",
       "\t        var objValue = get(object, path);\n",
       "\t        return (objValue === undefined && objValue === srcValue)\n",
       "\t          ? hasIn(object, path)\n",
       "\t          : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.merge` without support for multiple sources.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The destination object.\n",
       "\t     * @param {Object} source The source object.\n",
       "\t     * @param {number} srcIndex The index of `source`.\n",
       "\t     * @param {Function} [customizer] The function to customize merged values.\n",
       "\t     * @param {Object} [stack] Tracks traversed source values and their merged\n",
       "\t     *  counterparts.\n",
       "\t     */\n",
       "\t    function baseMerge(object, source, srcIndex, customizer, stack) {\n",
       "\t      if (object === source) {\n",
       "\t        return;\n",
       "\t      }\n",
       "\t      baseFor(source, function(srcValue, key) {\n",
       "\t        if (isObject(srcValue)) {\n",
       "\t          stack || (stack = new Stack);\n",
       "\t          baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n",
       "\t        }\n",
       "\t        else {\n",
       "\t          var newValue = customizer\n",
       "\t            ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n",
       "\t            : undefined;\n",
       "\t\n",
       "\t          if (newValue === undefined) {\n",
       "\t            newValue = srcValue;\n",
       "\t          }\n",
       "\t          assignMergeValue(object, key, newValue);\n",
       "\t        }\n",
       "\t      }, keysIn);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `baseMerge` for arrays and objects which performs\n",
       "\t     * deep merges and tracks traversed objects enabling objects with circular\n",
       "\t     * references to be merged.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The destination object.\n",
       "\t     * @param {Object} source The source object.\n",
       "\t     * @param {string} key The key of the value to merge.\n",
       "\t     * @param {number} srcIndex The index of `source`.\n",
       "\t     * @param {Function} mergeFunc The function to merge values.\n",
       "\t     * @param {Function} [customizer] The function to customize assigned values.\n",
       "\t     * @param {Object} [stack] Tracks traversed source values and their merged\n",
       "\t     *  counterparts.\n",
       "\t     */\n",
       "\t    function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n",
       "\t      var objValue = safeGet(object, key),\n",
       "\t          srcValue = safeGet(source, key),\n",
       "\t          stacked = stack.get(srcValue);\n",
       "\t\n",
       "\t      if (stacked) {\n",
       "\t        assignMergeValue(object, key, stacked);\n",
       "\t        return;\n",
       "\t      }\n",
       "\t      var newValue = customizer\n",
       "\t        ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n",
       "\t        : undefined;\n",
       "\t\n",
       "\t      var isCommon = newValue === undefined;\n",
       "\t\n",
       "\t      if (isCommon) {\n",
       "\t        var isArr = isArray(srcValue),\n",
       "\t            isBuff = !isArr && isBuffer(srcValue),\n",
       "\t            isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n",
       "\t\n",
       "\t        newValue = srcValue;\n",
       "\t        if (isArr || isBuff || isTyped) {\n",
       "\t          if (isArray(objValue)) {\n",
       "\t            newValue = objValue;\n",
       "\t          }\n",
       "\t          else if (isArrayLikeObject(objValue)) {\n",
       "\t            newValue = copyArray(objValue);\n",
       "\t          }\n",
       "\t          else if (isBuff) {\n",
       "\t            isCommon = false;\n",
       "\t            newValue = cloneBuffer(srcValue, true);\n",
       "\t          }\n",
       "\t          else if (isTyped) {\n",
       "\t            isCommon = false;\n",
       "\t            newValue = cloneTypedArray(srcValue, true);\n",
       "\t          }\n",
       "\t          else {\n",
       "\t            newValue = [];\n",
       "\t          }\n",
       "\t        }\n",
       "\t        else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n",
       "\t          newValue = objValue;\n",
       "\t          if (isArguments(objValue)) {\n",
       "\t            newValue = toPlainObject(objValue);\n",
       "\t          }\n",
       "\t          else if (!isObject(objValue) || isFunction(objValue)) {\n",
       "\t            newValue = initCloneObject(srcValue);\n",
       "\t          }\n",
       "\t        }\n",
       "\t        else {\n",
       "\t          isCommon = false;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      if (isCommon) {\n",
       "\t        // Recursively merge objects and arrays (susceptible to call stack limits).\n",
       "\t        stack.set(srcValue, newValue);\n",
       "\t        mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n",
       "\t        stack['delete'](srcValue);\n",
       "\t      }\n",
       "\t      assignMergeValue(object, key, newValue);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.nth` which doesn't coerce arguments.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @param {number} n The index of the element to return.\n",
       "\t     * @returns {*} Returns the nth element of `array`.\n",
       "\t     */\n",
       "\t    function baseNth(array, n) {\n",
       "\t      var length = array.length;\n",
       "\t      if (!length) {\n",
       "\t        return;\n",
       "\t      }\n",
       "\t      n += n < 0 ? length : 0;\n",
       "\t      return isIndex(n, length) ? array[n] : undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.orderBy` without param guards.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n",
       "\t     * @param {string[]} orders The sort orders of `iteratees`.\n",
       "\t     * @returns {Array} Returns the new sorted array.\n",
       "\t     */\n",
       "\t    function baseOrderBy(collection, iteratees, orders) {\n",
       "\t      var index = -1;\n",
       "\t      iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee()));\n",
       "\t\n",
       "\t      var result = baseMap(collection, function(value, key, collection) {\n",
       "\t        var criteria = arrayMap(iteratees, function(iteratee) {\n",
       "\t          return iteratee(value);\n",
       "\t        });\n",
       "\t        return { 'criteria': criteria, 'index': ++index, 'value': value };\n",
       "\t      });\n",
       "\t\n",
       "\t      return baseSortBy(result, function(object, other) {\n",
       "\t        return compareMultiple(object, other, orders);\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.pick` without support for individual\n",
       "\t     * property identifiers.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The source object.\n",
       "\t     * @param {string[]} paths The property paths to pick.\n",
       "\t     * @returns {Object} Returns the new object.\n",
       "\t     */\n",
       "\t    function basePick(object, paths) {\n",
       "\t      return basePickBy(object, paths, function(value, path) {\n",
       "\t        return hasIn(object, path);\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of  `_.pickBy` without support for iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The source object.\n",
       "\t     * @param {string[]} paths The property paths to pick.\n",
       "\t     * @param {Function} predicate The function invoked per property.\n",
       "\t     * @returns {Object} Returns the new object.\n",
       "\t     */\n",
       "\t    function basePickBy(object, paths, predicate) {\n",
       "\t      var index = -1,\n",
       "\t          length = paths.length,\n",
       "\t          result = {};\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        var path = paths[index],\n",
       "\t            value = baseGet(object, path);\n",
       "\t\n",
       "\t        if (predicate(value, path)) {\n",
       "\t          baseSet(result, castPath(path, object), value);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `baseProperty` which supports deep paths.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array|string} path The path of the property to get.\n",
       "\t     * @returns {Function} Returns the new accessor function.\n",
       "\t     */\n",
       "\t    function basePropertyDeep(path) {\n",
       "\t      return function(object) {\n",
       "\t        return baseGet(object, path);\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.pullAllBy` without support for iteratee\n",
       "\t     * shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to modify.\n",
       "\t     * @param {Array} values The values to remove.\n",
       "\t     * @param {Function} [iteratee] The iteratee invoked per element.\n",
       "\t     * @param {Function} [comparator] The comparator invoked per element.\n",
       "\t     * @returns {Array} Returns `array`.\n",
       "\t     */\n",
       "\t    function basePullAll(array, values, iteratee, comparator) {\n",
       "\t      var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n",
       "\t          index = -1,\n",
       "\t          length = values.length,\n",
       "\t          seen = array;\n",
       "\t\n",
       "\t      if (array === values) {\n",
       "\t        values = copyArray(values);\n",
       "\t      }\n",
       "\t      if (iteratee) {\n",
       "\t        seen = arrayMap(array, baseUnary(iteratee));\n",
       "\t      }\n",
       "\t      while (++index < length) {\n",
       "\t        var fromIndex = 0,\n",
       "\t            value = values[index],\n",
       "\t            computed = iteratee ? iteratee(value) : value;\n",
       "\t\n",
       "\t        while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n",
       "\t          if (seen !== array) {\n",
       "\t            splice.call(seen, fromIndex, 1);\n",
       "\t          }\n",
       "\t          splice.call(array, fromIndex, 1);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return array;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.pullAt` without support for individual\n",
       "\t     * indexes or capturing the removed elements.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to modify.\n",
       "\t     * @param {number[]} indexes The indexes of elements to remove.\n",
       "\t     * @returns {Array} Returns `array`.\n",
       "\t     */\n",
       "\t    function basePullAt(array, indexes) {\n",
       "\t      var length = array ? indexes.length : 0,\n",
       "\t          lastIndex = length - 1;\n",
       "\t\n",
       "\t      while (length--) {\n",
       "\t        var index = indexes[length];\n",
       "\t        if (length == lastIndex || index !== previous) {\n",
       "\t          var previous = index;\n",
       "\t          if (isIndex(index)) {\n",
       "\t            splice.call(array, index, 1);\n",
       "\t          } else {\n",
       "\t            baseUnset(array, index);\n",
       "\t          }\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return array;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.random` without support for returning\n",
       "\t     * floating-point numbers.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {number} lower The lower bound.\n",
       "\t     * @param {number} upper The upper bound.\n",
       "\t     * @returns {number} Returns the random number.\n",
       "\t     */\n",
       "\t    function baseRandom(lower, upper) {\n",
       "\t      return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.range` and `_.rangeRight` which doesn't\n",
       "\t     * coerce arguments.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {number} start The start of the range.\n",
       "\t     * @param {number} end The end of the range.\n",
       "\t     * @param {number} step The value to increment or decrement by.\n",
       "\t     * @param {boolean} [fromRight] Specify iterating from right to left.\n",
       "\t     * @returns {Array} Returns the range of numbers.\n",
       "\t     */\n",
       "\t    function baseRange(start, end, step, fromRight) {\n",
       "\t      var index = -1,\n",
       "\t          length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n",
       "\t          result = Array(length);\n",
       "\t\n",
       "\t      while (length--) {\n",
       "\t        result[fromRight ? length : ++index] = start;\n",
       "\t        start += step;\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.repeat` which doesn't coerce arguments.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {string} string The string to repeat.\n",
       "\t     * @param {number} n The number of times to repeat the string.\n",
       "\t     * @returns {string} Returns the repeated string.\n",
       "\t     */\n",
       "\t    function baseRepeat(string, n) {\n",
       "\t      var result = '';\n",
       "\t      if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n",
       "\t        return result;\n",
       "\t      }\n",
       "\t      // Leverage the exponentiation by squaring algorithm for a faster repeat.\n",
       "\t      // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n",
       "\t      do {\n",
       "\t        if (n % 2) {\n",
       "\t          result += string;\n",
       "\t        }\n",
       "\t        n = nativeFloor(n / 2);\n",
       "\t        if (n) {\n",
       "\t          string += string;\n",
       "\t        }\n",
       "\t      } while (n);\n",
       "\t\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to apply a rest parameter to.\n",
       "\t     * @param {number} [start=func.length-1] The start position of the rest parameter.\n",
       "\t     * @returns {Function} Returns the new function.\n",
       "\t     */\n",
       "\t    function baseRest(func, start) {\n",
       "\t      return setToString(overRest(func, start, identity), func + '');\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.sample`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array|Object} collection The collection to sample.\n",
       "\t     * @returns {*} Returns the random element.\n",
       "\t     */\n",
       "\t    function baseSample(collection) {\n",
       "\t      return arraySample(values(collection));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.sampleSize` without param guards.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array|Object} collection The collection to sample.\n",
       "\t     * @param {number} n The number of elements to sample.\n",
       "\t     * @returns {Array} Returns the random elements.\n",
       "\t     */\n",
       "\t    function baseSampleSize(collection, n) {\n",
       "\t      var array = values(collection);\n",
       "\t      return shuffleSelf(array, baseClamp(n, 0, array.length));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.set`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to modify.\n",
       "\t     * @param {Array|string} path The path of the property to set.\n",
       "\t     * @param {*} value The value to set.\n",
       "\t     * @param {Function} [customizer] The function to customize path creation.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     */\n",
       "\t    function baseSet(object, path, value, customizer) {\n",
       "\t      if (!isObject(object)) {\n",
       "\t        return object;\n",
       "\t      }\n",
       "\t      path = castPath(path, object);\n",
       "\t\n",
       "\t      var index = -1,\n",
       "\t          length = path.length,\n",
       "\t          lastIndex = length - 1,\n",
       "\t          nested = object;\n",
       "\t\n",
       "\t      while (nested != null && ++index < length) {\n",
       "\t        var key = toKey(path[index]),\n",
       "\t            newValue = value;\n",
       "\t\n",
       "\t        if (index != lastIndex) {\n",
       "\t          var objValue = nested[key];\n",
       "\t          newValue = customizer ? customizer(objValue, key, nested) : undefined;\n",
       "\t          if (newValue === undefined) {\n",
       "\t            newValue = isObject(objValue)\n",
       "\t              ? objValue\n",
       "\t              : (isIndex(path[index + 1]) ? [] : {});\n",
       "\t          }\n",
       "\t        }\n",
       "\t        assignValue(nested, key, newValue);\n",
       "\t        nested = nested[key];\n",
       "\t      }\n",
       "\t      return object;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `setData` without support for hot loop shorting.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to associate metadata with.\n",
       "\t     * @param {*} data The metadata.\n",
       "\t     * @returns {Function} Returns `func`.\n",
       "\t     */\n",
       "\t    var baseSetData = !metaMap ? identity : function(func, data) {\n",
       "\t      metaMap.set(func, data);\n",
       "\t      return func;\n",
       "\t    };\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `setToString` without support for hot loop shorting.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to modify.\n",
       "\t     * @param {Function} string The `toString` result.\n",
       "\t     * @returns {Function} Returns `func`.\n",
       "\t     */\n",
       "\t    var baseSetToString = !defineProperty ? identity : function(func, string) {\n",
       "\t      return defineProperty(func, 'toString', {\n",
       "\t        'configurable': true,\n",
       "\t        'enumerable': false,\n",
       "\t        'value': constant(string),\n",
       "\t        'writable': true\n",
       "\t      });\n",
       "\t    };\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.shuffle`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array|Object} collection The collection to shuffle.\n",
       "\t     * @returns {Array} Returns the new shuffled array.\n",
       "\t     */\n",
       "\t    function baseShuffle(collection) {\n",
       "\t      return shuffleSelf(values(collection));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.slice` without an iteratee call guard.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to slice.\n",
       "\t     * @param {number} [start=0] The start position.\n",
       "\t     * @param {number} [end=array.length] The end position.\n",
       "\t     * @returns {Array} Returns the slice of `array`.\n",
       "\t     */\n",
       "\t    function baseSlice(array, start, end) {\n",
       "\t      var index = -1,\n",
       "\t          length = array.length;\n",
       "\t\n",
       "\t      if (start < 0) {\n",
       "\t        start = -start > length ? 0 : (length + start);\n",
       "\t      }\n",
       "\t      end = end > length ? length : end;\n",
       "\t      if (end < 0) {\n",
       "\t        end += length;\n",
       "\t      }\n",
       "\t      length = start > end ? 0 : ((end - start) >>> 0);\n",
       "\t      start >>>= 0;\n",
       "\t\n",
       "\t      var result = Array(length);\n",
       "\t      while (++index < length) {\n",
       "\t        result[index] = array[index + start];\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.some` without support for iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} predicate The function invoked per iteration.\n",
       "\t     * @returns {boolean} Returns `true` if any element passes the predicate check,\n",
       "\t     *  else `false`.\n",
       "\t     */\n",
       "\t    function baseSome(collection, predicate) {\n",
       "\t      var result;\n",
       "\t\n",
       "\t      baseEach(collection, function(value, index, collection) {\n",
       "\t        result = predicate(value, index, collection);\n",
       "\t        return !result;\n",
       "\t      });\n",
       "\t      return !!result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n",
       "\t     * performs a binary search of `array` to determine the index at which `value`\n",
       "\t     * should be inserted into `array` in order to maintain its sort order.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The sorted array to inspect.\n",
       "\t     * @param {*} value The value to evaluate.\n",
       "\t     * @param {boolean} [retHighest] Specify returning the highest qualified index.\n",
       "\t     * @returns {number} Returns the index at which `value` should be inserted\n",
       "\t     *  into `array`.\n",
       "\t     */\n",
       "\t    function baseSortedIndex(array, value, retHighest) {\n",
       "\t      var low = 0,\n",
       "\t          high = array == null ? low : array.length;\n",
       "\t\n",
       "\t      if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n",
       "\t        while (low < high) {\n",
       "\t          var mid = (low + high) >>> 1,\n",
       "\t              computed = array[mid];\n",
       "\t\n",
       "\t          if (computed !== null && !isSymbol(computed) &&\n",
       "\t              (retHighest ? (computed <= value) : (computed < value))) {\n",
       "\t            low = mid + 1;\n",
       "\t          } else {\n",
       "\t            high = mid;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        return high;\n",
       "\t      }\n",
       "\t      return baseSortedIndexBy(array, value, identity, retHighest);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n",
       "\t     * which invokes `iteratee` for `value` and each element of `array` to compute\n",
       "\t     * their sort ranking. The iteratee is invoked with one argument; (value).\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The sorted array to inspect.\n",
       "\t     * @param {*} value The value to evaluate.\n",
       "\t     * @param {Function} iteratee The iteratee invoked per element.\n",
       "\t     * @param {boolean} [retHighest] Specify returning the highest qualified index.\n",
       "\t     * @returns {number} Returns the index at which `value` should be inserted\n",
       "\t     *  into `array`.\n",
       "\t     */\n",
       "\t    function baseSortedIndexBy(array, value, iteratee, retHighest) {\n",
       "\t      value = iteratee(value);\n",
       "\t\n",
       "\t      var low = 0,\n",
       "\t          high = array == null ? 0 : array.length,\n",
       "\t          valIsNaN = value !== value,\n",
       "\t          valIsNull = value === null,\n",
       "\t          valIsSymbol = isSymbol(value),\n",
       "\t          valIsUndefined = value === undefined;\n",
       "\t\n",
       "\t      while (low < high) {\n",
       "\t        var mid = nativeFloor((low + high) / 2),\n",
       "\t            computed = iteratee(array[mid]),\n",
       "\t            othIsDefined = computed !== undefined,\n",
       "\t            othIsNull = computed === null,\n",
       "\t            othIsReflexive = computed === computed,\n",
       "\t            othIsSymbol = isSymbol(computed);\n",
       "\t\n",
       "\t        if (valIsNaN) {\n",
       "\t          var setLow = retHighest || othIsReflexive;\n",
       "\t        } else if (valIsUndefined) {\n",
       "\t          setLow = othIsReflexive && (retHighest || othIsDefined);\n",
       "\t        } else if (valIsNull) {\n",
       "\t          setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n",
       "\t        } else if (valIsSymbol) {\n",
       "\t          setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n",
       "\t        } else if (othIsNull || othIsSymbol) {\n",
       "\t          setLow = false;\n",
       "\t        } else {\n",
       "\t          setLow = retHighest ? (computed <= value) : (computed < value);\n",
       "\t        }\n",
       "\t        if (setLow) {\n",
       "\t          low = mid + 1;\n",
       "\t        } else {\n",
       "\t          high = mid;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return nativeMin(high, MAX_ARRAY_INDEX);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n",
       "\t     * support for iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {Function} [iteratee] The iteratee invoked per element.\n",
       "\t     * @returns {Array} Returns the new duplicate free array.\n",
       "\t     */\n",
       "\t    function baseSortedUniq(array, iteratee) {\n",
       "\t      var index = -1,\n",
       "\t          length = array.length,\n",
       "\t          resIndex = 0,\n",
       "\t          result = [];\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        var value = array[index],\n",
       "\t            computed = iteratee ? iteratee(value) : value;\n",
       "\t\n",
       "\t        if (!index || !eq(computed, seen)) {\n",
       "\t          var seen = computed;\n",
       "\t          result[resIndex++] = value === 0 ? 0 : value;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.toNumber` which doesn't ensure correct\n",
       "\t     * conversions of binary, hexadecimal, or octal string values.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to process.\n",
       "\t     * @returns {number} Returns the number.\n",
       "\t     */\n",
       "\t    function baseToNumber(value) {\n",
       "\t      if (typeof value == 'number') {\n",
       "\t        return value;\n",
       "\t      }\n",
       "\t      if (isSymbol(value)) {\n",
       "\t        return NAN;\n",
       "\t      }\n",
       "\t      return +value;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.toString` which doesn't convert nullish\n",
       "\t     * values to empty strings.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to process.\n",
       "\t     * @returns {string} Returns the string.\n",
       "\t     */\n",
       "\t    function baseToString(value) {\n",
       "\t      // Exit early for strings to avoid a performance hit in some environments.\n",
       "\t      if (typeof value == 'string') {\n",
       "\t        return value;\n",
       "\t      }\n",
       "\t      if (isArray(value)) {\n",
       "\t        // Recursively convert values (susceptible to call stack limits).\n",
       "\t        return arrayMap(value, baseToString) + '';\n",
       "\t      }\n",
       "\t      if (isSymbol(value)) {\n",
       "\t        return symbolToString ? symbolToString.call(value) : '';\n",
       "\t      }\n",
       "\t      var result = (value + '');\n",
       "\t      return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {Function} [iteratee] The iteratee invoked per element.\n",
       "\t     * @param {Function} [comparator] The comparator invoked per element.\n",
       "\t     * @returns {Array} Returns the new duplicate free array.\n",
       "\t     */\n",
       "\t    function baseUniq(array, iteratee, comparator) {\n",
       "\t      var index = -1,\n",
       "\t          includes = arrayIncludes,\n",
       "\t          length = array.length,\n",
       "\t          isCommon = true,\n",
       "\t          result = [],\n",
       "\t          seen = result;\n",
       "\t\n",
       "\t      if (comparator) {\n",
       "\t        isCommon = false;\n",
       "\t        includes = arrayIncludesWith;\n",
       "\t      }\n",
       "\t      else if (length >= LARGE_ARRAY_SIZE) {\n",
       "\t        var set = iteratee ? null : createSet(array);\n",
       "\t        if (set) {\n",
       "\t          return setToArray(set);\n",
       "\t        }\n",
       "\t        isCommon = false;\n",
       "\t        includes = cacheHas;\n",
       "\t        seen = new SetCache;\n",
       "\t      }\n",
       "\t      else {\n",
       "\t        seen = iteratee ? [] : result;\n",
       "\t      }\n",
       "\t      outer:\n",
       "\t      while (++index < length) {\n",
       "\t        var value = array[index],\n",
       "\t            computed = iteratee ? iteratee(value) : value;\n",
       "\t\n",
       "\t        value = (comparator || value !== 0) ? value : 0;\n",
       "\t        if (isCommon && computed === computed) {\n",
       "\t          var seenIndex = seen.length;\n",
       "\t          while (seenIndex--) {\n",
       "\t            if (seen[seenIndex] === computed) {\n",
       "\t              continue outer;\n",
       "\t            }\n",
       "\t          }\n",
       "\t          if (iteratee) {\n",
       "\t            seen.push(computed);\n",
       "\t          }\n",
       "\t          result.push(value);\n",
       "\t        }\n",
       "\t        else if (!includes(seen, computed, comparator)) {\n",
       "\t          if (seen !== result) {\n",
       "\t            seen.push(computed);\n",
       "\t          }\n",
       "\t          result.push(value);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.unset`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to modify.\n",
       "\t     * @param {Array|string} path The property path to unset.\n",
       "\t     * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n",
       "\t     */\n",
       "\t    function baseUnset(object, path) {\n",
       "\t      path = castPath(path, object);\n",
       "\t      object = parent(object, path);\n",
       "\t      return object == null || delete object[toKey(last(path))];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `_.update`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to modify.\n",
       "\t     * @param {Array|string} path The path of the property to update.\n",
       "\t     * @param {Function} updater The function to produce the updated value.\n",
       "\t     * @param {Function} [customizer] The function to customize path creation.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     */\n",
       "\t    function baseUpdate(object, path, updater, customizer) {\n",
       "\t      return baseSet(object, path, updater(baseGet(object, path)), customizer);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n",
       "\t     * without support for iteratee shorthands.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @param {Function} predicate The function invoked per iteration.\n",
       "\t     * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n",
       "\t     * @param {boolean} [fromRight] Specify iterating from right to left.\n",
       "\t     * @returns {Array} Returns the slice of `array`.\n",
       "\t     */\n",
       "\t    function baseWhile(array, predicate, isDrop, fromRight) {\n",
       "\t      var length = array.length,\n",
       "\t          index = fromRight ? length : -1;\n",
       "\t\n",
       "\t      while ((fromRight ? index-- : ++index < length) &&\n",
       "\t        predicate(array[index], index, array)) {}\n",
       "\t\n",
       "\t      return isDrop\n",
       "\t        ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n",
       "\t        : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of `wrapperValue` which returns the result of\n",
       "\t     * performing a sequence of actions on the unwrapped `value`, where each\n",
       "\t     * successive action is supplied the return value of the previous.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The unwrapped value.\n",
       "\t     * @param {Array} actions Actions to perform to resolve the unwrapped value.\n",
       "\t     * @returns {*} Returns the resolved value.\n",
       "\t     */\n",
       "\t    function baseWrapperValue(value, actions) {\n",
       "\t      var result = value;\n",
       "\t      if (result instanceof LazyWrapper) {\n",
       "\t        result = result.value();\n",
       "\t      }\n",
       "\t      return arrayReduce(actions, function(result, action) {\n",
       "\t        return action.func.apply(action.thisArg, arrayPush([result], action.args));\n",
       "\t      }, result);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The base implementation of methods like `_.xor`, without support for\n",
       "\t     * iteratee shorthands, that accepts an array of arrays to inspect.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} arrays The arrays to inspect.\n",
       "\t     * @param {Function} [iteratee] The iteratee invoked per element.\n",
       "\t     * @param {Function} [comparator] The comparator invoked per element.\n",
       "\t     * @returns {Array} Returns the new array of values.\n",
       "\t     */\n",
       "\t    function baseXor(arrays, iteratee, comparator) {\n",
       "\t      var length = arrays.length;\n",
       "\t      if (length < 2) {\n",
       "\t        return length ? baseUniq(arrays[0]) : [];\n",
       "\t      }\n",
       "\t      var index = -1,\n",
       "\t          result = Array(length);\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        var array = arrays[index],\n",
       "\t            othIndex = -1;\n",
       "\t\n",
       "\t        while (++othIndex < length) {\n",
       "\t          if (othIndex != index) {\n",
       "\t            result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n",
       "\t          }\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} props The property identifiers.\n",
       "\t     * @param {Array} values The property values.\n",
       "\t     * @param {Function} assignFunc The function to assign values.\n",
       "\t     * @returns {Object} Returns the new object.\n",
       "\t     */\n",
       "\t    function baseZipObject(props, values, assignFunc) {\n",
       "\t      var index = -1,\n",
       "\t          length = props.length,\n",
       "\t          valsLength = values.length,\n",
       "\t          result = {};\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        var value = index < valsLength ? values[index] : undefined;\n",
       "\t        assignFunc(result, props[index], value);\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Casts `value` to an empty array if it's not an array like object.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to inspect.\n",
       "\t     * @returns {Array|Object} Returns the cast array-like object.\n",
       "\t     */\n",
       "\t    function castArrayLikeObject(value) {\n",
       "\t      return isArrayLikeObject(value) ? value : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Casts `value` to `identity` if it's not a function.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to inspect.\n",
       "\t     * @returns {Function} Returns cast function.\n",
       "\t     */\n",
       "\t    function castFunction(value) {\n",
       "\t      return typeof value == 'function' ? value : identity;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Casts `value` to a path array if it's not one.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to inspect.\n",
       "\t     * @param {Object} [object] The object to query keys on.\n",
       "\t     * @returns {Array} Returns the cast property path array.\n",
       "\t     */\n",
       "\t    function castPath(value, object) {\n",
       "\t      if (isArray(value)) {\n",
       "\t        return value;\n",
       "\t      }\n",
       "\t      return isKey(value, object) ? [value] : stringToPath(toString(value));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A `baseRest` alias which can be replaced with `identity` by module\n",
       "\t     * replacement plugins.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @type {Function}\n",
       "\t     * @param {Function} func The function to apply a rest parameter to.\n",
       "\t     * @returns {Function} Returns the new function.\n",
       "\t     */\n",
       "\t    var castRest = baseRest;\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Casts `array` to a slice if it's needed.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {number} start The start position.\n",
       "\t     * @param {number} [end=array.length] The end position.\n",
       "\t     * @returns {Array} Returns the cast slice.\n",
       "\t     */\n",
       "\t    function castSlice(array, start, end) {\n",
       "\t      var length = array.length;\n",
       "\t      end = end === undefined ? length : end;\n",
       "\t      return (!start && end >= length) ? array : baseSlice(array, start, end);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {number|Object} id The timer id or timeout object of the timer to clear.\n",
       "\t     */\n",
       "\t    var clearTimeout = ctxClearTimeout || function(id) {\n",
       "\t      return root.clearTimeout(id);\n",
       "\t    };\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a clone of  `buffer`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Buffer} buffer The buffer to clone.\n",
       "\t     * @param {boolean} [isDeep] Specify a deep clone.\n",
       "\t     * @returns {Buffer} Returns the cloned buffer.\n",
       "\t     */\n",
       "\t    function cloneBuffer(buffer, isDeep) {\n",
       "\t      if (isDeep) {\n",
       "\t        return buffer.slice();\n",
       "\t      }\n",
       "\t      var length = buffer.length,\n",
       "\t          result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n",
       "\t\n",
       "\t      buffer.copy(result);\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a clone of `arrayBuffer`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n",
       "\t     * @returns {ArrayBuffer} Returns the cloned array buffer.\n",
       "\t     */\n",
       "\t    function cloneArrayBuffer(arrayBuffer) {\n",
       "\t      var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n",
       "\t      new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a clone of `dataView`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} dataView The data view to clone.\n",
       "\t     * @param {boolean} [isDeep] Specify a deep clone.\n",
       "\t     * @returns {Object} Returns the cloned data view.\n",
       "\t     */\n",
       "\t    function cloneDataView(dataView, isDeep) {\n",
       "\t      var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n",
       "\t      return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a clone of `regexp`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} regexp The regexp to clone.\n",
       "\t     * @returns {Object} Returns the cloned regexp.\n",
       "\t     */\n",
       "\t    function cloneRegExp(regexp) {\n",
       "\t      var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n",
       "\t      result.lastIndex = regexp.lastIndex;\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a clone of the `symbol` object.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} symbol The symbol object to clone.\n",
       "\t     * @returns {Object} Returns the cloned symbol object.\n",
       "\t     */\n",
       "\t    function cloneSymbol(symbol) {\n",
       "\t      return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a clone of `typedArray`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} typedArray The typed array to clone.\n",
       "\t     * @param {boolean} [isDeep] Specify a deep clone.\n",
       "\t     * @returns {Object} Returns the cloned typed array.\n",
       "\t     */\n",
       "\t    function cloneTypedArray(typedArray, isDeep) {\n",
       "\t      var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n",
       "\t      return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Compares values to sort them in ascending order.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to compare.\n",
       "\t     * @param {*} other The other value to compare.\n",
       "\t     * @returns {number} Returns the sort order indicator for `value`.\n",
       "\t     */\n",
       "\t    function compareAscending(value, other) {\n",
       "\t      if (value !== other) {\n",
       "\t        var valIsDefined = value !== undefined,\n",
       "\t            valIsNull = value === null,\n",
       "\t            valIsReflexive = value === value,\n",
       "\t            valIsSymbol = isSymbol(value);\n",
       "\t\n",
       "\t        var othIsDefined = other !== undefined,\n",
       "\t            othIsNull = other === null,\n",
       "\t            othIsReflexive = other === other,\n",
       "\t            othIsSymbol = isSymbol(other);\n",
       "\t\n",
       "\t        if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n",
       "\t            (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n",
       "\t            (valIsNull && othIsDefined && othIsReflexive) ||\n",
       "\t            (!valIsDefined && othIsReflexive) ||\n",
       "\t            !valIsReflexive) {\n",
       "\t          return 1;\n",
       "\t        }\n",
       "\t        if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n",
       "\t            (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n",
       "\t            (othIsNull && valIsDefined && valIsReflexive) ||\n",
       "\t            (!othIsDefined && valIsReflexive) ||\n",
       "\t            !othIsReflexive) {\n",
       "\t          return -1;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return 0;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Used by `_.orderBy` to compare multiple properties of a value to another\n",
       "\t     * and stable sort them.\n",
       "\t     *\n",
       "\t     * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n",
       "\t     * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n",
       "\t     * of corresponding values.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to compare.\n",
       "\t     * @param {Object} other The other object to compare.\n",
       "\t     * @param {boolean[]|string[]} orders The order to sort by for each property.\n",
       "\t     * @returns {number} Returns the sort order indicator for `object`.\n",
       "\t     */\n",
       "\t    function compareMultiple(object, other, orders) {\n",
       "\t      var index = -1,\n",
       "\t          objCriteria = object.criteria,\n",
       "\t          othCriteria = other.criteria,\n",
       "\t          length = objCriteria.length,\n",
       "\t          ordersLength = orders.length;\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        var result = compareAscending(objCriteria[index], othCriteria[index]);\n",
       "\t        if (result) {\n",
       "\t          if (index >= ordersLength) {\n",
       "\t            return result;\n",
       "\t          }\n",
       "\t          var order = orders[index];\n",
       "\t          return result * (order == 'desc' ? -1 : 1);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n",
       "\t      // that causes it, under certain circumstances, to provide the same value for\n",
       "\t      // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n",
       "\t      // for more details.\n",
       "\t      //\n",
       "\t      // This also ensures a stable sort in V8 and other engines.\n",
       "\t      // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n",
       "\t      return object.index - other.index;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array that is the composition of partially applied arguments,\n",
       "\t     * placeholders, and provided arguments into a single array of arguments.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} args The provided arguments.\n",
       "\t     * @param {Array} partials The arguments to prepend to those provided.\n",
       "\t     * @param {Array} holders The `partials` placeholder indexes.\n",
       "\t     * @params {boolean} [isCurried] Specify composing for a curried function.\n",
       "\t     * @returns {Array} Returns the new array of composed arguments.\n",
       "\t     */\n",
       "\t    function composeArgs(args, partials, holders, isCurried) {\n",
       "\t      var argsIndex = -1,\n",
       "\t          argsLength = args.length,\n",
       "\t          holdersLength = holders.length,\n",
       "\t          leftIndex = -1,\n",
       "\t          leftLength = partials.length,\n",
       "\t          rangeLength = nativeMax(argsLength - holdersLength, 0),\n",
       "\t          result = Array(leftLength + rangeLength),\n",
       "\t          isUncurried = !isCurried;\n",
       "\t\n",
       "\t      while (++leftIndex < leftLength) {\n",
       "\t        result[leftIndex] = partials[leftIndex];\n",
       "\t      }\n",
       "\t      while (++argsIndex < holdersLength) {\n",
       "\t        if (isUncurried || argsIndex < argsLength) {\n",
       "\t          result[holders[argsIndex]] = args[argsIndex];\n",
       "\t        }\n",
       "\t      }\n",
       "\t      while (rangeLength--) {\n",
       "\t        result[leftIndex++] = args[argsIndex++];\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This function is like `composeArgs` except that the arguments composition\n",
       "\t     * is tailored for `_.partialRight`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} args The provided arguments.\n",
       "\t     * @param {Array} partials The arguments to append to those provided.\n",
       "\t     * @param {Array} holders The `partials` placeholder indexes.\n",
       "\t     * @params {boolean} [isCurried] Specify composing for a curried function.\n",
       "\t     * @returns {Array} Returns the new array of composed arguments.\n",
       "\t     */\n",
       "\t    function composeArgsRight(args, partials, holders, isCurried) {\n",
       "\t      var argsIndex = -1,\n",
       "\t          argsLength = args.length,\n",
       "\t          holdersIndex = -1,\n",
       "\t          holdersLength = holders.length,\n",
       "\t          rightIndex = -1,\n",
       "\t          rightLength = partials.length,\n",
       "\t          rangeLength = nativeMax(argsLength - holdersLength, 0),\n",
       "\t          result = Array(rangeLength + rightLength),\n",
       "\t          isUncurried = !isCurried;\n",
       "\t\n",
       "\t      while (++argsIndex < rangeLength) {\n",
       "\t        result[argsIndex] = args[argsIndex];\n",
       "\t      }\n",
       "\t      var offset = argsIndex;\n",
       "\t      while (++rightIndex < rightLength) {\n",
       "\t        result[offset + rightIndex] = partials[rightIndex];\n",
       "\t      }\n",
       "\t      while (++holdersIndex < holdersLength) {\n",
       "\t        if (isUncurried || argsIndex < argsLength) {\n",
       "\t          result[offset + holders[holdersIndex]] = args[argsIndex++];\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Copies the values of `source` to `array`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} source The array to copy values from.\n",
       "\t     * @param {Array} [array=[]] The array to copy values to.\n",
       "\t     * @returns {Array} Returns `array`.\n",
       "\t     */\n",
       "\t    function copyArray(source, array) {\n",
       "\t      var index = -1,\n",
       "\t          length = source.length;\n",
       "\t\n",
       "\t      array || (array = Array(length));\n",
       "\t      while (++index < length) {\n",
       "\t        array[index] = source[index];\n",
       "\t      }\n",
       "\t      return array;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Copies properties of `source` to `object`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} source The object to copy properties from.\n",
       "\t     * @param {Array} props The property identifiers to copy.\n",
       "\t     * @param {Object} [object={}] The object to copy properties to.\n",
       "\t     * @param {Function} [customizer] The function to customize copied values.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     */\n",
       "\t    function copyObject(source, props, object, customizer) {\n",
       "\t      var isNew = !object;\n",
       "\t      object || (object = {});\n",
       "\t\n",
       "\t      var index = -1,\n",
       "\t          length = props.length;\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        var key = props[index];\n",
       "\t\n",
       "\t        var newValue = customizer\n",
       "\t          ? customizer(object[key], source[key], key, object, source)\n",
       "\t          : undefined;\n",
       "\t\n",
       "\t        if (newValue === undefined) {\n",
       "\t          newValue = source[key];\n",
       "\t        }\n",
       "\t        if (isNew) {\n",
       "\t          baseAssignValue(object, key, newValue);\n",
       "\t        } else {\n",
       "\t          assignValue(object, key, newValue);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return object;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Copies own symbols of `source` to `object`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} source The object to copy symbols from.\n",
       "\t     * @param {Object} [object={}] The object to copy symbols to.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     */\n",
       "\t    function copySymbols(source, object) {\n",
       "\t      return copyObject(source, getSymbols(source), object);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Copies own and inherited symbols of `source` to `object`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} source The object to copy symbols from.\n",
       "\t     * @param {Object} [object={}] The object to copy symbols to.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     */\n",
       "\t    function copySymbolsIn(source, object) {\n",
       "\t      return copyObject(source, getSymbolsIn(source), object);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function like `_.groupBy`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} setter The function to set accumulator values.\n",
       "\t     * @param {Function} [initializer] The accumulator object initializer.\n",
       "\t     * @returns {Function} Returns the new aggregator function.\n",
       "\t     */\n",
       "\t    function createAggregator(setter, initializer) {\n",
       "\t      return function(collection, iteratee) {\n",
       "\t        var func = isArray(collection) ? arrayAggregator : baseAggregator,\n",
       "\t            accumulator = initializer ? initializer() : {};\n",
       "\t\n",
       "\t        return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function like `_.assign`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} assigner The function to assign values.\n",
       "\t     * @returns {Function} Returns the new assigner function.\n",
       "\t     */\n",
       "\t    function createAssigner(assigner) {\n",
       "\t      return baseRest(function(object, sources) {\n",
       "\t        var index = -1,\n",
       "\t            length = sources.length,\n",
       "\t            customizer = length > 1 ? sources[length - 1] : undefined,\n",
       "\t            guard = length > 2 ? sources[2] : undefined;\n",
       "\t\n",
       "\t        customizer = (assigner.length > 3 && typeof customizer == 'function')\n",
       "\t          ? (length--, customizer)\n",
       "\t          : undefined;\n",
       "\t\n",
       "\t        if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n",
       "\t          customizer = length < 3 ? undefined : customizer;\n",
       "\t          length = 1;\n",
       "\t        }\n",
       "\t        object = Object(object);\n",
       "\t        while (++index < length) {\n",
       "\t          var source = sources[index];\n",
       "\t          if (source) {\n",
       "\t            assigner(object, source, index, customizer);\n",
       "\t          }\n",
       "\t        }\n",
       "\t        return object;\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a `baseEach` or `baseEachRight` function.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} eachFunc The function to iterate over a collection.\n",
       "\t     * @param {boolean} [fromRight] Specify iterating from right to left.\n",
       "\t     * @returns {Function} Returns the new base function.\n",
       "\t     */\n",
       "\t    function createBaseEach(eachFunc, fromRight) {\n",
       "\t      return function(collection, iteratee) {\n",
       "\t        if (collection == null) {\n",
       "\t          return collection;\n",
       "\t        }\n",
       "\t        if (!isArrayLike(collection)) {\n",
       "\t          return eachFunc(collection, iteratee);\n",
       "\t        }\n",
       "\t        var length = collection.length,\n",
       "\t            index = fromRight ? length : -1,\n",
       "\t            iterable = Object(collection);\n",
       "\t\n",
       "\t        while ((fromRight ? index-- : ++index < length)) {\n",
       "\t          if (iteratee(iterable[index], index, iterable) === false) {\n",
       "\t            break;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        return collection;\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {boolean} [fromRight] Specify iterating from right to left.\n",
       "\t     * @returns {Function} Returns the new base function.\n",
       "\t     */\n",
       "\t    function createBaseFor(fromRight) {\n",
       "\t      return function(object, iteratee, keysFunc) {\n",
       "\t        var index = -1,\n",
       "\t            iterable = Object(object),\n",
       "\t            props = keysFunc(object),\n",
       "\t            length = props.length;\n",
       "\t\n",
       "\t        while (length--) {\n",
       "\t          var key = props[fromRight ? length : ++index];\n",
       "\t          if (iteratee(iterable[key], key, iterable) === false) {\n",
       "\t            break;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        return object;\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that wraps `func` to invoke it with the optional `this`\n",
       "\t     * binding of `thisArg`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to wrap.\n",
       "\t     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n",
       "\t     * @param {*} [thisArg] The `this` binding of `func`.\n",
       "\t     * @returns {Function} Returns the new wrapped function.\n",
       "\t     */\n",
       "\t    function createBind(func, bitmask, thisArg) {\n",
       "\t      var isBind = bitmask & WRAP_BIND_FLAG,\n",
       "\t          Ctor = createCtor(func);\n",
       "\t\n",
       "\t      function wrapper() {\n",
       "\t        var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n",
       "\t        return fn.apply(isBind ? thisArg : this, arguments);\n",
       "\t      }\n",
       "\t      return wrapper;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function like `_.lowerFirst`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {string} methodName The name of the `String` case method to use.\n",
       "\t     * @returns {Function} Returns the new case function.\n",
       "\t     */\n",
       "\t    function createCaseFirst(methodName) {\n",
       "\t      return function(string) {\n",
       "\t        string = toString(string);\n",
       "\t\n",
       "\t        var strSymbols = hasUnicode(string)\n",
       "\t          ? stringToArray(string)\n",
       "\t          : undefined;\n",
       "\t\n",
       "\t        var chr = strSymbols\n",
       "\t          ? strSymbols[0]\n",
       "\t          : string.charAt(0);\n",
       "\t\n",
       "\t        var trailing = strSymbols\n",
       "\t          ? castSlice(strSymbols, 1).join('')\n",
       "\t          : string.slice(1);\n",
       "\t\n",
       "\t        return chr[methodName]() + trailing;\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function like `_.camelCase`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} callback The function to combine each word.\n",
       "\t     * @returns {Function} Returns the new compounder function.\n",
       "\t     */\n",
       "\t    function createCompounder(callback) {\n",
       "\t      return function(string) {\n",
       "\t        return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that produces an instance of `Ctor` regardless of\n",
       "\t     * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} Ctor The constructor to wrap.\n",
       "\t     * @returns {Function} Returns the new wrapped function.\n",
       "\t     */\n",
       "\t    function createCtor(Ctor) {\n",
       "\t      return function() {\n",
       "\t        // Use a `switch` statement to work with class constructors. See\n",
       "\t        // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n",
       "\t        // for more details.\n",
       "\t        var args = arguments;\n",
       "\t        switch (args.length) {\n",
       "\t          case 0: return new Ctor;\n",
       "\t          case 1: return new Ctor(args[0]);\n",
       "\t          case 2: return new Ctor(args[0], args[1]);\n",
       "\t          case 3: return new Ctor(args[0], args[1], args[2]);\n",
       "\t          case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n",
       "\t          case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n",
       "\t          case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n",
       "\t          case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n",
       "\t        }\n",
       "\t        var thisBinding = baseCreate(Ctor.prototype),\n",
       "\t            result = Ctor.apply(thisBinding, args);\n",
       "\t\n",
       "\t        // Mimic the constructor's `return` behavior.\n",
       "\t        // See https://es5.github.io/#x13.2.2 for more details.\n",
       "\t        return isObject(result) ? result : thisBinding;\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that wraps `func` to enable currying.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to wrap.\n",
       "\t     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n",
       "\t     * @param {number} arity The arity of `func`.\n",
       "\t     * @returns {Function} Returns the new wrapped function.\n",
       "\t     */\n",
       "\t    function createCurry(func, bitmask, arity) {\n",
       "\t      var Ctor = createCtor(func);\n",
       "\t\n",
       "\t      function wrapper() {\n",
       "\t        var length = arguments.length,\n",
       "\t            args = Array(length),\n",
       "\t            index = length,\n",
       "\t            placeholder = getHolder(wrapper);\n",
       "\t\n",
       "\t        while (index--) {\n",
       "\t          args[index] = arguments[index];\n",
       "\t        }\n",
       "\t        var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n",
       "\t          ? []\n",
       "\t          : replaceHolders(args, placeholder);\n",
       "\t\n",
       "\t        length -= holders.length;\n",
       "\t        if (length < arity) {\n",
       "\t          return createRecurry(\n",
       "\t            func, bitmask, createHybrid, wrapper.placeholder, undefined,\n",
       "\t            args, holders, undefined, undefined, arity - length);\n",
       "\t        }\n",
       "\t        var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n",
       "\t        return apply(fn, this, args);\n",
       "\t      }\n",
       "\t      return wrapper;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a `_.find` or `_.findLast` function.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} findIndexFunc The function to find the collection index.\n",
       "\t     * @returns {Function} Returns the new find function.\n",
       "\t     */\n",
       "\t    function createFind(findIndexFunc) {\n",
       "\t      return function(collection, predicate, fromIndex) {\n",
       "\t        var iterable = Object(collection);\n",
       "\t        if (!isArrayLike(collection)) {\n",
       "\t          var iteratee = getIteratee(predicate, 3);\n",
       "\t          collection = keys(collection);\n",
       "\t          predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n",
       "\t        }\n",
       "\t        var index = findIndexFunc(collection, predicate, fromIndex);\n",
       "\t        return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a `_.flow` or `_.flowRight` function.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {boolean} [fromRight] Specify iterating from right to left.\n",
       "\t     * @returns {Function} Returns the new flow function.\n",
       "\t     */\n",
       "\t    function createFlow(fromRight) {\n",
       "\t      return flatRest(function(funcs) {\n",
       "\t        var length = funcs.length,\n",
       "\t            index = length,\n",
       "\t            prereq = LodashWrapper.prototype.thru;\n",
       "\t\n",
       "\t        if (fromRight) {\n",
       "\t          funcs.reverse();\n",
       "\t        }\n",
       "\t        while (index--) {\n",
       "\t          var func = funcs[index];\n",
       "\t          if (typeof func != 'function') {\n",
       "\t            throw new TypeError(FUNC_ERROR_TEXT);\n",
       "\t          }\n",
       "\t          if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n",
       "\t            var wrapper = new LodashWrapper([], true);\n",
       "\t          }\n",
       "\t        }\n",
       "\t        index = wrapper ? index : length;\n",
       "\t        while (++index < length) {\n",
       "\t          func = funcs[index];\n",
       "\t\n",
       "\t          var funcName = getFuncName(func),\n",
       "\t              data = funcName == 'wrapper' ? getData(func) : undefined;\n",
       "\t\n",
       "\t          if (data && isLaziable(data[0]) &&\n",
       "\t                data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n",
       "\t                !data[4].length && data[9] == 1\n",
       "\t              ) {\n",
       "\t            wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n",
       "\t          } else {\n",
       "\t            wrapper = (func.length == 1 && isLaziable(func))\n",
       "\t              ? wrapper[funcName]()\n",
       "\t              : wrapper.thru(func);\n",
       "\t          }\n",
       "\t        }\n",
       "\t        return function() {\n",
       "\t          var args = arguments,\n",
       "\t              value = args[0];\n",
       "\t\n",
       "\t          if (wrapper && args.length == 1 && isArray(value)) {\n",
       "\t            return wrapper.plant(value).value();\n",
       "\t          }\n",
       "\t          var index = 0,\n",
       "\t              result = length ? funcs[index].apply(this, args) : value;\n",
       "\t\n",
       "\t          while (++index < length) {\n",
       "\t            result = funcs[index].call(this, result);\n",
       "\t          }\n",
       "\t          return result;\n",
       "\t        };\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that wraps `func` to invoke it with optional `this`\n",
       "\t     * binding of `thisArg`, partial application, and currying.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function|string} func The function or method name to wrap.\n",
       "\t     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n",
       "\t     * @param {*} [thisArg] The `this` binding of `func`.\n",
       "\t     * @param {Array} [partials] The arguments to prepend to those provided to\n",
       "\t     *  the new function.\n",
       "\t     * @param {Array} [holders] The `partials` placeholder indexes.\n",
       "\t     * @param {Array} [partialsRight] The arguments to append to those provided\n",
       "\t     *  to the new function.\n",
       "\t     * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n",
       "\t     * @param {Array} [argPos] The argument positions of the new function.\n",
       "\t     * @param {number} [ary] The arity cap of `func`.\n",
       "\t     * @param {number} [arity] The arity of `func`.\n",
       "\t     * @returns {Function} Returns the new wrapped function.\n",
       "\t     */\n",
       "\t    function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n",
       "\t      var isAry = bitmask & WRAP_ARY_FLAG,\n",
       "\t          isBind = bitmask & WRAP_BIND_FLAG,\n",
       "\t          isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n",
       "\t          isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n",
       "\t          isFlip = bitmask & WRAP_FLIP_FLAG,\n",
       "\t          Ctor = isBindKey ? undefined : createCtor(func);\n",
       "\t\n",
       "\t      function wrapper() {\n",
       "\t        var length = arguments.length,\n",
       "\t            args = Array(length),\n",
       "\t            index = length;\n",
       "\t\n",
       "\t        while (index--) {\n",
       "\t          args[index] = arguments[index];\n",
       "\t        }\n",
       "\t        if (isCurried) {\n",
       "\t          var placeholder = getHolder(wrapper),\n",
       "\t              holdersCount = countHolders(args, placeholder);\n",
       "\t        }\n",
       "\t        if (partials) {\n",
       "\t          args = composeArgs(args, partials, holders, isCurried);\n",
       "\t        }\n",
       "\t        if (partialsRight) {\n",
       "\t          args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n",
       "\t        }\n",
       "\t        length -= holdersCount;\n",
       "\t        if (isCurried && length < arity) {\n",
       "\t          var newHolders = replaceHolders(args, placeholder);\n",
       "\t          return createRecurry(\n",
       "\t            func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n",
       "\t            args, newHolders, argPos, ary, arity - length\n",
       "\t          );\n",
       "\t        }\n",
       "\t        var thisBinding = isBind ? thisArg : this,\n",
       "\t            fn = isBindKey ? thisBinding[func] : func;\n",
       "\t\n",
       "\t        length = args.length;\n",
       "\t        if (argPos) {\n",
       "\t          args = reorder(args, argPos);\n",
       "\t        } else if (isFlip && length > 1) {\n",
       "\t          args.reverse();\n",
       "\t        }\n",
       "\t        if (isAry && ary < length) {\n",
       "\t          args.length = ary;\n",
       "\t        }\n",
       "\t        if (this && this !== root && this instanceof wrapper) {\n",
       "\t          fn = Ctor || createCtor(fn);\n",
       "\t        }\n",
       "\t        return fn.apply(thisBinding, args);\n",
       "\t      }\n",
       "\t      return wrapper;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function like `_.invertBy`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} setter The function to set accumulator values.\n",
       "\t     * @param {Function} toIteratee The function to resolve iteratees.\n",
       "\t     * @returns {Function} Returns the new inverter function.\n",
       "\t     */\n",
       "\t    function createInverter(setter, toIteratee) {\n",
       "\t      return function(object, iteratee) {\n",
       "\t        return baseInverter(object, setter, toIteratee(iteratee), {});\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that performs a mathematical operation on two values.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} operator The function to perform the operation.\n",
       "\t     * @param {number} [defaultValue] The value used for `undefined` arguments.\n",
       "\t     * @returns {Function} Returns the new mathematical operation function.\n",
       "\t     */\n",
       "\t    function createMathOperation(operator, defaultValue) {\n",
       "\t      return function(value, other) {\n",
       "\t        var result;\n",
       "\t        if (value === undefined && other === undefined) {\n",
       "\t          return defaultValue;\n",
       "\t        }\n",
       "\t        if (value !== undefined) {\n",
       "\t          result = value;\n",
       "\t        }\n",
       "\t        if (other !== undefined) {\n",
       "\t          if (result === undefined) {\n",
       "\t            return other;\n",
       "\t          }\n",
       "\t          if (typeof value == 'string' || typeof other == 'string') {\n",
       "\t            value = baseToString(value);\n",
       "\t            other = baseToString(other);\n",
       "\t          } else {\n",
       "\t            value = baseToNumber(value);\n",
       "\t            other = baseToNumber(other);\n",
       "\t          }\n",
       "\t          result = operator(value, other);\n",
       "\t        }\n",
       "\t        return result;\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function like `_.over`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} arrayFunc The function to iterate over iteratees.\n",
       "\t     * @returns {Function} Returns the new over function.\n",
       "\t     */\n",
       "\t    function createOver(arrayFunc) {\n",
       "\t      return flatRest(function(iteratees) {\n",
       "\t        iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n",
       "\t        return baseRest(function(args) {\n",
       "\t          var thisArg = this;\n",
       "\t          return arrayFunc(iteratees, function(iteratee) {\n",
       "\t            return apply(iteratee, thisArg, args);\n",
       "\t          });\n",
       "\t        });\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates the padding for `string` based on `length`. The `chars` string\n",
       "\t     * is truncated if the number of characters exceeds `length`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {number} length The padding length.\n",
       "\t     * @param {string} [chars=' '] The string used as padding.\n",
       "\t     * @returns {string} Returns the padding for `string`.\n",
       "\t     */\n",
       "\t    function createPadding(length, chars) {\n",
       "\t      chars = chars === undefined ? ' ' : baseToString(chars);\n",
       "\t\n",
       "\t      var charsLength = chars.length;\n",
       "\t      if (charsLength < 2) {\n",
       "\t        return charsLength ? baseRepeat(chars, length) : chars;\n",
       "\t      }\n",
       "\t      var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n",
       "\t      return hasUnicode(chars)\n",
       "\t        ? castSlice(stringToArray(result), 0, length).join('')\n",
       "\t        : result.slice(0, length);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that wraps `func` to invoke it with the `this` binding\n",
       "\t     * of `thisArg` and `partials` prepended to the arguments it receives.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to wrap.\n",
       "\t     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n",
       "\t     * @param {*} thisArg The `this` binding of `func`.\n",
       "\t     * @param {Array} partials The arguments to prepend to those provided to\n",
       "\t     *  the new function.\n",
       "\t     * @returns {Function} Returns the new wrapped function.\n",
       "\t     */\n",
       "\t    function createPartial(func, bitmask, thisArg, partials) {\n",
       "\t      var isBind = bitmask & WRAP_BIND_FLAG,\n",
       "\t          Ctor = createCtor(func);\n",
       "\t\n",
       "\t      function wrapper() {\n",
       "\t        var argsIndex = -1,\n",
       "\t            argsLength = arguments.length,\n",
       "\t            leftIndex = -1,\n",
       "\t            leftLength = partials.length,\n",
       "\t            args = Array(leftLength + argsLength),\n",
       "\t            fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n",
       "\t\n",
       "\t        while (++leftIndex < leftLength) {\n",
       "\t          args[leftIndex] = partials[leftIndex];\n",
       "\t        }\n",
       "\t        while (argsLength--) {\n",
       "\t          args[leftIndex++] = arguments[++argsIndex];\n",
       "\t        }\n",
       "\t        return apply(fn, isBind ? thisArg : this, args);\n",
       "\t      }\n",
       "\t      return wrapper;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a `_.range` or `_.rangeRight` function.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {boolean} [fromRight] Specify iterating from right to left.\n",
       "\t     * @returns {Function} Returns the new range function.\n",
       "\t     */\n",
       "\t    function createRange(fromRight) {\n",
       "\t      return function(start, end, step) {\n",
       "\t        if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n",
       "\t          end = step = undefined;\n",
       "\t        }\n",
       "\t        // Ensure the sign of `-0` is preserved.\n",
       "\t        start = toFinite(start);\n",
       "\t        if (end === undefined) {\n",
       "\t          end = start;\n",
       "\t          start = 0;\n",
       "\t        } else {\n",
       "\t          end = toFinite(end);\n",
       "\t        }\n",
       "\t        step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n",
       "\t        return baseRange(start, end, step, fromRight);\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that performs a relational operation on two values.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} operator The function to perform the operation.\n",
       "\t     * @returns {Function} Returns the new relational operation function.\n",
       "\t     */\n",
       "\t    function createRelationalOperation(operator) {\n",
       "\t      return function(value, other) {\n",
       "\t        if (!(typeof value == 'string' && typeof other == 'string')) {\n",
       "\t          value = toNumber(value);\n",
       "\t          other = toNumber(other);\n",
       "\t        }\n",
       "\t        return operator(value, other);\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that wraps `func` to continue currying.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to wrap.\n",
       "\t     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n",
       "\t     * @param {Function} wrapFunc The function to create the `func` wrapper.\n",
       "\t     * @param {*} placeholder The placeholder value.\n",
       "\t     * @param {*} [thisArg] The `this` binding of `func`.\n",
       "\t     * @param {Array} [partials] The arguments to prepend to those provided to\n",
       "\t     *  the new function.\n",
       "\t     * @param {Array} [holders] The `partials` placeholder indexes.\n",
       "\t     * @param {Array} [argPos] The argument positions of the new function.\n",
       "\t     * @param {number} [ary] The arity cap of `func`.\n",
       "\t     * @param {number} [arity] The arity of `func`.\n",
       "\t     * @returns {Function} Returns the new wrapped function.\n",
       "\t     */\n",
       "\t    function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n",
       "\t      var isCurry = bitmask & WRAP_CURRY_FLAG,\n",
       "\t          newHolders = isCurry ? holders : undefined,\n",
       "\t          newHoldersRight = isCurry ? undefined : holders,\n",
       "\t          newPartials = isCurry ? partials : undefined,\n",
       "\t          newPartialsRight = isCurry ? undefined : partials;\n",
       "\t\n",
       "\t      bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n",
       "\t      bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n",
       "\t\n",
       "\t      if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n",
       "\t        bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n",
       "\t      }\n",
       "\t      var newData = [\n",
       "\t        func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n",
       "\t        newHoldersRight, argPos, ary, arity\n",
       "\t      ];\n",
       "\t\n",
       "\t      var result = wrapFunc.apply(undefined, newData);\n",
       "\t      if (isLaziable(func)) {\n",
       "\t        setData(result, newData);\n",
       "\t      }\n",
       "\t      result.placeholder = placeholder;\n",
       "\t      return setWrapToString(result, func, bitmask);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function like `_.round`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {string} methodName The name of the `Math` method to use when rounding.\n",
       "\t     * @returns {Function} Returns the new round function.\n",
       "\t     */\n",
       "\t    function createRound(methodName) {\n",
       "\t      var func = Math[methodName];\n",
       "\t      return function(number, precision) {\n",
       "\t        number = toNumber(number);\n",
       "\t        precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n",
       "\t        if (precision) {\n",
       "\t          // Shift with exponential notation to avoid floating-point issues.\n",
       "\t          // See [MDN](https://mdn.io/round#Examples) for more details.\n",
       "\t          var pair = (toString(number) + 'e').split('e'),\n",
       "\t              value = func(pair[0] + 'e' + (+pair[1] + precision));\n",
       "\t\n",
       "\t          pair = (toString(value) + 'e').split('e');\n",
       "\t          return +(pair[0] + 'e' + (+pair[1] - precision));\n",
       "\t        }\n",
       "\t        return func(number);\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a set object of `values`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} values The values to add to the set.\n",
       "\t     * @returns {Object} Returns the new set.\n",
       "\t     */\n",
       "\t    var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n",
       "\t      return new Set(values);\n",
       "\t    };\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a `_.toPairs` or `_.toPairsIn` function.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} keysFunc The function to get the keys of a given object.\n",
       "\t     * @returns {Function} Returns the new pairs function.\n",
       "\t     */\n",
       "\t    function createToPairs(keysFunc) {\n",
       "\t      return function(object) {\n",
       "\t        var tag = getTag(object);\n",
       "\t        if (tag == mapTag) {\n",
       "\t          return mapToArray(object);\n",
       "\t        }\n",
       "\t        if (tag == setTag) {\n",
       "\t          return setToPairs(object);\n",
       "\t        }\n",
       "\t        return baseToPairs(object, keysFunc(object));\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that either curries or invokes `func` with optional\n",
       "\t     * `this` binding and partially applied arguments.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function|string} func The function or method name to wrap.\n",
       "\t     * @param {number} bitmask The bitmask flags.\n",
       "\t     *    1 - `_.bind`\n",
       "\t     *    2 - `_.bindKey`\n",
       "\t     *    4 - `_.curry` or `_.curryRight` of a bound function\n",
       "\t     *    8 - `_.curry`\n",
       "\t     *   16 - `_.curryRight`\n",
       "\t     *   32 - `_.partial`\n",
       "\t     *   64 - `_.partialRight`\n",
       "\t     *  128 - `_.rearg`\n",
       "\t     *  256 - `_.ary`\n",
       "\t     *  512 - `_.flip`\n",
       "\t     * @param {*} [thisArg] The `this` binding of `func`.\n",
       "\t     * @param {Array} [partials] The arguments to be partially applied.\n",
       "\t     * @param {Array} [holders] The `partials` placeholder indexes.\n",
       "\t     * @param {Array} [argPos] The argument positions of the new function.\n",
       "\t     * @param {number} [ary] The arity cap of `func`.\n",
       "\t     * @param {number} [arity] The arity of `func`.\n",
       "\t     * @returns {Function} Returns the new wrapped function.\n",
       "\t     */\n",
       "\t    function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n",
       "\t      var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n",
       "\t      if (!isBindKey && typeof func != 'function') {\n",
       "\t        throw new TypeError(FUNC_ERROR_TEXT);\n",
       "\t      }\n",
       "\t      var length = partials ? partials.length : 0;\n",
       "\t      if (!length) {\n",
       "\t        bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n",
       "\t        partials = holders = undefined;\n",
       "\t      }\n",
       "\t      ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n",
       "\t      arity = arity === undefined ? arity : toInteger(arity);\n",
       "\t      length -= holders ? holders.length : 0;\n",
       "\t\n",
       "\t      if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n",
       "\t        var partialsRight = partials,\n",
       "\t            holdersRight = holders;\n",
       "\t\n",
       "\t        partials = holders = undefined;\n",
       "\t      }\n",
       "\t      var data = isBindKey ? undefined : getData(func);\n",
       "\t\n",
       "\t      var newData = [\n",
       "\t        func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n",
       "\t        argPos, ary, arity\n",
       "\t      ];\n",
       "\t\n",
       "\t      if (data) {\n",
       "\t        mergeData(newData, data);\n",
       "\t      }\n",
       "\t      func = newData[0];\n",
       "\t      bitmask = newData[1];\n",
       "\t      thisArg = newData[2];\n",
       "\t      partials = newData[3];\n",
       "\t      holders = newData[4];\n",
       "\t      arity = newData[9] = newData[9] === undefined\n",
       "\t        ? (isBindKey ? 0 : func.length)\n",
       "\t        : nativeMax(newData[9] - length, 0);\n",
       "\t\n",
       "\t      if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n",
       "\t        bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n",
       "\t      }\n",
       "\t      if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n",
       "\t        var result = createBind(func, bitmask, thisArg);\n",
       "\t      } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n",
       "\t        result = createCurry(func, bitmask, arity);\n",
       "\t      } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n",
       "\t        result = createPartial(func, bitmask, thisArg, partials);\n",
       "\t      } else {\n",
       "\t        result = createHybrid.apply(undefined, newData);\n",
       "\t      }\n",
       "\t      var setter = data ? baseSetData : setData;\n",
       "\t      return setWrapToString(setter(result, newData), func, bitmask);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n",
       "\t     * of source objects to the destination object for all destination properties\n",
       "\t     * that resolve to `undefined`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} objValue The destination value.\n",
       "\t     * @param {*} srcValue The source value.\n",
       "\t     * @param {string} key The key of the property to assign.\n",
       "\t     * @param {Object} object The parent object of `objValue`.\n",
       "\t     * @returns {*} Returns the value to assign.\n",
       "\t     */\n",
       "\t    function customDefaultsAssignIn(objValue, srcValue, key, object) {\n",
       "\t      if (objValue === undefined ||\n",
       "\t          (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n",
       "\t        return srcValue;\n",
       "\t      }\n",
       "\t      return objValue;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n",
       "\t     * objects into destination objects that are passed thru.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} objValue The destination value.\n",
       "\t     * @param {*} srcValue The source value.\n",
       "\t     * @param {string} key The key of the property to merge.\n",
       "\t     * @param {Object} object The parent object of `objValue`.\n",
       "\t     * @param {Object} source The parent object of `srcValue`.\n",
       "\t     * @param {Object} [stack] Tracks traversed source values and their merged\n",
       "\t     *  counterparts.\n",
       "\t     * @returns {*} Returns the value to assign.\n",
       "\t     */\n",
       "\t    function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n",
       "\t      if (isObject(objValue) && isObject(srcValue)) {\n",
       "\t        // Recursively merge objects and arrays (susceptible to call stack limits).\n",
       "\t        stack.set(srcValue, objValue);\n",
       "\t        baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n",
       "\t        stack['delete'](srcValue);\n",
       "\t      }\n",
       "\t      return objValue;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n",
       "\t     * objects.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to inspect.\n",
       "\t     * @param {string} key The key of the property to inspect.\n",
       "\t     * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n",
       "\t     */\n",
       "\t    function customOmitClone(value) {\n",
       "\t      return isPlainObject(value) ? undefined : value;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `baseIsEqualDeep` for arrays with support for\n",
       "\t     * partial deep comparisons.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to compare.\n",
       "\t     * @param {Array} other The other array to compare.\n",
       "\t     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n",
       "\t     * @param {Function} customizer The function to customize comparisons.\n",
       "\t     * @param {Function} equalFunc The function to determine equivalents of values.\n",
       "\t     * @param {Object} stack Tracks traversed `array` and `other` objects.\n",
       "\t     * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n",
       "\t     */\n",
       "\t    function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n",
       "\t      var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n",
       "\t          arrLength = array.length,\n",
       "\t          othLength = other.length;\n",
       "\t\n",
       "\t      if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n",
       "\t        return false;\n",
       "\t      }\n",
       "\t      // Assume cyclic values are equal.\n",
       "\t      var stacked = stack.get(array);\n",
       "\t      if (stacked && stack.get(other)) {\n",
       "\t        return stacked == other;\n",
       "\t      }\n",
       "\t      var index = -1,\n",
       "\t          result = true,\n",
       "\t          seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n",
       "\t\n",
       "\t      stack.set(array, other);\n",
       "\t      stack.set(other, array);\n",
       "\t\n",
       "\t      // Ignore non-index properties.\n",
       "\t      while (++index < arrLength) {\n",
       "\t        var arrValue = array[index],\n",
       "\t            othValue = other[index];\n",
       "\t\n",
       "\t        if (customizer) {\n",
       "\t          var compared = isPartial\n",
       "\t            ? customizer(othValue, arrValue, index, other, array, stack)\n",
       "\t            : customizer(arrValue, othValue, index, array, other, stack);\n",
       "\t        }\n",
       "\t        if (compared !== undefined) {\n",
       "\t          if (compared) {\n",
       "\t            continue;\n",
       "\t          }\n",
       "\t          result = false;\n",
       "\t          break;\n",
       "\t        }\n",
       "\t        // Recursively compare arrays (susceptible to call stack limits).\n",
       "\t        if (seen) {\n",
       "\t          if (!arraySome(other, function(othValue, othIndex) {\n",
       "\t                if (!cacheHas(seen, othIndex) &&\n",
       "\t                    (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n",
       "\t                  return seen.push(othIndex);\n",
       "\t                }\n",
       "\t              })) {\n",
       "\t            result = false;\n",
       "\t            break;\n",
       "\t          }\n",
       "\t        } else if (!(\n",
       "\t              arrValue === othValue ||\n",
       "\t                equalFunc(arrValue, othValue, bitmask, customizer, stack)\n",
       "\t            )) {\n",
       "\t          result = false;\n",
       "\t          break;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      stack['delete'](array);\n",
       "\t      stack['delete'](other);\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `baseIsEqualDeep` for comparing objects of\n",
       "\t     * the same `toStringTag`.\n",
       "\t     *\n",
       "\t     * **Note:** This function only supports comparing values with tags of\n",
       "\t     * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to compare.\n",
       "\t     * @param {Object} other The other object to compare.\n",
       "\t     * @param {string} tag The `toStringTag` of the objects to compare.\n",
       "\t     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n",
       "\t     * @param {Function} customizer The function to customize comparisons.\n",
       "\t     * @param {Function} equalFunc The function to determine equivalents of values.\n",
       "\t     * @param {Object} stack Tracks traversed `object` and `other` objects.\n",
       "\t     * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n",
       "\t     */\n",
       "\t    function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n",
       "\t      switch (tag) {\n",
       "\t        case dataViewTag:\n",
       "\t          if ((object.byteLength != other.byteLength) ||\n",
       "\t              (object.byteOffset != other.byteOffset)) {\n",
       "\t            return false;\n",
       "\t          }\n",
       "\t          object = object.buffer;\n",
       "\t          other = other.buffer;\n",
       "\t\n",
       "\t        case arrayBufferTag:\n",
       "\t          if ((object.byteLength != other.byteLength) ||\n",
       "\t              !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n",
       "\t            return false;\n",
       "\t          }\n",
       "\t          return true;\n",
       "\t\n",
       "\t        case boolTag:\n",
       "\t        case dateTag:\n",
       "\t        case numberTag:\n",
       "\t          // Coerce booleans to `1` or `0` and dates to milliseconds.\n",
       "\t          // Invalid dates are coerced to `NaN`.\n",
       "\t          return eq(+object, +other);\n",
       "\t\n",
       "\t        case errorTag:\n",
       "\t          return object.name == other.name && object.message == other.message;\n",
       "\t\n",
       "\t        case regexpTag:\n",
       "\t        case stringTag:\n",
       "\t          // Coerce regexes to strings and treat strings, primitives and objects,\n",
       "\t          // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n",
       "\t          // for more details.\n",
       "\t          return object == (other + '');\n",
       "\t\n",
       "\t        case mapTag:\n",
       "\t          var convert = mapToArray;\n",
       "\t\n",
       "\t        case setTag:\n",
       "\t          var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n",
       "\t          convert || (convert = setToArray);\n",
       "\t\n",
       "\t          if (object.size != other.size && !isPartial) {\n",
       "\t            return false;\n",
       "\t          }\n",
       "\t          // Assume cyclic values are equal.\n",
       "\t          var stacked = stack.get(object);\n",
       "\t          if (stacked) {\n",
       "\t            return stacked == other;\n",
       "\t          }\n",
       "\t          bitmask |= COMPARE_UNORDERED_FLAG;\n",
       "\t\n",
       "\t          // Recursively compare objects (susceptible to call stack limits).\n",
       "\t          stack.set(object, other);\n",
       "\t          var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n",
       "\t          stack['delete'](object);\n",
       "\t          return result;\n",
       "\t\n",
       "\t        case symbolTag:\n",
       "\t          if (symbolValueOf) {\n",
       "\t            return symbolValueOf.call(object) == symbolValueOf.call(other);\n",
       "\t          }\n",
       "\t      }\n",
       "\t      return false;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `baseIsEqualDeep` for objects with support for\n",
       "\t     * partial deep comparisons.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to compare.\n",
       "\t     * @param {Object} other The other object to compare.\n",
       "\t     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n",
       "\t     * @param {Function} customizer The function to customize comparisons.\n",
       "\t     * @param {Function} equalFunc The function to determine equivalents of values.\n",
       "\t     * @param {Object} stack Tracks traversed `object` and `other` objects.\n",
       "\t     * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n",
       "\t     */\n",
       "\t    function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n",
       "\t      var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n",
       "\t          objProps = getAllKeys(object),\n",
       "\t          objLength = objProps.length,\n",
       "\t          othProps = getAllKeys(other),\n",
       "\t          othLength = othProps.length;\n",
       "\t\n",
       "\t      if (objLength != othLength && !isPartial) {\n",
       "\t        return false;\n",
       "\t      }\n",
       "\t      var index = objLength;\n",
       "\t      while (index--) {\n",
       "\t        var key = objProps[index];\n",
       "\t        if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n",
       "\t          return false;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      // Assume cyclic values are equal.\n",
       "\t      var stacked = stack.get(object);\n",
       "\t      if (stacked && stack.get(other)) {\n",
       "\t        return stacked == other;\n",
       "\t      }\n",
       "\t      var result = true;\n",
       "\t      stack.set(object, other);\n",
       "\t      stack.set(other, object);\n",
       "\t\n",
       "\t      var skipCtor = isPartial;\n",
       "\t      while (++index < objLength) {\n",
       "\t        key = objProps[index];\n",
       "\t        var objValue = object[key],\n",
       "\t            othValue = other[key];\n",
       "\t\n",
       "\t        if (customizer) {\n",
       "\t          var compared = isPartial\n",
       "\t            ? customizer(othValue, objValue, key, other, object, stack)\n",
       "\t            : customizer(objValue, othValue, key, object, other, stack);\n",
       "\t        }\n",
       "\t        // Recursively compare objects (susceptible to call stack limits).\n",
       "\t        if (!(compared === undefined\n",
       "\t              ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n",
       "\t              : compared\n",
       "\t            )) {\n",
       "\t          result = false;\n",
       "\t          break;\n",
       "\t        }\n",
       "\t        skipCtor || (skipCtor = key == 'constructor');\n",
       "\t      }\n",
       "\t      if (result && !skipCtor) {\n",
       "\t        var objCtor = object.constructor,\n",
       "\t            othCtor = other.constructor;\n",
       "\t\n",
       "\t        // Non `Object` object instances with different constructors are not equal.\n",
       "\t        if (objCtor != othCtor &&\n",
       "\t            ('constructor' in object && 'constructor' in other) &&\n",
       "\t            !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n",
       "\t              typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n",
       "\t          result = false;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      stack['delete'](object);\n",
       "\t      stack['delete'](other);\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `baseRest` which flattens the rest array.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to apply a rest parameter to.\n",
       "\t     * @returns {Function} Returns the new function.\n",
       "\t     */\n",
       "\t    function flatRest(func) {\n",
       "\t      return setToString(overRest(func, undefined, flatten), func + '');\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of own enumerable property names and symbols of `object`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the array of property names and symbols.\n",
       "\t     */\n",
       "\t    function getAllKeys(object) {\n",
       "\t      return baseGetAllKeys(object, keys, getSymbols);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of own and inherited enumerable property names and\n",
       "\t     * symbols of `object`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the array of property names and symbols.\n",
       "\t     */\n",
       "\t    function getAllKeysIn(object) {\n",
       "\t      return baseGetAllKeys(object, keysIn, getSymbolsIn);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets metadata for `func`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to query.\n",
       "\t     * @returns {*} Returns the metadata for `func`.\n",
       "\t     */\n",
       "\t    var getData = !metaMap ? noop : function(func) {\n",
       "\t      return metaMap.get(func);\n",
       "\t    };\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the name of `func`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to query.\n",
       "\t     * @returns {string} Returns the function name.\n",
       "\t     */\n",
       "\t    function getFuncName(func) {\n",
       "\t      var result = (func.name + ''),\n",
       "\t          array = realNames[result],\n",
       "\t          length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n",
       "\t\n",
       "\t      while (length--) {\n",
       "\t        var data = array[length],\n",
       "\t            otherFunc = data.func;\n",
       "\t        if (otherFunc == null || otherFunc == func) {\n",
       "\t          return data.name;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the argument placeholder value for `func`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to inspect.\n",
       "\t     * @returns {*} Returns the placeholder value.\n",
       "\t     */\n",
       "\t    function getHolder(func) {\n",
       "\t      var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n",
       "\t      return object.placeholder;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n",
       "\t     * this function returns the custom method, otherwise it returns `baseIteratee`.\n",
       "\t     * If arguments are provided, the chosen function is invoked with them and\n",
       "\t     * its result is returned.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} [value] The value to convert to an iteratee.\n",
       "\t     * @param {number} [arity] The arity of the created iteratee.\n",
       "\t     * @returns {Function} Returns the chosen function or its result.\n",
       "\t     */\n",
       "\t    function getIteratee() {\n",
       "\t      var result = lodash.iteratee || iteratee;\n",
       "\t      result = result === iteratee ? baseIteratee : result;\n",
       "\t      return arguments.length ? result(arguments[0], arguments[1]) : result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the data for `map`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} map The map to query.\n",
       "\t     * @param {string} key The reference key.\n",
       "\t     * @returns {*} Returns the map data.\n",
       "\t     */\n",
       "\t    function getMapData(map, key) {\n",
       "\t      var data = map.__data__;\n",
       "\t      return isKeyable(key)\n",
       "\t        ? data[typeof key == 'string' ? 'string' : 'hash']\n",
       "\t        : data.map;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the property names, values, and compare flags of `object`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the match data of `object`.\n",
       "\t     */\n",
       "\t    function getMatchData(object) {\n",
       "\t      var result = keys(object),\n",
       "\t          length = result.length;\n",
       "\t\n",
       "\t      while (length--) {\n",
       "\t        var key = result[length],\n",
       "\t            value = object[key];\n",
       "\t\n",
       "\t        result[length] = [key, value, isStrictComparable(value)];\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the native function at `key` of `object`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @param {string} key The key of the method to get.\n",
       "\t     * @returns {*} Returns the function if it's native, else `undefined`.\n",
       "\t     */\n",
       "\t    function getNative(object, key) {\n",
       "\t      var value = getValue(object, key);\n",
       "\t      return baseIsNative(value) ? value : undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to query.\n",
       "\t     * @returns {string} Returns the raw `toStringTag`.\n",
       "\t     */\n",
       "\t    function getRawTag(value) {\n",
       "\t      var isOwn = hasOwnProperty.call(value, symToStringTag),\n",
       "\t          tag = value[symToStringTag];\n",
       "\t\n",
       "\t      try {\n",
       "\t        value[symToStringTag] = undefined;\n",
       "\t        var unmasked = true;\n",
       "\t      } catch (e) {}\n",
       "\t\n",
       "\t      var result = nativeObjectToString.call(value);\n",
       "\t      if (unmasked) {\n",
       "\t        if (isOwn) {\n",
       "\t          value[symToStringTag] = tag;\n",
       "\t        } else {\n",
       "\t          delete value[symToStringTag];\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of the own enumerable symbols of `object`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the array of symbols.\n",
       "\t     */\n",
       "\t    var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n",
       "\t      if (object == null) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      object = Object(object);\n",
       "\t      return arrayFilter(nativeGetSymbols(object), function(symbol) {\n",
       "\t        return propertyIsEnumerable.call(object, symbol);\n",
       "\t      });\n",
       "\t    };\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of the own and inherited enumerable symbols of `object`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the array of symbols.\n",
       "\t     */\n",
       "\t    var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n",
       "\t      var result = [];\n",
       "\t      while (object) {\n",
       "\t        arrayPush(result, getSymbols(object));\n",
       "\t        object = getPrototype(object);\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    };\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the `toStringTag` of `value`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to query.\n",
       "\t     * @returns {string} Returns the `toStringTag`.\n",
       "\t     */\n",
       "\t    var getTag = baseGetTag;\n",
       "\t\n",
       "\t    // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n",
       "\t    if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n",
       "\t        (Map && getTag(new Map) != mapTag) ||\n",
       "\t        (Promise && getTag(Promise.resolve()) != promiseTag) ||\n",
       "\t        (Set && getTag(new Set) != setTag) ||\n",
       "\t        (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n",
       "\t      getTag = function(value) {\n",
       "\t        var result = baseGetTag(value),\n",
       "\t            Ctor = result == objectTag ? value.constructor : undefined,\n",
       "\t            ctorString = Ctor ? toSource(Ctor) : '';\n",
       "\t\n",
       "\t        if (ctorString) {\n",
       "\t          switch (ctorString) {\n",
       "\t            case dataViewCtorString: return dataViewTag;\n",
       "\t            case mapCtorString: return mapTag;\n",
       "\t            case promiseCtorString: return promiseTag;\n",
       "\t            case setCtorString: return setTag;\n",
       "\t            case weakMapCtorString: return weakMapTag;\n",
       "\t          }\n",
       "\t        }\n",
       "\t        return result;\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the view, applying any `transforms` to the `start` and `end` positions.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {number} start The start of the view.\n",
       "\t     * @param {number} end The end of the view.\n",
       "\t     * @param {Array} transforms The transformations to apply to the view.\n",
       "\t     * @returns {Object} Returns an object containing the `start` and `end`\n",
       "\t     *  positions of the view.\n",
       "\t     */\n",
       "\t    function getView(start, end, transforms) {\n",
       "\t      var index = -1,\n",
       "\t          length = transforms.length;\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        var data = transforms[index],\n",
       "\t            size = data.size;\n",
       "\t\n",
       "\t        switch (data.type) {\n",
       "\t          case 'drop':      start += size; break;\n",
       "\t          case 'dropRight': end -= size; break;\n",
       "\t          case 'take':      end = nativeMin(end, start + size); break;\n",
       "\t          case 'takeRight': start = nativeMax(start, end - size); break;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return { 'start': start, 'end': end };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Extracts wrapper details from the `source` body comment.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {string} source The source to inspect.\n",
       "\t     * @returns {Array} Returns the wrapper details.\n",
       "\t     */\n",
       "\t    function getWrapDetails(source) {\n",
       "\t      var match = source.match(reWrapDetails);\n",
       "\t      return match ? match[1].split(reSplitDetails) : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `path` exists on `object`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @param {Array|string} path The path to check.\n",
       "\t     * @param {Function} hasFunc The function to check properties.\n",
       "\t     * @returns {boolean} Returns `true` if `path` exists, else `false`.\n",
       "\t     */\n",
       "\t    function hasPath(object, path, hasFunc) {\n",
       "\t      path = castPath(path, object);\n",
       "\t\n",
       "\t      var index = -1,\n",
       "\t          length = path.length,\n",
       "\t          result = false;\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        var key = toKey(path[index]);\n",
       "\t        if (!(result = object != null && hasFunc(object, key))) {\n",
       "\t          break;\n",
       "\t        }\n",
       "\t        object = object[key];\n",
       "\t      }\n",
       "\t      if (result || ++index != length) {\n",
       "\t        return result;\n",
       "\t      }\n",
       "\t      length = object == null ? 0 : object.length;\n",
       "\t      return !!length && isLength(length) && isIndex(key, length) &&\n",
       "\t        (isArray(object) || isArguments(object));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Initializes an array clone.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to clone.\n",
       "\t     * @returns {Array} Returns the initialized clone.\n",
       "\t     */\n",
       "\t    function initCloneArray(array) {\n",
       "\t      var length = array.length,\n",
       "\t          result = new array.constructor(length);\n",
       "\t\n",
       "\t      // Add properties assigned by `RegExp#exec`.\n",
       "\t      if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n",
       "\t        result.index = array.index;\n",
       "\t        result.input = array.input;\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Initializes an object clone.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to clone.\n",
       "\t     * @returns {Object} Returns the initialized clone.\n",
       "\t     */\n",
       "\t    function initCloneObject(object) {\n",
       "\t      return (typeof object.constructor == 'function' && !isPrototype(object))\n",
       "\t        ? baseCreate(getPrototype(object))\n",
       "\t        : {};\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Initializes an object clone based on its `toStringTag`.\n",
       "\t     *\n",
       "\t     * **Note:** This function only supports cloning values with tags of\n",
       "\t     * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to clone.\n",
       "\t     * @param {string} tag The `toStringTag` of the object to clone.\n",
       "\t     * @param {boolean} [isDeep] Specify a deep clone.\n",
       "\t     * @returns {Object} Returns the initialized clone.\n",
       "\t     */\n",
       "\t    function initCloneByTag(object, tag, isDeep) {\n",
       "\t      var Ctor = object.constructor;\n",
       "\t      switch (tag) {\n",
       "\t        case arrayBufferTag:\n",
       "\t          return cloneArrayBuffer(object);\n",
       "\t\n",
       "\t        case boolTag:\n",
       "\t        case dateTag:\n",
       "\t          return new Ctor(+object);\n",
       "\t\n",
       "\t        case dataViewTag:\n",
       "\t          return cloneDataView(object, isDeep);\n",
       "\t\n",
       "\t        case float32Tag: case float64Tag:\n",
       "\t        case int8Tag: case int16Tag: case int32Tag:\n",
       "\t        case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n",
       "\t          return cloneTypedArray(object, isDeep);\n",
       "\t\n",
       "\t        case mapTag:\n",
       "\t          return new Ctor;\n",
       "\t\n",
       "\t        case numberTag:\n",
       "\t        case stringTag:\n",
       "\t          return new Ctor(object);\n",
       "\t\n",
       "\t        case regexpTag:\n",
       "\t          return cloneRegExp(object);\n",
       "\t\n",
       "\t        case setTag:\n",
       "\t          return new Ctor;\n",
       "\t\n",
       "\t        case symbolTag:\n",
       "\t          return cloneSymbol(object);\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Inserts wrapper `details` in a comment at the top of the `source` body.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {string} source The source to modify.\n",
       "\t     * @returns {Array} details The details to insert.\n",
       "\t     * @returns {string} Returns the modified source.\n",
       "\t     */\n",
       "\t    function insertWrapDetails(source, details) {\n",
       "\t      var length = details.length;\n",
       "\t      if (!length) {\n",
       "\t        return source;\n",
       "\t      }\n",
       "\t      var lastIndex = length - 1;\n",
       "\t      details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n",
       "\t      details = details.join(length > 2 ? ', ' : ' ');\n",
       "\t      return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is a flattenable `arguments` object or array.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n",
       "\t     */\n",
       "\t    function isFlattenable(value) {\n",
       "\t      return isArray(value) || isArguments(value) ||\n",
       "\t        !!(spreadableSymbol && value && value[spreadableSymbol]);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is a valid array-like index.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n",
       "\t     */\n",
       "\t    function isIndex(value, length) {\n",
       "\t      var type = typeof value;\n",
       "\t      length = length == null ? MAX_SAFE_INTEGER : length;\n",
       "\t\n",
       "\t      return !!length &&\n",
       "\t        (type == 'number' ||\n",
       "\t          (type != 'symbol' && reIsUint.test(value))) &&\n",
       "\t            (value > -1 && value % 1 == 0 && value < length);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if the given arguments are from an iteratee call.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The potential iteratee value argument.\n",
       "\t     * @param {*} index The potential iteratee index or key argument.\n",
       "\t     * @param {*} object The potential iteratee object argument.\n",
       "\t     * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n",
       "\t     *  else `false`.\n",
       "\t     */\n",
       "\t    function isIterateeCall(value, index, object) {\n",
       "\t      if (!isObject(object)) {\n",
       "\t        return false;\n",
       "\t      }\n",
       "\t      var type = typeof index;\n",
       "\t      if (type == 'number'\n",
       "\t            ? (isArrayLike(object) && isIndex(index, object.length))\n",
       "\t            : (type == 'string' && index in object)\n",
       "\t          ) {\n",
       "\t        return eq(object[index], value);\n",
       "\t      }\n",
       "\t      return false;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is a property name and not a property path.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @param {Object} [object] The object to query keys on.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n",
       "\t     */\n",
       "\t    function isKey(value, object) {\n",
       "\t      if (isArray(value)) {\n",
       "\t        return false;\n",
       "\t      }\n",
       "\t      var type = typeof value;\n",
       "\t      if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n",
       "\t          value == null || isSymbol(value)) {\n",
       "\t        return true;\n",
       "\t      }\n",
       "\t      return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n",
       "\t        (object != null && value in Object(object));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is suitable for use as unique object key.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n",
       "\t     */\n",
       "\t    function isKeyable(value) {\n",
       "\t      var type = typeof value;\n",
       "\t      return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n",
       "\t        ? (value !== '__proto__')\n",
       "\t        : (value === null);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `func` has a lazy counterpart.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to check.\n",
       "\t     * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n",
       "\t     *  else `false`.\n",
       "\t     */\n",
       "\t    function isLaziable(func) {\n",
       "\t      var funcName = getFuncName(func),\n",
       "\t          other = lodash[funcName];\n",
       "\t\n",
       "\t      if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n",
       "\t        return false;\n",
       "\t      }\n",
       "\t      if (func === other) {\n",
       "\t        return true;\n",
       "\t      }\n",
       "\t      var data = getData(other);\n",
       "\t      return !!data && func === data[0];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `func` has its source masked.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to check.\n",
       "\t     * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n",
       "\t     */\n",
       "\t    function isMasked(func) {\n",
       "\t      return !!maskSrcKey && (maskSrcKey in func);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `func` is capable of being masked.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n",
       "\t     */\n",
       "\t    var isMaskable = coreJsData ? isFunction : stubFalse;\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is likely a prototype object.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n",
       "\t     */\n",
       "\t    function isPrototype(value) {\n",
       "\t      var Ctor = value && value.constructor,\n",
       "\t          proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n",
       "\t\n",
       "\t      return value === proto;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` if suitable for strict\n",
       "\t     *  equality comparisons, else `false`.\n",
       "\t     */\n",
       "\t    function isStrictComparable(value) {\n",
       "\t      return value === value && !isObject(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `matchesProperty` for source values suitable\n",
       "\t     * for strict equality comparisons, i.e. `===`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {string} key The key of the property to get.\n",
       "\t     * @param {*} srcValue The value to match.\n",
       "\t     * @returns {Function} Returns the new spec function.\n",
       "\t     */\n",
       "\t    function matchesStrictComparable(key, srcValue) {\n",
       "\t      return function(object) {\n",
       "\t        if (object == null) {\n",
       "\t          return false;\n",
       "\t        }\n",
       "\t        return object[key] === srcValue &&\n",
       "\t          (srcValue !== undefined || (key in Object(object)));\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `_.memoize` which clears the memoized function's\n",
       "\t     * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to have its output memoized.\n",
       "\t     * @returns {Function} Returns the new memoized function.\n",
       "\t     */\n",
       "\t    function memoizeCapped(func) {\n",
       "\t      var result = memoize(func, function(key) {\n",
       "\t        if (cache.size === MAX_MEMOIZE_SIZE) {\n",
       "\t          cache.clear();\n",
       "\t        }\n",
       "\t        return key;\n",
       "\t      });\n",
       "\t\n",
       "\t      var cache = result.cache;\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Merges the function metadata of `source` into `data`.\n",
       "\t     *\n",
       "\t     * Merging metadata reduces the number of wrappers used to invoke a function.\n",
       "\t     * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n",
       "\t     * may be applied regardless of execution order. Methods like `_.ary` and\n",
       "\t     * `_.rearg` modify function arguments, making the order in which they are\n",
       "\t     * executed important, preventing the merging of metadata. However, we make\n",
       "\t     * an exception for a safe combined case where curried functions have `_.ary`\n",
       "\t     * and or `_.rearg` applied.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} data The destination metadata.\n",
       "\t     * @param {Array} source The source metadata.\n",
       "\t     * @returns {Array} Returns `data`.\n",
       "\t     */\n",
       "\t    function mergeData(data, source) {\n",
       "\t      var bitmask = data[1],\n",
       "\t          srcBitmask = source[1],\n",
       "\t          newBitmask = bitmask | srcBitmask,\n",
       "\t          isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n",
       "\t\n",
       "\t      var isCombo =\n",
       "\t        ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n",
       "\t        ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n",
       "\t        ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n",
       "\t\n",
       "\t      // Exit early if metadata can't be merged.\n",
       "\t      if (!(isCommon || isCombo)) {\n",
       "\t        return data;\n",
       "\t      }\n",
       "\t      // Use source `thisArg` if available.\n",
       "\t      if (srcBitmask & WRAP_BIND_FLAG) {\n",
       "\t        data[2] = source[2];\n",
       "\t        // Set when currying a bound function.\n",
       "\t        newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n",
       "\t      }\n",
       "\t      // Compose partial arguments.\n",
       "\t      var value = source[3];\n",
       "\t      if (value) {\n",
       "\t        var partials = data[3];\n",
       "\t        data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n",
       "\t        data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n",
       "\t      }\n",
       "\t      // Compose partial right arguments.\n",
       "\t      value = source[5];\n",
       "\t      if (value) {\n",
       "\t        partials = data[5];\n",
       "\t        data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n",
       "\t        data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n",
       "\t      }\n",
       "\t      // Use source `argPos` if available.\n",
       "\t      value = source[7];\n",
       "\t      if (value) {\n",
       "\t        data[7] = value;\n",
       "\t      }\n",
       "\t      // Use source `ary` if it's smaller.\n",
       "\t      if (srcBitmask & WRAP_ARY_FLAG) {\n",
       "\t        data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n",
       "\t      }\n",
       "\t      // Use source `arity` if one is not provided.\n",
       "\t      if (data[9] == null) {\n",
       "\t        data[9] = source[9];\n",
       "\t      }\n",
       "\t      // Use source `func` and merge bitmasks.\n",
       "\t      data[0] = source[0];\n",
       "\t      data[1] = newBitmask;\n",
       "\t\n",
       "\t      return data;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This function is like\n",
       "\t     * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n",
       "\t     * except that it includes inherited enumerable properties.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the array of property names.\n",
       "\t     */\n",
       "\t    function nativeKeysIn(object) {\n",
       "\t      var result = [];\n",
       "\t      if (object != null) {\n",
       "\t        for (var key in Object(object)) {\n",
       "\t          result.push(key);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `value` to a string using `Object.prototype.toString`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to convert.\n",
       "\t     * @returns {string} Returns the converted string.\n",
       "\t     */\n",
       "\t    function objectToString(value) {\n",
       "\t      return nativeObjectToString.call(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `baseRest` which transforms the rest array.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to apply a rest parameter to.\n",
       "\t     * @param {number} [start=func.length-1] The start position of the rest parameter.\n",
       "\t     * @param {Function} transform The rest array transform.\n",
       "\t     * @returns {Function} Returns the new function.\n",
       "\t     */\n",
       "\t    function overRest(func, start, transform) {\n",
       "\t      start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n",
       "\t      return function() {\n",
       "\t        var args = arguments,\n",
       "\t            index = -1,\n",
       "\t            length = nativeMax(args.length - start, 0),\n",
       "\t            array = Array(length);\n",
       "\t\n",
       "\t        while (++index < length) {\n",
       "\t          array[index] = args[start + index];\n",
       "\t        }\n",
       "\t        index = -1;\n",
       "\t        var otherArgs = Array(start + 1);\n",
       "\t        while (++index < start) {\n",
       "\t          otherArgs[index] = args[index];\n",
       "\t        }\n",
       "\t        otherArgs[start] = transform(array);\n",
       "\t        return apply(func, this, otherArgs);\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the parent value at `path` of `object`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @param {Array} path The path to get the parent value of.\n",
       "\t     * @returns {*} Returns the parent value.\n",
       "\t     */\n",
       "\t    function parent(object, path) {\n",
       "\t      return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Reorder `array` according to the specified indexes where the element at\n",
       "\t     * the first index is assigned as the first element, the element at\n",
       "\t     * the second index is assigned as the second element, and so on.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to reorder.\n",
       "\t     * @param {Array} indexes The arranged array indexes.\n",
       "\t     * @returns {Array} Returns `array`.\n",
       "\t     */\n",
       "\t    function reorder(array, indexes) {\n",
       "\t      var arrLength = array.length,\n",
       "\t          length = nativeMin(indexes.length, arrLength),\n",
       "\t          oldArray = copyArray(array);\n",
       "\t\n",
       "\t      while (length--) {\n",
       "\t        var index = indexes[length];\n",
       "\t        array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n",
       "\t      }\n",
       "\t      return array;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the value at `key`, unless `key` is \"__proto__\".\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @param {string} key The key of the property to get.\n",
       "\t     * @returns {*} Returns the property value.\n",
       "\t     */\n",
       "\t    function safeGet(object, key) {\n",
       "\t      if (key == '__proto__') {\n",
       "\t        return;\n",
       "\t      }\n",
       "\t\n",
       "\t      return object[key];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Sets metadata for `func`.\n",
       "\t     *\n",
       "\t     * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n",
       "\t     * period of time, it will trip its breaker and transition to an identity\n",
       "\t     * function to avoid garbage collection pauses in V8. See\n",
       "\t     * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n",
       "\t     * for more details.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to associate metadata with.\n",
       "\t     * @param {*} data The metadata.\n",
       "\t     * @returns {Function} Returns `func`.\n",
       "\t     */\n",
       "\t    var setData = shortOut(baseSetData);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to delay.\n",
       "\t     * @param {number} wait The number of milliseconds to delay invocation.\n",
       "\t     * @returns {number|Object} Returns the timer id or timeout object.\n",
       "\t     */\n",
       "\t    var setTimeout = ctxSetTimeout || function(func, wait) {\n",
       "\t      return root.setTimeout(func, wait);\n",
       "\t    };\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Sets the `toString` method of `func` to return `string`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to modify.\n",
       "\t     * @param {Function} string The `toString` result.\n",
       "\t     * @returns {Function} Returns `func`.\n",
       "\t     */\n",
       "\t    var setToString = shortOut(baseSetToString);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n",
       "\t     * with wrapper details in a comment at the top of the source body.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} wrapper The function to modify.\n",
       "\t     * @param {Function} reference The reference function.\n",
       "\t     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n",
       "\t     * @returns {Function} Returns `wrapper`.\n",
       "\t     */\n",
       "\t    function setWrapToString(wrapper, reference, bitmask) {\n",
       "\t      var source = (reference + '');\n",
       "\t      return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that'll short out and invoke `identity` instead\n",
       "\t     * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n",
       "\t     * milliseconds.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to restrict.\n",
       "\t     * @returns {Function} Returns the new shortable function.\n",
       "\t     */\n",
       "\t    function shortOut(func) {\n",
       "\t      var count = 0,\n",
       "\t          lastCalled = 0;\n",
       "\t\n",
       "\t      return function() {\n",
       "\t        var stamp = nativeNow(),\n",
       "\t            remaining = HOT_SPAN - (stamp - lastCalled);\n",
       "\t\n",
       "\t        lastCalled = stamp;\n",
       "\t        if (remaining > 0) {\n",
       "\t          if (++count >= HOT_COUNT) {\n",
       "\t            return arguments[0];\n",
       "\t          }\n",
       "\t        } else {\n",
       "\t          count = 0;\n",
       "\t        }\n",
       "\t        return func.apply(undefined, arguments);\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Array} array The array to shuffle.\n",
       "\t     * @param {number} [size=array.length] The size of `array`.\n",
       "\t     * @returns {Array} Returns `array`.\n",
       "\t     */\n",
       "\t    function shuffleSelf(array, size) {\n",
       "\t      var index = -1,\n",
       "\t          length = array.length,\n",
       "\t          lastIndex = length - 1;\n",
       "\t\n",
       "\t      size = size === undefined ? length : size;\n",
       "\t      while (++index < size) {\n",
       "\t        var rand = baseRandom(index, lastIndex),\n",
       "\t            value = array[rand];\n",
       "\t\n",
       "\t        array[rand] = array[index];\n",
       "\t        array[index] = value;\n",
       "\t      }\n",
       "\t      array.length = size;\n",
       "\t      return array;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `string` to a property path array.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {string} string The string to convert.\n",
       "\t     * @returns {Array} Returns the property path array.\n",
       "\t     */\n",
       "\t    var stringToPath = memoizeCapped(function(string) {\n",
       "\t      var result = [];\n",
       "\t      if (string.charCodeAt(0) === 46 /* . */) {\n",
       "\t        result.push('');\n",
       "\t      }\n",
       "\t      string.replace(rePropName, function(match, number, quote, subString) {\n",
       "\t        result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n",
       "\t      });\n",
       "\t      return result;\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `value` to a string key if it's not a string or symbol.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {*} value The value to inspect.\n",
       "\t     * @returns {string|symbol} Returns the key.\n",
       "\t     */\n",
       "\t    function toKey(value) {\n",
       "\t      if (typeof value == 'string' || isSymbol(value)) {\n",
       "\t        return value;\n",
       "\t      }\n",
       "\t      var result = (value + '');\n",
       "\t      return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `func` to its source code.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Function} func The function to convert.\n",
       "\t     * @returns {string} Returns the source code.\n",
       "\t     */\n",
       "\t    function toSource(func) {\n",
       "\t      if (func != null) {\n",
       "\t        try {\n",
       "\t          return funcToString.call(func);\n",
       "\t        } catch (e) {}\n",
       "\t        try {\n",
       "\t          return (func + '');\n",
       "\t        } catch (e) {}\n",
       "\t      }\n",
       "\t      return '';\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Updates wrapper `details` based on `bitmask` flags.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @returns {Array} details The details to modify.\n",
       "\t     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n",
       "\t     * @returns {Array} Returns `details`.\n",
       "\t     */\n",
       "\t    function updateWrapDetails(details, bitmask) {\n",
       "\t      arrayEach(wrapFlags, function(pair) {\n",
       "\t        var value = '_.' + pair[0];\n",
       "\t        if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n",
       "\t          details.push(value);\n",
       "\t        }\n",
       "\t      });\n",
       "\t      return details.sort();\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a clone of `wrapper`.\n",
       "\t     *\n",
       "\t     * @private\n",
       "\t     * @param {Object} wrapper The wrapper to clone.\n",
       "\t     * @returns {Object} Returns the cloned wrapper.\n",
       "\t     */\n",
       "\t    function wrapperClone(wrapper) {\n",
       "\t      if (wrapper instanceof LazyWrapper) {\n",
       "\t        return wrapper.clone();\n",
       "\t      }\n",
       "\t      var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n",
       "\t      result.__actions__ = copyArray(wrapper.__actions__);\n",
       "\t      result.__index__  = wrapper.__index__;\n",
       "\t      result.__values__ = wrapper.__values__;\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of elements split into groups the length of `size`.\n",
       "\t     * If `array` can't be split evenly, the final chunk will be the remaining\n",
       "\t     * elements.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to process.\n",
       "\t     * @param {number} [size=1] The length of each chunk\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {Array} Returns the new array of chunks.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.chunk(['a', 'b', 'c', 'd'], 2);\n",
       "\t     * // => [['a', 'b'], ['c', 'd']]\n",
       "\t     *\n",
       "\t     * _.chunk(['a', 'b', 'c', 'd'], 3);\n",
       "\t     * // => [['a', 'b', 'c'], ['d']]\n",
       "\t     */\n",
       "\t    function chunk(array, size, guard) {\n",
       "\t      if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n",
       "\t        size = 1;\n",
       "\t      } else {\n",
       "\t        size = nativeMax(toInteger(size), 0);\n",
       "\t      }\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      if (!length || size < 1) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      var index = 0,\n",
       "\t          resIndex = 0,\n",
       "\t          result = Array(nativeCeil(length / size));\n",
       "\t\n",
       "\t      while (index < length) {\n",
       "\t        result[resIndex++] = baseSlice(array, index, (index += size));\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array with all falsey values removed. The values `false`, `null`,\n",
       "\t     * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to compact.\n",
       "\t     * @returns {Array} Returns the new array of filtered values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.compact([0, 1, false, 2, '', 3]);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     */\n",
       "\t    function compact(array) {\n",
       "\t      var index = -1,\n",
       "\t          length = array == null ? 0 : array.length,\n",
       "\t          resIndex = 0,\n",
       "\t          result = [];\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        var value = array[index];\n",
       "\t        if (value) {\n",
       "\t          result[resIndex++] = value;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a new array concatenating `array` with any additional arrays\n",
       "\t     * and/or values.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to concatenate.\n",
       "\t     * @param {...*} [values] The values to concatenate.\n",
       "\t     * @returns {Array} Returns the new concatenated array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = [1];\n",
       "\t     * var other = _.concat(array, 2, [3], [[4]]);\n",
       "\t     *\n",
       "\t     * console.log(other);\n",
       "\t     * // => [1, 2, 3, [4]]\n",
       "\t     *\n",
       "\t     * console.log(array);\n",
       "\t     * // => [1]\n",
       "\t     */\n",
       "\t    function concat() {\n",
       "\t      var length = arguments.length;\n",
       "\t      if (!length) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      var args = Array(length - 1),\n",
       "\t          array = arguments[0],\n",
       "\t          index = length;\n",
       "\t\n",
       "\t      while (index--) {\n",
       "\t        args[index - 1] = arguments[index];\n",
       "\t      }\n",
       "\t      return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of `array` values not included in the other given arrays\n",
       "\t     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n",
       "\t     * for equality comparisons. The order and references of result values are\n",
       "\t     * determined by the first array.\n",
       "\t     *\n",
       "\t     * **Note:** Unlike `_.pullAll`, this method returns a new array.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {...Array} [values] The values to exclude.\n",
       "\t     * @returns {Array} Returns the new array of filtered values.\n",
       "\t     * @see _.without, _.xor\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.difference([2, 1], [2, 3]);\n",
       "\t     * // => [1]\n",
       "\t     */\n",
       "\t    var difference = baseRest(function(array, values) {\n",
       "\t      return isArrayLikeObject(array)\n",
       "\t        ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n",
       "\t        : [];\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.difference` except that it accepts `iteratee` which\n",
       "\t     * is invoked for each element of `array` and `values` to generate the criterion\n",
       "\t     * by which they're compared. The order and references of result values are\n",
       "\t     * determined by the first array. The iteratee is invoked with one argument:\n",
       "\t     * (value).\n",
       "\t     *\n",
       "\t     * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {...Array} [values] The values to exclude.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n",
       "\t     * @returns {Array} Returns the new array of filtered values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n",
       "\t     * // => [1.2]\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n",
       "\t     * // => [{ 'x': 2 }]\n",
       "\t     */\n",
       "\t    var differenceBy = baseRest(function(array, values) {\n",
       "\t      var iteratee = last(values);\n",
       "\t      if (isArrayLikeObject(iteratee)) {\n",
       "\t        iteratee = undefined;\n",
       "\t      }\n",
       "\t      return isArrayLikeObject(array)\n",
       "\t        ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n",
       "\t        : [];\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.difference` except that it accepts `comparator`\n",
       "\t     * which is invoked to compare elements of `array` to `values`. The order and\n",
       "\t     * references of result values are determined by the first array. The comparator\n",
       "\t     * is invoked with two arguments: (arrVal, othVal).\n",
       "\t     *\n",
       "\t     * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {...Array} [values] The values to exclude.\n",
       "\t     * @param {Function} [comparator] The comparator invoked per element.\n",
       "\t     * @returns {Array} Returns the new array of filtered values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n",
       "\t     *\n",
       "\t     * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n",
       "\t     * // => [{ 'x': 2, 'y': 1 }]\n",
       "\t     */\n",
       "\t    var differenceWith = baseRest(function(array, values) {\n",
       "\t      var comparator = last(values);\n",
       "\t      if (isArrayLikeObject(comparator)) {\n",
       "\t        comparator = undefined;\n",
       "\t      }\n",
       "\t      return isArrayLikeObject(array)\n",
       "\t        ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n",
       "\t        : [];\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a slice of `array` with `n` elements dropped from the beginning.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.5.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @param {number} [n=1] The number of elements to drop.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {Array} Returns the slice of `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.drop([1, 2, 3]);\n",
       "\t     * // => [2, 3]\n",
       "\t     *\n",
       "\t     * _.drop([1, 2, 3], 2);\n",
       "\t     * // => [3]\n",
       "\t     *\n",
       "\t     * _.drop([1, 2, 3], 5);\n",
       "\t     * // => []\n",
       "\t     *\n",
       "\t     * _.drop([1, 2, 3], 0);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     */\n",
       "\t    function drop(array, n, guard) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      if (!length) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      n = (guard || n === undefined) ? 1 : toInteger(n);\n",
       "\t      return baseSlice(array, n < 0 ? 0 : n, length);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a slice of `array` with `n` elements dropped from the end.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @param {number} [n=1] The number of elements to drop.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {Array} Returns the slice of `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.dropRight([1, 2, 3]);\n",
       "\t     * // => [1, 2]\n",
       "\t     *\n",
       "\t     * _.dropRight([1, 2, 3], 2);\n",
       "\t     * // => [1]\n",
       "\t     *\n",
       "\t     * _.dropRight([1, 2, 3], 5);\n",
       "\t     * // => []\n",
       "\t     *\n",
       "\t     * _.dropRight([1, 2, 3], 0);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     */\n",
       "\t    function dropRight(array, n, guard) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      if (!length) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      n = (guard || n === undefined) ? 1 : toInteger(n);\n",
       "\t      n = length - n;\n",
       "\t      return baseSlice(array, 0, n < 0 ? 0 : n);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a slice of `array` excluding elements dropped from the end.\n",
       "\t     * Elements are dropped until `predicate` returns falsey. The predicate is\n",
       "\t     * invoked with three arguments: (value, index, array).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the slice of `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney',  'active': true },\n",
       "\t     *   { 'user': 'fred',    'active': false },\n",
       "\t     *   { 'user': 'pebbles', 'active': false }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.dropRightWhile(users, function(o) { return !o.active; });\n",
       "\t     * // => objects for ['barney']\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n",
       "\t     * // => objects for ['barney', 'fred']\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.dropRightWhile(users, ['active', false]);\n",
       "\t     * // => objects for ['barney']\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.dropRightWhile(users, 'active');\n",
       "\t     * // => objects for ['barney', 'fred', 'pebbles']\n",
       "\t     */\n",
       "\t    function dropRightWhile(array, predicate) {\n",
       "\t      return (array && array.length)\n",
       "\t        ? baseWhile(array, getIteratee(predicate, 3), true, true)\n",
       "\t        : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a slice of `array` excluding elements dropped from the beginning.\n",
       "\t     * Elements are dropped until `predicate` returns falsey. The predicate is\n",
       "\t     * invoked with three arguments: (value, index, array).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the slice of `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney',  'active': false },\n",
       "\t     *   { 'user': 'fred',    'active': false },\n",
       "\t     *   { 'user': 'pebbles', 'active': true }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.dropWhile(users, function(o) { return !o.active; });\n",
       "\t     * // => objects for ['pebbles']\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.dropWhile(users, { 'user': 'barney', 'active': false });\n",
       "\t     * // => objects for ['fred', 'pebbles']\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.dropWhile(users, ['active', false]);\n",
       "\t     * // => objects for ['pebbles']\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.dropWhile(users, 'active');\n",
       "\t     * // => objects for ['barney', 'fred', 'pebbles']\n",
       "\t     */\n",
       "\t    function dropWhile(array, predicate) {\n",
       "\t      return (array && array.length)\n",
       "\t        ? baseWhile(array, getIteratee(predicate, 3), true)\n",
       "\t        : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Fills elements of `array` with `value` from `start` up to, but not\n",
       "\t     * including, `end`.\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.2.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to fill.\n",
       "\t     * @param {*} value The value to fill `array` with.\n",
       "\t     * @param {number} [start=0] The start position.\n",
       "\t     * @param {number} [end=array.length] The end position.\n",
       "\t     * @returns {Array} Returns `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = [1, 2, 3];\n",
       "\t     *\n",
       "\t     * _.fill(array, 'a');\n",
       "\t     * console.log(array);\n",
       "\t     * // => ['a', 'a', 'a']\n",
       "\t     *\n",
       "\t     * _.fill(Array(3), 2);\n",
       "\t     * // => [2, 2, 2]\n",
       "\t     *\n",
       "\t     * _.fill([4, 6, 8, 10], '*', 1, 3);\n",
       "\t     * // => [4, '*', '*', 10]\n",
       "\t     */\n",
       "\t    function fill(array, value, start, end) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      if (!length) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n",
       "\t        start = 0;\n",
       "\t        end = length;\n",
       "\t      }\n",
       "\t      return baseFill(array, value, start, end);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.find` except that it returns the index of the first\n",
       "\t     * element `predicate` returns truthy for instead of the element itself.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 1.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @param {number} [fromIndex=0] The index to search from.\n",
       "\t     * @returns {number} Returns the index of the found element, else `-1`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney',  'active': false },\n",
       "\t     *   { 'user': 'fred',    'active': false },\n",
       "\t     *   { 'user': 'pebbles', 'active': true }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.findIndex(users, function(o) { return o.user == 'barney'; });\n",
       "\t     * // => 0\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.findIndex(users, { 'user': 'fred', 'active': false });\n",
       "\t     * // => 1\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.findIndex(users, ['active', false]);\n",
       "\t     * // => 0\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.findIndex(users, 'active');\n",
       "\t     * // => 2\n",
       "\t     */\n",
       "\t    function findIndex(array, predicate, fromIndex) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      if (!length) {\n",
       "\t        return -1;\n",
       "\t      }\n",
       "\t      var index = fromIndex == null ? 0 : toInteger(fromIndex);\n",
       "\t      if (index < 0) {\n",
       "\t        index = nativeMax(length + index, 0);\n",
       "\t      }\n",
       "\t      return baseFindIndex(array, getIteratee(predicate, 3), index);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.findIndex` except that it iterates over elements\n",
       "\t     * of `collection` from right to left.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @param {number} [fromIndex=array.length-1] The index to search from.\n",
       "\t     * @returns {number} Returns the index of the found element, else `-1`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney',  'active': true },\n",
       "\t     *   { 'user': 'fred',    'active': false },\n",
       "\t     *   { 'user': 'pebbles', 'active': false }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n",
       "\t     * // => 2\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n",
       "\t     * // => 0\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.findLastIndex(users, ['active', false]);\n",
       "\t     * // => 2\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.findLastIndex(users, 'active');\n",
       "\t     * // => 0\n",
       "\t     */\n",
       "\t    function findLastIndex(array, predicate, fromIndex) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      if (!length) {\n",
       "\t        return -1;\n",
       "\t      }\n",
       "\t      var index = length - 1;\n",
       "\t      if (fromIndex !== undefined) {\n",
       "\t        index = toInteger(fromIndex);\n",
       "\t        index = fromIndex < 0\n",
       "\t          ? nativeMax(length + index, 0)\n",
       "\t          : nativeMin(index, length - 1);\n",
       "\t      }\n",
       "\t      return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Flattens `array` a single level deep.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to flatten.\n",
       "\t     * @returns {Array} Returns the new flattened array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.flatten([1, [2, [3, [4]], 5]]);\n",
       "\t     * // => [1, 2, [3, [4]], 5]\n",
       "\t     */\n",
       "\t    function flatten(array) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      return length ? baseFlatten(array, 1) : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Recursively flattens `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to flatten.\n",
       "\t     * @returns {Array} Returns the new flattened array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.flattenDeep([1, [2, [3, [4]], 5]]);\n",
       "\t     * // => [1, 2, 3, 4, 5]\n",
       "\t     */\n",
       "\t    function flattenDeep(array) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      return length ? baseFlatten(array, INFINITY) : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Recursively flatten `array` up to `depth` times.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.4.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to flatten.\n",
       "\t     * @param {number} [depth=1] The maximum recursion depth.\n",
       "\t     * @returns {Array} Returns the new flattened array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = [1, [2, [3, [4]], 5]];\n",
       "\t     *\n",
       "\t     * _.flattenDepth(array, 1);\n",
       "\t     * // => [1, 2, [3, [4]], 5]\n",
       "\t     *\n",
       "\t     * _.flattenDepth(array, 2);\n",
       "\t     * // => [1, 2, 3, [4], 5]\n",
       "\t     */\n",
       "\t    function flattenDepth(array, depth) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      if (!length) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      depth = depth === undefined ? 1 : toInteger(depth);\n",
       "\t      return baseFlatten(array, depth);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The inverse of `_.toPairs`; this method returns an object composed\n",
       "\t     * from key-value `pairs`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} pairs The key-value pairs.\n",
       "\t     * @returns {Object} Returns the new object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.fromPairs([['a', 1], ['b', 2]]);\n",
       "\t     * // => { 'a': 1, 'b': 2 }\n",
       "\t     */\n",
       "\t    function fromPairs(pairs) {\n",
       "\t      var index = -1,\n",
       "\t          length = pairs == null ? 0 : pairs.length,\n",
       "\t          result = {};\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        var pair = pairs[index];\n",
       "\t        result[pair[0]] = pair[1];\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the first element of `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @alias first\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @returns {*} Returns the first element of `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.head([1, 2, 3]);\n",
       "\t     * // => 1\n",
       "\t     *\n",
       "\t     * _.head([]);\n",
       "\t     * // => undefined\n",
       "\t     */\n",
       "\t    function head(array) {\n",
       "\t      return (array && array.length) ? array[0] : undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the index at which the first occurrence of `value` is found in `array`\n",
       "\t     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n",
       "\t     * for equality comparisons. If `fromIndex` is negative, it's used as the\n",
       "\t     * offset from the end of `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {*} value The value to search for.\n",
       "\t     * @param {number} [fromIndex=0] The index to search from.\n",
       "\t     * @returns {number} Returns the index of the matched value, else `-1`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.indexOf([1, 2, 1, 2], 2);\n",
       "\t     * // => 1\n",
       "\t     *\n",
       "\t     * // Search from the `fromIndex`.\n",
       "\t     * _.indexOf([1, 2, 1, 2], 2, 2);\n",
       "\t     * // => 3\n",
       "\t     */\n",
       "\t    function indexOf(array, value, fromIndex) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      if (!length) {\n",
       "\t        return -1;\n",
       "\t      }\n",
       "\t      var index = fromIndex == null ? 0 : toInteger(fromIndex);\n",
       "\t      if (index < 0) {\n",
       "\t        index = nativeMax(length + index, 0);\n",
       "\t      }\n",
       "\t      return baseIndexOf(array, value, index);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets all but the last element of `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @returns {Array} Returns the slice of `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.initial([1, 2, 3]);\n",
       "\t     * // => [1, 2]\n",
       "\t     */\n",
       "\t    function initial(array) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      return length ? baseSlice(array, 0, -1) : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of unique values that are included in all given arrays\n",
       "\t     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n",
       "\t     * for equality comparisons. The order and references of result values are\n",
       "\t     * determined by the first array.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {...Array} [arrays] The arrays to inspect.\n",
       "\t     * @returns {Array} Returns the new array of intersecting values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.intersection([2, 1], [2, 3]);\n",
       "\t     * // => [2]\n",
       "\t     */\n",
       "\t    var intersection = baseRest(function(arrays) {\n",
       "\t      var mapped = arrayMap(arrays, castArrayLikeObject);\n",
       "\t      return (mapped.length && mapped[0] === arrays[0])\n",
       "\t        ? baseIntersection(mapped)\n",
       "\t        : [];\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.intersection` except that it accepts `iteratee`\n",
       "\t     * which is invoked for each element of each `arrays` to generate the criterion\n",
       "\t     * by which they're compared. The order and references of result values are\n",
       "\t     * determined by the first array. The iteratee is invoked with one argument:\n",
       "\t     * (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {...Array} [arrays] The arrays to inspect.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n",
       "\t     * @returns {Array} Returns the new array of intersecting values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n",
       "\t     * // => [2.1]\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n",
       "\t     * // => [{ 'x': 1 }]\n",
       "\t     */\n",
       "\t    var intersectionBy = baseRest(function(arrays) {\n",
       "\t      var iteratee = last(arrays),\n",
       "\t          mapped = arrayMap(arrays, castArrayLikeObject);\n",
       "\t\n",
       "\t      if (iteratee === last(mapped)) {\n",
       "\t        iteratee = undefined;\n",
       "\t      } else {\n",
       "\t        mapped.pop();\n",
       "\t      }\n",
       "\t      return (mapped.length && mapped[0] === arrays[0])\n",
       "\t        ? baseIntersection(mapped, getIteratee(iteratee, 2))\n",
       "\t        : [];\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.intersection` except that it accepts `comparator`\n",
       "\t     * which is invoked to compare elements of `arrays`. The order and references\n",
       "\t     * of result values are determined by the first array. The comparator is\n",
       "\t     * invoked with two arguments: (arrVal, othVal).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {...Array} [arrays] The arrays to inspect.\n",
       "\t     * @param {Function} [comparator] The comparator invoked per element.\n",
       "\t     * @returns {Array} Returns the new array of intersecting values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n",
       "\t     * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n",
       "\t     *\n",
       "\t     * _.intersectionWith(objects, others, _.isEqual);\n",
       "\t     * // => [{ 'x': 1, 'y': 2 }]\n",
       "\t     */\n",
       "\t    var intersectionWith = baseRest(function(arrays) {\n",
       "\t      var comparator = last(arrays),\n",
       "\t          mapped = arrayMap(arrays, castArrayLikeObject);\n",
       "\t\n",
       "\t      comparator = typeof comparator == 'function' ? comparator : undefined;\n",
       "\t      if (comparator) {\n",
       "\t        mapped.pop();\n",
       "\t      }\n",
       "\t      return (mapped.length && mapped[0] === arrays[0])\n",
       "\t        ? baseIntersection(mapped, undefined, comparator)\n",
       "\t        : [];\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts all elements in `array` into a string separated by `separator`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to convert.\n",
       "\t     * @param {string} [separator=','] The element separator.\n",
       "\t     * @returns {string} Returns the joined string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.join(['a', 'b', 'c'], '~');\n",
       "\t     * // => 'a~b~c'\n",
       "\t     */\n",
       "\t    function join(array, separator) {\n",
       "\t      return array == null ? '' : nativeJoin.call(array, separator);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the last element of `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @returns {*} Returns the last element of `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.last([1, 2, 3]);\n",
       "\t     * // => 3\n",
       "\t     */\n",
       "\t    function last(array) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      return length ? array[length - 1] : undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.indexOf` except that it iterates over elements of\n",
       "\t     * `array` from right to left.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {*} value The value to search for.\n",
       "\t     * @param {number} [fromIndex=array.length-1] The index to search from.\n",
       "\t     * @returns {number} Returns the index of the matched value, else `-1`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.lastIndexOf([1, 2, 1, 2], 2);\n",
       "\t     * // => 3\n",
       "\t     *\n",
       "\t     * // Search from the `fromIndex`.\n",
       "\t     * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n",
       "\t     * // => 1\n",
       "\t     */\n",
       "\t    function lastIndexOf(array, value, fromIndex) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      if (!length) {\n",
       "\t        return -1;\n",
       "\t      }\n",
       "\t      var index = length;\n",
       "\t      if (fromIndex !== undefined) {\n",
       "\t        index = toInteger(fromIndex);\n",
       "\t        index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n",
       "\t      }\n",
       "\t      return value === value\n",
       "\t        ? strictLastIndexOf(array, value, index)\n",
       "\t        : baseFindIndex(array, baseIsNaN, index, true);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the element at index `n` of `array`. If `n` is negative, the nth\n",
       "\t     * element from the end is returned.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.11.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @param {number} [n=0] The index of the element to return.\n",
       "\t     * @returns {*} Returns the nth element of `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = ['a', 'b', 'c', 'd'];\n",
       "\t     *\n",
       "\t     * _.nth(array, 1);\n",
       "\t     * // => 'b'\n",
       "\t     *\n",
       "\t     * _.nth(array, -2);\n",
       "\t     * // => 'c';\n",
       "\t     */\n",
       "\t    function nth(array, n) {\n",
       "\t      return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes all given values from `array` using\n",
       "\t     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n",
       "\t     * for equality comparisons.\n",
       "\t     *\n",
       "\t     * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n",
       "\t     * to remove elements from an array by predicate.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to modify.\n",
       "\t     * @param {...*} [values] The values to remove.\n",
       "\t     * @returns {Array} Returns `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n",
       "\t     *\n",
       "\t     * _.pull(array, 'a', 'c');\n",
       "\t     * console.log(array);\n",
       "\t     * // => ['b', 'b']\n",
       "\t     */\n",
       "\t    var pull = baseRest(pullAll);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.pull` except that it accepts an array of values to remove.\n",
       "\t     *\n",
       "\t     * **Note:** Unlike `_.difference`, this method mutates `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to modify.\n",
       "\t     * @param {Array} values The values to remove.\n",
       "\t     * @returns {Array} Returns `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n",
       "\t     *\n",
       "\t     * _.pullAll(array, ['a', 'c']);\n",
       "\t     * console.log(array);\n",
       "\t     * // => ['b', 'b']\n",
       "\t     */\n",
       "\t    function pullAll(array, values) {\n",
       "\t      return (array && array.length && values && values.length)\n",
       "\t        ? basePullAll(array, values)\n",
       "\t        : array;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.pullAll` except that it accepts `iteratee` which is\n",
       "\t     * invoked for each element of `array` and `values` to generate the criterion\n",
       "\t     * by which they're compared. The iteratee is invoked with one argument: (value).\n",
       "\t     *\n",
       "\t     * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to modify.\n",
       "\t     * @param {Array} values The values to remove.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n",
       "\t     * @returns {Array} Returns `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n",
       "\t     *\n",
       "\t     * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n",
       "\t     * console.log(array);\n",
       "\t     * // => [{ 'x': 2 }]\n",
       "\t     */\n",
       "\t    function pullAllBy(array, values, iteratee) {\n",
       "\t      return (array && array.length && values && values.length)\n",
       "\t        ? basePullAll(array, values, getIteratee(iteratee, 2))\n",
       "\t        : array;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.pullAll` except that it accepts `comparator` which\n",
       "\t     * is invoked to compare elements of `array` to `values`. The comparator is\n",
       "\t     * invoked with two arguments: (arrVal, othVal).\n",
       "\t     *\n",
       "\t     * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.6.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to modify.\n",
       "\t     * @param {Array} values The values to remove.\n",
       "\t     * @param {Function} [comparator] The comparator invoked per element.\n",
       "\t     * @returns {Array} Returns `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n",
       "\t     *\n",
       "\t     * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n",
       "\t     * console.log(array);\n",
       "\t     * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n",
       "\t     */\n",
       "\t    function pullAllWith(array, values, comparator) {\n",
       "\t      return (array && array.length && values && values.length)\n",
       "\t        ? basePullAll(array, values, undefined, comparator)\n",
       "\t        : array;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes elements from `array` corresponding to `indexes` and returns an\n",
       "\t     * array of removed elements.\n",
       "\t     *\n",
       "\t     * **Note:** Unlike `_.at`, this method mutates `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to modify.\n",
       "\t     * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n",
       "\t     * @returns {Array} Returns the new array of removed elements.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = ['a', 'b', 'c', 'd'];\n",
       "\t     * var pulled = _.pullAt(array, [1, 3]);\n",
       "\t     *\n",
       "\t     * console.log(array);\n",
       "\t     * // => ['a', 'c']\n",
       "\t     *\n",
       "\t     * console.log(pulled);\n",
       "\t     * // => ['b', 'd']\n",
       "\t     */\n",
       "\t    var pullAt = flatRest(function(array, indexes) {\n",
       "\t      var length = array == null ? 0 : array.length,\n",
       "\t          result = baseAt(array, indexes);\n",
       "\t\n",
       "\t      basePullAt(array, arrayMap(indexes, function(index) {\n",
       "\t        return isIndex(index, length) ? +index : index;\n",
       "\t      }).sort(compareAscending));\n",
       "\t\n",
       "\t      return result;\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes all elements from `array` that `predicate` returns truthy for\n",
       "\t     * and returns an array of the removed elements. The predicate is invoked\n",
       "\t     * with three arguments: (value, index, array).\n",
       "\t     *\n",
       "\t     * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n",
       "\t     * to pull elements from an array by value.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to modify.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the new array of removed elements.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = [1, 2, 3, 4];\n",
       "\t     * var evens = _.remove(array, function(n) {\n",
       "\t     *   return n % 2 == 0;\n",
       "\t     * });\n",
       "\t     *\n",
       "\t     * console.log(array);\n",
       "\t     * // => [1, 3]\n",
       "\t     *\n",
       "\t     * console.log(evens);\n",
       "\t     * // => [2, 4]\n",
       "\t     */\n",
       "\t    function remove(array, predicate) {\n",
       "\t      var result = [];\n",
       "\t      if (!(array && array.length)) {\n",
       "\t        return result;\n",
       "\t      }\n",
       "\t      var index = -1,\n",
       "\t          indexes = [],\n",
       "\t          length = array.length;\n",
       "\t\n",
       "\t      predicate = getIteratee(predicate, 3);\n",
       "\t      while (++index < length) {\n",
       "\t        var value = array[index];\n",
       "\t        if (predicate(value, index, array)) {\n",
       "\t          result.push(value);\n",
       "\t          indexes.push(index);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      basePullAt(array, indexes);\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Reverses `array` so that the first element becomes the last, the second\n",
       "\t     * element becomes the second to last, and so on.\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `array` and is based on\n",
       "\t     * [`Array#reverse`](https://mdn.io/Array/reverse).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to modify.\n",
       "\t     * @returns {Array} Returns `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = [1, 2, 3];\n",
       "\t     *\n",
       "\t     * _.reverse(array);\n",
       "\t     * // => [3, 2, 1]\n",
       "\t     *\n",
       "\t     * console.log(array);\n",
       "\t     * // => [3, 2, 1]\n",
       "\t     */\n",
       "\t    function reverse(array) {\n",
       "\t      return array == null ? array : nativeReverse.call(array);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a slice of `array` from `start` up to, but not including, `end`.\n",
       "\t     *\n",
       "\t     * **Note:** This method is used instead of\n",
       "\t     * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n",
       "\t     * returned.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to slice.\n",
       "\t     * @param {number} [start=0] The start position.\n",
       "\t     * @param {number} [end=array.length] The end position.\n",
       "\t     * @returns {Array} Returns the slice of `array`.\n",
       "\t     */\n",
       "\t    function slice(array, start, end) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      if (!length) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n",
       "\t        start = 0;\n",
       "\t        end = length;\n",
       "\t      }\n",
       "\t      else {\n",
       "\t        start = start == null ? 0 : toInteger(start);\n",
       "\t        end = end === undefined ? length : toInteger(end);\n",
       "\t      }\n",
       "\t      return baseSlice(array, start, end);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Uses a binary search to determine the lowest index at which `value`\n",
       "\t     * should be inserted into `array` in order to maintain its sort order.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The sorted array to inspect.\n",
       "\t     * @param {*} value The value to evaluate.\n",
       "\t     * @returns {number} Returns the index at which `value` should be inserted\n",
       "\t     *  into `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.sortedIndex([30, 50], 40);\n",
       "\t     * // => 1\n",
       "\t     */\n",
       "\t    function sortedIndex(array, value) {\n",
       "\t      return baseSortedIndex(array, value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.sortedIndex` except that it accepts `iteratee`\n",
       "\t     * which is invoked for `value` and each element of `array` to compute their\n",
       "\t     * sort ranking. The iteratee is invoked with one argument: (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The sorted array to inspect.\n",
       "\t     * @param {*} value The value to evaluate.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n",
       "\t     * @returns {number} Returns the index at which `value` should be inserted\n",
       "\t     *  into `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [{ 'x': 4 }, { 'x': 5 }];\n",
       "\t     *\n",
       "\t     * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n",
       "\t     * // => 0\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n",
       "\t     * // => 0\n",
       "\t     */\n",
       "\t    function sortedIndexBy(array, value, iteratee) {\n",
       "\t      return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.indexOf` except that it performs a binary\n",
       "\t     * search on a sorted `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {*} value The value to search for.\n",
       "\t     * @returns {number} Returns the index of the matched value, else `-1`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n",
       "\t     * // => 1\n",
       "\t     */\n",
       "\t    function sortedIndexOf(array, value) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      if (length) {\n",
       "\t        var index = baseSortedIndex(array, value);\n",
       "\t        if (index < length && eq(array[index], value)) {\n",
       "\t          return index;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return -1;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.sortedIndex` except that it returns the highest\n",
       "\t     * index at which `value` should be inserted into `array` in order to\n",
       "\t     * maintain its sort order.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The sorted array to inspect.\n",
       "\t     * @param {*} value The value to evaluate.\n",
       "\t     * @returns {number} Returns the index at which `value` should be inserted\n",
       "\t     *  into `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n",
       "\t     * // => 4\n",
       "\t     */\n",
       "\t    function sortedLastIndex(array, value) {\n",
       "\t      return baseSortedIndex(array, value, true);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n",
       "\t     * which is invoked for `value` and each element of `array` to compute their\n",
       "\t     * sort ranking. The iteratee is invoked with one argument: (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The sorted array to inspect.\n",
       "\t     * @param {*} value The value to evaluate.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n",
       "\t     * @returns {number} Returns the index at which `value` should be inserted\n",
       "\t     *  into `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [{ 'x': 4 }, { 'x': 5 }];\n",
       "\t     *\n",
       "\t     * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n",
       "\t     * // => 1\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n",
       "\t     * // => 1\n",
       "\t     */\n",
       "\t    function sortedLastIndexBy(array, value, iteratee) {\n",
       "\t      return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.lastIndexOf` except that it performs a binary\n",
       "\t     * search on a sorted `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {*} value The value to search for.\n",
       "\t     * @returns {number} Returns the index of the matched value, else `-1`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n",
       "\t     * // => 3\n",
       "\t     */\n",
       "\t    function sortedLastIndexOf(array, value) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      if (length) {\n",
       "\t        var index = baseSortedIndex(array, value, true) - 1;\n",
       "\t        if (eq(array[index], value)) {\n",
       "\t          return index;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return -1;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.uniq` except that it's designed and optimized\n",
       "\t     * for sorted arrays.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @returns {Array} Returns the new duplicate free array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.sortedUniq([1, 1, 2]);\n",
       "\t     * // => [1, 2]\n",
       "\t     */\n",
       "\t    function sortedUniq(array) {\n",
       "\t      return (array && array.length)\n",
       "\t        ? baseSortedUniq(array)\n",
       "\t        : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.uniqBy` except that it's designed and optimized\n",
       "\t     * for sorted arrays.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {Function} [iteratee] The iteratee invoked per element.\n",
       "\t     * @returns {Array} Returns the new duplicate free array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n",
       "\t     * // => [1.1, 2.3]\n",
       "\t     */\n",
       "\t    function sortedUniqBy(array, iteratee) {\n",
       "\t      return (array && array.length)\n",
       "\t        ? baseSortedUniq(array, getIteratee(iteratee, 2))\n",
       "\t        : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets all but the first element of `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @returns {Array} Returns the slice of `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.tail([1, 2, 3]);\n",
       "\t     * // => [2, 3]\n",
       "\t     */\n",
       "\t    function tail(array) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      return length ? baseSlice(array, 1, length) : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a slice of `array` with `n` elements taken from the beginning.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @param {number} [n=1] The number of elements to take.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {Array} Returns the slice of `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.take([1, 2, 3]);\n",
       "\t     * // => [1]\n",
       "\t     *\n",
       "\t     * _.take([1, 2, 3], 2);\n",
       "\t     * // => [1, 2]\n",
       "\t     *\n",
       "\t     * _.take([1, 2, 3], 5);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     *\n",
       "\t     * _.take([1, 2, 3], 0);\n",
       "\t     * // => []\n",
       "\t     */\n",
       "\t    function take(array, n, guard) {\n",
       "\t      if (!(array && array.length)) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      n = (guard || n === undefined) ? 1 : toInteger(n);\n",
       "\t      return baseSlice(array, 0, n < 0 ? 0 : n);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a slice of `array` with `n` elements taken from the end.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @param {number} [n=1] The number of elements to take.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {Array} Returns the slice of `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.takeRight([1, 2, 3]);\n",
       "\t     * // => [3]\n",
       "\t     *\n",
       "\t     * _.takeRight([1, 2, 3], 2);\n",
       "\t     * // => [2, 3]\n",
       "\t     *\n",
       "\t     * _.takeRight([1, 2, 3], 5);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     *\n",
       "\t     * _.takeRight([1, 2, 3], 0);\n",
       "\t     * // => []\n",
       "\t     */\n",
       "\t    function takeRight(array, n, guard) {\n",
       "\t      var length = array == null ? 0 : array.length;\n",
       "\t      if (!length) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      n = (guard || n === undefined) ? 1 : toInteger(n);\n",
       "\t      n = length - n;\n",
       "\t      return baseSlice(array, n < 0 ? 0 : n, length);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a slice of `array` with elements taken from the end. Elements are\n",
       "\t     * taken until `predicate` returns falsey. The predicate is invoked with\n",
       "\t     * three arguments: (value, index, array).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the slice of `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney',  'active': true },\n",
       "\t     *   { 'user': 'fred',    'active': false },\n",
       "\t     *   { 'user': 'pebbles', 'active': false }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.takeRightWhile(users, function(o) { return !o.active; });\n",
       "\t     * // => objects for ['fred', 'pebbles']\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n",
       "\t     * // => objects for ['pebbles']\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.takeRightWhile(users, ['active', false]);\n",
       "\t     * // => objects for ['fred', 'pebbles']\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.takeRightWhile(users, 'active');\n",
       "\t     * // => []\n",
       "\t     */\n",
       "\t    function takeRightWhile(array, predicate) {\n",
       "\t      return (array && array.length)\n",
       "\t        ? baseWhile(array, getIteratee(predicate, 3), false, true)\n",
       "\t        : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a slice of `array` with elements taken from the beginning. Elements\n",
       "\t     * are taken until `predicate` returns falsey. The predicate is invoked with\n",
       "\t     * three arguments: (value, index, array).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to query.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the slice of `array`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney',  'active': false },\n",
       "\t     *   { 'user': 'fred',    'active': false },\n",
       "\t     *   { 'user': 'pebbles', 'active': true }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.takeWhile(users, function(o) { return !o.active; });\n",
       "\t     * // => objects for ['barney', 'fred']\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.takeWhile(users, { 'user': 'barney', 'active': false });\n",
       "\t     * // => objects for ['barney']\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.takeWhile(users, ['active', false]);\n",
       "\t     * // => objects for ['barney', 'fred']\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.takeWhile(users, 'active');\n",
       "\t     * // => []\n",
       "\t     */\n",
       "\t    function takeWhile(array, predicate) {\n",
       "\t      return (array && array.length)\n",
       "\t        ? baseWhile(array, getIteratee(predicate, 3))\n",
       "\t        : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of unique values, in order, from all given arrays using\n",
       "\t     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n",
       "\t     * for equality comparisons.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {...Array} [arrays] The arrays to inspect.\n",
       "\t     * @returns {Array} Returns the new array of combined values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.union([2], [1, 2]);\n",
       "\t     * // => [2, 1]\n",
       "\t     */\n",
       "\t    var union = baseRest(function(arrays) {\n",
       "\t      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.union` except that it accepts `iteratee` which is\n",
       "\t     * invoked for each element of each `arrays` to generate the criterion by\n",
       "\t     * which uniqueness is computed. Result values are chosen from the first\n",
       "\t     * array in which the value occurs. The iteratee is invoked with one argument:\n",
       "\t     * (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {...Array} [arrays] The arrays to inspect.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n",
       "\t     * @returns {Array} Returns the new array of combined values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n",
       "\t     * // => [2.1, 1.2]\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n",
       "\t     * // => [{ 'x': 1 }, { 'x': 2 }]\n",
       "\t     */\n",
       "\t    var unionBy = baseRest(function(arrays) {\n",
       "\t      var iteratee = last(arrays);\n",
       "\t      if (isArrayLikeObject(iteratee)) {\n",
       "\t        iteratee = undefined;\n",
       "\t      }\n",
       "\t      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.union` except that it accepts `comparator` which\n",
       "\t     * is invoked to compare elements of `arrays`. Result values are chosen from\n",
       "\t     * the first array in which the value occurs. The comparator is invoked\n",
       "\t     * with two arguments: (arrVal, othVal).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {...Array} [arrays] The arrays to inspect.\n",
       "\t     * @param {Function} [comparator] The comparator invoked per element.\n",
       "\t     * @returns {Array} Returns the new array of combined values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n",
       "\t     * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n",
       "\t     *\n",
       "\t     * _.unionWith(objects, others, _.isEqual);\n",
       "\t     * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n",
       "\t     */\n",
       "\t    var unionWith = baseRest(function(arrays) {\n",
       "\t      var comparator = last(arrays);\n",
       "\t      comparator = typeof comparator == 'function' ? comparator : undefined;\n",
       "\t      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a duplicate-free version of an array, using\n",
       "\t     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n",
       "\t     * for equality comparisons, in which only the first occurrence of each element\n",
       "\t     * is kept. The order of result values is determined by the order they occur\n",
       "\t     * in the array.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @returns {Array} Returns the new duplicate free array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.uniq([2, 1, 2]);\n",
       "\t     * // => [2, 1]\n",
       "\t     */\n",
       "\t    function uniq(array) {\n",
       "\t      return (array && array.length) ? baseUniq(array) : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.uniq` except that it accepts `iteratee` which is\n",
       "\t     * invoked for each element in `array` to generate the criterion by which\n",
       "\t     * uniqueness is computed. The order of result values is determined by the\n",
       "\t     * order they occur in the array. The iteratee is invoked with one argument:\n",
       "\t     * (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n",
       "\t     * @returns {Array} Returns the new duplicate free array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n",
       "\t     * // => [2.1, 1.2]\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n",
       "\t     * // => [{ 'x': 1 }, { 'x': 2 }]\n",
       "\t     */\n",
       "\t    function uniqBy(array, iteratee) {\n",
       "\t      return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.uniq` except that it accepts `comparator` which\n",
       "\t     * is invoked to compare elements of `array`. The order of result values is\n",
       "\t     * determined by the order they occur in the array.The comparator is invoked\n",
       "\t     * with two arguments: (arrVal, othVal).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {Function} [comparator] The comparator invoked per element.\n",
       "\t     * @returns {Array} Returns the new duplicate free array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n",
       "\t     *\n",
       "\t     * _.uniqWith(objects, _.isEqual);\n",
       "\t     * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n",
       "\t     */\n",
       "\t    function uniqWith(array, comparator) {\n",
       "\t      comparator = typeof comparator == 'function' ? comparator : undefined;\n",
       "\t      return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.zip` except that it accepts an array of grouped\n",
       "\t     * elements and creates an array regrouping the elements to their pre-zip\n",
       "\t     * configuration.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 1.2.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array of grouped elements to process.\n",
       "\t     * @returns {Array} Returns the new array of regrouped elements.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n",
       "\t     * // => [['a', 1, true], ['b', 2, false]]\n",
       "\t     *\n",
       "\t     * _.unzip(zipped);\n",
       "\t     * // => [['a', 'b'], [1, 2], [true, false]]\n",
       "\t     */\n",
       "\t    function unzip(array) {\n",
       "\t      if (!(array && array.length)) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      var length = 0;\n",
       "\t      array = arrayFilter(array, function(group) {\n",
       "\t        if (isArrayLikeObject(group)) {\n",
       "\t          length = nativeMax(group.length, length);\n",
       "\t          return true;\n",
       "\t        }\n",
       "\t      });\n",
       "\t      return baseTimes(length, function(index) {\n",
       "\t        return arrayMap(array, baseProperty(index));\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.unzip` except that it accepts `iteratee` to specify\n",
       "\t     * how regrouped values should be combined. The iteratee is invoked with the\n",
       "\t     * elements of each group: (...group).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.8.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array of grouped elements to process.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function to combine\n",
       "\t     *  regrouped values.\n",
       "\t     * @returns {Array} Returns the new array of regrouped elements.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n",
       "\t     * // => [[1, 10, 100], [2, 20, 200]]\n",
       "\t     *\n",
       "\t     * _.unzipWith(zipped, _.add);\n",
       "\t     * // => [3, 30, 300]\n",
       "\t     */\n",
       "\t    function unzipWith(array, iteratee) {\n",
       "\t      if (!(array && array.length)) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      var result = unzip(array);\n",
       "\t      if (iteratee == null) {\n",
       "\t        return result;\n",
       "\t      }\n",
       "\t      return arrayMap(result, function(group) {\n",
       "\t        return apply(iteratee, undefined, group);\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array excluding all given values using\n",
       "\t     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n",
       "\t     * for equality comparisons.\n",
       "\t     *\n",
       "\t     * **Note:** Unlike `_.pull`, this method returns a new array.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} array The array to inspect.\n",
       "\t     * @param {...*} [values] The values to exclude.\n",
       "\t     * @returns {Array} Returns the new array of filtered values.\n",
       "\t     * @see _.difference, _.xor\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.without([2, 1, 2, 3], 1, 2);\n",
       "\t     * // => [3]\n",
       "\t     */\n",
       "\t    var without = baseRest(function(array, values) {\n",
       "\t      return isArrayLikeObject(array)\n",
       "\t        ? baseDifference(array, values)\n",
       "\t        : [];\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of unique values that is the\n",
       "\t     * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n",
       "\t     * of the given arrays. The order of result values is determined by the order\n",
       "\t     * they occur in the arrays.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.4.0\n",
       "\t     * @category Array\n",
       "\t     * @param {...Array} [arrays] The arrays to inspect.\n",
       "\t     * @returns {Array} Returns the new array of filtered values.\n",
       "\t     * @see _.difference, _.without\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.xor([2, 1], [2, 3]);\n",
       "\t     * // => [1, 3]\n",
       "\t     */\n",
       "\t    var xor = baseRest(function(arrays) {\n",
       "\t      return baseXor(arrayFilter(arrays, isArrayLikeObject));\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.xor` except that it accepts `iteratee` which is\n",
       "\t     * invoked for each element of each `arrays` to generate the criterion by\n",
       "\t     * which by which they're compared. The order of result values is determined\n",
       "\t     * by the order they occur in the arrays. The iteratee is invoked with one\n",
       "\t     * argument: (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {...Array} [arrays] The arrays to inspect.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n",
       "\t     * @returns {Array} Returns the new array of filtered values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n",
       "\t     * // => [1.2, 3.4]\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n",
       "\t     * // => [{ 'x': 2 }]\n",
       "\t     */\n",
       "\t    var xorBy = baseRest(function(arrays) {\n",
       "\t      var iteratee = last(arrays);\n",
       "\t      if (isArrayLikeObject(iteratee)) {\n",
       "\t        iteratee = undefined;\n",
       "\t      }\n",
       "\t      return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.xor` except that it accepts `comparator` which is\n",
       "\t     * invoked to compare elements of `arrays`. The order of result values is\n",
       "\t     * determined by the order they occur in the arrays. The comparator is invoked\n",
       "\t     * with two arguments: (arrVal, othVal).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Array\n",
       "\t     * @param {...Array} [arrays] The arrays to inspect.\n",
       "\t     * @param {Function} [comparator] The comparator invoked per element.\n",
       "\t     * @returns {Array} Returns the new array of filtered values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n",
       "\t     * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n",
       "\t     *\n",
       "\t     * _.xorWith(objects, others, _.isEqual);\n",
       "\t     * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n",
       "\t     */\n",
       "\t    var xorWith = baseRest(function(arrays) {\n",
       "\t      var comparator = last(arrays);\n",
       "\t      comparator = typeof comparator == 'function' ? comparator : undefined;\n",
       "\t      return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of grouped elements, the first of which contains the\n",
       "\t     * first elements of the given arrays, the second of which contains the\n",
       "\t     * second elements of the given arrays, and so on.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {...Array} [arrays] The arrays to process.\n",
       "\t     * @returns {Array} Returns the new array of grouped elements.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.zip(['a', 'b'], [1, 2], [true, false]);\n",
       "\t     * // => [['a', 1, true], ['b', 2, false]]\n",
       "\t     */\n",
       "\t    var zip = baseRest(unzip);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.fromPairs` except that it accepts two arrays,\n",
       "\t     * one of property identifiers and one of corresponding values.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.4.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} [props=[]] The property identifiers.\n",
       "\t     * @param {Array} [values=[]] The property values.\n",
       "\t     * @returns {Object} Returns the new object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.zipObject(['a', 'b'], [1, 2]);\n",
       "\t     * // => { 'a': 1, 'b': 2 }\n",
       "\t     */\n",
       "\t    function zipObject(props, values) {\n",
       "\t      return baseZipObject(props || [], values || [], assignValue);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.zipObject` except that it supports property paths.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.1.0\n",
       "\t     * @category Array\n",
       "\t     * @param {Array} [props=[]] The property identifiers.\n",
       "\t     * @param {Array} [values=[]] The property values.\n",
       "\t     * @returns {Object} Returns the new object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n",
       "\t     * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n",
       "\t     */\n",
       "\t    function zipObjectDeep(props, values) {\n",
       "\t      return baseZipObject(props || [], values || [], baseSet);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.zip` except that it accepts `iteratee` to specify\n",
       "\t     * how grouped values should be combined. The iteratee is invoked with the\n",
       "\t     * elements of each group: (...group).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.8.0\n",
       "\t     * @category Array\n",
       "\t     * @param {...Array} [arrays] The arrays to process.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function to combine\n",
       "\t     *  grouped values.\n",
       "\t     * @returns {Array} Returns the new array of grouped elements.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n",
       "\t     *   return a + b + c;\n",
       "\t     * });\n",
       "\t     * // => [111, 222]\n",
       "\t     */\n",
       "\t    var zipWith = baseRest(function(arrays) {\n",
       "\t      var length = arrays.length,\n",
       "\t          iteratee = length > 1 ? arrays[length - 1] : undefined;\n",
       "\t\n",
       "\t      iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n",
       "\t      return unzipWith(arrays, iteratee);\n",
       "\t    });\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n",
       "\t     * chain sequences enabled. The result of such sequences must be unwrapped\n",
       "\t     * with `_#value`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 1.3.0\n",
       "\t     * @category Seq\n",
       "\t     * @param {*} value The value to wrap.\n",
       "\t     * @returns {Object} Returns the new `lodash` wrapper instance.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney',  'age': 36 },\n",
       "\t     *   { 'user': 'fred',    'age': 40 },\n",
       "\t     *   { 'user': 'pebbles', 'age': 1 }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * var youngest = _\n",
       "\t     *   .chain(users)\n",
       "\t     *   .sortBy('age')\n",
       "\t     *   .map(function(o) {\n",
       "\t     *     return o.user + ' is ' + o.age;\n",
       "\t     *   })\n",
       "\t     *   .head()\n",
       "\t     *   .value();\n",
       "\t     * // => 'pebbles is 1'\n",
       "\t     */\n",
       "\t    function chain(value) {\n",
       "\t      var result = lodash(value);\n",
       "\t      result.__chain__ = true;\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method invokes `interceptor` and returns `value`. The interceptor\n",
       "\t     * is invoked with one argument; (value). The purpose of this method is to\n",
       "\t     * \"tap into\" a method chain sequence in order to modify intermediate results.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Seq\n",
       "\t     * @param {*} value The value to provide to `interceptor`.\n",
       "\t     * @param {Function} interceptor The function to invoke.\n",
       "\t     * @returns {*} Returns `value`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _([1, 2, 3])\n",
       "\t     *  .tap(function(array) {\n",
       "\t     *    // Mutate input array.\n",
       "\t     *    array.pop();\n",
       "\t     *  })\n",
       "\t     *  .reverse()\n",
       "\t     *  .value();\n",
       "\t     * // => [2, 1]\n",
       "\t     */\n",
       "\t    function tap(value, interceptor) {\n",
       "\t      interceptor(value);\n",
       "\t      return value;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.tap` except that it returns the result of `interceptor`.\n",
       "\t     * The purpose of this method is to \"pass thru\" values replacing intermediate\n",
       "\t     * results in a method chain sequence.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Seq\n",
       "\t     * @param {*} value The value to provide to `interceptor`.\n",
       "\t     * @param {Function} interceptor The function to invoke.\n",
       "\t     * @returns {*} Returns the result of `interceptor`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _('  abc  ')\n",
       "\t     *  .chain()\n",
       "\t     *  .trim()\n",
       "\t     *  .thru(function(value) {\n",
       "\t     *    return [value];\n",
       "\t     *  })\n",
       "\t     *  .value();\n",
       "\t     * // => ['abc']\n",
       "\t     */\n",
       "\t    function thru(value, interceptor) {\n",
       "\t      return interceptor(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is the wrapper version of `_.at`.\n",
       "\t     *\n",
       "\t     * @name at\n",
       "\t     * @memberOf _\n",
       "\t     * @since 1.0.0\n",
       "\t     * @category Seq\n",
       "\t     * @param {...(string|string[])} [paths] The property paths to pick.\n",
       "\t     * @returns {Object} Returns the new `lodash` wrapper instance.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n",
       "\t     *\n",
       "\t     * _(object).at(['a[0].b.c', 'a[1]']).value();\n",
       "\t     * // => [3, 4]\n",
       "\t     */\n",
       "\t    var wrapperAt = flatRest(function(paths) {\n",
       "\t      var length = paths.length,\n",
       "\t          start = length ? paths[0] : 0,\n",
       "\t          value = this.__wrapped__,\n",
       "\t          interceptor = function(object) { return baseAt(object, paths); };\n",
       "\t\n",
       "\t      if (length > 1 || this.__actions__.length ||\n",
       "\t          !(value instanceof LazyWrapper) || !isIndex(start)) {\n",
       "\t        return this.thru(interceptor);\n",
       "\t      }\n",
       "\t      value = value.slice(start, +start + (length ? 1 : 0));\n",
       "\t      value.__actions__.push({\n",
       "\t        'func': thru,\n",
       "\t        'args': [interceptor],\n",
       "\t        'thisArg': undefined\n",
       "\t      });\n",
       "\t      return new LodashWrapper(value, this.__chain__).thru(function(array) {\n",
       "\t        if (length && !array.length) {\n",
       "\t          array.push(undefined);\n",
       "\t        }\n",
       "\t        return array;\n",
       "\t      });\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n",
       "\t     *\n",
       "\t     * @name chain\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Seq\n",
       "\t     * @returns {Object} Returns the new `lodash` wrapper instance.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney', 'age': 36 },\n",
       "\t     *   { 'user': 'fred',   'age': 40 }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * // A sequence without explicit chaining.\n",
       "\t     * _(users).head();\n",
       "\t     * // => { 'user': 'barney', 'age': 36 }\n",
       "\t     *\n",
       "\t     * // A sequence with explicit chaining.\n",
       "\t     * _(users)\n",
       "\t     *   .chain()\n",
       "\t     *   .head()\n",
       "\t     *   .pick('user')\n",
       "\t     *   .value();\n",
       "\t     * // => { 'user': 'barney' }\n",
       "\t     */\n",
       "\t    function wrapperChain() {\n",
       "\t      return chain(this);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Executes the chain sequence and returns the wrapped result.\n",
       "\t     *\n",
       "\t     * @name commit\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.2.0\n",
       "\t     * @category Seq\n",
       "\t     * @returns {Object} Returns the new `lodash` wrapper instance.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = [1, 2];\n",
       "\t     * var wrapped = _(array).push(3);\n",
       "\t     *\n",
       "\t     * console.log(array);\n",
       "\t     * // => [1, 2]\n",
       "\t     *\n",
       "\t     * wrapped = wrapped.commit();\n",
       "\t     * console.log(array);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     *\n",
       "\t     * wrapped.last();\n",
       "\t     * // => 3\n",
       "\t     *\n",
       "\t     * console.log(array);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     */\n",
       "\t    function wrapperCommit() {\n",
       "\t      return new LodashWrapper(this.value(), this.__chain__);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the next value on a wrapped object following the\n",
       "\t     * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n",
       "\t     *\n",
       "\t     * @name next\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Seq\n",
       "\t     * @returns {Object} Returns the next iterator value.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var wrapped = _([1, 2]);\n",
       "\t     *\n",
       "\t     * wrapped.next();\n",
       "\t     * // => { 'done': false, 'value': 1 }\n",
       "\t     *\n",
       "\t     * wrapped.next();\n",
       "\t     * // => { 'done': false, 'value': 2 }\n",
       "\t     *\n",
       "\t     * wrapped.next();\n",
       "\t     * // => { 'done': true, 'value': undefined }\n",
       "\t     */\n",
       "\t    function wrapperNext() {\n",
       "\t      if (this.__values__ === undefined) {\n",
       "\t        this.__values__ = toArray(this.value());\n",
       "\t      }\n",
       "\t      var done = this.__index__ >= this.__values__.length,\n",
       "\t          value = done ? undefined : this.__values__[this.__index__++];\n",
       "\t\n",
       "\t      return { 'done': done, 'value': value };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Enables the wrapper to be iterable.\n",
       "\t     *\n",
       "\t     * @name Symbol.iterator\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Seq\n",
       "\t     * @returns {Object} Returns the wrapper object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var wrapped = _([1, 2]);\n",
       "\t     *\n",
       "\t     * wrapped[Symbol.iterator]() === wrapped;\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * Array.from(wrapped);\n",
       "\t     * // => [1, 2]\n",
       "\t     */\n",
       "\t    function wrapperToIterator() {\n",
       "\t      return this;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a clone of the chain sequence planting `value` as the wrapped value.\n",
       "\t     *\n",
       "\t     * @name plant\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.2.0\n",
       "\t     * @category Seq\n",
       "\t     * @param {*} value The value to plant.\n",
       "\t     * @returns {Object} Returns the new `lodash` wrapper instance.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function square(n) {\n",
       "\t     *   return n * n;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var wrapped = _([1, 2]).map(square);\n",
       "\t     * var other = wrapped.plant([3, 4]);\n",
       "\t     *\n",
       "\t     * other.value();\n",
       "\t     * // => [9, 16]\n",
       "\t     *\n",
       "\t     * wrapped.value();\n",
       "\t     * // => [1, 4]\n",
       "\t     */\n",
       "\t    function wrapperPlant(value) {\n",
       "\t      var result,\n",
       "\t          parent = this;\n",
       "\t\n",
       "\t      while (parent instanceof baseLodash) {\n",
       "\t        var clone = wrapperClone(parent);\n",
       "\t        clone.__index__ = 0;\n",
       "\t        clone.__values__ = undefined;\n",
       "\t        if (result) {\n",
       "\t          previous.__wrapped__ = clone;\n",
       "\t        } else {\n",
       "\t          result = clone;\n",
       "\t        }\n",
       "\t        var previous = clone;\n",
       "\t        parent = parent.__wrapped__;\n",
       "\t      }\n",
       "\t      previous.__wrapped__ = value;\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is the wrapper version of `_.reverse`.\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates the wrapped array.\n",
       "\t     *\n",
       "\t     * @name reverse\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Seq\n",
       "\t     * @returns {Object} Returns the new `lodash` wrapper instance.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = [1, 2, 3];\n",
       "\t     *\n",
       "\t     * _(array).reverse().value()\n",
       "\t     * // => [3, 2, 1]\n",
       "\t     *\n",
       "\t     * console.log(array);\n",
       "\t     * // => [3, 2, 1]\n",
       "\t     */\n",
       "\t    function wrapperReverse() {\n",
       "\t      var value = this.__wrapped__;\n",
       "\t      if (value instanceof LazyWrapper) {\n",
       "\t        var wrapped = value;\n",
       "\t        if (this.__actions__.length) {\n",
       "\t          wrapped = new LazyWrapper(this);\n",
       "\t        }\n",
       "\t        wrapped = wrapped.reverse();\n",
       "\t        wrapped.__actions__.push({\n",
       "\t          'func': thru,\n",
       "\t          'args': [reverse],\n",
       "\t          'thisArg': undefined\n",
       "\t        });\n",
       "\t        return new LodashWrapper(wrapped, this.__chain__);\n",
       "\t      }\n",
       "\t      return this.thru(reverse);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Executes the chain sequence to resolve the unwrapped value.\n",
       "\t     *\n",
       "\t     * @name value\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @alias toJSON, valueOf\n",
       "\t     * @category Seq\n",
       "\t     * @returns {*} Returns the resolved unwrapped value.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _([1, 2, 3]).value();\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     */\n",
       "\t    function wrapperValue() {\n",
       "\t      return baseWrapperValue(this.__wrapped__, this.__actions__);\n",
       "\t    }\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an object composed of keys generated from the results of running\n",
       "\t     * each element of `collection` thru `iteratee`. The corresponding value of\n",
       "\t     * each key is the number of times the key was returned by `iteratee`. The\n",
       "\t     * iteratee is invoked with one argument: (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.5.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n",
       "\t     * @returns {Object} Returns the composed aggregate object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.countBy([6.1, 4.2, 6.3], Math.floor);\n",
       "\t     * // => { '4': 1, '6': 2 }\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.countBy(['one', 'two', 'three'], 'length');\n",
       "\t     * // => { '3': 2, '5': 1 }\n",
       "\t     */\n",
       "\t    var countBy = createAggregator(function(result, value, key) {\n",
       "\t      if (hasOwnProperty.call(result, key)) {\n",
       "\t        ++result[key];\n",
       "\t      } else {\n",
       "\t        baseAssignValue(result, key, 1);\n",
       "\t      }\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `predicate` returns truthy for **all** elements of `collection`.\n",
       "\t     * Iteration is stopped once `predicate` returns falsey. The predicate is\n",
       "\t     * invoked with three arguments: (value, index|key, collection).\n",
       "\t     *\n",
       "\t     * **Note:** This method returns `true` for\n",
       "\t     * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n",
       "\t     * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n",
       "\t     * elements of empty collections.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {boolean} Returns `true` if all elements pass the predicate check,\n",
       "\t     *  else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.every([true, 1, null, 'yes'], Boolean);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney', 'age': 36, 'active': false },\n",
       "\t     *   { 'user': 'fred',   'age': 40, 'active': false }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.every(users, { 'user': 'barney', 'active': false });\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.every(users, ['active', false]);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.every(users, 'active');\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function every(collection, predicate, guard) {\n",
       "\t      var func = isArray(collection) ? arrayEvery : baseEvery;\n",
       "\t      if (guard && isIterateeCall(collection, predicate, guard)) {\n",
       "\t        predicate = undefined;\n",
       "\t      }\n",
       "\t      return func(collection, getIteratee(predicate, 3));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Iterates over elements of `collection`, returning an array of all elements\n",
       "\t     * `predicate` returns truthy for. The predicate is invoked with three\n",
       "\t     * arguments: (value, index|key, collection).\n",
       "\t     *\n",
       "\t     * **Note:** Unlike `_.remove`, this method returns a new array.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the new filtered array.\n",
       "\t     * @see _.reject\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney', 'age': 36, 'active': true },\n",
       "\t     *   { 'user': 'fred',   'age': 40, 'active': false }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.filter(users, function(o) { return !o.active; });\n",
       "\t     * // => objects for ['fred']\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.filter(users, { 'age': 36, 'active': true });\n",
       "\t     * // => objects for ['barney']\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.filter(users, ['active', false]);\n",
       "\t     * // => objects for ['fred']\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.filter(users, 'active');\n",
       "\t     * // => objects for ['barney']\n",
       "\t     */\n",
       "\t    function filter(collection, predicate) {\n",
       "\t      var func = isArray(collection) ? arrayFilter : baseFilter;\n",
       "\t      return func(collection, getIteratee(predicate, 3));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Iterates over elements of `collection`, returning the first element\n",
       "\t     * `predicate` returns truthy for. The predicate is invoked with three\n",
       "\t     * arguments: (value, index|key, collection).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to inspect.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @param {number} [fromIndex=0] The index to search from.\n",
       "\t     * @returns {*} Returns the matched element, else `undefined`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney',  'age': 36, 'active': true },\n",
       "\t     *   { 'user': 'fred',    'age': 40, 'active': false },\n",
       "\t     *   { 'user': 'pebbles', 'age': 1,  'active': true }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.find(users, function(o) { return o.age < 40; });\n",
       "\t     * // => object for 'barney'\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.find(users, { 'age': 1, 'active': true });\n",
       "\t     * // => object for 'pebbles'\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.find(users, ['active', false]);\n",
       "\t     * // => object for 'fred'\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.find(users, 'active');\n",
       "\t     * // => object for 'barney'\n",
       "\t     */\n",
       "\t    var find = createFind(findIndex);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.find` except that it iterates over elements of\n",
       "\t     * `collection` from right to left.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.0.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to inspect.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @param {number} [fromIndex=collection.length-1] The index to search from.\n",
       "\t     * @returns {*} Returns the matched element, else `undefined`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.findLast([1, 2, 3, 4], function(n) {\n",
       "\t     *   return n % 2 == 1;\n",
       "\t     * });\n",
       "\t     * // => 3\n",
       "\t     */\n",
       "\t    var findLast = createFind(findLastIndex);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a flattened array of values by running each element in `collection`\n",
       "\t     * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n",
       "\t     * with three arguments: (value, index|key, collection).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the new flattened array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function duplicate(n) {\n",
       "\t     *   return [n, n];\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * _.flatMap([1, 2], duplicate);\n",
       "\t     * // => [1, 1, 2, 2]\n",
       "\t     */\n",
       "\t    function flatMap(collection, iteratee) {\n",
       "\t      return baseFlatten(map(collection, iteratee), 1);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.flatMap` except that it recursively flattens the\n",
       "\t     * mapped results.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.7.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the new flattened array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function duplicate(n) {\n",
       "\t     *   return [[[n, n]]];\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * _.flatMapDeep([1, 2], duplicate);\n",
       "\t     * // => [1, 1, 2, 2]\n",
       "\t     */\n",
       "\t    function flatMapDeep(collection, iteratee) {\n",
       "\t      return baseFlatten(map(collection, iteratee), INFINITY);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.flatMap` except that it recursively flattens the\n",
       "\t     * mapped results up to `depth` times.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.7.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @param {number} [depth=1] The maximum recursion depth.\n",
       "\t     * @returns {Array} Returns the new flattened array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function duplicate(n) {\n",
       "\t     *   return [[[n, n]]];\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * _.flatMapDepth([1, 2], duplicate, 2);\n",
       "\t     * // => [[1, 1], [2, 2]]\n",
       "\t     */\n",
       "\t    function flatMapDepth(collection, iteratee, depth) {\n",
       "\t      depth = depth === undefined ? 1 : toInteger(depth);\n",
       "\t      return baseFlatten(map(collection, iteratee), depth);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Iterates over elements of `collection` and invokes `iteratee` for each element.\n",
       "\t     * The iteratee is invoked with three arguments: (value, index|key, collection).\n",
       "\t     * Iteratee functions may exit iteration early by explicitly returning `false`.\n",
       "\t     *\n",
       "\t     * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n",
       "\t     * property are iterated like arrays. To avoid this behavior use `_.forIn`\n",
       "\t     * or `_.forOwn` for object iteration.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @alias each\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array|Object} Returns `collection`.\n",
       "\t     * @see _.forEachRight\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.forEach([1, 2], function(value) {\n",
       "\t     *   console.log(value);\n",
       "\t     * });\n",
       "\t     * // => Logs `1` then `2`.\n",
       "\t     *\n",
       "\t     * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n",
       "\t     *   console.log(key);\n",
       "\t     * });\n",
       "\t     * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n",
       "\t     */\n",
       "\t    function forEach(collection, iteratee) {\n",
       "\t      var func = isArray(collection) ? arrayEach : baseEach;\n",
       "\t      return func(collection, getIteratee(iteratee, 3));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.forEach` except that it iterates over elements of\n",
       "\t     * `collection` from right to left.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.0.0\n",
       "\t     * @alias eachRight\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array|Object} Returns `collection`.\n",
       "\t     * @see _.forEach\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.forEachRight([1, 2], function(value) {\n",
       "\t     *   console.log(value);\n",
       "\t     * });\n",
       "\t     * // => Logs `2` then `1`.\n",
       "\t     */\n",
       "\t    function forEachRight(collection, iteratee) {\n",
       "\t      var func = isArray(collection) ? arrayEachRight : baseEachRight;\n",
       "\t      return func(collection, getIteratee(iteratee, 3));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an object composed of keys generated from the results of running\n",
       "\t     * each element of `collection` thru `iteratee`. The order of grouped values\n",
       "\t     * is determined by the order they occur in `collection`. The corresponding\n",
       "\t     * value of each key is an array of elements responsible for generating the\n",
       "\t     * key. The iteratee is invoked with one argument: (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n",
       "\t     * @returns {Object} Returns the composed aggregate object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n",
       "\t     * // => { '4': [4.2], '6': [6.1, 6.3] }\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.groupBy(['one', 'two', 'three'], 'length');\n",
       "\t     * // => { '3': ['one', 'two'], '5': ['three'] }\n",
       "\t     */\n",
       "\t    var groupBy = createAggregator(function(result, value, key) {\n",
       "\t      if (hasOwnProperty.call(result, key)) {\n",
       "\t        result[key].push(value);\n",
       "\t      } else {\n",
       "\t        baseAssignValue(result, key, [value]);\n",
       "\t      }\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is in `collection`. If `collection` is a string, it's\n",
       "\t     * checked for a substring of `value`, otherwise\n",
       "\t     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n",
       "\t     * is used for equality comparisons. If `fromIndex` is negative, it's used as\n",
       "\t     * the offset from the end of `collection`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object|string} collection The collection to inspect.\n",
       "\t     * @param {*} value The value to search for.\n",
       "\t     * @param {number} [fromIndex=0] The index to search from.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is found, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.includes([1, 2, 3], 1);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.includes([1, 2, 3], 1, 2);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.includes({ 'a': 1, 'b': 2 }, 1);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.includes('abcd', 'bc');\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function includes(collection, value, fromIndex, guard) {\n",
       "\t      collection = isArrayLike(collection) ? collection : values(collection);\n",
       "\t      fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n",
       "\t\n",
       "\t      var length = collection.length;\n",
       "\t      if (fromIndex < 0) {\n",
       "\t        fromIndex = nativeMax(length + fromIndex, 0);\n",
       "\t      }\n",
       "\t      return isString(collection)\n",
       "\t        ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n",
       "\t        : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Invokes the method at `path` of each element in `collection`, returning\n",
       "\t     * an array of the results of each invoked method. Any additional arguments\n",
       "\t     * are provided to each invoked method. If `path` is a function, it's invoked\n",
       "\t     * for, and `this` bound to, each element in `collection`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Array|Function|string} path The path of the method to invoke or\n",
       "\t     *  the function invoked per iteration.\n",
       "\t     * @param {...*} [args] The arguments to invoke each method with.\n",
       "\t     * @returns {Array} Returns the array of results.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n",
       "\t     * // => [[1, 5, 7], [1, 2, 3]]\n",
       "\t     *\n",
       "\t     * _.invokeMap([123, 456], String.prototype.split, '');\n",
       "\t     * // => [['1', '2', '3'], ['4', '5', '6']]\n",
       "\t     */\n",
       "\t    var invokeMap = baseRest(function(collection, path, args) {\n",
       "\t      var index = -1,\n",
       "\t          isFunc = typeof path == 'function',\n",
       "\t          result = isArrayLike(collection) ? Array(collection.length) : [];\n",
       "\t\n",
       "\t      baseEach(collection, function(value) {\n",
       "\t        result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n",
       "\t      });\n",
       "\t      return result;\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an object composed of keys generated from the results of running\n",
       "\t     * each element of `collection` thru `iteratee`. The corresponding value of\n",
       "\t     * each key is the last element responsible for generating the key. The\n",
       "\t     * iteratee is invoked with one argument: (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n",
       "\t     * @returns {Object} Returns the composed aggregate object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = [\n",
       "\t     *   { 'dir': 'left', 'code': 97 },\n",
       "\t     *   { 'dir': 'right', 'code': 100 }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.keyBy(array, function(o) {\n",
       "\t     *   return String.fromCharCode(o.code);\n",
       "\t     * });\n",
       "\t     * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n",
       "\t     *\n",
       "\t     * _.keyBy(array, 'dir');\n",
       "\t     * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n",
       "\t     */\n",
       "\t    var keyBy = createAggregator(function(result, value, key) {\n",
       "\t      baseAssignValue(result, key, value);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of values by running each element in `collection` thru\n",
       "\t     * `iteratee`. The iteratee is invoked with three arguments:\n",
       "\t     * (value, index|key, collection).\n",
       "\t     *\n",
       "\t     * Many lodash methods are guarded to work as iteratees for methods like\n",
       "\t     * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n",
       "\t     *\n",
       "\t     * The guarded methods are:\n",
       "\t     * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n",
       "\t     * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n",
       "\t     * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n",
       "\t     * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the new mapped array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function square(n) {\n",
       "\t     *   return n * n;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * _.map([4, 8], square);\n",
       "\t     * // => [16, 64]\n",
       "\t     *\n",
       "\t     * _.map({ 'a': 4, 'b': 8 }, square);\n",
       "\t     * // => [16, 64] (iteration order is not guaranteed)\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney' },\n",
       "\t     *   { 'user': 'fred' }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.map(users, 'user');\n",
       "\t     * // => ['barney', 'fred']\n",
       "\t     */\n",
       "\t    function map(collection, iteratee) {\n",
       "\t      var func = isArray(collection) ? arrayMap : baseMap;\n",
       "\t      return func(collection, getIteratee(iteratee, 3));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.sortBy` except that it allows specifying the sort\n",
       "\t     * orders of the iteratees to sort by. If `orders` is unspecified, all values\n",
       "\t     * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n",
       "\t     * descending or \"asc\" for ascending sort order of corresponding values.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n",
       "\t     *  The iteratees to sort by.\n",
       "\t     * @param {string[]} [orders] The sort orders of `iteratees`.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n",
       "\t     * @returns {Array} Returns the new sorted array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'fred',   'age': 48 },\n",
       "\t     *   { 'user': 'barney', 'age': 34 },\n",
       "\t     *   { 'user': 'fred',   'age': 40 },\n",
       "\t     *   { 'user': 'barney', 'age': 36 }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * // Sort by `user` in ascending order and by `age` in descending order.\n",
       "\t     * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n",
       "\t     * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n",
       "\t     */\n",
       "\t    function orderBy(collection, iteratees, orders, guard) {\n",
       "\t      if (collection == null) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      if (!isArray(iteratees)) {\n",
       "\t        iteratees = iteratees == null ? [] : [iteratees];\n",
       "\t      }\n",
       "\t      orders = guard ? undefined : orders;\n",
       "\t      if (!isArray(orders)) {\n",
       "\t        orders = orders == null ? [] : [orders];\n",
       "\t      }\n",
       "\t      return baseOrderBy(collection, iteratees, orders);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of elements split into two groups, the first of which\n",
       "\t     * contains elements `predicate` returns truthy for, the second of which\n",
       "\t     * contains elements `predicate` returns falsey for. The predicate is\n",
       "\t     * invoked with one argument: (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the array of grouped elements.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney',  'age': 36, 'active': false },\n",
       "\t     *   { 'user': 'fred',    'age': 40, 'active': true },\n",
       "\t     *   { 'user': 'pebbles', 'age': 1,  'active': false }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.partition(users, function(o) { return o.active; });\n",
       "\t     * // => objects for [['fred'], ['barney', 'pebbles']]\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.partition(users, { 'age': 1, 'active': false });\n",
       "\t     * // => objects for [['pebbles'], ['barney', 'fred']]\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.partition(users, ['active', false]);\n",
       "\t     * // => objects for [['barney', 'pebbles'], ['fred']]\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.partition(users, 'active');\n",
       "\t     * // => objects for [['fred'], ['barney', 'pebbles']]\n",
       "\t     */\n",
       "\t    var partition = createAggregator(function(result, value, key) {\n",
       "\t      result[key ? 0 : 1].push(value);\n",
       "\t    }, function() { return [[], []]; });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Reduces `collection` to a value which is the accumulated result of running\n",
       "\t     * each element in `collection` thru `iteratee`, where each successive\n",
       "\t     * invocation is supplied the return value of the previous. If `accumulator`\n",
       "\t     * is not given, the first element of `collection` is used as the initial\n",
       "\t     * value. The iteratee is invoked with four arguments:\n",
       "\t     * (accumulator, value, index|key, collection).\n",
       "\t     *\n",
       "\t     * Many lodash methods are guarded to work as iteratees for methods like\n",
       "\t     * `_.reduce`, `_.reduceRight`, and `_.transform`.\n",
       "\t     *\n",
       "\t     * The guarded methods are:\n",
       "\t     * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n",
       "\t     * and `sortBy`\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @param {*} [accumulator] The initial value.\n",
       "\t     * @returns {*} Returns the accumulated value.\n",
       "\t     * @see _.reduceRight\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.reduce([1, 2], function(sum, n) {\n",
       "\t     *   return sum + n;\n",
       "\t     * }, 0);\n",
       "\t     * // => 3\n",
       "\t     *\n",
       "\t     * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n",
       "\t     *   (result[value] || (result[value] = [])).push(key);\n",
       "\t     *   return result;\n",
       "\t     * }, {});\n",
       "\t     * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n",
       "\t     */\n",
       "\t    function reduce(collection, iteratee, accumulator) {\n",
       "\t      var func = isArray(collection) ? arrayReduce : baseReduce,\n",
       "\t          initAccum = arguments.length < 3;\n",
       "\t\n",
       "\t      return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.reduce` except that it iterates over elements of\n",
       "\t     * `collection` from right to left.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @param {*} [accumulator] The initial value.\n",
       "\t     * @returns {*} Returns the accumulated value.\n",
       "\t     * @see _.reduce\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = [[0, 1], [2, 3], [4, 5]];\n",
       "\t     *\n",
       "\t     * _.reduceRight(array, function(flattened, other) {\n",
       "\t     *   return flattened.concat(other);\n",
       "\t     * }, []);\n",
       "\t     * // => [4, 5, 2, 3, 0, 1]\n",
       "\t     */\n",
       "\t    function reduceRight(collection, iteratee, accumulator) {\n",
       "\t      var func = isArray(collection) ? arrayReduceRight : baseReduce,\n",
       "\t          initAccum = arguments.length < 3;\n",
       "\t\n",
       "\t      return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The opposite of `_.filter`; this method returns the elements of `collection`\n",
       "\t     * that `predicate` does **not** return truthy for.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the new filtered array.\n",
       "\t     * @see _.filter\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney', 'age': 36, 'active': false },\n",
       "\t     *   { 'user': 'fred',   'age': 40, 'active': true }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.reject(users, function(o) { return !o.active; });\n",
       "\t     * // => objects for ['fred']\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.reject(users, { 'age': 40, 'active': true });\n",
       "\t     * // => objects for ['barney']\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.reject(users, ['active', false]);\n",
       "\t     * // => objects for ['fred']\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.reject(users, 'active');\n",
       "\t     * // => objects for ['barney']\n",
       "\t     */\n",
       "\t    function reject(collection, predicate) {\n",
       "\t      var func = isArray(collection) ? arrayFilter : baseFilter;\n",
       "\t      return func(collection, negate(getIteratee(predicate, 3)));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets a random element from `collection`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.0.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to sample.\n",
       "\t     * @returns {*} Returns the random element.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.sample([1, 2, 3, 4]);\n",
       "\t     * // => 2\n",
       "\t     */\n",
       "\t    function sample(collection) {\n",
       "\t      var func = isArray(collection) ? arraySample : baseSample;\n",
       "\t      return func(collection);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets `n` random elements at unique keys from `collection` up to the\n",
       "\t     * size of `collection`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to sample.\n",
       "\t     * @param {number} [n=1] The number of elements to sample.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {Array} Returns the random elements.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.sampleSize([1, 2, 3], 2);\n",
       "\t     * // => [3, 1]\n",
       "\t     *\n",
       "\t     * _.sampleSize([1, 2, 3], 4);\n",
       "\t     * // => [2, 3, 1]\n",
       "\t     */\n",
       "\t    function sampleSize(collection, n, guard) {\n",
       "\t      if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n",
       "\t        n = 1;\n",
       "\t      } else {\n",
       "\t        n = toInteger(n);\n",
       "\t      }\n",
       "\t      var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n",
       "\t      return func(collection, n);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of shuffled values, using a version of the\n",
       "\t     * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to shuffle.\n",
       "\t     * @returns {Array} Returns the new shuffled array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.shuffle([1, 2, 3, 4]);\n",
       "\t     * // => [4, 1, 3, 2]\n",
       "\t     */\n",
       "\t    function shuffle(collection) {\n",
       "\t      var func = isArray(collection) ? arrayShuffle : baseShuffle;\n",
       "\t      return func(collection);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the size of `collection` by returning its length for array-like\n",
       "\t     * values or the number of own enumerable string keyed properties for objects.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object|string} collection The collection to inspect.\n",
       "\t     * @returns {number} Returns the collection size.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.size([1, 2, 3]);\n",
       "\t     * // => 3\n",
       "\t     *\n",
       "\t     * _.size({ 'a': 1, 'b': 2 });\n",
       "\t     * // => 2\n",
       "\t     *\n",
       "\t     * _.size('pebbles');\n",
       "\t     * // => 7\n",
       "\t     */\n",
       "\t    function size(collection) {\n",
       "\t      if (collection == null) {\n",
       "\t        return 0;\n",
       "\t      }\n",
       "\t      if (isArrayLike(collection)) {\n",
       "\t        return isString(collection) ? stringSize(collection) : collection.length;\n",
       "\t      }\n",
       "\t      var tag = getTag(collection);\n",
       "\t      if (tag == mapTag || tag == setTag) {\n",
       "\t        return collection.size;\n",
       "\t      }\n",
       "\t      return baseKeys(collection).length;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `predicate` returns truthy for **any** element of `collection`.\n",
       "\t     * Iteration is stopped once `predicate` returns truthy. The predicate is\n",
       "\t     * invoked with three arguments: (value, index|key, collection).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {boolean} Returns `true` if any element passes the predicate check,\n",
       "\t     *  else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.some([null, 0, 'yes', false], Boolean);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney', 'active': true },\n",
       "\t     *   { 'user': 'fred',   'active': false }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.some(users, { 'user': 'barney', 'active': false });\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.some(users, ['active', false]);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.some(users, 'active');\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function some(collection, predicate, guard) {\n",
       "\t      var func = isArray(collection) ? arraySome : baseSome;\n",
       "\t      if (guard && isIterateeCall(collection, predicate, guard)) {\n",
       "\t        predicate = undefined;\n",
       "\t      }\n",
       "\t      return func(collection, getIteratee(predicate, 3));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of elements, sorted in ascending order by the results of\n",
       "\t     * running each element in a collection thru each iteratee. This method\n",
       "\t     * performs a stable sort, that is, it preserves the original sort order of\n",
       "\t     * equal elements. The iteratees are invoked with one argument: (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Collection\n",
       "\t     * @param {Array|Object} collection The collection to iterate over.\n",
       "\t     * @param {...(Function|Function[])} [iteratees=[_.identity]]\n",
       "\t     *  The iteratees to sort by.\n",
       "\t     * @returns {Array} Returns the new sorted array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'fred',   'age': 48 },\n",
       "\t     *   { 'user': 'barney', 'age': 36 },\n",
       "\t     *   { 'user': 'fred',   'age': 40 },\n",
       "\t     *   { 'user': 'barney', 'age': 34 }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.sortBy(users, [function(o) { return o.user; }]);\n",
       "\t     * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n",
       "\t     *\n",
       "\t     * _.sortBy(users, ['user', 'age']);\n",
       "\t     * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]\n",
       "\t     */\n",
       "\t    var sortBy = baseRest(function(collection, iteratees) {\n",
       "\t      if (collection == null) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      var length = iteratees.length;\n",
       "\t      if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n",
       "\t        iteratees = [];\n",
       "\t      } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n",
       "\t        iteratees = [iteratees[0]];\n",
       "\t      }\n",
       "\t      return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n",
       "\t    });\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the timestamp of the number of milliseconds that have elapsed since\n",
       "\t     * the Unix epoch (1 January 1970 00:00:00 UTC).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.4.0\n",
       "\t     * @category Date\n",
       "\t     * @returns {number} Returns the timestamp.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.defer(function(stamp) {\n",
       "\t     *   console.log(_.now() - stamp);\n",
       "\t     * }, _.now());\n",
       "\t     * // => Logs the number of milliseconds it took for the deferred invocation.\n",
       "\t     */\n",
       "\t    var now = ctxNow || function() {\n",
       "\t      return root.Date.now();\n",
       "\t    };\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The opposite of `_.before`; this method creates a function that invokes\n",
       "\t     * `func` once it's called `n` or more times.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Function\n",
       "\t     * @param {number} n The number of calls before `func` is invoked.\n",
       "\t     * @param {Function} func The function to restrict.\n",
       "\t     * @returns {Function} Returns the new restricted function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var saves = ['profile', 'settings'];\n",
       "\t     *\n",
       "\t     * var done = _.after(saves.length, function() {\n",
       "\t     *   console.log('done saving!');\n",
       "\t     * });\n",
       "\t     *\n",
       "\t     * _.forEach(saves, function(type) {\n",
       "\t     *   asyncSave({ 'type': type, 'complete': done });\n",
       "\t     * });\n",
       "\t     * // => Logs 'done saving!' after the two async saves have completed.\n",
       "\t     */\n",
       "\t    function after(n, func) {\n",
       "\t      if (typeof func != 'function') {\n",
       "\t        throw new TypeError(FUNC_ERROR_TEXT);\n",
       "\t      }\n",
       "\t      n = toInteger(n);\n",
       "\t      return function() {\n",
       "\t        if (--n < 1) {\n",
       "\t          return func.apply(this, arguments);\n",
       "\t        }\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes `func`, with up to `n` arguments,\n",
       "\t     * ignoring any additional arguments.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to cap arguments for.\n",
       "\t     * @param {number} [n=func.length] The arity cap.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {Function} Returns the new capped function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n",
       "\t     * // => [6, 8, 10]\n",
       "\t     */\n",
       "\t    function ary(func, n, guard) {\n",
       "\t      n = guard ? undefined : n;\n",
       "\t      n = (func && n == null) ? func.length : n;\n",
       "\t      return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes `func`, with the `this` binding and arguments\n",
       "\t     * of the created function, while it's called less than `n` times. Subsequent\n",
       "\t     * calls to the created function return the result of the last `func` invocation.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Function\n",
       "\t     * @param {number} n The number of calls at which `func` is no longer invoked.\n",
       "\t     * @param {Function} func The function to restrict.\n",
       "\t     * @returns {Function} Returns the new restricted function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * jQuery(element).on('click', _.before(5, addContactToList));\n",
       "\t     * // => Allows adding up to 4 contacts to the list.\n",
       "\t     */\n",
       "\t    function before(n, func) {\n",
       "\t      var result;\n",
       "\t      if (typeof func != 'function') {\n",
       "\t        throw new TypeError(FUNC_ERROR_TEXT);\n",
       "\t      }\n",
       "\t      n = toInteger(n);\n",
       "\t      return function() {\n",
       "\t        if (--n > 0) {\n",
       "\t          result = func.apply(this, arguments);\n",
       "\t        }\n",
       "\t        if (n <= 1) {\n",
       "\t          func = undefined;\n",
       "\t        }\n",
       "\t        return result;\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes `func` with the `this` binding of `thisArg`\n",
       "\t     * and `partials` prepended to the arguments it receives.\n",
       "\t     *\n",
       "\t     * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n",
       "\t     * may be used as a placeholder for partially applied arguments.\n",
       "\t     *\n",
       "\t     * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n",
       "\t     * property of bound functions.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to bind.\n",
       "\t     * @param {*} thisArg The `this` binding of `func`.\n",
       "\t     * @param {...*} [partials] The arguments to be partially applied.\n",
       "\t     * @returns {Function} Returns the new bound function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function greet(greeting, punctuation) {\n",
       "\t     *   return greeting + ' ' + this.user + punctuation;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var object = { 'user': 'fred' };\n",
       "\t     *\n",
       "\t     * var bound = _.bind(greet, object, 'hi');\n",
       "\t     * bound('!');\n",
       "\t     * // => 'hi fred!'\n",
       "\t     *\n",
       "\t     * // Bound with placeholders.\n",
       "\t     * var bound = _.bind(greet, object, _, '!');\n",
       "\t     * bound('hi');\n",
       "\t     * // => 'hi fred!'\n",
       "\t     */\n",
       "\t    var bind = baseRest(function(func, thisArg, partials) {\n",
       "\t      var bitmask = WRAP_BIND_FLAG;\n",
       "\t      if (partials.length) {\n",
       "\t        var holders = replaceHolders(partials, getHolder(bind));\n",
       "\t        bitmask |= WRAP_PARTIAL_FLAG;\n",
       "\t      }\n",
       "\t      return createWrap(func, bitmask, thisArg, partials, holders);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes the method at `object[key]` with `partials`\n",
       "\t     * prepended to the arguments it receives.\n",
       "\t     *\n",
       "\t     * This method differs from `_.bind` by allowing bound functions to reference\n",
       "\t     * methods that may be redefined or don't yet exist. See\n",
       "\t     * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n",
       "\t     * for more details.\n",
       "\t     *\n",
       "\t     * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n",
       "\t     * builds, may be used as a placeholder for partially applied arguments.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.10.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Object} object The object to invoke the method on.\n",
       "\t     * @param {string} key The key of the method.\n",
       "\t     * @param {...*} [partials] The arguments to be partially applied.\n",
       "\t     * @returns {Function} Returns the new bound function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = {\n",
       "\t     *   'user': 'fred',\n",
       "\t     *   'greet': function(greeting, punctuation) {\n",
       "\t     *     return greeting + ' ' + this.user + punctuation;\n",
       "\t     *   }\n",
       "\t     * };\n",
       "\t     *\n",
       "\t     * var bound = _.bindKey(object, 'greet', 'hi');\n",
       "\t     * bound('!');\n",
       "\t     * // => 'hi fred!'\n",
       "\t     *\n",
       "\t     * object.greet = function(greeting, punctuation) {\n",
       "\t     *   return greeting + 'ya ' + this.user + punctuation;\n",
       "\t     * };\n",
       "\t     *\n",
       "\t     * bound('!');\n",
       "\t     * // => 'hiya fred!'\n",
       "\t     *\n",
       "\t     * // Bound with placeholders.\n",
       "\t     * var bound = _.bindKey(object, 'greet', _, '!');\n",
       "\t     * bound('hi');\n",
       "\t     * // => 'hiya fred!'\n",
       "\t     */\n",
       "\t    var bindKey = baseRest(function(object, key, partials) {\n",
       "\t      var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n",
       "\t      if (partials.length) {\n",
       "\t        var holders = replaceHolders(partials, getHolder(bindKey));\n",
       "\t        bitmask |= WRAP_PARTIAL_FLAG;\n",
       "\t      }\n",
       "\t      return createWrap(key, bitmask, object, partials, holders);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that accepts arguments of `func` and either invokes\n",
       "\t     * `func` returning its result, if at least `arity` number of arguments have\n",
       "\t     * been provided, or returns a function that accepts the remaining `func`\n",
       "\t     * arguments, and so on. The arity of `func` may be specified if `func.length`\n",
       "\t     * is not sufficient.\n",
       "\t     *\n",
       "\t     * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n",
       "\t     * may be used as a placeholder for provided arguments.\n",
       "\t     *\n",
       "\t     * **Note:** This method doesn't set the \"length\" property of curried functions.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.0.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to curry.\n",
       "\t     * @param {number} [arity=func.length] The arity of `func`.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {Function} Returns the new curried function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var abc = function(a, b, c) {\n",
       "\t     *   return [a, b, c];\n",
       "\t     * };\n",
       "\t     *\n",
       "\t     * var curried = _.curry(abc);\n",
       "\t     *\n",
       "\t     * curried(1)(2)(3);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     *\n",
       "\t     * curried(1, 2)(3);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     *\n",
       "\t     * curried(1, 2, 3);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     *\n",
       "\t     * // Curried with placeholders.\n",
       "\t     * curried(1)(_, 3)(2);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     */\n",
       "\t    function curry(func, arity, guard) {\n",
       "\t      arity = guard ? undefined : arity;\n",
       "\t      var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n",
       "\t      result.placeholder = curry.placeholder;\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.curry` except that arguments are applied to `func`\n",
       "\t     * in the manner of `_.partialRight` instead of `_.partial`.\n",
       "\t     *\n",
       "\t     * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n",
       "\t     * builds, may be used as a placeholder for provided arguments.\n",
       "\t     *\n",
       "\t     * **Note:** This method doesn't set the \"length\" property of curried functions.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to curry.\n",
       "\t     * @param {number} [arity=func.length] The arity of `func`.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {Function} Returns the new curried function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var abc = function(a, b, c) {\n",
       "\t     *   return [a, b, c];\n",
       "\t     * };\n",
       "\t     *\n",
       "\t     * var curried = _.curryRight(abc);\n",
       "\t     *\n",
       "\t     * curried(3)(2)(1);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     *\n",
       "\t     * curried(2, 3)(1);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     *\n",
       "\t     * curried(1, 2, 3);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     *\n",
       "\t     * // Curried with placeholders.\n",
       "\t     * curried(3)(1, _)(2);\n",
       "\t     * // => [1, 2, 3]\n",
       "\t     */\n",
       "\t    function curryRight(func, arity, guard) {\n",
       "\t      arity = guard ? undefined : arity;\n",
       "\t      var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n",
       "\t      result.placeholder = curryRight.placeholder;\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a debounced function that delays invoking `func` until after `wait`\n",
       "\t     * milliseconds have elapsed since the last time the debounced function was\n",
       "\t     * invoked. The debounced function comes with a `cancel` method to cancel\n",
       "\t     * delayed `func` invocations and a `flush` method to immediately invoke them.\n",
       "\t     * Provide `options` to indicate whether `func` should be invoked on the\n",
       "\t     * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n",
       "\t     * with the last arguments provided to the debounced function. Subsequent\n",
       "\t     * calls to the debounced function return the result of the last `func`\n",
       "\t     * invocation.\n",
       "\t     *\n",
       "\t     * **Note:** If `leading` and `trailing` options are `true`, `func` is\n",
       "\t     * invoked on the trailing edge of the timeout only if the debounced function\n",
       "\t     * is invoked more than once during the `wait` timeout.\n",
       "\t     *\n",
       "\t     * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n",
       "\t     * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n",
       "\t     *\n",
       "\t     * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n",
       "\t     * for details over the differences between `_.debounce` and `_.throttle`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to debounce.\n",
       "\t     * @param {number} [wait=0] The number of milliseconds to delay.\n",
       "\t     * @param {Object} [options={}] The options object.\n",
       "\t     * @param {boolean} [options.leading=false]\n",
       "\t     *  Specify invoking on the leading edge of the timeout.\n",
       "\t     * @param {number} [options.maxWait]\n",
       "\t     *  The maximum time `func` is allowed to be delayed before it's invoked.\n",
       "\t     * @param {boolean} [options.trailing=true]\n",
       "\t     *  Specify invoking on the trailing edge of the timeout.\n",
       "\t     * @returns {Function} Returns the new debounced function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * // Avoid costly calculations while the window size is in flux.\n",
       "\t     * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n",
       "\t     *\n",
       "\t     * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n",
       "\t     * jQuery(element).on('click', _.debounce(sendMail, 300, {\n",
       "\t     *   'leading': true,\n",
       "\t     *   'trailing': false\n",
       "\t     * }));\n",
       "\t     *\n",
       "\t     * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n",
       "\t     * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n",
       "\t     * var source = new EventSource('/stream');\n",
       "\t     * jQuery(source).on('message', debounced);\n",
       "\t     *\n",
       "\t     * // Cancel the trailing debounced invocation.\n",
       "\t     * jQuery(window).on('popstate', debounced.cancel);\n",
       "\t     */\n",
       "\t    function debounce(func, wait, options) {\n",
       "\t      var lastArgs,\n",
       "\t          lastThis,\n",
       "\t          maxWait,\n",
       "\t          result,\n",
       "\t          timerId,\n",
       "\t          lastCallTime,\n",
       "\t          lastInvokeTime = 0,\n",
       "\t          leading = false,\n",
       "\t          maxing = false,\n",
       "\t          trailing = true;\n",
       "\t\n",
       "\t      if (typeof func != 'function') {\n",
       "\t        throw new TypeError(FUNC_ERROR_TEXT);\n",
       "\t      }\n",
       "\t      wait = toNumber(wait) || 0;\n",
       "\t      if (isObject(options)) {\n",
       "\t        leading = !!options.leading;\n",
       "\t        maxing = 'maxWait' in options;\n",
       "\t        maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n",
       "\t        trailing = 'trailing' in options ? !!options.trailing : trailing;\n",
       "\t      }\n",
       "\t\n",
       "\t      function invokeFunc(time) {\n",
       "\t        var args = lastArgs,\n",
       "\t            thisArg = lastThis;\n",
       "\t\n",
       "\t        lastArgs = lastThis = undefined;\n",
       "\t        lastInvokeTime = time;\n",
       "\t        result = func.apply(thisArg, args);\n",
       "\t        return result;\n",
       "\t      }\n",
       "\t\n",
       "\t      function leadingEdge(time) {\n",
       "\t        // Reset any `maxWait` timer.\n",
       "\t        lastInvokeTime = time;\n",
       "\t        // Start the timer for the trailing edge.\n",
       "\t        timerId = setTimeout(timerExpired, wait);\n",
       "\t        // Invoke the leading edge.\n",
       "\t        return leading ? invokeFunc(time) : result;\n",
       "\t      }\n",
       "\t\n",
       "\t      function remainingWait(time) {\n",
       "\t        var timeSinceLastCall = time - lastCallTime,\n",
       "\t            timeSinceLastInvoke = time - lastInvokeTime,\n",
       "\t            timeWaiting = wait - timeSinceLastCall;\n",
       "\t\n",
       "\t        return maxing\n",
       "\t          ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n",
       "\t          : timeWaiting;\n",
       "\t      }\n",
       "\t\n",
       "\t      function shouldInvoke(time) {\n",
       "\t        var timeSinceLastCall = time - lastCallTime,\n",
       "\t            timeSinceLastInvoke = time - lastInvokeTime;\n",
       "\t\n",
       "\t        // Either this is the first call, activity has stopped and we're at the\n",
       "\t        // trailing edge, the system time has gone backwards and we're treating\n",
       "\t        // it as the trailing edge, or we've hit the `maxWait` limit.\n",
       "\t        return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n",
       "\t          (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n",
       "\t      }\n",
       "\t\n",
       "\t      function timerExpired() {\n",
       "\t        var time = now();\n",
       "\t        if (shouldInvoke(time)) {\n",
       "\t          return trailingEdge(time);\n",
       "\t        }\n",
       "\t        // Restart the timer.\n",
       "\t        timerId = setTimeout(timerExpired, remainingWait(time));\n",
       "\t      }\n",
       "\t\n",
       "\t      function trailingEdge(time) {\n",
       "\t        timerId = undefined;\n",
       "\t\n",
       "\t        // Only invoke if we have `lastArgs` which means `func` has been\n",
       "\t        // debounced at least once.\n",
       "\t        if (trailing && lastArgs) {\n",
       "\t          return invokeFunc(time);\n",
       "\t        }\n",
       "\t        lastArgs = lastThis = undefined;\n",
       "\t        return result;\n",
       "\t      }\n",
       "\t\n",
       "\t      function cancel() {\n",
       "\t        if (timerId !== undefined) {\n",
       "\t          clearTimeout(timerId);\n",
       "\t        }\n",
       "\t        lastInvokeTime = 0;\n",
       "\t        lastArgs = lastCallTime = lastThis = timerId = undefined;\n",
       "\t      }\n",
       "\t\n",
       "\t      function flush() {\n",
       "\t        return timerId === undefined ? result : trailingEdge(now());\n",
       "\t      }\n",
       "\t\n",
       "\t      function debounced() {\n",
       "\t        var time = now(),\n",
       "\t            isInvoking = shouldInvoke(time);\n",
       "\t\n",
       "\t        lastArgs = arguments;\n",
       "\t        lastThis = this;\n",
       "\t        lastCallTime = time;\n",
       "\t\n",
       "\t        if (isInvoking) {\n",
       "\t          if (timerId === undefined) {\n",
       "\t            return leadingEdge(lastCallTime);\n",
       "\t          }\n",
       "\t          if (maxing) {\n",
       "\t            // Handle invocations in a tight loop.\n",
       "\t            timerId = setTimeout(timerExpired, wait);\n",
       "\t            return invokeFunc(lastCallTime);\n",
       "\t          }\n",
       "\t        }\n",
       "\t        if (timerId === undefined) {\n",
       "\t          timerId = setTimeout(timerExpired, wait);\n",
       "\t        }\n",
       "\t        return result;\n",
       "\t      }\n",
       "\t      debounced.cancel = cancel;\n",
       "\t      debounced.flush = flush;\n",
       "\t      return debounced;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Defers invoking the `func` until the current call stack has cleared. Any\n",
       "\t     * additional arguments are provided to `func` when it's invoked.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to defer.\n",
       "\t     * @param {...*} [args] The arguments to invoke `func` with.\n",
       "\t     * @returns {number} Returns the timer id.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.defer(function(text) {\n",
       "\t     *   console.log(text);\n",
       "\t     * }, 'deferred');\n",
       "\t     * // => Logs 'deferred' after one millisecond.\n",
       "\t     */\n",
       "\t    var defer = baseRest(function(func, args) {\n",
       "\t      return baseDelay(func, 1, args);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Invokes `func` after `wait` milliseconds. Any additional arguments are\n",
       "\t     * provided to `func` when it's invoked.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to delay.\n",
       "\t     * @param {number} wait The number of milliseconds to delay invocation.\n",
       "\t     * @param {...*} [args] The arguments to invoke `func` with.\n",
       "\t     * @returns {number} Returns the timer id.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.delay(function(text) {\n",
       "\t     *   console.log(text);\n",
       "\t     * }, 1000, 'later');\n",
       "\t     * // => Logs 'later' after one second.\n",
       "\t     */\n",
       "\t    var delay = baseRest(function(func, wait, args) {\n",
       "\t      return baseDelay(func, toNumber(wait) || 0, args);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes `func` with arguments reversed.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to flip arguments for.\n",
       "\t     * @returns {Function} Returns the new flipped function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var flipped = _.flip(function() {\n",
       "\t     *   return _.toArray(arguments);\n",
       "\t     * });\n",
       "\t     *\n",
       "\t     * flipped('a', 'b', 'c', 'd');\n",
       "\t     * // => ['d', 'c', 'b', 'a']\n",
       "\t     */\n",
       "\t    function flip(func) {\n",
       "\t      return createWrap(func, WRAP_FLIP_FLAG);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that memoizes the result of `func`. If `resolver` is\n",
       "\t     * provided, it determines the cache key for storing the result based on the\n",
       "\t     * arguments provided to the memoized function. By default, the first argument\n",
       "\t     * provided to the memoized function is used as the map cache key. The `func`\n",
       "\t     * is invoked with the `this` binding of the memoized function.\n",
       "\t     *\n",
       "\t     * **Note:** The cache is exposed as the `cache` property on the memoized\n",
       "\t     * function. Its creation may be customized by replacing the `_.memoize.Cache`\n",
       "\t     * constructor with one whose instances implement the\n",
       "\t     * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n",
       "\t     * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to have its output memoized.\n",
       "\t     * @param {Function} [resolver] The function to resolve the cache key.\n",
       "\t     * @returns {Function} Returns the new memoized function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': 1, 'b': 2 };\n",
       "\t     * var other = { 'c': 3, 'd': 4 };\n",
       "\t     *\n",
       "\t     * var values = _.memoize(_.values);\n",
       "\t     * values(object);\n",
       "\t     * // => [1, 2]\n",
       "\t     *\n",
       "\t     * values(other);\n",
       "\t     * // => [3, 4]\n",
       "\t     *\n",
       "\t     * object.a = 2;\n",
       "\t     * values(object);\n",
       "\t     * // => [1, 2]\n",
       "\t     *\n",
       "\t     * // Modify the result cache.\n",
       "\t     * values.cache.set(object, ['a', 'b']);\n",
       "\t     * values(object);\n",
       "\t     * // => ['a', 'b']\n",
       "\t     *\n",
       "\t     * // Replace `_.memoize.Cache`.\n",
       "\t     * _.memoize.Cache = WeakMap;\n",
       "\t     */\n",
       "\t    function memoize(func, resolver) {\n",
       "\t      if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n",
       "\t        throw new TypeError(FUNC_ERROR_TEXT);\n",
       "\t      }\n",
       "\t      var memoized = function() {\n",
       "\t        var args = arguments,\n",
       "\t            key = resolver ? resolver.apply(this, args) : args[0],\n",
       "\t            cache = memoized.cache;\n",
       "\t\n",
       "\t        if (cache.has(key)) {\n",
       "\t          return cache.get(key);\n",
       "\t        }\n",
       "\t        var result = func.apply(this, args);\n",
       "\t        memoized.cache = cache.set(key, result) || cache;\n",
       "\t        return result;\n",
       "\t      };\n",
       "\t      memoized.cache = new (memoize.Cache || MapCache);\n",
       "\t      return memoized;\n",
       "\t    }\n",
       "\t\n",
       "\t    // Expose `MapCache`.\n",
       "\t    memoize.Cache = MapCache;\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that negates the result of the predicate `func`. The\n",
       "\t     * `func` predicate is invoked with the `this` binding and arguments of the\n",
       "\t     * created function.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} predicate The predicate to negate.\n",
       "\t     * @returns {Function} Returns the new negated function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function isEven(n) {\n",
       "\t     *   return n % 2 == 0;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n",
       "\t     * // => [1, 3, 5]\n",
       "\t     */\n",
       "\t    function negate(predicate) {\n",
       "\t      if (typeof predicate != 'function') {\n",
       "\t        throw new TypeError(FUNC_ERROR_TEXT);\n",
       "\t      }\n",
       "\t      return function() {\n",
       "\t        var args = arguments;\n",
       "\t        switch (args.length) {\n",
       "\t          case 0: return !predicate.call(this);\n",
       "\t          case 1: return !predicate.call(this, args[0]);\n",
       "\t          case 2: return !predicate.call(this, args[0], args[1]);\n",
       "\t          case 3: return !predicate.call(this, args[0], args[1], args[2]);\n",
       "\t        }\n",
       "\t        return !predicate.apply(this, args);\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that is restricted to invoking `func` once. Repeat calls\n",
       "\t     * to the function return the value of the first invocation. The `func` is\n",
       "\t     * invoked with the `this` binding and arguments of the created function.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to restrict.\n",
       "\t     * @returns {Function} Returns the new restricted function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var initialize = _.once(createApplication);\n",
       "\t     * initialize();\n",
       "\t     * initialize();\n",
       "\t     * // => `createApplication` is invoked once\n",
       "\t     */\n",
       "\t    function once(func) {\n",
       "\t      return before(2, func);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes `func` with its arguments transformed.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 4.0.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to wrap.\n",
       "\t     * @param {...(Function|Function[])} [transforms=[_.identity]]\n",
       "\t     *  The argument transforms.\n",
       "\t     * @returns {Function} Returns the new function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function doubled(n) {\n",
       "\t     *   return n * 2;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * function square(n) {\n",
       "\t     *   return n * n;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var func = _.overArgs(function(x, y) {\n",
       "\t     *   return [x, y];\n",
       "\t     * }, [square, doubled]);\n",
       "\t     *\n",
       "\t     * func(9, 3);\n",
       "\t     * // => [81, 6]\n",
       "\t     *\n",
       "\t     * func(10, 5);\n",
       "\t     * // => [100, 10]\n",
       "\t     */\n",
       "\t    var overArgs = castRest(function(func, transforms) {\n",
       "\t      transforms = (transforms.length == 1 && isArray(transforms[0]))\n",
       "\t        ? arrayMap(transforms[0], baseUnary(getIteratee()))\n",
       "\t        : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n",
       "\t\n",
       "\t      var funcsLength = transforms.length;\n",
       "\t      return baseRest(function(args) {\n",
       "\t        var index = -1,\n",
       "\t            length = nativeMin(args.length, funcsLength);\n",
       "\t\n",
       "\t        while (++index < length) {\n",
       "\t          args[index] = transforms[index].call(this, args[index]);\n",
       "\t        }\n",
       "\t        return apply(func, this, args);\n",
       "\t      });\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes `func` with `partials` prepended to the\n",
       "\t     * arguments it receives. This method is like `_.bind` except it does **not**\n",
       "\t     * alter the `this` binding.\n",
       "\t     *\n",
       "\t     * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n",
       "\t     * builds, may be used as a placeholder for partially applied arguments.\n",
       "\t     *\n",
       "\t     * **Note:** This method doesn't set the \"length\" property of partially\n",
       "\t     * applied functions.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.2.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to partially apply arguments to.\n",
       "\t     * @param {...*} [partials] The arguments to be partially applied.\n",
       "\t     * @returns {Function} Returns the new partially applied function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function greet(greeting, name) {\n",
       "\t     *   return greeting + ' ' + name;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var sayHelloTo = _.partial(greet, 'hello');\n",
       "\t     * sayHelloTo('fred');\n",
       "\t     * // => 'hello fred'\n",
       "\t     *\n",
       "\t     * // Partially applied with placeholders.\n",
       "\t     * var greetFred = _.partial(greet, _, 'fred');\n",
       "\t     * greetFred('hi');\n",
       "\t     * // => 'hi fred'\n",
       "\t     */\n",
       "\t    var partial = baseRest(function(func, partials) {\n",
       "\t      var holders = replaceHolders(partials, getHolder(partial));\n",
       "\t      return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.partial` except that partially applied arguments\n",
       "\t     * are appended to the arguments it receives.\n",
       "\t     *\n",
       "\t     * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n",
       "\t     * builds, may be used as a placeholder for partially applied arguments.\n",
       "\t     *\n",
       "\t     * **Note:** This method doesn't set the \"length\" property of partially\n",
       "\t     * applied functions.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 1.0.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to partially apply arguments to.\n",
       "\t     * @param {...*} [partials] The arguments to be partially applied.\n",
       "\t     * @returns {Function} Returns the new partially applied function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function greet(greeting, name) {\n",
       "\t     *   return greeting + ' ' + name;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var greetFred = _.partialRight(greet, 'fred');\n",
       "\t     * greetFred('hi');\n",
       "\t     * // => 'hi fred'\n",
       "\t     *\n",
       "\t     * // Partially applied with placeholders.\n",
       "\t     * var sayHelloTo = _.partialRight(greet, 'hello', _);\n",
       "\t     * sayHelloTo('fred');\n",
       "\t     * // => 'hello fred'\n",
       "\t     */\n",
       "\t    var partialRight = baseRest(function(func, partials) {\n",
       "\t      var holders = replaceHolders(partials, getHolder(partialRight));\n",
       "\t      return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes `func` with arguments arranged according\n",
       "\t     * to the specified `indexes` where the argument value at the first index is\n",
       "\t     * provided as the first argument, the argument value at the second index is\n",
       "\t     * provided as the second argument, and so on.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to rearrange arguments for.\n",
       "\t     * @param {...(number|number[])} indexes The arranged argument indexes.\n",
       "\t     * @returns {Function} Returns the new function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var rearged = _.rearg(function(a, b, c) {\n",
       "\t     *   return [a, b, c];\n",
       "\t     * }, [2, 0, 1]);\n",
       "\t     *\n",
       "\t     * rearged('b', 'c', 'a')\n",
       "\t     * // => ['a', 'b', 'c']\n",
       "\t     */\n",
       "\t    var rearg = flatRest(function(func, indexes) {\n",
       "\t      return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes `func` with the `this` binding of the\n",
       "\t     * created function and arguments from `start` and beyond provided as\n",
       "\t     * an array.\n",
       "\t     *\n",
       "\t     * **Note:** This method is based on the\n",
       "\t     * [rest parameter](https://mdn.io/rest_parameters).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to apply a rest parameter to.\n",
       "\t     * @param {number} [start=func.length-1] The start position of the rest parameter.\n",
       "\t     * @returns {Function} Returns the new function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var say = _.rest(function(what, names) {\n",
       "\t     *   return what + ' ' + _.initial(names).join(', ') +\n",
       "\t     *     (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n",
       "\t     * });\n",
       "\t     *\n",
       "\t     * say('hello', 'fred', 'barney', 'pebbles');\n",
       "\t     * // => 'hello fred, barney, & pebbles'\n",
       "\t     */\n",
       "\t    function rest(func, start) {\n",
       "\t      if (typeof func != 'function') {\n",
       "\t        throw new TypeError(FUNC_ERROR_TEXT);\n",
       "\t      }\n",
       "\t      start = start === undefined ? start : toInteger(start);\n",
       "\t      return baseRest(func, start);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes `func` with the `this` binding of the\n",
       "\t     * create function and an array of arguments much like\n",
       "\t     * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n",
       "\t     *\n",
       "\t     * **Note:** This method is based on the\n",
       "\t     * [spread operator](https://mdn.io/spread_operator).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.2.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to spread arguments over.\n",
       "\t     * @param {number} [start=0] The start position of the spread.\n",
       "\t     * @returns {Function} Returns the new function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var say = _.spread(function(who, what) {\n",
       "\t     *   return who + ' says ' + what;\n",
       "\t     * });\n",
       "\t     *\n",
       "\t     * say(['fred', 'hello']);\n",
       "\t     * // => 'fred says hello'\n",
       "\t     *\n",
       "\t     * var numbers = Promise.all([\n",
       "\t     *   Promise.resolve(40),\n",
       "\t     *   Promise.resolve(36)\n",
       "\t     * ]);\n",
       "\t     *\n",
       "\t     * numbers.then(_.spread(function(x, y) {\n",
       "\t     *   return x + y;\n",
       "\t     * }));\n",
       "\t     * // => a Promise of 76\n",
       "\t     */\n",
       "\t    function spread(func, start) {\n",
       "\t      if (typeof func != 'function') {\n",
       "\t        throw new TypeError(FUNC_ERROR_TEXT);\n",
       "\t      }\n",
       "\t      start = start == null ? 0 : nativeMax(toInteger(start), 0);\n",
       "\t      return baseRest(function(args) {\n",
       "\t        var array = args[start],\n",
       "\t            otherArgs = castSlice(args, 0, start);\n",
       "\t\n",
       "\t        if (array) {\n",
       "\t          arrayPush(otherArgs, array);\n",
       "\t        }\n",
       "\t        return apply(func, this, otherArgs);\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a throttled function that only invokes `func` at most once per\n",
       "\t     * every `wait` milliseconds. The throttled function comes with a `cancel`\n",
       "\t     * method to cancel delayed `func` invocations and a `flush` method to\n",
       "\t     * immediately invoke them. Provide `options` to indicate whether `func`\n",
       "\t     * should be invoked on the leading and/or trailing edge of the `wait`\n",
       "\t     * timeout. The `func` is invoked with the last arguments provided to the\n",
       "\t     * throttled function. Subsequent calls to the throttled function return the\n",
       "\t     * result of the last `func` invocation.\n",
       "\t     *\n",
       "\t     * **Note:** If `leading` and `trailing` options are `true`, `func` is\n",
       "\t     * invoked on the trailing edge of the timeout only if the throttled function\n",
       "\t     * is invoked more than once during the `wait` timeout.\n",
       "\t     *\n",
       "\t     * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n",
       "\t     * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n",
       "\t     *\n",
       "\t     * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n",
       "\t     * for details over the differences between `_.throttle` and `_.debounce`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to throttle.\n",
       "\t     * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n",
       "\t     * @param {Object} [options={}] The options object.\n",
       "\t     * @param {boolean} [options.leading=true]\n",
       "\t     *  Specify invoking on the leading edge of the timeout.\n",
       "\t     * @param {boolean} [options.trailing=true]\n",
       "\t     *  Specify invoking on the trailing edge of the timeout.\n",
       "\t     * @returns {Function} Returns the new throttled function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * // Avoid excessively updating the position while scrolling.\n",
       "\t     * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n",
       "\t     *\n",
       "\t     * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n",
       "\t     * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n",
       "\t     * jQuery(element).on('click', throttled);\n",
       "\t     *\n",
       "\t     * // Cancel the trailing throttled invocation.\n",
       "\t     * jQuery(window).on('popstate', throttled.cancel);\n",
       "\t     */\n",
       "\t    function throttle(func, wait, options) {\n",
       "\t      var leading = true,\n",
       "\t          trailing = true;\n",
       "\t\n",
       "\t      if (typeof func != 'function') {\n",
       "\t        throw new TypeError(FUNC_ERROR_TEXT);\n",
       "\t      }\n",
       "\t      if (isObject(options)) {\n",
       "\t        leading = 'leading' in options ? !!options.leading : leading;\n",
       "\t        trailing = 'trailing' in options ? !!options.trailing : trailing;\n",
       "\t      }\n",
       "\t      return debounce(func, wait, {\n",
       "\t        'leading': leading,\n",
       "\t        'maxWait': wait,\n",
       "\t        'trailing': trailing\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that accepts up to one argument, ignoring any\n",
       "\t     * additional arguments.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Function\n",
       "\t     * @param {Function} func The function to cap arguments for.\n",
       "\t     * @returns {Function} Returns the new capped function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.map(['6', '8', '10'], _.unary(parseInt));\n",
       "\t     * // => [6, 8, 10]\n",
       "\t     */\n",
       "\t    function unary(func) {\n",
       "\t      return ary(func, 1);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that provides `value` to `wrapper` as its first\n",
       "\t     * argument. Any additional arguments provided to the function are appended\n",
       "\t     * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n",
       "\t     * binding of the created function.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Function\n",
       "\t     * @param {*} value The value to wrap.\n",
       "\t     * @param {Function} [wrapper=identity] The wrapper function.\n",
       "\t     * @returns {Function} Returns the new function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var p = _.wrap(_.escape, function(func, text) {\n",
       "\t     *   return '<p>' + func(text) + '</p>';\n",
       "\t     * });\n",
       "\t     *\n",
       "\t     * p('fred, barney, & pebbles');\n",
       "\t     * // => '<p>fred, barney, &amp; pebbles</p>'\n",
       "\t     */\n",
       "\t    function wrap(value, wrapper) {\n",
       "\t      return partial(castFunction(wrapper), value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Casts `value` as an array if it's not one.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.4.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to inspect.\n",
       "\t     * @returns {Array} Returns the cast array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.castArray(1);\n",
       "\t     * // => [1]\n",
       "\t     *\n",
       "\t     * _.castArray({ 'a': 1 });\n",
       "\t     * // => [{ 'a': 1 }]\n",
       "\t     *\n",
       "\t     * _.castArray('abc');\n",
       "\t     * // => ['abc']\n",
       "\t     *\n",
       "\t     * _.castArray(null);\n",
       "\t     * // => [null]\n",
       "\t     *\n",
       "\t     * _.castArray(undefined);\n",
       "\t     * // => [undefined]\n",
       "\t     *\n",
       "\t     * _.castArray();\n",
       "\t     * // => []\n",
       "\t     *\n",
       "\t     * var array = [1, 2, 3];\n",
       "\t     * console.log(_.castArray(array) === array);\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function castArray() {\n",
       "\t      if (!arguments.length) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      var value = arguments[0];\n",
       "\t      return isArray(value) ? value : [value];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a shallow clone of `value`.\n",
       "\t     *\n",
       "\t     * **Note:** This method is loosely based on the\n",
       "\t     * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n",
       "\t     * and supports cloning arrays, array buffers, booleans, date objects, maps,\n",
       "\t     * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n",
       "\t     * arrays. The own enumerable properties of `arguments` objects are cloned\n",
       "\t     * as plain objects. An empty object is returned for uncloneable values such\n",
       "\t     * as error objects, functions, DOM nodes, and WeakMaps.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to clone.\n",
       "\t     * @returns {*} Returns the cloned value.\n",
       "\t     * @see _.cloneDeep\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [{ 'a': 1 }, { 'b': 2 }];\n",
       "\t     *\n",
       "\t     * var shallow = _.clone(objects);\n",
       "\t     * console.log(shallow[0] === objects[0]);\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function clone(value) {\n",
       "\t      return baseClone(value, CLONE_SYMBOLS_FLAG);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.clone` except that it accepts `customizer` which\n",
       "\t     * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n",
       "\t     * cloning is handled by the method instead. The `customizer` is invoked with\n",
       "\t     * up to four arguments; (value [, index|key, object, stack]).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to clone.\n",
       "\t     * @param {Function} [customizer] The function to customize cloning.\n",
       "\t     * @returns {*} Returns the cloned value.\n",
       "\t     * @see _.cloneDeepWith\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function customizer(value) {\n",
       "\t     *   if (_.isElement(value)) {\n",
       "\t     *     return value.cloneNode(false);\n",
       "\t     *   }\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var el = _.cloneWith(document.body, customizer);\n",
       "\t     *\n",
       "\t     * console.log(el === document.body);\n",
       "\t     * // => false\n",
       "\t     * console.log(el.nodeName);\n",
       "\t     * // => 'BODY'\n",
       "\t     * console.log(el.childNodes.length);\n",
       "\t     * // => 0\n",
       "\t     */\n",
       "\t    function cloneWith(value, customizer) {\n",
       "\t      customizer = typeof customizer == 'function' ? customizer : undefined;\n",
       "\t      return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.clone` except that it recursively clones `value`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 1.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to recursively clone.\n",
       "\t     * @returns {*} Returns the deep cloned value.\n",
       "\t     * @see _.clone\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [{ 'a': 1 }, { 'b': 2 }];\n",
       "\t     *\n",
       "\t     * var deep = _.cloneDeep(objects);\n",
       "\t     * console.log(deep[0] === objects[0]);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function cloneDeep(value) {\n",
       "\t      return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.cloneWith` except that it recursively clones `value`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to recursively clone.\n",
       "\t     * @param {Function} [customizer] The function to customize cloning.\n",
       "\t     * @returns {*} Returns the deep cloned value.\n",
       "\t     * @see _.cloneWith\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function customizer(value) {\n",
       "\t     *   if (_.isElement(value)) {\n",
       "\t     *     return value.cloneNode(true);\n",
       "\t     *   }\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var el = _.cloneDeepWith(document.body, customizer);\n",
       "\t     *\n",
       "\t     * console.log(el === document.body);\n",
       "\t     * // => false\n",
       "\t     * console.log(el.nodeName);\n",
       "\t     * // => 'BODY'\n",
       "\t     * console.log(el.childNodes.length);\n",
       "\t     * // => 20\n",
       "\t     */\n",
       "\t    function cloneDeepWith(value, customizer) {\n",
       "\t      customizer = typeof customizer == 'function' ? customizer : undefined;\n",
       "\t      return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `object` conforms to `source` by invoking the predicate\n",
       "\t     * properties of `source` with the corresponding property values of `object`.\n",
       "\t     *\n",
       "\t     * **Note:** This method is equivalent to `_.conforms` when `source` is\n",
       "\t     * partially applied.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.14.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {Object} object The object to inspect.\n",
       "\t     * @param {Object} source The object of property predicates to conform to.\n",
       "\t     * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': 1, 'b': 2 };\n",
       "\t     *\n",
       "\t     * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function conformsTo(object, source) {\n",
       "\t      return source == null || baseConformsTo(object, source, keys(source));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Performs a\n",
       "\t     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n",
       "\t     * comparison between two values to determine if they are equivalent.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to compare.\n",
       "\t     * @param {*} other The other value to compare.\n",
       "\t     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': 1 };\n",
       "\t     * var other = { 'a': 1 };\n",
       "\t     *\n",
       "\t     * _.eq(object, object);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.eq(object, other);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.eq('a', 'a');\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.eq('a', Object('a'));\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.eq(NaN, NaN);\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function eq(value, other) {\n",
       "\t      return value === other || (value !== value && other !== other);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is greater than `other`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.9.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to compare.\n",
       "\t     * @param {*} other The other value to compare.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is greater than `other`,\n",
       "\t     *  else `false`.\n",
       "\t     * @see _.lt\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.gt(3, 1);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.gt(3, 3);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.gt(1, 3);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var gt = createRelationalOperation(baseGt);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is greater than or equal to `other`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.9.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to compare.\n",
       "\t     * @param {*} other The other value to compare.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is greater than or equal to\n",
       "\t     *  `other`, else `false`.\n",
       "\t     * @see _.lte\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.gte(3, 1);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.gte(3, 3);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.gte(1, 3);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var gte = createRelationalOperation(function(value, other) {\n",
       "\t      return value >= other;\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is likely an `arguments` object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n",
       "\t     *  else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isArguments(function() { return arguments; }());\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isArguments([1, 2, 3]);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n",
       "\t      return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n",
       "\t        !propertyIsEnumerable.call(value, 'callee');\n",
       "\t    };\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as an `Array` object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isArray([1, 2, 3]);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isArray(document.body.children);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isArray('abc');\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isArray(_.noop);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var isArray = Array.isArray;\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as an `ArrayBuffer` object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.3.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isArrayBuffer(new ArrayBuffer(2));\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isArrayBuffer(new Array(2));\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is array-like. A value is considered array-like if it's\n",
       "\t     * not a function and has a `value.length` that's an integer greater than or\n",
       "\t     * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isArrayLike([1, 2, 3]);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isArrayLike(document.body.children);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isArrayLike('abc');\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isArrayLike(_.noop);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isArrayLike(value) {\n",
       "\t      return value != null && isLength(value.length) && !isFunction(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.isArrayLike` except that it also checks if `value`\n",
       "\t     * is an object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is an array-like object,\n",
       "\t     *  else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isArrayLikeObject([1, 2, 3]);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isArrayLikeObject(document.body.children);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isArrayLikeObject('abc');\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isArrayLikeObject(_.noop);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isArrayLikeObject(value) {\n",
       "\t      return isObjectLike(value) && isArrayLike(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as a boolean primitive or object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isBoolean(false);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isBoolean(null);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isBoolean(value) {\n",
       "\t      return value === true || value === false ||\n",
       "\t        (isObjectLike(value) && baseGetTag(value) == boolTag);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is a buffer.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.3.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isBuffer(new Buffer(2));\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isBuffer(new Uint8Array(2));\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var isBuffer = nativeIsBuffer || stubFalse;\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as a `Date` object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isDate(new Date);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isDate('Mon April 23 2012');\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is likely a DOM element.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isElement(document.body);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isElement('<body>');\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isElement(value) {\n",
       "\t      return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is an empty object, collection, map, or set.\n",
       "\t     *\n",
       "\t     * Objects are considered empty if they have no own enumerable string keyed\n",
       "\t     * properties.\n",
       "\t     *\n",
       "\t     * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n",
       "\t     * jQuery-like collections are considered empty if they have a `length` of `0`.\n",
       "\t     * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isEmpty(null);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isEmpty(true);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isEmpty(1);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isEmpty([1, 2, 3]);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isEmpty({ 'a': 1 });\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isEmpty(value) {\n",
       "\t      if (value == null) {\n",
       "\t        return true;\n",
       "\t      }\n",
       "\t      if (isArrayLike(value) &&\n",
       "\t          (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n",
       "\t            isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n",
       "\t        return !value.length;\n",
       "\t      }\n",
       "\t      var tag = getTag(value);\n",
       "\t      if (tag == mapTag || tag == setTag) {\n",
       "\t        return !value.size;\n",
       "\t      }\n",
       "\t      if (isPrototype(value)) {\n",
       "\t        return !baseKeys(value).length;\n",
       "\t      }\n",
       "\t      for (var key in value) {\n",
       "\t        if (hasOwnProperty.call(value, key)) {\n",
       "\t          return false;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return true;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Performs a deep comparison between two values to determine if they are\n",
       "\t     * equivalent.\n",
       "\t     *\n",
       "\t     * **Note:** This method supports comparing arrays, array buffers, booleans,\n",
       "\t     * date objects, error objects, maps, numbers, `Object` objects, regexes,\n",
       "\t     * sets, strings, symbols, and typed arrays. `Object` objects are compared\n",
       "\t     * by their own, not inherited, enumerable properties. Functions and DOM\n",
       "\t     * nodes are compared by strict equality, i.e. `===`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to compare.\n",
       "\t     * @param {*} other The other value to compare.\n",
       "\t     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': 1 };\n",
       "\t     * var other = { 'a': 1 };\n",
       "\t     *\n",
       "\t     * _.isEqual(object, other);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * object === other;\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isEqual(value, other) {\n",
       "\t      return baseIsEqual(value, other);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.isEqual` except that it accepts `customizer` which\n",
       "\t     * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n",
       "\t     * are handled by the method instead. The `customizer` is invoked with up to\n",
       "\t     * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to compare.\n",
       "\t     * @param {*} other The other value to compare.\n",
       "\t     * @param {Function} [customizer] The function to customize comparisons.\n",
       "\t     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function isGreeting(value) {\n",
       "\t     *   return /^h(?:i|ello)$/.test(value);\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * function customizer(objValue, othValue) {\n",
       "\t     *   if (isGreeting(objValue) && isGreeting(othValue)) {\n",
       "\t     *     return true;\n",
       "\t     *   }\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var array = ['hello', 'goodbye'];\n",
       "\t     * var other = ['hi', 'goodbye'];\n",
       "\t     *\n",
       "\t     * _.isEqualWith(array, other, customizer);\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function isEqualWith(value, other, customizer) {\n",
       "\t      customizer = typeof customizer == 'function' ? customizer : undefined;\n",
       "\t      var result = customizer ? customizer(value, other) : undefined;\n",
       "\t      return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n",
       "\t     * `SyntaxError`, `TypeError`, or `URIError` object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isError(new Error);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isError(Error);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isError(value) {\n",
       "\t      if (!isObjectLike(value)) {\n",
       "\t        return false;\n",
       "\t      }\n",
       "\t      var tag = baseGetTag(value);\n",
       "\t      return tag == errorTag || tag == domExcTag ||\n",
       "\t        (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is a finite primitive number.\n",
       "\t     *\n",
       "\t     * **Note:** This method is based on\n",
       "\t     * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isFinite(3);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isFinite(Number.MIN_VALUE);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isFinite(Infinity);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isFinite('3');\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isFinite(value) {\n",
       "\t      return typeof value == 'number' && nativeIsFinite(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as a `Function` object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isFunction(_);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isFunction(/abc/);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isFunction(value) {\n",
       "\t      if (!isObject(value)) {\n",
       "\t        return false;\n",
       "\t      }\n",
       "\t      // The use of `Object#toString` avoids issues with the `typeof` operator\n",
       "\t      // in Safari 9 which returns 'object' for typed arrays and other constructors.\n",
       "\t      var tag = baseGetTag(value);\n",
       "\t      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is an integer.\n",
       "\t     *\n",
       "\t     * **Note:** This method is based on\n",
       "\t     * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isInteger(3);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isInteger(Number.MIN_VALUE);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isInteger(Infinity);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isInteger('3');\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isInteger(value) {\n",
       "\t      return typeof value == 'number' && value == toInteger(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is a valid array-like length.\n",
       "\t     *\n",
       "\t     * **Note:** This method is loosely based on\n",
       "\t     * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isLength(3);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isLength(Number.MIN_VALUE);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isLength(Infinity);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isLength('3');\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isLength(value) {\n",
       "\t      return typeof value == 'number' &&\n",
       "\t        value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is the\n",
       "\t     * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n",
       "\t     * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isObject({});\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isObject([1, 2, 3]);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isObject(_.noop);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isObject(null);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isObject(value) {\n",
       "\t      var type = typeof value;\n",
       "\t      return value != null && (type == 'object' || type == 'function');\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is object-like. A value is object-like if it's not `null`\n",
       "\t     * and has a `typeof` result of \"object\".\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isObjectLike({});\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isObjectLike([1, 2, 3]);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isObjectLike(_.noop);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isObjectLike(null);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isObjectLike(value) {\n",
       "\t      return value != null && typeof value == 'object';\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as a `Map` object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.3.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isMap(new Map);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isMap(new WeakMap);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Performs a partial deep comparison between `object` and `source` to\n",
       "\t     * determine if `object` contains equivalent property values.\n",
       "\t     *\n",
       "\t     * **Note:** This method is equivalent to `_.matches` when `source` is\n",
       "\t     * partially applied.\n",
       "\t     *\n",
       "\t     * Partial comparisons will match empty array and empty object `source`\n",
       "\t     * values against any array or object value, respectively. See `_.isEqual`\n",
       "\t     * for a list of supported value comparisons.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {Object} object The object to inspect.\n",
       "\t     * @param {Object} source The object of property values to match.\n",
       "\t     * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': 1, 'b': 2 };\n",
       "\t     *\n",
       "\t     * _.isMatch(object, { 'b': 2 });\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isMatch(object, { 'b': 1 });\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isMatch(object, source) {\n",
       "\t      return object === source || baseIsMatch(object, source, getMatchData(source));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.isMatch` except that it accepts `customizer` which\n",
       "\t     * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n",
       "\t     * are handled by the method instead. The `customizer` is invoked with five\n",
       "\t     * arguments: (objValue, srcValue, index|key, object, source).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {Object} object The object to inspect.\n",
       "\t     * @param {Object} source The object of property values to match.\n",
       "\t     * @param {Function} [customizer] The function to customize comparisons.\n",
       "\t     * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function isGreeting(value) {\n",
       "\t     *   return /^h(?:i|ello)$/.test(value);\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * function customizer(objValue, srcValue) {\n",
       "\t     *   if (isGreeting(objValue) && isGreeting(srcValue)) {\n",
       "\t     *     return true;\n",
       "\t     *   }\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var object = { 'greeting': 'hello' };\n",
       "\t     * var source = { 'greeting': 'hi' };\n",
       "\t     *\n",
       "\t     * _.isMatchWith(object, source, customizer);\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function isMatchWith(object, source, customizer) {\n",
       "\t      customizer = typeof customizer == 'function' ? customizer : undefined;\n",
       "\t      return baseIsMatch(object, source, getMatchData(source), customizer);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is `NaN`.\n",
       "\t     *\n",
       "\t     * **Note:** This method is based on\n",
       "\t     * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n",
       "\t     * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n",
       "\t     * `undefined` and other non-number values.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isNaN(NaN);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isNaN(new Number(NaN));\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * isNaN(undefined);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isNaN(undefined);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isNaN(value) {\n",
       "\t      // An `NaN` primitive is the only value that is not equal to itself.\n",
       "\t      // Perform the `toStringTag` check first to avoid errors with some\n",
       "\t      // ActiveX objects in IE.\n",
       "\t      return isNumber(value) && value != +value;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is a pristine native function.\n",
       "\t     *\n",
       "\t     * **Note:** This method can't reliably detect native functions in the presence\n",
       "\t     * of the core-js package because core-js circumvents this kind of detection.\n",
       "\t     * Despite multiple requests, the core-js maintainer has made it clear: any\n",
       "\t     * attempt to fix the detection will be obstructed. As a result, we're left\n",
       "\t     * with little choice but to throw an error. Unfortunately, this also affects\n",
       "\t     * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n",
       "\t     * which rely on core-js.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a native function,\n",
       "\t     *  else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isNative(Array.prototype.push);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isNative(_);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isNative(value) {\n",
       "\t      if (isMaskable(value)) {\n",
       "\t        throw new Error(CORE_ERROR_TEXT);\n",
       "\t      }\n",
       "\t      return baseIsNative(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is `null`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isNull(null);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isNull(void 0);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isNull(value) {\n",
       "\t      return value === null;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is `null` or `undefined`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isNil(null);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isNil(void 0);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isNil(NaN);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isNil(value) {\n",
       "\t      return value == null;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as a `Number` primitive or object.\n",
       "\t     *\n",
       "\t     * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n",
       "\t     * classified as numbers, use the `_.isFinite` method.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isNumber(3);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isNumber(Number.MIN_VALUE);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isNumber(Infinity);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isNumber('3');\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isNumber(value) {\n",
       "\t      return typeof value == 'number' ||\n",
       "\t        (isObjectLike(value) && baseGetTag(value) == numberTag);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is a plain object, that is, an object created by the\n",
       "\t     * `Object` constructor or one with a `[[Prototype]]` of `null`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.8.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = 1;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * _.isPlainObject(new Foo);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isPlainObject([1, 2, 3]);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isPlainObject({ 'x': 0, 'y': 0 });\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isPlainObject(Object.create(null));\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function isPlainObject(value) {\n",
       "\t      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n",
       "\t        return false;\n",
       "\t      }\n",
       "\t      var proto = getPrototype(value);\n",
       "\t      if (proto === null) {\n",
       "\t        return true;\n",
       "\t      }\n",
       "\t      var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n",
       "\t      return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n",
       "\t        funcToString.call(Ctor) == objectCtorString;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as a `RegExp` object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.1.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isRegExp(/abc/);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isRegExp('/abc/');\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n",
       "\t     * double precision number which isn't the result of a rounded unsafe integer.\n",
       "\t     *\n",
       "\t     * **Note:** This method is based on\n",
       "\t     * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isSafeInteger(3);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isSafeInteger(Number.MIN_VALUE);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isSafeInteger(Infinity);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.isSafeInteger('3');\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isSafeInteger(value) {\n",
       "\t      return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as a `Set` object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.3.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isSet(new Set);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isSet(new WeakSet);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as a `String` primitive or object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isString('abc');\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isString(1);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isString(value) {\n",
       "\t      return typeof value == 'string' ||\n",
       "\t        (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as a `Symbol` primitive or object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isSymbol(Symbol.iterator);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isSymbol('abc');\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isSymbol(value) {\n",
       "\t      return typeof value == 'symbol' ||\n",
       "\t        (isObjectLike(value) && baseGetTag(value) == symbolTag);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as a typed array.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isTypedArray(new Uint8Array);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isTypedArray([]);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is `undefined`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isUndefined(void 0);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isUndefined(null);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isUndefined(value) {\n",
       "\t      return value === undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as a `WeakMap` object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.3.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isWeakMap(new WeakMap);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isWeakMap(new Map);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isWeakMap(value) {\n",
       "\t      return isObjectLike(value) && getTag(value) == weakMapTag;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is classified as a `WeakSet` object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.3.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.isWeakSet(new WeakSet);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.isWeakSet(new Set);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function isWeakSet(value) {\n",
       "\t      return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is less than `other`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.9.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to compare.\n",
       "\t     * @param {*} other The other value to compare.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is less than `other`,\n",
       "\t     *  else `false`.\n",
       "\t     * @see _.gt\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.lt(1, 3);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.lt(3, 3);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.lt(3, 1);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var lt = createRelationalOperation(baseLt);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `value` is less than or equal to `other`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.9.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to compare.\n",
       "\t     * @param {*} other The other value to compare.\n",
       "\t     * @returns {boolean} Returns `true` if `value` is less than or equal to\n",
       "\t     *  `other`, else `false`.\n",
       "\t     * @see _.gte\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.lte(1, 3);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.lte(3, 3);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.lte(3, 1);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var lte = createRelationalOperation(function(value, other) {\n",
       "\t      return value <= other;\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `value` to an array.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to convert.\n",
       "\t     * @returns {Array} Returns the converted array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.toArray({ 'a': 1, 'b': 2 });\n",
       "\t     * // => [1, 2]\n",
       "\t     *\n",
       "\t     * _.toArray('abc');\n",
       "\t     * // => ['a', 'b', 'c']\n",
       "\t     *\n",
       "\t     * _.toArray(1);\n",
       "\t     * // => []\n",
       "\t     *\n",
       "\t     * _.toArray(null);\n",
       "\t     * // => []\n",
       "\t     */\n",
       "\t    function toArray(value) {\n",
       "\t      if (!value) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      if (isArrayLike(value)) {\n",
       "\t        return isString(value) ? stringToArray(value) : copyArray(value);\n",
       "\t      }\n",
       "\t      if (symIterator && value[symIterator]) {\n",
       "\t        return iteratorToArray(value[symIterator]());\n",
       "\t      }\n",
       "\t      var tag = getTag(value),\n",
       "\t          func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n",
       "\t\n",
       "\t      return func(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `value` to a finite number.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.12.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to convert.\n",
       "\t     * @returns {number} Returns the converted number.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.toFinite(3.2);\n",
       "\t     * // => 3.2\n",
       "\t     *\n",
       "\t     * _.toFinite(Number.MIN_VALUE);\n",
       "\t     * // => 5e-324\n",
       "\t     *\n",
       "\t     * _.toFinite(Infinity);\n",
       "\t     * // => 1.7976931348623157e+308\n",
       "\t     *\n",
       "\t     * _.toFinite('3.2');\n",
       "\t     * // => 3.2\n",
       "\t     */\n",
       "\t    function toFinite(value) {\n",
       "\t      if (!value) {\n",
       "\t        return value === 0 ? value : 0;\n",
       "\t      }\n",
       "\t      value = toNumber(value);\n",
       "\t      if (value === INFINITY || value === -INFINITY) {\n",
       "\t        var sign = (value < 0 ? -1 : 1);\n",
       "\t        return sign * MAX_INTEGER;\n",
       "\t      }\n",
       "\t      return value === value ? value : 0;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `value` to an integer.\n",
       "\t     *\n",
       "\t     * **Note:** This method is loosely based on\n",
       "\t     * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to convert.\n",
       "\t     * @returns {number} Returns the converted integer.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.toInteger(3.2);\n",
       "\t     * // => 3\n",
       "\t     *\n",
       "\t     * _.toInteger(Number.MIN_VALUE);\n",
       "\t     * // => 0\n",
       "\t     *\n",
       "\t     * _.toInteger(Infinity);\n",
       "\t     * // => 1.7976931348623157e+308\n",
       "\t     *\n",
       "\t     * _.toInteger('3.2');\n",
       "\t     * // => 3\n",
       "\t     */\n",
       "\t    function toInteger(value) {\n",
       "\t      var result = toFinite(value),\n",
       "\t          remainder = result % 1;\n",
       "\t\n",
       "\t      return result === result ? (remainder ? result - remainder : result) : 0;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `value` to an integer suitable for use as the length of an\n",
       "\t     * array-like object.\n",
       "\t     *\n",
       "\t     * **Note:** This method is based on\n",
       "\t     * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to convert.\n",
       "\t     * @returns {number} Returns the converted integer.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.toLength(3.2);\n",
       "\t     * // => 3\n",
       "\t     *\n",
       "\t     * _.toLength(Number.MIN_VALUE);\n",
       "\t     * // => 0\n",
       "\t     *\n",
       "\t     * _.toLength(Infinity);\n",
       "\t     * // => 4294967295\n",
       "\t     *\n",
       "\t     * _.toLength('3.2');\n",
       "\t     * // => 3\n",
       "\t     */\n",
       "\t    function toLength(value) {\n",
       "\t      return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `value` to a number.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to process.\n",
       "\t     * @returns {number} Returns the number.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.toNumber(3.2);\n",
       "\t     * // => 3.2\n",
       "\t     *\n",
       "\t     * _.toNumber(Number.MIN_VALUE);\n",
       "\t     * // => 5e-324\n",
       "\t     *\n",
       "\t     * _.toNumber(Infinity);\n",
       "\t     * // => Infinity\n",
       "\t     *\n",
       "\t     * _.toNumber('3.2');\n",
       "\t     * // => 3.2\n",
       "\t     */\n",
       "\t    function toNumber(value) {\n",
       "\t      if (typeof value == 'number') {\n",
       "\t        return value;\n",
       "\t      }\n",
       "\t      if (isSymbol(value)) {\n",
       "\t        return NAN;\n",
       "\t      }\n",
       "\t      if (isObject(value)) {\n",
       "\t        var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n",
       "\t        value = isObject(other) ? (other + '') : other;\n",
       "\t      }\n",
       "\t      if (typeof value != 'string') {\n",
       "\t        return value === 0 ? value : +value;\n",
       "\t      }\n",
       "\t      value = value.replace(reTrim, '');\n",
       "\t      var isBinary = reIsBinary.test(value);\n",
       "\t      return (isBinary || reIsOctal.test(value))\n",
       "\t        ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n",
       "\t        : (reIsBadHex.test(value) ? NAN : +value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `value` to a plain object flattening inherited enumerable string\n",
       "\t     * keyed properties of `value` to own properties of the plain object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to convert.\n",
       "\t     * @returns {Object} Returns the converted plain object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.b = 2;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.c = 3;\n",
       "\t     *\n",
       "\t     * _.assign({ 'a': 1 }, new Foo);\n",
       "\t     * // => { 'a': 1, 'b': 2 }\n",
       "\t     *\n",
       "\t     * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n",
       "\t     * // => { 'a': 1, 'b': 2, 'c': 3 }\n",
       "\t     */\n",
       "\t    function toPlainObject(value) {\n",
       "\t      return copyObject(value, keysIn(value));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `value` to a safe integer. A safe integer can be compared and\n",
       "\t     * represented correctly.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to convert.\n",
       "\t     * @returns {number} Returns the converted integer.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.toSafeInteger(3.2);\n",
       "\t     * // => 3\n",
       "\t     *\n",
       "\t     * _.toSafeInteger(Number.MIN_VALUE);\n",
       "\t     * // => 0\n",
       "\t     *\n",
       "\t     * _.toSafeInteger(Infinity);\n",
       "\t     * // => 9007199254740991\n",
       "\t     *\n",
       "\t     * _.toSafeInteger('3.2');\n",
       "\t     * // => 3\n",
       "\t     */\n",
       "\t    function toSafeInteger(value) {\n",
       "\t      return value\n",
       "\t        ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n",
       "\t        : (value === 0 ? value : 0);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `value` to a string. An empty string is returned for `null`\n",
       "\t     * and `undefined` values. The sign of `-0` is preserved.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Lang\n",
       "\t     * @param {*} value The value to convert.\n",
       "\t     * @returns {string} Returns the converted string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.toString(null);\n",
       "\t     * // => ''\n",
       "\t     *\n",
       "\t     * _.toString(-0);\n",
       "\t     * // => '-0'\n",
       "\t     *\n",
       "\t     * _.toString([1, 2, 3]);\n",
       "\t     * // => '1,2,3'\n",
       "\t     */\n",
       "\t    function toString(value) {\n",
       "\t      return value == null ? '' : baseToString(value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Assigns own enumerable string keyed properties of source objects to the\n",
       "\t     * destination object. Source objects are applied from left to right.\n",
       "\t     * Subsequent sources overwrite property assignments of previous sources.\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `object` and is loosely based on\n",
       "\t     * [`Object.assign`](https://mdn.io/Object/assign).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.10.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The destination object.\n",
       "\t     * @param {...Object} [sources] The source objects.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @see _.assignIn\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = 1;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * function Bar() {\n",
       "\t     *   this.c = 3;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.b = 2;\n",
       "\t     * Bar.prototype.d = 4;\n",
       "\t     *\n",
       "\t     * _.assign({ 'a': 0 }, new Foo, new Bar);\n",
       "\t     * // => { 'a': 1, 'c': 3 }\n",
       "\t     */\n",
       "\t    var assign = createAssigner(function(object, source) {\n",
       "\t      if (isPrototype(source) || isArrayLike(source)) {\n",
       "\t        copyObject(source, keys(source), object);\n",
       "\t        return;\n",
       "\t      }\n",
       "\t      for (var key in source) {\n",
       "\t        if (hasOwnProperty.call(source, key)) {\n",
       "\t          assignValue(object, key, source[key]);\n",
       "\t        }\n",
       "\t      }\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.assign` except that it iterates over own and\n",
       "\t     * inherited source properties.\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @alias extend\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The destination object.\n",
       "\t     * @param {...Object} [sources] The source objects.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @see _.assign\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = 1;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * function Bar() {\n",
       "\t     *   this.c = 3;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.b = 2;\n",
       "\t     * Bar.prototype.d = 4;\n",
       "\t     *\n",
       "\t     * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n",
       "\t     * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n",
       "\t     */\n",
       "\t    var assignIn = createAssigner(function(object, source) {\n",
       "\t      copyObject(source, keysIn(source), object);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.assignIn` except that it accepts `customizer`\n",
       "\t     * which is invoked to produce the assigned values. If `customizer` returns\n",
       "\t     * `undefined`, assignment is handled by the method instead. The `customizer`\n",
       "\t     * is invoked with five arguments: (objValue, srcValue, key, object, source).\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @alias extendWith\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The destination object.\n",
       "\t     * @param {...Object} sources The source objects.\n",
       "\t     * @param {Function} [customizer] The function to customize assigned values.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @see _.assignWith\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function customizer(objValue, srcValue) {\n",
       "\t     *   return _.isUndefined(objValue) ? srcValue : objValue;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var defaults = _.partialRight(_.assignInWith, customizer);\n",
       "\t     *\n",
       "\t     * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n",
       "\t     * // => { 'a': 1, 'b': 2 }\n",
       "\t     */\n",
       "\t    var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n",
       "\t      copyObject(source, keysIn(source), object, customizer);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.assign` except that it accepts `customizer`\n",
       "\t     * which is invoked to produce the assigned values. If `customizer` returns\n",
       "\t     * `undefined`, assignment is handled by the method instead. The `customizer`\n",
       "\t     * is invoked with five arguments: (objValue, srcValue, key, object, source).\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The destination object.\n",
       "\t     * @param {...Object} sources The source objects.\n",
       "\t     * @param {Function} [customizer] The function to customize assigned values.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @see _.assignInWith\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function customizer(objValue, srcValue) {\n",
       "\t     *   return _.isUndefined(objValue) ? srcValue : objValue;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var defaults = _.partialRight(_.assignWith, customizer);\n",
       "\t     *\n",
       "\t     * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n",
       "\t     * // => { 'a': 1, 'b': 2 }\n",
       "\t     */\n",
       "\t    var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n",
       "\t      copyObject(source, keys(source), object, customizer);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of values corresponding to `paths` of `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 1.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {...(string|string[])} [paths] The property paths to pick.\n",
       "\t     * @returns {Array} Returns the picked values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n",
       "\t     *\n",
       "\t     * _.at(object, ['a[0].b.c', 'a[1]']);\n",
       "\t     * // => [3, 4]\n",
       "\t     */\n",
       "\t    var at = flatRest(baseAt);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an object that inherits from the `prototype` object. If a\n",
       "\t     * `properties` object is given, its own enumerable string keyed properties\n",
       "\t     * are assigned to the created object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.3.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} prototype The object to inherit from.\n",
       "\t     * @param {Object} [properties] The properties to assign to the object.\n",
       "\t     * @returns {Object} Returns the new object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Shape() {\n",
       "\t     *   this.x = 0;\n",
       "\t     *   this.y = 0;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * function Circle() {\n",
       "\t     *   Shape.call(this);\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Circle.prototype = _.create(Shape.prototype, {\n",
       "\t     *   'constructor': Circle\n",
       "\t     * });\n",
       "\t     *\n",
       "\t     * var circle = new Circle;\n",
       "\t     * circle instanceof Circle;\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * circle instanceof Shape;\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function create(prototype, properties) {\n",
       "\t      var result = baseCreate(prototype);\n",
       "\t      return properties == null ? result : baseAssign(result, properties);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Assigns own and inherited enumerable string keyed properties of source\n",
       "\t     * objects to the destination object for all destination properties that\n",
       "\t     * resolve to `undefined`. Source objects are applied from left to right.\n",
       "\t     * Once a property is set, additional values of the same property are ignored.\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The destination object.\n",
       "\t     * @param {...Object} [sources] The source objects.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @see _.defaultsDeep\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n",
       "\t     * // => { 'a': 1, 'b': 2 }\n",
       "\t     */\n",
       "\t    var defaults = baseRest(function(object, sources) {\n",
       "\t      object = Object(object);\n",
       "\t\n",
       "\t      var index = -1;\n",
       "\t      var length = sources.length;\n",
       "\t      var guard = length > 2 ? sources[2] : undefined;\n",
       "\t\n",
       "\t      if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n",
       "\t        length = 1;\n",
       "\t      }\n",
       "\t\n",
       "\t      while (++index < length) {\n",
       "\t        var source = sources[index];\n",
       "\t        var props = keysIn(source);\n",
       "\t        var propsIndex = -1;\n",
       "\t        var propsLength = props.length;\n",
       "\t\n",
       "\t        while (++propsIndex < propsLength) {\n",
       "\t          var key = props[propsIndex];\n",
       "\t          var value = object[key];\n",
       "\t\n",
       "\t          if (value === undefined ||\n",
       "\t              (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n",
       "\t            object[key] = source[key];\n",
       "\t          }\n",
       "\t        }\n",
       "\t      }\n",
       "\t\n",
       "\t      return object;\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.defaults` except that it recursively assigns\n",
       "\t     * default properties.\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.10.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The destination object.\n",
       "\t     * @param {...Object} [sources] The source objects.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @see _.defaults\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n",
       "\t     * // => { 'a': { 'b': 2, 'c': 3 } }\n",
       "\t     */\n",
       "\t    var defaultsDeep = baseRest(function(args) {\n",
       "\t      args.push(undefined, customDefaultsMerge);\n",
       "\t      return apply(mergeWith, undefined, args);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.find` except that it returns the key of the first\n",
       "\t     * element `predicate` returns truthy for instead of the element itself.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 1.1.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to inspect.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {string|undefined} Returns the key of the matched element,\n",
       "\t     *  else `undefined`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = {\n",
       "\t     *   'barney':  { 'age': 36, 'active': true },\n",
       "\t     *   'fred':    { 'age': 40, 'active': false },\n",
       "\t     *   'pebbles': { 'age': 1,  'active': true }\n",
       "\t     * };\n",
       "\t     *\n",
       "\t     * _.findKey(users, function(o) { return o.age < 40; });\n",
       "\t     * // => 'barney' (iteration order is not guaranteed)\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.findKey(users, { 'age': 1, 'active': true });\n",
       "\t     * // => 'pebbles'\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.findKey(users, ['active', false]);\n",
       "\t     * // => 'fred'\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.findKey(users, 'active');\n",
       "\t     * // => 'barney'\n",
       "\t     */\n",
       "\t    function findKey(object, predicate) {\n",
       "\t      return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.findKey` except that it iterates over elements of\n",
       "\t     * a collection in the opposite order.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to inspect.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {string|undefined} Returns the key of the matched element,\n",
       "\t     *  else `undefined`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = {\n",
       "\t     *   'barney':  { 'age': 36, 'active': true },\n",
       "\t     *   'fred':    { 'age': 40, 'active': false },\n",
       "\t     *   'pebbles': { 'age': 1,  'active': true }\n",
       "\t     * };\n",
       "\t     *\n",
       "\t     * _.findLastKey(users, function(o) { return o.age < 40; });\n",
       "\t     * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.findLastKey(users, { 'age': 36, 'active': true });\n",
       "\t     * // => 'barney'\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.findLastKey(users, ['active', false]);\n",
       "\t     * // => 'fred'\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.findLastKey(users, 'active');\n",
       "\t     * // => 'pebbles'\n",
       "\t     */\n",
       "\t    function findLastKey(object, predicate) {\n",
       "\t      return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Iterates over own and inherited enumerable string keyed properties of an\n",
       "\t     * object and invokes `iteratee` for each property. The iteratee is invoked\n",
       "\t     * with three arguments: (value, key, object). Iteratee functions may exit\n",
       "\t     * iteration early by explicitly returning `false`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.3.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @see _.forInRight\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = 1;\n",
       "\t     *   this.b = 2;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.c = 3;\n",
       "\t     *\n",
       "\t     * _.forIn(new Foo, function(value, key) {\n",
       "\t     *   console.log(key);\n",
       "\t     * });\n",
       "\t     * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n",
       "\t     */\n",
       "\t    function forIn(object, iteratee) {\n",
       "\t      return object == null\n",
       "\t        ? object\n",
       "\t        : baseFor(object, getIteratee(iteratee, 3), keysIn);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.forIn` except that it iterates over properties of\n",
       "\t     * `object` in the opposite order.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @see _.forIn\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = 1;\n",
       "\t     *   this.b = 2;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.c = 3;\n",
       "\t     *\n",
       "\t     * _.forInRight(new Foo, function(value, key) {\n",
       "\t     *   console.log(key);\n",
       "\t     * });\n",
       "\t     * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n",
       "\t     */\n",
       "\t    function forInRight(object, iteratee) {\n",
       "\t      return object == null\n",
       "\t        ? object\n",
       "\t        : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Iterates over own enumerable string keyed properties of an object and\n",
       "\t     * invokes `iteratee` for each property. The iteratee is invoked with three\n",
       "\t     * arguments: (value, key, object). Iteratee functions may exit iteration\n",
       "\t     * early by explicitly returning `false`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.3.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @see _.forOwnRight\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = 1;\n",
       "\t     *   this.b = 2;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.c = 3;\n",
       "\t     *\n",
       "\t     * _.forOwn(new Foo, function(value, key) {\n",
       "\t     *   console.log(key);\n",
       "\t     * });\n",
       "\t     * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n",
       "\t     */\n",
       "\t    function forOwn(object, iteratee) {\n",
       "\t      return object && baseForOwn(object, getIteratee(iteratee, 3));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.forOwn` except that it iterates over properties of\n",
       "\t     * `object` in the opposite order.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @see _.forOwn\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = 1;\n",
       "\t     *   this.b = 2;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.c = 3;\n",
       "\t     *\n",
       "\t     * _.forOwnRight(new Foo, function(value, key) {\n",
       "\t     *   console.log(key);\n",
       "\t     * });\n",
       "\t     * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n",
       "\t     */\n",
       "\t    function forOwnRight(object, iteratee) {\n",
       "\t      return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of function property names from own enumerable properties\n",
       "\t     * of `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to inspect.\n",
       "\t     * @returns {Array} Returns the function names.\n",
       "\t     * @see _.functionsIn\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = _.constant('a');\n",
       "\t     *   this.b = _.constant('b');\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.c = _.constant('c');\n",
       "\t     *\n",
       "\t     * _.functions(new Foo);\n",
       "\t     * // => ['a', 'b']\n",
       "\t     */\n",
       "\t    function functions(object) {\n",
       "\t      return object == null ? [] : baseFunctions(object, keys(object));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of function property names from own and inherited\n",
       "\t     * enumerable properties of `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to inspect.\n",
       "\t     * @returns {Array} Returns the function names.\n",
       "\t     * @see _.functions\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = _.constant('a');\n",
       "\t     *   this.b = _.constant('b');\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.c = _.constant('c');\n",
       "\t     *\n",
       "\t     * _.functionsIn(new Foo);\n",
       "\t     * // => ['a', 'b', 'c']\n",
       "\t     */\n",
       "\t    function functionsIn(object) {\n",
       "\t      return object == null ? [] : baseFunctions(object, keysIn(object));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Gets the value at `path` of `object`. If the resolved value is\n",
       "\t     * `undefined`, the `defaultValue` is returned in its place.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.7.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @param {Array|string} path The path of the property to get.\n",
       "\t     * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n",
       "\t     * @returns {*} Returns the resolved value.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n",
       "\t     *\n",
       "\t     * _.get(object, 'a[0].b.c');\n",
       "\t     * // => 3\n",
       "\t     *\n",
       "\t     * _.get(object, ['a', '0', 'b', 'c']);\n",
       "\t     * // => 3\n",
       "\t     *\n",
       "\t     * _.get(object, 'a.b.c', 'default');\n",
       "\t     * // => 'default'\n",
       "\t     */\n",
       "\t    function get(object, path, defaultValue) {\n",
       "\t      var result = object == null ? undefined : baseGet(object, path);\n",
       "\t      return result === undefined ? defaultValue : result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `path` is a direct property of `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @param {Array|string} path The path to check.\n",
       "\t     * @returns {boolean} Returns `true` if `path` exists, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': { 'b': 2 } };\n",
       "\t     * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n",
       "\t     *\n",
       "\t     * _.has(object, 'a');\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.has(object, 'a.b');\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.has(object, ['a', 'b']);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.has(other, 'a');\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function has(object, path) {\n",
       "\t      return object != null && hasPath(object, path, baseHas);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `path` is a direct or inherited property of `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @param {Array|string} path The path to check.\n",
       "\t     * @returns {boolean} Returns `true` if `path` exists, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n",
       "\t     *\n",
       "\t     * _.hasIn(object, 'a');\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.hasIn(object, 'a.b');\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.hasIn(object, ['a', 'b']);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.hasIn(object, 'b');\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function hasIn(object, path) {\n",
       "\t      return object != null && hasPath(object, path, baseHasIn);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an object composed of the inverted keys and values of `object`.\n",
       "\t     * If `object` contains duplicate values, subsequent values overwrite\n",
       "\t     * property assignments of previous values.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.7.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to invert.\n",
       "\t     * @returns {Object} Returns the new inverted object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': 1, 'b': 2, 'c': 1 };\n",
       "\t     *\n",
       "\t     * _.invert(object);\n",
       "\t     * // => { '1': 'c', '2': 'b' }\n",
       "\t     */\n",
       "\t    var invert = createInverter(function(result, value, key) {\n",
       "\t      if (value != null &&\n",
       "\t          typeof value.toString != 'function') {\n",
       "\t        value = nativeObjectToString.call(value);\n",
       "\t      }\n",
       "\t\n",
       "\t      result[value] = key;\n",
       "\t    }, constant(identity));\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.invert` except that the inverted object is generated\n",
       "\t     * from the results of running each element of `object` thru `iteratee`. The\n",
       "\t     * corresponding inverted value of each inverted key is an array of keys\n",
       "\t     * responsible for generating the inverted value. The iteratee is invoked\n",
       "\t     * with one argument: (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.1.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to invert.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n",
       "\t     * @returns {Object} Returns the new inverted object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': 1, 'b': 2, 'c': 1 };\n",
       "\t     *\n",
       "\t     * _.invertBy(object);\n",
       "\t     * // => { '1': ['a', 'c'], '2': ['b'] }\n",
       "\t     *\n",
       "\t     * _.invertBy(object, function(value) {\n",
       "\t     *   return 'group' + value;\n",
       "\t     * });\n",
       "\t     * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n",
       "\t     */\n",
       "\t    var invertBy = createInverter(function(result, value, key) {\n",
       "\t      if (value != null &&\n",
       "\t          typeof value.toString != 'function') {\n",
       "\t        value = nativeObjectToString.call(value);\n",
       "\t      }\n",
       "\t\n",
       "\t      if (hasOwnProperty.call(result, value)) {\n",
       "\t        result[value].push(key);\n",
       "\t      } else {\n",
       "\t        result[value] = [key];\n",
       "\t      }\n",
       "\t    }, getIteratee);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Invokes the method at `path` of `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @param {Array|string} path The path of the method to invoke.\n",
       "\t     * @param {...*} [args] The arguments to invoke the method with.\n",
       "\t     * @returns {*} Returns the result of the invoked method.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n",
       "\t     *\n",
       "\t     * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n",
       "\t     * // => [2, 3]\n",
       "\t     */\n",
       "\t    var invoke = baseRest(baseInvoke);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of the own enumerable property names of `object`.\n",
       "\t     *\n",
       "\t     * **Note:** Non-object values are coerced to objects. See the\n",
       "\t     * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n",
       "\t     * for more details.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the array of property names.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = 1;\n",
       "\t     *   this.b = 2;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.c = 3;\n",
       "\t     *\n",
       "\t     * _.keys(new Foo);\n",
       "\t     * // => ['a', 'b'] (iteration order is not guaranteed)\n",
       "\t     *\n",
       "\t     * _.keys('hi');\n",
       "\t     * // => ['0', '1']\n",
       "\t     */\n",
       "\t    function keys(object) {\n",
       "\t      return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of the own and inherited enumerable property names of `object`.\n",
       "\t     *\n",
       "\t     * **Note:** Non-object values are coerced to objects.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the array of property names.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = 1;\n",
       "\t     *   this.b = 2;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.c = 3;\n",
       "\t     *\n",
       "\t     * _.keysIn(new Foo);\n",
       "\t     * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n",
       "\t     */\n",
       "\t    function keysIn(object) {\n",
       "\t      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The opposite of `_.mapValues`; this method creates an object with the\n",
       "\t     * same values as `object` and keys generated by running each own enumerable\n",
       "\t     * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n",
       "\t     * with three arguments: (value, key, object).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.8.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Object} Returns the new mapped object.\n",
       "\t     * @see _.mapValues\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n",
       "\t     *   return key + value;\n",
       "\t     * });\n",
       "\t     * // => { 'a1': 1, 'b2': 2 }\n",
       "\t     */\n",
       "\t    function mapKeys(object, iteratee) {\n",
       "\t      var result = {};\n",
       "\t      iteratee = getIteratee(iteratee, 3);\n",
       "\t\n",
       "\t      baseForOwn(object, function(value, key, object) {\n",
       "\t        baseAssignValue(result, iteratee(value, key, object), value);\n",
       "\t      });\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an object with the same keys as `object` and values generated\n",
       "\t     * by running each own enumerable string keyed property of `object` thru\n",
       "\t     * `iteratee`. The iteratee is invoked with three arguments:\n",
       "\t     * (value, key, object).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.4.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Object} Returns the new mapped object.\n",
       "\t     * @see _.mapKeys\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = {\n",
       "\t     *   'fred':    { 'user': 'fred',    'age': 40 },\n",
       "\t     *   'pebbles': { 'user': 'pebbles', 'age': 1 }\n",
       "\t     * };\n",
       "\t     *\n",
       "\t     * _.mapValues(users, function(o) { return o.age; });\n",
       "\t     * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.mapValues(users, 'age');\n",
       "\t     * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n",
       "\t     */\n",
       "\t    function mapValues(object, iteratee) {\n",
       "\t      var result = {};\n",
       "\t      iteratee = getIteratee(iteratee, 3);\n",
       "\t\n",
       "\t      baseForOwn(object, function(value, key, object) {\n",
       "\t        baseAssignValue(result, key, iteratee(value, key, object));\n",
       "\t      });\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.assign` except that it recursively merges own and\n",
       "\t     * inherited enumerable string keyed properties of source objects into the\n",
       "\t     * destination object. Source properties that resolve to `undefined` are\n",
       "\t     * skipped if a destination value exists. Array and plain object properties\n",
       "\t     * are merged recursively. Other objects and value types are overridden by\n",
       "\t     * assignment. Source objects are applied from left to right. Subsequent\n",
       "\t     * sources overwrite property assignments of previous sources.\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.5.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The destination object.\n",
       "\t     * @param {...Object} [sources] The source objects.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = {\n",
       "\t     *   'a': [{ 'b': 2 }, { 'd': 4 }]\n",
       "\t     * };\n",
       "\t     *\n",
       "\t     * var other = {\n",
       "\t     *   'a': [{ 'c': 3 }, { 'e': 5 }]\n",
       "\t     * };\n",
       "\t     *\n",
       "\t     * _.merge(object, other);\n",
       "\t     * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n",
       "\t     */\n",
       "\t    var merge = createAssigner(function(object, source, srcIndex) {\n",
       "\t      baseMerge(object, source, srcIndex);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.merge` except that it accepts `customizer` which\n",
       "\t     * is invoked to produce the merged values of the destination and source\n",
       "\t     * properties. If `customizer` returns `undefined`, merging is handled by the\n",
       "\t     * method instead. The `customizer` is invoked with six arguments:\n",
       "\t     * (objValue, srcValue, key, object, source, stack).\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The destination object.\n",
       "\t     * @param {...Object} sources The source objects.\n",
       "\t     * @param {Function} customizer The function to customize assigned values.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function customizer(objValue, srcValue) {\n",
       "\t     *   if (_.isArray(objValue)) {\n",
       "\t     *     return objValue.concat(srcValue);\n",
       "\t     *   }\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var object = { 'a': [1], 'b': [2] };\n",
       "\t     * var other = { 'a': [3], 'b': [4] };\n",
       "\t     *\n",
       "\t     * _.mergeWith(object, other, customizer);\n",
       "\t     * // => { 'a': [1, 3], 'b': [2, 4] }\n",
       "\t     */\n",
       "\t    var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n",
       "\t      baseMerge(object, source, srcIndex, customizer);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The opposite of `_.pick`; this method creates an object composed of the\n",
       "\t     * own and inherited enumerable property paths of `object` that are not omitted.\n",
       "\t     *\n",
       "\t     * **Note:** This method is considerably slower than `_.pick`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The source object.\n",
       "\t     * @param {...(string|string[])} [paths] The property paths to omit.\n",
       "\t     * @returns {Object} Returns the new object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': 1, 'b': '2', 'c': 3 };\n",
       "\t     *\n",
       "\t     * _.omit(object, ['a', 'c']);\n",
       "\t     * // => { 'b': '2' }\n",
       "\t     */\n",
       "\t    var omit = flatRest(function(object, paths) {\n",
       "\t      var result = {};\n",
       "\t      if (object == null) {\n",
       "\t        return result;\n",
       "\t      }\n",
       "\t      var isDeep = false;\n",
       "\t      paths = arrayMap(paths, function(path) {\n",
       "\t        path = castPath(path, object);\n",
       "\t        isDeep || (isDeep = path.length > 1);\n",
       "\t        return path;\n",
       "\t      });\n",
       "\t      copyObject(object, getAllKeysIn(object), result);\n",
       "\t      if (isDeep) {\n",
       "\t        result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n",
       "\t      }\n",
       "\t      var length = paths.length;\n",
       "\t      while (length--) {\n",
       "\t        baseUnset(result, paths[length]);\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The opposite of `_.pickBy`; this method creates an object composed of\n",
       "\t     * the own and inherited enumerable string keyed properties of `object` that\n",
       "\t     * `predicate` doesn't return truthy for. The predicate is invoked with two\n",
       "\t     * arguments: (value, key).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The source object.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per property.\n",
       "\t     * @returns {Object} Returns the new object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': 1, 'b': '2', 'c': 3 };\n",
       "\t     *\n",
       "\t     * _.omitBy(object, _.isNumber);\n",
       "\t     * // => { 'b': '2' }\n",
       "\t     */\n",
       "\t    function omitBy(object, predicate) {\n",
       "\t      return pickBy(object, negate(getIteratee(predicate)));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an object composed of the picked `object` properties.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The source object.\n",
       "\t     * @param {...(string|string[])} [paths] The property paths to pick.\n",
       "\t     * @returns {Object} Returns the new object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': 1, 'b': '2', 'c': 3 };\n",
       "\t     *\n",
       "\t     * _.pick(object, ['a', 'c']);\n",
       "\t     * // => { 'a': 1, 'c': 3 }\n",
       "\t     */\n",
       "\t    var pick = flatRest(function(object, paths) {\n",
       "\t      return object == null ? {} : basePick(object, paths);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an object composed of the `object` properties `predicate` returns\n",
       "\t     * truthy for. The predicate is invoked with two arguments: (value, key).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The source object.\n",
       "\t     * @param {Function} [predicate=_.identity] The function invoked per property.\n",
       "\t     * @returns {Object} Returns the new object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': 1, 'b': '2', 'c': 3 };\n",
       "\t     *\n",
       "\t     * _.pickBy(object, _.isNumber);\n",
       "\t     * // => { 'a': 1, 'c': 3 }\n",
       "\t     */\n",
       "\t    function pickBy(object, predicate) {\n",
       "\t      if (object == null) {\n",
       "\t        return {};\n",
       "\t      }\n",
       "\t      var props = arrayMap(getAllKeysIn(object), function(prop) {\n",
       "\t        return [prop];\n",
       "\t      });\n",
       "\t      predicate = getIteratee(predicate);\n",
       "\t      return basePickBy(object, props, function(value, path) {\n",
       "\t        return predicate(value, path[0]);\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.get` except that if the resolved value is a\n",
       "\t     * function it's invoked with the `this` binding of its parent object and\n",
       "\t     * its result is returned.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @param {Array|string} path The path of the property to resolve.\n",
       "\t     * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n",
       "\t     * @returns {*} Returns the resolved value.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n",
       "\t     *\n",
       "\t     * _.result(object, 'a[0].b.c1');\n",
       "\t     * // => 3\n",
       "\t     *\n",
       "\t     * _.result(object, 'a[0].b.c2');\n",
       "\t     * // => 4\n",
       "\t     *\n",
       "\t     * _.result(object, 'a[0].b.c3', 'default');\n",
       "\t     * // => 'default'\n",
       "\t     *\n",
       "\t     * _.result(object, 'a[0].b.c3', _.constant('default'));\n",
       "\t     * // => 'default'\n",
       "\t     */\n",
       "\t    function result(object, path, defaultValue) {\n",
       "\t      path = castPath(path, object);\n",
       "\t\n",
       "\t      var index = -1,\n",
       "\t          length = path.length;\n",
       "\t\n",
       "\t      // Ensure the loop is entered when path is empty.\n",
       "\t      if (!length) {\n",
       "\t        length = 1;\n",
       "\t        object = undefined;\n",
       "\t      }\n",
       "\t      while (++index < length) {\n",
       "\t        var value = object == null ? undefined : object[toKey(path[index])];\n",
       "\t        if (value === undefined) {\n",
       "\t          index = length;\n",
       "\t          value = defaultValue;\n",
       "\t        }\n",
       "\t        object = isFunction(value) ? value.call(object) : value;\n",
       "\t      }\n",
       "\t      return object;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n",
       "\t     * it's created. Arrays are created for missing index properties while objects\n",
       "\t     * are created for all other missing properties. Use `_.setWith` to customize\n",
       "\t     * `path` creation.\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.7.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to modify.\n",
       "\t     * @param {Array|string} path The path of the property to set.\n",
       "\t     * @param {*} value The value to set.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n",
       "\t     *\n",
       "\t     * _.set(object, 'a[0].b.c', 4);\n",
       "\t     * console.log(object.a[0].b.c);\n",
       "\t     * // => 4\n",
       "\t     *\n",
       "\t     * _.set(object, ['x', '0', 'y', 'z'], 5);\n",
       "\t     * console.log(object.x[0].y.z);\n",
       "\t     * // => 5\n",
       "\t     */\n",
       "\t    function set(object, path, value) {\n",
       "\t      return object == null ? object : baseSet(object, path, value);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.set` except that it accepts `customizer` which is\n",
       "\t     * invoked to produce the objects of `path`.  If `customizer` returns `undefined`\n",
       "\t     * path creation is handled by the method instead. The `customizer` is invoked\n",
       "\t     * with three arguments: (nsValue, key, nsObject).\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to modify.\n",
       "\t     * @param {Array|string} path The path of the property to set.\n",
       "\t     * @param {*} value The value to set.\n",
       "\t     * @param {Function} [customizer] The function to customize assigned values.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = {};\n",
       "\t     *\n",
       "\t     * _.setWith(object, '[0][1]', 'a', Object);\n",
       "\t     * // => { '0': { '1': 'a' } }\n",
       "\t     */\n",
       "\t    function setWith(object, path, value, customizer) {\n",
       "\t      customizer = typeof customizer == 'function' ? customizer : undefined;\n",
       "\t      return object == null ? object : baseSet(object, path, value, customizer);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of own enumerable string keyed-value pairs for `object`\n",
       "\t     * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n",
       "\t     * entries are returned.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @alias entries\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the key-value pairs.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = 1;\n",
       "\t     *   this.b = 2;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.c = 3;\n",
       "\t     *\n",
       "\t     * _.toPairs(new Foo);\n",
       "\t     * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n",
       "\t     */\n",
       "\t    var toPairs = createToPairs(keys);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of own and inherited enumerable string keyed-value pairs\n",
       "\t     * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n",
       "\t     * or set, its entries are returned.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @alias entriesIn\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the key-value pairs.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = 1;\n",
       "\t     *   this.b = 2;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.c = 3;\n",
       "\t     *\n",
       "\t     * _.toPairsIn(new Foo);\n",
       "\t     * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n",
       "\t     */\n",
       "\t    var toPairsIn = createToPairs(keysIn);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * An alternative to `_.reduce`; this method transforms `object` to a new\n",
       "\t     * `accumulator` object which is the result of running each of its own\n",
       "\t     * enumerable string keyed properties thru `iteratee`, with each invocation\n",
       "\t     * potentially mutating the `accumulator` object. If `accumulator` is not\n",
       "\t     * provided, a new object with the same `[[Prototype]]` will be used. The\n",
       "\t     * iteratee is invoked with four arguments: (accumulator, value, key, object).\n",
       "\t     * Iteratee functions may exit iteration early by explicitly returning `false`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 1.3.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @param {*} [accumulator] The custom accumulator value.\n",
       "\t     * @returns {*} Returns the accumulated value.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.transform([2, 3, 4], function(result, n) {\n",
       "\t     *   result.push(n *= n);\n",
       "\t     *   return n % 2 == 0;\n",
       "\t     * }, []);\n",
       "\t     * // => [4, 9]\n",
       "\t     *\n",
       "\t     * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n",
       "\t     *   (result[value] || (result[value] = [])).push(key);\n",
       "\t     * }, {});\n",
       "\t     * // => { '1': ['a', 'c'], '2': ['b'] }\n",
       "\t     */\n",
       "\t    function transform(object, iteratee, accumulator) {\n",
       "\t      var isArr = isArray(object),\n",
       "\t          isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n",
       "\t\n",
       "\t      iteratee = getIteratee(iteratee, 4);\n",
       "\t      if (accumulator == null) {\n",
       "\t        var Ctor = object && object.constructor;\n",
       "\t        if (isArrLike) {\n",
       "\t          accumulator = isArr ? new Ctor : [];\n",
       "\t        }\n",
       "\t        else if (isObject(object)) {\n",
       "\t          accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n",
       "\t        }\n",
       "\t        else {\n",
       "\t          accumulator = {};\n",
       "\t        }\n",
       "\t      }\n",
       "\t      (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n",
       "\t        return iteratee(accumulator, value, index, object);\n",
       "\t      });\n",
       "\t      return accumulator;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes the property at `path` of `object`.\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to modify.\n",
       "\t     * @param {Array|string} path The path of the property to unset.\n",
       "\t     * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n",
       "\t     * _.unset(object, 'a[0].b.c');\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * console.log(object);\n",
       "\t     * // => { 'a': [{ 'b': {} }] };\n",
       "\t     *\n",
       "\t     * _.unset(object, ['a', '0', 'b', 'c']);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * console.log(object);\n",
       "\t     * // => { 'a': [{ 'b': {} }] };\n",
       "\t     */\n",
       "\t    function unset(object, path) {\n",
       "\t      return object == null ? true : baseUnset(object, path);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.set` except that accepts `updater` to produce the\n",
       "\t     * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n",
       "\t     * is invoked with one argument: (value).\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.6.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to modify.\n",
       "\t     * @param {Array|string} path The path of the property to set.\n",
       "\t     * @param {Function} updater The function to produce the updated value.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n",
       "\t     *\n",
       "\t     * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n",
       "\t     * console.log(object.a[0].b.c);\n",
       "\t     * // => 9\n",
       "\t     *\n",
       "\t     * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n",
       "\t     * console.log(object.x[0].y.z);\n",
       "\t     * // => 0\n",
       "\t     */\n",
       "\t    function update(object, path, updater) {\n",
       "\t      return object == null ? object : baseUpdate(object, path, castFunction(updater));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.update` except that it accepts `customizer` which is\n",
       "\t     * invoked to produce the objects of `path`.  If `customizer` returns `undefined`\n",
       "\t     * path creation is handled by the method instead. The `customizer` is invoked\n",
       "\t     * with three arguments: (nsValue, key, nsObject).\n",
       "\t     *\n",
       "\t     * **Note:** This method mutates `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.6.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to modify.\n",
       "\t     * @param {Array|string} path The path of the property to set.\n",
       "\t     * @param {Function} updater The function to produce the updated value.\n",
       "\t     * @param {Function} [customizer] The function to customize assigned values.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = {};\n",
       "\t     *\n",
       "\t     * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n",
       "\t     * // => { '0': { '1': 'a' } }\n",
       "\t     */\n",
       "\t    function updateWith(object, path, updater, customizer) {\n",
       "\t      customizer = typeof customizer == 'function' ? customizer : undefined;\n",
       "\t      return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of the own enumerable string keyed property values of `object`.\n",
       "\t     *\n",
       "\t     * **Note:** Non-object values are coerced to objects.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the array of property values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = 1;\n",
       "\t     *   this.b = 2;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.c = 3;\n",
       "\t     *\n",
       "\t     * _.values(new Foo);\n",
       "\t     * // => [1, 2] (iteration order is not guaranteed)\n",
       "\t     *\n",
       "\t     * _.values('hi');\n",
       "\t     * // => ['h', 'i']\n",
       "\t     */\n",
       "\t    function values(object) {\n",
       "\t      return object == null ? [] : baseValues(object, keys(object));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of the own and inherited enumerable string keyed property\n",
       "\t     * values of `object`.\n",
       "\t     *\n",
       "\t     * **Note:** Non-object values are coerced to objects.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Object\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Array} Returns the array of property values.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function Foo() {\n",
       "\t     *   this.a = 1;\n",
       "\t     *   this.b = 2;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * Foo.prototype.c = 3;\n",
       "\t     *\n",
       "\t     * _.valuesIn(new Foo);\n",
       "\t     * // => [1, 2, 3] (iteration order is not guaranteed)\n",
       "\t     */\n",
       "\t    function valuesIn(object) {\n",
       "\t      return object == null ? [] : baseValues(object, keysIn(object));\n",
       "\t    }\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Clamps `number` within the inclusive `lower` and `upper` bounds.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Number\n",
       "\t     * @param {number} number The number to clamp.\n",
       "\t     * @param {number} [lower] The lower bound.\n",
       "\t     * @param {number} upper The upper bound.\n",
       "\t     * @returns {number} Returns the clamped number.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.clamp(-10, -5, 5);\n",
       "\t     * // => -5\n",
       "\t     *\n",
       "\t     * _.clamp(10, -5, 5);\n",
       "\t     * // => 5\n",
       "\t     */\n",
       "\t    function clamp(number, lower, upper) {\n",
       "\t      if (upper === undefined) {\n",
       "\t        upper = lower;\n",
       "\t        lower = undefined;\n",
       "\t      }\n",
       "\t      if (upper !== undefined) {\n",
       "\t        upper = toNumber(upper);\n",
       "\t        upper = upper === upper ? upper : 0;\n",
       "\t      }\n",
       "\t      if (lower !== undefined) {\n",
       "\t        lower = toNumber(lower);\n",
       "\t        lower = lower === lower ? lower : 0;\n",
       "\t      }\n",
       "\t      return baseClamp(toNumber(number), lower, upper);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `n` is between `start` and up to, but not including, `end`. If\n",
       "\t     * `end` is not specified, it's set to `start` with `start` then set to `0`.\n",
       "\t     * If `start` is greater than `end` the params are swapped to support\n",
       "\t     * negative ranges.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.3.0\n",
       "\t     * @category Number\n",
       "\t     * @param {number} number The number to check.\n",
       "\t     * @param {number} [start=0] The start of the range.\n",
       "\t     * @param {number} end The end of the range.\n",
       "\t     * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n",
       "\t     * @see _.range, _.rangeRight\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.inRange(3, 2, 4);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.inRange(4, 8);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.inRange(4, 2);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.inRange(2, 2);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.inRange(1.2, 2);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.inRange(5.2, 4);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.inRange(-3, -2, -6);\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function inRange(number, start, end) {\n",
       "\t      start = toFinite(start);\n",
       "\t      if (end === undefined) {\n",
       "\t        end = start;\n",
       "\t        start = 0;\n",
       "\t      } else {\n",
       "\t        end = toFinite(end);\n",
       "\t      }\n",
       "\t      number = toNumber(number);\n",
       "\t      return baseInRange(number, start, end);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Produces a random number between the inclusive `lower` and `upper` bounds.\n",
       "\t     * If only one argument is provided a number between `0` and the given number\n",
       "\t     * is returned. If `floating` is `true`, or either `lower` or `upper` are\n",
       "\t     * floats, a floating-point number is returned instead of an integer.\n",
       "\t     *\n",
       "\t     * **Note:** JavaScript follows the IEEE-754 standard for resolving\n",
       "\t     * floating-point values which can produce unexpected results.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.7.0\n",
       "\t     * @category Number\n",
       "\t     * @param {number} [lower=0] The lower bound.\n",
       "\t     * @param {number} [upper=1] The upper bound.\n",
       "\t     * @param {boolean} [floating] Specify returning a floating-point number.\n",
       "\t     * @returns {number} Returns the random number.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.random(0, 5);\n",
       "\t     * // => an integer between 0 and 5\n",
       "\t     *\n",
       "\t     * _.random(5);\n",
       "\t     * // => also an integer between 0 and 5\n",
       "\t     *\n",
       "\t     * _.random(5, true);\n",
       "\t     * // => a floating-point number between 0 and 5\n",
       "\t     *\n",
       "\t     * _.random(1.2, 5.2);\n",
       "\t     * // => a floating-point number between 1.2 and 5.2\n",
       "\t     */\n",
       "\t    function random(lower, upper, floating) {\n",
       "\t      if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n",
       "\t        upper = floating = undefined;\n",
       "\t      }\n",
       "\t      if (floating === undefined) {\n",
       "\t        if (typeof upper == 'boolean') {\n",
       "\t          floating = upper;\n",
       "\t          upper = undefined;\n",
       "\t        }\n",
       "\t        else if (typeof lower == 'boolean') {\n",
       "\t          floating = lower;\n",
       "\t          lower = undefined;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      if (lower === undefined && upper === undefined) {\n",
       "\t        lower = 0;\n",
       "\t        upper = 1;\n",
       "\t      }\n",
       "\t      else {\n",
       "\t        lower = toFinite(lower);\n",
       "\t        if (upper === undefined) {\n",
       "\t          upper = lower;\n",
       "\t          lower = 0;\n",
       "\t        } else {\n",
       "\t          upper = toFinite(upper);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      if (lower > upper) {\n",
       "\t        var temp = lower;\n",
       "\t        lower = upper;\n",
       "\t        upper = temp;\n",
       "\t      }\n",
       "\t      if (floating || lower % 1 || upper % 1) {\n",
       "\t        var rand = nativeRandom();\n",
       "\t        return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n",
       "\t      }\n",
       "\t      return baseRandom(lower, upper);\n",
       "\t    }\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to convert.\n",
       "\t     * @returns {string} Returns the camel cased string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.camelCase('Foo Bar');\n",
       "\t     * // => 'fooBar'\n",
       "\t     *\n",
       "\t     * _.camelCase('--foo-bar--');\n",
       "\t     * // => 'fooBar'\n",
       "\t     *\n",
       "\t     * _.camelCase('__FOO_BAR__');\n",
       "\t     * // => 'fooBar'\n",
       "\t     */\n",
       "\t    var camelCase = createCompounder(function(result, word, index) {\n",
       "\t      word = word.toLowerCase();\n",
       "\t      return result + (index ? capitalize(word) : word);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts the first character of `string` to upper case and the remaining\n",
       "\t     * to lower case.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to capitalize.\n",
       "\t     * @returns {string} Returns the capitalized string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.capitalize('FRED');\n",
       "\t     * // => 'Fred'\n",
       "\t     */\n",
       "\t    function capitalize(string) {\n",
       "\t      return upperFirst(toString(string).toLowerCase());\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Deburrs `string` by converting\n",
       "\t     * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n",
       "\t     * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n",
       "\t     * letters to basic Latin letters and removing\n",
       "\t     * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to deburr.\n",
       "\t     * @returns {string} Returns the deburred string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.deburr('déjà vu');\n",
       "\t     * // => 'deja vu'\n",
       "\t     */\n",
       "\t    function deburr(string) {\n",
       "\t      string = toString(string);\n",
       "\t      return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `string` ends with the given target string.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to inspect.\n",
       "\t     * @param {string} [target] The string to search for.\n",
       "\t     * @param {number} [position=string.length] The position to search up to.\n",
       "\t     * @returns {boolean} Returns `true` if `string` ends with `target`,\n",
       "\t     *  else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.endsWith('abc', 'c');\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.endsWith('abc', 'b');\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.endsWith('abc', 'b', 2);\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function endsWith(string, target, position) {\n",
       "\t      string = toString(string);\n",
       "\t      target = baseToString(target);\n",
       "\t\n",
       "\t      var length = string.length;\n",
       "\t      position = position === undefined\n",
       "\t        ? length\n",
       "\t        : baseClamp(toInteger(position), 0, length);\n",
       "\t\n",
       "\t      var end = position;\n",
       "\t      position -= target.length;\n",
       "\t      return position >= 0 && string.slice(position, end) == target;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n",
       "\t     * corresponding HTML entities.\n",
       "\t     *\n",
       "\t     * **Note:** No other characters are escaped. To escape additional\n",
       "\t     * characters use a third-party library like [_he_](https://mths.be/he).\n",
       "\t     *\n",
       "\t     * Though the \">\" character is escaped for symmetry, characters like\n",
       "\t     * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n",
       "\t     * unless they're part of a tag or unquoted attribute value. See\n",
       "\t     * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n",
       "\t     * (under \"semi-related fun fact\") for more details.\n",
       "\t     *\n",
       "\t     * When working with HTML you should always\n",
       "\t     * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n",
       "\t     * XSS vectors.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to escape.\n",
       "\t     * @returns {string} Returns the escaped string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.escape('fred, barney, & pebbles');\n",
       "\t     * // => 'fred, barney, &amp; pebbles'\n",
       "\t     */\n",
       "\t    function escape(string) {\n",
       "\t      string = toString(string);\n",
       "\t      return (string && reHasUnescapedHtml.test(string))\n",
       "\t        ? string.replace(reUnescapedHtml, escapeHtmlChar)\n",
       "\t        : string;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n",
       "\t     * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to escape.\n",
       "\t     * @returns {string} Returns the escaped string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.escapeRegExp('[lodash](https://lodash.com/)');\n",
       "\t     * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n",
       "\t     */\n",
       "\t    function escapeRegExp(string) {\n",
       "\t      string = toString(string);\n",
       "\t      return (string && reHasRegExpChar.test(string))\n",
       "\t        ? string.replace(reRegExpChar, '\\\\$&')\n",
       "\t        : string;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `string` to\n",
       "\t     * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to convert.\n",
       "\t     * @returns {string} Returns the kebab cased string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.kebabCase('Foo Bar');\n",
       "\t     * // => 'foo-bar'\n",
       "\t     *\n",
       "\t     * _.kebabCase('fooBar');\n",
       "\t     * // => 'foo-bar'\n",
       "\t     *\n",
       "\t     * _.kebabCase('__FOO_BAR__');\n",
       "\t     * // => 'foo-bar'\n",
       "\t     */\n",
       "\t    var kebabCase = createCompounder(function(result, word, index) {\n",
       "\t      return result + (index ? '-' : '') + word.toLowerCase();\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `string`, as space separated words, to lower case.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to convert.\n",
       "\t     * @returns {string} Returns the lower cased string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.lowerCase('--Foo-Bar--');\n",
       "\t     * // => 'foo bar'\n",
       "\t     *\n",
       "\t     * _.lowerCase('fooBar');\n",
       "\t     * // => 'foo bar'\n",
       "\t     *\n",
       "\t     * _.lowerCase('__FOO_BAR__');\n",
       "\t     * // => 'foo bar'\n",
       "\t     */\n",
       "\t    var lowerCase = createCompounder(function(result, word, index) {\n",
       "\t      return result + (index ? ' ' : '') + word.toLowerCase();\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts the first character of `string` to lower case.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to convert.\n",
       "\t     * @returns {string} Returns the converted string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.lowerFirst('Fred');\n",
       "\t     * // => 'fred'\n",
       "\t     *\n",
       "\t     * _.lowerFirst('FRED');\n",
       "\t     * // => 'fRED'\n",
       "\t     */\n",
       "\t    var lowerFirst = createCaseFirst('toLowerCase');\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Pads `string` on the left and right sides if it's shorter than `length`.\n",
       "\t     * Padding characters are truncated if they can't be evenly divided by `length`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to pad.\n",
       "\t     * @param {number} [length=0] The padding length.\n",
       "\t     * @param {string} [chars=' '] The string used as padding.\n",
       "\t     * @returns {string} Returns the padded string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.pad('abc', 8);\n",
       "\t     * // => '  abc   '\n",
       "\t     *\n",
       "\t     * _.pad('abc', 8, '_-');\n",
       "\t     * // => '_-abc_-_'\n",
       "\t     *\n",
       "\t     * _.pad('abc', 3);\n",
       "\t     * // => 'abc'\n",
       "\t     */\n",
       "\t    function pad(string, length, chars) {\n",
       "\t      string = toString(string);\n",
       "\t      length = toInteger(length);\n",
       "\t\n",
       "\t      var strLength = length ? stringSize(string) : 0;\n",
       "\t      if (!length || strLength >= length) {\n",
       "\t        return string;\n",
       "\t      }\n",
       "\t      var mid = (length - strLength) / 2;\n",
       "\t      return (\n",
       "\t        createPadding(nativeFloor(mid), chars) +\n",
       "\t        string +\n",
       "\t        createPadding(nativeCeil(mid), chars)\n",
       "\t      );\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Pads `string` on the right side if it's shorter than `length`. Padding\n",
       "\t     * characters are truncated if they exceed `length`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to pad.\n",
       "\t     * @param {number} [length=0] The padding length.\n",
       "\t     * @param {string} [chars=' '] The string used as padding.\n",
       "\t     * @returns {string} Returns the padded string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.padEnd('abc', 6);\n",
       "\t     * // => 'abc   '\n",
       "\t     *\n",
       "\t     * _.padEnd('abc', 6, '_-');\n",
       "\t     * // => 'abc_-_'\n",
       "\t     *\n",
       "\t     * _.padEnd('abc', 3);\n",
       "\t     * // => 'abc'\n",
       "\t     */\n",
       "\t    function padEnd(string, length, chars) {\n",
       "\t      string = toString(string);\n",
       "\t      length = toInteger(length);\n",
       "\t\n",
       "\t      var strLength = length ? stringSize(string) : 0;\n",
       "\t      return (length && strLength < length)\n",
       "\t        ? (string + createPadding(length - strLength, chars))\n",
       "\t        : string;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Pads `string` on the left side if it's shorter than `length`. Padding\n",
       "\t     * characters are truncated if they exceed `length`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to pad.\n",
       "\t     * @param {number} [length=0] The padding length.\n",
       "\t     * @param {string} [chars=' '] The string used as padding.\n",
       "\t     * @returns {string} Returns the padded string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.padStart('abc', 6);\n",
       "\t     * // => '   abc'\n",
       "\t     *\n",
       "\t     * _.padStart('abc', 6, '_-');\n",
       "\t     * // => '_-_abc'\n",
       "\t     *\n",
       "\t     * _.padStart('abc', 3);\n",
       "\t     * // => 'abc'\n",
       "\t     */\n",
       "\t    function padStart(string, length, chars) {\n",
       "\t      string = toString(string);\n",
       "\t      length = toInteger(length);\n",
       "\t\n",
       "\t      var strLength = length ? stringSize(string) : 0;\n",
       "\t      return (length && strLength < length)\n",
       "\t        ? (createPadding(length - strLength, chars) + string)\n",
       "\t        : string;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `string` to an integer of the specified radix. If `radix` is\n",
       "\t     * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n",
       "\t     * hexadecimal, in which case a `radix` of `16` is used.\n",
       "\t     *\n",
       "\t     * **Note:** This method aligns with the\n",
       "\t     * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 1.1.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} string The string to convert.\n",
       "\t     * @param {number} [radix=10] The radix to interpret `value` by.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {number} Returns the converted integer.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.parseInt('08');\n",
       "\t     * // => 8\n",
       "\t     *\n",
       "\t     * _.map(['6', '08', '10'], _.parseInt);\n",
       "\t     * // => [6, 8, 10]\n",
       "\t     */\n",
       "\t    function parseInt(string, radix, guard) {\n",
       "\t      if (guard || radix == null) {\n",
       "\t        radix = 0;\n",
       "\t      } else if (radix) {\n",
       "\t        radix = +radix;\n",
       "\t      }\n",
       "\t      return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Repeats the given string `n` times.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to repeat.\n",
       "\t     * @param {number} [n=1] The number of times to repeat the string.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {string} Returns the repeated string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.repeat('*', 3);\n",
       "\t     * // => '***'\n",
       "\t     *\n",
       "\t     * _.repeat('abc', 2);\n",
       "\t     * // => 'abcabc'\n",
       "\t     *\n",
       "\t     * _.repeat('abc', 0);\n",
       "\t     * // => ''\n",
       "\t     */\n",
       "\t    function repeat(string, n, guard) {\n",
       "\t      if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n",
       "\t        n = 1;\n",
       "\t      } else {\n",
       "\t        n = toInteger(n);\n",
       "\t      }\n",
       "\t      return baseRepeat(toString(string), n);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Replaces matches for `pattern` in `string` with `replacement`.\n",
       "\t     *\n",
       "\t     * **Note:** This method is based on\n",
       "\t     * [`String#replace`](https://mdn.io/String/replace).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to modify.\n",
       "\t     * @param {RegExp|string} pattern The pattern to replace.\n",
       "\t     * @param {Function|string} replacement The match replacement.\n",
       "\t     * @returns {string} Returns the modified string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.replace('Hi Fred', 'Fred', 'Barney');\n",
       "\t     * // => 'Hi Barney'\n",
       "\t     */\n",
       "\t    function replace() {\n",
       "\t      var args = arguments,\n",
       "\t          string = toString(args[0]);\n",
       "\t\n",
       "\t      return args.length < 3 ? string : string.replace(args[1], args[2]);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `string` to\n",
       "\t     * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to convert.\n",
       "\t     * @returns {string} Returns the snake cased string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.snakeCase('Foo Bar');\n",
       "\t     * // => 'foo_bar'\n",
       "\t     *\n",
       "\t     * _.snakeCase('fooBar');\n",
       "\t     * // => 'foo_bar'\n",
       "\t     *\n",
       "\t     * _.snakeCase('--FOO-BAR--');\n",
       "\t     * // => 'foo_bar'\n",
       "\t     */\n",
       "\t    var snakeCase = createCompounder(function(result, word, index) {\n",
       "\t      return result + (index ? '_' : '') + word.toLowerCase();\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Splits `string` by `separator`.\n",
       "\t     *\n",
       "\t     * **Note:** This method is based on\n",
       "\t     * [`String#split`](https://mdn.io/String/split).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to split.\n",
       "\t     * @param {RegExp|string} separator The separator pattern to split by.\n",
       "\t     * @param {number} [limit] The length to truncate results to.\n",
       "\t     * @returns {Array} Returns the string segments.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.split('a-b-c', '-', 2);\n",
       "\t     * // => ['a', 'b']\n",
       "\t     */\n",
       "\t    function split(string, separator, limit) {\n",
       "\t      if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n",
       "\t        separator = limit = undefined;\n",
       "\t      }\n",
       "\t      limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n",
       "\t      if (!limit) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      string = toString(string);\n",
       "\t      if (string && (\n",
       "\t            typeof separator == 'string' ||\n",
       "\t            (separator != null && !isRegExp(separator))\n",
       "\t          )) {\n",
       "\t        separator = baseToString(separator);\n",
       "\t        if (!separator && hasUnicode(string)) {\n",
       "\t          return castSlice(stringToArray(string), 0, limit);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return string.split(separator, limit);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `string` to\n",
       "\t     * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.1.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to convert.\n",
       "\t     * @returns {string} Returns the start cased string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.startCase('--foo-bar--');\n",
       "\t     * // => 'Foo Bar'\n",
       "\t     *\n",
       "\t     * _.startCase('fooBar');\n",
       "\t     * // => 'Foo Bar'\n",
       "\t     *\n",
       "\t     * _.startCase('__FOO_BAR__');\n",
       "\t     * // => 'FOO BAR'\n",
       "\t     */\n",
       "\t    var startCase = createCompounder(function(result, word, index) {\n",
       "\t      return result + (index ? ' ' : '') + upperFirst(word);\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks if `string` starts with the given target string.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to inspect.\n",
       "\t     * @param {string} [target] The string to search for.\n",
       "\t     * @param {number} [position=0] The position to search from.\n",
       "\t     * @returns {boolean} Returns `true` if `string` starts with `target`,\n",
       "\t     *  else `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.startsWith('abc', 'a');\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * _.startsWith('abc', 'b');\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * _.startsWith('abc', 'b', 1);\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function startsWith(string, target, position) {\n",
       "\t      string = toString(string);\n",
       "\t      position = position == null\n",
       "\t        ? 0\n",
       "\t        : baseClamp(toInteger(position), 0, string.length);\n",
       "\t\n",
       "\t      target = baseToString(target);\n",
       "\t      return string.slice(position, position + target.length) == target;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a compiled template function that can interpolate data properties\n",
       "\t     * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n",
       "\t     * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n",
       "\t     * properties may be accessed as free variables in the template. If a setting\n",
       "\t     * object is given, it takes precedence over `_.templateSettings` values.\n",
       "\t     *\n",
       "\t     * **Note:** In the development build `_.template` utilizes\n",
       "\t     * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n",
       "\t     * for easier debugging.\n",
       "\t     *\n",
       "\t     * For more information on precompiling templates see\n",
       "\t     * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n",
       "\t     *\n",
       "\t     * For more information on Chrome extension sandboxes see\n",
       "\t     * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The template string.\n",
       "\t     * @param {Object} [options={}] The options object.\n",
       "\t     * @param {RegExp} [options.escape=_.templateSettings.escape]\n",
       "\t     *  The HTML \"escape\" delimiter.\n",
       "\t     * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n",
       "\t     *  The \"evaluate\" delimiter.\n",
       "\t     * @param {Object} [options.imports=_.templateSettings.imports]\n",
       "\t     *  An object to import into the template as free variables.\n",
       "\t     * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n",
       "\t     *  The \"interpolate\" delimiter.\n",
       "\t     * @param {string} [options.sourceURL='lodash.templateSources[n]']\n",
       "\t     *  The sourceURL of the compiled template.\n",
       "\t     * @param {string} [options.variable='obj']\n",
       "\t     *  The data object variable name.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {Function} Returns the compiled template function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * // Use the \"interpolate\" delimiter to create a compiled template.\n",
       "\t     * var compiled = _.template('hello <%= user %>!');\n",
       "\t     * compiled({ 'user': 'fred' });\n",
       "\t     * // => 'hello fred!'\n",
       "\t     *\n",
       "\t     * // Use the HTML \"escape\" delimiter to escape data property values.\n",
       "\t     * var compiled = _.template('<b><%- value %></b>');\n",
       "\t     * compiled({ 'value': '<script>' });\n",
       "\t     * // => '<b>&lt;script&gt;</b>'\n",
       "\t     *\n",
       "\t     * // Use the \"evaluate\" delimiter to execute JavaScript and generate HTML.\n",
       "\t     * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>');\n",
       "\t     * compiled({ 'users': ['fred', 'barney'] });\n",
       "\t     * // => '<li>fred</li><li>barney</li>'\n",
       "\t     *\n",
       "\t     * // Use the internal `print` function in \"evaluate\" delimiters.\n",
       "\t     * var compiled = _.template('<% print(\"hello \" + user); %>!');\n",
       "\t     * compiled({ 'user': 'barney' });\n",
       "\t     * // => 'hello barney!'\n",
       "\t     *\n",
       "\t     * // Use the ES template literal delimiter as an \"interpolate\" delimiter.\n",
       "\t     * // Disable support by replacing the \"interpolate\" delimiter.\n",
       "\t     * var compiled = _.template('hello ${ user }!');\n",
       "\t     * compiled({ 'user': 'pebbles' });\n",
       "\t     * // => 'hello pebbles!'\n",
       "\t     *\n",
       "\t     * // Use backslashes to treat delimiters as plain text.\n",
       "\t     * var compiled = _.template('<%= \"\\\\<%- value %\\\\>\" %>');\n",
       "\t     * compiled({ 'value': 'ignored' });\n",
       "\t     * // => '<%- value %>'\n",
       "\t     *\n",
       "\t     * // Use the `imports` option to import `jQuery` as `jq`.\n",
       "\t     * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>';\n",
       "\t     * var compiled = _.template(text, { 'imports': { 'jq': jQuery } });\n",
       "\t     * compiled({ 'users': ['fred', 'barney'] });\n",
       "\t     * // => '<li>fred</li><li>barney</li>'\n",
       "\t     *\n",
       "\t     * // Use the `sourceURL` option to specify a custom sourceURL for the template.\n",
       "\t     * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' });\n",
       "\t     * compiled(data);\n",
       "\t     * // => Find the source of \"greeting.jst\" under the Sources tab or Resources panel of the web inspector.\n",
       "\t     *\n",
       "\t     * // Use the `variable` option to ensure a with-statement isn't used in the compiled template.\n",
       "\t     * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' });\n",
       "\t     * compiled.source;\n",
       "\t     * // => function(data) {\n",
       "\t     * //   var __t, __p = '';\n",
       "\t     * //   __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!';\n",
       "\t     * //   return __p;\n",
       "\t     * // }\n",
       "\t     *\n",
       "\t     * // Use custom template delimiters.\n",
       "\t     * _.templateSettings.interpolate = /{{([\\s\\S]+?)}}/g;\n",
       "\t     * var compiled = _.template('hello {{ user }}!');\n",
       "\t     * compiled({ 'user': 'mustache' });\n",
       "\t     * // => 'hello mustache!'\n",
       "\t     *\n",
       "\t     * // Use the `source` property to inline compiled templates for meaningful\n",
       "\t     * // line numbers in error messages and stack traces.\n",
       "\t     * fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\\\n",
       "\t     *   var JST = {\\\n",
       "\t     *     \"main\": ' + _.template(mainText).source + '\\\n",
       "\t     *   };\\\n",
       "\t     * ');\n",
       "\t     */\n",
       "\t    function template(string, options, guard) {\n",
       "\t      // Based on John Resig's `tmpl` implementation\n",
       "\t      // (http://ejohn.org/blog/javascript-micro-templating/)\n",
       "\t      // and Laura Doktorova's doT.js (https://github.com/olado/doT).\n",
       "\t      var settings = lodash.templateSettings;\n",
       "\t\n",
       "\t      if (guard && isIterateeCall(string, options, guard)) {\n",
       "\t        options = undefined;\n",
       "\t      }\n",
       "\t      string = toString(string);\n",
       "\t      options = assignInWith({}, options, settings, customDefaultsAssignIn);\n",
       "\t\n",
       "\t      var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn),\n",
       "\t          importsKeys = keys(imports),\n",
       "\t          importsValues = baseValues(imports, importsKeys);\n",
       "\t\n",
       "\t      var isEscaping,\n",
       "\t          isEvaluating,\n",
       "\t          index = 0,\n",
       "\t          interpolate = options.interpolate || reNoMatch,\n",
       "\t          source = \"__p += '\";\n",
       "\t\n",
       "\t      // Compile the regexp to match each delimiter.\n",
       "\t      var reDelimiters = RegExp(\n",
       "\t        (options.escape || reNoMatch).source + '|' +\n",
       "\t        interpolate.source + '|' +\n",
       "\t        (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +\n",
       "\t        (options.evaluate || reNoMatch).source + '|$'\n",
       "\t      , 'g');\n",
       "\t\n",
       "\t      // Use a sourceURL for easier debugging.\n",
       "\t      var sourceURL = '//# sourceURL=' +\n",
       "\t        ('sourceURL' in options\n",
       "\t          ? options.sourceURL\n",
       "\t          : ('lodash.templateSources[' + (++templateCounter) + ']')\n",
       "\t        ) + '\\n';\n",
       "\t\n",
       "\t      string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {\n",
       "\t        interpolateValue || (interpolateValue = esTemplateValue);\n",
       "\t\n",
       "\t        // Escape characters that can't be included in string literals.\n",
       "\t        source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar);\n",
       "\t\n",
       "\t        // Replace delimiters with snippets.\n",
       "\t        if (escapeValue) {\n",
       "\t          isEscaping = true;\n",
       "\t          source += \"' +\\n__e(\" + escapeValue + \") +\\n'\";\n",
       "\t        }\n",
       "\t        if (evaluateValue) {\n",
       "\t          isEvaluating = true;\n",
       "\t          source += \"';\\n\" + evaluateValue + \";\\n__p += '\";\n",
       "\t        }\n",
       "\t        if (interpolateValue) {\n",
       "\t          source += \"' +\\n((__t = (\" + interpolateValue + \")) == null ? '' : __t) +\\n'\";\n",
       "\t        }\n",
       "\t        index = offset + match.length;\n",
       "\t\n",
       "\t        // The JS engine embedded in Adobe products needs `match` returned in\n",
       "\t        // order to produce the correct `offset` value.\n",
       "\t        return match;\n",
       "\t      });\n",
       "\t\n",
       "\t      source += \"';\\n\";\n",
       "\t\n",
       "\t      // If `variable` is not specified wrap a with-statement around the generated\n",
       "\t      // code to add the data object to the top of the scope chain.\n",
       "\t      var variable = options.variable;\n",
       "\t      if (!variable) {\n",
       "\t        source = 'with (obj) {\\n' + source + '\\n}\\n';\n",
       "\t      }\n",
       "\t      // Cleanup code by stripping empty strings.\n",
       "\t      source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)\n",
       "\t        .replace(reEmptyStringMiddle, '$1')\n",
       "\t        .replace(reEmptyStringTrailing, '$1;');\n",
       "\t\n",
       "\t      // Frame code as the function body.\n",
       "\t      source = 'function(' + (variable || 'obj') + ') {\\n' +\n",
       "\t        (variable\n",
       "\t          ? ''\n",
       "\t          : 'obj || (obj = {});\\n'\n",
       "\t        ) +\n",
       "\t        \"var __t, __p = ''\" +\n",
       "\t        (isEscaping\n",
       "\t           ? ', __e = _.escape'\n",
       "\t           : ''\n",
       "\t        ) +\n",
       "\t        (isEvaluating\n",
       "\t          ? ', __j = Array.prototype.join;\\n' +\n",
       "\t            \"function print() { __p += __j.call(arguments, '') }\\n\"\n",
       "\t          : ';\\n'\n",
       "\t        ) +\n",
       "\t        source +\n",
       "\t        'return __p\\n}';\n",
       "\t\n",
       "\t      var result = attempt(function() {\n",
       "\t        return Function(importsKeys, sourceURL + 'return ' + source)\n",
       "\t          .apply(undefined, importsValues);\n",
       "\t      });\n",
       "\t\n",
       "\t      // Provide the compiled function's source by its `toString` method or\n",
       "\t      // the `source` property as a convenience for inlining compiled templates.\n",
       "\t      result.source = source;\n",
       "\t      if (isError(result)) {\n",
       "\t        throw result;\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `string`, as a whole, to lower case just like\n",
       "\t     * [String#toLowerCase](https://mdn.io/toLowerCase).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to convert.\n",
       "\t     * @returns {string} Returns the lower cased string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.toLower('--Foo-Bar--');\n",
       "\t     * // => '--foo-bar--'\n",
       "\t     *\n",
       "\t     * _.toLower('fooBar');\n",
       "\t     * // => 'foobar'\n",
       "\t     *\n",
       "\t     * _.toLower('__FOO_BAR__');\n",
       "\t     * // => '__foo_bar__'\n",
       "\t     */\n",
       "\t    function toLower(value) {\n",
       "\t      return toString(value).toLowerCase();\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `string`, as a whole, to upper case just like\n",
       "\t     * [String#toUpperCase](https://mdn.io/toUpperCase).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to convert.\n",
       "\t     * @returns {string} Returns the upper cased string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.toUpper('--foo-bar--');\n",
       "\t     * // => '--FOO-BAR--'\n",
       "\t     *\n",
       "\t     * _.toUpper('fooBar');\n",
       "\t     * // => 'FOOBAR'\n",
       "\t     *\n",
       "\t     * _.toUpper('__foo_bar__');\n",
       "\t     * // => '__FOO_BAR__'\n",
       "\t     */\n",
       "\t    function toUpper(value) {\n",
       "\t      return toString(value).toUpperCase();\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes leading and trailing whitespace or specified characters from `string`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to trim.\n",
       "\t     * @param {string} [chars=whitespace] The characters to trim.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {string} Returns the trimmed string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.trim('  abc  ');\n",
       "\t     * // => 'abc'\n",
       "\t     *\n",
       "\t     * _.trim('-_-abc-_-', '_-');\n",
       "\t     * // => 'abc'\n",
       "\t     *\n",
       "\t     * _.map(['  foo  ', '  bar  '], _.trim);\n",
       "\t     * // => ['foo', 'bar']\n",
       "\t     */\n",
       "\t    function trim(string, chars, guard) {\n",
       "\t      string = toString(string);\n",
       "\t      if (string && (guard || chars === undefined)) {\n",
       "\t        return string.replace(reTrim, '');\n",
       "\t      }\n",
       "\t      if (!string || !(chars = baseToString(chars))) {\n",
       "\t        return string;\n",
       "\t      }\n",
       "\t      var strSymbols = stringToArray(string),\n",
       "\t          chrSymbols = stringToArray(chars),\n",
       "\t          start = charsStartIndex(strSymbols, chrSymbols),\n",
       "\t          end = charsEndIndex(strSymbols, chrSymbols) + 1;\n",
       "\t\n",
       "\t      return castSlice(strSymbols, start, end).join('');\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes trailing whitespace or specified characters from `string`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to trim.\n",
       "\t     * @param {string} [chars=whitespace] The characters to trim.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {string} Returns the trimmed string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.trimEnd('  abc  ');\n",
       "\t     * // => '  abc'\n",
       "\t     *\n",
       "\t     * _.trimEnd('-_-abc-_-', '_-');\n",
       "\t     * // => '-_-abc'\n",
       "\t     */\n",
       "\t    function trimEnd(string, chars, guard) {\n",
       "\t      string = toString(string);\n",
       "\t      if (string && (guard || chars === undefined)) {\n",
       "\t        return string.replace(reTrimEnd, '');\n",
       "\t      }\n",
       "\t      if (!string || !(chars = baseToString(chars))) {\n",
       "\t        return string;\n",
       "\t      }\n",
       "\t      var strSymbols = stringToArray(string),\n",
       "\t          end = charsEndIndex(strSymbols, stringToArray(chars)) + 1;\n",
       "\t\n",
       "\t      return castSlice(strSymbols, 0, end).join('');\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Removes leading whitespace or specified characters from `string`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to trim.\n",
       "\t     * @param {string} [chars=whitespace] The characters to trim.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {string} Returns the trimmed string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.trimStart('  abc  ');\n",
       "\t     * // => 'abc  '\n",
       "\t     *\n",
       "\t     * _.trimStart('-_-abc-_-', '_-');\n",
       "\t     * // => 'abc-_-'\n",
       "\t     */\n",
       "\t    function trimStart(string, chars, guard) {\n",
       "\t      string = toString(string);\n",
       "\t      if (string && (guard || chars === undefined)) {\n",
       "\t        return string.replace(reTrimStart, '');\n",
       "\t      }\n",
       "\t      if (!string || !(chars = baseToString(chars))) {\n",
       "\t        return string;\n",
       "\t      }\n",
       "\t      var strSymbols = stringToArray(string),\n",
       "\t          start = charsStartIndex(strSymbols, stringToArray(chars));\n",
       "\t\n",
       "\t      return castSlice(strSymbols, start).join('');\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Truncates `string` if it's longer than the given maximum string length.\n",
       "\t     * The last characters of the truncated string are replaced with the omission\n",
       "\t     * string which defaults to \"...\".\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to truncate.\n",
       "\t     * @param {Object} [options={}] The options object.\n",
       "\t     * @param {number} [options.length=30] The maximum string length.\n",
       "\t     * @param {string} [options.omission='...'] The string to indicate text is omitted.\n",
       "\t     * @param {RegExp|string} [options.separator] The separator pattern to truncate to.\n",
       "\t     * @returns {string} Returns the truncated string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.truncate('hi-diddly-ho there, neighborino');\n",
       "\t     * // => 'hi-diddly-ho there, neighbo...'\n",
       "\t     *\n",
       "\t     * _.truncate('hi-diddly-ho there, neighborino', {\n",
       "\t     *   'length': 24,\n",
       "\t     *   'separator': ' '\n",
       "\t     * });\n",
       "\t     * // => 'hi-diddly-ho there,...'\n",
       "\t     *\n",
       "\t     * _.truncate('hi-diddly-ho there, neighborino', {\n",
       "\t     *   'length': 24,\n",
       "\t     *   'separator': /,? +/\n",
       "\t     * });\n",
       "\t     * // => 'hi-diddly-ho there...'\n",
       "\t     *\n",
       "\t     * _.truncate('hi-diddly-ho there, neighborino', {\n",
       "\t     *   'omission': ' [...]'\n",
       "\t     * });\n",
       "\t     * // => 'hi-diddly-ho there, neig [...]'\n",
       "\t     */\n",
       "\t    function truncate(string, options) {\n",
       "\t      var length = DEFAULT_TRUNC_LENGTH,\n",
       "\t          omission = DEFAULT_TRUNC_OMISSION;\n",
       "\t\n",
       "\t      if (isObject(options)) {\n",
       "\t        var separator = 'separator' in options ? options.separator : separator;\n",
       "\t        length = 'length' in options ? toInteger(options.length) : length;\n",
       "\t        omission = 'omission' in options ? baseToString(options.omission) : omission;\n",
       "\t      }\n",
       "\t      string = toString(string);\n",
       "\t\n",
       "\t      var strLength = string.length;\n",
       "\t      if (hasUnicode(string)) {\n",
       "\t        var strSymbols = stringToArray(string);\n",
       "\t        strLength = strSymbols.length;\n",
       "\t      }\n",
       "\t      if (length >= strLength) {\n",
       "\t        return string;\n",
       "\t      }\n",
       "\t      var end = length - stringSize(omission);\n",
       "\t      if (end < 1) {\n",
       "\t        return omission;\n",
       "\t      }\n",
       "\t      var result = strSymbols\n",
       "\t        ? castSlice(strSymbols, 0, end).join('')\n",
       "\t        : string.slice(0, end);\n",
       "\t\n",
       "\t      if (separator === undefined) {\n",
       "\t        return result + omission;\n",
       "\t      }\n",
       "\t      if (strSymbols) {\n",
       "\t        end += (result.length - end);\n",
       "\t      }\n",
       "\t      if (isRegExp(separator)) {\n",
       "\t        if (string.slice(end).search(separator)) {\n",
       "\t          var match,\n",
       "\t              substring = result;\n",
       "\t\n",
       "\t          if (!separator.global) {\n",
       "\t            separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g');\n",
       "\t          }\n",
       "\t          separator.lastIndex = 0;\n",
       "\t          while ((match = separator.exec(substring))) {\n",
       "\t            var newEnd = match.index;\n",
       "\t          }\n",
       "\t          result = result.slice(0, newEnd === undefined ? end : newEnd);\n",
       "\t        }\n",
       "\t      } else if (string.indexOf(baseToString(separator), end) != end) {\n",
       "\t        var index = result.lastIndexOf(separator);\n",
       "\t        if (index > -1) {\n",
       "\t          result = result.slice(0, index);\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return result + omission;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The inverse of `_.escape`; this method converts the HTML entities\n",
       "\t     * `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to\n",
       "\t     * their corresponding characters.\n",
       "\t     *\n",
       "\t     * **Note:** No other HTML entities are unescaped. To unescape additional\n",
       "\t     * HTML entities use a third-party library like [_he_](https://mths.be/he).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 0.6.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to unescape.\n",
       "\t     * @returns {string} Returns the unescaped string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.unescape('fred, barney, &amp; pebbles');\n",
       "\t     * // => 'fred, barney, & pebbles'\n",
       "\t     */\n",
       "\t    function unescape(string) {\n",
       "\t      string = toString(string);\n",
       "\t      return (string && reHasEscapedHtml.test(string))\n",
       "\t        ? string.replace(reEscapedHtml, unescapeHtmlChar)\n",
       "\t        : string;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `string`, as space separated words, to upper case.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to convert.\n",
       "\t     * @returns {string} Returns the upper cased string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.upperCase('--foo-bar');\n",
       "\t     * // => 'FOO BAR'\n",
       "\t     *\n",
       "\t     * _.upperCase('fooBar');\n",
       "\t     * // => 'FOO BAR'\n",
       "\t     *\n",
       "\t     * _.upperCase('__foo_bar__');\n",
       "\t     * // => 'FOO BAR'\n",
       "\t     */\n",
       "\t    var upperCase = createCompounder(function(result, word, index) {\n",
       "\t      return result + (index ? ' ' : '') + word.toUpperCase();\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts the first character of `string` to upper case.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to convert.\n",
       "\t     * @returns {string} Returns the converted string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.upperFirst('fred');\n",
       "\t     * // => 'Fred'\n",
       "\t     *\n",
       "\t     * _.upperFirst('FRED');\n",
       "\t     * // => 'FRED'\n",
       "\t     */\n",
       "\t    var upperFirst = createCaseFirst('toUpperCase');\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Splits `string` into an array of its words.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category String\n",
       "\t     * @param {string} [string=''] The string to inspect.\n",
       "\t     * @param {RegExp|string} [pattern] The pattern to match words.\n",
       "\t     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n",
       "\t     * @returns {Array} Returns the words of `string`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.words('fred, barney, & pebbles');\n",
       "\t     * // => ['fred', 'barney', 'pebbles']\n",
       "\t     *\n",
       "\t     * _.words('fred, barney, & pebbles', /[^, ]+/g);\n",
       "\t     * // => ['fred', 'barney', '&', 'pebbles']\n",
       "\t     */\n",
       "\t    function words(string, pattern, guard) {\n",
       "\t      string = toString(string);\n",
       "\t      pattern = guard ? undefined : pattern;\n",
       "\t\n",
       "\t      if (pattern === undefined) {\n",
       "\t        return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n",
       "\t      }\n",
       "\t      return string.match(pattern) || [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Attempts to invoke `func`, returning either the result or the caught error\n",
       "\t     * object. Any additional arguments are provided to `func` when it's invoked.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Util\n",
       "\t     * @param {Function} func The function to attempt.\n",
       "\t     * @param {...*} [args] The arguments to invoke `func` with.\n",
       "\t     * @returns {*} Returns the `func` result or error object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * // Avoid throwing errors for invalid selectors.\n",
       "\t     * var elements = _.attempt(function(selector) {\n",
       "\t     *   return document.querySelectorAll(selector);\n",
       "\t     * }, '>_>');\n",
       "\t     *\n",
       "\t     * if (_.isError(elements)) {\n",
       "\t     *   elements = [];\n",
       "\t     * }\n",
       "\t     */\n",
       "\t    var attempt = baseRest(function(func, args) {\n",
       "\t      try {\n",
       "\t        return apply(func, undefined, args);\n",
       "\t      } catch (e) {\n",
       "\t        return isError(e) ? e : new Error(e);\n",
       "\t      }\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Binds methods of an object to the object itself, overwriting the existing\n",
       "\t     * method.\n",
       "\t     *\n",
       "\t     * **Note:** This method doesn't set the \"length\" property of bound functions.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Util\n",
       "\t     * @param {Object} object The object to bind and assign the bound methods to.\n",
       "\t     * @param {...(string|string[])} methodNames The object method names to bind.\n",
       "\t     * @returns {Object} Returns `object`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var view = {\n",
       "\t     *   'label': 'docs',\n",
       "\t     *   'click': function() {\n",
       "\t     *     console.log('clicked ' + this.label);\n",
       "\t     *   }\n",
       "\t     * };\n",
       "\t     *\n",
       "\t     * _.bindAll(view, ['click']);\n",
       "\t     * jQuery(element).on('click', view.click);\n",
       "\t     * // => Logs 'clicked docs' when clicked.\n",
       "\t     */\n",
       "\t    var bindAll = flatRest(function(object, methodNames) {\n",
       "\t      arrayEach(methodNames, function(key) {\n",
       "\t        key = toKey(key);\n",
       "\t        baseAssignValue(object, key, bind(object[key], object));\n",
       "\t      });\n",
       "\t      return object;\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that iterates over `pairs` and invokes the corresponding\n",
       "\t     * function of the first predicate to return truthy. The predicate-function\n",
       "\t     * pairs are invoked with the `this` binding and arguments of the created\n",
       "\t     * function.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Util\n",
       "\t     * @param {Array} pairs The predicate-function pairs.\n",
       "\t     * @returns {Function} Returns the new composite function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var func = _.cond([\n",
       "\t     *   [_.matches({ 'a': 1 }),           _.constant('matches A')],\n",
       "\t     *   [_.conforms({ 'b': _.isNumber }), _.constant('matches B')],\n",
       "\t     *   [_.stubTrue,                      _.constant('no match')]\n",
       "\t     * ]);\n",
       "\t     *\n",
       "\t     * func({ 'a': 1, 'b': 2 });\n",
       "\t     * // => 'matches A'\n",
       "\t     *\n",
       "\t     * func({ 'a': 0, 'b': 1 });\n",
       "\t     * // => 'matches B'\n",
       "\t     *\n",
       "\t     * func({ 'a': '1', 'b': '2' });\n",
       "\t     * // => 'no match'\n",
       "\t     */\n",
       "\t    function cond(pairs) {\n",
       "\t      var length = pairs == null ? 0 : pairs.length,\n",
       "\t          toIteratee = getIteratee();\n",
       "\t\n",
       "\t      pairs = !length ? [] : arrayMap(pairs, function(pair) {\n",
       "\t        if (typeof pair[1] != 'function') {\n",
       "\t          throw new TypeError(FUNC_ERROR_TEXT);\n",
       "\t        }\n",
       "\t        return [toIteratee(pair[0]), pair[1]];\n",
       "\t      });\n",
       "\t\n",
       "\t      return baseRest(function(args) {\n",
       "\t        var index = -1;\n",
       "\t        while (++index < length) {\n",
       "\t          var pair = pairs[index];\n",
       "\t          if (apply(pair[0], this, args)) {\n",
       "\t            return apply(pair[1], this, args);\n",
       "\t          }\n",
       "\t        }\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes the predicate properties of `source` with\n",
       "\t     * the corresponding property values of a given object, returning `true` if\n",
       "\t     * all predicates return truthy, else `false`.\n",
       "\t     *\n",
       "\t     * **Note:** The created function is equivalent to `_.conformsTo` with\n",
       "\t     * `source` partially applied.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Util\n",
       "\t     * @param {Object} source The object of property predicates to conform to.\n",
       "\t     * @returns {Function} Returns the new spec function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [\n",
       "\t     *   { 'a': 2, 'b': 1 },\n",
       "\t     *   { 'a': 1, 'b': 2 }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));\n",
       "\t     * // => [{ 'a': 1, 'b': 2 }]\n",
       "\t     */\n",
       "\t    function conforms(source) {\n",
       "\t      return baseConforms(baseClone(source, CLONE_DEEP_FLAG));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that returns `value`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.4.0\n",
       "\t     * @category Util\n",
       "\t     * @param {*} value The value to return from the new function.\n",
       "\t     * @returns {Function} Returns the new constant function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = _.times(2, _.constant({ 'a': 1 }));\n",
       "\t     *\n",
       "\t     * console.log(objects);\n",
       "\t     * // => [{ 'a': 1 }, { 'a': 1 }]\n",
       "\t     *\n",
       "\t     * console.log(objects[0] === objects[1]);\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function constant(value) {\n",
       "\t      return function() {\n",
       "\t        return value;\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Checks `value` to determine whether a default value should be returned in\n",
       "\t     * its place. The `defaultValue` is returned if `value` is `NaN`, `null`,\n",
       "\t     * or `undefined`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.14.0\n",
       "\t     * @category Util\n",
       "\t     * @param {*} value The value to check.\n",
       "\t     * @param {*} defaultValue The default value.\n",
       "\t     * @returns {*} Returns the resolved value.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.defaultTo(1, 10);\n",
       "\t     * // => 1\n",
       "\t     *\n",
       "\t     * _.defaultTo(undefined, 10);\n",
       "\t     * // => 10\n",
       "\t     */\n",
       "\t    function defaultTo(value, defaultValue) {\n",
       "\t      return (value == null || value !== value) ? defaultValue : value;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that returns the result of invoking the given functions\n",
       "\t     * with the `this` binding of the created function, where each successive\n",
       "\t     * invocation is supplied the return value of the previous.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Util\n",
       "\t     * @param {...(Function|Function[])} [funcs] The functions to invoke.\n",
       "\t     * @returns {Function} Returns the new composite function.\n",
       "\t     * @see _.flowRight\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function square(n) {\n",
       "\t     *   return n * n;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var addSquare = _.flow([_.add, square]);\n",
       "\t     * addSquare(1, 2);\n",
       "\t     * // => 9\n",
       "\t     */\n",
       "\t    var flow = createFlow();\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.flow` except that it creates a function that\n",
       "\t     * invokes the given functions from right to left.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 3.0.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Util\n",
       "\t     * @param {...(Function|Function[])} [funcs] The functions to invoke.\n",
       "\t     * @returns {Function} Returns the new composite function.\n",
       "\t     * @see _.flow\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function square(n) {\n",
       "\t     *   return n * n;\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * var addSquare = _.flowRight([square, _.add]);\n",
       "\t     * addSquare(1, 2);\n",
       "\t     * // => 9\n",
       "\t     */\n",
       "\t    var flowRight = createFlow(true);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method returns the first argument it receives.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Util\n",
       "\t     * @param {*} value Any value.\n",
       "\t     * @returns {*} Returns `value`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var object = { 'a': 1 };\n",
       "\t     *\n",
       "\t     * console.log(_.identity(object) === object);\n",
       "\t     * // => true\n",
       "\t     */\n",
       "\t    function identity(value) {\n",
       "\t      return value;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes `func` with the arguments of the created\n",
       "\t     * function. If `func` is a property name, the created function returns the\n",
       "\t     * property value for a given element. If `func` is an array or object, the\n",
       "\t     * created function returns `true` for elements that contain the equivalent\n",
       "\t     * source properties, otherwise it returns `false`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 4.0.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Util\n",
       "\t     * @param {*} [func=_.identity] The value to convert to a callback.\n",
       "\t     * @returns {Function} Returns the callback.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var users = [\n",
       "\t     *   { 'user': 'barney', 'age': 36, 'active': true },\n",
       "\t     *   { 'user': 'fred',   'age': 40, 'active': false }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * // The `_.matches` iteratee shorthand.\n",
       "\t     * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));\n",
       "\t     * // => [{ 'user': 'barney', 'age': 36, 'active': true }]\n",
       "\t     *\n",
       "\t     * // The `_.matchesProperty` iteratee shorthand.\n",
       "\t     * _.filter(users, _.iteratee(['user', 'fred']));\n",
       "\t     * // => [{ 'user': 'fred', 'age': 40 }]\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.map(users, _.iteratee('user'));\n",
       "\t     * // => ['barney', 'fred']\n",
       "\t     *\n",
       "\t     * // Create custom iteratee shorthands.\n",
       "\t     * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {\n",
       "\t     *   return !_.isRegExp(func) ? iteratee(func) : function(string) {\n",
       "\t     *     return func.test(string);\n",
       "\t     *   };\n",
       "\t     * });\n",
       "\t     *\n",
       "\t     * _.filter(['abc', 'def'], /ef/);\n",
       "\t     * // => ['def']\n",
       "\t     */\n",
       "\t    function iteratee(func) {\n",
       "\t      return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that performs a partial deep comparison between a given\n",
       "\t     * object and `source`, returning `true` if the given object has equivalent\n",
       "\t     * property values, else `false`.\n",
       "\t     *\n",
       "\t     * **Note:** The created function is equivalent to `_.isMatch` with `source`\n",
       "\t     * partially applied.\n",
       "\t     *\n",
       "\t     * Partial comparisons will match empty array and empty object `source`\n",
       "\t     * values against any array or object value, respectively. See `_.isEqual`\n",
       "\t     * for a list of supported value comparisons.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Util\n",
       "\t     * @param {Object} source The object of property values to match.\n",
       "\t     * @returns {Function} Returns the new spec function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [\n",
       "\t     *   { 'a': 1, 'b': 2, 'c': 3 },\n",
       "\t     *   { 'a': 4, 'b': 5, 'c': 6 }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));\n",
       "\t     * // => [{ 'a': 4, 'b': 5, 'c': 6 }]\n",
       "\t     */\n",
       "\t    function matches(source) {\n",
       "\t      return baseMatches(baseClone(source, CLONE_DEEP_FLAG));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that performs a partial deep comparison between the\n",
       "\t     * value at `path` of a given object to `srcValue`, returning `true` if the\n",
       "\t     * object value is equivalent, else `false`.\n",
       "\t     *\n",
       "\t     * **Note:** Partial comparisons will match empty array and empty object\n",
       "\t     * `srcValue` values against any array or object value, respectively. See\n",
       "\t     * `_.isEqual` for a list of supported value comparisons.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.2.0\n",
       "\t     * @category Util\n",
       "\t     * @param {Array|string} path The path of the property to get.\n",
       "\t     * @param {*} srcValue The value to match.\n",
       "\t     * @returns {Function} Returns the new spec function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [\n",
       "\t     *   { 'a': 1, 'b': 2, 'c': 3 },\n",
       "\t     *   { 'a': 4, 'b': 5, 'c': 6 }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.find(objects, _.matchesProperty('a', 4));\n",
       "\t     * // => { 'a': 4, 'b': 5, 'c': 6 }\n",
       "\t     */\n",
       "\t    function matchesProperty(path, srcValue) {\n",
       "\t      return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes the method at `path` of a given object.\n",
       "\t     * Any additional arguments are provided to the invoked method.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.7.0\n",
       "\t     * @category Util\n",
       "\t     * @param {Array|string} path The path of the method to invoke.\n",
       "\t     * @param {...*} [args] The arguments to invoke the method with.\n",
       "\t     * @returns {Function} Returns the new invoker function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [\n",
       "\t     *   { 'a': { 'b': _.constant(2) } },\n",
       "\t     *   { 'a': { 'b': _.constant(1) } }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.map(objects, _.method('a.b'));\n",
       "\t     * // => [2, 1]\n",
       "\t     *\n",
       "\t     * _.map(objects, _.method(['a', 'b']));\n",
       "\t     * // => [2, 1]\n",
       "\t     */\n",
       "\t    var method = baseRest(function(path, args) {\n",
       "\t      return function(object) {\n",
       "\t        return baseInvoke(object, path, args);\n",
       "\t      };\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The opposite of `_.method`; this method creates a function that invokes\n",
       "\t     * the method at a given path of `object`. Any additional arguments are\n",
       "\t     * provided to the invoked method.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.7.0\n",
       "\t     * @category Util\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @param {...*} [args] The arguments to invoke the method with.\n",
       "\t     * @returns {Function} Returns the new invoker function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = _.times(3, _.constant),\n",
       "\t     *     object = { 'a': array, 'b': array, 'c': array };\n",
       "\t     *\n",
       "\t     * _.map(['a[2]', 'c[0]'], _.methodOf(object));\n",
       "\t     * // => [2, 0]\n",
       "\t     *\n",
       "\t     * _.map([['a', '2'], ['c', '0']], _.methodOf(object));\n",
       "\t     * // => [2, 0]\n",
       "\t     */\n",
       "\t    var methodOf = baseRest(function(object, args) {\n",
       "\t      return function(path) {\n",
       "\t        return baseInvoke(object, path, args);\n",
       "\t      };\n",
       "\t    });\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Adds all own enumerable string keyed function properties of a source\n",
       "\t     * object to the destination object. If `object` is a function, then methods\n",
       "\t     * are added to its prototype as well.\n",
       "\t     *\n",
       "\t     * **Note:** Use `_.runInContext` to create a pristine `lodash` function to\n",
       "\t     * avoid conflicts caused by modifying the original.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Util\n",
       "\t     * @param {Function|Object} [object=lodash] The destination object.\n",
       "\t     * @param {Object} source The object of functions to add.\n",
       "\t     * @param {Object} [options={}] The options object.\n",
       "\t     * @param {boolean} [options.chain=true] Specify whether mixins are chainable.\n",
       "\t     * @returns {Function|Object} Returns `object`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * function vowels(string) {\n",
       "\t     *   return _.filter(string, function(v) {\n",
       "\t     *     return /[aeiou]/i.test(v);\n",
       "\t     *   });\n",
       "\t     * }\n",
       "\t     *\n",
       "\t     * _.mixin({ 'vowels': vowels });\n",
       "\t     * _.vowels('fred');\n",
       "\t     * // => ['e']\n",
       "\t     *\n",
       "\t     * _('fred').vowels().value();\n",
       "\t     * // => ['e']\n",
       "\t     *\n",
       "\t     * _.mixin({ 'vowels': vowels }, { 'chain': false });\n",
       "\t     * _('fred').vowels();\n",
       "\t     * // => ['e']\n",
       "\t     */\n",
       "\t    function mixin(object, source, options) {\n",
       "\t      var props = keys(source),\n",
       "\t          methodNames = baseFunctions(source, props);\n",
       "\t\n",
       "\t      if (options == null &&\n",
       "\t          !(isObject(source) && (methodNames.length || !props.length))) {\n",
       "\t        options = source;\n",
       "\t        source = object;\n",
       "\t        object = this;\n",
       "\t        methodNames = baseFunctions(source, keys(source));\n",
       "\t      }\n",
       "\t      var chain = !(isObject(options) && 'chain' in options) || !!options.chain,\n",
       "\t          isFunc = isFunction(object);\n",
       "\t\n",
       "\t      arrayEach(methodNames, function(methodName) {\n",
       "\t        var func = source[methodName];\n",
       "\t        object[methodName] = func;\n",
       "\t        if (isFunc) {\n",
       "\t          object.prototype[methodName] = function() {\n",
       "\t            var chainAll = this.__chain__;\n",
       "\t            if (chain || chainAll) {\n",
       "\t              var result = object(this.__wrapped__),\n",
       "\t                  actions = result.__actions__ = copyArray(this.__actions__);\n",
       "\t\n",
       "\t              actions.push({ 'func': func, 'args': arguments, 'thisArg': object });\n",
       "\t              result.__chain__ = chainAll;\n",
       "\t              return result;\n",
       "\t            }\n",
       "\t            return func.apply(object, arrayPush([this.value()], arguments));\n",
       "\t          };\n",
       "\t        }\n",
       "\t      });\n",
       "\t\n",
       "\t      return object;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Reverts the `_` variable to its previous value and returns a reference to\n",
       "\t     * the `lodash` function.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Util\n",
       "\t     * @returns {Function} Returns the `lodash` function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var lodash = _.noConflict();\n",
       "\t     */\n",
       "\t    function noConflict() {\n",
       "\t      if (root._ === this) {\n",
       "\t        root._ = oldDash;\n",
       "\t      }\n",
       "\t      return this;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method returns `undefined`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.3.0\n",
       "\t     * @category Util\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.times(2, _.noop);\n",
       "\t     * // => [undefined, undefined]\n",
       "\t     */\n",
       "\t    function noop() {\n",
       "\t      // No operation performed.\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that gets the argument at index `n`. If `n` is negative,\n",
       "\t     * the nth argument from the end is returned.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Util\n",
       "\t     * @param {number} [n=0] The index of the argument to return.\n",
       "\t     * @returns {Function} Returns the new pass-thru function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var func = _.nthArg(1);\n",
       "\t     * func('a', 'b', 'c', 'd');\n",
       "\t     * // => 'b'\n",
       "\t     *\n",
       "\t     * var func = _.nthArg(-2);\n",
       "\t     * func('a', 'b', 'c', 'd');\n",
       "\t     * // => 'c'\n",
       "\t     */\n",
       "\t    function nthArg(n) {\n",
       "\t      n = toInteger(n);\n",
       "\t      return baseRest(function(args) {\n",
       "\t        return baseNth(args, n);\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that invokes `iteratees` with the arguments it receives\n",
       "\t     * and returns their results.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Util\n",
       "\t     * @param {...(Function|Function[])} [iteratees=[_.identity]]\n",
       "\t     *  The iteratees to invoke.\n",
       "\t     * @returns {Function} Returns the new function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var func = _.over([Math.max, Math.min]);\n",
       "\t     *\n",
       "\t     * func(1, 2, 3, 4);\n",
       "\t     * // => [4, 1]\n",
       "\t     */\n",
       "\t    var over = createOver(arrayMap);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that checks if **all** of the `predicates` return\n",
       "\t     * truthy when invoked with the arguments it receives.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Util\n",
       "\t     * @param {...(Function|Function[])} [predicates=[_.identity]]\n",
       "\t     *  The predicates to check.\n",
       "\t     * @returns {Function} Returns the new function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var func = _.overEvery([Boolean, isFinite]);\n",
       "\t     *\n",
       "\t     * func('1');\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * func(null);\n",
       "\t     * // => false\n",
       "\t     *\n",
       "\t     * func(NaN);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var overEvery = createOver(arrayEvery);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that checks if **any** of the `predicates` return\n",
       "\t     * truthy when invoked with the arguments it receives.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Util\n",
       "\t     * @param {...(Function|Function[])} [predicates=[_.identity]]\n",
       "\t     *  The predicates to check.\n",
       "\t     * @returns {Function} Returns the new function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var func = _.overSome([Boolean, isFinite]);\n",
       "\t     *\n",
       "\t     * func('1');\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * func(null);\n",
       "\t     * // => true\n",
       "\t     *\n",
       "\t     * func(NaN);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    var overSome = createOver(arraySome);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates a function that returns the value at `path` of a given object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 2.4.0\n",
       "\t     * @category Util\n",
       "\t     * @param {Array|string} path The path of the property to get.\n",
       "\t     * @returns {Function} Returns the new accessor function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [\n",
       "\t     *   { 'a': { 'b': 2 } },\n",
       "\t     *   { 'a': { 'b': 1 } }\n",
       "\t     * ];\n",
       "\t     *\n",
       "\t     * _.map(objects, _.property('a.b'));\n",
       "\t     * // => [2, 1]\n",
       "\t     *\n",
       "\t     * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n",
       "\t     * // => [1, 2]\n",
       "\t     */\n",
       "\t    function property(path) {\n",
       "\t      return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The opposite of `_.property`; this method creates a function that returns\n",
       "\t     * the value at a given path of `object`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.0.0\n",
       "\t     * @category Util\n",
       "\t     * @param {Object} object The object to query.\n",
       "\t     * @returns {Function} Returns the new accessor function.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var array = [0, 1, 2],\n",
       "\t     *     object = { 'a': array, 'b': array, 'c': array };\n",
       "\t     *\n",
       "\t     * _.map(['a[2]', 'c[0]'], _.propertyOf(object));\n",
       "\t     * // => [2, 0]\n",
       "\t     *\n",
       "\t     * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));\n",
       "\t     * // => [2, 0]\n",
       "\t     */\n",
       "\t    function propertyOf(object) {\n",
       "\t      return function(path) {\n",
       "\t        return object == null ? undefined : baseGet(object, path);\n",
       "\t      };\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Creates an array of numbers (positive and/or negative) progressing from\n",
       "\t     * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n",
       "\t     * `start` is specified without an `end` or `step`. If `end` is not specified,\n",
       "\t     * it's set to `start` with `start` then set to `0`.\n",
       "\t     *\n",
       "\t     * **Note:** JavaScript follows the IEEE-754 standard for resolving\n",
       "\t     * floating-point values which can produce unexpected results.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Util\n",
       "\t     * @param {number} [start=0] The start of the range.\n",
       "\t     * @param {number} end The end of the range.\n",
       "\t     * @param {number} [step=1] The value to increment or decrement by.\n",
       "\t     * @returns {Array} Returns the range of numbers.\n",
       "\t     * @see _.inRange, _.rangeRight\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.range(4);\n",
       "\t     * // => [0, 1, 2, 3]\n",
       "\t     *\n",
       "\t     * _.range(-4);\n",
       "\t     * // => [0, -1, -2, -3]\n",
       "\t     *\n",
       "\t     * _.range(1, 5);\n",
       "\t     * // => [1, 2, 3, 4]\n",
       "\t     *\n",
       "\t     * _.range(0, 20, 5);\n",
       "\t     * // => [0, 5, 10, 15]\n",
       "\t     *\n",
       "\t     * _.range(0, -4, -1);\n",
       "\t     * // => [0, -1, -2, -3]\n",
       "\t     *\n",
       "\t     * _.range(1, 4, 0);\n",
       "\t     * // => [1, 1, 1]\n",
       "\t     *\n",
       "\t     * _.range(0);\n",
       "\t     * // => []\n",
       "\t     */\n",
       "\t    var range = createRange();\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.range` except that it populates values in\n",
       "\t     * descending order.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Util\n",
       "\t     * @param {number} [start=0] The start of the range.\n",
       "\t     * @param {number} end The end of the range.\n",
       "\t     * @param {number} [step=1] The value to increment or decrement by.\n",
       "\t     * @returns {Array} Returns the range of numbers.\n",
       "\t     * @see _.inRange, _.range\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.rangeRight(4);\n",
       "\t     * // => [3, 2, 1, 0]\n",
       "\t     *\n",
       "\t     * _.rangeRight(-4);\n",
       "\t     * // => [-3, -2, -1, 0]\n",
       "\t     *\n",
       "\t     * _.rangeRight(1, 5);\n",
       "\t     * // => [4, 3, 2, 1]\n",
       "\t     *\n",
       "\t     * _.rangeRight(0, 20, 5);\n",
       "\t     * // => [15, 10, 5, 0]\n",
       "\t     *\n",
       "\t     * _.rangeRight(0, -4, -1);\n",
       "\t     * // => [-3, -2, -1, 0]\n",
       "\t     *\n",
       "\t     * _.rangeRight(1, 4, 0);\n",
       "\t     * // => [1, 1, 1]\n",
       "\t     *\n",
       "\t     * _.rangeRight(0);\n",
       "\t     * // => []\n",
       "\t     */\n",
       "\t    var rangeRight = createRange(true);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method returns a new empty array.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.13.0\n",
       "\t     * @category Util\n",
       "\t     * @returns {Array} Returns the new empty array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var arrays = _.times(2, _.stubArray);\n",
       "\t     *\n",
       "\t     * console.log(arrays);\n",
       "\t     * // => [[], []]\n",
       "\t     *\n",
       "\t     * console.log(arrays[0] === arrays[1]);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function stubArray() {\n",
       "\t      return [];\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method returns `false`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.13.0\n",
       "\t     * @category Util\n",
       "\t     * @returns {boolean} Returns `false`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.times(2, _.stubFalse);\n",
       "\t     * // => [false, false]\n",
       "\t     */\n",
       "\t    function stubFalse() {\n",
       "\t      return false;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method returns a new empty object.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.13.0\n",
       "\t     * @category Util\n",
       "\t     * @returns {Object} Returns the new empty object.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = _.times(2, _.stubObject);\n",
       "\t     *\n",
       "\t     * console.log(objects);\n",
       "\t     * // => [{}, {}]\n",
       "\t     *\n",
       "\t     * console.log(objects[0] === objects[1]);\n",
       "\t     * // => false\n",
       "\t     */\n",
       "\t    function stubObject() {\n",
       "\t      return {};\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method returns an empty string.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.13.0\n",
       "\t     * @category Util\n",
       "\t     * @returns {string} Returns the empty string.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.times(2, _.stubString);\n",
       "\t     * // => ['', '']\n",
       "\t     */\n",
       "\t    function stubString() {\n",
       "\t      return '';\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method returns `true`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.13.0\n",
       "\t     * @category Util\n",
       "\t     * @returns {boolean} Returns `true`.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.times(2, _.stubTrue);\n",
       "\t     * // => [true, true]\n",
       "\t     */\n",
       "\t    function stubTrue() {\n",
       "\t      return true;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Invokes the iteratee `n` times, returning an array of the results of\n",
       "\t     * each invocation. The iteratee is invoked with one argument; (index).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Util\n",
       "\t     * @param {number} n The number of times to invoke `iteratee`.\n",
       "\t     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n",
       "\t     * @returns {Array} Returns the array of results.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.times(3, String);\n",
       "\t     * // => ['0', '1', '2']\n",
       "\t     *\n",
       "\t     *  _.times(4, _.constant(0));\n",
       "\t     * // => [0, 0, 0, 0]\n",
       "\t     */\n",
       "\t    function times(n, iteratee) {\n",
       "\t      n = toInteger(n);\n",
       "\t      if (n < 1 || n > MAX_SAFE_INTEGER) {\n",
       "\t        return [];\n",
       "\t      }\n",
       "\t      var index = MAX_ARRAY_LENGTH,\n",
       "\t          length = nativeMin(n, MAX_ARRAY_LENGTH);\n",
       "\t\n",
       "\t      iteratee = getIteratee(iteratee);\n",
       "\t      n -= MAX_ARRAY_LENGTH;\n",
       "\t\n",
       "\t      var result = baseTimes(length, iteratee);\n",
       "\t      while (++index < n) {\n",
       "\t        iteratee(index);\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Converts `value` to a property path array.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Util\n",
       "\t     * @param {*} value The value to convert.\n",
       "\t     * @returns {Array} Returns the new property path array.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.toPath('a.b.c');\n",
       "\t     * // => ['a', 'b', 'c']\n",
       "\t     *\n",
       "\t     * _.toPath('a[0].b.c');\n",
       "\t     * // => ['a', '0', 'b', 'c']\n",
       "\t     */\n",
       "\t    function toPath(value) {\n",
       "\t      if (isArray(value)) {\n",
       "\t        return arrayMap(value, toKey);\n",
       "\t      }\n",
       "\t      return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Util\n",
       "\t     * @param {string} [prefix=''] The value to prefix the ID with.\n",
       "\t     * @returns {string} Returns the unique ID.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.uniqueId('contact_');\n",
       "\t     * // => 'contact_104'\n",
       "\t     *\n",
       "\t     * _.uniqueId();\n",
       "\t     * // => '105'\n",
       "\t     */\n",
       "\t    function uniqueId(prefix) {\n",
       "\t      var id = ++idCounter;\n",
       "\t      return toString(prefix) + id;\n",
       "\t    }\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Adds two numbers.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.4.0\n",
       "\t     * @category Math\n",
       "\t     * @param {number} augend The first number in an addition.\n",
       "\t     * @param {number} addend The second number in an addition.\n",
       "\t     * @returns {number} Returns the total.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.add(6, 4);\n",
       "\t     * // => 10\n",
       "\t     */\n",
       "\t    var add = createMathOperation(function(augend, addend) {\n",
       "\t      return augend + addend;\n",
       "\t    }, 0);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Computes `number` rounded up to `precision`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.10.0\n",
       "\t     * @category Math\n",
       "\t     * @param {number} number The number to round up.\n",
       "\t     * @param {number} [precision=0] The precision to round up to.\n",
       "\t     * @returns {number} Returns the rounded up number.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.ceil(4.006);\n",
       "\t     * // => 5\n",
       "\t     *\n",
       "\t     * _.ceil(6.004, 2);\n",
       "\t     * // => 6.01\n",
       "\t     *\n",
       "\t     * _.ceil(6040, -2);\n",
       "\t     * // => 6100\n",
       "\t     */\n",
       "\t    var ceil = createRound('ceil');\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Divide two numbers.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.7.0\n",
       "\t     * @category Math\n",
       "\t     * @param {number} dividend The first number in a division.\n",
       "\t     * @param {number} divisor The second number in a division.\n",
       "\t     * @returns {number} Returns the quotient.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.divide(6, 4);\n",
       "\t     * // => 1.5\n",
       "\t     */\n",
       "\t    var divide = createMathOperation(function(dividend, divisor) {\n",
       "\t      return dividend / divisor;\n",
       "\t    }, 1);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Computes `number` rounded down to `precision`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.10.0\n",
       "\t     * @category Math\n",
       "\t     * @param {number} number The number to round down.\n",
       "\t     * @param {number} [precision=0] The precision to round down to.\n",
       "\t     * @returns {number} Returns the rounded down number.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.floor(4.006);\n",
       "\t     * // => 4\n",
       "\t     *\n",
       "\t     * _.floor(0.046, 2);\n",
       "\t     * // => 0.04\n",
       "\t     *\n",
       "\t     * _.floor(4060, -2);\n",
       "\t     * // => 4000\n",
       "\t     */\n",
       "\t    var floor = createRound('floor');\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Computes the maximum value of `array`. If `array` is empty or falsey,\n",
       "\t     * `undefined` is returned.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Math\n",
       "\t     * @param {Array} array The array to iterate over.\n",
       "\t     * @returns {*} Returns the maximum value.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.max([4, 2, 8, 6]);\n",
       "\t     * // => 8\n",
       "\t     *\n",
       "\t     * _.max([]);\n",
       "\t     * // => undefined\n",
       "\t     */\n",
       "\t    function max(array) {\n",
       "\t      return (array && array.length)\n",
       "\t        ? baseExtremum(array, identity, baseGt)\n",
       "\t        : undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.max` except that it accepts `iteratee` which is\n",
       "\t     * invoked for each element in `array` to generate the criterion by which\n",
       "\t     * the value is ranked. The iteratee is invoked with one argument: (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Math\n",
       "\t     * @param {Array} array The array to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n",
       "\t     * @returns {*} Returns the maximum value.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [{ 'n': 1 }, { 'n': 2 }];\n",
       "\t     *\n",
       "\t     * _.maxBy(objects, function(o) { return o.n; });\n",
       "\t     * // => { 'n': 2 }\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.maxBy(objects, 'n');\n",
       "\t     * // => { 'n': 2 }\n",
       "\t     */\n",
       "\t    function maxBy(array, iteratee) {\n",
       "\t      return (array && array.length)\n",
       "\t        ? baseExtremum(array, getIteratee(iteratee, 2), baseGt)\n",
       "\t        : undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Computes the mean of the values in `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Math\n",
       "\t     * @param {Array} array The array to iterate over.\n",
       "\t     * @returns {number} Returns the mean.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.mean([4, 2, 8, 6]);\n",
       "\t     * // => 5\n",
       "\t     */\n",
       "\t    function mean(array) {\n",
       "\t      return baseMean(array, identity);\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.mean` except that it accepts `iteratee` which is\n",
       "\t     * invoked for each element in `array` to generate the value to be averaged.\n",
       "\t     * The iteratee is invoked with one argument: (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.7.0\n",
       "\t     * @category Math\n",
       "\t     * @param {Array} array The array to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n",
       "\t     * @returns {number} Returns the mean.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n",
       "\t     *\n",
       "\t     * _.meanBy(objects, function(o) { return o.n; });\n",
       "\t     * // => 5\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.meanBy(objects, 'n');\n",
       "\t     * // => 5\n",
       "\t     */\n",
       "\t    function meanBy(array, iteratee) {\n",
       "\t      return baseMean(array, getIteratee(iteratee, 2));\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Computes the minimum value of `array`. If `array` is empty or falsey,\n",
       "\t     * `undefined` is returned.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @since 0.1.0\n",
       "\t     * @memberOf _\n",
       "\t     * @category Math\n",
       "\t     * @param {Array} array The array to iterate over.\n",
       "\t     * @returns {*} Returns the minimum value.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.min([4, 2, 8, 6]);\n",
       "\t     * // => 2\n",
       "\t     *\n",
       "\t     * _.min([]);\n",
       "\t     * // => undefined\n",
       "\t     */\n",
       "\t    function min(array) {\n",
       "\t      return (array && array.length)\n",
       "\t        ? baseExtremum(array, identity, baseLt)\n",
       "\t        : undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.min` except that it accepts `iteratee` which is\n",
       "\t     * invoked for each element in `array` to generate the criterion by which\n",
       "\t     * the value is ranked. The iteratee is invoked with one argument: (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Math\n",
       "\t     * @param {Array} array The array to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n",
       "\t     * @returns {*} Returns the minimum value.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [{ 'n': 1 }, { 'n': 2 }];\n",
       "\t     *\n",
       "\t     * _.minBy(objects, function(o) { return o.n; });\n",
       "\t     * // => { 'n': 1 }\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.minBy(objects, 'n');\n",
       "\t     * // => { 'n': 1 }\n",
       "\t     */\n",
       "\t    function minBy(array, iteratee) {\n",
       "\t      return (array && array.length)\n",
       "\t        ? baseExtremum(array, getIteratee(iteratee, 2), baseLt)\n",
       "\t        : undefined;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Multiply two numbers.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.7.0\n",
       "\t     * @category Math\n",
       "\t     * @param {number} multiplier The first number in a multiplication.\n",
       "\t     * @param {number} multiplicand The second number in a multiplication.\n",
       "\t     * @returns {number} Returns the product.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.multiply(6, 4);\n",
       "\t     * // => 24\n",
       "\t     */\n",
       "\t    var multiply = createMathOperation(function(multiplier, multiplicand) {\n",
       "\t      return multiplier * multiplicand;\n",
       "\t    }, 1);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Computes `number` rounded to `precision`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.10.0\n",
       "\t     * @category Math\n",
       "\t     * @param {number} number The number to round.\n",
       "\t     * @param {number} [precision=0] The precision to round to.\n",
       "\t     * @returns {number} Returns the rounded number.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.round(4.006);\n",
       "\t     * // => 4\n",
       "\t     *\n",
       "\t     * _.round(4.006, 2);\n",
       "\t     * // => 4.01\n",
       "\t     *\n",
       "\t     * _.round(4060, -2);\n",
       "\t     * // => 4100\n",
       "\t     */\n",
       "\t    var round = createRound('round');\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Subtract two numbers.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Math\n",
       "\t     * @param {number} minuend The first number in a subtraction.\n",
       "\t     * @param {number} subtrahend The second number in a subtraction.\n",
       "\t     * @returns {number} Returns the difference.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.subtract(6, 4);\n",
       "\t     * // => 2\n",
       "\t     */\n",
       "\t    var subtract = createMathOperation(function(minuend, subtrahend) {\n",
       "\t      return minuend - subtrahend;\n",
       "\t    }, 0);\n",
       "\t\n",
       "\t    /**\n",
       "\t     * Computes the sum of the values in `array`.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 3.4.0\n",
       "\t     * @category Math\n",
       "\t     * @param {Array} array The array to iterate over.\n",
       "\t     * @returns {number} Returns the sum.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * _.sum([4, 2, 8, 6]);\n",
       "\t     * // => 20\n",
       "\t     */\n",
       "\t    function sum(array) {\n",
       "\t      return (array && array.length)\n",
       "\t        ? baseSum(array, identity)\n",
       "\t        : 0;\n",
       "\t    }\n",
       "\t\n",
       "\t    /**\n",
       "\t     * This method is like `_.sum` except that it accepts `iteratee` which is\n",
       "\t     * invoked for each element in `array` to generate the value to be summed.\n",
       "\t     * The iteratee is invoked with one argument: (value).\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @since 4.0.0\n",
       "\t     * @category Math\n",
       "\t     * @param {Array} array The array to iterate over.\n",
       "\t     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n",
       "\t     * @returns {number} Returns the sum.\n",
       "\t     * @example\n",
       "\t     *\n",
       "\t     * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\n",
       "\t     *\n",
       "\t     * _.sumBy(objects, function(o) { return o.n; });\n",
       "\t     * // => 20\n",
       "\t     *\n",
       "\t     * // The `_.property` iteratee shorthand.\n",
       "\t     * _.sumBy(objects, 'n');\n",
       "\t     * // => 20\n",
       "\t     */\n",
       "\t    function sumBy(array, iteratee) {\n",
       "\t      return (array && array.length)\n",
       "\t        ? baseSum(array, getIteratee(iteratee, 2))\n",
       "\t        : 0;\n",
       "\t    }\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    // Add methods that return wrapped values in chain sequences.\n",
       "\t    lodash.after = after;\n",
       "\t    lodash.ary = ary;\n",
       "\t    lodash.assign = assign;\n",
       "\t    lodash.assignIn = assignIn;\n",
       "\t    lodash.assignInWith = assignInWith;\n",
       "\t    lodash.assignWith = assignWith;\n",
       "\t    lodash.at = at;\n",
       "\t    lodash.before = before;\n",
       "\t    lodash.bind = bind;\n",
       "\t    lodash.bindAll = bindAll;\n",
       "\t    lodash.bindKey = bindKey;\n",
       "\t    lodash.castArray = castArray;\n",
       "\t    lodash.chain = chain;\n",
       "\t    lodash.chunk = chunk;\n",
       "\t    lodash.compact = compact;\n",
       "\t    lodash.concat = concat;\n",
       "\t    lodash.cond = cond;\n",
       "\t    lodash.conforms = conforms;\n",
       "\t    lodash.constant = constant;\n",
       "\t    lodash.countBy = countBy;\n",
       "\t    lodash.create = create;\n",
       "\t    lodash.curry = curry;\n",
       "\t    lodash.curryRight = curryRight;\n",
       "\t    lodash.debounce = debounce;\n",
       "\t    lodash.defaults = defaults;\n",
       "\t    lodash.defaultsDeep = defaultsDeep;\n",
       "\t    lodash.defer = defer;\n",
       "\t    lodash.delay = delay;\n",
       "\t    lodash.difference = difference;\n",
       "\t    lodash.differenceBy = differenceBy;\n",
       "\t    lodash.differenceWith = differenceWith;\n",
       "\t    lodash.drop = drop;\n",
       "\t    lodash.dropRight = dropRight;\n",
       "\t    lodash.dropRightWhile = dropRightWhile;\n",
       "\t    lodash.dropWhile = dropWhile;\n",
       "\t    lodash.fill = fill;\n",
       "\t    lodash.filter = filter;\n",
       "\t    lodash.flatMap = flatMap;\n",
       "\t    lodash.flatMapDeep = flatMapDeep;\n",
       "\t    lodash.flatMapDepth = flatMapDepth;\n",
       "\t    lodash.flatten = flatten;\n",
       "\t    lodash.flattenDeep = flattenDeep;\n",
       "\t    lodash.flattenDepth = flattenDepth;\n",
       "\t    lodash.flip = flip;\n",
       "\t    lodash.flow = flow;\n",
       "\t    lodash.flowRight = flowRight;\n",
       "\t    lodash.fromPairs = fromPairs;\n",
       "\t    lodash.functions = functions;\n",
       "\t    lodash.functionsIn = functionsIn;\n",
       "\t    lodash.groupBy = groupBy;\n",
       "\t    lodash.initial = initial;\n",
       "\t    lodash.intersection = intersection;\n",
       "\t    lodash.intersectionBy = intersectionBy;\n",
       "\t    lodash.intersectionWith = intersectionWith;\n",
       "\t    lodash.invert = invert;\n",
       "\t    lodash.invertBy = invertBy;\n",
       "\t    lodash.invokeMap = invokeMap;\n",
       "\t    lodash.iteratee = iteratee;\n",
       "\t    lodash.keyBy = keyBy;\n",
       "\t    lodash.keys = keys;\n",
       "\t    lodash.keysIn = keysIn;\n",
       "\t    lodash.map = map;\n",
       "\t    lodash.mapKeys = mapKeys;\n",
       "\t    lodash.mapValues = mapValues;\n",
       "\t    lodash.matches = matches;\n",
       "\t    lodash.matchesProperty = matchesProperty;\n",
       "\t    lodash.memoize = memoize;\n",
       "\t    lodash.merge = merge;\n",
       "\t    lodash.mergeWith = mergeWith;\n",
       "\t    lodash.method = method;\n",
       "\t    lodash.methodOf = methodOf;\n",
       "\t    lodash.mixin = mixin;\n",
       "\t    lodash.negate = negate;\n",
       "\t    lodash.nthArg = nthArg;\n",
       "\t    lodash.omit = omit;\n",
       "\t    lodash.omitBy = omitBy;\n",
       "\t    lodash.once = once;\n",
       "\t    lodash.orderBy = orderBy;\n",
       "\t    lodash.over = over;\n",
       "\t    lodash.overArgs = overArgs;\n",
       "\t    lodash.overEvery = overEvery;\n",
       "\t    lodash.overSome = overSome;\n",
       "\t    lodash.partial = partial;\n",
       "\t    lodash.partialRight = partialRight;\n",
       "\t    lodash.partition = partition;\n",
       "\t    lodash.pick = pick;\n",
       "\t    lodash.pickBy = pickBy;\n",
       "\t    lodash.property = property;\n",
       "\t    lodash.propertyOf = propertyOf;\n",
       "\t    lodash.pull = pull;\n",
       "\t    lodash.pullAll = pullAll;\n",
       "\t    lodash.pullAllBy = pullAllBy;\n",
       "\t    lodash.pullAllWith = pullAllWith;\n",
       "\t    lodash.pullAt = pullAt;\n",
       "\t    lodash.range = range;\n",
       "\t    lodash.rangeRight = rangeRight;\n",
       "\t    lodash.rearg = rearg;\n",
       "\t    lodash.reject = reject;\n",
       "\t    lodash.remove = remove;\n",
       "\t    lodash.rest = rest;\n",
       "\t    lodash.reverse = reverse;\n",
       "\t    lodash.sampleSize = sampleSize;\n",
       "\t    lodash.set = set;\n",
       "\t    lodash.setWith = setWith;\n",
       "\t    lodash.shuffle = shuffle;\n",
       "\t    lodash.slice = slice;\n",
       "\t    lodash.sortBy = sortBy;\n",
       "\t    lodash.sortedUniq = sortedUniq;\n",
       "\t    lodash.sortedUniqBy = sortedUniqBy;\n",
       "\t    lodash.split = split;\n",
       "\t    lodash.spread = spread;\n",
       "\t    lodash.tail = tail;\n",
       "\t    lodash.take = take;\n",
       "\t    lodash.takeRight = takeRight;\n",
       "\t    lodash.takeRightWhile = takeRightWhile;\n",
       "\t    lodash.takeWhile = takeWhile;\n",
       "\t    lodash.tap = tap;\n",
       "\t    lodash.throttle = throttle;\n",
       "\t    lodash.thru = thru;\n",
       "\t    lodash.toArray = toArray;\n",
       "\t    lodash.toPairs = toPairs;\n",
       "\t    lodash.toPairsIn = toPairsIn;\n",
       "\t    lodash.toPath = toPath;\n",
       "\t    lodash.toPlainObject = toPlainObject;\n",
       "\t    lodash.transform = transform;\n",
       "\t    lodash.unary = unary;\n",
       "\t    lodash.union = union;\n",
       "\t    lodash.unionBy = unionBy;\n",
       "\t    lodash.unionWith = unionWith;\n",
       "\t    lodash.uniq = uniq;\n",
       "\t    lodash.uniqBy = uniqBy;\n",
       "\t    lodash.uniqWith = uniqWith;\n",
       "\t    lodash.unset = unset;\n",
       "\t    lodash.unzip = unzip;\n",
       "\t    lodash.unzipWith = unzipWith;\n",
       "\t    lodash.update = update;\n",
       "\t    lodash.updateWith = updateWith;\n",
       "\t    lodash.values = values;\n",
       "\t    lodash.valuesIn = valuesIn;\n",
       "\t    lodash.without = without;\n",
       "\t    lodash.words = words;\n",
       "\t    lodash.wrap = wrap;\n",
       "\t    lodash.xor = xor;\n",
       "\t    lodash.xorBy = xorBy;\n",
       "\t    lodash.xorWith = xorWith;\n",
       "\t    lodash.zip = zip;\n",
       "\t    lodash.zipObject = zipObject;\n",
       "\t    lodash.zipObjectDeep = zipObjectDeep;\n",
       "\t    lodash.zipWith = zipWith;\n",
       "\t\n",
       "\t    // Add aliases.\n",
       "\t    lodash.entries = toPairs;\n",
       "\t    lodash.entriesIn = toPairsIn;\n",
       "\t    lodash.extend = assignIn;\n",
       "\t    lodash.extendWith = assignInWith;\n",
       "\t\n",
       "\t    // Add methods to `lodash.prototype`.\n",
       "\t    mixin(lodash, lodash);\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    // Add methods that return unwrapped values in chain sequences.\n",
       "\t    lodash.add = add;\n",
       "\t    lodash.attempt = attempt;\n",
       "\t    lodash.camelCase = camelCase;\n",
       "\t    lodash.capitalize = capitalize;\n",
       "\t    lodash.ceil = ceil;\n",
       "\t    lodash.clamp = clamp;\n",
       "\t    lodash.clone = clone;\n",
       "\t    lodash.cloneDeep = cloneDeep;\n",
       "\t    lodash.cloneDeepWith = cloneDeepWith;\n",
       "\t    lodash.cloneWith = cloneWith;\n",
       "\t    lodash.conformsTo = conformsTo;\n",
       "\t    lodash.deburr = deburr;\n",
       "\t    lodash.defaultTo = defaultTo;\n",
       "\t    lodash.divide = divide;\n",
       "\t    lodash.endsWith = endsWith;\n",
       "\t    lodash.eq = eq;\n",
       "\t    lodash.escape = escape;\n",
       "\t    lodash.escapeRegExp = escapeRegExp;\n",
       "\t    lodash.every = every;\n",
       "\t    lodash.find = find;\n",
       "\t    lodash.findIndex = findIndex;\n",
       "\t    lodash.findKey = findKey;\n",
       "\t    lodash.findLast = findLast;\n",
       "\t    lodash.findLastIndex = findLastIndex;\n",
       "\t    lodash.findLastKey = findLastKey;\n",
       "\t    lodash.floor = floor;\n",
       "\t    lodash.forEach = forEach;\n",
       "\t    lodash.forEachRight = forEachRight;\n",
       "\t    lodash.forIn = forIn;\n",
       "\t    lodash.forInRight = forInRight;\n",
       "\t    lodash.forOwn = forOwn;\n",
       "\t    lodash.forOwnRight = forOwnRight;\n",
       "\t    lodash.get = get;\n",
       "\t    lodash.gt = gt;\n",
       "\t    lodash.gte = gte;\n",
       "\t    lodash.has = has;\n",
       "\t    lodash.hasIn = hasIn;\n",
       "\t    lodash.head = head;\n",
       "\t    lodash.identity = identity;\n",
       "\t    lodash.includes = includes;\n",
       "\t    lodash.indexOf = indexOf;\n",
       "\t    lodash.inRange = inRange;\n",
       "\t    lodash.invoke = invoke;\n",
       "\t    lodash.isArguments = isArguments;\n",
       "\t    lodash.isArray = isArray;\n",
       "\t    lodash.isArrayBuffer = isArrayBuffer;\n",
       "\t    lodash.isArrayLike = isArrayLike;\n",
       "\t    lodash.isArrayLikeObject = isArrayLikeObject;\n",
       "\t    lodash.isBoolean = isBoolean;\n",
       "\t    lodash.isBuffer = isBuffer;\n",
       "\t    lodash.isDate = isDate;\n",
       "\t    lodash.isElement = isElement;\n",
       "\t    lodash.isEmpty = isEmpty;\n",
       "\t    lodash.isEqual = isEqual;\n",
       "\t    lodash.isEqualWith = isEqualWith;\n",
       "\t    lodash.isError = isError;\n",
       "\t    lodash.isFinite = isFinite;\n",
       "\t    lodash.isFunction = isFunction;\n",
       "\t    lodash.isInteger = isInteger;\n",
       "\t    lodash.isLength = isLength;\n",
       "\t    lodash.isMap = isMap;\n",
       "\t    lodash.isMatch = isMatch;\n",
       "\t    lodash.isMatchWith = isMatchWith;\n",
       "\t    lodash.isNaN = isNaN;\n",
       "\t    lodash.isNative = isNative;\n",
       "\t    lodash.isNil = isNil;\n",
       "\t    lodash.isNull = isNull;\n",
       "\t    lodash.isNumber = isNumber;\n",
       "\t    lodash.isObject = isObject;\n",
       "\t    lodash.isObjectLike = isObjectLike;\n",
       "\t    lodash.isPlainObject = isPlainObject;\n",
       "\t    lodash.isRegExp = isRegExp;\n",
       "\t    lodash.isSafeInteger = isSafeInteger;\n",
       "\t    lodash.isSet = isSet;\n",
       "\t    lodash.isString = isString;\n",
       "\t    lodash.isSymbol = isSymbol;\n",
       "\t    lodash.isTypedArray = isTypedArray;\n",
       "\t    lodash.isUndefined = isUndefined;\n",
       "\t    lodash.isWeakMap = isWeakMap;\n",
       "\t    lodash.isWeakSet = isWeakSet;\n",
       "\t    lodash.join = join;\n",
       "\t    lodash.kebabCase = kebabCase;\n",
       "\t    lodash.last = last;\n",
       "\t    lodash.lastIndexOf = lastIndexOf;\n",
       "\t    lodash.lowerCase = lowerCase;\n",
       "\t    lodash.lowerFirst = lowerFirst;\n",
       "\t    lodash.lt = lt;\n",
       "\t    lodash.lte = lte;\n",
       "\t    lodash.max = max;\n",
       "\t    lodash.maxBy = maxBy;\n",
       "\t    lodash.mean = mean;\n",
       "\t    lodash.meanBy = meanBy;\n",
       "\t    lodash.min = min;\n",
       "\t    lodash.minBy = minBy;\n",
       "\t    lodash.stubArray = stubArray;\n",
       "\t    lodash.stubFalse = stubFalse;\n",
       "\t    lodash.stubObject = stubObject;\n",
       "\t    lodash.stubString = stubString;\n",
       "\t    lodash.stubTrue = stubTrue;\n",
       "\t    lodash.multiply = multiply;\n",
       "\t    lodash.nth = nth;\n",
       "\t    lodash.noConflict = noConflict;\n",
       "\t    lodash.noop = noop;\n",
       "\t    lodash.now = now;\n",
       "\t    lodash.pad = pad;\n",
       "\t    lodash.padEnd = padEnd;\n",
       "\t    lodash.padStart = padStart;\n",
       "\t    lodash.parseInt = parseInt;\n",
       "\t    lodash.random = random;\n",
       "\t    lodash.reduce = reduce;\n",
       "\t    lodash.reduceRight = reduceRight;\n",
       "\t    lodash.repeat = repeat;\n",
       "\t    lodash.replace = replace;\n",
       "\t    lodash.result = result;\n",
       "\t    lodash.round = round;\n",
       "\t    lodash.runInContext = runInContext;\n",
       "\t    lodash.sample = sample;\n",
       "\t    lodash.size = size;\n",
       "\t    lodash.snakeCase = snakeCase;\n",
       "\t    lodash.some = some;\n",
       "\t    lodash.sortedIndex = sortedIndex;\n",
       "\t    lodash.sortedIndexBy = sortedIndexBy;\n",
       "\t    lodash.sortedIndexOf = sortedIndexOf;\n",
       "\t    lodash.sortedLastIndex = sortedLastIndex;\n",
       "\t    lodash.sortedLastIndexBy = sortedLastIndexBy;\n",
       "\t    lodash.sortedLastIndexOf = sortedLastIndexOf;\n",
       "\t    lodash.startCase = startCase;\n",
       "\t    lodash.startsWith = startsWith;\n",
       "\t    lodash.subtract = subtract;\n",
       "\t    lodash.sum = sum;\n",
       "\t    lodash.sumBy = sumBy;\n",
       "\t    lodash.template = template;\n",
       "\t    lodash.times = times;\n",
       "\t    lodash.toFinite = toFinite;\n",
       "\t    lodash.toInteger = toInteger;\n",
       "\t    lodash.toLength = toLength;\n",
       "\t    lodash.toLower = toLower;\n",
       "\t    lodash.toNumber = toNumber;\n",
       "\t    lodash.toSafeInteger = toSafeInteger;\n",
       "\t    lodash.toString = toString;\n",
       "\t    lodash.toUpper = toUpper;\n",
       "\t    lodash.trim = trim;\n",
       "\t    lodash.trimEnd = trimEnd;\n",
       "\t    lodash.trimStart = trimStart;\n",
       "\t    lodash.truncate = truncate;\n",
       "\t    lodash.unescape = unescape;\n",
       "\t    lodash.uniqueId = uniqueId;\n",
       "\t    lodash.upperCase = upperCase;\n",
       "\t    lodash.upperFirst = upperFirst;\n",
       "\t\n",
       "\t    // Add aliases.\n",
       "\t    lodash.each = forEach;\n",
       "\t    lodash.eachRight = forEachRight;\n",
       "\t    lodash.first = head;\n",
       "\t\n",
       "\t    mixin(lodash, (function() {\n",
       "\t      var source = {};\n",
       "\t      baseForOwn(lodash, function(func, methodName) {\n",
       "\t        if (!hasOwnProperty.call(lodash.prototype, methodName)) {\n",
       "\t          source[methodName] = func;\n",
       "\t        }\n",
       "\t      });\n",
       "\t      return source;\n",
       "\t    }()), { 'chain': false });\n",
       "\t\n",
       "\t    /*------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t    /**\n",
       "\t     * The semantic version number.\n",
       "\t     *\n",
       "\t     * @static\n",
       "\t     * @memberOf _\n",
       "\t     * @type {string}\n",
       "\t     */\n",
       "\t    lodash.VERSION = VERSION;\n",
       "\t\n",
       "\t    // Assign default placeholders.\n",
       "\t    arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) {\n",
       "\t      lodash[methodName].placeholder = lodash;\n",
       "\t    });\n",
       "\t\n",
       "\t    // Add `LazyWrapper` methods for `_.drop` and `_.take` variants.\n",
       "\t    arrayEach(['drop', 'take'], function(methodName, index) {\n",
       "\t      LazyWrapper.prototype[methodName] = function(n) {\n",
       "\t        n = n === undefined ? 1 : nativeMax(toInteger(n), 0);\n",
       "\t\n",
       "\t        var result = (this.__filtered__ && !index)\n",
       "\t          ? new LazyWrapper(this)\n",
       "\t          : this.clone();\n",
       "\t\n",
       "\t        if (result.__filtered__) {\n",
       "\t          result.__takeCount__ = nativeMin(n, result.__takeCount__);\n",
       "\t        } else {\n",
       "\t          result.__views__.push({\n",
       "\t            'size': nativeMin(n, MAX_ARRAY_LENGTH),\n",
       "\t            'type': methodName + (result.__dir__ < 0 ? 'Right' : '')\n",
       "\t          });\n",
       "\t        }\n",
       "\t        return result;\n",
       "\t      };\n",
       "\t\n",
       "\t      LazyWrapper.prototype[methodName + 'Right'] = function(n) {\n",
       "\t        return this.reverse()[methodName](n).reverse();\n",
       "\t      };\n",
       "\t    });\n",
       "\t\n",
       "\t    // Add `LazyWrapper` methods that accept an `iteratee` value.\n",
       "\t    arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) {\n",
       "\t      var type = index + 1,\n",
       "\t          isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;\n",
       "\t\n",
       "\t      LazyWrapper.prototype[methodName] = function(iteratee) {\n",
       "\t        var result = this.clone();\n",
       "\t        result.__iteratees__.push({\n",
       "\t          'iteratee': getIteratee(iteratee, 3),\n",
       "\t          'type': type\n",
       "\t        });\n",
       "\t        result.__filtered__ = result.__filtered__ || isFilter;\n",
       "\t        return result;\n",
       "\t      };\n",
       "\t    });\n",
       "\t\n",
       "\t    // Add `LazyWrapper` methods for `_.head` and `_.last`.\n",
       "\t    arrayEach(['head', 'last'], function(methodName, index) {\n",
       "\t      var takeName = 'take' + (index ? 'Right' : '');\n",
       "\t\n",
       "\t      LazyWrapper.prototype[methodName] = function() {\n",
       "\t        return this[takeName](1).value()[0];\n",
       "\t      };\n",
       "\t    });\n",
       "\t\n",
       "\t    // Add `LazyWrapper` methods for `_.initial` and `_.tail`.\n",
       "\t    arrayEach(['initial', 'tail'], function(methodName, index) {\n",
       "\t      var dropName = 'drop' + (index ? '' : 'Right');\n",
       "\t\n",
       "\t      LazyWrapper.prototype[methodName] = function() {\n",
       "\t        return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);\n",
       "\t      };\n",
       "\t    });\n",
       "\t\n",
       "\t    LazyWrapper.prototype.compact = function() {\n",
       "\t      return this.filter(identity);\n",
       "\t    };\n",
       "\t\n",
       "\t    LazyWrapper.prototype.find = function(predicate) {\n",
       "\t      return this.filter(predicate).head();\n",
       "\t    };\n",
       "\t\n",
       "\t    LazyWrapper.prototype.findLast = function(predicate) {\n",
       "\t      return this.reverse().find(predicate);\n",
       "\t    };\n",
       "\t\n",
       "\t    LazyWrapper.prototype.invokeMap = baseRest(function(path, args) {\n",
       "\t      if (typeof path == 'function') {\n",
       "\t        return new LazyWrapper(this);\n",
       "\t      }\n",
       "\t      return this.map(function(value) {\n",
       "\t        return baseInvoke(value, path, args);\n",
       "\t      });\n",
       "\t    });\n",
       "\t\n",
       "\t    LazyWrapper.prototype.reject = function(predicate) {\n",
       "\t      return this.filter(negate(getIteratee(predicate)));\n",
       "\t    };\n",
       "\t\n",
       "\t    LazyWrapper.prototype.slice = function(start, end) {\n",
       "\t      start = toInteger(start);\n",
       "\t\n",
       "\t      var result = this;\n",
       "\t      if (result.__filtered__ && (start > 0 || end < 0)) {\n",
       "\t        return new LazyWrapper(result);\n",
       "\t      }\n",
       "\t      if (start < 0) {\n",
       "\t        result = result.takeRight(-start);\n",
       "\t      } else if (start) {\n",
       "\t        result = result.drop(start);\n",
       "\t      }\n",
       "\t      if (end !== undefined) {\n",
       "\t        end = toInteger(end);\n",
       "\t        result = end < 0 ? result.dropRight(-end) : result.take(end - start);\n",
       "\t      }\n",
       "\t      return result;\n",
       "\t    };\n",
       "\t\n",
       "\t    LazyWrapper.prototype.takeRightWhile = function(predicate) {\n",
       "\t      return this.reverse().takeWhile(predicate).reverse();\n",
       "\t    };\n",
       "\t\n",
       "\t    LazyWrapper.prototype.toArray = function() {\n",
       "\t      return this.take(MAX_ARRAY_LENGTH);\n",
       "\t    };\n",
       "\t\n",
       "\t    // Add `LazyWrapper` methods to `lodash.prototype`.\n",
       "\t    baseForOwn(LazyWrapper.prototype, function(func, methodName) {\n",
       "\t      var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName),\n",
       "\t          isTaker = /^(?:head|last)$/.test(methodName),\n",
       "\t          lodashFunc = lodash[isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName],\n",
       "\t          retUnwrapped = isTaker || /^find/.test(methodName);\n",
       "\t\n",
       "\t      if (!lodashFunc) {\n",
       "\t        return;\n",
       "\t      }\n",
       "\t      lodash.prototype[methodName] = function() {\n",
       "\t        var value = this.__wrapped__,\n",
       "\t            args = isTaker ? [1] : arguments,\n",
       "\t            isLazy = value instanceof LazyWrapper,\n",
       "\t            iteratee = args[0],\n",
       "\t            useLazy = isLazy || isArray(value);\n",
       "\t\n",
       "\t        var interceptor = function(value) {\n",
       "\t          var result = lodashFunc.apply(lodash, arrayPush([value], args));\n",
       "\t          return (isTaker && chainAll) ? result[0] : result;\n",
       "\t        };\n",
       "\t\n",
       "\t        if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {\n",
       "\t          // Avoid lazy use if the iteratee has a \"length\" value other than `1`.\n",
       "\t          isLazy = useLazy = false;\n",
       "\t        }\n",
       "\t        var chainAll = this.__chain__,\n",
       "\t            isHybrid = !!this.__actions__.length,\n",
       "\t            isUnwrapped = retUnwrapped && !chainAll,\n",
       "\t            onlyLazy = isLazy && !isHybrid;\n",
       "\t\n",
       "\t        if (!retUnwrapped && useLazy) {\n",
       "\t          value = onlyLazy ? value : new LazyWrapper(this);\n",
       "\t          var result = func.apply(value, args);\n",
       "\t          result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined });\n",
       "\t          return new LodashWrapper(result, chainAll);\n",
       "\t        }\n",
       "\t        if (isUnwrapped && onlyLazy) {\n",
       "\t          return func.apply(this, args);\n",
       "\t        }\n",
       "\t        result = this.thru(interceptor);\n",
       "\t        return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result;\n",
       "\t      };\n",
       "\t    });\n",
       "\t\n",
       "\t    // Add `Array` methods to `lodash.prototype`.\n",
       "\t    arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {\n",
       "\t      var func = arrayProto[methodName],\n",
       "\t          chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',\n",
       "\t          retUnwrapped = /^(?:pop|shift)$/.test(methodName);\n",
       "\t\n",
       "\t      lodash.prototype[methodName] = function() {\n",
       "\t        var args = arguments;\n",
       "\t        if (retUnwrapped && !this.__chain__) {\n",
       "\t          var value = this.value();\n",
       "\t          return func.apply(isArray(value) ? value : [], args);\n",
       "\t        }\n",
       "\t        return this[chainName](function(value) {\n",
       "\t          return func.apply(isArray(value) ? value : [], args);\n",
       "\t        });\n",
       "\t      };\n",
       "\t    });\n",
       "\t\n",
       "\t    // Map minified method names to their real names.\n",
       "\t    baseForOwn(LazyWrapper.prototype, function(func, methodName) {\n",
       "\t      var lodashFunc = lodash[methodName];\n",
       "\t      if (lodashFunc) {\n",
       "\t        var key = (lodashFunc.name + ''),\n",
       "\t            names = realNames[key] || (realNames[key] = []);\n",
       "\t\n",
       "\t        names.push({ 'name': methodName, 'func': lodashFunc });\n",
       "\t      }\n",
       "\t    });\n",
       "\t\n",
       "\t    realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{\n",
       "\t      'name': 'wrapper',\n",
       "\t      'func': undefined\n",
       "\t    }];\n",
       "\t\n",
       "\t    // Add methods to `LazyWrapper`.\n",
       "\t    LazyWrapper.prototype.clone = lazyClone;\n",
       "\t    LazyWrapper.prototype.reverse = lazyReverse;\n",
       "\t    LazyWrapper.prototype.value = lazyValue;\n",
       "\t\n",
       "\t    // Add chain sequence methods to the `lodash` wrapper.\n",
       "\t    lodash.prototype.at = wrapperAt;\n",
       "\t    lodash.prototype.chain = wrapperChain;\n",
       "\t    lodash.prototype.commit = wrapperCommit;\n",
       "\t    lodash.prototype.next = wrapperNext;\n",
       "\t    lodash.prototype.plant = wrapperPlant;\n",
       "\t    lodash.prototype.reverse = wrapperReverse;\n",
       "\t    lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;\n",
       "\t\n",
       "\t    // Add lazy aliases.\n",
       "\t    lodash.prototype.first = lodash.prototype.head;\n",
       "\t\n",
       "\t    if (symIterator) {\n",
       "\t      lodash.prototype[symIterator] = wrapperToIterator;\n",
       "\t    }\n",
       "\t    return lodash;\n",
       "\t  });\n",
       "\t\n",
       "\t  /*--------------------------------------------------------------------------*/\n",
       "\t\n",
       "\t  // Export lodash.\n",
       "\t  var _ = runInContext();\n",
       "\t\n",
       "\t  // Some AMD build optimizers, like r.js, check for condition patterns like:\n",
       "\t  if (true) {\n",
       "\t    // Expose Lodash on the global object to prevent errors when Lodash is\n",
       "\t    // loaded by a script tag in the presence of an AMD loader.\n",
       "\t    // See http://requirejs.org/docs/errors.html#mismatch for more details.\n",
       "\t    // Use `_.noConflict` to remove Lodash from the global object.\n",
       "\t    root._ = _;\n",
       "\t\n",
       "\t    // Define as an anonymous module so, through path mapping, it can be\n",
       "\t    // referenced as the \"underscore\" module.\n",
       "\t    !(__WEBPACK_AMD_DEFINE_RESULT__ = function() {\n",
       "\t      return _;\n",
       "\t    }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n",
       "\t  }\n",
       "\t  // Check for `exports` after `define` in case a build optimizer adds it.\n",
       "\t  else if (freeModule) {\n",
       "\t    // Export for Node.js.\n",
       "\t    (freeModule.exports = _)._ = _;\n",
       "\t    // Export for CommonJS support.\n",
       "\t    freeExports._ = _;\n",
       "\t  }\n",
       "\t  else {\n",
       "\t    // Export to the global object.\n",
       "\t    root._ = _;\n",
       "\t  }\n",
       "\t}.call(this));\n",
       "\t\n",
       "\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(5)(module)))\n",
       "\n",
       "/***/ }),\n",
       "/* 5 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tmodule.exports = function(module) {\n",
       "\t\tif(!module.webpackPolyfill) {\n",
       "\t\t\tmodule.deprecate = function() {};\n",
       "\t\t\tmodule.paths = [];\n",
       "\t\t\t// module.parent = undefined by default\n",
       "\t\t\tmodule.children = [];\n",
       "\t\t\tmodule.webpackPolyfill = 1;\n",
       "\t\t}\n",
       "\t\treturn module;\n",
       "\t}\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 6 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t\n",
       "\tObject.defineProperty(exports, \"__esModule\", {\n",
       "\t  value: true\n",
       "\t});\n",
       "\t\n",
       "\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n",
       "\t\n",
       "\tvar _d2 = __webpack_require__(2);\n",
       "\t\n",
       "\tvar _d3 = _interopRequireDefault(_d2);\n",
       "\t\n",
       "\tvar _lodash = __webpack_require__(4);\n",
       "\t\n",
       "\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n",
       "\t\n",
       "\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n",
       "\t\n",
       "\tvar PredictProba = function () {\n",
       "\t  // svg: d3 object with the svg in question\n",
       "\t  // class_names: array of class names\n",
       "\t  // predict_probas: array of prediction probabilities\n",
       "\t  function PredictProba(svg, class_names, predict_probas) {\n",
       "\t    var title = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'Prediction probabilities';\n",
       "\t\n",
       "\t    _classCallCheck(this, PredictProba);\n",
       "\t\n",
       "\t    var width = parseInt(svg.style('width'));\n",
       "\t    this.names = class_names;\n",
       "\t    this.names.push('Other');\n",
       "\t    if (class_names.length < 10) {\n",
       "\t      this.colors = _d3.default.scale.category10().domain(this.names);\n",
       "\t      this.colors_i = _d3.default.scale.category10().domain((0, _lodash.range)(this.names.length));\n",
       "\t    } else {\n",
       "\t      this.colors = _d3.default.scale.category20().domain(this.names);\n",
       "\t      this.colors_i = _d3.default.scale.category20().domain((0, _lodash.range)(this.names.length));\n",
       "\t    }\n",
       "\t\n",
       "\t    var _map_classes = this.map_classes(this.names, predict_probas),\n",
       "\t        _map_classes2 = _slicedToArray(_map_classes, 2),\n",
       "\t        names = _map_classes2[0],\n",
       "\t        data = _map_classes2[1];\n",
       "\t\n",
       "\t    var bar_x = width - 125;\n",
       "\t    var class_names_width = bar_x;\n",
       "\t    var bar_width = width - bar_x - 32;\n",
       "\t    var x_scale = _d3.default.scale.linear().range([0, bar_width]);\n",
       "\t    var bar_height = 17;\n",
       "\t    var space_between_bars = 5;\n",
       "\t    var bar_yshift = title === '' ? 0 : 35;\n",
       "\t    var n_bars = Math.min(5, data.length);\n",
       "\t    this.svg_height = n_bars * (bar_height + space_between_bars) + bar_yshift;\n",
       "\t    svg.style('height', this.svg_height + 'px');\n",
       "\t    var this_object = this;\n",
       "\t    if (title !== '') {\n",
       "\t      svg.append('text').text(title).attr('x', 20).attr('y', 20);\n",
       "\t    }\n",
       "\t    var bar_y = function bar_y(i) {\n",
       "\t      return (bar_height + space_between_bars) * i + bar_yshift;\n",
       "\t    };\n",
       "\t    var bar = svg.append(\"g\");\n",
       "\t\n",
       "\t    var _iteratorNormalCompletion = true;\n",
       "\t    var _didIteratorError = false;\n",
       "\t    var _iteratorError = undefined;\n",
       "\t\n",
       "\t    try {\n",
       "\t      for (var _iterator = (0, _lodash.range)(data.length)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n",
       "\t        var i = _step.value;\n",
       "\t\n",
       "\t        var color = this.colors(names[i]);\n",
       "\t        if (names[i] == 'Other' && this.names.length > 20) {\n",
       "\t          color = '#5F9EA0';\n",
       "\t        }\n",
       "\t        var rect = bar.append(\"rect\");\n",
       "\t        rect.attr(\"x\", bar_x).attr(\"y\", bar_y(i)).attr(\"height\", bar_height).attr(\"width\", x_scale(data[i])).style(\"fill\", color);\n",
       "\t        bar.append(\"rect\").attr(\"x\", bar_x).attr(\"y\", bar_y(i)).attr(\"height\", bar_height).attr(\"width\", bar_width - 1).attr(\"fill-opacity\", 0).attr(\"stroke\", \"black\");\n",
       "\t        var text = bar.append(\"text\");\n",
       "\t        text.classed(\"prob_text\", true);\n",
       "\t        text.attr(\"y\", bar_y(i) + bar_height - 3).attr(\"fill\", \"black\").style(\"font\", \"14px tahoma, sans-serif\");\n",
       "\t        text = bar.append(\"text\");\n",
       "\t        text.attr(\"x\", bar_x + x_scale(data[i]) + 5).attr(\"y\", bar_y(i) + bar_height - 3).attr(\"fill\", \"black\").style(\"font\", \"14px tahoma, sans-serif\").text(data[i].toFixed(2));\n",
       "\t        text = bar.append(\"text\");\n",
       "\t        text.attr(\"x\", bar_x - 10).attr(\"y\", bar_y(i) + bar_height - 3).attr(\"fill\", \"black\").attr(\"text-anchor\", \"end\").style(\"font\", \"14px tahoma, sans-serif\").text(names[i]);\n",
       "\t        while (text.node().getBBox()['width'] + 1 > class_names_width - 10) {\n",
       "\t          // TODO: ta mostrando só dois, e talvez quando hover mostrar o texto\n",
       "\t          // todo\n",
       "\t          var cur_text = text.text().slice(0, text.text().length - 5);\n",
       "\t          text.text(cur_text + '...');\n",
       "\t          if (cur_text === '') {\n",
       "\t            break;\n",
       "\t          }\n",
       "\t        }\n",
       "\t      }\n",
       "\t    } catch (err) {\n",
       "\t      _didIteratorError = true;\n",
       "\t      _iteratorError = err;\n",
       "\t    } finally {\n",
       "\t      try {\n",
       "\t        if (!_iteratorNormalCompletion && _iterator.return) {\n",
       "\t          _iterator.return();\n",
       "\t        }\n",
       "\t      } finally {\n",
       "\t        if (_didIteratorError) {\n",
       "\t          throw _iteratorError;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t  }\n",
       "\t\n",
       "\t  PredictProba.prototype.map_classes = function map_classes(class_names, predict_proba) {\n",
       "\t    if (class_names.length <= 6) {\n",
       "\t      return [class_names, predict_proba];\n",
       "\t    }\n",
       "\t    var class_dict = (0, _lodash.range)(predict_proba.length).map(function (i) {\n",
       "\t      return { 'name': class_names[i], 'prob': predict_proba[i], 'i': i };\n",
       "\t    });\n",
       "\t    var sorted = (0, _lodash.sortBy)(class_dict, function (d) {\n",
       "\t      return -d.prob;\n",
       "\t    });\n",
       "\t    var other = new Set();\n",
       "\t    (0, _lodash.range)(4, sorted.length).map(function (d) {\n",
       "\t      return other.add(sorted[d].name);\n",
       "\t    });\n",
       "\t    var other_prob = 0;\n",
       "\t    var ret_probs = [];\n",
       "\t    var ret_names = [];\n",
       "\t    var _iteratorNormalCompletion2 = true;\n",
       "\t    var _didIteratorError2 = false;\n",
       "\t    var _iteratorError2 = undefined;\n",
       "\t\n",
       "\t    try {\n",
       "\t      for (var _iterator2 = (0, _lodash.range)(sorted.length)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n",
       "\t        var d = _step2.value;\n",
       "\t\n",
       "\t        if (other.has(sorted[d].name)) {\n",
       "\t          other_prob += sorted[d].prob;\n",
       "\t        } else {\n",
       "\t          ret_probs.push(sorted[d].prob);\n",
       "\t          ret_names.push(sorted[d].name);\n",
       "\t        }\n",
       "\t      }\n",
       "\t    } catch (err) {\n",
       "\t      _didIteratorError2 = true;\n",
       "\t      _iteratorError2 = err;\n",
       "\t    } finally {\n",
       "\t      try {\n",
       "\t        if (!_iteratorNormalCompletion2 && _iterator2.return) {\n",
       "\t          _iterator2.return();\n",
       "\t        }\n",
       "\t      } finally {\n",
       "\t        if (_didIteratorError2) {\n",
       "\t          throw _iteratorError2;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    ;\n",
       "\t    ret_names.push(\"Other\");\n",
       "\t    ret_probs.push(other_prob);\n",
       "\t    return [ret_names, ret_probs];\n",
       "\t  };\n",
       "\t\n",
       "\t  return PredictProba;\n",
       "\t}();\n",
       "\t\n",
       "\texports.default = PredictProba;\n",
       "\n",
       "/***/ }),\n",
       "/* 7 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t\n",
       "\tObject.defineProperty(exports, \"__esModule\", {\n",
       "\t    value: true\n",
       "\t});\n",
       "\t\n",
       "\tvar _d = __webpack_require__(2);\n",
       "\t\n",
       "\tvar _d2 = _interopRequireDefault(_d);\n",
       "\t\n",
       "\tvar _lodash = __webpack_require__(4);\n",
       "\t\n",
       "\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n",
       "\t\n",
       "\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n",
       "\t\n",
       "\tvar PredictedValue =\n",
       "\t// svg: d3 object with the svg in question\n",
       "\t// class_names: array of class names\n",
       "\t// predict_probas: array of prediction probabilities\n",
       "\tfunction PredictedValue(svg, predicted_value, min_value, max_value) {\n",
       "\t    var title = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'Predicted value';\n",
       "\t    var log_coords = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n",
       "\t\n",
       "\t    _classCallCheck(this, PredictedValue);\n",
       "\t\n",
       "\t    if (min_value == max_value) {\n",
       "\t        var width_proportion = 1.0;\n",
       "\t    } else {\n",
       "\t        var width_proportion = (predicted_value - min_value) / (max_value - min_value);\n",
       "\t    }\n",
       "\t\n",
       "\t    var width = parseInt(svg.style('width'));\n",
       "\t\n",
       "\t    this.color = _d2.default.scale.category10();\n",
       "\t    this.color('predicted_value');\n",
       "\t    // + 2 is due to it being a float\n",
       "\t    console.log('CREATING THIS');\n",
       "\t    var num_digits = Math.floor(Math.max(Math.log10(Math.abs(min_value)), Math.log10(Math.abs(max_value)))) + 2;\n",
       "\t    num_digits = Math.max(num_digits, 3);\n",
       "\t\n",
       "\t    var corner_width = 12 * num_digits;\n",
       "\t    var corner_padding = 5.5 * num_digits;\n",
       "\t    var bar_x = corner_width + corner_padding;\n",
       "\t    var bar_width = width - corner_width * 2 - corner_padding * 2;\n",
       "\t    var x_scale = _d2.default.scale.linear().range([0, bar_width]);\n",
       "\t    var bar_height = 17;\n",
       "\t    var bar_yshift = title === '' ? 0 : 35;\n",
       "\t    var n_bars = 1;\n",
       "\t    var this_object = this;\n",
       "\t    if (title !== '') {\n",
       "\t        svg.append('text').text(title).attr('x', 20).attr('y', 20);\n",
       "\t    }\n",
       "\t    var bar_y = bar_yshift;\n",
       "\t    var bar = svg.append(\"g\");\n",
       "\t\n",
       "\t    //filled in bar representing predicted value in range\n",
       "\t    var rect = bar.append(\"rect\");\n",
       "\t    rect.attr(\"x\", bar_x).attr(\"y\", bar_y).attr(\"height\", bar_height).attr(\"width\", x_scale(width_proportion)).style(\"fill\", this.color);\n",
       "\t\n",
       "\t    //empty box representing range\n",
       "\t    bar.append(\"rect\").attr(\"x\", bar_x).attr(\"y\", bar_y).attr(\"height\", bar_height).attr(\"width\", x_scale(1)).attr(\"fill-opacity\", 0).attr(\"stroke\", \"black\");\n",
       "\t    var text = bar.append(\"text\");\n",
       "\t    text.classed(\"prob_text\", true);\n",
       "\t    text.attr(\"y\", bar_y + bar_height - 3).attr(\"fill\", \"black\").style(\"font\", \"14px tahoma, sans-serif\");\n",
       "\t\n",
       "\t    //text for min value\n",
       "\t    text = bar.append(\"text\");\n",
       "\t    text.attr(\"x\", bar_x - corner_padding).attr(\"y\", bar_y + bar_height - 3).attr(\"fill\", \"black\").attr(\"text-anchor\", \"end\").style(\"font\", \"14px tahoma, sans-serif\").text(min_value.toFixed(2));\n",
       "\t\n",
       "\t    //text for range min annotation\n",
       "\t    var v_adjust_min_value_annotation = text.node().getBBox().height;\n",
       "\t    text = bar.append(\"text\");\n",
       "\t    text.attr(\"x\", bar_x - corner_padding).attr(\"y\", bar_y + bar_height - 3 + v_adjust_min_value_annotation).attr(\"fill\", \"black\").attr(\"text-anchor\", \"end\").style(\"font\", \"14px tahoma, sans-serif\").text(\"(min)\");\n",
       "\t\n",
       "\t    //text for predicted value\n",
       "\t    // console.log('bar height: ' + bar_height)\n",
       "\t    text = bar.append(\"text\");\n",
       "\t    text.text(predicted_value.toFixed(2));\n",
       "\t    // let h_adjust_predicted_value_text = text.node().getBBox().width / 2;\n",
       "\t    var v_adjust_predicted_value_text = text.node().getBBox().height;\n",
       "\t    text.attr(\"x\", bar_x + x_scale(width_proportion)).attr(\"y\", bar_y + bar_height + v_adjust_predicted_value_text).attr(\"fill\", \"black\").attr(\"text-anchor\", \"middle\").style(\"font\", \"14px tahoma, sans-serif\");\n",
       "\t\n",
       "\t    //text for max value\n",
       "\t    text = bar.append(\"text\");\n",
       "\t    text.text(max_value.toFixed(2));\n",
       "\t    // let h_adjust = text.node().getBBox().width;\n",
       "\t    text.attr(\"x\", bar_x + bar_width + corner_padding).attr(\"y\", bar_y + bar_height - 3).attr(\"fill\", \"black\").attr(\"text-anchor\", \"begin\").style(\"font\", \"14px tahoma, sans-serif\");\n",
       "\t\n",
       "\t    //text for range max annotation\n",
       "\t    var v_adjust_max_value_annotation = text.node().getBBox().height;\n",
       "\t    text = bar.append(\"text\");\n",
       "\t    text.attr(\"x\", bar_x + bar_width + corner_padding).attr(\"y\", bar_y + bar_height - 3 + v_adjust_min_value_annotation).attr(\"fill\", \"black\").attr(\"text-anchor\", \"begin\").style(\"font\", \"14px tahoma, sans-serif\").text(\"(max)\");\n",
       "\t\n",
       "\t    //readjust svg size\n",
       "\t    // let svg_width = width + 1 * h_adjust;\n",
       "\t    // svg.style('width', svg_width + 'px');\n",
       "\t\n",
       "\t    this.svg_height = n_bars * bar_height + bar_yshift + 2 * text.node().getBBox().height + 10;\n",
       "\t    svg.style('height', this.svg_height + 'px');\n",
       "\t    if (log_coords) {\n",
       "\t        console.log(\"svg width: \" + svg_width);\n",
       "\t        console.log(\"svg height: \" + this.svg_height);\n",
       "\t        console.log(\"bar_y: \" + bar_y);\n",
       "\t        console.log(\"bar_x: \" + bar_x);\n",
       "\t        console.log(\"Min value: \" + min_value);\n",
       "\t        console.log(\"Max value: \" + max_value);\n",
       "\t        console.log(\"Pred value: \" + predicted_value);\n",
       "\t    }\n",
       "\t};\n",
       "\t\n",
       "\texports.default = PredictedValue;\n",
       "\n",
       "/***/ }),\n",
       "/* 8 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t/* WEBPACK VAR INJECTION */(function(global) {\"use strict\";\n",
       "\t\n",
       "\t__webpack_require__(9);\n",
       "\t\n",
       "\t__webpack_require__(335);\n",
       "\t\n",
       "\t__webpack_require__(336);\n",
       "\t\n",
       "\tif (global._babelPolyfill) {\n",
       "\t  throw new Error(\"only one instance of babel-polyfill is allowed\");\n",
       "\t}\n",
       "\tglobal._babelPolyfill = true;\n",
       "\t\n",
       "\tvar DEFINE_PROPERTY = \"defineProperty\";\n",
       "\tfunction define(O, key, value) {\n",
       "\t  O[key] || Object[DEFINE_PROPERTY](O, key, {\n",
       "\t    writable: true,\n",
       "\t    configurable: true,\n",
       "\t    value: value\n",
       "\t  });\n",
       "\t}\n",
       "\t\n",
       "\tdefine(String.prototype, \"padLeft\", \"\".padStart);\n",
       "\tdefine(String.prototype, \"padRight\", \"\".padEnd);\n",
       "\t\n",
       "\t\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n",
       "\t  [][key] && define(Array, key, Function.call.bind([][key]));\n",
       "\t});\n",
       "\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n",
       "\n",
       "/***/ }),\n",
       "/* 9 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(10);\n",
       "\t__webpack_require__(59);\n",
       "\t__webpack_require__(60);\n",
       "\t__webpack_require__(61);\n",
       "\t__webpack_require__(62);\n",
       "\t__webpack_require__(64);\n",
       "\t__webpack_require__(67);\n",
       "\t__webpack_require__(68);\n",
       "\t__webpack_require__(69);\n",
       "\t__webpack_require__(70);\n",
       "\t__webpack_require__(71);\n",
       "\t__webpack_require__(72);\n",
       "\t__webpack_require__(73);\n",
       "\t__webpack_require__(74);\n",
       "\t__webpack_require__(75);\n",
       "\t__webpack_require__(77);\n",
       "\t__webpack_require__(79);\n",
       "\t__webpack_require__(81);\n",
       "\t__webpack_require__(83);\n",
       "\t__webpack_require__(86);\n",
       "\t__webpack_require__(87);\n",
       "\t__webpack_require__(88);\n",
       "\t__webpack_require__(92);\n",
       "\t__webpack_require__(94);\n",
       "\t__webpack_require__(96);\n",
       "\t__webpack_require__(99);\n",
       "\t__webpack_require__(100);\n",
       "\t__webpack_require__(101);\n",
       "\t__webpack_require__(102);\n",
       "\t__webpack_require__(104);\n",
       "\t__webpack_require__(105);\n",
       "\t__webpack_require__(106);\n",
       "\t__webpack_require__(107);\n",
       "\t__webpack_require__(108);\n",
       "\t__webpack_require__(109);\n",
       "\t__webpack_require__(110);\n",
       "\t__webpack_require__(112);\n",
       "\t__webpack_require__(113);\n",
       "\t__webpack_require__(114);\n",
       "\t__webpack_require__(116);\n",
       "\t__webpack_require__(117);\n",
       "\t__webpack_require__(118);\n",
       "\t__webpack_require__(120);\n",
       "\t__webpack_require__(122);\n",
       "\t__webpack_require__(123);\n",
       "\t__webpack_require__(124);\n",
       "\t__webpack_require__(125);\n",
       "\t__webpack_require__(126);\n",
       "\t__webpack_require__(127);\n",
       "\t__webpack_require__(128);\n",
       "\t__webpack_require__(129);\n",
       "\t__webpack_require__(130);\n",
       "\t__webpack_require__(131);\n",
       "\t__webpack_require__(132);\n",
       "\t__webpack_require__(133);\n",
       "\t__webpack_require__(134);\n",
       "\t__webpack_require__(139);\n",
       "\t__webpack_require__(140);\n",
       "\t__webpack_require__(144);\n",
       "\t__webpack_require__(145);\n",
       "\t__webpack_require__(146);\n",
       "\t__webpack_require__(147);\n",
       "\t__webpack_require__(149);\n",
       "\t__webpack_require__(150);\n",
       "\t__webpack_require__(151);\n",
       "\t__webpack_require__(152);\n",
       "\t__webpack_require__(153);\n",
       "\t__webpack_require__(154);\n",
       "\t__webpack_require__(155);\n",
       "\t__webpack_require__(156);\n",
       "\t__webpack_require__(157);\n",
       "\t__webpack_require__(158);\n",
       "\t__webpack_require__(159);\n",
       "\t__webpack_require__(160);\n",
       "\t__webpack_require__(161);\n",
       "\t__webpack_require__(162);\n",
       "\t__webpack_require__(163);\n",
       "\t__webpack_require__(165);\n",
       "\t__webpack_require__(166);\n",
       "\t__webpack_require__(168);\n",
       "\t__webpack_require__(169);\n",
       "\t__webpack_require__(175);\n",
       "\t__webpack_require__(176);\n",
       "\t__webpack_require__(178);\n",
       "\t__webpack_require__(179);\n",
       "\t__webpack_require__(180);\n",
       "\t__webpack_require__(184);\n",
       "\t__webpack_require__(185);\n",
       "\t__webpack_require__(186);\n",
       "\t__webpack_require__(187);\n",
       "\t__webpack_require__(188);\n",
       "\t__webpack_require__(190);\n",
       "\t__webpack_require__(191);\n",
       "\t__webpack_require__(192);\n",
       "\t__webpack_require__(193);\n",
       "\t__webpack_require__(196);\n",
       "\t__webpack_require__(198);\n",
       "\t__webpack_require__(199);\n",
       "\t__webpack_require__(200);\n",
       "\t__webpack_require__(202);\n",
       "\t__webpack_require__(204);\n",
       "\t__webpack_require__(206);\n",
       "\t__webpack_require__(208);\n",
       "\t__webpack_require__(209);\n",
       "\t__webpack_require__(210);\n",
       "\t__webpack_require__(214);\n",
       "\t__webpack_require__(215);\n",
       "\t__webpack_require__(216);\n",
       "\t__webpack_require__(218);\n",
       "\t__webpack_require__(228);\n",
       "\t__webpack_require__(232);\n",
       "\t__webpack_require__(233);\n",
       "\t__webpack_require__(235);\n",
       "\t__webpack_require__(236);\n",
       "\t__webpack_require__(240);\n",
       "\t__webpack_require__(241);\n",
       "\t__webpack_require__(243);\n",
       "\t__webpack_require__(244);\n",
       "\t__webpack_require__(245);\n",
       "\t__webpack_require__(246);\n",
       "\t__webpack_require__(247);\n",
       "\t__webpack_require__(248);\n",
       "\t__webpack_require__(249);\n",
       "\t__webpack_require__(250);\n",
       "\t__webpack_require__(251);\n",
       "\t__webpack_require__(252);\n",
       "\t__webpack_require__(253);\n",
       "\t__webpack_require__(254);\n",
       "\t__webpack_require__(255);\n",
       "\t__webpack_require__(256);\n",
       "\t__webpack_require__(257);\n",
       "\t__webpack_require__(258);\n",
       "\t__webpack_require__(259);\n",
       "\t__webpack_require__(260);\n",
       "\t__webpack_require__(261);\n",
       "\t__webpack_require__(263);\n",
       "\t__webpack_require__(264);\n",
       "\t__webpack_require__(265);\n",
       "\t__webpack_require__(266);\n",
       "\t__webpack_require__(267);\n",
       "\t__webpack_require__(269);\n",
       "\t__webpack_require__(270);\n",
       "\t__webpack_require__(271);\n",
       "\t__webpack_require__(273);\n",
       "\t__webpack_require__(274);\n",
       "\t__webpack_require__(275);\n",
       "\t__webpack_require__(276);\n",
       "\t__webpack_require__(277);\n",
       "\t__webpack_require__(278);\n",
       "\t__webpack_require__(279);\n",
       "\t__webpack_require__(280);\n",
       "\t__webpack_require__(282);\n",
       "\t__webpack_require__(283);\n",
       "\t__webpack_require__(285);\n",
       "\t__webpack_require__(286);\n",
       "\t__webpack_require__(287);\n",
       "\t__webpack_require__(288);\n",
       "\t__webpack_require__(291);\n",
       "\t__webpack_require__(292);\n",
       "\t__webpack_require__(294);\n",
       "\t__webpack_require__(295);\n",
       "\t__webpack_require__(296);\n",
       "\t__webpack_require__(297);\n",
       "\t__webpack_require__(299);\n",
       "\t__webpack_require__(300);\n",
       "\t__webpack_require__(301);\n",
       "\t__webpack_require__(302);\n",
       "\t__webpack_require__(303);\n",
       "\t__webpack_require__(304);\n",
       "\t__webpack_require__(305);\n",
       "\t__webpack_require__(306);\n",
       "\t__webpack_require__(307);\n",
       "\t__webpack_require__(308);\n",
       "\t__webpack_require__(310);\n",
       "\t__webpack_require__(311);\n",
       "\t__webpack_require__(312);\n",
       "\t__webpack_require__(313);\n",
       "\t__webpack_require__(314);\n",
       "\t__webpack_require__(315);\n",
       "\t__webpack_require__(316);\n",
       "\t__webpack_require__(317);\n",
       "\t__webpack_require__(318);\n",
       "\t__webpack_require__(319);\n",
       "\t__webpack_require__(320);\n",
       "\t__webpack_require__(322);\n",
       "\t__webpack_require__(323);\n",
       "\t__webpack_require__(324);\n",
       "\t__webpack_require__(325);\n",
       "\t__webpack_require__(326);\n",
       "\t__webpack_require__(327);\n",
       "\t__webpack_require__(328);\n",
       "\t__webpack_require__(329);\n",
       "\t__webpack_require__(330);\n",
       "\t__webpack_require__(331);\n",
       "\t__webpack_require__(332);\n",
       "\t__webpack_require__(333);\n",
       "\t__webpack_require__(334);\n",
       "\tmodule.exports = __webpack_require__(16);\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 10 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// ECMAScript 6 symbols shim\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar has = __webpack_require__(12);\n",
       "\tvar DESCRIPTORS = __webpack_require__(13);\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar redefine = __webpack_require__(25);\n",
       "\tvar META = __webpack_require__(32).KEY;\n",
       "\tvar $fails = __webpack_require__(14);\n",
       "\tvar shared = __webpack_require__(28);\n",
       "\tvar setToStringTag = __webpack_require__(33);\n",
       "\tvar uid = __webpack_require__(26);\n",
       "\tvar wks = __webpack_require__(34);\n",
       "\tvar wksExt = __webpack_require__(35);\n",
       "\tvar wksDefine = __webpack_require__(36);\n",
       "\tvar enumKeys = __webpack_require__(37);\n",
       "\tvar isArray = __webpack_require__(52);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar toIObject = __webpack_require__(40);\n",
       "\tvar toPrimitive = __webpack_require__(23);\n",
       "\tvar createDesc = __webpack_require__(24);\n",
       "\tvar _create = __webpack_require__(53);\n",
       "\tvar gOPNExt = __webpack_require__(56);\n",
       "\tvar $GOPD = __webpack_require__(58);\n",
       "\tvar $DP = __webpack_require__(18);\n",
       "\tvar $keys = __webpack_require__(38);\n",
       "\tvar gOPD = $GOPD.f;\n",
       "\tvar dP = $DP.f;\n",
       "\tvar gOPN = gOPNExt.f;\n",
       "\tvar $Symbol = global.Symbol;\n",
       "\tvar $JSON = global.JSON;\n",
       "\tvar _stringify = $JSON && $JSON.stringify;\n",
       "\tvar PROTOTYPE = 'prototype';\n",
       "\tvar HIDDEN = wks('_hidden');\n",
       "\tvar TO_PRIMITIVE = wks('toPrimitive');\n",
       "\tvar isEnum = {}.propertyIsEnumerable;\n",
       "\tvar SymbolRegistry = shared('symbol-registry');\n",
       "\tvar AllSymbols = shared('symbols');\n",
       "\tvar OPSymbols = shared('op-symbols');\n",
       "\tvar ObjectProto = Object[PROTOTYPE];\n",
       "\tvar USE_NATIVE = typeof $Symbol == 'function';\n",
       "\tvar QObject = global.QObject;\n",
       "\t// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\n",
       "\tvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n",
       "\t\n",
       "\t// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\n",
       "\tvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n",
       "\t  return _create(dP({}, 'a', {\n",
       "\t    get: function () { return dP(this, 'a', { value: 7 }).a; }\n",
       "\t  })).a != 7;\n",
       "\t}) ? function (it, key, D) {\n",
       "\t  var protoDesc = gOPD(ObjectProto, key);\n",
       "\t  if (protoDesc) delete ObjectProto[key];\n",
       "\t  dP(it, key, D);\n",
       "\t  if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n",
       "\t} : dP;\n",
       "\t\n",
       "\tvar wrap = function (tag) {\n",
       "\t  var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n",
       "\t  sym._k = tag;\n",
       "\t  return sym;\n",
       "\t};\n",
       "\t\n",
       "\tvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n",
       "\t  return typeof it == 'symbol';\n",
       "\t} : function (it) {\n",
       "\t  return it instanceof $Symbol;\n",
       "\t};\n",
       "\t\n",
       "\tvar $defineProperty = function defineProperty(it, key, D) {\n",
       "\t  if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n",
       "\t  anObject(it);\n",
       "\t  key = toPrimitive(key, true);\n",
       "\t  anObject(D);\n",
       "\t  if (has(AllSymbols, key)) {\n",
       "\t    if (!D.enumerable) {\n",
       "\t      if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n",
       "\t      it[HIDDEN][key] = true;\n",
       "\t    } else {\n",
       "\t      if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n",
       "\t      D = _create(D, { enumerable: createDesc(0, false) });\n",
       "\t    } return setSymbolDesc(it, key, D);\n",
       "\t  } return dP(it, key, D);\n",
       "\t};\n",
       "\tvar $defineProperties = function defineProperties(it, P) {\n",
       "\t  anObject(it);\n",
       "\t  var keys = enumKeys(P = toIObject(P));\n",
       "\t  var i = 0;\n",
       "\t  var l = keys.length;\n",
       "\t  var key;\n",
       "\t  while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n",
       "\t  return it;\n",
       "\t};\n",
       "\tvar $create = function create(it, P) {\n",
       "\t  return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n",
       "\t};\n",
       "\tvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n",
       "\t  var E = isEnum.call(this, key = toPrimitive(key, true));\n",
       "\t  if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n",
       "\t  return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n",
       "\t};\n",
       "\tvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n",
       "\t  it = toIObject(it);\n",
       "\t  key = toPrimitive(key, true);\n",
       "\t  if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n",
       "\t  var D = gOPD(it, key);\n",
       "\t  if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n",
       "\t  return D;\n",
       "\t};\n",
       "\tvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n",
       "\t  var names = gOPN(toIObject(it));\n",
       "\t  var result = [];\n",
       "\t  var i = 0;\n",
       "\t  var key;\n",
       "\t  while (names.length > i) {\n",
       "\t    if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n",
       "\t  } return result;\n",
       "\t};\n",
       "\tvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n",
       "\t  var IS_OP = it === ObjectProto;\n",
       "\t  var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n",
       "\t  var result = [];\n",
       "\t  var i = 0;\n",
       "\t  var key;\n",
       "\t  while (names.length > i) {\n",
       "\t    if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n",
       "\t  } return result;\n",
       "\t};\n",
       "\t\n",
       "\t// 19.4.1.1 Symbol([description])\n",
       "\tif (!USE_NATIVE) {\n",
       "\t  $Symbol = function Symbol() {\n",
       "\t    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n",
       "\t    var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n",
       "\t    var $set = function (value) {\n",
       "\t      if (this === ObjectProto) $set.call(OPSymbols, value);\n",
       "\t      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n",
       "\t      setSymbolDesc(this, tag, createDesc(1, value));\n",
       "\t    };\n",
       "\t    if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n",
       "\t    return wrap(tag);\n",
       "\t  };\n",
       "\t  redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n",
       "\t    return this._k;\n",
       "\t  });\n",
       "\t\n",
       "\t  $GOPD.f = $getOwnPropertyDescriptor;\n",
       "\t  $DP.f = $defineProperty;\n",
       "\t  __webpack_require__(57).f = gOPNExt.f = $getOwnPropertyNames;\n",
       "\t  __webpack_require__(51).f = $propertyIsEnumerable;\n",
       "\t  __webpack_require__(50).f = $getOwnPropertySymbols;\n",
       "\t\n",
       "\t  if (DESCRIPTORS && !__webpack_require__(29)) {\n",
       "\t    redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n",
       "\t  }\n",
       "\t\n",
       "\t  wksExt.f = function (name) {\n",
       "\t    return wrap(wks(name));\n",
       "\t  };\n",
       "\t}\n",
       "\t\n",
       "\t$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n",
       "\t\n",
       "\tfor (var es6Symbols = (\n",
       "\t  // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n",
       "\t  'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n",
       "\t).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n",
       "\t\n",
       "\tfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n",
       "\t\n",
       "\t$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n",
       "\t  // 19.4.2.1 Symbol.for(key)\n",
       "\t  'for': function (key) {\n",
       "\t    return has(SymbolRegistry, key += '')\n",
       "\t      ? SymbolRegistry[key]\n",
       "\t      : SymbolRegistry[key] = $Symbol(key);\n",
       "\t  },\n",
       "\t  // 19.4.2.5 Symbol.keyFor(sym)\n",
       "\t  keyFor: function keyFor(sym) {\n",
       "\t    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n",
       "\t    for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n",
       "\t  },\n",
       "\t  useSetter: function () { setter = true; },\n",
       "\t  useSimple: function () { setter = false; }\n",
       "\t});\n",
       "\t\n",
       "\t$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n",
       "\t  // 19.1.2.2 Object.create(O [, Properties])\n",
       "\t  create: $create,\n",
       "\t  // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n",
       "\t  defineProperty: $defineProperty,\n",
       "\t  // 19.1.2.3 Object.defineProperties(O, Properties)\n",
       "\t  defineProperties: $defineProperties,\n",
       "\t  // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n",
       "\t  getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n",
       "\t  // 19.1.2.7 Object.getOwnPropertyNames(O)\n",
       "\t  getOwnPropertyNames: $getOwnPropertyNames,\n",
       "\t  // 19.1.2.8 Object.getOwnPropertySymbols(O)\n",
       "\t  getOwnPropertySymbols: $getOwnPropertySymbols\n",
       "\t});\n",
       "\t\n",
       "\t// 24.3.2 JSON.stringify(value [, replacer [, space]])\n",
       "\t$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n",
       "\t  var S = $Symbol();\n",
       "\t  // MS Edge converts symbol values to JSON as {}\n",
       "\t  // WebKit converts symbol values to JSON as null\n",
       "\t  // V8 throws on boxed symbols\n",
       "\t  return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n",
       "\t})), 'JSON', {\n",
       "\t  stringify: function stringify(it) {\n",
       "\t    var args = [it];\n",
       "\t    var i = 1;\n",
       "\t    var replacer, $replacer;\n",
       "\t    while (arguments.length > i) args.push(arguments[i++]);\n",
       "\t    $replacer = replacer = args[1];\n",
       "\t    if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n",
       "\t    if (!isArray(replacer)) replacer = function (key, value) {\n",
       "\t      if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n",
       "\t      if (!isSymbol(value)) return value;\n",
       "\t    };\n",
       "\t    args[1] = replacer;\n",
       "\t    return _stringify.apply($JSON, args);\n",
       "\t  }\n",
       "\t});\n",
       "\t\n",
       "\t// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n",
       "\t$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(17)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n",
       "\t// 19.4.3.5 Symbol.prototype[@@toStringTag]\n",
       "\tsetToStringTag($Symbol, 'Symbol');\n",
       "\t// 20.2.1.9 Math[@@toStringTag]\n",
       "\tsetToStringTag(Math, 'Math', true);\n",
       "\t// 24.3.3 JSON[@@toStringTag]\n",
       "\tsetToStringTag(global.JSON, 'JSON', true);\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 11 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\t// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n",
       "\tvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n",
       "\t  ? window : typeof self != 'undefined' && self.Math == Math ? self\n",
       "\t  // eslint-disable-next-line no-new-func\n",
       "\t  : Function('return this')();\n",
       "\tif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 12 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tvar hasOwnProperty = {}.hasOwnProperty;\n",
       "\tmodule.exports = function (it, key) {\n",
       "\t  return hasOwnProperty.call(it, key);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 13 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// Thank's IE8 for his funny defineProperty\n",
       "\tmodule.exports = !__webpack_require__(14)(function () {\n",
       "\t  return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 14 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tmodule.exports = function (exec) {\n",
       "\t  try {\n",
       "\t    return !!exec();\n",
       "\t  } catch (e) {\n",
       "\t    return true;\n",
       "\t  }\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 15 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar core = __webpack_require__(16);\n",
       "\tvar hide = __webpack_require__(17);\n",
       "\tvar redefine = __webpack_require__(25);\n",
       "\tvar ctx = __webpack_require__(30);\n",
       "\tvar PROTOTYPE = 'prototype';\n",
       "\t\n",
       "\tvar $export = function (type, name, source) {\n",
       "\t  var IS_FORCED = type & $export.F;\n",
       "\t  var IS_GLOBAL = type & $export.G;\n",
       "\t  var IS_STATIC = type & $export.S;\n",
       "\t  var IS_PROTO = type & $export.P;\n",
       "\t  var IS_BIND = type & $export.B;\n",
       "\t  var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n",
       "\t  var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n",
       "\t  var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n",
       "\t  var key, own, out, exp;\n",
       "\t  if (IS_GLOBAL) source = name;\n",
       "\t  for (key in source) {\n",
       "\t    // contains in native\n",
       "\t    own = !IS_FORCED && target && target[key] !== undefined;\n",
       "\t    // export native or passed\n",
       "\t    out = (own ? target : source)[key];\n",
       "\t    // bind timers to global for call from export context\n",
       "\t    exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n",
       "\t    // extend global\n",
       "\t    if (target) redefine(target, key, out, type & $export.U);\n",
       "\t    // export\n",
       "\t    if (exports[key] != out) hide(exports, key, exp);\n",
       "\t    if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n",
       "\t  }\n",
       "\t};\n",
       "\tglobal.core = core;\n",
       "\t// type bitmap\n",
       "\t$export.F = 1;   // forced\n",
       "\t$export.G = 2;   // global\n",
       "\t$export.S = 4;   // static\n",
       "\t$export.P = 8;   // proto\n",
       "\t$export.B = 16;  // bind\n",
       "\t$export.W = 32;  // wrap\n",
       "\t$export.U = 64;  // safe\n",
       "\t$export.R = 128; // real proto method for `library`\n",
       "\tmodule.exports = $export;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 16 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tvar core = module.exports = { version: '2.6.5' };\n",
       "\tif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 17 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar dP = __webpack_require__(18);\n",
       "\tvar createDesc = __webpack_require__(24);\n",
       "\tmodule.exports = __webpack_require__(13) ? function (object, key, value) {\n",
       "\t  return dP.f(object, key, createDesc(1, value));\n",
       "\t} : function (object, key, value) {\n",
       "\t  object[key] = value;\n",
       "\t  return object;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 18 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar IE8_DOM_DEFINE = __webpack_require__(21);\n",
       "\tvar toPrimitive = __webpack_require__(23);\n",
       "\tvar dP = Object.defineProperty;\n",
       "\t\n",
       "\texports.f = __webpack_require__(13) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n",
       "\t  anObject(O);\n",
       "\t  P = toPrimitive(P, true);\n",
       "\t  anObject(Attributes);\n",
       "\t  if (IE8_DOM_DEFINE) try {\n",
       "\t    return dP(O, P, Attributes);\n",
       "\t  } catch (e) { /* empty */ }\n",
       "\t  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n",
       "\t  if ('value' in Attributes) O[P] = Attributes.value;\n",
       "\t  return O;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 19 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tmodule.exports = function (it) {\n",
       "\t  if (!isObject(it)) throw TypeError(it + ' is not an object!');\n",
       "\t  return it;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 20 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tmodule.exports = function (it) {\n",
       "\t  return typeof it === 'object' ? it !== null : typeof it === 'function';\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 21 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tmodule.exports = !__webpack_require__(13) && !__webpack_require__(14)(function () {\n",
       "\t  return Object.defineProperty(__webpack_require__(22)('div'), 'a', { get: function () { return 7; } }).a != 7;\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 22 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar document = __webpack_require__(11).document;\n",
       "\t// typeof document.createElement is 'object' in old IE\n",
       "\tvar is = isObject(document) && isObject(document.createElement);\n",
       "\tmodule.exports = function (it) {\n",
       "\t  return is ? document.createElement(it) : {};\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 23 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 7.1.1 ToPrimitive(input [, PreferredType])\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\t// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n",
       "\t// and the second argument - flag - preferred type is a string\n",
       "\tmodule.exports = function (it, S) {\n",
       "\t  if (!isObject(it)) return it;\n",
       "\t  var fn, val;\n",
       "\t  if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n",
       "\t  if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n",
       "\t  if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n",
       "\t  throw TypeError(\"Can't convert object to primitive value\");\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 24 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tmodule.exports = function (bitmap, value) {\n",
       "\t  return {\n",
       "\t    enumerable: !(bitmap & 1),\n",
       "\t    configurable: !(bitmap & 2),\n",
       "\t    writable: !(bitmap & 4),\n",
       "\t    value: value\n",
       "\t  };\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 25 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar hide = __webpack_require__(17);\n",
       "\tvar has = __webpack_require__(12);\n",
       "\tvar SRC = __webpack_require__(26)('src');\n",
       "\tvar $toString = __webpack_require__(27);\n",
       "\tvar TO_STRING = 'toString';\n",
       "\tvar TPL = ('' + $toString).split(TO_STRING);\n",
       "\t\n",
       "\t__webpack_require__(16).inspectSource = function (it) {\n",
       "\t  return $toString.call(it);\n",
       "\t};\n",
       "\t\n",
       "\t(module.exports = function (O, key, val, safe) {\n",
       "\t  var isFunction = typeof val == 'function';\n",
       "\t  if (isFunction) has(val, 'name') || hide(val, 'name', key);\n",
       "\t  if (O[key] === val) return;\n",
       "\t  if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n",
       "\t  if (O === global) {\n",
       "\t    O[key] = val;\n",
       "\t  } else if (!safe) {\n",
       "\t    delete O[key];\n",
       "\t    hide(O, key, val);\n",
       "\t  } else if (O[key]) {\n",
       "\t    O[key] = val;\n",
       "\t  } else {\n",
       "\t    hide(O, key, val);\n",
       "\t  }\n",
       "\t// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n",
       "\t})(Function.prototype, TO_STRING, function toString() {\n",
       "\t  return typeof this == 'function' && this[SRC] || $toString.call(this);\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 26 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tvar id = 0;\n",
       "\tvar px = Math.random();\n",
       "\tmodule.exports = function (key) {\n",
       "\t  return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 27 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tmodule.exports = __webpack_require__(28)('native-function-to-string', Function.toString);\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 28 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar core = __webpack_require__(16);\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar SHARED = '__core-js_shared__';\n",
       "\tvar store = global[SHARED] || (global[SHARED] = {});\n",
       "\t\n",
       "\t(module.exports = function (key, value) {\n",
       "\t  return store[key] || (store[key] = value !== undefined ? value : {});\n",
       "\t})('versions', []).push({\n",
       "\t  version: core.version,\n",
       "\t  mode: __webpack_require__(29) ? 'pure' : 'global',\n",
       "\t  copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 29 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tmodule.exports = false;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 30 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// optional / simple context binding\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tmodule.exports = function (fn, that, length) {\n",
       "\t  aFunction(fn);\n",
       "\t  if (that === undefined) return fn;\n",
       "\t  switch (length) {\n",
       "\t    case 1: return function (a) {\n",
       "\t      return fn.call(that, a);\n",
       "\t    };\n",
       "\t    case 2: return function (a, b) {\n",
       "\t      return fn.call(that, a, b);\n",
       "\t    };\n",
       "\t    case 3: return function (a, b, c) {\n",
       "\t      return fn.call(that, a, b, c);\n",
       "\t    };\n",
       "\t  }\n",
       "\t  return function (/* ...args */) {\n",
       "\t    return fn.apply(that, arguments);\n",
       "\t  };\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 31 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tmodule.exports = function (it) {\n",
       "\t  if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n",
       "\t  return it;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 32 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar META = __webpack_require__(26)('meta');\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar has = __webpack_require__(12);\n",
       "\tvar setDesc = __webpack_require__(18).f;\n",
       "\tvar id = 0;\n",
       "\tvar isExtensible = Object.isExtensible || function () {\n",
       "\t  return true;\n",
       "\t};\n",
       "\tvar FREEZE = !__webpack_require__(14)(function () {\n",
       "\t  return isExtensible(Object.preventExtensions({}));\n",
       "\t});\n",
       "\tvar setMeta = function (it) {\n",
       "\t  setDesc(it, META, { value: {\n",
       "\t    i: 'O' + ++id, // object ID\n",
       "\t    w: {}          // weak collections IDs\n",
       "\t  } });\n",
       "\t};\n",
       "\tvar fastKey = function (it, create) {\n",
       "\t  // return primitive with prefix\n",
       "\t  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n",
       "\t  if (!has(it, META)) {\n",
       "\t    // can't set metadata to uncaught frozen object\n",
       "\t    if (!isExtensible(it)) return 'F';\n",
       "\t    // not necessary to add metadata\n",
       "\t    if (!create) return 'E';\n",
       "\t    // add missing metadata\n",
       "\t    setMeta(it);\n",
       "\t  // return object ID\n",
       "\t  } return it[META].i;\n",
       "\t};\n",
       "\tvar getWeak = function (it, create) {\n",
       "\t  if (!has(it, META)) {\n",
       "\t    // can't set metadata to uncaught frozen object\n",
       "\t    if (!isExtensible(it)) return true;\n",
       "\t    // not necessary to add metadata\n",
       "\t    if (!create) return false;\n",
       "\t    // add missing metadata\n",
       "\t    setMeta(it);\n",
       "\t  // return hash weak collections IDs\n",
       "\t  } return it[META].w;\n",
       "\t};\n",
       "\t// add metadata on freeze-family methods calling\n",
       "\tvar onFreeze = function (it) {\n",
       "\t  if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n",
       "\t  return it;\n",
       "\t};\n",
       "\tvar meta = module.exports = {\n",
       "\t  KEY: META,\n",
       "\t  NEED: false,\n",
       "\t  fastKey: fastKey,\n",
       "\t  getWeak: getWeak,\n",
       "\t  onFreeze: onFreeze\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 33 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar def = __webpack_require__(18).f;\n",
       "\tvar has = __webpack_require__(12);\n",
       "\tvar TAG = __webpack_require__(34)('toStringTag');\n",
       "\t\n",
       "\tmodule.exports = function (it, tag, stat) {\n",
       "\t  if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 34 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar store = __webpack_require__(28)('wks');\n",
       "\tvar uid = __webpack_require__(26);\n",
       "\tvar Symbol = __webpack_require__(11).Symbol;\n",
       "\tvar USE_SYMBOL = typeof Symbol == 'function';\n",
       "\t\n",
       "\tvar $exports = module.exports = function (name) {\n",
       "\t  return store[name] || (store[name] =\n",
       "\t    USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n",
       "\t};\n",
       "\t\n",
       "\t$exports.store = store;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 35 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\texports.f = __webpack_require__(34);\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 36 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar core = __webpack_require__(16);\n",
       "\tvar LIBRARY = __webpack_require__(29);\n",
       "\tvar wksExt = __webpack_require__(35);\n",
       "\tvar defineProperty = __webpack_require__(18).f;\n",
       "\tmodule.exports = function (name) {\n",
       "\t  var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n",
       "\t  if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 37 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// all enumerable object keys, includes symbols\n",
       "\tvar getKeys = __webpack_require__(38);\n",
       "\tvar gOPS = __webpack_require__(50);\n",
       "\tvar pIE = __webpack_require__(51);\n",
       "\tmodule.exports = function (it) {\n",
       "\t  var result = getKeys(it);\n",
       "\t  var getSymbols = gOPS.f;\n",
       "\t  if (getSymbols) {\n",
       "\t    var symbols = getSymbols(it);\n",
       "\t    var isEnum = pIE.f;\n",
       "\t    var i = 0;\n",
       "\t    var key;\n",
       "\t    while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n",
       "\t  } return result;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 38 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.14 / 15.2.3.14 Object.keys(O)\n",
       "\tvar $keys = __webpack_require__(39);\n",
       "\tvar enumBugKeys = __webpack_require__(49);\n",
       "\t\n",
       "\tmodule.exports = Object.keys || function keys(O) {\n",
       "\t  return $keys(O, enumBugKeys);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 39 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar has = __webpack_require__(12);\n",
       "\tvar toIObject = __webpack_require__(40);\n",
       "\tvar arrayIndexOf = __webpack_require__(44)(false);\n",
       "\tvar IE_PROTO = __webpack_require__(48)('IE_PROTO');\n",
       "\t\n",
       "\tmodule.exports = function (object, names) {\n",
       "\t  var O = toIObject(object);\n",
       "\t  var i = 0;\n",
       "\t  var result = [];\n",
       "\t  var key;\n",
       "\t  for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n",
       "\t  // Don't enum bug & hidden keys\n",
       "\t  while (names.length > i) if (has(O, key = names[i++])) {\n",
       "\t    ~arrayIndexOf(result, key) || result.push(key);\n",
       "\t  }\n",
       "\t  return result;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 40 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// to indexed object, toObject with fallback for non-array-like ES3 strings\n",
       "\tvar IObject = __webpack_require__(41);\n",
       "\tvar defined = __webpack_require__(43);\n",
       "\tmodule.exports = function (it) {\n",
       "\t  return IObject(defined(it));\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 41 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// fallback for non-array-like ES3 and non-enumerable old V8 strings\n",
       "\tvar cof = __webpack_require__(42);\n",
       "\t// eslint-disable-next-line no-prototype-builtins\n",
       "\tmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n",
       "\t  return cof(it) == 'String' ? it.split('') : Object(it);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 42 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tvar toString = {}.toString;\n",
       "\t\n",
       "\tmodule.exports = function (it) {\n",
       "\t  return toString.call(it).slice(8, -1);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 43 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\t// 7.2.1 RequireObjectCoercible(argument)\n",
       "\tmodule.exports = function (it) {\n",
       "\t  if (it == undefined) throw TypeError(\"Can't call method on  \" + it);\n",
       "\t  return it;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 44 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// false -> Array#indexOf\n",
       "\t// true  -> Array#includes\n",
       "\tvar toIObject = __webpack_require__(40);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar toAbsoluteIndex = __webpack_require__(47);\n",
       "\tmodule.exports = function (IS_INCLUDES) {\n",
       "\t  return function ($this, el, fromIndex) {\n",
       "\t    var O = toIObject($this);\n",
       "\t    var length = toLength(O.length);\n",
       "\t    var index = toAbsoluteIndex(fromIndex, length);\n",
       "\t    var value;\n",
       "\t    // Array#includes uses SameValueZero equality algorithm\n",
       "\t    // eslint-disable-next-line no-self-compare\n",
       "\t    if (IS_INCLUDES && el != el) while (length > index) {\n",
       "\t      value = O[index++];\n",
       "\t      // eslint-disable-next-line no-self-compare\n",
       "\t      if (value != value) return true;\n",
       "\t    // Array#indexOf ignores holes, Array#includes - not\n",
       "\t    } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n",
       "\t      if (O[index] === el) return IS_INCLUDES || index || 0;\n",
       "\t    } return !IS_INCLUDES && -1;\n",
       "\t  };\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 45 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 7.1.15 ToLength\n",
       "\tvar toInteger = __webpack_require__(46);\n",
       "\tvar min = Math.min;\n",
       "\tmodule.exports = function (it) {\n",
       "\t  return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 46 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\t// 7.1.4 ToInteger\n",
       "\tvar ceil = Math.ceil;\n",
       "\tvar floor = Math.floor;\n",
       "\tmodule.exports = function (it) {\n",
       "\t  return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 47 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar toInteger = __webpack_require__(46);\n",
       "\tvar max = Math.max;\n",
       "\tvar min = Math.min;\n",
       "\tmodule.exports = function (index, length) {\n",
       "\t  index = toInteger(index);\n",
       "\t  return index < 0 ? max(index + length, 0) : min(index, length);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 48 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar shared = __webpack_require__(28)('keys');\n",
       "\tvar uid = __webpack_require__(26);\n",
       "\tmodule.exports = function (key) {\n",
       "\t  return shared[key] || (shared[key] = uid(key));\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 49 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\t// IE 8- don't enum bug keys\n",
       "\tmodule.exports = (\n",
       "\t  'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n",
       "\t).split(',');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 50 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\texports.f = Object.getOwnPropertySymbols;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 51 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\texports.f = {}.propertyIsEnumerable;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 52 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 7.2.2 IsArray(argument)\n",
       "\tvar cof = __webpack_require__(42);\n",
       "\tmodule.exports = Array.isArray || function isArray(arg) {\n",
       "\t  return cof(arg) == 'Array';\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 53 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar dPs = __webpack_require__(54);\n",
       "\tvar enumBugKeys = __webpack_require__(49);\n",
       "\tvar IE_PROTO = __webpack_require__(48)('IE_PROTO');\n",
       "\tvar Empty = function () { /* empty */ };\n",
       "\tvar PROTOTYPE = 'prototype';\n",
       "\t\n",
       "\t// Create object with fake `null` prototype: use iframe Object with cleared prototype\n",
       "\tvar createDict = function () {\n",
       "\t  // Thrash, waste and sodomy: IE GC bug\n",
       "\t  var iframe = __webpack_require__(22)('iframe');\n",
       "\t  var i = enumBugKeys.length;\n",
       "\t  var lt = '<';\n",
       "\t  var gt = '>';\n",
       "\t  var iframeDocument;\n",
       "\t  iframe.style.display = 'none';\n",
       "\t  __webpack_require__(55).appendChild(iframe);\n",
       "\t  iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n",
       "\t  // createDict = iframe.contentWindow.Object;\n",
       "\t  // html.removeChild(iframe);\n",
       "\t  iframeDocument = iframe.contentWindow.document;\n",
       "\t  iframeDocument.open();\n",
       "\t  iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n",
       "\t  iframeDocument.close();\n",
       "\t  createDict = iframeDocument.F;\n",
       "\t  while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n",
       "\t  return createDict();\n",
       "\t};\n",
       "\t\n",
       "\tmodule.exports = Object.create || function create(O, Properties) {\n",
       "\t  var result;\n",
       "\t  if (O !== null) {\n",
       "\t    Empty[PROTOTYPE] = anObject(O);\n",
       "\t    result = new Empty();\n",
       "\t    Empty[PROTOTYPE] = null;\n",
       "\t    // add \"__proto__\" for Object.getPrototypeOf polyfill\n",
       "\t    result[IE_PROTO] = O;\n",
       "\t  } else result = createDict();\n",
       "\t  return Properties === undefined ? result : dPs(result, Properties);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 54 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar dP = __webpack_require__(18);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar getKeys = __webpack_require__(38);\n",
       "\t\n",
       "\tmodule.exports = __webpack_require__(13) ? Object.defineProperties : function defineProperties(O, Properties) {\n",
       "\t  anObject(O);\n",
       "\t  var keys = getKeys(Properties);\n",
       "\t  var length = keys.length;\n",
       "\t  var i = 0;\n",
       "\t  var P;\n",
       "\t  while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n",
       "\t  return O;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 55 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar document = __webpack_require__(11).document;\n",
       "\tmodule.exports = document && document.documentElement;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 56 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\n",
       "\tvar toIObject = __webpack_require__(40);\n",
       "\tvar gOPN = __webpack_require__(57).f;\n",
       "\tvar toString = {}.toString;\n",
       "\t\n",
       "\tvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n",
       "\t  ? Object.getOwnPropertyNames(window) : [];\n",
       "\t\n",
       "\tvar getWindowNames = function (it) {\n",
       "\t  try {\n",
       "\t    return gOPN(it);\n",
       "\t  } catch (e) {\n",
       "\t    return windowNames.slice();\n",
       "\t  }\n",
       "\t};\n",
       "\t\n",
       "\tmodule.exports.f = function getOwnPropertyNames(it) {\n",
       "\t  return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 57 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\n",
       "\tvar $keys = __webpack_require__(39);\n",
       "\tvar hiddenKeys = __webpack_require__(49).concat('length', 'prototype');\n",
       "\t\n",
       "\texports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n",
       "\t  return $keys(O, hiddenKeys);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 58 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar pIE = __webpack_require__(51);\n",
       "\tvar createDesc = __webpack_require__(24);\n",
       "\tvar toIObject = __webpack_require__(40);\n",
       "\tvar toPrimitive = __webpack_require__(23);\n",
       "\tvar has = __webpack_require__(12);\n",
       "\tvar IE8_DOM_DEFINE = __webpack_require__(21);\n",
       "\tvar gOPD = Object.getOwnPropertyDescriptor;\n",
       "\t\n",
       "\texports.f = __webpack_require__(13) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n",
       "\t  O = toIObject(O);\n",
       "\t  P = toPrimitive(P, true);\n",
       "\t  if (IE8_DOM_DEFINE) try {\n",
       "\t    return gOPD(O, P);\n",
       "\t  } catch (e) { /* empty */ }\n",
       "\t  if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 59 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n",
       "\t$export($export.S, 'Object', { create: __webpack_require__(53) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 60 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n",
       "\t$export($export.S + $export.F * !__webpack_require__(13), 'Object', { defineProperty: __webpack_require__(18).f });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 61 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n",
       "\t$export($export.S + $export.F * !__webpack_require__(13), 'Object', { defineProperties: __webpack_require__(54) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 62 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n",
       "\tvar toIObject = __webpack_require__(40);\n",
       "\tvar $getOwnPropertyDescriptor = __webpack_require__(58).f;\n",
       "\t\n",
       "\t__webpack_require__(63)('getOwnPropertyDescriptor', function () {\n",
       "\t  return function getOwnPropertyDescriptor(it, key) {\n",
       "\t    return $getOwnPropertyDescriptor(toIObject(it), key);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 63 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// most Object methods by ES6 should accept primitives\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar core = __webpack_require__(16);\n",
       "\tvar fails = __webpack_require__(14);\n",
       "\tmodule.exports = function (KEY, exec) {\n",
       "\t  var fn = (core.Object || {})[KEY] || Object[KEY];\n",
       "\t  var exp = {};\n",
       "\t  exp[KEY] = exec(fn);\n",
       "\t  $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 64 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.9 Object.getPrototypeOf(O)\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar $getPrototypeOf = __webpack_require__(66);\n",
       "\t\n",
       "\t__webpack_require__(63)('getPrototypeOf', function () {\n",
       "\t  return function getPrototypeOf(it) {\n",
       "\t    return $getPrototypeOf(toObject(it));\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 65 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 7.1.13 ToObject(argument)\n",
       "\tvar defined = __webpack_require__(43);\n",
       "\tmodule.exports = function (it) {\n",
       "\t  return Object(defined(it));\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 66 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\n",
       "\tvar has = __webpack_require__(12);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar IE_PROTO = __webpack_require__(48)('IE_PROTO');\n",
       "\tvar ObjectProto = Object.prototype;\n",
       "\t\n",
       "\tmodule.exports = Object.getPrototypeOf || function (O) {\n",
       "\t  O = toObject(O);\n",
       "\t  if (has(O, IE_PROTO)) return O[IE_PROTO];\n",
       "\t  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n",
       "\t    return O.constructor.prototype;\n",
       "\t  } return O instanceof Object ? ObjectProto : null;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 67 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.14 Object.keys(O)\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar $keys = __webpack_require__(38);\n",
       "\t\n",
       "\t__webpack_require__(63)('keys', function () {\n",
       "\t  return function keys(it) {\n",
       "\t    return $keys(toObject(it));\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 68 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.7 Object.getOwnPropertyNames(O)\n",
       "\t__webpack_require__(63)('getOwnPropertyNames', function () {\n",
       "\t  return __webpack_require__(56).f;\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 69 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.5 Object.freeze(O)\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar meta = __webpack_require__(32).onFreeze;\n",
       "\t\n",
       "\t__webpack_require__(63)('freeze', function ($freeze) {\n",
       "\t  return function freeze(it) {\n",
       "\t    return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 70 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.17 Object.seal(O)\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar meta = __webpack_require__(32).onFreeze;\n",
       "\t\n",
       "\t__webpack_require__(63)('seal', function ($seal) {\n",
       "\t  return function seal(it) {\n",
       "\t    return $seal && isObject(it) ? $seal(meta(it)) : it;\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 71 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.15 Object.preventExtensions(O)\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar meta = __webpack_require__(32).onFreeze;\n",
       "\t\n",
       "\t__webpack_require__(63)('preventExtensions', function ($preventExtensions) {\n",
       "\t  return function preventExtensions(it) {\n",
       "\t    return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 72 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.12 Object.isFrozen(O)\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\t\n",
       "\t__webpack_require__(63)('isFrozen', function ($isFrozen) {\n",
       "\t  return function isFrozen(it) {\n",
       "\t    return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 73 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.13 Object.isSealed(O)\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\t\n",
       "\t__webpack_require__(63)('isSealed', function ($isSealed) {\n",
       "\t  return function isSealed(it) {\n",
       "\t    return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 74 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.2.11 Object.isExtensible(O)\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\t\n",
       "\t__webpack_require__(63)('isExtensible', function ($isExtensible) {\n",
       "\t  return function isExtensible(it) {\n",
       "\t    return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 75 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.3.1 Object.assign(target, source)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S + $export.F, 'Object', { assign: __webpack_require__(76) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 76 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// 19.1.2.1 Object.assign(target, source, ...)\n",
       "\tvar getKeys = __webpack_require__(38);\n",
       "\tvar gOPS = __webpack_require__(50);\n",
       "\tvar pIE = __webpack_require__(51);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar IObject = __webpack_require__(41);\n",
       "\tvar $assign = Object.assign;\n",
       "\t\n",
       "\t// should work with symbols and should have deterministic property order (V8 bug)\n",
       "\tmodule.exports = !$assign || __webpack_require__(14)(function () {\n",
       "\t  var A = {};\n",
       "\t  var B = {};\n",
       "\t  // eslint-disable-next-line no-undef\n",
       "\t  var S = Symbol();\n",
       "\t  var K = 'abcdefghijklmnopqrst';\n",
       "\t  A[S] = 7;\n",
       "\t  K.split('').forEach(function (k) { B[k] = k; });\n",
       "\t  return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n",
       "\t}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n",
       "\t  var T = toObject(target);\n",
       "\t  var aLen = arguments.length;\n",
       "\t  var index = 1;\n",
       "\t  var getSymbols = gOPS.f;\n",
       "\t  var isEnum = pIE.f;\n",
       "\t  while (aLen > index) {\n",
       "\t    var S = IObject(arguments[index++]);\n",
       "\t    var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n",
       "\t    var length = keys.length;\n",
       "\t    var j = 0;\n",
       "\t    var key;\n",
       "\t    while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n",
       "\t  } return T;\n",
       "\t} : $assign;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 77 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.3.10 Object.is(value1, value2)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t$export($export.S, 'Object', { is: __webpack_require__(78) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 78 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\t// 7.2.9 SameValue(x, y)\n",
       "\tmodule.exports = Object.is || function is(x, y) {\n",
       "\t  // eslint-disable-next-line no-self-compare\n",
       "\t  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 79 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.1.3.19 Object.setPrototypeOf(O, proto)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(80).set });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 80 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// Works with __proto__ only. Old v8 can't work with null proto objects.\n",
       "\t/* eslint-disable no-proto */\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar check = function (O, proto) {\n",
       "\t  anObject(O);\n",
       "\t  if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n",
       "\t};\n",
       "\tmodule.exports = {\n",
       "\t  set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n",
       "\t    function (test, buggy, set) {\n",
       "\t      try {\n",
       "\t        set = __webpack_require__(30)(Function.call, __webpack_require__(58).f(Object.prototype, '__proto__').set, 2);\n",
       "\t        set(test, []);\n",
       "\t        buggy = !(test instanceof Array);\n",
       "\t      } catch (e) { buggy = true; }\n",
       "\t      return function setPrototypeOf(O, proto) {\n",
       "\t        check(O, proto);\n",
       "\t        if (buggy) O.__proto__ = proto;\n",
       "\t        else set(O, proto);\n",
       "\t        return O;\n",
       "\t      };\n",
       "\t    }({}, false) : undefined),\n",
       "\t  check: check\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 81 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// 19.1.3.6 Object.prototype.toString()\n",
       "\tvar classof = __webpack_require__(82);\n",
       "\tvar test = {};\n",
       "\ttest[__webpack_require__(34)('toStringTag')] = 'z';\n",
       "\tif (test + '' != '[object z]') {\n",
       "\t  __webpack_require__(25)(Object.prototype, 'toString', function toString() {\n",
       "\t    return '[object ' + classof(this) + ']';\n",
       "\t  }, true);\n",
       "\t}\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 82 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// getting tag from 19.1.3.6 Object.prototype.toString()\n",
       "\tvar cof = __webpack_require__(42);\n",
       "\tvar TAG = __webpack_require__(34)('toStringTag');\n",
       "\t// ES3 wrong here\n",
       "\tvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n",
       "\t\n",
       "\t// fallback for IE11 Script Access Denied error\n",
       "\tvar tryGet = function (it, key) {\n",
       "\t  try {\n",
       "\t    return it[key];\n",
       "\t  } catch (e) { /* empty */ }\n",
       "\t};\n",
       "\t\n",
       "\tmodule.exports = function (it) {\n",
       "\t  var O, T, B;\n",
       "\t  return it === undefined ? 'Undefined' : it === null ? 'Null'\n",
       "\t    // @@toStringTag case\n",
       "\t    : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n",
       "\t    // builtinTag case\n",
       "\t    : ARG ? cof(O)\n",
       "\t    // ES3 arguments fallback\n",
       "\t    : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 83 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.P, 'Function', { bind: __webpack_require__(84) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 84 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar invoke = __webpack_require__(85);\n",
       "\tvar arraySlice = [].slice;\n",
       "\tvar factories = {};\n",
       "\t\n",
       "\tvar construct = function (F, len, args) {\n",
       "\t  if (!(len in factories)) {\n",
       "\t    for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n",
       "\t    // eslint-disable-next-line no-new-func\n",
       "\t    factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n",
       "\t  } return factories[len](F, args);\n",
       "\t};\n",
       "\t\n",
       "\tmodule.exports = Function.bind || function bind(that /* , ...args */) {\n",
       "\t  var fn = aFunction(this);\n",
       "\t  var partArgs = arraySlice.call(arguments, 1);\n",
       "\t  var bound = function (/* args... */) {\n",
       "\t    var args = partArgs.concat(arraySlice.call(arguments));\n",
       "\t    return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n",
       "\t  };\n",
       "\t  if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n",
       "\t  return bound;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 85 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\t// fast apply, http://jsperf.lnkit.com/fast-apply/5\n",
       "\tmodule.exports = function (fn, args, that) {\n",
       "\t  var un = that === undefined;\n",
       "\t  switch (args.length) {\n",
       "\t    case 0: return un ? fn()\n",
       "\t                      : fn.call(that);\n",
       "\t    case 1: return un ? fn(args[0])\n",
       "\t                      : fn.call(that, args[0]);\n",
       "\t    case 2: return un ? fn(args[0], args[1])\n",
       "\t                      : fn.call(that, args[0], args[1]);\n",
       "\t    case 3: return un ? fn(args[0], args[1], args[2])\n",
       "\t                      : fn.call(that, args[0], args[1], args[2]);\n",
       "\t    case 4: return un ? fn(args[0], args[1], args[2], args[3])\n",
       "\t                      : fn.call(that, args[0], args[1], args[2], args[3]);\n",
       "\t  } return fn.apply(that, args);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 86 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar dP = __webpack_require__(18).f;\n",
       "\tvar FProto = Function.prototype;\n",
       "\tvar nameRE = /^\\s*function ([^ (]*)/;\n",
       "\tvar NAME = 'name';\n",
       "\t\n",
       "\t// 19.2.4.2 name\n",
       "\tNAME in FProto || __webpack_require__(13) && dP(FProto, NAME, {\n",
       "\t  configurable: true,\n",
       "\t  get: function () {\n",
       "\t    try {\n",
       "\t      return ('' + this).match(nameRE)[1];\n",
       "\t    } catch (e) {\n",
       "\t      return '';\n",
       "\t    }\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 87 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar getPrototypeOf = __webpack_require__(66);\n",
       "\tvar HAS_INSTANCE = __webpack_require__(34)('hasInstance');\n",
       "\tvar FunctionProto = Function.prototype;\n",
       "\t// 19.2.3.6 Function.prototype[@@hasInstance](V)\n",
       "\tif (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(18).f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n",
       "\t  if (typeof this != 'function' || !isObject(O)) return false;\n",
       "\t  if (!isObject(this.prototype)) return O instanceof this;\n",
       "\t  // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n",
       "\t  while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n",
       "\t  return false;\n",
       "\t} });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 88 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $parseInt = __webpack_require__(89);\n",
       "\t// 18.2.5 parseInt(string, radix)\n",
       "\t$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 89 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $parseInt = __webpack_require__(11).parseInt;\n",
       "\tvar $trim = __webpack_require__(90).trim;\n",
       "\tvar ws = __webpack_require__(91);\n",
       "\tvar hex = /^[-+]?0[xX]/;\n",
       "\t\n",
       "\tmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n",
       "\t  var string = $trim(String(str), 3);\n",
       "\t  return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n",
       "\t} : $parseInt;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 90 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar defined = __webpack_require__(43);\n",
       "\tvar fails = __webpack_require__(14);\n",
       "\tvar spaces = __webpack_require__(91);\n",
       "\tvar space = '[' + spaces + ']';\n",
       "\tvar non = '\\u200b\\u0085';\n",
       "\tvar ltrim = RegExp('^' + space + space + '*');\n",
       "\tvar rtrim = RegExp(space + space + '*$');\n",
       "\t\n",
       "\tvar exporter = function (KEY, exec, ALIAS) {\n",
       "\t  var exp = {};\n",
       "\t  var FORCE = fails(function () {\n",
       "\t    return !!spaces[KEY]() || non[KEY]() != non;\n",
       "\t  });\n",
       "\t  var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n",
       "\t  if (ALIAS) exp[ALIAS] = fn;\n",
       "\t  $export($export.P + $export.F * FORCE, 'String', exp);\n",
       "\t};\n",
       "\t\n",
       "\t// 1 -> String#trimLeft\n",
       "\t// 2 -> String#trimRight\n",
       "\t// 3 -> String#trim\n",
       "\tvar trim = exporter.trim = function (string, TYPE) {\n",
       "\t  string = String(defined(string));\n",
       "\t  if (TYPE & 1) string = string.replace(ltrim, '');\n",
       "\t  if (TYPE & 2) string = string.replace(rtrim, '');\n",
       "\t  return string;\n",
       "\t};\n",
       "\t\n",
       "\tmodule.exports = exporter;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 91 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tmodule.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n",
       "\t  '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 92 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $parseFloat = __webpack_require__(93);\n",
       "\t// 18.2.4 parseFloat(string)\n",
       "\t$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 93 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $parseFloat = __webpack_require__(11).parseFloat;\n",
       "\tvar $trim = __webpack_require__(90).trim;\n",
       "\t\n",
       "\tmodule.exports = 1 / $parseFloat(__webpack_require__(91) + '-0') !== -Infinity ? function parseFloat(str) {\n",
       "\t  var string = $trim(String(str), 3);\n",
       "\t  var result = $parseFloat(string);\n",
       "\t  return result === 0 && string.charAt(0) == '-' ? -0 : result;\n",
       "\t} : $parseFloat;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 94 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar has = __webpack_require__(12);\n",
       "\tvar cof = __webpack_require__(42);\n",
       "\tvar inheritIfRequired = __webpack_require__(95);\n",
       "\tvar toPrimitive = __webpack_require__(23);\n",
       "\tvar fails = __webpack_require__(14);\n",
       "\tvar gOPN = __webpack_require__(57).f;\n",
       "\tvar gOPD = __webpack_require__(58).f;\n",
       "\tvar dP = __webpack_require__(18).f;\n",
       "\tvar $trim = __webpack_require__(90).trim;\n",
       "\tvar NUMBER = 'Number';\n",
       "\tvar $Number = global[NUMBER];\n",
       "\tvar Base = $Number;\n",
       "\tvar proto = $Number.prototype;\n",
       "\t// Opera ~12 has broken Object#toString\n",
       "\tvar BROKEN_COF = cof(__webpack_require__(53)(proto)) == NUMBER;\n",
       "\tvar TRIM = 'trim' in String.prototype;\n",
       "\t\n",
       "\t// 7.1.3 ToNumber(argument)\n",
       "\tvar toNumber = function (argument) {\n",
       "\t  var it = toPrimitive(argument, false);\n",
       "\t  if (typeof it == 'string' && it.length > 2) {\n",
       "\t    it = TRIM ? it.trim() : $trim(it, 3);\n",
       "\t    var first = it.charCodeAt(0);\n",
       "\t    var third, radix, maxCode;\n",
       "\t    if (first === 43 || first === 45) {\n",
       "\t      third = it.charCodeAt(2);\n",
       "\t      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n",
       "\t    } else if (first === 48) {\n",
       "\t      switch (it.charCodeAt(1)) {\n",
       "\t        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n",
       "\t        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n",
       "\t        default: return +it;\n",
       "\t      }\n",
       "\t      for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n",
       "\t        code = digits.charCodeAt(i);\n",
       "\t        // parseInt parses a string to a first unavailable symbol\n",
       "\t        // but ToNumber should return NaN if a string contains unavailable symbols\n",
       "\t        if (code < 48 || code > maxCode) return NaN;\n",
       "\t      } return parseInt(digits, radix);\n",
       "\t    }\n",
       "\t  } return +it;\n",
       "\t};\n",
       "\t\n",
       "\tif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n",
       "\t  $Number = function Number(value) {\n",
       "\t    var it = arguments.length < 1 ? 0 : value;\n",
       "\t    var that = this;\n",
       "\t    return that instanceof $Number\n",
       "\t      // check on 1..constructor(foo) case\n",
       "\t      && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n",
       "\t        ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n",
       "\t  };\n",
       "\t  for (var keys = __webpack_require__(13) ? gOPN(Base) : (\n",
       "\t    // ES3:\n",
       "\t    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n",
       "\t    // ES6 (in case, if modules with ES6 Number statics required before):\n",
       "\t    'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n",
       "\t    'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n",
       "\t  ).split(','), j = 0, key; keys.length > j; j++) {\n",
       "\t    if (has(Base, key = keys[j]) && !has($Number, key)) {\n",
       "\t      dP($Number, key, gOPD(Base, key));\n",
       "\t    }\n",
       "\t  }\n",
       "\t  $Number.prototype = proto;\n",
       "\t  proto.constructor = $Number;\n",
       "\t  __webpack_require__(25)(global, NUMBER, $Number);\n",
       "\t}\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 95 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar setPrototypeOf = __webpack_require__(80).set;\n",
       "\tmodule.exports = function (that, target, C) {\n",
       "\t  var S = target.constructor;\n",
       "\t  var P;\n",
       "\t  if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n",
       "\t    setPrototypeOf(that, P);\n",
       "\t  } return that;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 96 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toInteger = __webpack_require__(46);\n",
       "\tvar aNumberValue = __webpack_require__(97);\n",
       "\tvar repeat = __webpack_require__(98);\n",
       "\tvar $toFixed = 1.0.toFixed;\n",
       "\tvar floor = Math.floor;\n",
       "\tvar data = [0, 0, 0, 0, 0, 0];\n",
       "\tvar ERROR = 'Number.toFixed: incorrect invocation!';\n",
       "\tvar ZERO = '0';\n",
       "\t\n",
       "\tvar multiply = function (n, c) {\n",
       "\t  var i = -1;\n",
       "\t  var c2 = c;\n",
       "\t  while (++i < 6) {\n",
       "\t    c2 += n * data[i];\n",
       "\t    data[i] = c2 % 1e7;\n",
       "\t    c2 = floor(c2 / 1e7);\n",
       "\t  }\n",
       "\t};\n",
       "\tvar divide = function (n) {\n",
       "\t  var i = 6;\n",
       "\t  var c = 0;\n",
       "\t  while (--i >= 0) {\n",
       "\t    c += data[i];\n",
       "\t    data[i] = floor(c / n);\n",
       "\t    c = (c % n) * 1e7;\n",
       "\t  }\n",
       "\t};\n",
       "\tvar numToString = function () {\n",
       "\t  var i = 6;\n",
       "\t  var s = '';\n",
       "\t  while (--i >= 0) {\n",
       "\t    if (s !== '' || i === 0 || data[i] !== 0) {\n",
       "\t      var t = String(data[i]);\n",
       "\t      s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n",
       "\t    }\n",
       "\t  } return s;\n",
       "\t};\n",
       "\tvar pow = function (x, n, acc) {\n",
       "\t  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n",
       "\t};\n",
       "\tvar log = function (x) {\n",
       "\t  var n = 0;\n",
       "\t  var x2 = x;\n",
       "\t  while (x2 >= 4096) {\n",
       "\t    n += 12;\n",
       "\t    x2 /= 4096;\n",
       "\t  }\n",
       "\t  while (x2 >= 2) {\n",
       "\t    n += 1;\n",
       "\t    x2 /= 2;\n",
       "\t  } return n;\n",
       "\t};\n",
       "\t\n",
       "\t$export($export.P + $export.F * (!!$toFixed && (\n",
       "\t  0.00008.toFixed(3) !== '0.000' ||\n",
       "\t  0.9.toFixed(0) !== '1' ||\n",
       "\t  1.255.toFixed(2) !== '1.25' ||\n",
       "\t  1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n",
       "\t) || !__webpack_require__(14)(function () {\n",
       "\t  // V8 ~ Android 4.3-\n",
       "\t  $toFixed.call({});\n",
       "\t})), 'Number', {\n",
       "\t  toFixed: function toFixed(fractionDigits) {\n",
       "\t    var x = aNumberValue(this, ERROR);\n",
       "\t    var f = toInteger(fractionDigits);\n",
       "\t    var s = '';\n",
       "\t    var m = ZERO;\n",
       "\t    var e, z, j, k;\n",
       "\t    if (f < 0 || f > 20) throw RangeError(ERROR);\n",
       "\t    // eslint-disable-next-line no-self-compare\n",
       "\t    if (x != x) return 'NaN';\n",
       "\t    if (x <= -1e21 || x >= 1e21) return String(x);\n",
       "\t    if (x < 0) {\n",
       "\t      s = '-';\n",
       "\t      x = -x;\n",
       "\t    }\n",
       "\t    if (x > 1e-21) {\n",
       "\t      e = log(x * pow(2, 69, 1)) - 69;\n",
       "\t      z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n",
       "\t      z *= 0x10000000000000;\n",
       "\t      e = 52 - e;\n",
       "\t      if (e > 0) {\n",
       "\t        multiply(0, z);\n",
       "\t        j = f;\n",
       "\t        while (j >= 7) {\n",
       "\t          multiply(1e7, 0);\n",
       "\t          j -= 7;\n",
       "\t        }\n",
       "\t        multiply(pow(10, j, 1), 0);\n",
       "\t        j = e - 1;\n",
       "\t        while (j >= 23) {\n",
       "\t          divide(1 << 23);\n",
       "\t          j -= 23;\n",
       "\t        }\n",
       "\t        divide(1 << j);\n",
       "\t        multiply(1, 1);\n",
       "\t        divide(2);\n",
       "\t        m = numToString();\n",
       "\t      } else {\n",
       "\t        multiply(0, z);\n",
       "\t        multiply(1 << -e, 0);\n",
       "\t        m = numToString() + repeat.call(ZERO, f);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    if (f > 0) {\n",
       "\t      k = m.length;\n",
       "\t      m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n",
       "\t    } else {\n",
       "\t      m = s + m;\n",
       "\t    } return m;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 97 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar cof = __webpack_require__(42);\n",
       "\tmodule.exports = function (it, msg) {\n",
       "\t  if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n",
       "\t  return +it;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 98 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar toInteger = __webpack_require__(46);\n",
       "\tvar defined = __webpack_require__(43);\n",
       "\t\n",
       "\tmodule.exports = function repeat(count) {\n",
       "\t  var str = String(defined(this));\n",
       "\t  var res = '';\n",
       "\t  var n = toInteger(count);\n",
       "\t  if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n",
       "\t  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n",
       "\t  return res;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 99 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $fails = __webpack_require__(14);\n",
       "\tvar aNumberValue = __webpack_require__(97);\n",
       "\tvar $toPrecision = 1.0.toPrecision;\n",
       "\t\n",
       "\t$export($export.P + $export.F * ($fails(function () {\n",
       "\t  // IE7-\n",
       "\t  return $toPrecision.call(1, undefined) !== '1';\n",
       "\t}) || !$fails(function () {\n",
       "\t  // V8 ~ Android 4.3-\n",
       "\t  $toPrecision.call({});\n",
       "\t})), 'Number', {\n",
       "\t  toPrecision: function toPrecision(precision) {\n",
       "\t    var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n",
       "\t    return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 100 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.1.2.1 Number.EPSILON\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 101 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.1.2.2 Number.isFinite(number)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar _isFinite = __webpack_require__(11).isFinite;\n",
       "\t\n",
       "\t$export($export.S, 'Number', {\n",
       "\t  isFinite: function isFinite(it) {\n",
       "\t    return typeof it == 'number' && _isFinite(it);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 102 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.1.2.3 Number.isInteger(number)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Number', { isInteger: __webpack_require__(103) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 103 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.1.2.3 Number.isInteger(number)\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar floor = Math.floor;\n",
       "\tmodule.exports = function isInteger(it) {\n",
       "\t  return !isObject(it) && isFinite(it) && floor(it) === it;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 104 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.1.2.4 Number.isNaN(number)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Number', {\n",
       "\t  isNaN: function isNaN(number) {\n",
       "\t    // eslint-disable-next-line no-self-compare\n",
       "\t    return number != number;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 105 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.1.2.5 Number.isSafeInteger(number)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar isInteger = __webpack_require__(103);\n",
       "\tvar abs = Math.abs;\n",
       "\t\n",
       "\t$export($export.S, 'Number', {\n",
       "\t  isSafeInteger: function isSafeInteger(number) {\n",
       "\t    return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 106 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.1.2.6 Number.MAX_SAFE_INTEGER\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 107 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.1.2.10 Number.MIN_SAFE_INTEGER\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 108 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $parseFloat = __webpack_require__(93);\n",
       "\t// 20.1.2.12 Number.parseFloat(string)\n",
       "\t$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 109 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $parseInt = __webpack_require__(89);\n",
       "\t// 20.1.2.13 Number.parseInt(string, radix)\n",
       "\t$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 110 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.3 Math.acosh(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar log1p = __webpack_require__(111);\n",
       "\tvar sqrt = Math.sqrt;\n",
       "\tvar $acosh = Math.acosh;\n",
       "\t\n",
       "\t$export($export.S + $export.F * !($acosh\n",
       "\t  // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n",
       "\t  && Math.floor($acosh(Number.MAX_VALUE)) == 710\n",
       "\t  // Tor Browser bug: Math.acosh(Infinity) -> NaN\n",
       "\t  && $acosh(Infinity) == Infinity\n",
       "\t), 'Math', {\n",
       "\t  acosh: function acosh(x) {\n",
       "\t    return (x = +x) < 1 ? NaN : x > 94906265.62425156\n",
       "\t      ? Math.log(x) + Math.LN2\n",
       "\t      : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 111 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\t// 20.2.2.20 Math.log1p(x)\n",
       "\tmodule.exports = Math.log1p || function log1p(x) {\n",
       "\t  return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 112 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.5 Math.asinh(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $asinh = Math.asinh;\n",
       "\t\n",
       "\tfunction asinh(x) {\n",
       "\t  return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n",
       "\t}\n",
       "\t\n",
       "\t// Tor Browser bug: Math.asinh(0) -> -0\n",
       "\t$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 113 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.7 Math.atanh(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $atanh = Math.atanh;\n",
       "\t\n",
       "\t// Tor Browser bug: Math.atanh(-0) -> 0\n",
       "\t$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n",
       "\t  atanh: function atanh(x) {\n",
       "\t    return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 114 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.9 Math.cbrt(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar sign = __webpack_require__(115);\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  cbrt: function cbrt(x) {\n",
       "\t    return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 115 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\t// 20.2.2.28 Math.sign(x)\n",
       "\tmodule.exports = Math.sign || function sign(x) {\n",
       "\t  // eslint-disable-next-line no-self-compare\n",
       "\t  return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 116 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.11 Math.clz32(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  clz32: function clz32(x) {\n",
       "\t    return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 117 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.12 Math.cosh(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar exp = Math.exp;\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  cosh: function cosh(x) {\n",
       "\t    return (exp(x = +x) + exp(-x)) / 2;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 118 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.14 Math.expm1(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $expm1 = __webpack_require__(119);\n",
       "\t\n",
       "\t$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 119 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\t// 20.2.2.14 Math.expm1(x)\n",
       "\tvar $expm1 = Math.expm1;\n",
       "\tmodule.exports = (!$expm1\n",
       "\t  // Old FF bug\n",
       "\t  || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n",
       "\t  // Tor Browser bug\n",
       "\t  || $expm1(-2e-17) != -2e-17\n",
       "\t) ? function expm1(x) {\n",
       "\t  return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n",
       "\t} : $expm1;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 120 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.16 Math.fround(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', { fround: __webpack_require__(121) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 121 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.16 Math.fround(x)\n",
       "\tvar sign = __webpack_require__(115);\n",
       "\tvar pow = Math.pow;\n",
       "\tvar EPSILON = pow(2, -52);\n",
       "\tvar EPSILON32 = pow(2, -23);\n",
       "\tvar MAX32 = pow(2, 127) * (2 - EPSILON32);\n",
       "\tvar MIN32 = pow(2, -126);\n",
       "\t\n",
       "\tvar roundTiesToEven = function (n) {\n",
       "\t  return n + 1 / EPSILON - 1 / EPSILON;\n",
       "\t};\n",
       "\t\n",
       "\tmodule.exports = Math.fround || function fround(x) {\n",
       "\t  var $abs = Math.abs(x);\n",
       "\t  var $sign = sign(x);\n",
       "\t  var a, result;\n",
       "\t  if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n",
       "\t  a = (1 + EPSILON32 / EPSILON) * $abs;\n",
       "\t  result = a - (a - $abs);\n",
       "\t  // eslint-disable-next-line no-self-compare\n",
       "\t  if (result > MAX32 || result != result) return $sign * Infinity;\n",
       "\t  return $sign * result;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 122 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar abs = Math.abs;\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n",
       "\t    var sum = 0;\n",
       "\t    var i = 0;\n",
       "\t    var aLen = arguments.length;\n",
       "\t    var larg = 0;\n",
       "\t    var arg, div;\n",
       "\t    while (i < aLen) {\n",
       "\t      arg = abs(arguments[i++]);\n",
       "\t      if (larg < arg) {\n",
       "\t        div = larg / arg;\n",
       "\t        sum = sum * div * div + 1;\n",
       "\t        larg = arg;\n",
       "\t      } else if (arg > 0) {\n",
       "\t        div = arg / larg;\n",
       "\t        sum += div * div;\n",
       "\t      } else sum += arg;\n",
       "\t    }\n",
       "\t    return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 123 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.18 Math.imul(x, y)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $imul = Math.imul;\n",
       "\t\n",
       "\t// some WebKit versions fails with big numbers, some has wrong arity\n",
       "\t$export($export.S + $export.F * __webpack_require__(14)(function () {\n",
       "\t  return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n",
       "\t}), 'Math', {\n",
       "\t  imul: function imul(x, y) {\n",
       "\t    var UINT16 = 0xffff;\n",
       "\t    var xn = +x;\n",
       "\t    var yn = +y;\n",
       "\t    var xl = UINT16 & xn;\n",
       "\t    var yl = UINT16 & yn;\n",
       "\t    return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 124 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.21 Math.log10(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  log10: function log10(x) {\n",
       "\t    return Math.log(x) * Math.LOG10E;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 125 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.20 Math.log1p(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', { log1p: __webpack_require__(111) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 126 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.22 Math.log2(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  log2: function log2(x) {\n",
       "\t    return Math.log(x) / Math.LN2;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 127 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.28 Math.sign(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', { sign: __webpack_require__(115) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 128 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.30 Math.sinh(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar expm1 = __webpack_require__(119);\n",
       "\tvar exp = Math.exp;\n",
       "\t\n",
       "\t// V8 near Chromium 38 has a problem with very small numbers\n",
       "\t$export($export.S + $export.F * __webpack_require__(14)(function () {\n",
       "\t  return !Math.sinh(-2e-17) != -2e-17;\n",
       "\t}), 'Math', {\n",
       "\t  sinh: function sinh(x) {\n",
       "\t    return Math.abs(x = +x) < 1\n",
       "\t      ? (expm1(x) - expm1(-x)) / 2\n",
       "\t      : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 129 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.33 Math.tanh(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar expm1 = __webpack_require__(119);\n",
       "\tvar exp = Math.exp;\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  tanh: function tanh(x) {\n",
       "\t    var a = expm1(x = +x);\n",
       "\t    var b = expm1(-x);\n",
       "\t    return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 130 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.2.2.34 Math.trunc(x)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  trunc: function trunc(it) {\n",
       "\t    return (it > 0 ? Math.floor : Math.ceil)(it);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 131 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toAbsoluteIndex = __webpack_require__(47);\n",
       "\tvar fromCharCode = String.fromCharCode;\n",
       "\tvar $fromCodePoint = String.fromCodePoint;\n",
       "\t\n",
       "\t// length should be 1, old FF problem\n",
       "\t$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n",
       "\t  // 21.1.2.2 String.fromCodePoint(...codePoints)\n",
       "\t  fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n",
       "\t    var res = [];\n",
       "\t    var aLen = arguments.length;\n",
       "\t    var i = 0;\n",
       "\t    var code;\n",
       "\t    while (aLen > i) {\n",
       "\t      code = +arguments[i++];\n",
       "\t      if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n",
       "\t      res.push(code < 0x10000\n",
       "\t        ? fromCharCode(code)\n",
       "\t        : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n",
       "\t      );\n",
       "\t    } return res.join('');\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 132 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toIObject = __webpack_require__(40);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\t\n",
       "\t$export($export.S, 'String', {\n",
       "\t  // 21.1.2.4 String.raw(callSite, ...substitutions)\n",
       "\t  raw: function raw(callSite) {\n",
       "\t    var tpl = toIObject(callSite.raw);\n",
       "\t    var len = toLength(tpl.length);\n",
       "\t    var aLen = arguments.length;\n",
       "\t    var res = [];\n",
       "\t    var i = 0;\n",
       "\t    while (len > i) {\n",
       "\t      res.push(String(tpl[i++]));\n",
       "\t      if (i < aLen) res.push(String(arguments[i]));\n",
       "\t    } return res.join('');\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 133 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// 21.1.3.25 String.prototype.trim()\n",
       "\t__webpack_require__(90)('trim', function ($trim) {\n",
       "\t  return function trim() {\n",
       "\t    return $trim(this, 3);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 134 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $at = __webpack_require__(135)(true);\n",
       "\t\n",
       "\t// 21.1.3.27 String.prototype[@@iterator]()\n",
       "\t__webpack_require__(136)(String, 'String', function (iterated) {\n",
       "\t  this._t = String(iterated); // target\n",
       "\t  this._i = 0;                // next index\n",
       "\t// 21.1.5.2.1 %StringIteratorPrototype%.next()\n",
       "\t}, function () {\n",
       "\t  var O = this._t;\n",
       "\t  var index = this._i;\n",
       "\t  var point;\n",
       "\t  if (index >= O.length) return { value: undefined, done: true };\n",
       "\t  point = $at(O, index);\n",
       "\t  this._i += point.length;\n",
       "\t  return { value: point, done: false };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 135 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar toInteger = __webpack_require__(46);\n",
       "\tvar defined = __webpack_require__(43);\n",
       "\t// true  -> String#at\n",
       "\t// false -> String#codePointAt\n",
       "\tmodule.exports = function (TO_STRING) {\n",
       "\t  return function (that, pos) {\n",
       "\t    var s = String(defined(that));\n",
       "\t    var i = toInteger(pos);\n",
       "\t    var l = s.length;\n",
       "\t    var a, b;\n",
       "\t    if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n",
       "\t    a = s.charCodeAt(i);\n",
       "\t    return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n",
       "\t      ? TO_STRING ? s.charAt(i) : a\n",
       "\t      : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n",
       "\t  };\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 136 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar LIBRARY = __webpack_require__(29);\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar redefine = __webpack_require__(25);\n",
       "\tvar hide = __webpack_require__(17);\n",
       "\tvar Iterators = __webpack_require__(137);\n",
       "\tvar $iterCreate = __webpack_require__(138);\n",
       "\tvar setToStringTag = __webpack_require__(33);\n",
       "\tvar getPrototypeOf = __webpack_require__(66);\n",
       "\tvar ITERATOR = __webpack_require__(34)('iterator');\n",
       "\tvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\n",
       "\tvar FF_ITERATOR = '@@iterator';\n",
       "\tvar KEYS = 'keys';\n",
       "\tvar VALUES = 'values';\n",
       "\t\n",
       "\tvar returnThis = function () { return this; };\n",
       "\t\n",
       "\tmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n",
       "\t  $iterCreate(Constructor, NAME, next);\n",
       "\t  var getMethod = function (kind) {\n",
       "\t    if (!BUGGY && kind in proto) return proto[kind];\n",
       "\t    switch (kind) {\n",
       "\t      case KEYS: return function keys() { return new Constructor(this, kind); };\n",
       "\t      case VALUES: return function values() { return new Constructor(this, kind); };\n",
       "\t    } return function entries() { return new Constructor(this, kind); };\n",
       "\t  };\n",
       "\t  var TAG = NAME + ' Iterator';\n",
       "\t  var DEF_VALUES = DEFAULT == VALUES;\n",
       "\t  var VALUES_BUG = false;\n",
       "\t  var proto = Base.prototype;\n",
       "\t  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n",
       "\t  var $default = $native || getMethod(DEFAULT);\n",
       "\t  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n",
       "\t  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n",
       "\t  var methods, key, IteratorPrototype;\n",
       "\t  // Fix native\n",
       "\t  if ($anyNative) {\n",
       "\t    IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n",
       "\t    if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n",
       "\t      // Set @@toStringTag to native iterators\n",
       "\t      setToStringTag(IteratorPrototype, TAG, true);\n",
       "\t      // fix for some old engines\n",
       "\t      if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n",
       "\t    }\n",
       "\t  }\n",
       "\t  // fix Array#{values, @@iterator}.name in V8 / FF\n",
       "\t  if (DEF_VALUES && $native && $native.name !== VALUES) {\n",
       "\t    VALUES_BUG = true;\n",
       "\t    $default = function values() { return $native.call(this); };\n",
       "\t  }\n",
       "\t  // Define iterator\n",
       "\t  if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n",
       "\t    hide(proto, ITERATOR, $default);\n",
       "\t  }\n",
       "\t  // Plug for library\n",
       "\t  Iterators[NAME] = $default;\n",
       "\t  Iterators[TAG] = returnThis;\n",
       "\t  if (DEFAULT) {\n",
       "\t    methods = {\n",
       "\t      values: DEF_VALUES ? $default : getMethod(VALUES),\n",
       "\t      keys: IS_SET ? $default : getMethod(KEYS),\n",
       "\t      entries: $entries\n",
       "\t    };\n",
       "\t    if (FORCED) for (key in methods) {\n",
       "\t      if (!(key in proto)) redefine(proto, key, methods[key]);\n",
       "\t    } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n",
       "\t  }\n",
       "\t  return methods;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 137 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tmodule.exports = {};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 138 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar create = __webpack_require__(53);\n",
       "\tvar descriptor = __webpack_require__(24);\n",
       "\tvar setToStringTag = __webpack_require__(33);\n",
       "\tvar IteratorPrototype = {};\n",
       "\t\n",
       "\t// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n",
       "\t__webpack_require__(17)(IteratorPrototype, __webpack_require__(34)('iterator'), function () { return this; });\n",
       "\t\n",
       "\tmodule.exports = function (Constructor, NAME, next) {\n",
       "\t  Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n",
       "\t  setToStringTag(Constructor, NAME + ' Iterator');\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 139 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $at = __webpack_require__(135)(false);\n",
       "\t$export($export.P, 'String', {\n",
       "\t  // 21.1.3.3 String.prototype.codePointAt(pos)\n",
       "\t  codePointAt: function codePointAt(pos) {\n",
       "\t    return $at(this, pos);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 140 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar context = __webpack_require__(141);\n",
       "\tvar ENDS_WITH = 'endsWith';\n",
       "\tvar $endsWith = ''[ENDS_WITH];\n",
       "\t\n",
       "\t$export($export.P + $export.F * __webpack_require__(143)(ENDS_WITH), 'String', {\n",
       "\t  endsWith: function endsWith(searchString /* , endPosition = @length */) {\n",
       "\t    var that = context(this, searchString, ENDS_WITH);\n",
       "\t    var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n",
       "\t    var len = toLength(that.length);\n",
       "\t    var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n",
       "\t    var search = String(searchString);\n",
       "\t    return $endsWith\n",
       "\t      ? $endsWith.call(that, search, end)\n",
       "\t      : that.slice(end - search.length, end) === search;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 141 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// helper for String#{startsWith, endsWith, includes}\n",
       "\tvar isRegExp = __webpack_require__(142);\n",
       "\tvar defined = __webpack_require__(43);\n",
       "\t\n",
       "\tmodule.exports = function (that, searchString, NAME) {\n",
       "\t  if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n",
       "\t  return String(defined(that));\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 142 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 7.2.8 IsRegExp(argument)\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar cof = __webpack_require__(42);\n",
       "\tvar MATCH = __webpack_require__(34)('match');\n",
       "\tmodule.exports = function (it) {\n",
       "\t  var isRegExp;\n",
       "\t  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 143 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar MATCH = __webpack_require__(34)('match');\n",
       "\tmodule.exports = function (KEY) {\n",
       "\t  var re = /./;\n",
       "\t  try {\n",
       "\t    '/./'[KEY](re);\n",
       "\t  } catch (e) {\n",
       "\t    try {\n",
       "\t      re[MATCH] = false;\n",
       "\t      return !'/./'[KEY](re);\n",
       "\t    } catch (f) { /* empty */ }\n",
       "\t  } return true;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 144 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar context = __webpack_require__(141);\n",
       "\tvar INCLUDES = 'includes';\n",
       "\t\n",
       "\t$export($export.P + $export.F * __webpack_require__(143)(INCLUDES), 'String', {\n",
       "\t  includes: function includes(searchString /* , position = 0 */) {\n",
       "\t    return !!~context(this, searchString, INCLUDES)\n",
       "\t      .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 145 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.P, 'String', {\n",
       "\t  // 21.1.3.13 String.prototype.repeat(count)\n",
       "\t  repeat: __webpack_require__(98)\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 146 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar context = __webpack_require__(141);\n",
       "\tvar STARTS_WITH = 'startsWith';\n",
       "\tvar $startsWith = ''[STARTS_WITH];\n",
       "\t\n",
       "\t$export($export.P + $export.F * __webpack_require__(143)(STARTS_WITH), 'String', {\n",
       "\t  startsWith: function startsWith(searchString /* , position = 0 */) {\n",
       "\t    var that = context(this, searchString, STARTS_WITH);\n",
       "\t    var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n",
       "\t    var search = String(searchString);\n",
       "\t    return $startsWith\n",
       "\t      ? $startsWith.call(that, search, index)\n",
       "\t      : that.slice(index, index + search.length) === search;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 147 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// B.2.3.2 String.prototype.anchor(name)\n",
       "\t__webpack_require__(148)('anchor', function (createHTML) {\n",
       "\t  return function anchor(name) {\n",
       "\t    return createHTML(this, 'a', 'name', name);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 148 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar fails = __webpack_require__(14);\n",
       "\tvar defined = __webpack_require__(43);\n",
       "\tvar quot = /\"/g;\n",
       "\t// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\n",
       "\tvar createHTML = function (string, tag, attribute, value) {\n",
       "\t  var S = String(defined(string));\n",
       "\t  var p1 = '<' + tag;\n",
       "\t  if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '&quot;') + '\"';\n",
       "\t  return p1 + '>' + S + '</' + tag + '>';\n",
       "\t};\n",
       "\tmodule.exports = function (NAME, exec) {\n",
       "\t  var O = {};\n",
       "\t  O[NAME] = exec(createHTML);\n",
       "\t  $export($export.P + $export.F * fails(function () {\n",
       "\t    var test = ''[NAME]('\"');\n",
       "\t    return test !== test.toLowerCase() || test.split('\"').length > 3;\n",
       "\t  }), 'String', O);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 149 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// B.2.3.3 String.prototype.big()\n",
       "\t__webpack_require__(148)('big', function (createHTML) {\n",
       "\t  return function big() {\n",
       "\t    return createHTML(this, 'big', '', '');\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 150 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// B.2.3.4 String.prototype.blink()\n",
       "\t__webpack_require__(148)('blink', function (createHTML) {\n",
       "\t  return function blink() {\n",
       "\t    return createHTML(this, 'blink', '', '');\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 151 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// B.2.3.5 String.prototype.bold()\n",
       "\t__webpack_require__(148)('bold', function (createHTML) {\n",
       "\t  return function bold() {\n",
       "\t    return createHTML(this, 'b', '', '');\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 152 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// B.2.3.6 String.prototype.fixed()\n",
       "\t__webpack_require__(148)('fixed', function (createHTML) {\n",
       "\t  return function fixed() {\n",
       "\t    return createHTML(this, 'tt', '', '');\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 153 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// B.2.3.7 String.prototype.fontcolor(color)\n",
       "\t__webpack_require__(148)('fontcolor', function (createHTML) {\n",
       "\t  return function fontcolor(color) {\n",
       "\t    return createHTML(this, 'font', 'color', color);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 154 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// B.2.3.8 String.prototype.fontsize(size)\n",
       "\t__webpack_require__(148)('fontsize', function (createHTML) {\n",
       "\t  return function fontsize(size) {\n",
       "\t    return createHTML(this, 'font', 'size', size);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 155 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// B.2.3.9 String.prototype.italics()\n",
       "\t__webpack_require__(148)('italics', function (createHTML) {\n",
       "\t  return function italics() {\n",
       "\t    return createHTML(this, 'i', '', '');\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 156 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// B.2.3.10 String.prototype.link(url)\n",
       "\t__webpack_require__(148)('link', function (createHTML) {\n",
       "\t  return function link(url) {\n",
       "\t    return createHTML(this, 'a', 'href', url);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 157 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// B.2.3.11 String.prototype.small()\n",
       "\t__webpack_require__(148)('small', function (createHTML) {\n",
       "\t  return function small() {\n",
       "\t    return createHTML(this, 'small', '', '');\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 158 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// B.2.3.12 String.prototype.strike()\n",
       "\t__webpack_require__(148)('strike', function (createHTML) {\n",
       "\t  return function strike() {\n",
       "\t    return createHTML(this, 'strike', '', '');\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 159 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// B.2.3.13 String.prototype.sub()\n",
       "\t__webpack_require__(148)('sub', function (createHTML) {\n",
       "\t  return function sub() {\n",
       "\t    return createHTML(this, 'sub', '', '');\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 160 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// B.2.3.14 String.prototype.sup()\n",
       "\t__webpack_require__(148)('sup', function (createHTML) {\n",
       "\t  return function sup() {\n",
       "\t    return createHTML(this, 'sup', '', '');\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 161 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.3.3.1 / 15.9.4.4 Date.now()\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 162 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar toPrimitive = __webpack_require__(23);\n",
       "\t\n",
       "\t$export($export.P + $export.F * __webpack_require__(14)(function () {\n",
       "\t  return new Date(NaN).toJSON() !== null\n",
       "\t    || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n",
       "\t}), 'Date', {\n",
       "\t  // eslint-disable-next-line no-unused-vars\n",
       "\t  toJSON: function toJSON(key) {\n",
       "\t    var O = toObject(this);\n",
       "\t    var pv = toPrimitive(O);\n",
       "\t    return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 163 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toISOString = __webpack_require__(164);\n",
       "\t\n",
       "\t// PhantomJS / old WebKit has a broken implementations\n",
       "\t$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n",
       "\t  toISOString: toISOString\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 164 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\n",
       "\tvar fails = __webpack_require__(14);\n",
       "\tvar getTime = Date.prototype.getTime;\n",
       "\tvar $toISOString = Date.prototype.toISOString;\n",
       "\t\n",
       "\tvar lz = function (num) {\n",
       "\t  return num > 9 ? num : '0' + num;\n",
       "\t};\n",
       "\t\n",
       "\t// PhantomJS / old WebKit has a broken implementations\n",
       "\tmodule.exports = (fails(function () {\n",
       "\t  return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n",
       "\t}) || !fails(function () {\n",
       "\t  $toISOString.call(new Date(NaN));\n",
       "\t})) ? function toISOString() {\n",
       "\t  if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n",
       "\t  var d = this;\n",
       "\t  var y = d.getUTCFullYear();\n",
       "\t  var m = d.getUTCMilliseconds();\n",
       "\t  var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n",
       "\t  return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n",
       "\t    '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n",
       "\t    'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n",
       "\t    ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n",
       "\t} : $toISOString;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 165 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar DateProto = Date.prototype;\n",
       "\tvar INVALID_DATE = 'Invalid Date';\n",
       "\tvar TO_STRING = 'toString';\n",
       "\tvar $toString = DateProto[TO_STRING];\n",
       "\tvar getTime = DateProto.getTime;\n",
       "\tif (new Date(NaN) + '' != INVALID_DATE) {\n",
       "\t  __webpack_require__(25)(DateProto, TO_STRING, function toString() {\n",
       "\t    var value = getTime.call(this);\n",
       "\t    // eslint-disable-next-line no-self-compare\n",
       "\t    return value === value ? $toString.call(this) : INVALID_DATE;\n",
       "\t  });\n",
       "\t}\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 166 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar TO_PRIMITIVE = __webpack_require__(34)('toPrimitive');\n",
       "\tvar proto = Date.prototype;\n",
       "\t\n",
       "\tif (!(TO_PRIMITIVE in proto)) __webpack_require__(17)(proto, TO_PRIMITIVE, __webpack_require__(167));\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 167 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar toPrimitive = __webpack_require__(23);\n",
       "\tvar NUMBER = 'number';\n",
       "\t\n",
       "\tmodule.exports = function (hint) {\n",
       "\t  if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n",
       "\t  return toPrimitive(anObject(this), hint != NUMBER);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 168 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Array', { isArray: __webpack_require__(52) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 169 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar ctx = __webpack_require__(30);\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar call = __webpack_require__(170);\n",
       "\tvar isArrayIter = __webpack_require__(171);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar createProperty = __webpack_require__(172);\n",
       "\tvar getIterFn = __webpack_require__(173);\n",
       "\t\n",
       "\t$export($export.S + $export.F * !__webpack_require__(174)(function (iter) { Array.from(iter); }), 'Array', {\n",
       "\t  // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n",
       "\t  from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n",
       "\t    var O = toObject(arrayLike);\n",
       "\t    var C = typeof this == 'function' ? this : Array;\n",
       "\t    var aLen = arguments.length;\n",
       "\t    var mapfn = aLen > 1 ? arguments[1] : undefined;\n",
       "\t    var mapping = mapfn !== undefined;\n",
       "\t    var index = 0;\n",
       "\t    var iterFn = getIterFn(O);\n",
       "\t    var length, result, step, iterator;\n",
       "\t    if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n",
       "\t    // if object isn't iterable or it's array with default iterator - use simple case\n",
       "\t    if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n",
       "\t      for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n",
       "\t        createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n",
       "\t      }\n",
       "\t    } else {\n",
       "\t      length = toLength(O.length);\n",
       "\t      for (result = new C(length); length > index; index++) {\n",
       "\t        createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n",
       "\t      }\n",
       "\t    }\n",
       "\t    result.length = index;\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 170 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// call something on iterator step with safe closing on error\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tmodule.exports = function (iterator, fn, value, entries) {\n",
       "\t  try {\n",
       "\t    return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n",
       "\t  // 7.4.6 IteratorClose(iterator, completion)\n",
       "\t  } catch (e) {\n",
       "\t    var ret = iterator['return'];\n",
       "\t    if (ret !== undefined) anObject(ret.call(iterator));\n",
       "\t    throw e;\n",
       "\t  }\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 171 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// check on default Array iterator\n",
       "\tvar Iterators = __webpack_require__(137);\n",
       "\tvar ITERATOR = __webpack_require__(34)('iterator');\n",
       "\tvar ArrayProto = Array.prototype;\n",
       "\t\n",
       "\tmodule.exports = function (it) {\n",
       "\t  return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 172 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $defineProperty = __webpack_require__(18);\n",
       "\tvar createDesc = __webpack_require__(24);\n",
       "\t\n",
       "\tmodule.exports = function (object, index, value) {\n",
       "\t  if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n",
       "\t  else object[index] = value;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 173 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar classof = __webpack_require__(82);\n",
       "\tvar ITERATOR = __webpack_require__(34)('iterator');\n",
       "\tvar Iterators = __webpack_require__(137);\n",
       "\tmodule.exports = __webpack_require__(16).getIteratorMethod = function (it) {\n",
       "\t  if (it != undefined) return it[ITERATOR]\n",
       "\t    || it['@@iterator']\n",
       "\t    || Iterators[classof(it)];\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 174 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar ITERATOR = __webpack_require__(34)('iterator');\n",
       "\tvar SAFE_CLOSING = false;\n",
       "\t\n",
       "\ttry {\n",
       "\t  var riter = [7][ITERATOR]();\n",
       "\t  riter['return'] = function () { SAFE_CLOSING = true; };\n",
       "\t  // eslint-disable-next-line no-throw-literal\n",
       "\t  Array.from(riter, function () { throw 2; });\n",
       "\t} catch (e) { /* empty */ }\n",
       "\t\n",
       "\tmodule.exports = function (exec, skipClosing) {\n",
       "\t  if (!skipClosing && !SAFE_CLOSING) return false;\n",
       "\t  var safe = false;\n",
       "\t  try {\n",
       "\t    var arr = [7];\n",
       "\t    var iter = arr[ITERATOR]();\n",
       "\t    iter.next = function () { return { done: safe = true }; };\n",
       "\t    arr[ITERATOR] = function () { return iter; };\n",
       "\t    exec(arr);\n",
       "\t  } catch (e) { /* empty */ }\n",
       "\t  return safe;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 175 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar createProperty = __webpack_require__(172);\n",
       "\t\n",
       "\t// WebKit Array.of isn't generic\n",
       "\t$export($export.S + $export.F * __webpack_require__(14)(function () {\n",
       "\t  function F() { /* empty */ }\n",
       "\t  return !(Array.of.call(F) instanceof F);\n",
       "\t}), 'Array', {\n",
       "\t  // 22.1.2.3 Array.of( ...items)\n",
       "\t  of: function of(/* ...args */) {\n",
       "\t    var index = 0;\n",
       "\t    var aLen = arguments.length;\n",
       "\t    var result = new (typeof this == 'function' ? this : Array)(aLen);\n",
       "\t    while (aLen > index) createProperty(result, index, arguments[index++]);\n",
       "\t    result.length = aLen;\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 176 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// 22.1.3.13 Array.prototype.join(separator)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toIObject = __webpack_require__(40);\n",
       "\tvar arrayJoin = [].join;\n",
       "\t\n",
       "\t// fallback for not array-like strings\n",
       "\t$export($export.P + $export.F * (__webpack_require__(41) != Object || !__webpack_require__(177)(arrayJoin)), 'Array', {\n",
       "\t  join: function join(separator) {\n",
       "\t    return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 177 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar fails = __webpack_require__(14);\n",
       "\t\n",
       "\tmodule.exports = function (method, arg) {\n",
       "\t  return !!method && fails(function () {\n",
       "\t    // eslint-disable-next-line no-useless-call\n",
       "\t    arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n",
       "\t  });\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 178 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar html = __webpack_require__(55);\n",
       "\tvar cof = __webpack_require__(42);\n",
       "\tvar toAbsoluteIndex = __webpack_require__(47);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar arraySlice = [].slice;\n",
       "\t\n",
       "\t// fallback for not array-like ES3 strings and DOM objects\n",
       "\t$export($export.P + $export.F * __webpack_require__(14)(function () {\n",
       "\t  if (html) arraySlice.call(html);\n",
       "\t}), 'Array', {\n",
       "\t  slice: function slice(begin, end) {\n",
       "\t    var len = toLength(this.length);\n",
       "\t    var klass = cof(this);\n",
       "\t    end = end === undefined ? len : end;\n",
       "\t    if (klass == 'Array') return arraySlice.call(this, begin, end);\n",
       "\t    var start = toAbsoluteIndex(begin, len);\n",
       "\t    var upTo = toAbsoluteIndex(end, len);\n",
       "\t    var size = toLength(upTo - start);\n",
       "\t    var cloned = new Array(size);\n",
       "\t    var i = 0;\n",
       "\t    for (; i < size; i++) cloned[i] = klass == 'String'\n",
       "\t      ? this.charAt(start + i)\n",
       "\t      : this[start + i];\n",
       "\t    return cloned;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 179 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar fails = __webpack_require__(14);\n",
       "\tvar $sort = [].sort;\n",
       "\tvar test = [1, 2, 3];\n",
       "\t\n",
       "\t$export($export.P + $export.F * (fails(function () {\n",
       "\t  // IE8-\n",
       "\t  test.sort(undefined);\n",
       "\t}) || !fails(function () {\n",
       "\t  // V8 bug\n",
       "\t  test.sort(null);\n",
       "\t  // Old WebKit\n",
       "\t}) || !__webpack_require__(177)($sort)), 'Array', {\n",
       "\t  // 22.1.3.25 Array.prototype.sort(comparefn)\n",
       "\t  sort: function sort(comparefn) {\n",
       "\t    return comparefn === undefined\n",
       "\t      ? $sort.call(toObject(this))\n",
       "\t      : $sort.call(toObject(this), aFunction(comparefn));\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 180 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $forEach = __webpack_require__(181)(0);\n",
       "\tvar STRICT = __webpack_require__(177)([].forEach, true);\n",
       "\t\n",
       "\t$export($export.P + $export.F * !STRICT, 'Array', {\n",
       "\t  // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n",
       "\t  forEach: function forEach(callbackfn /* , thisArg */) {\n",
       "\t    return $forEach(this, callbackfn, arguments[1]);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 181 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 0 -> Array#forEach\n",
       "\t// 1 -> Array#map\n",
       "\t// 2 -> Array#filter\n",
       "\t// 3 -> Array#some\n",
       "\t// 4 -> Array#every\n",
       "\t// 5 -> Array#find\n",
       "\t// 6 -> Array#findIndex\n",
       "\tvar ctx = __webpack_require__(30);\n",
       "\tvar IObject = __webpack_require__(41);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar asc = __webpack_require__(182);\n",
       "\tmodule.exports = function (TYPE, $create) {\n",
       "\t  var IS_MAP = TYPE == 1;\n",
       "\t  var IS_FILTER = TYPE == 2;\n",
       "\t  var IS_SOME = TYPE == 3;\n",
       "\t  var IS_EVERY = TYPE == 4;\n",
       "\t  var IS_FIND_INDEX = TYPE == 6;\n",
       "\t  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n",
       "\t  var create = $create || asc;\n",
       "\t  return function ($this, callbackfn, that) {\n",
       "\t    var O = toObject($this);\n",
       "\t    var self = IObject(O);\n",
       "\t    var f = ctx(callbackfn, that, 3);\n",
       "\t    var length = toLength(self.length);\n",
       "\t    var index = 0;\n",
       "\t    var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n",
       "\t    var val, res;\n",
       "\t    for (;length > index; index++) if (NO_HOLES || index in self) {\n",
       "\t      val = self[index];\n",
       "\t      res = f(val, index, O);\n",
       "\t      if (TYPE) {\n",
       "\t        if (IS_MAP) result[index] = res;   // map\n",
       "\t        else if (res) switch (TYPE) {\n",
       "\t          case 3: return true;             // some\n",
       "\t          case 5: return val;              // find\n",
       "\t          case 6: return index;            // findIndex\n",
       "\t          case 2: result.push(val);        // filter\n",
       "\t        } else if (IS_EVERY) return false; // every\n",
       "\t      }\n",
       "\t    }\n",
       "\t    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n",
       "\t  };\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 182 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\n",
       "\tvar speciesConstructor = __webpack_require__(183);\n",
       "\t\n",
       "\tmodule.exports = function (original, length) {\n",
       "\t  return new (speciesConstructor(original))(length);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 183 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar isArray = __webpack_require__(52);\n",
       "\tvar SPECIES = __webpack_require__(34)('species');\n",
       "\t\n",
       "\tmodule.exports = function (original) {\n",
       "\t  var C;\n",
       "\t  if (isArray(original)) {\n",
       "\t    C = original.constructor;\n",
       "\t    // cross-realm fallback\n",
       "\t    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n",
       "\t    if (isObject(C)) {\n",
       "\t      C = C[SPECIES];\n",
       "\t      if (C === null) C = undefined;\n",
       "\t    }\n",
       "\t  } return C === undefined ? Array : C;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 184 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $map = __webpack_require__(181)(1);\n",
       "\t\n",
       "\t$export($export.P + $export.F * !__webpack_require__(177)([].map, true), 'Array', {\n",
       "\t  // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n",
       "\t  map: function map(callbackfn /* , thisArg */) {\n",
       "\t    return $map(this, callbackfn, arguments[1]);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 185 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $filter = __webpack_require__(181)(2);\n",
       "\t\n",
       "\t$export($export.P + $export.F * !__webpack_require__(177)([].filter, true), 'Array', {\n",
       "\t  // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n",
       "\t  filter: function filter(callbackfn /* , thisArg */) {\n",
       "\t    return $filter(this, callbackfn, arguments[1]);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 186 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $some = __webpack_require__(181)(3);\n",
       "\t\n",
       "\t$export($export.P + $export.F * !__webpack_require__(177)([].some, true), 'Array', {\n",
       "\t  // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n",
       "\t  some: function some(callbackfn /* , thisArg */) {\n",
       "\t    return $some(this, callbackfn, arguments[1]);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 187 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $every = __webpack_require__(181)(4);\n",
       "\t\n",
       "\t$export($export.P + $export.F * !__webpack_require__(177)([].every, true), 'Array', {\n",
       "\t  // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n",
       "\t  every: function every(callbackfn /* , thisArg */) {\n",
       "\t    return $every(this, callbackfn, arguments[1]);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 188 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $reduce = __webpack_require__(189);\n",
       "\t\n",
       "\t$export($export.P + $export.F * !__webpack_require__(177)([].reduce, true), 'Array', {\n",
       "\t  // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n",
       "\t  reduce: function reduce(callbackfn /* , initialValue */) {\n",
       "\t    return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 189 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar IObject = __webpack_require__(41);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\t\n",
       "\tmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n",
       "\t  aFunction(callbackfn);\n",
       "\t  var O = toObject(that);\n",
       "\t  var self = IObject(O);\n",
       "\t  var length = toLength(O.length);\n",
       "\t  var index = isRight ? length - 1 : 0;\n",
       "\t  var i = isRight ? -1 : 1;\n",
       "\t  if (aLen < 2) for (;;) {\n",
       "\t    if (index in self) {\n",
       "\t      memo = self[index];\n",
       "\t      index += i;\n",
       "\t      break;\n",
       "\t    }\n",
       "\t    index += i;\n",
       "\t    if (isRight ? index < 0 : length <= index) {\n",
       "\t      throw TypeError('Reduce of empty array with no initial value');\n",
       "\t    }\n",
       "\t  }\n",
       "\t  for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n",
       "\t    memo = callbackfn(memo, self[index], index, O);\n",
       "\t  }\n",
       "\t  return memo;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 190 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $reduce = __webpack_require__(189);\n",
       "\t\n",
       "\t$export($export.P + $export.F * !__webpack_require__(177)([].reduceRight, true), 'Array', {\n",
       "\t  // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n",
       "\t  reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n",
       "\t    return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 191 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $indexOf = __webpack_require__(44)(false);\n",
       "\tvar $native = [].indexOf;\n",
       "\tvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n",
       "\t\n",
       "\t$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(177)($native)), 'Array', {\n",
       "\t  // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n",
       "\t  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n",
       "\t    return NEGATIVE_ZERO\n",
       "\t      // convert -0 to +0\n",
       "\t      ? $native.apply(this, arguments) || 0\n",
       "\t      : $indexOf(this, searchElement, arguments[1]);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 192 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toIObject = __webpack_require__(40);\n",
       "\tvar toInteger = __webpack_require__(46);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar $native = [].lastIndexOf;\n",
       "\tvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n",
       "\t\n",
       "\t$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(177)($native)), 'Array', {\n",
       "\t  // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n",
       "\t  lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n",
       "\t    // convert -0 to +0\n",
       "\t    if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n",
       "\t    var O = toIObject(this);\n",
       "\t    var length = toLength(O.length);\n",
       "\t    var index = length - 1;\n",
       "\t    if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n",
       "\t    if (index < 0) index = length + index;\n",
       "\t    for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n",
       "\t    return -1;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 193 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.P, 'Array', { copyWithin: __webpack_require__(194) });\n",
       "\t\n",
       "\t__webpack_require__(195)('copyWithin');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 194 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n",
       "\t'use strict';\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar toAbsoluteIndex = __webpack_require__(47);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\t\n",
       "\tmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n",
       "\t  var O = toObject(this);\n",
       "\t  var len = toLength(O.length);\n",
       "\t  var to = toAbsoluteIndex(target, len);\n",
       "\t  var from = toAbsoluteIndex(start, len);\n",
       "\t  var end = arguments.length > 2 ? arguments[2] : undefined;\n",
       "\t  var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n",
       "\t  var inc = 1;\n",
       "\t  if (from < to && to < from + count) {\n",
       "\t    inc = -1;\n",
       "\t    from += count - 1;\n",
       "\t    to += count - 1;\n",
       "\t  }\n",
       "\t  while (count-- > 0) {\n",
       "\t    if (from in O) O[to] = O[from];\n",
       "\t    else delete O[to];\n",
       "\t    to += inc;\n",
       "\t    from += inc;\n",
       "\t  } return O;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 195 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 22.1.3.31 Array.prototype[@@unscopables]\n",
       "\tvar UNSCOPABLES = __webpack_require__(34)('unscopables');\n",
       "\tvar ArrayProto = Array.prototype;\n",
       "\tif (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(17)(ArrayProto, UNSCOPABLES, {});\n",
       "\tmodule.exports = function (key) {\n",
       "\t  ArrayProto[UNSCOPABLES][key] = true;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 196 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.P, 'Array', { fill: __webpack_require__(197) });\n",
       "\t\n",
       "\t__webpack_require__(195)('fill');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 197 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n",
       "\t'use strict';\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar toAbsoluteIndex = __webpack_require__(47);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tmodule.exports = function fill(value /* , start = 0, end = @length */) {\n",
       "\t  var O = toObject(this);\n",
       "\t  var length = toLength(O.length);\n",
       "\t  var aLen = arguments.length;\n",
       "\t  var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n",
       "\t  var end = aLen > 2 ? arguments[2] : undefined;\n",
       "\t  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n",
       "\t  while (endPos > index) O[index++] = value;\n",
       "\t  return O;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 198 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $find = __webpack_require__(181)(5);\n",
       "\tvar KEY = 'find';\n",
       "\tvar forced = true;\n",
       "\t// Shouldn't skip holes\n",
       "\tif (KEY in []) Array(1)[KEY](function () { forced = false; });\n",
       "\t$export($export.P + $export.F * forced, 'Array', {\n",
       "\t  find: function find(callbackfn /* , that = undefined */) {\n",
       "\t    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n",
       "\t  }\n",
       "\t});\n",
       "\t__webpack_require__(195)(KEY);\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 199 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $find = __webpack_require__(181)(6);\n",
       "\tvar KEY = 'findIndex';\n",
       "\tvar forced = true;\n",
       "\t// Shouldn't skip holes\n",
       "\tif (KEY in []) Array(1)[KEY](function () { forced = false; });\n",
       "\t$export($export.P + $export.F * forced, 'Array', {\n",
       "\t  findIndex: function findIndex(callbackfn /* , that = undefined */) {\n",
       "\t    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n",
       "\t  }\n",
       "\t});\n",
       "\t__webpack_require__(195)(KEY);\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 200 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(201)('Array');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 201 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar dP = __webpack_require__(18);\n",
       "\tvar DESCRIPTORS = __webpack_require__(13);\n",
       "\tvar SPECIES = __webpack_require__(34)('species');\n",
       "\t\n",
       "\tmodule.exports = function (KEY) {\n",
       "\t  var C = global[KEY];\n",
       "\t  if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n",
       "\t    configurable: true,\n",
       "\t    get: function () { return this; }\n",
       "\t  });\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 202 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar addToUnscopables = __webpack_require__(195);\n",
       "\tvar step = __webpack_require__(203);\n",
       "\tvar Iterators = __webpack_require__(137);\n",
       "\tvar toIObject = __webpack_require__(40);\n",
       "\t\n",
       "\t// 22.1.3.4 Array.prototype.entries()\n",
       "\t// 22.1.3.13 Array.prototype.keys()\n",
       "\t// 22.1.3.29 Array.prototype.values()\n",
       "\t// 22.1.3.30 Array.prototype[@@iterator]()\n",
       "\tmodule.exports = __webpack_require__(136)(Array, 'Array', function (iterated, kind) {\n",
       "\t  this._t = toIObject(iterated); // target\n",
       "\t  this._i = 0;                   // next index\n",
       "\t  this._k = kind;                // kind\n",
       "\t// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n",
       "\t}, function () {\n",
       "\t  var O = this._t;\n",
       "\t  var kind = this._k;\n",
       "\t  var index = this._i++;\n",
       "\t  if (!O || index >= O.length) {\n",
       "\t    this._t = undefined;\n",
       "\t    return step(1);\n",
       "\t  }\n",
       "\t  if (kind == 'keys') return step(0, index);\n",
       "\t  if (kind == 'values') return step(0, O[index]);\n",
       "\t  return step(0, [index, O[index]]);\n",
       "\t}, 'values');\n",
       "\t\n",
       "\t// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\n",
       "\tIterators.Arguments = Iterators.Array;\n",
       "\t\n",
       "\taddToUnscopables('keys');\n",
       "\taddToUnscopables('values');\n",
       "\taddToUnscopables('entries');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 203 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tmodule.exports = function (done, value) {\n",
       "\t  return { value: value, done: !!done };\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 204 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar inheritIfRequired = __webpack_require__(95);\n",
       "\tvar dP = __webpack_require__(18).f;\n",
       "\tvar gOPN = __webpack_require__(57).f;\n",
       "\tvar isRegExp = __webpack_require__(142);\n",
       "\tvar $flags = __webpack_require__(205);\n",
       "\tvar $RegExp = global.RegExp;\n",
       "\tvar Base = $RegExp;\n",
       "\tvar proto = $RegExp.prototype;\n",
       "\tvar re1 = /a/g;\n",
       "\tvar re2 = /a/g;\n",
       "\t// \"new\" creates a new object, old webkit buggy here\n",
       "\tvar CORRECT_NEW = new $RegExp(re1) !== re1;\n",
       "\t\n",
       "\tif (__webpack_require__(13) && (!CORRECT_NEW || __webpack_require__(14)(function () {\n",
       "\t  re2[__webpack_require__(34)('match')] = false;\n",
       "\t  // RegExp constructor can alter flags and IsRegExp works correct with @@match\n",
       "\t  return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n",
       "\t}))) {\n",
       "\t  $RegExp = function RegExp(p, f) {\n",
       "\t    var tiRE = this instanceof $RegExp;\n",
       "\t    var piRE = isRegExp(p);\n",
       "\t    var fiU = f === undefined;\n",
       "\t    return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n",
       "\t      : inheritIfRequired(CORRECT_NEW\n",
       "\t        ? new Base(piRE && !fiU ? p.source : p, f)\n",
       "\t        : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n",
       "\t      , tiRE ? this : proto, $RegExp);\n",
       "\t  };\n",
       "\t  var proxy = function (key) {\n",
       "\t    key in $RegExp || dP($RegExp, key, {\n",
       "\t      configurable: true,\n",
       "\t      get: function () { return Base[key]; },\n",
       "\t      set: function (it) { Base[key] = it; }\n",
       "\t    });\n",
       "\t  };\n",
       "\t  for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n",
       "\t  proto.constructor = $RegExp;\n",
       "\t  $RegExp.prototype = proto;\n",
       "\t  __webpack_require__(25)(global, 'RegExp', $RegExp);\n",
       "\t}\n",
       "\t\n",
       "\t__webpack_require__(201)('RegExp');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 205 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// 21.2.5.3 get RegExp.prototype.flags\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tmodule.exports = function () {\n",
       "\t  var that = anObject(this);\n",
       "\t  var result = '';\n",
       "\t  if (that.global) result += 'g';\n",
       "\t  if (that.ignoreCase) result += 'i';\n",
       "\t  if (that.multiline) result += 'm';\n",
       "\t  if (that.unicode) result += 'u';\n",
       "\t  if (that.sticky) result += 'y';\n",
       "\t  return result;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 206 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar regexpExec = __webpack_require__(207);\n",
       "\t__webpack_require__(15)({\n",
       "\t  target: 'RegExp',\n",
       "\t  proto: true,\n",
       "\t  forced: regexpExec !== /./.exec\n",
       "\t}, {\n",
       "\t  exec: regexpExec\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 207 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t\n",
       "\tvar regexpFlags = __webpack_require__(205);\n",
       "\t\n",
       "\tvar nativeExec = RegExp.prototype.exec;\n",
       "\t// This always refers to the native implementation, because the\n",
       "\t// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n",
       "\t// which loads this file before patching the method.\n",
       "\tvar nativeReplace = String.prototype.replace;\n",
       "\t\n",
       "\tvar patchedExec = nativeExec;\n",
       "\t\n",
       "\tvar LAST_INDEX = 'lastIndex';\n",
       "\t\n",
       "\tvar UPDATES_LAST_INDEX_WRONG = (function () {\n",
       "\t  var re1 = /a/,\n",
       "\t      re2 = /b*/g;\n",
       "\t  nativeExec.call(re1, 'a');\n",
       "\t  nativeExec.call(re2, 'a');\n",
       "\t  return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n",
       "\t})();\n",
       "\t\n",
       "\t// nonparticipating capturing group, copied from es5-shim's String#split patch.\n",
       "\tvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n",
       "\t\n",
       "\tvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n",
       "\t\n",
       "\tif (PATCH) {\n",
       "\t  patchedExec = function exec(str) {\n",
       "\t    var re = this;\n",
       "\t    var lastIndex, reCopy, match, i;\n",
       "\t\n",
       "\t    if (NPCG_INCLUDED) {\n",
       "\t      reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n",
       "\t    }\n",
       "\t    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n",
       "\t\n",
       "\t    match = nativeExec.call(re, str);\n",
       "\t\n",
       "\t    if (UPDATES_LAST_INDEX_WRONG && match) {\n",
       "\t      re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n",
       "\t    }\n",
       "\t    if (NPCG_INCLUDED && match && match.length > 1) {\n",
       "\t      // Fix browsers whose `exec` methods don't consistently return `undefined`\n",
       "\t      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n",
       "\t      // eslint-disable-next-line no-loop-func\n",
       "\t      nativeReplace.call(match[0], reCopy, function () {\n",
       "\t        for (i = 1; i < arguments.length - 2; i++) {\n",
       "\t          if (arguments[i] === undefined) match[i] = undefined;\n",
       "\t        }\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    return match;\n",
       "\t  };\n",
       "\t}\n",
       "\t\n",
       "\tmodule.exports = patchedExec;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 208 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t__webpack_require__(209);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar $flags = __webpack_require__(205);\n",
       "\tvar DESCRIPTORS = __webpack_require__(13);\n",
       "\tvar TO_STRING = 'toString';\n",
       "\tvar $toString = /./[TO_STRING];\n",
       "\t\n",
       "\tvar define = function (fn) {\n",
       "\t  __webpack_require__(25)(RegExp.prototype, TO_STRING, fn, true);\n",
       "\t};\n",
       "\t\n",
       "\t// 21.2.5.14 RegExp.prototype.toString()\n",
       "\tif (__webpack_require__(14)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n",
       "\t  define(function toString() {\n",
       "\t    var R = anObject(this);\n",
       "\t    return '/'.concat(R.source, '/',\n",
       "\t      'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n",
       "\t  });\n",
       "\t// FF44- RegExp#toString has a wrong name\n",
       "\t} else if ($toString.name != TO_STRING) {\n",
       "\t  define(function toString() {\n",
       "\t    return $toString.call(this);\n",
       "\t  });\n",
       "\t}\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 209 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 21.2.5.3 get RegExp.prototype.flags()\n",
       "\tif (__webpack_require__(13) && /./g.flags != 'g') __webpack_require__(18).f(RegExp.prototype, 'flags', {\n",
       "\t  configurable: true,\n",
       "\t  get: __webpack_require__(205)\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 210 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar advanceStringIndex = __webpack_require__(211);\n",
       "\tvar regExpExec = __webpack_require__(212);\n",
       "\t\n",
       "\t// @@match logic\n",
       "\t__webpack_require__(213)('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n",
       "\t  return [\n",
       "\t    // `String.prototype.match` method\n",
       "\t    // https://tc39.github.io/ecma262/#sec-string.prototype.match\n",
       "\t    function match(regexp) {\n",
       "\t      var O = defined(this);\n",
       "\t      var fn = regexp == undefined ? undefined : regexp[MATCH];\n",
       "\t      return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n",
       "\t    },\n",
       "\t    // `RegExp.prototype[@@match]` method\n",
       "\t    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n",
       "\t    function (regexp) {\n",
       "\t      var res = maybeCallNative($match, regexp, this);\n",
       "\t      if (res.done) return res.value;\n",
       "\t      var rx = anObject(regexp);\n",
       "\t      var S = String(this);\n",
       "\t      if (!rx.global) return regExpExec(rx, S);\n",
       "\t      var fullUnicode = rx.unicode;\n",
       "\t      rx.lastIndex = 0;\n",
       "\t      var A = [];\n",
       "\t      var n = 0;\n",
       "\t      var result;\n",
       "\t      while ((result = regExpExec(rx, S)) !== null) {\n",
       "\t        var matchStr = String(result[0]);\n",
       "\t        A[n] = matchStr;\n",
       "\t        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n",
       "\t        n++;\n",
       "\t      }\n",
       "\t      return n === 0 ? null : A;\n",
       "\t    }\n",
       "\t  ];\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 211 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar at = __webpack_require__(135)(true);\n",
       "\t\n",
       "\t // `AdvanceStringIndex` abstract operation\n",
       "\t// https://tc39.github.io/ecma262/#sec-advancestringindex\n",
       "\tmodule.exports = function (S, index, unicode) {\n",
       "\t  return index + (unicode ? at(S, index).length : 1);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 212 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t\n",
       "\tvar classof = __webpack_require__(82);\n",
       "\tvar builtinExec = RegExp.prototype.exec;\n",
       "\t\n",
       "\t // `RegExpExec` abstract operation\n",
       "\t// https://tc39.github.io/ecma262/#sec-regexpexec\n",
       "\tmodule.exports = function (R, S) {\n",
       "\t  var exec = R.exec;\n",
       "\t  if (typeof exec === 'function') {\n",
       "\t    var result = exec.call(R, S);\n",
       "\t    if (typeof result !== 'object') {\n",
       "\t      throw new TypeError('RegExp exec method returned something other than an Object or null');\n",
       "\t    }\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t  if (classof(R) !== 'RegExp') {\n",
       "\t    throw new TypeError('RegExp#exec called on incompatible receiver');\n",
       "\t  }\n",
       "\t  return builtinExec.call(R, S);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 213 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t__webpack_require__(206);\n",
       "\tvar redefine = __webpack_require__(25);\n",
       "\tvar hide = __webpack_require__(17);\n",
       "\tvar fails = __webpack_require__(14);\n",
       "\tvar defined = __webpack_require__(43);\n",
       "\tvar wks = __webpack_require__(34);\n",
       "\tvar regexpExec = __webpack_require__(207);\n",
       "\t\n",
       "\tvar SPECIES = wks('species');\n",
       "\t\n",
       "\tvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n",
       "\t  // #replace needs built-in support for named groups.\n",
       "\t  // #match works fine because it just return the exec results, even if it has\n",
       "\t  // a \"grops\" property.\n",
       "\t  var re = /./;\n",
       "\t  re.exec = function () {\n",
       "\t    var result = [];\n",
       "\t    result.groups = { a: '7' };\n",
       "\t    return result;\n",
       "\t  };\n",
       "\t  return ''.replace(re, '$<a>') !== '7';\n",
       "\t});\n",
       "\t\n",
       "\tvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n",
       "\t  // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n",
       "\t  var re = /(?:)/;\n",
       "\t  var originalExec = re.exec;\n",
       "\t  re.exec = function () { return originalExec.apply(this, arguments); };\n",
       "\t  var result = 'ab'.split(re);\n",
       "\t  return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n",
       "\t})();\n",
       "\t\n",
       "\tmodule.exports = function (KEY, length, exec) {\n",
       "\t  var SYMBOL = wks(KEY);\n",
       "\t\n",
       "\t  var DELEGATES_TO_SYMBOL = !fails(function () {\n",
       "\t    // String methods call symbol-named RegEp methods\n",
       "\t    var O = {};\n",
       "\t    O[SYMBOL] = function () { return 7; };\n",
       "\t    return ''[KEY](O) != 7;\n",
       "\t  });\n",
       "\t\n",
       "\t  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n",
       "\t    // Symbol-named RegExp methods call .exec\n",
       "\t    var execCalled = false;\n",
       "\t    var re = /a/;\n",
       "\t    re.exec = function () { execCalled = true; return null; };\n",
       "\t    if (KEY === 'split') {\n",
       "\t      // RegExp[@@split] doesn't call the regex's exec method, but first creates\n",
       "\t      // a new one. We need to return the patched regex when creating the new one.\n",
       "\t      re.constructor = {};\n",
       "\t      re.constructor[SPECIES] = function () { return re; };\n",
       "\t    }\n",
       "\t    re[SYMBOL]('');\n",
       "\t    return !execCalled;\n",
       "\t  }) : undefined;\n",
       "\t\n",
       "\t  if (\n",
       "\t    !DELEGATES_TO_SYMBOL ||\n",
       "\t    !DELEGATES_TO_EXEC ||\n",
       "\t    (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n",
       "\t    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n",
       "\t  ) {\n",
       "\t    var nativeRegExpMethod = /./[SYMBOL];\n",
       "\t    var fns = exec(\n",
       "\t      defined,\n",
       "\t      SYMBOL,\n",
       "\t      ''[KEY],\n",
       "\t      function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n",
       "\t        if (regexp.exec === regexpExec) {\n",
       "\t          if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n",
       "\t            // The native String method already delegates to @@method (this\n",
       "\t            // polyfilled function), leasing to infinite recursion.\n",
       "\t            // We avoid it by directly calling the native @@method method.\n",
       "\t            return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n",
       "\t          }\n",
       "\t          return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n",
       "\t        }\n",
       "\t        return { done: false };\n",
       "\t      }\n",
       "\t    );\n",
       "\t    var strfn = fns[0];\n",
       "\t    var rxfn = fns[1];\n",
       "\t\n",
       "\t    redefine(String.prototype, KEY, strfn);\n",
       "\t    hide(RegExp.prototype, SYMBOL, length == 2\n",
       "\t      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n",
       "\t      // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n",
       "\t      ? function (string, arg) { return rxfn.call(string, this, arg); }\n",
       "\t      // 21.2.5.6 RegExp.prototype[@@match](string)\n",
       "\t      // 21.2.5.9 RegExp.prototype[@@search](string)\n",
       "\t      : function (string) { return rxfn.call(string, this); }\n",
       "\t    );\n",
       "\t  }\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 214 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar toInteger = __webpack_require__(46);\n",
       "\tvar advanceStringIndex = __webpack_require__(211);\n",
       "\tvar regExpExec = __webpack_require__(212);\n",
       "\tvar max = Math.max;\n",
       "\tvar min = Math.min;\n",
       "\tvar floor = Math.floor;\n",
       "\tvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\n",
       "\tvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n",
       "\t\n",
       "\tvar maybeToString = function (it) {\n",
       "\t  return it === undefined ? it : String(it);\n",
       "\t};\n",
       "\t\n",
       "\t// @@replace logic\n",
       "\t__webpack_require__(213)('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n",
       "\t  return [\n",
       "\t    // `String.prototype.replace` method\n",
       "\t    // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n",
       "\t    function replace(searchValue, replaceValue) {\n",
       "\t      var O = defined(this);\n",
       "\t      var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n",
       "\t      return fn !== undefined\n",
       "\t        ? fn.call(searchValue, O, replaceValue)\n",
       "\t        : $replace.call(String(O), searchValue, replaceValue);\n",
       "\t    },\n",
       "\t    // `RegExp.prototype[@@replace]` method\n",
       "\t    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n",
       "\t    function (regexp, replaceValue) {\n",
       "\t      var res = maybeCallNative($replace, regexp, this, replaceValue);\n",
       "\t      if (res.done) return res.value;\n",
       "\t\n",
       "\t      var rx = anObject(regexp);\n",
       "\t      var S = String(this);\n",
       "\t      var functionalReplace = typeof replaceValue === 'function';\n",
       "\t      if (!functionalReplace) replaceValue = String(replaceValue);\n",
       "\t      var global = rx.global;\n",
       "\t      if (global) {\n",
       "\t        var fullUnicode = rx.unicode;\n",
       "\t        rx.lastIndex = 0;\n",
       "\t      }\n",
       "\t      var results = [];\n",
       "\t      while (true) {\n",
       "\t        var result = regExpExec(rx, S);\n",
       "\t        if (result === null) break;\n",
       "\t        results.push(result);\n",
       "\t        if (!global) break;\n",
       "\t        var matchStr = String(result[0]);\n",
       "\t        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n",
       "\t      }\n",
       "\t      var accumulatedResult = '';\n",
       "\t      var nextSourcePosition = 0;\n",
       "\t      for (var i = 0; i < results.length; i++) {\n",
       "\t        result = results[i];\n",
       "\t        var matched = String(result[0]);\n",
       "\t        var position = max(min(toInteger(result.index), S.length), 0);\n",
       "\t        var captures = [];\n",
       "\t        // NOTE: This is equivalent to\n",
       "\t        //   captures = result.slice(1).map(maybeToString)\n",
       "\t        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n",
       "\t        // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n",
       "\t        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n",
       "\t        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n",
       "\t        var namedCaptures = result.groups;\n",
       "\t        if (functionalReplace) {\n",
       "\t          var replacerArgs = [matched].concat(captures, position, S);\n",
       "\t          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n",
       "\t          var replacement = String(replaceValue.apply(undefined, replacerArgs));\n",
       "\t        } else {\n",
       "\t          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n",
       "\t        }\n",
       "\t        if (position >= nextSourcePosition) {\n",
       "\t          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n",
       "\t          nextSourcePosition = position + matched.length;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      return accumulatedResult + S.slice(nextSourcePosition);\n",
       "\t    }\n",
       "\t  ];\n",
       "\t\n",
       "\t    // https://tc39.github.io/ecma262/#sec-getsubstitution\n",
       "\t  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n",
       "\t    var tailPos = position + matched.length;\n",
       "\t    var m = captures.length;\n",
       "\t    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n",
       "\t    if (namedCaptures !== undefined) {\n",
       "\t      namedCaptures = toObject(namedCaptures);\n",
       "\t      symbols = SUBSTITUTION_SYMBOLS;\n",
       "\t    }\n",
       "\t    return $replace.call(replacement, symbols, function (match, ch) {\n",
       "\t      var capture;\n",
       "\t      switch (ch.charAt(0)) {\n",
       "\t        case '$': return '$';\n",
       "\t        case '&': return matched;\n",
       "\t        case '`': return str.slice(0, position);\n",
       "\t        case \"'\": return str.slice(tailPos);\n",
       "\t        case '<':\n",
       "\t          capture = namedCaptures[ch.slice(1, -1)];\n",
       "\t          break;\n",
       "\t        default: // \\d\\d?\n",
       "\t          var n = +ch;\n",
       "\t          if (n === 0) return match;\n",
       "\t          if (n > m) {\n",
       "\t            var f = floor(n / 10);\n",
       "\t            if (f === 0) return match;\n",
       "\t            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n",
       "\t            return match;\n",
       "\t          }\n",
       "\t          capture = captures[n - 1];\n",
       "\t      }\n",
       "\t      return capture === undefined ? '' : capture;\n",
       "\t    });\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 215 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar sameValue = __webpack_require__(78);\n",
       "\tvar regExpExec = __webpack_require__(212);\n",
       "\t\n",
       "\t// @@search logic\n",
       "\t__webpack_require__(213)('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n",
       "\t  return [\n",
       "\t    // `String.prototype.search` method\n",
       "\t    // https://tc39.github.io/ecma262/#sec-string.prototype.search\n",
       "\t    function search(regexp) {\n",
       "\t      var O = defined(this);\n",
       "\t      var fn = regexp == undefined ? undefined : regexp[SEARCH];\n",
       "\t      return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n",
       "\t    },\n",
       "\t    // `RegExp.prototype[@@search]` method\n",
       "\t    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n",
       "\t    function (regexp) {\n",
       "\t      var res = maybeCallNative($search, regexp, this);\n",
       "\t      if (res.done) return res.value;\n",
       "\t      var rx = anObject(regexp);\n",
       "\t      var S = String(this);\n",
       "\t      var previousLastIndex = rx.lastIndex;\n",
       "\t      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n",
       "\t      var result = regExpExec(rx, S);\n",
       "\t      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n",
       "\t      return result === null ? -1 : result.index;\n",
       "\t    }\n",
       "\t  ];\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 216 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t\n",
       "\tvar isRegExp = __webpack_require__(142);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar speciesConstructor = __webpack_require__(217);\n",
       "\tvar advanceStringIndex = __webpack_require__(211);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar callRegExpExec = __webpack_require__(212);\n",
       "\tvar regexpExec = __webpack_require__(207);\n",
       "\tvar fails = __webpack_require__(14);\n",
       "\tvar $min = Math.min;\n",
       "\tvar $push = [].push;\n",
       "\tvar $SPLIT = 'split';\n",
       "\tvar LENGTH = 'length';\n",
       "\tvar LAST_INDEX = 'lastIndex';\n",
       "\tvar MAX_UINT32 = 0xffffffff;\n",
       "\t\n",
       "\t// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\n",
       "\tvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n",
       "\t\n",
       "\t// @@split logic\n",
       "\t__webpack_require__(213)('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n",
       "\t  var internalSplit;\n",
       "\t  if (\n",
       "\t    'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n",
       "\t    'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n",
       "\t    'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n",
       "\t    '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n",
       "\t    '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n",
       "\t    ''[$SPLIT](/.?/)[LENGTH]\n",
       "\t  ) {\n",
       "\t    // based on es5-shim implementation, need to rework it\n",
       "\t    internalSplit = function (separator, limit) {\n",
       "\t      var string = String(this);\n",
       "\t      if (separator === undefined && limit === 0) return [];\n",
       "\t      // If `separator` is not a regex, use native split\n",
       "\t      if (!isRegExp(separator)) return $split.call(string, separator, limit);\n",
       "\t      var output = [];\n",
       "\t      var flags = (separator.ignoreCase ? 'i' : '') +\n",
       "\t                  (separator.multiline ? 'm' : '') +\n",
       "\t                  (separator.unicode ? 'u' : '') +\n",
       "\t                  (separator.sticky ? 'y' : '');\n",
       "\t      var lastLastIndex = 0;\n",
       "\t      var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n",
       "\t      // Make `global` and avoid `lastIndex` issues by working with a copy\n",
       "\t      var separatorCopy = new RegExp(separator.source, flags + 'g');\n",
       "\t      var match, lastIndex, lastLength;\n",
       "\t      while (match = regexpExec.call(separatorCopy, string)) {\n",
       "\t        lastIndex = separatorCopy[LAST_INDEX];\n",
       "\t        if (lastIndex > lastLastIndex) {\n",
       "\t          output.push(string.slice(lastLastIndex, match.index));\n",
       "\t          if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n",
       "\t          lastLength = match[0][LENGTH];\n",
       "\t          lastLastIndex = lastIndex;\n",
       "\t          if (output[LENGTH] >= splitLimit) break;\n",
       "\t        }\n",
       "\t        if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n",
       "\t      }\n",
       "\t      if (lastLastIndex === string[LENGTH]) {\n",
       "\t        if (lastLength || !separatorCopy.test('')) output.push('');\n",
       "\t      } else output.push(string.slice(lastLastIndex));\n",
       "\t      return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n",
       "\t    };\n",
       "\t  // Chakra, V8\n",
       "\t  } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n",
       "\t    internalSplit = function (separator, limit) {\n",
       "\t      return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n",
       "\t    };\n",
       "\t  } else {\n",
       "\t    internalSplit = $split;\n",
       "\t  }\n",
       "\t\n",
       "\t  return [\n",
       "\t    // `String.prototype.split` method\n",
       "\t    // https://tc39.github.io/ecma262/#sec-string.prototype.split\n",
       "\t    function split(separator, limit) {\n",
       "\t      var O = defined(this);\n",
       "\t      var splitter = separator == undefined ? undefined : separator[SPLIT];\n",
       "\t      return splitter !== undefined\n",
       "\t        ? splitter.call(separator, O, limit)\n",
       "\t        : internalSplit.call(String(O), separator, limit);\n",
       "\t    },\n",
       "\t    // `RegExp.prototype[@@split]` method\n",
       "\t    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n",
       "\t    //\n",
       "\t    // NOTE: This cannot be properly polyfilled in engines that don't support\n",
       "\t    // the 'y' flag.\n",
       "\t    function (regexp, limit) {\n",
       "\t      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n",
       "\t      if (res.done) return res.value;\n",
       "\t\n",
       "\t      var rx = anObject(regexp);\n",
       "\t      var S = String(this);\n",
       "\t      var C = speciesConstructor(rx, RegExp);\n",
       "\t\n",
       "\t      var unicodeMatching = rx.unicode;\n",
       "\t      var flags = (rx.ignoreCase ? 'i' : '') +\n",
       "\t                  (rx.multiline ? 'm' : '') +\n",
       "\t                  (rx.unicode ? 'u' : '') +\n",
       "\t                  (SUPPORTS_Y ? 'y' : 'g');\n",
       "\t\n",
       "\t      // ^(? + rx + ) is needed, in combination with some S slicing, to\n",
       "\t      // simulate the 'y' flag.\n",
       "\t      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n",
       "\t      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n",
       "\t      if (lim === 0) return [];\n",
       "\t      if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n",
       "\t      var p = 0;\n",
       "\t      var q = 0;\n",
       "\t      var A = [];\n",
       "\t      while (q < S.length) {\n",
       "\t        splitter.lastIndex = SUPPORTS_Y ? q : 0;\n",
       "\t        var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n",
       "\t        var e;\n",
       "\t        if (\n",
       "\t          z === null ||\n",
       "\t          (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n",
       "\t        ) {\n",
       "\t          q = advanceStringIndex(S, q, unicodeMatching);\n",
       "\t        } else {\n",
       "\t          A.push(S.slice(p, q));\n",
       "\t          if (A.length === lim) return A;\n",
       "\t          for (var i = 1; i <= z.length - 1; i++) {\n",
       "\t            A.push(z[i]);\n",
       "\t            if (A.length === lim) return A;\n",
       "\t          }\n",
       "\t          q = p = e;\n",
       "\t        }\n",
       "\t      }\n",
       "\t      A.push(S.slice(p));\n",
       "\t      return A;\n",
       "\t    }\n",
       "\t  ];\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 217 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 7.3.20 SpeciesConstructor(O, defaultConstructor)\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tvar SPECIES = __webpack_require__(34)('species');\n",
       "\tmodule.exports = function (O, D) {\n",
       "\t  var C = anObject(O).constructor;\n",
       "\t  var S;\n",
       "\t  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 218 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar LIBRARY = __webpack_require__(29);\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar ctx = __webpack_require__(30);\n",
       "\tvar classof = __webpack_require__(82);\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tvar anInstance = __webpack_require__(219);\n",
       "\tvar forOf = __webpack_require__(220);\n",
       "\tvar speciesConstructor = __webpack_require__(217);\n",
       "\tvar task = __webpack_require__(221).set;\n",
       "\tvar microtask = __webpack_require__(222)();\n",
       "\tvar newPromiseCapabilityModule = __webpack_require__(223);\n",
       "\tvar perform = __webpack_require__(224);\n",
       "\tvar userAgent = __webpack_require__(225);\n",
       "\tvar promiseResolve = __webpack_require__(226);\n",
       "\tvar PROMISE = 'Promise';\n",
       "\tvar TypeError = global.TypeError;\n",
       "\tvar process = global.process;\n",
       "\tvar versions = process && process.versions;\n",
       "\tvar v8 = versions && versions.v8 || '';\n",
       "\tvar $Promise = global[PROMISE];\n",
       "\tvar isNode = classof(process) == 'process';\n",
       "\tvar empty = function () { /* empty */ };\n",
       "\tvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\n",
       "\tvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n",
       "\t\n",
       "\tvar USE_NATIVE = !!function () {\n",
       "\t  try {\n",
       "\t    // correct subclassing with @@species support\n",
       "\t    var promise = $Promise.resolve(1);\n",
       "\t    var FakePromise = (promise.constructor = {})[__webpack_require__(34)('species')] = function (exec) {\n",
       "\t      exec(empty, empty);\n",
       "\t    };\n",
       "\t    // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n",
       "\t    return (isNode || typeof PromiseRejectionEvent == 'function')\n",
       "\t      && promise.then(empty) instanceof FakePromise\n",
       "\t      // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n",
       "\t      // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n",
       "\t      // we can't detect it synchronously, so just check versions\n",
       "\t      && v8.indexOf('6.6') !== 0\n",
       "\t      && userAgent.indexOf('Chrome/66') === -1;\n",
       "\t  } catch (e) { /* empty */ }\n",
       "\t}();\n",
       "\t\n",
       "\t// helpers\n",
       "\tvar isThenable = function (it) {\n",
       "\t  var then;\n",
       "\t  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n",
       "\t};\n",
       "\tvar notify = function (promise, isReject) {\n",
       "\t  if (promise._n) return;\n",
       "\t  promise._n = true;\n",
       "\t  var chain = promise._c;\n",
       "\t  microtask(function () {\n",
       "\t    var value = promise._v;\n",
       "\t    var ok = promise._s == 1;\n",
       "\t    var i = 0;\n",
       "\t    var run = function (reaction) {\n",
       "\t      var handler = ok ? reaction.ok : reaction.fail;\n",
       "\t      var resolve = reaction.resolve;\n",
       "\t      var reject = reaction.reject;\n",
       "\t      var domain = reaction.domain;\n",
       "\t      var result, then, exited;\n",
       "\t      try {\n",
       "\t        if (handler) {\n",
       "\t          if (!ok) {\n",
       "\t            if (promise._h == 2) onHandleUnhandled(promise);\n",
       "\t            promise._h = 1;\n",
       "\t          }\n",
       "\t          if (handler === true) result = value;\n",
       "\t          else {\n",
       "\t            if (domain) domain.enter();\n",
       "\t            result = handler(value); // may throw\n",
       "\t            if (domain) {\n",
       "\t              domain.exit();\n",
       "\t              exited = true;\n",
       "\t            }\n",
       "\t          }\n",
       "\t          if (result === reaction.promise) {\n",
       "\t            reject(TypeError('Promise-chain cycle'));\n",
       "\t          } else if (then = isThenable(result)) {\n",
       "\t            then.call(result, resolve, reject);\n",
       "\t          } else resolve(result);\n",
       "\t        } else reject(value);\n",
       "\t      } catch (e) {\n",
       "\t        if (domain && !exited) domain.exit();\n",
       "\t        reject(e);\n",
       "\t      }\n",
       "\t    };\n",
       "\t    while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n",
       "\t    promise._c = [];\n",
       "\t    promise._n = false;\n",
       "\t    if (isReject && !promise._h) onUnhandled(promise);\n",
       "\t  });\n",
       "\t};\n",
       "\tvar onUnhandled = function (promise) {\n",
       "\t  task.call(global, function () {\n",
       "\t    var value = promise._v;\n",
       "\t    var unhandled = isUnhandled(promise);\n",
       "\t    var result, handler, console;\n",
       "\t    if (unhandled) {\n",
       "\t      result = perform(function () {\n",
       "\t        if (isNode) {\n",
       "\t          process.emit('unhandledRejection', value, promise);\n",
       "\t        } else if (handler = global.onunhandledrejection) {\n",
       "\t          handler({ promise: promise, reason: value });\n",
       "\t        } else if ((console = global.console) && console.error) {\n",
       "\t          console.error('Unhandled promise rejection', value);\n",
       "\t        }\n",
       "\t      });\n",
       "\t      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n",
       "\t      promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n",
       "\t    } promise._a = undefined;\n",
       "\t    if (unhandled && result.e) throw result.v;\n",
       "\t  });\n",
       "\t};\n",
       "\tvar isUnhandled = function (promise) {\n",
       "\t  return promise._h !== 1 && (promise._a || promise._c).length === 0;\n",
       "\t};\n",
       "\tvar onHandleUnhandled = function (promise) {\n",
       "\t  task.call(global, function () {\n",
       "\t    var handler;\n",
       "\t    if (isNode) {\n",
       "\t      process.emit('rejectionHandled', promise);\n",
       "\t    } else if (handler = global.onrejectionhandled) {\n",
       "\t      handler({ promise: promise, reason: promise._v });\n",
       "\t    }\n",
       "\t  });\n",
       "\t};\n",
       "\tvar $reject = function (value) {\n",
       "\t  var promise = this;\n",
       "\t  if (promise._d) return;\n",
       "\t  promise._d = true;\n",
       "\t  promise = promise._w || promise; // unwrap\n",
       "\t  promise._v = value;\n",
       "\t  promise._s = 2;\n",
       "\t  if (!promise._a) promise._a = promise._c.slice();\n",
       "\t  notify(promise, true);\n",
       "\t};\n",
       "\tvar $resolve = function (value) {\n",
       "\t  var promise = this;\n",
       "\t  var then;\n",
       "\t  if (promise._d) return;\n",
       "\t  promise._d = true;\n",
       "\t  promise = promise._w || promise; // unwrap\n",
       "\t  try {\n",
       "\t    if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n",
       "\t    if (then = isThenable(value)) {\n",
       "\t      microtask(function () {\n",
       "\t        var wrapper = { _w: promise, _d: false }; // wrap\n",
       "\t        try {\n",
       "\t          then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n",
       "\t        } catch (e) {\n",
       "\t          $reject.call(wrapper, e);\n",
       "\t        }\n",
       "\t      });\n",
       "\t    } else {\n",
       "\t      promise._v = value;\n",
       "\t      promise._s = 1;\n",
       "\t      notify(promise, false);\n",
       "\t    }\n",
       "\t  } catch (e) {\n",
       "\t    $reject.call({ _w: promise, _d: false }, e); // wrap\n",
       "\t  }\n",
       "\t};\n",
       "\t\n",
       "\t// constructor polyfill\n",
       "\tif (!USE_NATIVE) {\n",
       "\t  // 25.4.3.1 Promise(executor)\n",
       "\t  $Promise = function Promise(executor) {\n",
       "\t    anInstance(this, $Promise, PROMISE, '_h');\n",
       "\t    aFunction(executor);\n",
       "\t    Internal.call(this);\n",
       "\t    try {\n",
       "\t      executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n",
       "\t    } catch (err) {\n",
       "\t      $reject.call(this, err);\n",
       "\t    }\n",
       "\t  };\n",
       "\t  // eslint-disable-next-line no-unused-vars\n",
       "\t  Internal = function Promise(executor) {\n",
       "\t    this._c = [];             // <- awaiting reactions\n",
       "\t    this._a = undefined;      // <- checked in isUnhandled reactions\n",
       "\t    this._s = 0;              // <- state\n",
       "\t    this._d = false;          // <- done\n",
       "\t    this._v = undefined;      // <- value\n",
       "\t    this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n",
       "\t    this._n = false;          // <- notify\n",
       "\t  };\n",
       "\t  Internal.prototype = __webpack_require__(227)($Promise.prototype, {\n",
       "\t    // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n",
       "\t    then: function then(onFulfilled, onRejected) {\n",
       "\t      var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n",
       "\t      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n",
       "\t      reaction.fail = typeof onRejected == 'function' && onRejected;\n",
       "\t      reaction.domain = isNode ? process.domain : undefined;\n",
       "\t      this._c.push(reaction);\n",
       "\t      if (this._a) this._a.push(reaction);\n",
       "\t      if (this._s) notify(this, false);\n",
       "\t      return reaction.promise;\n",
       "\t    },\n",
       "\t    // 25.4.5.1 Promise.prototype.catch(onRejected)\n",
       "\t    'catch': function (onRejected) {\n",
       "\t      return this.then(undefined, onRejected);\n",
       "\t    }\n",
       "\t  });\n",
       "\t  OwnPromiseCapability = function () {\n",
       "\t    var promise = new Internal();\n",
       "\t    this.promise = promise;\n",
       "\t    this.resolve = ctx($resolve, promise, 1);\n",
       "\t    this.reject = ctx($reject, promise, 1);\n",
       "\t  };\n",
       "\t  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n",
       "\t    return C === $Promise || C === Wrapper\n",
       "\t      ? new OwnPromiseCapability(C)\n",
       "\t      : newGenericPromiseCapability(C);\n",
       "\t  };\n",
       "\t}\n",
       "\t\n",
       "\t$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n",
       "\t__webpack_require__(33)($Promise, PROMISE);\n",
       "\t__webpack_require__(201)(PROMISE);\n",
       "\tWrapper = __webpack_require__(16)[PROMISE];\n",
       "\t\n",
       "\t// statics\n",
       "\t$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n",
       "\t  // 25.4.4.5 Promise.reject(r)\n",
       "\t  reject: function reject(r) {\n",
       "\t    var capability = newPromiseCapability(this);\n",
       "\t    var $$reject = capability.reject;\n",
       "\t    $$reject(r);\n",
       "\t    return capability.promise;\n",
       "\t  }\n",
       "\t});\n",
       "\t$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n",
       "\t  // 25.4.4.6 Promise.resolve(x)\n",
       "\t  resolve: function resolve(x) {\n",
       "\t    return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n",
       "\t  }\n",
       "\t});\n",
       "\t$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(174)(function (iter) {\n",
       "\t  $Promise.all(iter)['catch'](empty);\n",
       "\t})), PROMISE, {\n",
       "\t  // 25.4.4.1 Promise.all(iterable)\n",
       "\t  all: function all(iterable) {\n",
       "\t    var C = this;\n",
       "\t    var capability = newPromiseCapability(C);\n",
       "\t    var resolve = capability.resolve;\n",
       "\t    var reject = capability.reject;\n",
       "\t    var result = perform(function () {\n",
       "\t      var values = [];\n",
       "\t      var index = 0;\n",
       "\t      var remaining = 1;\n",
       "\t      forOf(iterable, false, function (promise) {\n",
       "\t        var $index = index++;\n",
       "\t        var alreadyCalled = false;\n",
       "\t        values.push(undefined);\n",
       "\t        remaining++;\n",
       "\t        C.resolve(promise).then(function (value) {\n",
       "\t          if (alreadyCalled) return;\n",
       "\t          alreadyCalled = true;\n",
       "\t          values[$index] = value;\n",
       "\t          --remaining || resolve(values);\n",
       "\t        }, reject);\n",
       "\t      });\n",
       "\t      --remaining || resolve(values);\n",
       "\t    });\n",
       "\t    if (result.e) reject(result.v);\n",
       "\t    return capability.promise;\n",
       "\t  },\n",
       "\t  // 25.4.4.4 Promise.race(iterable)\n",
       "\t  race: function race(iterable) {\n",
       "\t    var C = this;\n",
       "\t    var capability = newPromiseCapability(C);\n",
       "\t    var reject = capability.reject;\n",
       "\t    var result = perform(function () {\n",
       "\t      forOf(iterable, false, function (promise) {\n",
       "\t        C.resolve(promise).then(capability.resolve, reject);\n",
       "\t      });\n",
       "\t    });\n",
       "\t    if (result.e) reject(result.v);\n",
       "\t    return capability.promise;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 219 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tmodule.exports = function (it, Constructor, name, forbiddenField) {\n",
       "\t  if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n",
       "\t    throw TypeError(name + ': incorrect invocation!');\n",
       "\t  } return it;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 220 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar ctx = __webpack_require__(30);\n",
       "\tvar call = __webpack_require__(170);\n",
       "\tvar isArrayIter = __webpack_require__(171);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar getIterFn = __webpack_require__(173);\n",
       "\tvar BREAK = {};\n",
       "\tvar RETURN = {};\n",
       "\tvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n",
       "\t  var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n",
       "\t  var f = ctx(fn, that, entries ? 2 : 1);\n",
       "\t  var index = 0;\n",
       "\t  var length, step, iterator, result;\n",
       "\t  if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n",
       "\t  // fast case for arrays with default iterator\n",
       "\t  if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n",
       "\t    result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n",
       "\t    if (result === BREAK || result === RETURN) return result;\n",
       "\t  } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n",
       "\t    result = call(iterator, f, step.value, entries);\n",
       "\t    if (result === BREAK || result === RETURN) return result;\n",
       "\t  }\n",
       "\t};\n",
       "\texports.BREAK = BREAK;\n",
       "\texports.RETURN = RETURN;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 221 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar ctx = __webpack_require__(30);\n",
       "\tvar invoke = __webpack_require__(85);\n",
       "\tvar html = __webpack_require__(55);\n",
       "\tvar cel = __webpack_require__(22);\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar process = global.process;\n",
       "\tvar setTask = global.setImmediate;\n",
       "\tvar clearTask = global.clearImmediate;\n",
       "\tvar MessageChannel = global.MessageChannel;\n",
       "\tvar Dispatch = global.Dispatch;\n",
       "\tvar counter = 0;\n",
       "\tvar queue = {};\n",
       "\tvar ONREADYSTATECHANGE = 'onreadystatechange';\n",
       "\tvar defer, channel, port;\n",
       "\tvar run = function () {\n",
       "\t  var id = +this;\n",
       "\t  // eslint-disable-next-line no-prototype-builtins\n",
       "\t  if (queue.hasOwnProperty(id)) {\n",
       "\t    var fn = queue[id];\n",
       "\t    delete queue[id];\n",
       "\t    fn();\n",
       "\t  }\n",
       "\t};\n",
       "\tvar listener = function (event) {\n",
       "\t  run.call(event.data);\n",
       "\t};\n",
       "\t// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\n",
       "\tif (!setTask || !clearTask) {\n",
       "\t  setTask = function setImmediate(fn) {\n",
       "\t    var args = [];\n",
       "\t    var i = 1;\n",
       "\t    while (arguments.length > i) args.push(arguments[i++]);\n",
       "\t    queue[++counter] = function () {\n",
       "\t      // eslint-disable-next-line no-new-func\n",
       "\t      invoke(typeof fn == 'function' ? fn : Function(fn), args);\n",
       "\t    };\n",
       "\t    defer(counter);\n",
       "\t    return counter;\n",
       "\t  };\n",
       "\t  clearTask = function clearImmediate(id) {\n",
       "\t    delete queue[id];\n",
       "\t  };\n",
       "\t  // Node.js 0.8-\n",
       "\t  if (__webpack_require__(42)(process) == 'process') {\n",
       "\t    defer = function (id) {\n",
       "\t      process.nextTick(ctx(run, id, 1));\n",
       "\t    };\n",
       "\t  // Sphere (JS game engine) Dispatch API\n",
       "\t  } else if (Dispatch && Dispatch.now) {\n",
       "\t    defer = function (id) {\n",
       "\t      Dispatch.now(ctx(run, id, 1));\n",
       "\t    };\n",
       "\t  // Browsers with MessageChannel, includes WebWorkers\n",
       "\t  } else if (MessageChannel) {\n",
       "\t    channel = new MessageChannel();\n",
       "\t    port = channel.port2;\n",
       "\t    channel.port1.onmessage = listener;\n",
       "\t    defer = ctx(port.postMessage, port, 1);\n",
       "\t  // Browsers with postMessage, skip WebWorkers\n",
       "\t  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n",
       "\t  } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n",
       "\t    defer = function (id) {\n",
       "\t      global.postMessage(id + '', '*');\n",
       "\t    };\n",
       "\t    global.addEventListener('message', listener, false);\n",
       "\t  // IE8-\n",
       "\t  } else if (ONREADYSTATECHANGE in cel('script')) {\n",
       "\t    defer = function (id) {\n",
       "\t      html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n",
       "\t        html.removeChild(this);\n",
       "\t        run.call(id);\n",
       "\t      };\n",
       "\t    };\n",
       "\t  // Rest old browsers\n",
       "\t  } else {\n",
       "\t    defer = function (id) {\n",
       "\t      setTimeout(ctx(run, id, 1), 0);\n",
       "\t    };\n",
       "\t  }\n",
       "\t}\n",
       "\tmodule.exports = {\n",
       "\t  set: setTask,\n",
       "\t  clear: clearTask\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 222 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar macrotask = __webpack_require__(221).set;\n",
       "\tvar Observer = global.MutationObserver || global.WebKitMutationObserver;\n",
       "\tvar process = global.process;\n",
       "\tvar Promise = global.Promise;\n",
       "\tvar isNode = __webpack_require__(42)(process) == 'process';\n",
       "\t\n",
       "\tmodule.exports = function () {\n",
       "\t  var head, last, notify;\n",
       "\t\n",
       "\t  var flush = function () {\n",
       "\t    var parent, fn;\n",
       "\t    if (isNode && (parent = process.domain)) parent.exit();\n",
       "\t    while (head) {\n",
       "\t      fn = head.fn;\n",
       "\t      head = head.next;\n",
       "\t      try {\n",
       "\t        fn();\n",
       "\t      } catch (e) {\n",
       "\t        if (head) notify();\n",
       "\t        else last = undefined;\n",
       "\t        throw e;\n",
       "\t      }\n",
       "\t    } last = undefined;\n",
       "\t    if (parent) parent.enter();\n",
       "\t  };\n",
       "\t\n",
       "\t  // Node.js\n",
       "\t  if (isNode) {\n",
       "\t    notify = function () {\n",
       "\t      process.nextTick(flush);\n",
       "\t    };\n",
       "\t  // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n",
       "\t  } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n",
       "\t    var toggle = true;\n",
       "\t    var node = document.createTextNode('');\n",
       "\t    new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n",
       "\t    notify = function () {\n",
       "\t      node.data = toggle = !toggle;\n",
       "\t    };\n",
       "\t  // environments with maybe non-completely correct, but existent Promise\n",
       "\t  } else if (Promise && Promise.resolve) {\n",
       "\t    // Promise.resolve without an argument throws an error in LG WebOS 2\n",
       "\t    var promise = Promise.resolve(undefined);\n",
       "\t    notify = function () {\n",
       "\t      promise.then(flush);\n",
       "\t    };\n",
       "\t  // for other environments - macrotask based on:\n",
       "\t  // - setImmediate\n",
       "\t  // - MessageChannel\n",
       "\t  // - window.postMessag\n",
       "\t  // - onreadystatechange\n",
       "\t  // - setTimeout\n",
       "\t  } else {\n",
       "\t    notify = function () {\n",
       "\t      // strange IE + webpack dev server bug - use .call(global)\n",
       "\t      macrotask.call(global, flush);\n",
       "\t    };\n",
       "\t  }\n",
       "\t\n",
       "\t  return function (fn) {\n",
       "\t    var task = { fn: fn, next: undefined };\n",
       "\t    if (last) last.next = task;\n",
       "\t    if (!head) {\n",
       "\t      head = task;\n",
       "\t      notify();\n",
       "\t    } last = task;\n",
       "\t  };\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 223 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// 25.4.1.5 NewPromiseCapability(C)\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\t\n",
       "\tfunction PromiseCapability(C) {\n",
       "\t  var resolve, reject;\n",
       "\t  this.promise = new C(function ($$resolve, $$reject) {\n",
       "\t    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n",
       "\t    resolve = $$resolve;\n",
       "\t    reject = $$reject;\n",
       "\t  });\n",
       "\t  this.resolve = aFunction(resolve);\n",
       "\t  this.reject = aFunction(reject);\n",
       "\t}\n",
       "\t\n",
       "\tmodule.exports.f = function (C) {\n",
       "\t  return new PromiseCapability(C);\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 224 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tmodule.exports = function (exec) {\n",
       "\t  try {\n",
       "\t    return { e: false, v: exec() };\n",
       "\t  } catch (e) {\n",
       "\t    return { e: true, v: e };\n",
       "\t  }\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 225 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar navigator = global.navigator;\n",
       "\t\n",
       "\tmodule.exports = navigator && navigator.userAgent || '';\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 226 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar newPromiseCapability = __webpack_require__(223);\n",
       "\t\n",
       "\tmodule.exports = function (C, x) {\n",
       "\t  anObject(C);\n",
       "\t  if (isObject(x) && x.constructor === C) return x;\n",
       "\t  var promiseCapability = newPromiseCapability.f(C);\n",
       "\t  var resolve = promiseCapability.resolve;\n",
       "\t  resolve(x);\n",
       "\t  return promiseCapability.promise;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 227 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar redefine = __webpack_require__(25);\n",
       "\tmodule.exports = function (target, src, safe) {\n",
       "\t  for (var key in src) redefine(target, key, src[key], safe);\n",
       "\t  return target;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 228 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar strong = __webpack_require__(229);\n",
       "\tvar validate = __webpack_require__(230);\n",
       "\tvar MAP = 'Map';\n",
       "\t\n",
       "\t// 23.1 Map Objects\n",
       "\tmodule.exports = __webpack_require__(231)(MAP, function (get) {\n",
       "\t  return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n",
       "\t}, {\n",
       "\t  // 23.1.3.6 Map.prototype.get(key)\n",
       "\t  get: function get(key) {\n",
       "\t    var entry = strong.getEntry(validate(this, MAP), key);\n",
       "\t    return entry && entry.v;\n",
       "\t  },\n",
       "\t  // 23.1.3.9 Map.prototype.set(key, value)\n",
       "\t  set: function set(key, value) {\n",
       "\t    return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n",
       "\t  }\n",
       "\t}, strong, true);\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 229 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar dP = __webpack_require__(18).f;\n",
       "\tvar create = __webpack_require__(53);\n",
       "\tvar redefineAll = __webpack_require__(227);\n",
       "\tvar ctx = __webpack_require__(30);\n",
       "\tvar anInstance = __webpack_require__(219);\n",
       "\tvar forOf = __webpack_require__(220);\n",
       "\tvar $iterDefine = __webpack_require__(136);\n",
       "\tvar step = __webpack_require__(203);\n",
       "\tvar setSpecies = __webpack_require__(201);\n",
       "\tvar DESCRIPTORS = __webpack_require__(13);\n",
       "\tvar fastKey = __webpack_require__(32).fastKey;\n",
       "\tvar validate = __webpack_require__(230);\n",
       "\tvar SIZE = DESCRIPTORS ? '_s' : 'size';\n",
       "\t\n",
       "\tvar getEntry = function (that, key) {\n",
       "\t  // fast case\n",
       "\t  var index = fastKey(key);\n",
       "\t  var entry;\n",
       "\t  if (index !== 'F') return that._i[index];\n",
       "\t  // frozen object case\n",
       "\t  for (entry = that._f; entry; entry = entry.n) {\n",
       "\t    if (entry.k == key) return entry;\n",
       "\t  }\n",
       "\t};\n",
       "\t\n",
       "\tmodule.exports = {\n",
       "\t  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n",
       "\t    var C = wrapper(function (that, iterable) {\n",
       "\t      anInstance(that, C, NAME, '_i');\n",
       "\t      that._t = NAME;         // collection type\n",
       "\t      that._i = create(null); // index\n",
       "\t      that._f = undefined;    // first entry\n",
       "\t      that._l = undefined;    // last entry\n",
       "\t      that[SIZE] = 0;         // size\n",
       "\t      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n",
       "\t    });\n",
       "\t    redefineAll(C.prototype, {\n",
       "\t      // 23.1.3.1 Map.prototype.clear()\n",
       "\t      // 23.2.3.2 Set.prototype.clear()\n",
       "\t      clear: function clear() {\n",
       "\t        for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n",
       "\t          entry.r = true;\n",
       "\t          if (entry.p) entry.p = entry.p.n = undefined;\n",
       "\t          delete data[entry.i];\n",
       "\t        }\n",
       "\t        that._f = that._l = undefined;\n",
       "\t        that[SIZE] = 0;\n",
       "\t      },\n",
       "\t      // 23.1.3.3 Map.prototype.delete(key)\n",
       "\t      // 23.2.3.4 Set.prototype.delete(value)\n",
       "\t      'delete': function (key) {\n",
       "\t        var that = validate(this, NAME);\n",
       "\t        var entry = getEntry(that, key);\n",
       "\t        if (entry) {\n",
       "\t          var next = entry.n;\n",
       "\t          var prev = entry.p;\n",
       "\t          delete that._i[entry.i];\n",
       "\t          entry.r = true;\n",
       "\t          if (prev) prev.n = next;\n",
       "\t          if (next) next.p = prev;\n",
       "\t          if (that._f == entry) that._f = next;\n",
       "\t          if (that._l == entry) that._l = prev;\n",
       "\t          that[SIZE]--;\n",
       "\t        } return !!entry;\n",
       "\t      },\n",
       "\t      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n",
       "\t      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n",
       "\t      forEach: function forEach(callbackfn /* , that = undefined */) {\n",
       "\t        validate(this, NAME);\n",
       "\t        var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n",
       "\t        var entry;\n",
       "\t        while (entry = entry ? entry.n : this._f) {\n",
       "\t          f(entry.v, entry.k, this);\n",
       "\t          // revert to the last existing entry\n",
       "\t          while (entry && entry.r) entry = entry.p;\n",
       "\t        }\n",
       "\t      },\n",
       "\t      // 23.1.3.7 Map.prototype.has(key)\n",
       "\t      // 23.2.3.7 Set.prototype.has(value)\n",
       "\t      has: function has(key) {\n",
       "\t        return !!getEntry(validate(this, NAME), key);\n",
       "\t      }\n",
       "\t    });\n",
       "\t    if (DESCRIPTORS) dP(C.prototype, 'size', {\n",
       "\t      get: function () {\n",
       "\t        return validate(this, NAME)[SIZE];\n",
       "\t      }\n",
       "\t    });\n",
       "\t    return C;\n",
       "\t  },\n",
       "\t  def: function (that, key, value) {\n",
       "\t    var entry = getEntry(that, key);\n",
       "\t    var prev, index;\n",
       "\t    // change existing entry\n",
       "\t    if (entry) {\n",
       "\t      entry.v = value;\n",
       "\t    // create new entry\n",
       "\t    } else {\n",
       "\t      that._l = entry = {\n",
       "\t        i: index = fastKey(key, true), // <- index\n",
       "\t        k: key,                        // <- key\n",
       "\t        v: value,                      // <- value\n",
       "\t        p: prev = that._l,             // <- previous entry\n",
       "\t        n: undefined,                  // <- next entry\n",
       "\t        r: false                       // <- removed\n",
       "\t      };\n",
       "\t      if (!that._f) that._f = entry;\n",
       "\t      if (prev) prev.n = entry;\n",
       "\t      that[SIZE]++;\n",
       "\t      // add to index\n",
       "\t      if (index !== 'F') that._i[index] = entry;\n",
       "\t    } return that;\n",
       "\t  },\n",
       "\t  getEntry: getEntry,\n",
       "\t  setStrong: function (C, NAME, IS_MAP) {\n",
       "\t    // add .keys, .values, .entries, [@@iterator]\n",
       "\t    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n",
       "\t    $iterDefine(C, NAME, function (iterated, kind) {\n",
       "\t      this._t = validate(iterated, NAME); // target\n",
       "\t      this._k = kind;                     // kind\n",
       "\t      this._l = undefined;                // previous\n",
       "\t    }, function () {\n",
       "\t      var that = this;\n",
       "\t      var kind = that._k;\n",
       "\t      var entry = that._l;\n",
       "\t      // revert to the last existing entry\n",
       "\t      while (entry && entry.r) entry = entry.p;\n",
       "\t      // get next entry\n",
       "\t      if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n",
       "\t        // or finish the iteration\n",
       "\t        that._t = undefined;\n",
       "\t        return step(1);\n",
       "\t      }\n",
       "\t      // return step by kind\n",
       "\t      if (kind == 'keys') return step(0, entry.k);\n",
       "\t      if (kind == 'values') return step(0, entry.v);\n",
       "\t      return step(0, [entry.k, entry.v]);\n",
       "\t    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n",
       "\t\n",
       "\t    // add [@@species], 23.1.2.2, 23.2.2.2\n",
       "\t    setSpecies(NAME);\n",
       "\t  }\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 230 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tmodule.exports = function (it, TYPE) {\n",
       "\t  if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n",
       "\t  return it;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 231 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar redefine = __webpack_require__(25);\n",
       "\tvar redefineAll = __webpack_require__(227);\n",
       "\tvar meta = __webpack_require__(32);\n",
       "\tvar forOf = __webpack_require__(220);\n",
       "\tvar anInstance = __webpack_require__(219);\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar fails = __webpack_require__(14);\n",
       "\tvar $iterDetect = __webpack_require__(174);\n",
       "\tvar setToStringTag = __webpack_require__(33);\n",
       "\tvar inheritIfRequired = __webpack_require__(95);\n",
       "\t\n",
       "\tmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n",
       "\t  var Base = global[NAME];\n",
       "\t  var C = Base;\n",
       "\t  var ADDER = IS_MAP ? 'set' : 'add';\n",
       "\t  var proto = C && C.prototype;\n",
       "\t  var O = {};\n",
       "\t  var fixMethod = function (KEY) {\n",
       "\t    var fn = proto[KEY];\n",
       "\t    redefine(proto, KEY,\n",
       "\t      KEY == 'delete' ? function (a) {\n",
       "\t        return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n",
       "\t      } : KEY == 'has' ? function has(a) {\n",
       "\t        return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n",
       "\t      } : KEY == 'get' ? function get(a) {\n",
       "\t        return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n",
       "\t      } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n",
       "\t        : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n",
       "\t    );\n",
       "\t  };\n",
       "\t  if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n",
       "\t    new C().entries().next();\n",
       "\t  }))) {\n",
       "\t    // create collection constructor\n",
       "\t    C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n",
       "\t    redefineAll(C.prototype, methods);\n",
       "\t    meta.NEED = true;\n",
       "\t  } else {\n",
       "\t    var instance = new C();\n",
       "\t    // early implementations not supports chaining\n",
       "\t    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n",
       "\t    // V8 ~  Chromium 40- weak-collections throws on primitives, but should return false\n",
       "\t    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n",
       "\t    // most early implementations doesn't supports iterables, most modern - not close it correctly\n",
       "\t    var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n",
       "\t    // for early implementations -0 and +0 not the same\n",
       "\t    var BUGGY_ZERO = !IS_WEAK && fails(function () {\n",
       "\t      // V8 ~ Chromium 42- fails only with 5+ elements\n",
       "\t      var $instance = new C();\n",
       "\t      var index = 5;\n",
       "\t      while (index--) $instance[ADDER](index, index);\n",
       "\t      return !$instance.has(-0);\n",
       "\t    });\n",
       "\t    if (!ACCEPT_ITERABLES) {\n",
       "\t      C = wrapper(function (target, iterable) {\n",
       "\t        anInstance(target, C, NAME);\n",
       "\t        var that = inheritIfRequired(new Base(), target, C);\n",
       "\t        if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n",
       "\t        return that;\n",
       "\t      });\n",
       "\t      C.prototype = proto;\n",
       "\t      proto.constructor = C;\n",
       "\t    }\n",
       "\t    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n",
       "\t      fixMethod('delete');\n",
       "\t      fixMethod('has');\n",
       "\t      IS_MAP && fixMethod('get');\n",
       "\t    }\n",
       "\t    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n",
       "\t    // weak collections should not contains .clear method\n",
       "\t    if (IS_WEAK && proto.clear) delete proto.clear;\n",
       "\t  }\n",
       "\t\n",
       "\t  setToStringTag(C, NAME);\n",
       "\t\n",
       "\t  O[NAME] = C;\n",
       "\t  $export($export.G + $export.W + $export.F * (C != Base), O);\n",
       "\t\n",
       "\t  if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n",
       "\t\n",
       "\t  return C;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 232 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar strong = __webpack_require__(229);\n",
       "\tvar validate = __webpack_require__(230);\n",
       "\tvar SET = 'Set';\n",
       "\t\n",
       "\t// 23.2 Set Objects\n",
       "\tmodule.exports = __webpack_require__(231)(SET, function (get) {\n",
       "\t  return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n",
       "\t}, {\n",
       "\t  // 23.2.3.1 Set.prototype.add(value)\n",
       "\t  add: function add(value) {\n",
       "\t    return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n",
       "\t  }\n",
       "\t}, strong);\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 233 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar each = __webpack_require__(181)(0);\n",
       "\tvar redefine = __webpack_require__(25);\n",
       "\tvar meta = __webpack_require__(32);\n",
       "\tvar assign = __webpack_require__(76);\n",
       "\tvar weak = __webpack_require__(234);\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar validate = __webpack_require__(230);\n",
       "\tvar NATIVE_WEAK_MAP = __webpack_require__(230);\n",
       "\tvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\n",
       "\tvar WEAK_MAP = 'WeakMap';\n",
       "\tvar getWeak = meta.getWeak;\n",
       "\tvar isExtensible = Object.isExtensible;\n",
       "\tvar uncaughtFrozenStore = weak.ufstore;\n",
       "\tvar InternalMap;\n",
       "\t\n",
       "\tvar wrapper = function (get) {\n",
       "\t  return function WeakMap() {\n",
       "\t    return get(this, arguments.length > 0 ? arguments[0] : undefined);\n",
       "\t  };\n",
       "\t};\n",
       "\t\n",
       "\tvar methods = {\n",
       "\t  // 23.3.3.3 WeakMap.prototype.get(key)\n",
       "\t  get: function get(key) {\n",
       "\t    if (isObject(key)) {\n",
       "\t      var data = getWeak(key);\n",
       "\t      if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n",
       "\t      return data ? data[this._i] : undefined;\n",
       "\t    }\n",
       "\t  },\n",
       "\t  // 23.3.3.5 WeakMap.prototype.set(key, value)\n",
       "\t  set: function set(key, value) {\n",
       "\t    return weak.def(validate(this, WEAK_MAP), key, value);\n",
       "\t  }\n",
       "\t};\n",
       "\t\n",
       "\t// 23.3 WeakMap Objects\n",
       "\tvar $WeakMap = module.exports = __webpack_require__(231)(WEAK_MAP, wrapper, methods, weak, true, true);\n",
       "\t\n",
       "\t// IE11 WeakMap frozen keys fix\n",
       "\tif (NATIVE_WEAK_MAP && IS_IE11) {\n",
       "\t  InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n",
       "\t  assign(InternalMap.prototype, methods);\n",
       "\t  meta.NEED = true;\n",
       "\t  each(['delete', 'has', 'get', 'set'], function (key) {\n",
       "\t    var proto = $WeakMap.prototype;\n",
       "\t    var method = proto[key];\n",
       "\t    redefine(proto, key, function (a, b) {\n",
       "\t      // store frozen objects on internal weakmap shim\n",
       "\t      if (isObject(a) && !isExtensible(a)) {\n",
       "\t        if (!this._f) this._f = new InternalMap();\n",
       "\t        var result = this._f[key](a, b);\n",
       "\t        return key == 'set' ? this : result;\n",
       "\t      // store all the rest on native weakmap\n",
       "\t      } return method.call(this, a, b);\n",
       "\t    });\n",
       "\t  });\n",
       "\t}\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 234 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar redefineAll = __webpack_require__(227);\n",
       "\tvar getWeak = __webpack_require__(32).getWeak;\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar anInstance = __webpack_require__(219);\n",
       "\tvar forOf = __webpack_require__(220);\n",
       "\tvar createArrayMethod = __webpack_require__(181);\n",
       "\tvar $has = __webpack_require__(12);\n",
       "\tvar validate = __webpack_require__(230);\n",
       "\tvar arrayFind = createArrayMethod(5);\n",
       "\tvar arrayFindIndex = createArrayMethod(6);\n",
       "\tvar id = 0;\n",
       "\t\n",
       "\t// fallback for uncaught frozen keys\n",
       "\tvar uncaughtFrozenStore = function (that) {\n",
       "\t  return that._l || (that._l = new UncaughtFrozenStore());\n",
       "\t};\n",
       "\tvar UncaughtFrozenStore = function () {\n",
       "\t  this.a = [];\n",
       "\t};\n",
       "\tvar findUncaughtFrozen = function (store, key) {\n",
       "\t  return arrayFind(store.a, function (it) {\n",
       "\t    return it[0] === key;\n",
       "\t  });\n",
       "\t};\n",
       "\tUncaughtFrozenStore.prototype = {\n",
       "\t  get: function (key) {\n",
       "\t    var entry = findUncaughtFrozen(this, key);\n",
       "\t    if (entry) return entry[1];\n",
       "\t  },\n",
       "\t  has: function (key) {\n",
       "\t    return !!findUncaughtFrozen(this, key);\n",
       "\t  },\n",
       "\t  set: function (key, value) {\n",
       "\t    var entry = findUncaughtFrozen(this, key);\n",
       "\t    if (entry) entry[1] = value;\n",
       "\t    else this.a.push([key, value]);\n",
       "\t  },\n",
       "\t  'delete': function (key) {\n",
       "\t    var index = arrayFindIndex(this.a, function (it) {\n",
       "\t      return it[0] === key;\n",
       "\t    });\n",
       "\t    if (~index) this.a.splice(index, 1);\n",
       "\t    return !!~index;\n",
       "\t  }\n",
       "\t};\n",
       "\t\n",
       "\tmodule.exports = {\n",
       "\t  getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n",
       "\t    var C = wrapper(function (that, iterable) {\n",
       "\t      anInstance(that, C, NAME, '_i');\n",
       "\t      that._t = NAME;      // collection type\n",
       "\t      that._i = id++;      // collection id\n",
       "\t      that._l = undefined; // leak store for uncaught frozen objects\n",
       "\t      if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n",
       "\t    });\n",
       "\t    redefineAll(C.prototype, {\n",
       "\t      // 23.3.3.2 WeakMap.prototype.delete(key)\n",
       "\t      // 23.4.3.3 WeakSet.prototype.delete(value)\n",
       "\t      'delete': function (key) {\n",
       "\t        if (!isObject(key)) return false;\n",
       "\t        var data = getWeak(key);\n",
       "\t        if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n",
       "\t        return data && $has(data, this._i) && delete data[this._i];\n",
       "\t      },\n",
       "\t      // 23.3.3.4 WeakMap.prototype.has(key)\n",
       "\t      // 23.4.3.4 WeakSet.prototype.has(value)\n",
       "\t      has: function has(key) {\n",
       "\t        if (!isObject(key)) return false;\n",
       "\t        var data = getWeak(key);\n",
       "\t        if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n",
       "\t        return data && $has(data, this._i);\n",
       "\t      }\n",
       "\t    });\n",
       "\t    return C;\n",
       "\t  },\n",
       "\t  def: function (that, key, value) {\n",
       "\t    var data = getWeak(anObject(key), true);\n",
       "\t    if (data === true) uncaughtFrozenStore(that).set(key, value);\n",
       "\t    else data[that._i] = value;\n",
       "\t    return that;\n",
       "\t  },\n",
       "\t  ufstore: uncaughtFrozenStore\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 235 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar weak = __webpack_require__(234);\n",
       "\tvar validate = __webpack_require__(230);\n",
       "\tvar WEAK_SET = 'WeakSet';\n",
       "\t\n",
       "\t// 23.4 WeakSet Objects\n",
       "\t__webpack_require__(231)(WEAK_SET, function (get) {\n",
       "\t  return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n",
       "\t}, {\n",
       "\t  // 23.4.3.1 WeakSet.prototype.add(value)\n",
       "\t  add: function add(value) {\n",
       "\t    return weak.def(validate(this, WEAK_SET), value, true);\n",
       "\t  }\n",
       "\t}, weak, false, true);\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 236 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $typed = __webpack_require__(237);\n",
       "\tvar buffer = __webpack_require__(238);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar toAbsoluteIndex = __webpack_require__(47);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar ArrayBuffer = __webpack_require__(11).ArrayBuffer;\n",
       "\tvar speciesConstructor = __webpack_require__(217);\n",
       "\tvar $ArrayBuffer = buffer.ArrayBuffer;\n",
       "\tvar $DataView = buffer.DataView;\n",
       "\tvar $isView = $typed.ABV && ArrayBuffer.isView;\n",
       "\tvar $slice = $ArrayBuffer.prototype.slice;\n",
       "\tvar VIEW = $typed.VIEW;\n",
       "\tvar ARRAY_BUFFER = 'ArrayBuffer';\n",
       "\t\n",
       "\t$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n",
       "\t\n",
       "\t$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n",
       "\t  // 24.1.3.1 ArrayBuffer.isView(arg)\n",
       "\t  isView: function isView(it) {\n",
       "\t    return $isView && $isView(it) || isObject(it) && VIEW in it;\n",
       "\t  }\n",
       "\t});\n",
       "\t\n",
       "\t$export($export.P + $export.U + $export.F * __webpack_require__(14)(function () {\n",
       "\t  return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n",
       "\t}), ARRAY_BUFFER, {\n",
       "\t  // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n",
       "\t  slice: function slice(start, end) {\n",
       "\t    if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n",
       "\t    var len = anObject(this).byteLength;\n",
       "\t    var first = toAbsoluteIndex(start, len);\n",
       "\t    var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n",
       "\t    var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n",
       "\t    var viewS = new $DataView(this);\n",
       "\t    var viewT = new $DataView(result);\n",
       "\t    var index = 0;\n",
       "\t    while (first < fin) {\n",
       "\t      viewT.setUint8(index++, viewS.getUint8(first++));\n",
       "\t    } return result;\n",
       "\t  }\n",
       "\t});\n",
       "\t\n",
       "\t__webpack_require__(201)(ARRAY_BUFFER);\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 237 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar hide = __webpack_require__(17);\n",
       "\tvar uid = __webpack_require__(26);\n",
       "\tvar TYPED = uid('typed_array');\n",
       "\tvar VIEW = uid('view');\n",
       "\tvar ABV = !!(global.ArrayBuffer && global.DataView);\n",
       "\tvar CONSTR = ABV;\n",
       "\tvar i = 0;\n",
       "\tvar l = 9;\n",
       "\tvar Typed;\n",
       "\t\n",
       "\tvar TypedArrayConstructors = (\n",
       "\t  'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n",
       "\t).split(',');\n",
       "\t\n",
       "\twhile (i < l) {\n",
       "\t  if (Typed = global[TypedArrayConstructors[i++]]) {\n",
       "\t    hide(Typed.prototype, TYPED, true);\n",
       "\t    hide(Typed.prototype, VIEW, true);\n",
       "\t  } else CONSTR = false;\n",
       "\t}\n",
       "\t\n",
       "\tmodule.exports = {\n",
       "\t  ABV: ABV,\n",
       "\t  CONSTR: CONSTR,\n",
       "\t  TYPED: TYPED,\n",
       "\t  VIEW: VIEW\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 238 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar DESCRIPTORS = __webpack_require__(13);\n",
       "\tvar LIBRARY = __webpack_require__(29);\n",
       "\tvar $typed = __webpack_require__(237);\n",
       "\tvar hide = __webpack_require__(17);\n",
       "\tvar redefineAll = __webpack_require__(227);\n",
       "\tvar fails = __webpack_require__(14);\n",
       "\tvar anInstance = __webpack_require__(219);\n",
       "\tvar toInteger = __webpack_require__(46);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar toIndex = __webpack_require__(239);\n",
       "\tvar gOPN = __webpack_require__(57).f;\n",
       "\tvar dP = __webpack_require__(18).f;\n",
       "\tvar arrayFill = __webpack_require__(197);\n",
       "\tvar setToStringTag = __webpack_require__(33);\n",
       "\tvar ARRAY_BUFFER = 'ArrayBuffer';\n",
       "\tvar DATA_VIEW = 'DataView';\n",
       "\tvar PROTOTYPE = 'prototype';\n",
       "\tvar WRONG_LENGTH = 'Wrong length!';\n",
       "\tvar WRONG_INDEX = 'Wrong index!';\n",
       "\tvar $ArrayBuffer = global[ARRAY_BUFFER];\n",
       "\tvar $DataView = global[DATA_VIEW];\n",
       "\tvar Math = global.Math;\n",
       "\tvar RangeError = global.RangeError;\n",
       "\t// eslint-disable-next-line no-shadow-restricted-names\n",
       "\tvar Infinity = global.Infinity;\n",
       "\tvar BaseBuffer = $ArrayBuffer;\n",
       "\tvar abs = Math.abs;\n",
       "\tvar pow = Math.pow;\n",
       "\tvar floor = Math.floor;\n",
       "\tvar log = Math.log;\n",
       "\tvar LN2 = Math.LN2;\n",
       "\tvar BUFFER = 'buffer';\n",
       "\tvar BYTE_LENGTH = 'byteLength';\n",
       "\tvar BYTE_OFFSET = 'byteOffset';\n",
       "\tvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\n",
       "\tvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\n",
       "\tvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n",
       "\t\n",
       "\t// IEEE754 conversions based on https://github.com/feross/ieee754\n",
       "\tfunction packIEEE754(value, mLen, nBytes) {\n",
       "\t  var buffer = new Array(nBytes);\n",
       "\t  var eLen = nBytes * 8 - mLen - 1;\n",
       "\t  var eMax = (1 << eLen) - 1;\n",
       "\t  var eBias = eMax >> 1;\n",
       "\t  var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n",
       "\t  var i = 0;\n",
       "\t  var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n",
       "\t  var e, m, c;\n",
       "\t  value = abs(value);\n",
       "\t  // eslint-disable-next-line no-self-compare\n",
       "\t  if (value != value || value === Infinity) {\n",
       "\t    // eslint-disable-next-line no-self-compare\n",
       "\t    m = value != value ? 1 : 0;\n",
       "\t    e = eMax;\n",
       "\t  } else {\n",
       "\t    e = floor(log(value) / LN2);\n",
       "\t    if (value * (c = pow(2, -e)) < 1) {\n",
       "\t      e--;\n",
       "\t      c *= 2;\n",
       "\t    }\n",
       "\t    if (e + eBias >= 1) {\n",
       "\t      value += rt / c;\n",
       "\t    } else {\n",
       "\t      value += rt * pow(2, 1 - eBias);\n",
       "\t    }\n",
       "\t    if (value * c >= 2) {\n",
       "\t      e++;\n",
       "\t      c /= 2;\n",
       "\t    }\n",
       "\t    if (e + eBias >= eMax) {\n",
       "\t      m = 0;\n",
       "\t      e = eMax;\n",
       "\t    } else if (e + eBias >= 1) {\n",
       "\t      m = (value * c - 1) * pow(2, mLen);\n",
       "\t      e = e + eBias;\n",
       "\t    } else {\n",
       "\t      m = value * pow(2, eBias - 1) * pow(2, mLen);\n",
       "\t      e = 0;\n",
       "\t    }\n",
       "\t  }\n",
       "\t  for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n",
       "\t  e = e << mLen | m;\n",
       "\t  eLen += mLen;\n",
       "\t  for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n",
       "\t  buffer[--i] |= s * 128;\n",
       "\t  return buffer;\n",
       "\t}\n",
       "\tfunction unpackIEEE754(buffer, mLen, nBytes) {\n",
       "\t  var eLen = nBytes * 8 - mLen - 1;\n",
       "\t  var eMax = (1 << eLen) - 1;\n",
       "\t  var eBias = eMax >> 1;\n",
       "\t  var nBits = eLen - 7;\n",
       "\t  var i = nBytes - 1;\n",
       "\t  var s = buffer[i--];\n",
       "\t  var e = s & 127;\n",
       "\t  var m;\n",
       "\t  s >>= 7;\n",
       "\t  for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n",
       "\t  m = e & (1 << -nBits) - 1;\n",
       "\t  e >>= -nBits;\n",
       "\t  nBits += mLen;\n",
       "\t  for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n",
       "\t  if (e === 0) {\n",
       "\t    e = 1 - eBias;\n",
       "\t  } else if (e === eMax) {\n",
       "\t    return m ? NaN : s ? -Infinity : Infinity;\n",
       "\t  } else {\n",
       "\t    m = m + pow(2, mLen);\n",
       "\t    e = e - eBias;\n",
       "\t  } return (s ? -1 : 1) * m * pow(2, e - mLen);\n",
       "\t}\n",
       "\t\n",
       "\tfunction unpackI32(bytes) {\n",
       "\t  return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n",
       "\t}\n",
       "\tfunction packI8(it) {\n",
       "\t  return [it & 0xff];\n",
       "\t}\n",
       "\tfunction packI16(it) {\n",
       "\t  return [it & 0xff, it >> 8 & 0xff];\n",
       "\t}\n",
       "\tfunction packI32(it) {\n",
       "\t  return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n",
       "\t}\n",
       "\tfunction packF64(it) {\n",
       "\t  return packIEEE754(it, 52, 8);\n",
       "\t}\n",
       "\tfunction packF32(it) {\n",
       "\t  return packIEEE754(it, 23, 4);\n",
       "\t}\n",
       "\t\n",
       "\tfunction addGetter(C, key, internal) {\n",
       "\t  dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n",
       "\t}\n",
       "\t\n",
       "\tfunction get(view, bytes, index, isLittleEndian) {\n",
       "\t  var numIndex = +index;\n",
       "\t  var intIndex = toIndex(numIndex);\n",
       "\t  if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n",
       "\t  var store = view[$BUFFER]._b;\n",
       "\t  var start = intIndex + view[$OFFSET];\n",
       "\t  var pack = store.slice(start, start + bytes);\n",
       "\t  return isLittleEndian ? pack : pack.reverse();\n",
       "\t}\n",
       "\tfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n",
       "\t  var numIndex = +index;\n",
       "\t  var intIndex = toIndex(numIndex);\n",
       "\t  if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n",
       "\t  var store = view[$BUFFER]._b;\n",
       "\t  var start = intIndex + view[$OFFSET];\n",
       "\t  var pack = conversion(+value);\n",
       "\t  for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n",
       "\t}\n",
       "\t\n",
       "\tif (!$typed.ABV) {\n",
       "\t  $ArrayBuffer = function ArrayBuffer(length) {\n",
       "\t    anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n",
       "\t    var byteLength = toIndex(length);\n",
       "\t    this._b = arrayFill.call(new Array(byteLength), 0);\n",
       "\t    this[$LENGTH] = byteLength;\n",
       "\t  };\n",
       "\t\n",
       "\t  $DataView = function DataView(buffer, byteOffset, byteLength) {\n",
       "\t    anInstance(this, $DataView, DATA_VIEW);\n",
       "\t    anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n",
       "\t    var bufferLength = buffer[$LENGTH];\n",
       "\t    var offset = toInteger(byteOffset);\n",
       "\t    if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n",
       "\t    byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n",
       "\t    if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n",
       "\t    this[$BUFFER] = buffer;\n",
       "\t    this[$OFFSET] = offset;\n",
       "\t    this[$LENGTH] = byteLength;\n",
       "\t  };\n",
       "\t\n",
       "\t  if (DESCRIPTORS) {\n",
       "\t    addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n",
       "\t    addGetter($DataView, BUFFER, '_b');\n",
       "\t    addGetter($DataView, BYTE_LENGTH, '_l');\n",
       "\t    addGetter($DataView, BYTE_OFFSET, '_o');\n",
       "\t  }\n",
       "\t\n",
       "\t  redefineAll($DataView[PROTOTYPE], {\n",
       "\t    getInt8: function getInt8(byteOffset) {\n",
       "\t      return get(this, 1, byteOffset)[0] << 24 >> 24;\n",
       "\t    },\n",
       "\t    getUint8: function getUint8(byteOffset) {\n",
       "\t      return get(this, 1, byteOffset)[0];\n",
       "\t    },\n",
       "\t    getInt16: function getInt16(byteOffset /* , littleEndian */) {\n",
       "\t      var bytes = get(this, 2, byteOffset, arguments[1]);\n",
       "\t      return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n",
       "\t    },\n",
       "\t    getUint16: function getUint16(byteOffset /* , littleEndian */) {\n",
       "\t      var bytes = get(this, 2, byteOffset, arguments[1]);\n",
       "\t      return bytes[1] << 8 | bytes[0];\n",
       "\t    },\n",
       "\t    getInt32: function getInt32(byteOffset /* , littleEndian */) {\n",
       "\t      return unpackI32(get(this, 4, byteOffset, arguments[1]));\n",
       "\t    },\n",
       "\t    getUint32: function getUint32(byteOffset /* , littleEndian */) {\n",
       "\t      return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n",
       "\t    },\n",
       "\t    getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n",
       "\t      return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n",
       "\t    },\n",
       "\t    getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n",
       "\t      return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n",
       "\t    },\n",
       "\t    setInt8: function setInt8(byteOffset, value) {\n",
       "\t      set(this, 1, byteOffset, packI8, value);\n",
       "\t    },\n",
       "\t    setUint8: function setUint8(byteOffset, value) {\n",
       "\t      set(this, 1, byteOffset, packI8, value);\n",
       "\t    },\n",
       "\t    setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n",
       "\t      set(this, 2, byteOffset, packI16, value, arguments[2]);\n",
       "\t    },\n",
       "\t    setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n",
       "\t      set(this, 2, byteOffset, packI16, value, arguments[2]);\n",
       "\t    },\n",
       "\t    setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n",
       "\t      set(this, 4, byteOffset, packI32, value, arguments[2]);\n",
       "\t    },\n",
       "\t    setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n",
       "\t      set(this, 4, byteOffset, packI32, value, arguments[2]);\n",
       "\t    },\n",
       "\t    setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n",
       "\t      set(this, 4, byteOffset, packF32, value, arguments[2]);\n",
       "\t    },\n",
       "\t    setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n",
       "\t      set(this, 8, byteOffset, packF64, value, arguments[2]);\n",
       "\t    }\n",
       "\t  });\n",
       "\t} else {\n",
       "\t  if (!fails(function () {\n",
       "\t    $ArrayBuffer(1);\n",
       "\t  }) || !fails(function () {\n",
       "\t    new $ArrayBuffer(-1); // eslint-disable-line no-new\n",
       "\t  }) || fails(function () {\n",
       "\t    new $ArrayBuffer(); // eslint-disable-line no-new\n",
       "\t    new $ArrayBuffer(1.5); // eslint-disable-line no-new\n",
       "\t    new $ArrayBuffer(NaN); // eslint-disable-line no-new\n",
       "\t    return $ArrayBuffer.name != ARRAY_BUFFER;\n",
       "\t  })) {\n",
       "\t    $ArrayBuffer = function ArrayBuffer(length) {\n",
       "\t      anInstance(this, $ArrayBuffer);\n",
       "\t      return new BaseBuffer(toIndex(length));\n",
       "\t    };\n",
       "\t    var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n",
       "\t    for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n",
       "\t      if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n",
       "\t    }\n",
       "\t    if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n",
       "\t  }\n",
       "\t  // iOS Safari 7.x bug\n",
       "\t  var view = new $DataView(new $ArrayBuffer(2));\n",
       "\t  var $setInt8 = $DataView[PROTOTYPE].setInt8;\n",
       "\t  view.setInt8(0, 2147483648);\n",
       "\t  view.setInt8(1, 2147483649);\n",
       "\t  if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n",
       "\t    setInt8: function setInt8(byteOffset, value) {\n",
       "\t      $setInt8.call(this, byteOffset, value << 24 >> 24);\n",
       "\t    },\n",
       "\t    setUint8: function setUint8(byteOffset, value) {\n",
       "\t      $setInt8.call(this, byteOffset, value << 24 >> 24);\n",
       "\t    }\n",
       "\t  }, true);\n",
       "\t}\n",
       "\tsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\n",
       "\tsetToStringTag($DataView, DATA_VIEW);\n",
       "\thide($DataView[PROTOTYPE], $typed.VIEW, true);\n",
       "\texports[ARRAY_BUFFER] = $ArrayBuffer;\n",
       "\texports[DATA_VIEW] = $DataView;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 239 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://tc39.github.io/ecma262/#sec-toindex\n",
       "\tvar toInteger = __webpack_require__(46);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tmodule.exports = function (it) {\n",
       "\t  if (it === undefined) return 0;\n",
       "\t  var number = toInteger(it);\n",
       "\t  var length = toLength(number);\n",
       "\t  if (number !== length) throw RangeError('Wrong length!');\n",
       "\t  return length;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 240 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t$export($export.G + $export.W + $export.F * !__webpack_require__(237).ABV, {\n",
       "\t  DataView: __webpack_require__(238).DataView\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 241 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(242)('Int8', 1, function (init) {\n",
       "\t  return function Int8Array(data, byteOffset, length) {\n",
       "\t    return init(this, data, byteOffset, length);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 242 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tif (__webpack_require__(13)) {\n",
       "\t  var LIBRARY = __webpack_require__(29);\n",
       "\t  var global = __webpack_require__(11);\n",
       "\t  var fails = __webpack_require__(14);\n",
       "\t  var $export = __webpack_require__(15);\n",
       "\t  var $typed = __webpack_require__(237);\n",
       "\t  var $buffer = __webpack_require__(238);\n",
       "\t  var ctx = __webpack_require__(30);\n",
       "\t  var anInstance = __webpack_require__(219);\n",
       "\t  var propertyDesc = __webpack_require__(24);\n",
       "\t  var hide = __webpack_require__(17);\n",
       "\t  var redefineAll = __webpack_require__(227);\n",
       "\t  var toInteger = __webpack_require__(46);\n",
       "\t  var toLength = __webpack_require__(45);\n",
       "\t  var toIndex = __webpack_require__(239);\n",
       "\t  var toAbsoluteIndex = __webpack_require__(47);\n",
       "\t  var toPrimitive = __webpack_require__(23);\n",
       "\t  var has = __webpack_require__(12);\n",
       "\t  var classof = __webpack_require__(82);\n",
       "\t  var isObject = __webpack_require__(20);\n",
       "\t  var toObject = __webpack_require__(65);\n",
       "\t  var isArrayIter = __webpack_require__(171);\n",
       "\t  var create = __webpack_require__(53);\n",
       "\t  var getPrototypeOf = __webpack_require__(66);\n",
       "\t  var gOPN = __webpack_require__(57).f;\n",
       "\t  var getIterFn = __webpack_require__(173);\n",
       "\t  var uid = __webpack_require__(26);\n",
       "\t  var wks = __webpack_require__(34);\n",
       "\t  var createArrayMethod = __webpack_require__(181);\n",
       "\t  var createArrayIncludes = __webpack_require__(44);\n",
       "\t  var speciesConstructor = __webpack_require__(217);\n",
       "\t  var ArrayIterators = __webpack_require__(202);\n",
       "\t  var Iterators = __webpack_require__(137);\n",
       "\t  var $iterDetect = __webpack_require__(174);\n",
       "\t  var setSpecies = __webpack_require__(201);\n",
       "\t  var arrayFill = __webpack_require__(197);\n",
       "\t  var arrayCopyWithin = __webpack_require__(194);\n",
       "\t  var $DP = __webpack_require__(18);\n",
       "\t  var $GOPD = __webpack_require__(58);\n",
       "\t  var dP = $DP.f;\n",
       "\t  var gOPD = $GOPD.f;\n",
       "\t  var RangeError = global.RangeError;\n",
       "\t  var TypeError = global.TypeError;\n",
       "\t  var Uint8Array = global.Uint8Array;\n",
       "\t  var ARRAY_BUFFER = 'ArrayBuffer';\n",
       "\t  var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n",
       "\t  var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n",
       "\t  var PROTOTYPE = 'prototype';\n",
       "\t  var ArrayProto = Array[PROTOTYPE];\n",
       "\t  var $ArrayBuffer = $buffer.ArrayBuffer;\n",
       "\t  var $DataView = $buffer.DataView;\n",
       "\t  var arrayForEach = createArrayMethod(0);\n",
       "\t  var arrayFilter = createArrayMethod(2);\n",
       "\t  var arraySome = createArrayMethod(3);\n",
       "\t  var arrayEvery = createArrayMethod(4);\n",
       "\t  var arrayFind = createArrayMethod(5);\n",
       "\t  var arrayFindIndex = createArrayMethod(6);\n",
       "\t  var arrayIncludes = createArrayIncludes(true);\n",
       "\t  var arrayIndexOf = createArrayIncludes(false);\n",
       "\t  var arrayValues = ArrayIterators.values;\n",
       "\t  var arrayKeys = ArrayIterators.keys;\n",
       "\t  var arrayEntries = ArrayIterators.entries;\n",
       "\t  var arrayLastIndexOf = ArrayProto.lastIndexOf;\n",
       "\t  var arrayReduce = ArrayProto.reduce;\n",
       "\t  var arrayReduceRight = ArrayProto.reduceRight;\n",
       "\t  var arrayJoin = ArrayProto.join;\n",
       "\t  var arraySort = ArrayProto.sort;\n",
       "\t  var arraySlice = ArrayProto.slice;\n",
       "\t  var arrayToString = ArrayProto.toString;\n",
       "\t  var arrayToLocaleString = ArrayProto.toLocaleString;\n",
       "\t  var ITERATOR = wks('iterator');\n",
       "\t  var TAG = wks('toStringTag');\n",
       "\t  var TYPED_CONSTRUCTOR = uid('typed_constructor');\n",
       "\t  var DEF_CONSTRUCTOR = uid('def_constructor');\n",
       "\t  var ALL_CONSTRUCTORS = $typed.CONSTR;\n",
       "\t  var TYPED_ARRAY = $typed.TYPED;\n",
       "\t  var VIEW = $typed.VIEW;\n",
       "\t  var WRONG_LENGTH = 'Wrong length!';\n",
       "\t\n",
       "\t  var $map = createArrayMethod(1, function (O, length) {\n",
       "\t    return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n",
       "\t  });\n",
       "\t\n",
       "\t  var LITTLE_ENDIAN = fails(function () {\n",
       "\t    // eslint-disable-next-line no-undef\n",
       "\t    return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n",
       "\t  });\n",
       "\t\n",
       "\t  var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n",
       "\t    new Uint8Array(1).set({});\n",
       "\t  });\n",
       "\t\n",
       "\t  var toOffset = function (it, BYTES) {\n",
       "\t    var offset = toInteger(it);\n",
       "\t    if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n",
       "\t    return offset;\n",
       "\t  };\n",
       "\t\n",
       "\t  var validate = function (it) {\n",
       "\t    if (isObject(it) && TYPED_ARRAY in it) return it;\n",
       "\t    throw TypeError(it + ' is not a typed array!');\n",
       "\t  };\n",
       "\t\n",
       "\t  var allocate = function (C, length) {\n",
       "\t    if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n",
       "\t      throw TypeError('It is not a typed array constructor!');\n",
       "\t    } return new C(length);\n",
       "\t  };\n",
       "\t\n",
       "\t  var speciesFromList = function (O, list) {\n",
       "\t    return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n",
       "\t  };\n",
       "\t\n",
       "\t  var fromList = function (C, list) {\n",
       "\t    var index = 0;\n",
       "\t    var length = list.length;\n",
       "\t    var result = allocate(C, length);\n",
       "\t    while (length > index) result[index] = list[index++];\n",
       "\t    return result;\n",
       "\t  };\n",
       "\t\n",
       "\t  var addGetter = function (it, key, internal) {\n",
       "\t    dP(it, key, { get: function () { return this._d[internal]; } });\n",
       "\t  };\n",
       "\t\n",
       "\t  var $from = function from(source /* , mapfn, thisArg */) {\n",
       "\t    var O = toObject(source);\n",
       "\t    var aLen = arguments.length;\n",
       "\t    var mapfn = aLen > 1 ? arguments[1] : undefined;\n",
       "\t    var mapping = mapfn !== undefined;\n",
       "\t    var iterFn = getIterFn(O);\n",
       "\t    var i, length, values, result, step, iterator;\n",
       "\t    if (iterFn != undefined && !isArrayIter(iterFn)) {\n",
       "\t      for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n",
       "\t        values.push(step.value);\n",
       "\t      } O = values;\n",
       "\t    }\n",
       "\t    if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n",
       "\t    for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n",
       "\t      result[i] = mapping ? mapfn(O[i], i) : O[i];\n",
       "\t    }\n",
       "\t    return result;\n",
       "\t  };\n",
       "\t\n",
       "\t  var $of = function of(/* ...items */) {\n",
       "\t    var index = 0;\n",
       "\t    var length = arguments.length;\n",
       "\t    var result = allocate(this, length);\n",
       "\t    while (length > index) result[index] = arguments[index++];\n",
       "\t    return result;\n",
       "\t  };\n",
       "\t\n",
       "\t  // iOS Safari 6.x fails here\n",
       "\t  var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n",
       "\t\n",
       "\t  var $toLocaleString = function toLocaleString() {\n",
       "\t    return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n",
       "\t  };\n",
       "\t\n",
       "\t  var proto = {\n",
       "\t    copyWithin: function copyWithin(target, start /* , end */) {\n",
       "\t      return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n",
       "\t    },\n",
       "\t    every: function every(callbackfn /* , thisArg */) {\n",
       "\t      return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n",
       "\t    },\n",
       "\t    fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n",
       "\t      return arrayFill.apply(validate(this), arguments);\n",
       "\t    },\n",
       "\t    filter: function filter(callbackfn /* , thisArg */) {\n",
       "\t      return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n",
       "\t        arguments.length > 1 ? arguments[1] : undefined));\n",
       "\t    },\n",
       "\t    find: function find(predicate /* , thisArg */) {\n",
       "\t      return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n",
       "\t    },\n",
       "\t    findIndex: function findIndex(predicate /* , thisArg */) {\n",
       "\t      return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n",
       "\t    },\n",
       "\t    forEach: function forEach(callbackfn /* , thisArg */) {\n",
       "\t      arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n",
       "\t    },\n",
       "\t    indexOf: function indexOf(searchElement /* , fromIndex */) {\n",
       "\t      return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n",
       "\t    },\n",
       "\t    includes: function includes(searchElement /* , fromIndex */) {\n",
       "\t      return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n",
       "\t    },\n",
       "\t    join: function join(separator) { // eslint-disable-line no-unused-vars\n",
       "\t      return arrayJoin.apply(validate(this), arguments);\n",
       "\t    },\n",
       "\t    lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n",
       "\t      return arrayLastIndexOf.apply(validate(this), arguments);\n",
       "\t    },\n",
       "\t    map: function map(mapfn /* , thisArg */) {\n",
       "\t      return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n",
       "\t    },\n",
       "\t    reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n",
       "\t      return arrayReduce.apply(validate(this), arguments);\n",
       "\t    },\n",
       "\t    reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n",
       "\t      return arrayReduceRight.apply(validate(this), arguments);\n",
       "\t    },\n",
       "\t    reverse: function reverse() {\n",
       "\t      var that = this;\n",
       "\t      var length = validate(that).length;\n",
       "\t      var middle = Math.floor(length / 2);\n",
       "\t      var index = 0;\n",
       "\t      var value;\n",
       "\t      while (index < middle) {\n",
       "\t        value = that[index];\n",
       "\t        that[index++] = that[--length];\n",
       "\t        that[length] = value;\n",
       "\t      } return that;\n",
       "\t    },\n",
       "\t    some: function some(callbackfn /* , thisArg */) {\n",
       "\t      return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n",
       "\t    },\n",
       "\t    sort: function sort(comparefn) {\n",
       "\t      return arraySort.call(validate(this), comparefn);\n",
       "\t    },\n",
       "\t    subarray: function subarray(begin, end) {\n",
       "\t      var O = validate(this);\n",
       "\t      var length = O.length;\n",
       "\t      var $begin = toAbsoluteIndex(begin, length);\n",
       "\t      return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n",
       "\t        O.buffer,\n",
       "\t        O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n",
       "\t        toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n",
       "\t      );\n",
       "\t    }\n",
       "\t  };\n",
       "\t\n",
       "\t  var $slice = function slice(start, end) {\n",
       "\t    return speciesFromList(this, arraySlice.call(validate(this), start, end));\n",
       "\t  };\n",
       "\t\n",
       "\t  var $set = function set(arrayLike /* , offset */) {\n",
       "\t    validate(this);\n",
       "\t    var offset = toOffset(arguments[1], 1);\n",
       "\t    var length = this.length;\n",
       "\t    var src = toObject(arrayLike);\n",
       "\t    var len = toLength(src.length);\n",
       "\t    var index = 0;\n",
       "\t    if (len + offset > length) throw RangeError(WRONG_LENGTH);\n",
       "\t    while (index < len) this[offset + index] = src[index++];\n",
       "\t  };\n",
       "\t\n",
       "\t  var $iterators = {\n",
       "\t    entries: function entries() {\n",
       "\t      return arrayEntries.call(validate(this));\n",
       "\t    },\n",
       "\t    keys: function keys() {\n",
       "\t      return arrayKeys.call(validate(this));\n",
       "\t    },\n",
       "\t    values: function values() {\n",
       "\t      return arrayValues.call(validate(this));\n",
       "\t    }\n",
       "\t  };\n",
       "\t\n",
       "\t  var isTAIndex = function (target, key) {\n",
       "\t    return isObject(target)\n",
       "\t      && target[TYPED_ARRAY]\n",
       "\t      && typeof key != 'symbol'\n",
       "\t      && key in target\n",
       "\t      && String(+key) == String(key);\n",
       "\t  };\n",
       "\t  var $getDesc = function getOwnPropertyDescriptor(target, key) {\n",
       "\t    return isTAIndex(target, key = toPrimitive(key, true))\n",
       "\t      ? propertyDesc(2, target[key])\n",
       "\t      : gOPD(target, key);\n",
       "\t  };\n",
       "\t  var $setDesc = function defineProperty(target, key, desc) {\n",
       "\t    if (isTAIndex(target, key = toPrimitive(key, true))\n",
       "\t      && isObject(desc)\n",
       "\t      && has(desc, 'value')\n",
       "\t      && !has(desc, 'get')\n",
       "\t      && !has(desc, 'set')\n",
       "\t      // TODO: add validation descriptor w/o calling accessors\n",
       "\t      && !desc.configurable\n",
       "\t      && (!has(desc, 'writable') || desc.writable)\n",
       "\t      && (!has(desc, 'enumerable') || desc.enumerable)\n",
       "\t    ) {\n",
       "\t      target[key] = desc.value;\n",
       "\t      return target;\n",
       "\t    } return dP(target, key, desc);\n",
       "\t  };\n",
       "\t\n",
       "\t  if (!ALL_CONSTRUCTORS) {\n",
       "\t    $GOPD.f = $getDesc;\n",
       "\t    $DP.f = $setDesc;\n",
       "\t  }\n",
       "\t\n",
       "\t  $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n",
       "\t    getOwnPropertyDescriptor: $getDesc,\n",
       "\t    defineProperty: $setDesc\n",
       "\t  });\n",
       "\t\n",
       "\t  if (fails(function () { arrayToString.call({}); })) {\n",
       "\t    arrayToString = arrayToLocaleString = function toString() {\n",
       "\t      return arrayJoin.call(this);\n",
       "\t    };\n",
       "\t  }\n",
       "\t\n",
       "\t  var $TypedArrayPrototype$ = redefineAll({}, proto);\n",
       "\t  redefineAll($TypedArrayPrototype$, $iterators);\n",
       "\t  hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n",
       "\t  redefineAll($TypedArrayPrototype$, {\n",
       "\t    slice: $slice,\n",
       "\t    set: $set,\n",
       "\t    constructor: function () { /* noop */ },\n",
       "\t    toString: arrayToString,\n",
       "\t    toLocaleString: $toLocaleString\n",
       "\t  });\n",
       "\t  addGetter($TypedArrayPrototype$, 'buffer', 'b');\n",
       "\t  addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n",
       "\t  addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n",
       "\t  addGetter($TypedArrayPrototype$, 'length', 'e');\n",
       "\t  dP($TypedArrayPrototype$, TAG, {\n",
       "\t    get: function () { return this[TYPED_ARRAY]; }\n",
       "\t  });\n",
       "\t\n",
       "\t  // eslint-disable-next-line max-statements\n",
       "\t  module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n",
       "\t    CLAMPED = !!CLAMPED;\n",
       "\t    var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n",
       "\t    var GETTER = 'get' + KEY;\n",
       "\t    var SETTER = 'set' + KEY;\n",
       "\t    var TypedArray = global[NAME];\n",
       "\t    var Base = TypedArray || {};\n",
       "\t    var TAC = TypedArray && getPrototypeOf(TypedArray);\n",
       "\t    var FORCED = !TypedArray || !$typed.ABV;\n",
       "\t    var O = {};\n",
       "\t    var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n",
       "\t    var getter = function (that, index) {\n",
       "\t      var data = that._d;\n",
       "\t      return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n",
       "\t    };\n",
       "\t    var setter = function (that, index, value) {\n",
       "\t      var data = that._d;\n",
       "\t      if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n",
       "\t      data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n",
       "\t    };\n",
       "\t    var addElement = function (that, index) {\n",
       "\t      dP(that, index, {\n",
       "\t        get: function () {\n",
       "\t          return getter(this, index);\n",
       "\t        },\n",
       "\t        set: function (value) {\n",
       "\t          return setter(this, index, value);\n",
       "\t        },\n",
       "\t        enumerable: true\n",
       "\t      });\n",
       "\t    };\n",
       "\t    if (FORCED) {\n",
       "\t      TypedArray = wrapper(function (that, data, $offset, $length) {\n",
       "\t        anInstance(that, TypedArray, NAME, '_d');\n",
       "\t        var index = 0;\n",
       "\t        var offset = 0;\n",
       "\t        var buffer, byteLength, length, klass;\n",
       "\t        if (!isObject(data)) {\n",
       "\t          length = toIndex(data);\n",
       "\t          byteLength = length * BYTES;\n",
       "\t          buffer = new $ArrayBuffer(byteLength);\n",
       "\t        } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n",
       "\t          buffer = data;\n",
       "\t          offset = toOffset($offset, BYTES);\n",
       "\t          var $len = data.byteLength;\n",
       "\t          if ($length === undefined) {\n",
       "\t            if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n",
       "\t            byteLength = $len - offset;\n",
       "\t            if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n",
       "\t          } else {\n",
       "\t            byteLength = toLength($length) * BYTES;\n",
       "\t            if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n",
       "\t          }\n",
       "\t          length = byteLength / BYTES;\n",
       "\t        } else if (TYPED_ARRAY in data) {\n",
       "\t          return fromList(TypedArray, data);\n",
       "\t        } else {\n",
       "\t          return $from.call(TypedArray, data);\n",
       "\t        }\n",
       "\t        hide(that, '_d', {\n",
       "\t          b: buffer,\n",
       "\t          o: offset,\n",
       "\t          l: byteLength,\n",
       "\t          e: length,\n",
       "\t          v: new $DataView(buffer)\n",
       "\t        });\n",
       "\t        while (index < length) addElement(that, index++);\n",
       "\t      });\n",
       "\t      TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n",
       "\t      hide(TypedArrayPrototype, 'constructor', TypedArray);\n",
       "\t    } else if (!fails(function () {\n",
       "\t      TypedArray(1);\n",
       "\t    }) || !fails(function () {\n",
       "\t      new TypedArray(-1); // eslint-disable-line no-new\n",
       "\t    }) || !$iterDetect(function (iter) {\n",
       "\t      new TypedArray(); // eslint-disable-line no-new\n",
       "\t      new TypedArray(null); // eslint-disable-line no-new\n",
       "\t      new TypedArray(1.5); // eslint-disable-line no-new\n",
       "\t      new TypedArray(iter); // eslint-disable-line no-new\n",
       "\t    }, true)) {\n",
       "\t      TypedArray = wrapper(function (that, data, $offset, $length) {\n",
       "\t        anInstance(that, TypedArray, NAME);\n",
       "\t        var klass;\n",
       "\t        // `ws` module bug, temporarily remove validation length for Uint8Array\n",
       "\t        // https://github.com/websockets/ws/pull/645\n",
       "\t        if (!isObject(data)) return new Base(toIndex(data));\n",
       "\t        if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n",
       "\t          return $length !== undefined\n",
       "\t            ? new Base(data, toOffset($offset, BYTES), $length)\n",
       "\t            : $offset !== undefined\n",
       "\t              ? new Base(data, toOffset($offset, BYTES))\n",
       "\t              : new Base(data);\n",
       "\t        }\n",
       "\t        if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n",
       "\t        return $from.call(TypedArray, data);\n",
       "\t      });\n",
       "\t      arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n",
       "\t        if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n",
       "\t      });\n",
       "\t      TypedArray[PROTOTYPE] = TypedArrayPrototype;\n",
       "\t      if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n",
       "\t    }\n",
       "\t    var $nativeIterator = TypedArrayPrototype[ITERATOR];\n",
       "\t    var CORRECT_ITER_NAME = !!$nativeIterator\n",
       "\t      && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n",
       "\t    var $iterator = $iterators.values;\n",
       "\t    hide(TypedArray, TYPED_CONSTRUCTOR, true);\n",
       "\t    hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n",
       "\t    hide(TypedArrayPrototype, VIEW, true);\n",
       "\t    hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n",
       "\t\n",
       "\t    if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n",
       "\t      dP(TypedArrayPrototype, TAG, {\n",
       "\t        get: function () { return NAME; }\n",
       "\t      });\n",
       "\t    }\n",
       "\t\n",
       "\t    O[NAME] = TypedArray;\n",
       "\t\n",
       "\t    $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n",
       "\t\n",
       "\t    $export($export.S, NAME, {\n",
       "\t      BYTES_PER_ELEMENT: BYTES\n",
       "\t    });\n",
       "\t\n",
       "\t    $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n",
       "\t      from: $from,\n",
       "\t      of: $of\n",
       "\t    });\n",
       "\t\n",
       "\t    if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n",
       "\t\n",
       "\t    $export($export.P, NAME, proto);\n",
       "\t\n",
       "\t    setSpecies(NAME);\n",
       "\t\n",
       "\t    $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n",
       "\t\n",
       "\t    $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n",
       "\t\n",
       "\t    if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n",
       "\t\n",
       "\t    $export($export.P + $export.F * fails(function () {\n",
       "\t      new TypedArray(1).slice();\n",
       "\t    }), NAME, { slice: $slice });\n",
       "\t\n",
       "\t    $export($export.P + $export.F * (fails(function () {\n",
       "\t      return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n",
       "\t    }) || !fails(function () {\n",
       "\t      TypedArrayPrototype.toLocaleString.call([1, 2]);\n",
       "\t    })), NAME, { toLocaleString: $toLocaleString });\n",
       "\t\n",
       "\t    Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n",
       "\t    if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n",
       "\t  };\n",
       "\t} else module.exports = function () { /* empty */ };\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 243 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(242)('Uint8', 1, function (init) {\n",
       "\t  return function Uint8Array(data, byteOffset, length) {\n",
       "\t    return init(this, data, byteOffset, length);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 244 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(242)('Uint8', 1, function (init) {\n",
       "\t  return function Uint8ClampedArray(data, byteOffset, length) {\n",
       "\t    return init(this, data, byteOffset, length);\n",
       "\t  };\n",
       "\t}, true);\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 245 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(242)('Int16', 2, function (init) {\n",
       "\t  return function Int16Array(data, byteOffset, length) {\n",
       "\t    return init(this, data, byteOffset, length);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 246 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(242)('Uint16', 2, function (init) {\n",
       "\t  return function Uint16Array(data, byteOffset, length) {\n",
       "\t    return init(this, data, byteOffset, length);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 247 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(242)('Int32', 4, function (init) {\n",
       "\t  return function Int32Array(data, byteOffset, length) {\n",
       "\t    return init(this, data, byteOffset, length);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 248 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(242)('Uint32', 4, function (init) {\n",
       "\t  return function Uint32Array(data, byteOffset, length) {\n",
       "\t    return init(this, data, byteOffset, length);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 249 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(242)('Float32', 4, function (init) {\n",
       "\t  return function Float32Array(data, byteOffset, length) {\n",
       "\t    return init(this, data, byteOffset, length);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 250 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(242)('Float64', 8, function (init) {\n",
       "\t  return function Float64Array(data, byteOffset, length) {\n",
       "\t    return init(this, data, byteOffset, length);\n",
       "\t  };\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 251 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar rApply = (__webpack_require__(11).Reflect || {}).apply;\n",
       "\tvar fApply = Function.apply;\n",
       "\t// MS Edge argumentsList argument is optional\n",
       "\t$export($export.S + $export.F * !__webpack_require__(14)(function () {\n",
       "\t  rApply(function () { /* empty */ });\n",
       "\t}), 'Reflect', {\n",
       "\t  apply: function apply(target, thisArgument, argumentsList) {\n",
       "\t    var T = aFunction(target);\n",
       "\t    var L = anObject(argumentsList);\n",
       "\t    return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 252 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar create = __webpack_require__(53);\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar fails = __webpack_require__(14);\n",
       "\tvar bind = __webpack_require__(84);\n",
       "\tvar rConstruct = (__webpack_require__(11).Reflect || {}).construct;\n",
       "\t\n",
       "\t// MS Edge supports only 2 arguments and argumentsList argument is optional\n",
       "\t// FF Nightly sets third argument as `new.target`, but does not create `this` from it\n",
       "\tvar NEW_TARGET_BUG = fails(function () {\n",
       "\t  function F() { /* empty */ }\n",
       "\t  return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n",
       "\t});\n",
       "\tvar ARGS_BUG = !fails(function () {\n",
       "\t  rConstruct(function () { /* empty */ });\n",
       "\t});\n",
       "\t\n",
       "\t$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n",
       "\t  construct: function construct(Target, args /* , newTarget */) {\n",
       "\t    aFunction(Target);\n",
       "\t    anObject(args);\n",
       "\t    var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n",
       "\t    if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n",
       "\t    if (Target == newTarget) {\n",
       "\t      // w/o altered newTarget, optimization for 0-4 arguments\n",
       "\t      switch (args.length) {\n",
       "\t        case 0: return new Target();\n",
       "\t        case 1: return new Target(args[0]);\n",
       "\t        case 2: return new Target(args[0], args[1]);\n",
       "\t        case 3: return new Target(args[0], args[1], args[2]);\n",
       "\t        case 4: return new Target(args[0], args[1], args[2], args[3]);\n",
       "\t      }\n",
       "\t      // w/o altered newTarget, lot of arguments case\n",
       "\t      var $args = [null];\n",
       "\t      $args.push.apply($args, args);\n",
       "\t      return new (bind.apply(Target, $args))();\n",
       "\t    }\n",
       "\t    // with altered newTarget, not support built-in constructors\n",
       "\t    var proto = newTarget.prototype;\n",
       "\t    var instance = create(isObject(proto) ? proto : Object.prototype);\n",
       "\t    var result = Function.apply.call(Target, instance, args);\n",
       "\t    return isObject(result) ? result : instance;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 253 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\n",
       "\tvar dP = __webpack_require__(18);\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar toPrimitive = __webpack_require__(23);\n",
       "\t\n",
       "\t// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n",
       "\t$export($export.S + $export.F * __webpack_require__(14)(function () {\n",
       "\t  // eslint-disable-next-line no-undef\n",
       "\t  Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n",
       "\t}), 'Reflect', {\n",
       "\t  defineProperty: function defineProperty(target, propertyKey, attributes) {\n",
       "\t    anObject(target);\n",
       "\t    propertyKey = toPrimitive(propertyKey, true);\n",
       "\t    anObject(attributes);\n",
       "\t    try {\n",
       "\t      dP.f(target, propertyKey, attributes);\n",
       "\t      return true;\n",
       "\t    } catch (e) {\n",
       "\t      return false;\n",
       "\t    }\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 254 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 26.1.4 Reflect.deleteProperty(target, propertyKey)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar gOPD = __webpack_require__(58).f;\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\t\n",
       "\t$export($export.S, 'Reflect', {\n",
       "\t  deleteProperty: function deleteProperty(target, propertyKey) {\n",
       "\t    var desc = gOPD(anObject(target), propertyKey);\n",
       "\t    return desc && !desc.configurable ? false : delete target[propertyKey];\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 255 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// 26.1.5 Reflect.enumerate(target)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar Enumerate = function (iterated) {\n",
       "\t  this._t = anObject(iterated); // target\n",
       "\t  this._i = 0;                  // next index\n",
       "\t  var keys = this._k = [];      // keys\n",
       "\t  var key;\n",
       "\t  for (key in iterated) keys.push(key);\n",
       "\t};\n",
       "\t__webpack_require__(138)(Enumerate, 'Object', function () {\n",
       "\t  var that = this;\n",
       "\t  var keys = that._k;\n",
       "\t  var key;\n",
       "\t  do {\n",
       "\t    if (that._i >= keys.length) return { value: undefined, done: true };\n",
       "\t  } while (!((key = keys[that._i++]) in that._t));\n",
       "\t  return { value: key, done: false };\n",
       "\t});\n",
       "\t\n",
       "\t$export($export.S, 'Reflect', {\n",
       "\t  enumerate: function enumerate(target) {\n",
       "\t    return new Enumerate(target);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 256 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 26.1.6 Reflect.get(target, propertyKey [, receiver])\n",
       "\tvar gOPD = __webpack_require__(58);\n",
       "\tvar getPrototypeOf = __webpack_require__(66);\n",
       "\tvar has = __webpack_require__(12);\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\t\n",
       "\tfunction get(target, propertyKey /* , receiver */) {\n",
       "\t  var receiver = arguments.length < 3 ? target : arguments[2];\n",
       "\t  var desc, proto;\n",
       "\t  if (anObject(target) === receiver) return target[propertyKey];\n",
       "\t  if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n",
       "\t    ? desc.value\n",
       "\t    : desc.get !== undefined\n",
       "\t      ? desc.get.call(receiver)\n",
       "\t      : undefined;\n",
       "\t  if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n",
       "\t}\n",
       "\t\n",
       "\t$export($export.S, 'Reflect', { get: get });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 257 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\n",
       "\tvar gOPD = __webpack_require__(58);\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\t\n",
       "\t$export($export.S, 'Reflect', {\n",
       "\t  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n",
       "\t    return gOPD.f(anObject(target), propertyKey);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 258 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 26.1.8 Reflect.getPrototypeOf(target)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar getProto = __webpack_require__(66);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\t\n",
       "\t$export($export.S, 'Reflect', {\n",
       "\t  getPrototypeOf: function getPrototypeOf(target) {\n",
       "\t    return getProto(anObject(target));\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 259 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 26.1.9 Reflect.has(target, propertyKey)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Reflect', {\n",
       "\t  has: function has(target, propertyKey) {\n",
       "\t    return propertyKey in target;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 260 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 26.1.10 Reflect.isExtensible(target)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar $isExtensible = Object.isExtensible;\n",
       "\t\n",
       "\t$export($export.S, 'Reflect', {\n",
       "\t  isExtensible: function isExtensible(target) {\n",
       "\t    anObject(target);\n",
       "\t    return $isExtensible ? $isExtensible(target) : true;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 261 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 26.1.11 Reflect.ownKeys(target)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Reflect', { ownKeys: __webpack_require__(262) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 262 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// all object keys, includes non-enumerable and symbols\n",
       "\tvar gOPN = __webpack_require__(57);\n",
       "\tvar gOPS = __webpack_require__(50);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar Reflect = __webpack_require__(11).Reflect;\n",
       "\tmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n",
       "\t  var keys = gOPN.f(anObject(it));\n",
       "\t  var getSymbols = gOPS.f;\n",
       "\t  return getSymbols ? keys.concat(getSymbols(it)) : keys;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 263 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 26.1.12 Reflect.preventExtensions(target)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar $preventExtensions = Object.preventExtensions;\n",
       "\t\n",
       "\t$export($export.S, 'Reflect', {\n",
       "\t  preventExtensions: function preventExtensions(target) {\n",
       "\t    anObject(target);\n",
       "\t    try {\n",
       "\t      if ($preventExtensions) $preventExtensions(target);\n",
       "\t      return true;\n",
       "\t    } catch (e) {\n",
       "\t      return false;\n",
       "\t    }\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 264 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\n",
       "\tvar dP = __webpack_require__(18);\n",
       "\tvar gOPD = __webpack_require__(58);\n",
       "\tvar getPrototypeOf = __webpack_require__(66);\n",
       "\tvar has = __webpack_require__(12);\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar createDesc = __webpack_require__(24);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\t\n",
       "\tfunction set(target, propertyKey, V /* , receiver */) {\n",
       "\t  var receiver = arguments.length < 4 ? target : arguments[3];\n",
       "\t  var ownDesc = gOPD.f(anObject(target), propertyKey);\n",
       "\t  var existingDescriptor, proto;\n",
       "\t  if (!ownDesc) {\n",
       "\t    if (isObject(proto = getPrototypeOf(target))) {\n",
       "\t      return set(proto, propertyKey, V, receiver);\n",
       "\t    }\n",
       "\t    ownDesc = createDesc(0);\n",
       "\t  }\n",
       "\t  if (has(ownDesc, 'value')) {\n",
       "\t    if (ownDesc.writable === false || !isObject(receiver)) return false;\n",
       "\t    if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n",
       "\t      if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n",
       "\t      existingDescriptor.value = V;\n",
       "\t      dP.f(receiver, propertyKey, existingDescriptor);\n",
       "\t    } else dP.f(receiver, propertyKey, createDesc(0, V));\n",
       "\t    return true;\n",
       "\t  }\n",
       "\t  return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n",
       "\t}\n",
       "\t\n",
       "\t$export($export.S, 'Reflect', { set: set });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 265 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// 26.1.14 Reflect.setPrototypeOf(target, proto)\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar setProto = __webpack_require__(80);\n",
       "\t\n",
       "\tif (setProto) $export($export.S, 'Reflect', {\n",
       "\t  setPrototypeOf: function setPrototypeOf(target, proto) {\n",
       "\t    setProto.check(target, proto);\n",
       "\t    try {\n",
       "\t      setProto.set(target, proto);\n",
       "\t      return true;\n",
       "\t    } catch (e) {\n",
       "\t      return false;\n",
       "\t    }\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 266 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://github.com/tc39/Array.prototype.includes\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $includes = __webpack_require__(44)(true);\n",
       "\t\n",
       "\t$export($export.P, 'Array', {\n",
       "\t  includes: function includes(el /* , fromIndex = 0 */) {\n",
       "\t    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n",
       "\t  }\n",
       "\t});\n",
       "\t\n",
       "\t__webpack_require__(195)('includes');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 267 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar flattenIntoArray = __webpack_require__(268);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tvar arraySpeciesCreate = __webpack_require__(182);\n",
       "\t\n",
       "\t$export($export.P, 'Array', {\n",
       "\t  flatMap: function flatMap(callbackfn /* , thisArg */) {\n",
       "\t    var O = toObject(this);\n",
       "\t    var sourceLen, A;\n",
       "\t    aFunction(callbackfn);\n",
       "\t    sourceLen = toLength(O.length);\n",
       "\t    A = arraySpeciesCreate(O, 0);\n",
       "\t    flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n",
       "\t    return A;\n",
       "\t  }\n",
       "\t});\n",
       "\t\n",
       "\t__webpack_require__(195)('flatMap');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 268 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\n",
       "\tvar isArray = __webpack_require__(52);\n",
       "\tvar isObject = __webpack_require__(20);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar ctx = __webpack_require__(30);\n",
       "\tvar IS_CONCAT_SPREADABLE = __webpack_require__(34)('isConcatSpreadable');\n",
       "\t\n",
       "\tfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n",
       "\t  var targetIndex = start;\n",
       "\t  var sourceIndex = 0;\n",
       "\t  var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n",
       "\t  var element, spreadable;\n",
       "\t\n",
       "\t  while (sourceIndex < sourceLen) {\n",
       "\t    if (sourceIndex in source) {\n",
       "\t      element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n",
       "\t\n",
       "\t      spreadable = false;\n",
       "\t      if (isObject(element)) {\n",
       "\t        spreadable = element[IS_CONCAT_SPREADABLE];\n",
       "\t        spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n",
       "\t      }\n",
       "\t\n",
       "\t      if (spreadable && depth > 0) {\n",
       "\t        targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n",
       "\t      } else {\n",
       "\t        if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n",
       "\t        target[targetIndex] = element;\n",
       "\t      }\n",
       "\t\n",
       "\t      targetIndex++;\n",
       "\t    }\n",
       "\t    sourceIndex++;\n",
       "\t  }\n",
       "\t  return targetIndex;\n",
       "\t}\n",
       "\t\n",
       "\tmodule.exports = flattenIntoArray;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 269 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar flattenIntoArray = __webpack_require__(268);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar toInteger = __webpack_require__(46);\n",
       "\tvar arraySpeciesCreate = __webpack_require__(182);\n",
       "\t\n",
       "\t$export($export.P, 'Array', {\n",
       "\t  flatten: function flatten(/* depthArg = 1 */) {\n",
       "\t    var depthArg = arguments[0];\n",
       "\t    var O = toObject(this);\n",
       "\t    var sourceLen = toLength(O.length);\n",
       "\t    var A = arraySpeciesCreate(O, 0);\n",
       "\t    flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n",
       "\t    return A;\n",
       "\t  }\n",
       "\t});\n",
       "\t\n",
       "\t__webpack_require__(195)('flatten');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 270 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://github.com/mathiasbynens/String.prototype.at\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $at = __webpack_require__(135)(true);\n",
       "\t\n",
       "\t$export($export.P, 'String', {\n",
       "\t  at: function at(pos) {\n",
       "\t    return $at(this, pos);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 271 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://github.com/tc39/proposal-string-pad-start-end\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $pad = __webpack_require__(272);\n",
       "\tvar userAgent = __webpack_require__(225);\n",
       "\t\n",
       "\t// https://github.com/zloirock/core-js/issues/280\n",
       "\tvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n",
       "\t\n",
       "\t$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n",
       "\t  padStart: function padStart(maxLength /* , fillString = ' ' */) {\n",
       "\t    return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 272 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://github.com/tc39/proposal-string-pad-start-end\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar repeat = __webpack_require__(98);\n",
       "\tvar defined = __webpack_require__(43);\n",
       "\t\n",
       "\tmodule.exports = function (that, maxLength, fillString, left) {\n",
       "\t  var S = String(defined(that));\n",
       "\t  var stringLength = S.length;\n",
       "\t  var fillStr = fillString === undefined ? ' ' : String(fillString);\n",
       "\t  var intMaxLength = toLength(maxLength);\n",
       "\t  if (intMaxLength <= stringLength || fillStr == '') return S;\n",
       "\t  var fillLen = intMaxLength - stringLength;\n",
       "\t  var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n",
       "\t  if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n",
       "\t  return left ? stringFiller + S : S + stringFiller;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 273 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://github.com/tc39/proposal-string-pad-start-end\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $pad = __webpack_require__(272);\n",
       "\tvar userAgent = __webpack_require__(225);\n",
       "\t\n",
       "\t// https://github.com/zloirock/core-js/issues/280\n",
       "\tvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n",
       "\t\n",
       "\t$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n",
       "\t  padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n",
       "\t    return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 274 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n",
       "\t__webpack_require__(90)('trimLeft', function ($trim) {\n",
       "\t  return function trimLeft() {\n",
       "\t    return $trim(this, 1);\n",
       "\t  };\n",
       "\t}, 'trimStart');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 275 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n",
       "\t__webpack_require__(90)('trimRight', function ($trim) {\n",
       "\t  return function trimRight() {\n",
       "\t    return $trim(this, 2);\n",
       "\t  };\n",
       "\t}, 'trimEnd');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 276 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://tc39.github.io/String.prototype.matchAll/\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar defined = __webpack_require__(43);\n",
       "\tvar toLength = __webpack_require__(45);\n",
       "\tvar isRegExp = __webpack_require__(142);\n",
       "\tvar getFlags = __webpack_require__(205);\n",
       "\tvar RegExpProto = RegExp.prototype;\n",
       "\t\n",
       "\tvar $RegExpStringIterator = function (regexp, string) {\n",
       "\t  this._r = regexp;\n",
       "\t  this._s = string;\n",
       "\t};\n",
       "\t\n",
       "\t__webpack_require__(138)($RegExpStringIterator, 'RegExp String', function next() {\n",
       "\t  var match = this._r.exec(this._s);\n",
       "\t  return { value: match, done: match === null };\n",
       "\t});\n",
       "\t\n",
       "\t$export($export.P, 'String', {\n",
       "\t  matchAll: function matchAll(regexp) {\n",
       "\t    defined(this);\n",
       "\t    if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');\n",
       "\t    var S = String(this);\n",
       "\t    var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp);\n",
       "\t    var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n",
       "\t    rx.lastIndex = toLength(regexp.lastIndex);\n",
       "\t    return new $RegExpStringIterator(rx, S);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 277 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(36)('asyncIterator');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 278 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(36)('observable');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 279 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://github.com/tc39/proposal-object-getownpropertydescriptors\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar ownKeys = __webpack_require__(262);\n",
       "\tvar toIObject = __webpack_require__(40);\n",
       "\tvar gOPD = __webpack_require__(58);\n",
       "\tvar createProperty = __webpack_require__(172);\n",
       "\t\n",
       "\t$export($export.S, 'Object', {\n",
       "\t  getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n",
       "\t    var O = toIObject(object);\n",
       "\t    var getDesc = gOPD.f;\n",
       "\t    var keys = ownKeys(O);\n",
       "\t    var result = {};\n",
       "\t    var i = 0;\n",
       "\t    var key, desc;\n",
       "\t    while (keys.length > i) {\n",
       "\t      desc = getDesc(O, key = keys[i++]);\n",
       "\t      if (desc !== undefined) createProperty(result, key, desc);\n",
       "\t    }\n",
       "\t    return result;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 280 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://github.com/tc39/proposal-object-values-entries\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $values = __webpack_require__(281)(false);\n",
       "\t\n",
       "\t$export($export.S, 'Object', {\n",
       "\t  values: function values(it) {\n",
       "\t    return $values(it);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 281 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar getKeys = __webpack_require__(38);\n",
       "\tvar toIObject = __webpack_require__(40);\n",
       "\tvar isEnum = __webpack_require__(51).f;\n",
       "\tmodule.exports = function (isEntries) {\n",
       "\t  return function (it) {\n",
       "\t    var O = toIObject(it);\n",
       "\t    var keys = getKeys(O);\n",
       "\t    var length = keys.length;\n",
       "\t    var i = 0;\n",
       "\t    var result = [];\n",
       "\t    var key;\n",
       "\t    while (length > i) if (isEnum.call(O, key = keys[i++])) {\n",
       "\t      result.push(isEntries ? [key, O[key]] : O[key]);\n",
       "\t    } return result;\n",
       "\t  };\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 282 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://github.com/tc39/proposal-object-values-entries\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $entries = __webpack_require__(281)(true);\n",
       "\t\n",
       "\t$export($export.S, 'Object', {\n",
       "\t  entries: function entries(it) {\n",
       "\t    return $entries(it);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 283 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tvar $defineProperty = __webpack_require__(18);\n",
       "\t\n",
       "\t// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\n",
       "\t__webpack_require__(13) && $export($export.P + __webpack_require__(284), 'Object', {\n",
       "\t  __defineGetter__: function __defineGetter__(P, getter) {\n",
       "\t    $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 284 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// Forced replacement prototype accessors methods\n",
       "\tmodule.exports = __webpack_require__(29) || !__webpack_require__(14)(function () {\n",
       "\t  var K = Math.random();\n",
       "\t  // In FF throws only define methods\n",
       "\t  // eslint-disable-next-line no-undef, no-useless-call\n",
       "\t  __defineSetter__.call(null, K, function () { /* empty */ });\n",
       "\t  delete __webpack_require__(11)[K];\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 285 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tvar $defineProperty = __webpack_require__(18);\n",
       "\t\n",
       "\t// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\n",
       "\t__webpack_require__(13) && $export($export.P + __webpack_require__(284), 'Object', {\n",
       "\t  __defineSetter__: function __defineSetter__(P, setter) {\n",
       "\t    $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 286 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar toPrimitive = __webpack_require__(23);\n",
       "\tvar getPrototypeOf = __webpack_require__(66);\n",
       "\tvar getOwnPropertyDescriptor = __webpack_require__(58).f;\n",
       "\t\n",
       "\t// B.2.2.4 Object.prototype.__lookupGetter__(P)\n",
       "\t__webpack_require__(13) && $export($export.P + __webpack_require__(284), 'Object', {\n",
       "\t  __lookupGetter__: function __lookupGetter__(P) {\n",
       "\t    var O = toObject(this);\n",
       "\t    var K = toPrimitive(P, true);\n",
       "\t    var D;\n",
       "\t    do {\n",
       "\t      if (D = getOwnPropertyDescriptor(O, K)) return D.get;\n",
       "\t    } while (O = getPrototypeOf(O));\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 287 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar toObject = __webpack_require__(65);\n",
       "\tvar toPrimitive = __webpack_require__(23);\n",
       "\tvar getPrototypeOf = __webpack_require__(66);\n",
       "\tvar getOwnPropertyDescriptor = __webpack_require__(58).f;\n",
       "\t\n",
       "\t// B.2.2.5 Object.prototype.__lookupSetter__(P)\n",
       "\t__webpack_require__(13) && $export($export.P + __webpack_require__(284), 'Object', {\n",
       "\t  __lookupSetter__: function __lookupSetter__(P) {\n",
       "\t    var O = toObject(this);\n",
       "\t    var K = toPrimitive(P, true);\n",
       "\t    var D;\n",
       "\t    do {\n",
       "\t      if (D = getOwnPropertyDescriptor(O, K)) return D.set;\n",
       "\t    } while (O = getPrototypeOf(O));\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 288 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://github.com/DavidBruant/Map-Set.prototype.toJSON\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(289)('Map') });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 289 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://github.com/DavidBruant/Map-Set.prototype.toJSON\n",
       "\tvar classof = __webpack_require__(82);\n",
       "\tvar from = __webpack_require__(290);\n",
       "\tmodule.exports = function (NAME) {\n",
       "\t  return function toJSON() {\n",
       "\t    if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n",
       "\t    return from(this);\n",
       "\t  };\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 290 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar forOf = __webpack_require__(220);\n",
       "\t\n",
       "\tmodule.exports = function (iter, ITERATOR) {\n",
       "\t  var result = [];\n",
       "\t  forOf(iter, false, result.push, result, ITERATOR);\n",
       "\t  return result;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 291 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://github.com/DavidBruant/Map-Set.prototype.toJSON\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.P + $export.R, 'Set', { toJSON: __webpack_require__(289)('Set') });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 292 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\n",
       "\t__webpack_require__(293)('Map');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 293 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://tc39.github.io/proposal-setmap-offrom/\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\tmodule.exports = function (COLLECTION) {\n",
       "\t  $export($export.S, COLLECTION, { of: function of() {\n",
       "\t    var length = arguments.length;\n",
       "\t    var A = new Array(length);\n",
       "\t    while (length--) A[length] = arguments[length];\n",
       "\t    return new this(A);\n",
       "\t  } });\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 294 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\n",
       "\t__webpack_require__(293)('Set');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 295 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\n",
       "\t__webpack_require__(293)('WeakMap');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 296 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\n",
       "\t__webpack_require__(293)('WeakSet');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 297 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\n",
       "\t__webpack_require__(298)('Map');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 298 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://tc39.github.io/proposal-setmap-offrom/\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tvar ctx = __webpack_require__(30);\n",
       "\tvar forOf = __webpack_require__(220);\n",
       "\t\n",
       "\tmodule.exports = function (COLLECTION) {\n",
       "\t  $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n",
       "\t    var mapFn = arguments[1];\n",
       "\t    var mapping, A, n, cb;\n",
       "\t    aFunction(this);\n",
       "\t    mapping = mapFn !== undefined;\n",
       "\t    if (mapping) aFunction(mapFn);\n",
       "\t    if (source == undefined) return new this();\n",
       "\t    A = [];\n",
       "\t    if (mapping) {\n",
       "\t      n = 0;\n",
       "\t      cb = ctx(mapFn, arguments[2], 2);\n",
       "\t      forOf(source, false, function (nextItem) {\n",
       "\t        A.push(cb(nextItem, n++));\n",
       "\t      });\n",
       "\t    } else {\n",
       "\t      forOf(source, false, A.push, A);\n",
       "\t    }\n",
       "\t    return new this(A);\n",
       "\t  } });\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 299 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\n",
       "\t__webpack_require__(298)('Set');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 300 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\n",
       "\t__webpack_require__(298)('WeakMap');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 301 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from\n",
       "\t__webpack_require__(298)('WeakSet');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 302 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://github.com/tc39/proposal-global\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.G, { global: __webpack_require__(11) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 303 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://github.com/tc39/proposal-global\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'System', { global: __webpack_require__(11) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 304 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://github.com/ljharb/proposal-is-error\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar cof = __webpack_require__(42);\n",
       "\t\n",
       "\t$export($export.S, 'Error', {\n",
       "\t  isError: function isError(it) {\n",
       "\t    return cof(it) === 'Error';\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 305 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://rwaldron.github.io/proposal-math-extensions/\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  clamp: function clamp(x, lower, upper) {\n",
       "\t    return Math.min(upper, Math.max(lower, x));\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 306 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://rwaldron.github.io/proposal-math-extensions/\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 307 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://rwaldron.github.io/proposal-math-extensions/\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar RAD_PER_DEG = 180 / Math.PI;\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  degrees: function degrees(radians) {\n",
       "\t    return radians * RAD_PER_DEG;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 308 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://rwaldron.github.io/proposal-math-extensions/\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar scale = __webpack_require__(309);\n",
       "\tvar fround = __webpack_require__(121);\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {\n",
       "\t    return fround(scale(x, inLow, inHigh, outLow, outHigh));\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 309 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\t// https://rwaldron.github.io/proposal-math-extensions/\n",
       "\tmodule.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {\n",
       "\t  if (\n",
       "\t    arguments.length === 0\n",
       "\t      // eslint-disable-next-line no-self-compare\n",
       "\t      || x != x\n",
       "\t      // eslint-disable-next-line no-self-compare\n",
       "\t      || inLow != inLow\n",
       "\t      // eslint-disable-next-line no-self-compare\n",
       "\t      || inHigh != inHigh\n",
       "\t      // eslint-disable-next-line no-self-compare\n",
       "\t      || outLow != outLow\n",
       "\t      // eslint-disable-next-line no-self-compare\n",
       "\t      || outHigh != outHigh\n",
       "\t  ) return NaN;\n",
       "\t  if (x === Infinity || x === -Infinity) return x;\n",
       "\t  return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 310 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  iaddh: function iaddh(x0, x1, y0, y1) {\n",
       "\t    var $x0 = x0 >>> 0;\n",
       "\t    var $x1 = x1 >>> 0;\n",
       "\t    var $y0 = y0 >>> 0;\n",
       "\t    return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 311 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  isubh: function isubh(x0, x1, y0, y1) {\n",
       "\t    var $x0 = x0 >>> 0;\n",
       "\t    var $x1 = x1 >>> 0;\n",
       "\t    var $y0 = y0 >>> 0;\n",
       "\t    return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 312 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  imulh: function imulh(u, v) {\n",
       "\t    var UINT16 = 0xffff;\n",
       "\t    var $u = +u;\n",
       "\t    var $v = +v;\n",
       "\t    var u0 = $u & UINT16;\n",
       "\t    var v0 = $v & UINT16;\n",
       "\t    var u1 = $u >> 16;\n",
       "\t    var v1 = $v >> 16;\n",
       "\t    var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n",
       "\t    return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 313 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://rwaldron.github.io/proposal-math-extensions/\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 314 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://rwaldron.github.io/proposal-math-extensions/\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar DEG_PER_RAD = Math.PI / 180;\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  radians: function radians(degrees) {\n",
       "\t    return degrees * DEG_PER_RAD;\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 315 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://rwaldron.github.io/proposal-math-extensions/\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', { scale: __webpack_require__(309) });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 316 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', {\n",
       "\t  umulh: function umulh(u, v) {\n",
       "\t    var UINT16 = 0xffff;\n",
       "\t    var $u = +u;\n",
       "\t    var $v = +v;\n",
       "\t    var u0 = $u & UINT16;\n",
       "\t    var v0 = $v & UINT16;\n",
       "\t    var u1 = $u >>> 16;\n",
       "\t    var v1 = $v >>> 16;\n",
       "\t    var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n",
       "\t    return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 317 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// http://jfbastien.github.io/papers/Math.signbit.html\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\t\n",
       "\t$export($export.S, 'Math', { signbit: function signbit(x) {\n",
       "\t  // eslint-disable-next-line no-self-compare\n",
       "\t  return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0;\n",
       "\t} });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 318 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://github.com/tc39/proposal-promise-finally\n",
       "\t'use strict';\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar core = __webpack_require__(16);\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar speciesConstructor = __webpack_require__(217);\n",
       "\tvar promiseResolve = __webpack_require__(226);\n",
       "\t\n",
       "\t$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n",
       "\t  var C = speciesConstructor(this, core.Promise || global.Promise);\n",
       "\t  var isFunction = typeof onFinally == 'function';\n",
       "\t  return this.then(\n",
       "\t    isFunction ? function (x) {\n",
       "\t      return promiseResolve(C, onFinally()).then(function () { return x; });\n",
       "\t    } : onFinally,\n",
       "\t    isFunction ? function (e) {\n",
       "\t      return promiseResolve(C, onFinally()).then(function () { throw e; });\n",
       "\t    } : onFinally\n",
       "\t  );\n",
       "\t} });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 319 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://github.com/tc39/proposal-promise-try\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar newPromiseCapability = __webpack_require__(223);\n",
       "\tvar perform = __webpack_require__(224);\n",
       "\t\n",
       "\t$export($export.S, 'Promise', { 'try': function (callbackfn) {\n",
       "\t  var promiseCapability = newPromiseCapability.f(this);\n",
       "\t  var result = perform(callbackfn);\n",
       "\t  (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n",
       "\t  return promiseCapability.promise;\n",
       "\t} });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 320 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar metadata = __webpack_require__(321);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar toMetaKey = metadata.key;\n",
       "\tvar ordinaryDefineOwnMetadata = metadata.set;\n",
       "\t\n",
       "\tmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n",
       "\t  ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n",
       "\t} });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 321 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar Map = __webpack_require__(228);\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar shared = __webpack_require__(28)('metadata');\n",
       "\tvar store = shared.store || (shared.store = new (__webpack_require__(233))());\n",
       "\t\n",
       "\tvar getOrCreateMetadataMap = function (target, targetKey, create) {\n",
       "\t  var targetMetadata = store.get(target);\n",
       "\t  if (!targetMetadata) {\n",
       "\t    if (!create) return undefined;\n",
       "\t    store.set(target, targetMetadata = new Map());\n",
       "\t  }\n",
       "\t  var keyMetadata = targetMetadata.get(targetKey);\n",
       "\t  if (!keyMetadata) {\n",
       "\t    if (!create) return undefined;\n",
       "\t    targetMetadata.set(targetKey, keyMetadata = new Map());\n",
       "\t  } return keyMetadata;\n",
       "\t};\n",
       "\tvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n",
       "\t  var metadataMap = getOrCreateMetadataMap(O, P, false);\n",
       "\t  return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n",
       "\t};\n",
       "\tvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n",
       "\t  var metadataMap = getOrCreateMetadataMap(O, P, false);\n",
       "\t  return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n",
       "\t};\n",
       "\tvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n",
       "\t  getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n",
       "\t};\n",
       "\tvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n",
       "\t  var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n",
       "\t  var keys = [];\n",
       "\t  if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n",
       "\t  return keys;\n",
       "\t};\n",
       "\tvar toMetaKey = function (it) {\n",
       "\t  return it === undefined || typeof it == 'symbol' ? it : String(it);\n",
       "\t};\n",
       "\tvar exp = function (O) {\n",
       "\t  $export($export.S, 'Reflect', O);\n",
       "\t};\n",
       "\t\n",
       "\tmodule.exports = {\n",
       "\t  store: store,\n",
       "\t  map: getOrCreateMetadataMap,\n",
       "\t  has: ordinaryHasOwnMetadata,\n",
       "\t  get: ordinaryGetOwnMetadata,\n",
       "\t  set: ordinaryDefineOwnMetadata,\n",
       "\t  keys: ordinaryOwnMetadataKeys,\n",
       "\t  key: toMetaKey,\n",
       "\t  exp: exp\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 322 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar metadata = __webpack_require__(321);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar toMetaKey = metadata.key;\n",
       "\tvar getOrCreateMetadataMap = metadata.map;\n",
       "\tvar store = metadata.store;\n",
       "\t\n",
       "\tmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n",
       "\t  var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n",
       "\t  var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n",
       "\t  if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n",
       "\t  if (metadataMap.size) return true;\n",
       "\t  var targetMetadata = store.get(target);\n",
       "\t  targetMetadata['delete'](targetKey);\n",
       "\t  return !!targetMetadata.size || store['delete'](target);\n",
       "\t} });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 323 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar metadata = __webpack_require__(321);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar getPrototypeOf = __webpack_require__(66);\n",
       "\tvar ordinaryHasOwnMetadata = metadata.has;\n",
       "\tvar ordinaryGetOwnMetadata = metadata.get;\n",
       "\tvar toMetaKey = metadata.key;\n",
       "\t\n",
       "\tvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n",
       "\t  var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n",
       "\t  if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n",
       "\t  var parent = getPrototypeOf(O);\n",
       "\t  return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n",
       "\t};\n",
       "\t\n",
       "\tmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n",
       "\t  return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n",
       "\t} });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 324 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar Set = __webpack_require__(232);\n",
       "\tvar from = __webpack_require__(290);\n",
       "\tvar metadata = __webpack_require__(321);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar getPrototypeOf = __webpack_require__(66);\n",
       "\tvar ordinaryOwnMetadataKeys = metadata.keys;\n",
       "\tvar toMetaKey = metadata.key;\n",
       "\t\n",
       "\tvar ordinaryMetadataKeys = function (O, P) {\n",
       "\t  var oKeys = ordinaryOwnMetadataKeys(O, P);\n",
       "\t  var parent = getPrototypeOf(O);\n",
       "\t  if (parent === null) return oKeys;\n",
       "\t  var pKeys = ordinaryMetadataKeys(parent, P);\n",
       "\t  return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n",
       "\t};\n",
       "\t\n",
       "\tmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n",
       "\t  return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n",
       "\t} });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 325 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar metadata = __webpack_require__(321);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar ordinaryGetOwnMetadata = metadata.get;\n",
       "\tvar toMetaKey = metadata.key;\n",
       "\t\n",
       "\tmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n",
       "\t  return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n",
       "\t    , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n",
       "\t} });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 326 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar metadata = __webpack_require__(321);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar ordinaryOwnMetadataKeys = metadata.keys;\n",
       "\tvar toMetaKey = metadata.key;\n",
       "\t\n",
       "\tmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n",
       "\t  return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n",
       "\t} });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 327 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar metadata = __webpack_require__(321);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar getPrototypeOf = __webpack_require__(66);\n",
       "\tvar ordinaryHasOwnMetadata = metadata.has;\n",
       "\tvar toMetaKey = metadata.key;\n",
       "\t\n",
       "\tvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n",
       "\t  var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n",
       "\t  if (hasOwn) return true;\n",
       "\t  var parent = getPrototypeOf(O);\n",
       "\t  return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n",
       "\t};\n",
       "\t\n",
       "\tmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n",
       "\t  return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n",
       "\t} });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 328 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar metadata = __webpack_require__(321);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar ordinaryHasOwnMetadata = metadata.has;\n",
       "\tvar toMetaKey = metadata.key;\n",
       "\t\n",
       "\tmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n",
       "\t  return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n",
       "\t    , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n",
       "\t} });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 329 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $metadata = __webpack_require__(321);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tvar toMetaKey = $metadata.key;\n",
       "\tvar ordinaryDefineOwnMetadata = $metadata.set;\n",
       "\t\n",
       "\t$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n",
       "\t  return function decorator(target, targetKey) {\n",
       "\t    ordinaryDefineOwnMetadata(\n",
       "\t      metadataKey, metadataValue,\n",
       "\t      (targetKey !== undefined ? anObject : aFunction)(target),\n",
       "\t      toMetaKey(targetKey)\n",
       "\t    );\n",
       "\t  };\n",
       "\t} });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 330 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar microtask = __webpack_require__(222)();\n",
       "\tvar process = __webpack_require__(11).process;\n",
       "\tvar isNode = __webpack_require__(42)(process) == 'process';\n",
       "\t\n",
       "\t$export($export.G, {\n",
       "\t  asap: function asap(fn) {\n",
       "\t    var domain = isNode && process.domain;\n",
       "\t    microtask(domain ? domain.bind(fn) : fn);\n",
       "\t  }\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 331 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t'use strict';\n",
       "\t// https://github.com/zenparsing/es-observable\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar core = __webpack_require__(16);\n",
       "\tvar microtask = __webpack_require__(222)();\n",
       "\tvar OBSERVABLE = __webpack_require__(34)('observable');\n",
       "\tvar aFunction = __webpack_require__(31);\n",
       "\tvar anObject = __webpack_require__(19);\n",
       "\tvar anInstance = __webpack_require__(219);\n",
       "\tvar redefineAll = __webpack_require__(227);\n",
       "\tvar hide = __webpack_require__(17);\n",
       "\tvar forOf = __webpack_require__(220);\n",
       "\tvar RETURN = forOf.RETURN;\n",
       "\t\n",
       "\tvar getMethod = function (fn) {\n",
       "\t  return fn == null ? undefined : aFunction(fn);\n",
       "\t};\n",
       "\t\n",
       "\tvar cleanupSubscription = function (subscription) {\n",
       "\t  var cleanup = subscription._c;\n",
       "\t  if (cleanup) {\n",
       "\t    subscription._c = undefined;\n",
       "\t    cleanup();\n",
       "\t  }\n",
       "\t};\n",
       "\t\n",
       "\tvar subscriptionClosed = function (subscription) {\n",
       "\t  return subscription._o === undefined;\n",
       "\t};\n",
       "\t\n",
       "\tvar closeSubscription = function (subscription) {\n",
       "\t  if (!subscriptionClosed(subscription)) {\n",
       "\t    subscription._o = undefined;\n",
       "\t    cleanupSubscription(subscription);\n",
       "\t  }\n",
       "\t};\n",
       "\t\n",
       "\tvar Subscription = function (observer, subscriber) {\n",
       "\t  anObject(observer);\n",
       "\t  this._c = undefined;\n",
       "\t  this._o = observer;\n",
       "\t  observer = new SubscriptionObserver(this);\n",
       "\t  try {\n",
       "\t    var cleanup = subscriber(observer);\n",
       "\t    var subscription = cleanup;\n",
       "\t    if (cleanup != null) {\n",
       "\t      if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); };\n",
       "\t      else aFunction(cleanup);\n",
       "\t      this._c = cleanup;\n",
       "\t    }\n",
       "\t  } catch (e) {\n",
       "\t    observer.error(e);\n",
       "\t    return;\n",
       "\t  } if (subscriptionClosed(this)) cleanupSubscription(this);\n",
       "\t};\n",
       "\t\n",
       "\tSubscription.prototype = redefineAll({}, {\n",
       "\t  unsubscribe: function unsubscribe() { closeSubscription(this); }\n",
       "\t});\n",
       "\t\n",
       "\tvar SubscriptionObserver = function (subscription) {\n",
       "\t  this._s = subscription;\n",
       "\t};\n",
       "\t\n",
       "\tSubscriptionObserver.prototype = redefineAll({}, {\n",
       "\t  next: function next(value) {\n",
       "\t    var subscription = this._s;\n",
       "\t    if (!subscriptionClosed(subscription)) {\n",
       "\t      var observer = subscription._o;\n",
       "\t      try {\n",
       "\t        var m = getMethod(observer.next);\n",
       "\t        if (m) return m.call(observer, value);\n",
       "\t      } catch (e) {\n",
       "\t        try {\n",
       "\t          closeSubscription(subscription);\n",
       "\t        } finally {\n",
       "\t          throw e;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    }\n",
       "\t  },\n",
       "\t  error: function error(value) {\n",
       "\t    var subscription = this._s;\n",
       "\t    if (subscriptionClosed(subscription)) throw value;\n",
       "\t    var observer = subscription._o;\n",
       "\t    subscription._o = undefined;\n",
       "\t    try {\n",
       "\t      var m = getMethod(observer.error);\n",
       "\t      if (!m) throw value;\n",
       "\t      value = m.call(observer, value);\n",
       "\t    } catch (e) {\n",
       "\t      try {\n",
       "\t        cleanupSubscription(subscription);\n",
       "\t      } finally {\n",
       "\t        throw e;\n",
       "\t      }\n",
       "\t    } cleanupSubscription(subscription);\n",
       "\t    return value;\n",
       "\t  },\n",
       "\t  complete: function complete(value) {\n",
       "\t    var subscription = this._s;\n",
       "\t    if (!subscriptionClosed(subscription)) {\n",
       "\t      var observer = subscription._o;\n",
       "\t      subscription._o = undefined;\n",
       "\t      try {\n",
       "\t        var m = getMethod(observer.complete);\n",
       "\t        value = m ? m.call(observer, value) : undefined;\n",
       "\t      } catch (e) {\n",
       "\t        try {\n",
       "\t          cleanupSubscription(subscription);\n",
       "\t        } finally {\n",
       "\t          throw e;\n",
       "\t        }\n",
       "\t      } cleanupSubscription(subscription);\n",
       "\t      return value;\n",
       "\t    }\n",
       "\t  }\n",
       "\t});\n",
       "\t\n",
       "\tvar $Observable = function Observable(subscriber) {\n",
       "\t  anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n",
       "\t};\n",
       "\t\n",
       "\tredefineAll($Observable.prototype, {\n",
       "\t  subscribe: function subscribe(observer) {\n",
       "\t    return new Subscription(observer, this._f);\n",
       "\t  },\n",
       "\t  forEach: function forEach(fn) {\n",
       "\t    var that = this;\n",
       "\t    return new (core.Promise || global.Promise)(function (resolve, reject) {\n",
       "\t      aFunction(fn);\n",
       "\t      var subscription = that.subscribe({\n",
       "\t        next: function (value) {\n",
       "\t          try {\n",
       "\t            return fn(value);\n",
       "\t          } catch (e) {\n",
       "\t            reject(e);\n",
       "\t            subscription.unsubscribe();\n",
       "\t          }\n",
       "\t        },\n",
       "\t        error: reject,\n",
       "\t        complete: resolve\n",
       "\t      });\n",
       "\t    });\n",
       "\t  }\n",
       "\t});\n",
       "\t\n",
       "\tredefineAll($Observable, {\n",
       "\t  from: function from(x) {\n",
       "\t    var C = typeof this === 'function' ? this : $Observable;\n",
       "\t    var method = getMethod(anObject(x)[OBSERVABLE]);\n",
       "\t    if (method) {\n",
       "\t      var observable = anObject(method.call(x));\n",
       "\t      return observable.constructor === C ? observable : new C(function (observer) {\n",
       "\t        return observable.subscribe(observer);\n",
       "\t      });\n",
       "\t    }\n",
       "\t    return new C(function (observer) {\n",
       "\t      var done = false;\n",
       "\t      microtask(function () {\n",
       "\t        if (!done) {\n",
       "\t          try {\n",
       "\t            if (forOf(x, false, function (it) {\n",
       "\t              observer.next(it);\n",
       "\t              if (done) return RETURN;\n",
       "\t            }) === RETURN) return;\n",
       "\t          } catch (e) {\n",
       "\t            if (done) throw e;\n",
       "\t            observer.error(e);\n",
       "\t            return;\n",
       "\t          } observer.complete();\n",
       "\t        }\n",
       "\t      });\n",
       "\t      return function () { done = true; };\n",
       "\t    });\n",
       "\t  },\n",
       "\t  of: function of() {\n",
       "\t    for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++];\n",
       "\t    return new (typeof this === 'function' ? this : $Observable)(function (observer) {\n",
       "\t      var done = false;\n",
       "\t      microtask(function () {\n",
       "\t        if (!done) {\n",
       "\t          for (var j = 0; j < items.length; ++j) {\n",
       "\t            observer.next(items[j]);\n",
       "\t            if (done) return;\n",
       "\t          } observer.complete();\n",
       "\t        }\n",
       "\t      });\n",
       "\t      return function () { done = true; };\n",
       "\t    });\n",
       "\t  }\n",
       "\t});\n",
       "\t\n",
       "\thide($Observable.prototype, OBSERVABLE, function () { return this; });\n",
       "\t\n",
       "\t$export($export.G, { Observable: $Observable });\n",
       "\t\n",
       "\t__webpack_require__(201)('Observable');\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 332 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// ie9- setTimeout & setInterval additional parameters fix\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar userAgent = __webpack_require__(225);\n",
       "\tvar slice = [].slice;\n",
       "\tvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\n",
       "\tvar wrap = function (set) {\n",
       "\t  return function (fn, time /* , ...args */) {\n",
       "\t    var boundArgs = arguments.length > 2;\n",
       "\t    var args = boundArgs ? slice.call(arguments, 2) : false;\n",
       "\t    return set(boundArgs ? function () {\n",
       "\t      // eslint-disable-next-line no-new-func\n",
       "\t      (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n",
       "\t    } : fn, time);\n",
       "\t  };\n",
       "\t};\n",
       "\t$export($export.G + $export.B + $export.F * MSIE, {\n",
       "\t  setTimeout: wrap(global.setTimeout),\n",
       "\t  setInterval: wrap(global.setInterval)\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 333 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $task = __webpack_require__(221);\n",
       "\t$export($export.G + $export.B, {\n",
       "\t  setImmediate: $task.set,\n",
       "\t  clearImmediate: $task.clear\n",
       "\t});\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 334 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\tvar $iterators = __webpack_require__(202);\n",
       "\tvar getKeys = __webpack_require__(38);\n",
       "\tvar redefine = __webpack_require__(25);\n",
       "\tvar global = __webpack_require__(11);\n",
       "\tvar hide = __webpack_require__(17);\n",
       "\tvar Iterators = __webpack_require__(137);\n",
       "\tvar wks = __webpack_require__(34);\n",
       "\tvar ITERATOR = wks('iterator');\n",
       "\tvar TO_STRING_TAG = wks('toStringTag');\n",
       "\tvar ArrayValues = Iterators.Array;\n",
       "\t\n",
       "\tvar DOMIterables = {\n",
       "\t  CSSRuleList: true, // TODO: Not spec compliant, should be false.\n",
       "\t  CSSStyleDeclaration: false,\n",
       "\t  CSSValueList: false,\n",
       "\t  ClientRectList: false,\n",
       "\t  DOMRectList: false,\n",
       "\t  DOMStringList: false,\n",
       "\t  DOMTokenList: true,\n",
       "\t  DataTransferItemList: false,\n",
       "\t  FileList: false,\n",
       "\t  HTMLAllCollection: false,\n",
       "\t  HTMLCollection: false,\n",
       "\t  HTMLFormElement: false,\n",
       "\t  HTMLSelectElement: false,\n",
       "\t  MediaList: true, // TODO: Not spec compliant, should be false.\n",
       "\t  MimeTypeArray: false,\n",
       "\t  NamedNodeMap: false,\n",
       "\t  NodeList: true,\n",
       "\t  PaintRequestList: false,\n",
       "\t  Plugin: false,\n",
       "\t  PluginArray: false,\n",
       "\t  SVGLengthList: false,\n",
       "\t  SVGNumberList: false,\n",
       "\t  SVGPathSegList: false,\n",
       "\t  SVGPointList: false,\n",
       "\t  SVGStringList: false,\n",
       "\t  SVGTransformList: false,\n",
       "\t  SourceBufferList: false,\n",
       "\t  StyleSheetList: true, // TODO: Not spec compliant, should be false.\n",
       "\t  TextTrackCueList: false,\n",
       "\t  TextTrackList: false,\n",
       "\t  TouchList: false\n",
       "\t};\n",
       "\t\n",
       "\tfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n",
       "\t  var NAME = collections[i];\n",
       "\t  var explicit = DOMIterables[NAME];\n",
       "\t  var Collection = global[NAME];\n",
       "\t  var proto = Collection && Collection.prototype;\n",
       "\t  var key;\n",
       "\t  if (proto) {\n",
       "\t    if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n",
       "\t    if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n",
       "\t    Iterators[NAME] = ArrayValues;\n",
       "\t    if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n",
       "\t  }\n",
       "\t}\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 335 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\t/* WEBPACK VAR INJECTION */(function(global) {/**\n",
       "\t * Copyright (c) 2014, Facebook, Inc.\n",
       "\t * All rights reserved.\n",
       "\t *\n",
       "\t * This source code is licensed under the BSD-style license found in the\n",
       "\t * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n",
       "\t * additional grant of patent rights can be found in the PATENTS file in\n",
       "\t * the same directory.\n",
       "\t */\n",
       "\t\n",
       "\t!(function(global) {\n",
       "\t  \"use strict\";\n",
       "\t\n",
       "\t  var Op = Object.prototype;\n",
       "\t  var hasOwn = Op.hasOwnProperty;\n",
       "\t  var undefined; // More compressible than void 0.\n",
       "\t  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n",
       "\t  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n",
       "\t  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n",
       "\t  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n",
       "\t\n",
       "\t  var inModule = typeof module === \"object\";\n",
       "\t  var runtime = global.regeneratorRuntime;\n",
       "\t  if (runtime) {\n",
       "\t    if (inModule) {\n",
       "\t      // If regeneratorRuntime is defined globally and we're in a module,\n",
       "\t      // make the exports object identical to regeneratorRuntime.\n",
       "\t      module.exports = runtime;\n",
       "\t    }\n",
       "\t    // Don't bother evaluating the rest of this file if the runtime was\n",
       "\t    // already defined globally.\n",
       "\t    return;\n",
       "\t  }\n",
       "\t\n",
       "\t  // Define the runtime globally (as expected by generated code) as either\n",
       "\t  // module.exports (if we're in a module) or a new, empty object.\n",
       "\t  runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n",
       "\t\n",
       "\t  function wrap(innerFn, outerFn, self, tryLocsList) {\n",
       "\t    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n",
       "\t    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n",
       "\t    var generator = Object.create(protoGenerator.prototype);\n",
       "\t    var context = new Context(tryLocsList || []);\n",
       "\t\n",
       "\t    // The ._invoke method unifies the implementations of the .next,\n",
       "\t    // .throw, and .return methods.\n",
       "\t    generator._invoke = makeInvokeMethod(innerFn, self, context);\n",
       "\t\n",
       "\t    return generator;\n",
       "\t  }\n",
       "\t  runtime.wrap = wrap;\n",
       "\t\n",
       "\t  // Try/catch helper to minimize deoptimizations. Returns a completion\n",
       "\t  // record like context.tryEntries[i].completion. This interface could\n",
       "\t  // have been (and was previously) designed to take a closure to be\n",
       "\t  // invoked without arguments, but in all the cases we care about we\n",
       "\t  // already have an existing method we want to call, so there's no need\n",
       "\t  // to create a new function object. We can even get away with assuming\n",
       "\t  // the method takes exactly one argument, since that happens to be true\n",
       "\t  // in every case, so we don't have to touch the arguments object. The\n",
       "\t  // only additional allocation required is the completion record, which\n",
       "\t  // has a stable shape and so hopefully should be cheap to allocate.\n",
       "\t  function tryCatch(fn, obj, arg) {\n",
       "\t    try {\n",
       "\t      return { type: \"normal\", arg: fn.call(obj, arg) };\n",
       "\t    } catch (err) {\n",
       "\t      return { type: \"throw\", arg: err };\n",
       "\t    }\n",
       "\t  }\n",
       "\t\n",
       "\t  var GenStateSuspendedStart = \"suspendedStart\";\n",
       "\t  var GenStateSuspendedYield = \"suspendedYield\";\n",
       "\t  var GenStateExecuting = \"executing\";\n",
       "\t  var GenStateCompleted = \"completed\";\n",
       "\t\n",
       "\t  // Returning this object from the innerFn has the same effect as\n",
       "\t  // breaking out of the dispatch switch statement.\n",
       "\t  var ContinueSentinel = {};\n",
       "\t\n",
       "\t  // Dummy constructor functions that we use as the .constructor and\n",
       "\t  // .constructor.prototype properties for functions that return Generator\n",
       "\t  // objects. For full spec compliance, you may wish to configure your\n",
       "\t  // minifier not to mangle the names of these two functions.\n",
       "\t  function Generator() {}\n",
       "\t  function GeneratorFunction() {}\n",
       "\t  function GeneratorFunctionPrototype() {}\n",
       "\t\n",
       "\t  // This is a polyfill for %IteratorPrototype% for environments that\n",
       "\t  // don't natively support it.\n",
       "\t  var IteratorPrototype = {};\n",
       "\t  IteratorPrototype[iteratorSymbol] = function () {\n",
       "\t    return this;\n",
       "\t  };\n",
       "\t\n",
       "\t  var getProto = Object.getPrototypeOf;\n",
       "\t  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n",
       "\t  if (NativeIteratorPrototype &&\n",
       "\t      NativeIteratorPrototype !== Op &&\n",
       "\t      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n",
       "\t    // This environment has a native %IteratorPrototype%; use it instead\n",
       "\t    // of the polyfill.\n",
       "\t    IteratorPrototype = NativeIteratorPrototype;\n",
       "\t  }\n",
       "\t\n",
       "\t  var Gp = GeneratorFunctionPrototype.prototype =\n",
       "\t    Generator.prototype = Object.create(IteratorPrototype);\n",
       "\t  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n",
       "\t  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n",
       "\t  GeneratorFunctionPrototype[toStringTagSymbol] =\n",
       "\t    GeneratorFunction.displayName = \"GeneratorFunction\";\n",
       "\t\n",
       "\t  // Helper for defining the .next, .throw, and .return methods of the\n",
       "\t  // Iterator interface in terms of a single ._invoke method.\n",
       "\t  function defineIteratorMethods(prototype) {\n",
       "\t    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n",
       "\t      prototype[method] = function(arg) {\n",
       "\t        return this._invoke(method, arg);\n",
       "\t      };\n",
       "\t    });\n",
       "\t  }\n",
       "\t\n",
       "\t  runtime.isGeneratorFunction = function(genFun) {\n",
       "\t    var ctor = typeof genFun === \"function\" && genFun.constructor;\n",
       "\t    return ctor\n",
       "\t      ? ctor === GeneratorFunction ||\n",
       "\t        // For the native GeneratorFunction constructor, the best we can\n",
       "\t        // do is to check its .name property.\n",
       "\t        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n",
       "\t      : false;\n",
       "\t  };\n",
       "\t\n",
       "\t  runtime.mark = function(genFun) {\n",
       "\t    if (Object.setPrototypeOf) {\n",
       "\t      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n",
       "\t    } else {\n",
       "\t      genFun.__proto__ = GeneratorFunctionPrototype;\n",
       "\t      if (!(toStringTagSymbol in genFun)) {\n",
       "\t        genFun[toStringTagSymbol] = \"GeneratorFunction\";\n",
       "\t      }\n",
       "\t    }\n",
       "\t    genFun.prototype = Object.create(Gp);\n",
       "\t    return genFun;\n",
       "\t  };\n",
       "\t\n",
       "\t  // Within the body of any async function, `await x` is transformed to\n",
       "\t  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n",
       "\t  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n",
       "\t  // meant to be awaited.\n",
       "\t  runtime.awrap = function(arg) {\n",
       "\t    return { __await: arg };\n",
       "\t  };\n",
       "\t\n",
       "\t  function AsyncIterator(generator) {\n",
       "\t    function invoke(method, arg, resolve, reject) {\n",
       "\t      var record = tryCatch(generator[method], generator, arg);\n",
       "\t      if (record.type === \"throw\") {\n",
       "\t        reject(record.arg);\n",
       "\t      } else {\n",
       "\t        var result = record.arg;\n",
       "\t        var value = result.value;\n",
       "\t        if (value &&\n",
       "\t            typeof value === \"object\" &&\n",
       "\t            hasOwn.call(value, \"__await\")) {\n",
       "\t          return Promise.resolve(value.__await).then(function(value) {\n",
       "\t            invoke(\"next\", value, resolve, reject);\n",
       "\t          }, function(err) {\n",
       "\t            invoke(\"throw\", err, resolve, reject);\n",
       "\t          });\n",
       "\t        }\n",
       "\t\n",
       "\t        return Promise.resolve(value).then(function(unwrapped) {\n",
       "\t          // When a yielded Promise is resolved, its final value becomes\n",
       "\t          // the .value of the Promise<{value,done}> result for the\n",
       "\t          // current iteration. If the Promise is rejected, however, the\n",
       "\t          // result for this iteration will be rejected with the same\n",
       "\t          // reason. Note that rejections of yielded Promises are not\n",
       "\t          // thrown back into the generator function, as is the case\n",
       "\t          // when an awaited Promise is rejected. This difference in\n",
       "\t          // behavior between yield and await is important, because it\n",
       "\t          // allows the consumer to decide what to do with the yielded\n",
       "\t          // rejection (swallow it and continue, manually .throw it back\n",
       "\t          // into the generator, abandon iteration, whatever). With\n",
       "\t          // await, by contrast, there is no opportunity to examine the\n",
       "\t          // rejection reason outside the generator function, so the\n",
       "\t          // only option is to throw it from the await expression, and\n",
       "\t          // let the generator function handle the exception.\n",
       "\t          result.value = unwrapped;\n",
       "\t          resolve(result);\n",
       "\t        }, reject);\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    if (typeof global.process === \"object\" && global.process.domain) {\n",
       "\t      invoke = global.process.domain.bind(invoke);\n",
       "\t    }\n",
       "\t\n",
       "\t    var previousPromise;\n",
       "\t\n",
       "\t    function enqueue(method, arg) {\n",
       "\t      function callInvokeWithMethodAndArg() {\n",
       "\t        return new Promise(function(resolve, reject) {\n",
       "\t          invoke(method, arg, resolve, reject);\n",
       "\t        });\n",
       "\t      }\n",
       "\t\n",
       "\t      return previousPromise =\n",
       "\t        // If enqueue has been called before, then we want to wait until\n",
       "\t        // all previous Promises have been resolved before calling invoke,\n",
       "\t        // so that results are always delivered in the correct order. If\n",
       "\t        // enqueue has not been called before, then it is important to\n",
       "\t        // call invoke immediately, without waiting on a callback to fire,\n",
       "\t        // so that the async generator function has the opportunity to do\n",
       "\t        // any necessary setup in a predictable way. This predictability\n",
       "\t        // is why the Promise constructor synchronously invokes its\n",
       "\t        // executor callback, and why async functions synchronously\n",
       "\t        // execute code before the first await. Since we implement simple\n",
       "\t        // async functions in terms of async generators, it is especially\n",
       "\t        // important to get this right, even though it requires care.\n",
       "\t        previousPromise ? previousPromise.then(\n",
       "\t          callInvokeWithMethodAndArg,\n",
       "\t          // Avoid propagating failures to Promises returned by later\n",
       "\t          // invocations of the iterator.\n",
       "\t          callInvokeWithMethodAndArg\n",
       "\t        ) : callInvokeWithMethodAndArg();\n",
       "\t    }\n",
       "\t\n",
       "\t    // Define the unified helper method that is used to implement .next,\n",
       "\t    // .throw, and .return (see defineIteratorMethods).\n",
       "\t    this._invoke = enqueue;\n",
       "\t  }\n",
       "\t\n",
       "\t  defineIteratorMethods(AsyncIterator.prototype);\n",
       "\t  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n",
       "\t    return this;\n",
       "\t  };\n",
       "\t  runtime.AsyncIterator = AsyncIterator;\n",
       "\t\n",
       "\t  // Note that simple async functions are implemented on top of\n",
       "\t  // AsyncIterator objects; they just return a Promise for the value of\n",
       "\t  // the final result produced by the iterator.\n",
       "\t  runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n",
       "\t    var iter = new AsyncIterator(\n",
       "\t      wrap(innerFn, outerFn, self, tryLocsList)\n",
       "\t    );\n",
       "\t\n",
       "\t    return runtime.isGeneratorFunction(outerFn)\n",
       "\t      ? iter // If outerFn is a generator, return the full iterator.\n",
       "\t      : iter.next().then(function(result) {\n",
       "\t          return result.done ? result.value : iter.next();\n",
       "\t        });\n",
       "\t  };\n",
       "\t\n",
       "\t  function makeInvokeMethod(innerFn, self, context) {\n",
       "\t    var state = GenStateSuspendedStart;\n",
       "\t\n",
       "\t    return function invoke(method, arg) {\n",
       "\t      if (state === GenStateExecuting) {\n",
       "\t        throw new Error(\"Generator is already running\");\n",
       "\t      }\n",
       "\t\n",
       "\t      if (state === GenStateCompleted) {\n",
       "\t        if (method === \"throw\") {\n",
       "\t          throw arg;\n",
       "\t        }\n",
       "\t\n",
       "\t        // Be forgiving, per 25.3.3.3.3 of the spec:\n",
       "\t        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n",
       "\t        return doneResult();\n",
       "\t      }\n",
       "\t\n",
       "\t      context.method = method;\n",
       "\t      context.arg = arg;\n",
       "\t\n",
       "\t      while (true) {\n",
       "\t        var delegate = context.delegate;\n",
       "\t        if (delegate) {\n",
       "\t          var delegateResult = maybeInvokeDelegate(delegate, context);\n",
       "\t          if (delegateResult) {\n",
       "\t            if (delegateResult === ContinueSentinel) continue;\n",
       "\t            return delegateResult;\n",
       "\t          }\n",
       "\t        }\n",
       "\t\n",
       "\t        if (context.method === \"next\") {\n",
       "\t          // Setting context._sent for legacy support of Babel's\n",
       "\t          // function.sent implementation.\n",
       "\t          context.sent = context._sent = context.arg;\n",
       "\t\n",
       "\t        } else if (context.method === \"throw\") {\n",
       "\t          if (state === GenStateSuspendedStart) {\n",
       "\t            state = GenStateCompleted;\n",
       "\t            throw context.arg;\n",
       "\t          }\n",
       "\t\n",
       "\t          context.dispatchException(context.arg);\n",
       "\t\n",
       "\t        } else if (context.method === \"return\") {\n",
       "\t          context.abrupt(\"return\", context.arg);\n",
       "\t        }\n",
       "\t\n",
       "\t        state = GenStateExecuting;\n",
       "\t\n",
       "\t        var record = tryCatch(innerFn, self, context);\n",
       "\t        if (record.type === \"normal\") {\n",
       "\t          // If an exception is thrown from innerFn, we leave state ===\n",
       "\t          // GenStateExecuting and loop back for another invocation.\n",
       "\t          state = context.done\n",
       "\t            ? GenStateCompleted\n",
       "\t            : GenStateSuspendedYield;\n",
       "\t\n",
       "\t          if (record.arg === ContinueSentinel) {\n",
       "\t            continue;\n",
       "\t          }\n",
       "\t\n",
       "\t          return {\n",
       "\t            value: record.arg,\n",
       "\t            done: context.done\n",
       "\t          };\n",
       "\t\n",
       "\t        } else if (record.type === \"throw\") {\n",
       "\t          state = GenStateCompleted;\n",
       "\t          // Dispatch the exception by looping back around to the\n",
       "\t          // context.dispatchException(context.arg) call above.\n",
       "\t          context.method = \"throw\";\n",
       "\t          context.arg = record.arg;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    };\n",
       "\t  }\n",
       "\t\n",
       "\t  // Call delegate.iterator[context.method](context.arg) and handle the\n",
       "\t  // result, either by returning a { value, done } result from the\n",
       "\t  // delegate iterator, or by modifying context.method and context.arg,\n",
       "\t  // setting context.delegate to null, and returning the ContinueSentinel.\n",
       "\t  function maybeInvokeDelegate(delegate, context) {\n",
       "\t    var method = delegate.iterator[context.method];\n",
       "\t    if (method === undefined) {\n",
       "\t      // A .throw or .return when the delegate iterator has no .throw\n",
       "\t      // method always terminates the yield* loop.\n",
       "\t      context.delegate = null;\n",
       "\t\n",
       "\t      if (context.method === \"throw\") {\n",
       "\t        if (delegate.iterator.return) {\n",
       "\t          // If the delegate iterator has a return method, give it a\n",
       "\t          // chance to clean up.\n",
       "\t          context.method = \"return\";\n",
       "\t          context.arg = undefined;\n",
       "\t          maybeInvokeDelegate(delegate, context);\n",
       "\t\n",
       "\t          if (context.method === \"throw\") {\n",
       "\t            // If maybeInvokeDelegate(context) changed context.method from\n",
       "\t            // \"return\" to \"throw\", let that override the TypeError below.\n",
       "\t            return ContinueSentinel;\n",
       "\t          }\n",
       "\t        }\n",
       "\t\n",
       "\t        context.method = \"throw\";\n",
       "\t        context.arg = new TypeError(\n",
       "\t          \"The iterator does not provide a 'throw' method\");\n",
       "\t      }\n",
       "\t\n",
       "\t      return ContinueSentinel;\n",
       "\t    }\n",
       "\t\n",
       "\t    var record = tryCatch(method, delegate.iterator, context.arg);\n",
       "\t\n",
       "\t    if (record.type === \"throw\") {\n",
       "\t      context.method = \"throw\";\n",
       "\t      context.arg = record.arg;\n",
       "\t      context.delegate = null;\n",
       "\t      return ContinueSentinel;\n",
       "\t    }\n",
       "\t\n",
       "\t    var info = record.arg;\n",
       "\t\n",
       "\t    if (! info) {\n",
       "\t      context.method = \"throw\";\n",
       "\t      context.arg = new TypeError(\"iterator result is not an object\");\n",
       "\t      context.delegate = null;\n",
       "\t      return ContinueSentinel;\n",
       "\t    }\n",
       "\t\n",
       "\t    if (info.done) {\n",
       "\t      // Assign the result of the finished delegate to the temporary\n",
       "\t      // variable specified by delegate.resultName (see delegateYield).\n",
       "\t      context[delegate.resultName] = info.value;\n",
       "\t\n",
       "\t      // Resume execution at the desired location (see delegateYield).\n",
       "\t      context.next = delegate.nextLoc;\n",
       "\t\n",
       "\t      // If context.method was \"throw\" but the delegate handled the\n",
       "\t      // exception, let the outer generator proceed normally. If\n",
       "\t      // context.method was \"next\", forget context.arg since it has been\n",
       "\t      // \"consumed\" by the delegate iterator. If context.method was\n",
       "\t      // \"return\", allow the original .return call to continue in the\n",
       "\t      // outer generator.\n",
       "\t      if (context.method !== \"return\") {\n",
       "\t        context.method = \"next\";\n",
       "\t        context.arg = undefined;\n",
       "\t      }\n",
       "\t\n",
       "\t    } else {\n",
       "\t      // Re-yield the result returned by the delegate method.\n",
       "\t      return info;\n",
       "\t    }\n",
       "\t\n",
       "\t    // The delegate iterator is finished, so forget it and continue with\n",
       "\t    // the outer generator.\n",
       "\t    context.delegate = null;\n",
       "\t    return ContinueSentinel;\n",
       "\t  }\n",
       "\t\n",
       "\t  // Define Generator.prototype.{next,throw,return} in terms of the\n",
       "\t  // unified ._invoke helper method.\n",
       "\t  defineIteratorMethods(Gp);\n",
       "\t\n",
       "\t  Gp[toStringTagSymbol] = \"Generator\";\n",
       "\t\n",
       "\t  // A Generator should always return itself as the iterator object when the\n",
       "\t  // @@iterator function is called on it. Some browsers' implementations of the\n",
       "\t  // iterator prototype chain incorrectly implement this, causing the Generator\n",
       "\t  // object to not be returned from this call. This ensures that doesn't happen.\n",
       "\t  // See https://github.com/facebook/regenerator/issues/274 for more details.\n",
       "\t  Gp[iteratorSymbol] = function() {\n",
       "\t    return this;\n",
       "\t  };\n",
       "\t\n",
       "\t  Gp.toString = function() {\n",
       "\t    return \"[object Generator]\";\n",
       "\t  };\n",
       "\t\n",
       "\t  function pushTryEntry(locs) {\n",
       "\t    var entry = { tryLoc: locs[0] };\n",
       "\t\n",
       "\t    if (1 in locs) {\n",
       "\t      entry.catchLoc = locs[1];\n",
       "\t    }\n",
       "\t\n",
       "\t    if (2 in locs) {\n",
       "\t      entry.finallyLoc = locs[2];\n",
       "\t      entry.afterLoc = locs[3];\n",
       "\t    }\n",
       "\t\n",
       "\t    this.tryEntries.push(entry);\n",
       "\t  }\n",
       "\t\n",
       "\t  function resetTryEntry(entry) {\n",
       "\t    var record = entry.completion || {};\n",
       "\t    record.type = \"normal\";\n",
       "\t    delete record.arg;\n",
       "\t    entry.completion = record;\n",
       "\t  }\n",
       "\t\n",
       "\t  function Context(tryLocsList) {\n",
       "\t    // The root entry object (effectively a try statement without a catch\n",
       "\t    // or a finally block) gives us a place to store values thrown from\n",
       "\t    // locations where there is no enclosing try statement.\n",
       "\t    this.tryEntries = [{ tryLoc: \"root\" }];\n",
       "\t    tryLocsList.forEach(pushTryEntry, this);\n",
       "\t    this.reset(true);\n",
       "\t  }\n",
       "\t\n",
       "\t  runtime.keys = function(object) {\n",
       "\t    var keys = [];\n",
       "\t    for (var key in object) {\n",
       "\t      keys.push(key);\n",
       "\t    }\n",
       "\t    keys.reverse();\n",
       "\t\n",
       "\t    // Rather than returning an object with a next method, we keep\n",
       "\t    // things simple and return the next function itself.\n",
       "\t    return function next() {\n",
       "\t      while (keys.length) {\n",
       "\t        var key = keys.pop();\n",
       "\t        if (key in object) {\n",
       "\t          next.value = key;\n",
       "\t          next.done = false;\n",
       "\t          return next;\n",
       "\t        }\n",
       "\t      }\n",
       "\t\n",
       "\t      // To avoid creating an additional object, we just hang the .value\n",
       "\t      // and .done properties off the next function object itself. This\n",
       "\t      // also ensures that the minifier will not anonymize the function.\n",
       "\t      next.done = true;\n",
       "\t      return next;\n",
       "\t    };\n",
       "\t  };\n",
       "\t\n",
       "\t  function values(iterable) {\n",
       "\t    if (iterable) {\n",
       "\t      var iteratorMethod = iterable[iteratorSymbol];\n",
       "\t      if (iteratorMethod) {\n",
       "\t        return iteratorMethod.call(iterable);\n",
       "\t      }\n",
       "\t\n",
       "\t      if (typeof iterable.next === \"function\") {\n",
       "\t        return iterable;\n",
       "\t      }\n",
       "\t\n",
       "\t      if (!isNaN(iterable.length)) {\n",
       "\t        var i = -1, next = function next() {\n",
       "\t          while (++i < iterable.length) {\n",
       "\t            if (hasOwn.call(iterable, i)) {\n",
       "\t              next.value = iterable[i];\n",
       "\t              next.done = false;\n",
       "\t              return next;\n",
       "\t            }\n",
       "\t          }\n",
       "\t\n",
       "\t          next.value = undefined;\n",
       "\t          next.done = true;\n",
       "\t\n",
       "\t          return next;\n",
       "\t        };\n",
       "\t\n",
       "\t        return next.next = next;\n",
       "\t      }\n",
       "\t    }\n",
       "\t\n",
       "\t    // Return an iterator with no values.\n",
       "\t    return { next: doneResult };\n",
       "\t  }\n",
       "\t  runtime.values = values;\n",
       "\t\n",
       "\t  function doneResult() {\n",
       "\t    return { value: undefined, done: true };\n",
       "\t  }\n",
       "\t\n",
       "\t  Context.prototype = {\n",
       "\t    constructor: Context,\n",
       "\t\n",
       "\t    reset: function(skipTempReset) {\n",
       "\t      this.prev = 0;\n",
       "\t      this.next = 0;\n",
       "\t      // Resetting context._sent for legacy support of Babel's\n",
       "\t      // function.sent implementation.\n",
       "\t      this.sent = this._sent = undefined;\n",
       "\t      this.done = false;\n",
       "\t      this.delegate = null;\n",
       "\t\n",
       "\t      this.method = \"next\";\n",
       "\t      this.arg = undefined;\n",
       "\t\n",
       "\t      this.tryEntries.forEach(resetTryEntry);\n",
       "\t\n",
       "\t      if (!skipTempReset) {\n",
       "\t        for (var name in this) {\n",
       "\t          // Not sure about the optimal order of these conditions:\n",
       "\t          if (name.charAt(0) === \"t\" &&\n",
       "\t              hasOwn.call(this, name) &&\n",
       "\t              !isNaN(+name.slice(1))) {\n",
       "\t            this[name] = undefined;\n",
       "\t          }\n",
       "\t        }\n",
       "\t      }\n",
       "\t    },\n",
       "\t\n",
       "\t    stop: function() {\n",
       "\t      this.done = true;\n",
       "\t\n",
       "\t      var rootEntry = this.tryEntries[0];\n",
       "\t      var rootRecord = rootEntry.completion;\n",
       "\t      if (rootRecord.type === \"throw\") {\n",
       "\t        throw rootRecord.arg;\n",
       "\t      }\n",
       "\t\n",
       "\t      return this.rval;\n",
       "\t    },\n",
       "\t\n",
       "\t    dispatchException: function(exception) {\n",
       "\t      if (this.done) {\n",
       "\t        throw exception;\n",
       "\t      }\n",
       "\t\n",
       "\t      var context = this;\n",
       "\t      function handle(loc, caught) {\n",
       "\t        record.type = \"throw\";\n",
       "\t        record.arg = exception;\n",
       "\t        context.next = loc;\n",
       "\t\n",
       "\t        if (caught) {\n",
       "\t          // If the dispatched exception was caught by a catch block,\n",
       "\t          // then let that catch block handle the exception normally.\n",
       "\t          context.method = \"next\";\n",
       "\t          context.arg = undefined;\n",
       "\t        }\n",
       "\t\n",
       "\t        return !! caught;\n",
       "\t      }\n",
       "\t\n",
       "\t      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n",
       "\t        var entry = this.tryEntries[i];\n",
       "\t        var record = entry.completion;\n",
       "\t\n",
       "\t        if (entry.tryLoc === \"root\") {\n",
       "\t          // Exception thrown outside of any try block that could handle\n",
       "\t          // it, so set the completion value of the entire function to\n",
       "\t          // throw the exception.\n",
       "\t          return handle(\"end\");\n",
       "\t        }\n",
       "\t\n",
       "\t        if (entry.tryLoc <= this.prev) {\n",
       "\t          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n",
       "\t          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n",
       "\t\n",
       "\t          if (hasCatch && hasFinally) {\n",
       "\t            if (this.prev < entry.catchLoc) {\n",
       "\t              return handle(entry.catchLoc, true);\n",
       "\t            } else if (this.prev < entry.finallyLoc) {\n",
       "\t              return handle(entry.finallyLoc);\n",
       "\t            }\n",
       "\t\n",
       "\t          } else if (hasCatch) {\n",
       "\t            if (this.prev < entry.catchLoc) {\n",
       "\t              return handle(entry.catchLoc, true);\n",
       "\t            }\n",
       "\t\n",
       "\t          } else if (hasFinally) {\n",
       "\t            if (this.prev < entry.finallyLoc) {\n",
       "\t              return handle(entry.finallyLoc);\n",
       "\t            }\n",
       "\t\n",
       "\t          } else {\n",
       "\t            throw new Error(\"try statement without catch or finally\");\n",
       "\t          }\n",
       "\t        }\n",
       "\t      }\n",
       "\t    },\n",
       "\t\n",
       "\t    abrupt: function(type, arg) {\n",
       "\t      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n",
       "\t        var entry = this.tryEntries[i];\n",
       "\t        if (entry.tryLoc <= this.prev &&\n",
       "\t            hasOwn.call(entry, \"finallyLoc\") &&\n",
       "\t            this.prev < entry.finallyLoc) {\n",
       "\t          var finallyEntry = entry;\n",
       "\t          break;\n",
       "\t        }\n",
       "\t      }\n",
       "\t\n",
       "\t      if (finallyEntry &&\n",
       "\t          (type === \"break\" ||\n",
       "\t           type === \"continue\") &&\n",
       "\t          finallyEntry.tryLoc <= arg &&\n",
       "\t          arg <= finallyEntry.finallyLoc) {\n",
       "\t        // Ignore the finally entry if control is not jumping to a\n",
       "\t        // location outside the try/catch block.\n",
       "\t        finallyEntry = null;\n",
       "\t      }\n",
       "\t\n",
       "\t      var record = finallyEntry ? finallyEntry.completion : {};\n",
       "\t      record.type = type;\n",
       "\t      record.arg = arg;\n",
       "\t\n",
       "\t      if (finallyEntry) {\n",
       "\t        this.method = \"next\";\n",
       "\t        this.next = finallyEntry.finallyLoc;\n",
       "\t        return ContinueSentinel;\n",
       "\t      }\n",
       "\t\n",
       "\t      return this.complete(record);\n",
       "\t    },\n",
       "\t\n",
       "\t    complete: function(record, afterLoc) {\n",
       "\t      if (record.type === \"throw\") {\n",
       "\t        throw record.arg;\n",
       "\t      }\n",
       "\t\n",
       "\t      if (record.type === \"break\" ||\n",
       "\t          record.type === \"continue\") {\n",
       "\t        this.next = record.arg;\n",
       "\t      } else if (record.type === \"return\") {\n",
       "\t        this.rval = this.arg = record.arg;\n",
       "\t        this.method = \"return\";\n",
       "\t        this.next = \"end\";\n",
       "\t      } else if (record.type === \"normal\" && afterLoc) {\n",
       "\t        this.next = afterLoc;\n",
       "\t      }\n",
       "\t\n",
       "\t      return ContinueSentinel;\n",
       "\t    },\n",
       "\t\n",
       "\t    finish: function(finallyLoc) {\n",
       "\t      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n",
       "\t        var entry = this.tryEntries[i];\n",
       "\t        if (entry.finallyLoc === finallyLoc) {\n",
       "\t          this.complete(entry.completion, entry.afterLoc);\n",
       "\t          resetTryEntry(entry);\n",
       "\t          return ContinueSentinel;\n",
       "\t        }\n",
       "\t      }\n",
       "\t    },\n",
       "\t\n",
       "\t    \"catch\": function(tryLoc) {\n",
       "\t      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n",
       "\t        var entry = this.tryEntries[i];\n",
       "\t        if (entry.tryLoc === tryLoc) {\n",
       "\t          var record = entry.completion;\n",
       "\t          if (record.type === \"throw\") {\n",
       "\t            var thrown = record.arg;\n",
       "\t            resetTryEntry(entry);\n",
       "\t          }\n",
       "\t          return thrown;\n",
       "\t        }\n",
       "\t      }\n",
       "\t\n",
       "\t      // The context.catch method must only be called with a location\n",
       "\t      // argument that corresponds to a known catch block.\n",
       "\t      throw new Error(\"illegal catch attempt\");\n",
       "\t    },\n",
       "\t\n",
       "\t    delegateYield: function(iterable, resultName, nextLoc) {\n",
       "\t      this.delegate = {\n",
       "\t        iterator: values(iterable),\n",
       "\t        resultName: resultName,\n",
       "\t        nextLoc: nextLoc\n",
       "\t      };\n",
       "\t\n",
       "\t      if (this.method === \"next\") {\n",
       "\t        // Deliberately forget the last sent value so that we don't\n",
       "\t        // accidentally pass it on to the delegate.\n",
       "\t        this.arg = undefined;\n",
       "\t      }\n",
       "\t\n",
       "\t      return ContinueSentinel;\n",
       "\t    }\n",
       "\t  };\n",
       "\t})(\n",
       "\t  // Among the various tricks for obtaining a reference to the global\n",
       "\t  // object, this seems to be the most reliable technique that does not\n",
       "\t  // use indirect eval (which violates Content Security Policy).\n",
       "\t  typeof global === \"object\" ? global :\n",
       "\t  typeof window === \"object\" ? window :\n",
       "\t  typeof self === \"object\" ? self : this\n",
       "\t);\n",
       "\t\n",
       "\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n",
       "\n",
       "/***/ }),\n",
       "/* 336 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t__webpack_require__(337);\n",
       "\tmodule.exports = __webpack_require__(16).RegExp.escape;\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 337 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// https://github.com/benjamingr/RexExp.escape\n",
       "\tvar $export = __webpack_require__(15);\n",
       "\tvar $re = __webpack_require__(338)(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n",
       "\t\n",
       "\t$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } });\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 338 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\tmodule.exports = function (regExp, replace) {\n",
       "\t  var replacer = replace === Object(replace) ? function (part) {\n",
       "\t    return replace[part];\n",
       "\t  } : replace;\n",
       "\t  return function (it) {\n",
       "\t    return String(it).replace(regExp, replacer);\n",
       "\t  };\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 339 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t// style-loader: Adds some css to the DOM by adding a <style> tag\n",
       "\t\n",
       "\t// load the styles\n",
       "\tvar content = __webpack_require__(340);\n",
       "\tif(typeof content === 'string') content = [[module.id, content, '']];\n",
       "\t// add the styles to the DOM\n",
       "\tvar update = __webpack_require__(342)(content, {});\n",
       "\tif(content.locals) module.exports = content.locals;\n",
       "\t// Hot Module Replacement\n",
       "\tif(false) {\n",
       "\t\t// When the styles change, update the <style> tags\n",
       "\t\tif(!content.locals) {\n",
       "\t\t\tmodule.hot.accept(\"!!./node_modules/css-loader/index.js!./style.css\", function() {\n",
       "\t\t\t\tvar newContent = require(\"!!./node_modules/css-loader/index.js!./style.css\");\n",
       "\t\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n",
       "\t\t\t\tupdate(newContent);\n",
       "\t\t\t});\n",
       "\t\t}\n",
       "\t\t// When the module is disposed, remove the <style> tags\n",
       "\t\tmodule.hot.dispose(function() { update(); });\n",
       "\t}\n",
       "\n",
       "/***/ }),\n",
       "/* 340 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\texports = module.exports = __webpack_require__(341)();\n",
       "\t// imports\n",
       "\t\n",
       "\t\n",
       "\t// module\n",
       "\texports.push([module.id, \".lime {\\n  all: initial;\\n}\\n.lime.top_div {\\n  display: flex;\\n  flex-wrap: wrap;\\n}\\n.lime.predict_proba {\\n  width: 245px;\\n}\\n.lime.predicted_value {\\n  width: 245px;\\n}\\n.lime.explanation {\\n  width: 350px;\\n}\\n\\n.lime.text_div {\\n  max-height:300px;\\n  flex: 1 0 300px;\\n  overflow:scroll;\\n}\\n.lime.table_div {\\n  max-height:300px;\\n  flex: 1 0 300px;\\n  overflow:scroll;\\n}\\n.lime.table_div table {\\n  border-collapse: collapse;\\n  color: white;\\n  border-style: hidden;\\n  margin: 0 auto;\\n}\\n\", \"\"]);\n",
       "\t\n",
       "\t// exports\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 341 */\n",
       "/***/ (function(module, exports) {\n",
       "\n",
       "\t/*\n",
       "\t\tMIT License http://www.opensource.org/licenses/mit-license.php\n",
       "\t\tAuthor Tobias Koppers @sokra\n",
       "\t*/\n",
       "\t// css base code, injected by the css-loader\n",
       "\tmodule.exports = function() {\n",
       "\t\tvar list = [];\n",
       "\t\n",
       "\t\t// return the list of modules as css string\n",
       "\t\tlist.toString = function toString() {\n",
       "\t\t\tvar result = [];\n",
       "\t\t\tfor(var i = 0; i < this.length; i++) {\n",
       "\t\t\t\tvar item = this[i];\n",
       "\t\t\t\tif(item[2]) {\n",
       "\t\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n",
       "\t\t\t\t} else {\n",
       "\t\t\t\t\tresult.push(item[1]);\n",
       "\t\t\t\t}\n",
       "\t\t\t}\n",
       "\t\t\treturn result.join(\"\");\n",
       "\t\t};\n",
       "\t\n",
       "\t\t// import a list of modules into the list\n",
       "\t\tlist.i = function(modules, mediaQuery) {\n",
       "\t\t\tif(typeof modules === \"string\")\n",
       "\t\t\t\tmodules = [[null, modules, \"\"]];\n",
       "\t\t\tvar alreadyImportedModules = {};\n",
       "\t\t\tfor(var i = 0; i < this.length; i++) {\n",
       "\t\t\t\tvar id = this[i][0];\n",
       "\t\t\t\tif(typeof id === \"number\")\n",
       "\t\t\t\t\talreadyImportedModules[id] = true;\n",
       "\t\t\t}\n",
       "\t\t\tfor(i = 0; i < modules.length; i++) {\n",
       "\t\t\t\tvar item = modules[i];\n",
       "\t\t\t\t// skip already imported module\n",
       "\t\t\t\t// this implementation is not 100% perfect for weird media query combinations\n",
       "\t\t\t\t//  when a module is imported multiple times with different media queries.\n",
       "\t\t\t\t//  I hope this will never occur (Hey this way we have smaller bundles)\n",
       "\t\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n",
       "\t\t\t\t\tif(mediaQuery && !item[2]) {\n",
       "\t\t\t\t\t\titem[2] = mediaQuery;\n",
       "\t\t\t\t\t} else if(mediaQuery) {\n",
       "\t\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n",
       "\t\t\t\t\t}\n",
       "\t\t\t\t\tlist.push(item);\n",
       "\t\t\t\t}\n",
       "\t\t\t}\n",
       "\t\t};\n",
       "\t\treturn list;\n",
       "\t};\n",
       "\n",
       "\n",
       "/***/ }),\n",
       "/* 342 */\n",
       "/***/ (function(module, exports, __webpack_require__) {\n",
       "\n",
       "\t/*\n",
       "\t\tMIT License http://www.opensource.org/licenses/mit-license.php\n",
       "\t\tAuthor Tobias Koppers @sokra\n",
       "\t*/\n",
       "\tvar stylesInDom = {},\n",
       "\t\tmemoize = function(fn) {\n",
       "\t\t\tvar memo;\n",
       "\t\t\treturn function () {\n",
       "\t\t\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n",
       "\t\t\t\treturn memo;\n",
       "\t\t\t};\n",
       "\t\t},\n",
       "\t\tisOldIE = memoize(function() {\n",
       "\t\t\treturn /msie [6-9]\\b/.test(self.navigator.userAgent.toLowerCase());\n",
       "\t\t}),\n",
       "\t\tgetHeadElement = memoize(function () {\n",
       "\t\t\treturn document.head || document.getElementsByTagName(\"head\")[0];\n",
       "\t\t}),\n",
       "\t\tsingletonElement = null,\n",
       "\t\tsingletonCounter = 0,\n",
       "\t\tstyleElementsInsertedAtTop = [];\n",
       "\t\n",
       "\tmodule.exports = function(list, options) {\n",
       "\t\tif(false) {\n",
       "\t\t\tif(typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n",
       "\t\t}\n",
       "\t\n",
       "\t\toptions = options || {};\n",
       "\t\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n",
       "\t\t// tags it will allow on a page\n",
       "\t\tif (typeof options.singleton === \"undefined\") options.singleton = isOldIE();\n",
       "\t\n",
       "\t\t// By default, add <style> tags to the bottom of <head>.\n",
       "\t\tif (typeof options.insertAt === \"undefined\") options.insertAt = \"bottom\";\n",
       "\t\n",
       "\t\tvar styles = listToStyles(list);\n",
       "\t\taddStylesToDom(styles, options);\n",
       "\t\n",
       "\t\treturn function update(newList) {\n",
       "\t\t\tvar mayRemove = [];\n",
       "\t\t\tfor(var i = 0; i < styles.length; i++) {\n",
       "\t\t\t\tvar item = styles[i];\n",
       "\t\t\t\tvar domStyle = stylesInDom[item.id];\n",
       "\t\t\t\tdomStyle.refs--;\n",
       "\t\t\t\tmayRemove.push(domStyle);\n",
       "\t\t\t}\n",
       "\t\t\tif(newList) {\n",
       "\t\t\t\tvar newStyles = listToStyles(newList);\n",
       "\t\t\t\taddStylesToDom(newStyles, options);\n",
       "\t\t\t}\n",
       "\t\t\tfor(var i = 0; i < mayRemove.length; i++) {\n",
       "\t\t\t\tvar domStyle = mayRemove[i];\n",
       "\t\t\t\tif(domStyle.refs === 0) {\n",
       "\t\t\t\t\tfor(var j = 0; j < domStyle.parts.length; j++)\n",
       "\t\t\t\t\t\tdomStyle.parts[j]();\n",
       "\t\t\t\t\tdelete stylesInDom[domStyle.id];\n",
       "\t\t\t\t}\n",
       "\t\t\t}\n",
       "\t\t};\n",
       "\t}\n",
       "\t\n",
       "\tfunction addStylesToDom(styles, options) {\n",
       "\t\tfor(var i = 0; i < styles.length; i++) {\n",
       "\t\t\tvar item = styles[i];\n",
       "\t\t\tvar domStyle = stylesInDom[item.id];\n",
       "\t\t\tif(domStyle) {\n",
       "\t\t\t\tdomStyle.refs++;\n",
       "\t\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n",
       "\t\t\t\t\tdomStyle.parts[j](item.parts[j]);\n",
       "\t\t\t\t}\n",
       "\t\t\t\tfor(; j < item.parts.length; j++) {\n",
       "\t\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n",
       "\t\t\t\t}\n",
       "\t\t\t} else {\n",
       "\t\t\t\tvar parts = [];\n",
       "\t\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n",
       "\t\t\t\t\tparts.push(addStyle(item.parts[j], options));\n",
       "\t\t\t\t}\n",
       "\t\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n",
       "\t\t\t}\n",
       "\t\t}\n",
       "\t}\n",
       "\t\n",
       "\tfunction listToStyles(list) {\n",
       "\t\tvar styles = [];\n",
       "\t\tvar newStyles = {};\n",
       "\t\tfor(var i = 0; i < list.length; i++) {\n",
       "\t\t\tvar item = list[i];\n",
       "\t\t\tvar id = item[0];\n",
       "\t\t\tvar css = item[1];\n",
       "\t\t\tvar media = item[2];\n",
       "\t\t\tvar sourceMap = item[3];\n",
       "\t\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n",
       "\t\t\tif(!newStyles[id])\n",
       "\t\t\t\tstyles.push(newStyles[id] = {id: id, parts: [part]});\n",
       "\t\t\telse\n",
       "\t\t\t\tnewStyles[id].parts.push(part);\n",
       "\t\t}\n",
       "\t\treturn styles;\n",
       "\t}\n",
       "\t\n",
       "\tfunction insertStyleElement(options, styleElement) {\n",
       "\t\tvar head = getHeadElement();\n",
       "\t\tvar lastStyleElementInsertedAtTop = styleElementsInsertedAtTop[styleElementsInsertedAtTop.length - 1];\n",
       "\t\tif (options.insertAt === \"top\") {\n",
       "\t\t\tif(!lastStyleElementInsertedAtTop) {\n",
       "\t\t\t\thead.insertBefore(styleElement, head.firstChild);\n",
       "\t\t\t} else if(lastStyleElementInsertedAtTop.nextSibling) {\n",
       "\t\t\t\thead.insertBefore(styleElement, lastStyleElementInsertedAtTop.nextSibling);\n",
       "\t\t\t} else {\n",
       "\t\t\t\thead.appendChild(styleElement);\n",
       "\t\t\t}\n",
       "\t\t\tstyleElementsInsertedAtTop.push(styleElement);\n",
       "\t\t} else if (options.insertAt === \"bottom\") {\n",
       "\t\t\thead.appendChild(styleElement);\n",
       "\t\t} else {\n",
       "\t\t\tthrow new Error(\"Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.\");\n",
       "\t\t}\n",
       "\t}\n",
       "\t\n",
       "\tfunction removeStyleElement(styleElement) {\n",
       "\t\tstyleElement.parentNode.removeChild(styleElement);\n",
       "\t\tvar idx = styleElementsInsertedAtTop.indexOf(styleElement);\n",
       "\t\tif(idx >= 0) {\n",
       "\t\t\tstyleElementsInsertedAtTop.splice(idx, 1);\n",
       "\t\t}\n",
       "\t}\n",
       "\t\n",
       "\tfunction createStyleElement(options) {\n",
       "\t\tvar styleElement = document.createElement(\"style\");\n",
       "\t\tstyleElement.type = \"text/css\";\n",
       "\t\tinsertStyleElement(options, styleElement);\n",
       "\t\treturn styleElement;\n",
       "\t}\n",
       "\t\n",
       "\tfunction createLinkElement(options) {\n",
       "\t\tvar linkElement = document.createElement(\"link\");\n",
       "\t\tlinkElement.rel = \"stylesheet\";\n",
       "\t\tinsertStyleElement(options, linkElement);\n",
       "\t\treturn linkElement;\n",
       "\t}\n",
       "\t\n",
       "\tfunction addStyle(obj, options) {\n",
       "\t\tvar styleElement, update, remove;\n",
       "\t\n",
       "\t\tif (options.singleton) {\n",
       "\t\t\tvar styleIndex = singletonCounter++;\n",
       "\t\t\tstyleElement = singletonElement || (singletonElement = createStyleElement(options));\n",
       "\t\t\tupdate = applyToSingletonTag.bind(null, styleElement, styleIndex, false);\n",
       "\t\t\tremove = applyToSingletonTag.bind(null, styleElement, styleIndex, true);\n",
       "\t\t} else if(obj.sourceMap &&\n",
       "\t\t\ttypeof URL === \"function\" &&\n",
       "\t\t\ttypeof URL.createObjectURL === \"function\" &&\n",
       "\t\t\ttypeof URL.revokeObjectURL === \"function\" &&\n",
       "\t\t\ttypeof Blob === \"function\" &&\n",
       "\t\t\ttypeof btoa === \"function\") {\n",
       "\t\t\tstyleElement = createLinkElement(options);\n",
       "\t\t\tupdate = updateLink.bind(null, styleElement);\n",
       "\t\t\tremove = function() {\n",
       "\t\t\t\tremoveStyleElement(styleElement);\n",
       "\t\t\t\tif(styleElement.href)\n",
       "\t\t\t\t\tURL.revokeObjectURL(styleElement.href);\n",
       "\t\t\t};\n",
       "\t\t} else {\n",
       "\t\t\tstyleElement = createStyleElement(options);\n",
       "\t\t\tupdate = applyToTag.bind(null, styleElement);\n",
       "\t\t\tremove = function() {\n",
       "\t\t\t\tremoveStyleElement(styleElement);\n",
       "\t\t\t};\n",
       "\t\t}\n",
       "\t\n",
       "\t\tupdate(obj);\n",
       "\t\n",
       "\t\treturn function updateStyle(newObj) {\n",
       "\t\t\tif(newObj) {\n",
       "\t\t\t\tif(newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap)\n",
       "\t\t\t\t\treturn;\n",
       "\t\t\t\tupdate(obj = newObj);\n",
       "\t\t\t} else {\n",
       "\t\t\t\tremove();\n",
       "\t\t\t}\n",
       "\t\t};\n",
       "\t}\n",
       "\t\n",
       "\tvar replaceText = (function () {\n",
       "\t\tvar textStore = [];\n",
       "\t\n",
       "\t\treturn function (index, replacement) {\n",
       "\t\t\ttextStore[index] = replacement;\n",
       "\t\t\treturn textStore.filter(Boolean).join('\\n');\n",
       "\t\t};\n",
       "\t})();\n",
       "\t\n",
       "\tfunction applyToSingletonTag(styleElement, index, remove, obj) {\n",
       "\t\tvar css = remove ? \"\" : obj.css;\n",
       "\t\n",
       "\t\tif (styleElement.styleSheet) {\n",
       "\t\t\tstyleElement.styleSheet.cssText = replaceText(index, css);\n",
       "\t\t} else {\n",
       "\t\t\tvar cssNode = document.createTextNode(css);\n",
       "\t\t\tvar childNodes = styleElement.childNodes;\n",
       "\t\t\tif (childNodes[index]) styleElement.removeChild(childNodes[index]);\n",
       "\t\t\tif (childNodes.length) {\n",
       "\t\t\t\tstyleElement.insertBefore(cssNode, childNodes[index]);\n",
       "\t\t\t} else {\n",
       "\t\t\t\tstyleElement.appendChild(cssNode);\n",
       "\t\t\t}\n",
       "\t\t}\n",
       "\t}\n",
       "\t\n",
       "\tfunction applyToTag(styleElement, obj) {\n",
       "\t\tvar css = obj.css;\n",
       "\t\tvar media = obj.media;\n",
       "\t\n",
       "\t\tif(media) {\n",
       "\t\t\tstyleElement.setAttribute(\"media\", media)\n",
       "\t\t}\n",
       "\t\n",
       "\t\tif(styleElement.styleSheet) {\n",
       "\t\t\tstyleElement.styleSheet.cssText = css;\n",
       "\t\t} else {\n",
       "\t\t\twhile(styleElement.firstChild) {\n",
       "\t\t\t\tstyleElement.removeChild(styleElement.firstChild);\n",
       "\t\t\t}\n",
       "\t\t\tstyleElement.appendChild(document.createTextNode(css));\n",
       "\t\t}\n",
       "\t}\n",
       "\t\n",
       "\tfunction updateLink(linkElement, obj) {\n",
       "\t\tvar css = obj.css;\n",
       "\t\tvar sourceMap = obj.sourceMap;\n",
       "\t\n",
       "\t\tif(sourceMap) {\n",
       "\t\t\t// http://stackoverflow.com/a/26603875\n",
       "\t\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n",
       "\t\t}\n",
       "\t\n",
       "\t\tvar blob = new Blob([css], { type: \"text/css\" });\n",
       "\t\n",
       "\t\tvar oldSrc = linkElement.href;\n",
       "\t\n",
       "\t\tlinkElement.href = URL.createObjectURL(blob);\n",
       "\t\n",
       "\t\tif(oldSrc)\n",
       "\t\t\tURL.revokeObjectURL(oldSrc);\n",
       "\t}\n",
       "\n",
       "\n",
       "/***/ })\n",
       "/******/ ]);\n",
       "//# sourceMappingURL=bundle.js.map </script></head><body>\n",
       "        <div class=\"lime top_div\" id=\"top_divJS8SZ3JAG7Z5OUH\"></div>\n",
       "        \n",
       "        <script>\n",
       "        var top_div = d3.select('#top_divJS8SZ3JAG7Z5OUH').classed('lime top_div', true);\n",
       "        \n",
       "            var pp_div = top_div.append('div')\n",
       "                                .classed('lime predict_proba', true);\n",
       "            var pp_svg = pp_div.append('svg').style('width', '100%');\n",
       "            var pp = new lime.PredictProba(pp_svg, [\"No Default\", \"Default\"], [0.16364407539367676, 0.8363559246063232]);\n",
       "            \n",
       "        \n",
       "        var exp_div;\n",
       "            var exp = new lime.Explanation([\"No Default\", \"Default\"]);\n",
       "        \n",
       "                exp_div = top_div.append('div').classed('lime explanation', true);\n",
       "                exp.show([[\"sex__male <= 0.00\", 0.28586328236355435], [\"pclass <= 2.00\", 0.12302626217344843], [\"fare > 30.70\", 0.11010436536746156], [\"age <= 22.00\", 0.09604571407988668], [\"0.00 < emb__S <= 1.00\", -0.04138391209212434]], 1, exp_div);\n",
       "                \n",
       "        var raw_div = top_div.append('div');\n",
       "            exp.show_raw_tabular([[\"sex__male\", \"0.00\", 0.28586328236355435], [\"pclass\", \"1.00\", 0.12302626217344843], [\"fare\", \"120.00\", 0.11010436536746156], [\"age\", \"14.00\", 0.09604571407988668], [\"emb__S\", \"1.00\", -0.04138391209212434]], 1, raw_div);\n",
       "        \n",
       "        </script>\n",
       "        </body></html>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import lime.lime_tabular\n",
    "\n",
    "# Create a LIME explainer object\n",
    "explainer = lime.lime_tabular.LimeTabularExplainer(X_train.values,\n",
    "                                                   mode='classification',\n",
    "                                                   training_labels=y_train,\n",
    "                                                   feature_names=X_train.columns,\n",
    "                                                   class_names=['No Default', 'Default'],\n",
    "                                                   discretize_continuous=True,\n",
    "                                                   verbose=True)\n",
    "\n",
    "# Explain the model's prediction\n",
    "for i in [1]:\n",
    "    # produce local explanation\n",
    "    exp = explainer.explain_instance(\n",
    "        X_test.iloc[i].values, \n",
    "        model.predict_proba, \n",
    "        num_features=5, \n",
    "        top_labels=1\n",
    "    )\n",
    "\n",
    "# print the explanation\n",
    "exp.show_in_notebook(show_table=True, show_all=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f53e096e",
   "metadata": {},
   "source": [
    "## Counteractual explanations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "id": "824f607a",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████| 1/1 [00:00<00:00, 22.47it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Query instance (original outcome : 1)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pclass</th>\n",
       "      <th>age</th>\n",
       "      <th>sibsp</th>\n",
       "      <th>parch</th>\n",
       "      <th>fare</th>\n",
       "      <th>sex__male</th>\n",
       "      <th>emb__Q</th>\n",
       "      <th>emb__S</th>\n",
       "      <th>survived</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>14.0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>120.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  pclass   age sibsp parch   fare sex__male emb__Q emb__S  survived\n",
       "0      1  14.0     1     2  120.0         0      0      1         1"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Diverse Counterfactual set (new outcome: 0.0)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pclass</th>\n",
       "      <th>age</th>\n",
       "      <th>sibsp</th>\n",
       "      <th>parch</th>\n",
       "      <th>fare</th>\n",
       "      <th>sex__male</th>\n",
       "      <th>emb__Q</th>\n",
       "      <th>emb__S</th>\n",
       "      <th>survived</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.0</td>\n",
       "      <td>56.089568</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>120.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>66.094275</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>120.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>70.984005</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>120.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   pclass        age  sibsp  parch   fare sex__male  emb__Q  emb__S  survived\n",
       "0     1.0  56.089568    1.0    2.0  120.0         1     0.0     1.0         0\n",
       "1     1.0  66.094275    1.0    2.0  120.0         1     0.0     1.0         0\n",
       "2     1.0  70.984005    1.0    2.0  120.0         1     0.0     1.0         0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import dice_ml\n",
    "\n",
    "continous_col=['age','fare']\n",
    "dice_data = dice_ml.Data(dataframe=df_final,\n",
    "                         continuous_features=continous_col, \n",
    "                         outcome_name='survived',\n",
    "                         enable_categorical=True)\n",
    "\n",
    "dice_model= dice_ml.Model(model=model_logit, backend='sklearn')\n",
    "explainer = dice_ml.Dice(dice_data,dice_model, method='random')\n",
    "\n",
    "expls = explainer.generate_counterfactuals(X_test.iloc[[1]], \n",
    "                                           total_CFs=3, \n",
    "                                           desired_class='opposite',\n",
    "                                          features_to_vary=['age', 'sex__male'])\n",
    "\n",
    "expls.visualize_as_dataframe()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0eca51c6",
   "metadata": {},
   "source": [
    "## WHITEBOX MODEL: EXPLAINABLE BOOSTING MACHINE"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "ed767369",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "ExplainableBoostingClassifier()"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.85      0.83      0.84       109\n",
      "           1       0.74      0.77      0.75        69\n",
      "\n",
      "    accuracy                           0.80       178\n",
      "   macro avg       0.79      0.80      0.79       178\n",
      "weighted avg       0.81      0.80      0.80       178\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# training model\n",
    "ebm = ExplainableBoostingClassifier()\n",
    "ebm.fit(X_train, y_train)\n",
    "\n",
    "# testing the model\n",
    "print(classification_report(y_test, ebm.predict(X_test)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "c3aadc8e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "        <script type=\"text/javascript\">\n",
       "        console.log(\"Initializing interpret-inline (last modified: Wed Oct  4 15:11:20 2023)\");\n",
       "        /*! For license information please see interpret-inline.js.LICENSE.txt */\n",
       "!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"interpret-inline\",[],t):\"object\"==typeof exports?exports[\"interpret-inline\"]=t():e[\"interpret-inline\"]=t()}(self,(()=>(()=>{var e,t,r={9204:(e,t,r)=>{\"use strict\";r.r(t),r.d(t,{App:()=>An,RenderApp:()=>Cn});var n=r(7294),i=r.t(n,2),a=r(3935),o=r(8660);function s(e){return s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},s(e)}function l(e){var t=function(e,t){if(\"object\"!==s(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,\"string\");if(\"object\"!==s(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===s(t)?t:String(t)}function u(e,t,r){return(t=l(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t){if(e){if(\"string\"==typeof e)return h(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?h(e,t):void 0}}function d(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=r){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}(e,t)||p(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function v(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var g=[\"defaultInputValue\",\"defaultMenuIsOpen\",\"defaultValue\",\"inputValue\",\"menuIsOpen\",\"onChange\",\"onInputChange\",\"onMenuClose\",\"onMenuOpen\",\"value\"];function m(){return m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},m.apply(this,arguments)}function y(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,l(n.key),n)}}function x(e,t){return x=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},x(e,t)}function b(e){return b=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},b(e)}function _(e){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=b(e);if(t){var i=b(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return function(e,t){if(t&&(\"object\"===s(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}(this,r)}}function w(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||p(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}var k=function(){function e(e){var t=this;this._insertTag=function(e){var r;r=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,r),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement(\"style\");return t.setAttribute(\"data-emotion\",e.key),void 0!==e.nonce&&t.setAttribute(\"nonce\",e.nonce),t.appendChild(document.createTextNode(\"\")),t.setAttribute(\"data-s\",\"\"),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var r=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{r.insertRule(e,r.cssRules.length)}catch(e){}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach((function(e){return e.parentNode&&e.parentNode.removeChild(e)})),this.tags=[],this.ctr=0},e}(),T=Math.abs,M=String.fromCharCode,A=Object.assign;function S(e){return e.trim()}function E(e,t,r){return e.replace(t,r)}function C(e,t){return e.indexOf(t)}function L(e,t){return 0|e.charCodeAt(t)}function P(e,t,r){return e.slice(t,r)}function O(e){return e.length}function I(e){return e.length}function D(e,t){return t.push(e),e}var z=1,R=1,F=0,B=0,N=0,j=\"\";function U(e,t,r,n,i,a,o){return{value:e,root:t,parent:r,type:n,props:i,children:a,line:z,column:R,length:o,return:\"\"}}function V(e,t){return A(U(\"\",null,null,\"\",null,null,0),e,{length:-e.length},t)}function H(){return N=B>0?L(j,--B):0,R--,10===N&&(R=1,z--),N}function q(){return N=B<F?L(j,B++):0,R++,10===N&&(R=1,z++),N}function G(){return L(j,B)}function Y(){return B}function W(e,t){return P(j,e,t)}function Z(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function X(e){return z=R=1,F=O(j=e),B=0,[]}function K(e){return j=\"\",e}function J(e){return S(W(B-1,ee(91===e?e+2:40===e?e+1:e)))}function $(e){for(;(N=G())&&N<33;)q();return Z(e)>2||Z(N)>3?\"\":\" \"}function Q(e,t){for(;--t&&q()&&!(N<48||N>102||N>57&&N<65||N>70&&N<97););return W(e,Y()+(t<6&&32==G()&&32==q()))}function ee(e){for(;q();)switch(N){case e:return B;case 34:case 39:34!==e&&39!==e&&ee(N);break;case 40:41===e&&ee(e);break;case 92:q()}return B}function te(e,t){for(;q()&&e+N!==57&&(e+N!==84||47!==G()););return\"/*\"+W(t,B-1)+\"*\"+M(47===e?e:q())}function re(e){for(;!Z(G());)q();return W(e,B)}var ne=\"-ms-\",ie=\"-moz-\",ae=\"-webkit-\",oe=\"comm\",se=\"rule\",le=\"decl\",ue=\"@keyframes\";function ce(e,t){for(var r=\"\",n=I(e),i=0;i<n;i++)r+=t(e[i],i,e,t)||\"\";return r}function fe(e,t,r,n){switch(e.type){case\"@layer\":if(e.children.length)break;case\"@import\":case le:return e.return=e.return||e.value;case oe:return\"\";case ue:return e.return=e.value+\"{\"+ce(e.children,n)+\"}\";case se:e.value=e.props.join(\",\")}return O(r=ce(e.children,n))?e.return=e.value+\"{\"+r+\"}\":\"\"}function he(e){return K(pe(\"\",null,null,null,[\"\"],e=X(e),0,[0],e))}function pe(e,t,r,n,i,a,o,s,l){for(var u=0,c=0,f=o,h=0,p=0,d=0,v=1,g=1,m=1,y=0,x=\"\",b=i,_=a,w=n,k=x;g;)switch(d=y,y=q()){case 40:if(108!=d&&58==L(k,f-1)){-1!=C(k+=E(J(y),\"&\",\"&\\f\"),\"&\\f\")&&(m=-1);break}case 34:case 39:case 91:k+=J(y);break;case 9:case 10:case 13:case 32:k+=$(d);break;case 92:k+=Q(Y()-1,7);continue;case 47:switch(G()){case 42:case 47:D(ve(te(q(),Y()),t,r),l);break;default:k+=\"/\"}break;case 123*v:s[u++]=O(k)*m;case 125*v:case 59:case 0:switch(y){case 0:case 125:g=0;case 59+c:-1==m&&(k=E(k,/\\f/g,\"\")),p>0&&O(k)-f&&D(p>32?ge(k+\";\",n,r,f-1):ge(E(k,\" \",\"\")+\";\",n,r,f-2),l);break;case 59:k+=\";\";default:if(D(w=de(k,t,r,u,c,i,s,x,b=[],_=[],f),a),123===y)if(0===c)pe(k,t,w,w,b,a,f,s,_);else switch(99===h&&110===L(k,3)?100:h){case 100:case 108:case 109:case 115:pe(e,w,w,n&&D(de(e,w,w,0,0,i,s,x,i,b=[],f),_),i,_,f,s,n?b:_);break;default:pe(k,w,w,w,[\"\"],_,0,s,_)}}u=c=p=0,v=m=1,x=k=\"\",f=o;break;case 58:f=1+O(k),p=d;default:if(v<1)if(123==y)--v;else if(125==y&&0==v++&&125==H())continue;switch(k+=M(y),y*v){case 38:m=c>0?1:(k+=\"\\f\",-1);break;case 44:s[u++]=(O(k)-1)*m,m=1;break;case 64:45===G()&&(k+=J(q())),h=G(),c=f=O(x=k+=re(Y())),y++;break;case 45:45===d&&2==O(k)&&(v=0)}}return a}function de(e,t,r,n,i,a,o,s,l,u,c){for(var f=i-1,h=0===i?a:[\"\"],p=I(h),d=0,v=0,g=0;d<n;++d)for(var m=0,y=P(e,f+1,f=T(v=o[d])),x=e;m<p;++m)(x=S(v>0?h[m]+\" \"+y:E(y,/&\\f/g,h[m])))&&(l[g++]=x);return U(e,t,r,0===i?se:s,l,u,c)}function ve(e,t,r){return U(e,t,r,oe,M(N),P(e,2,-2),0)}function ge(e,t,r,n){return U(e,t,r,le,P(e,0,n),P(e,n+1,-1),n)}var me=function(e,t,r){for(var n=0,i=0;n=i,i=G(),38===n&&12===i&&(t[r]=1),!Z(i);)q();return W(e,B)},ye=new WeakMap,xe=function(e){if(\"rule\"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,r=e.parent,n=e.column===r.column&&e.line===r.line;\"rule\"!==r.type;)if(!(r=r.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||ye.get(r))&&!n){ye.set(e,!0);for(var i=[],a=function(e,t){return K(function(e,t){var r=-1,n=44;do{switch(Z(n)){case 0:38===n&&12===G()&&(t[r]=1),e[r]+=me(B-1,t,r);break;case 2:e[r]+=J(n);break;case 4:if(44===n){e[++r]=58===G()?\"&\\f\":\"\",t[r]=e[r].length;break}default:e[r]+=M(n)}}while(n=q());return e}(X(e),t))}(t,i),o=r.props,s=0,l=0;s<a.length;s++)for(var u=0;u<o.length;u++,l++)e.props[l]=i[s]?a[s].replace(/&\\f/g,o[u]):o[u]+\" \"+a[s]}}},be=function(e){if(\"decl\"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return=\"\",e.value=\"\")}};function _e(e,t){switch(function(e,t){return 45^L(e,0)?(((t<<2^L(e,0))<<2^L(e,1))<<2^L(e,2))<<2^L(e,3):0}(e,t)){case 5103:return ae+\"print-\"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return ae+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return ae+e+ie+e+ne+e+e;case 6828:case 4268:return ae+e+ne+e+e;case 6165:return ae+e+ne+\"flex-\"+e+e;case 5187:return ae+e+E(e,/(\\w+).+(:[^]+)/,ae+\"box-$1$2\"+ne+\"flex-$1$2\")+e;case 5443:return ae+e+ne+\"flex-item-\"+E(e,/flex-|-self/,\"\")+e;case 4675:return ae+e+ne+\"flex-line-pack\"+E(e,/align-content|flex-|-self/,\"\")+e;case 5548:return ae+e+ne+E(e,\"shrink\",\"negative\")+e;case 5292:return ae+e+ne+E(e,\"basis\",\"preferred-size\")+e;case 6060:return ae+\"box-\"+E(e,\"-grow\",\"\")+ae+e+ne+E(e,\"grow\",\"positive\")+e;case 4554:return ae+E(e,/([^-])(transform)/g,\"$1\"+ae+\"$2\")+e;case 6187:return E(E(E(e,/(zoom-|grab)/,ae+\"$1\"),/(image-set)/,ae+\"$1\"),e,\"\")+e;case 5495:case 3959:return E(e,/(image-set\\([^]*)/,ae+\"$1$`$1\");case 4968:return E(E(e,/(.+:)(flex-)?(.*)/,ae+\"box-pack:$3\"+ne+\"flex-pack:$3\"),/s.+-b[^;]+/,\"justify\")+ae+e+e;case 4095:case 3583:case 4068:case 2532:return E(e,/(.+)-inline(.+)/,ae+\"$1$2\")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(O(e)-1-t>6)switch(L(e,t+1)){case 109:if(45!==L(e,t+4))break;case 102:return E(e,/(.+:)(.+)-([^]+)/,\"$1\"+ae+\"$2-$3$1\"+ie+(108==L(e,t+3)?\"$3\":\"$2-$3\"))+e;case 115:return~C(e,\"stretch\")?_e(E(e,\"stretch\",\"fill-available\"),t)+e:e}break;case 4949:if(115!==L(e,t+1))break;case 6444:switch(L(e,O(e)-3-(~C(e,\"!important\")&&10))){case 107:return E(e,\":\",\":\"+ae)+e;case 101:return E(e,/(.+:)([^;!]+)(;|!.+)?/,\"$1\"+ae+(45===L(e,14)?\"inline-\":\"\")+\"box$3$1\"+ae+\"$2$3$1\"+ne+\"$2box$3\")+e}break;case 5936:switch(L(e,t+11)){case 114:return ae+e+ne+E(e,/[svh]\\w+-[tblr]{2}/,\"tb\")+e;case 108:return ae+e+ne+E(e,/[svh]\\w+-[tblr]{2}/,\"tb-rl\")+e;case 45:return ae+e+ne+E(e,/[svh]\\w+-[tblr]{2}/,\"lr\")+e}return ae+e+ne+e+e}return e}var we=[function(e,t,r,n){if(e.length>-1&&!e.return)switch(e.type){case le:e.return=_e(e.value,e.length);break;case ue:return ce([V(e,{value:E(e.value,\"@\",\"@\"+ae)})],n);case se:if(e.length)return function(e,t){return e.map(t).join(\"\")}(e.props,(function(t){switch(function(e,t){return(e=/(::plac\\w+|:read-\\w+)/.exec(e))?e[0]:e}(t)){case\":read-only\":case\":read-write\":return ce([V(e,{props:[E(t,/:(read-\\w+)/,\":-moz-$1\")]})],n);case\"::placeholder\":return ce([V(e,{props:[E(t,/:(plac\\w+)/,\":\"+ae+\"input-$1\")]}),V(e,{props:[E(t,/:(plac\\w+)/,\":-moz-$1\")]}),V(e,{props:[E(t,/:(plac\\w+)/,ne+\"input-$1\")]})],n)}return\"\"}))}}],ke=function(e){var t=e.key;if(\"css\"===t){var r=document.querySelectorAll(\"style[data-emotion]:not([data-s])\");Array.prototype.forEach.call(r,(function(e){-1!==e.getAttribute(\"data-emotion\").indexOf(\" \")&&(document.head.appendChild(e),e.setAttribute(\"data-s\",\"\"))}))}var n,i,a=e.stylisPlugins||we,o={},s=[];n=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^=\"'+t+' \"]'),(function(e){for(var t=e.getAttribute(\"data-emotion\").split(\" \"),r=1;r<t.length;r++)o[t[r]]=!0;s.push(e)}));var l,u,c,f,h=[fe,(f=function(e){l.insert(e)},function(e){e.root||(e=e.return)&&f(e)})],p=(u=[xe,be].concat(a,h),c=I(u),function(e,t,r,n){for(var i=\"\",a=0;a<c;a++)i+=u[a](e,t,r,n)||\"\";return i});i=function(e,t,r,n){l=r,function(e){ce(he(e),p)}(e?e+\"{\"+t.styles+\"}\":t.styles),n&&(d.inserted[t.name]=!0)};var d={key:t,sheet:new k({key:t,container:n,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:o,registered:{},insert:i};return d.sheet.hydrate(s),d},Te=function(e,t,r){var n=e.key+\"-\"+t.name;!1===r&&void 0===e.registered[n]&&(e.registered[n]=t.styles)},Me={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function Ae(e){var t=Object.create(null);return function(r){return void 0===t[r]&&(t[r]=e(r)),t[r]}}var Se=/[A-Z]|^ms/g,Ee=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Ce=function(e){return 45===e.charCodeAt(1)},Le=function(e){return null!=e&&\"boolean\"!=typeof e},Pe=Ae((function(e){return Ce(e)?e:e.replace(Se,\"-$&\").toLowerCase()})),Oe=function(e,t){switch(e){case\"animation\":case\"animationName\":if(\"string\"==typeof t)return t.replace(Ee,(function(e,t,r){return De={name:t,styles:r,next:De},t}))}return 1===Me[e]||Ce(e)||\"number\"!=typeof t||0===t?t:t+\"px\"};function Ie(e,t,r){if(null==r)return\"\";if(void 0!==r.__emotion_styles)return r;switch(typeof r){case\"boolean\":return\"\";case\"object\":if(1===r.anim)return De={name:r.name,styles:r.styles,next:De},r.name;if(void 0!==r.styles){var n=r.next;if(void 0!==n)for(;void 0!==n;)De={name:n.name,styles:n.styles,next:De},n=n.next;return r.styles+\";\"}return function(e,t,r){var n=\"\";if(Array.isArray(r))for(var i=0;i<r.length;i++)n+=Ie(e,t,r[i])+\";\";else for(var a in r){var o=r[a];if(\"object\"!=typeof o)null!=t&&void 0!==t[o]?n+=a+\"{\"+t[o]+\"}\":Le(o)&&(n+=Pe(a)+\":\"+Oe(a,o)+\";\");else if(!Array.isArray(o)||\"string\"!=typeof o[0]||null!=t&&void 0!==t[o[0]]){var s=Ie(e,t,o);switch(a){case\"animation\":case\"animationName\":n+=Pe(a)+\":\"+s+\";\";break;default:n+=a+\"{\"+s+\"}\"}}else for(var l=0;l<o.length;l++)Le(o[l])&&(n+=Pe(a)+\":\"+Oe(a,o[l])+\";\")}return n}(e,t,r);case\"function\":if(void 0!==e){var i=De,a=r(e);return De=i,Ie(e,t,a)}}if(null==t)return r;var o=t[r];return void 0!==o?o:r}var De,ze=/label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g,Re=function(e,t,r){if(1===e.length&&\"object\"==typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var n=!0,i=\"\";De=void 0;var a=e[0];null==a||void 0===a.raw?(n=!1,i+=Ie(r,t,a)):i+=a[0];for(var o=1;o<e.length;o++)i+=Ie(r,t,e[o]),n&&(i+=a[o]);ze.lastIndex=0;for(var s,l=\"\";null!==(s=ze.exec(i));)l+=\"-\"+s[1];var u=function(e){for(var t,r=0,n=0,i=e.length;i>=4;++n,i-=4)t=1540483477*(65535&(t=255&e.charCodeAt(n)|(255&e.charCodeAt(++n))<<8|(255&e.charCodeAt(++n))<<16|(255&e.charCodeAt(++n))<<24))+(59797*(t>>>16)<<16),r=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&r)+(59797*(r>>>16)<<16);switch(i){case 3:r^=(255&e.charCodeAt(n+2))<<16;case 2:r^=(255&e.charCodeAt(n+1))<<8;case 1:r=1540483477*(65535&(r^=255&e.charCodeAt(n)))+(59797*(r>>>16)<<16)}return(((r=1540483477*(65535&(r^=r>>>13))+(59797*(r>>>16)<<16))^r>>>15)>>>0).toString(36)}(i)+l;return{name:u,styles:i,next:De}},Fe=!!i.useInsertionEffect&&i.useInsertionEffect,Be=Fe||function(e){return e()},Ne=(Fe||n.useLayoutEffect,{}.hasOwnProperty),je=n.createContext(\"undefined\"!=typeof HTMLElement?ke({key:\"css\"}):null);je.Provider;var Ue=function(e){return(0,n.forwardRef)((function(t,r){var i=(0,n.useContext)(je);return e(t,i,r)}))},Ve=n.createContext({}),He=\"__EMOTION_TYPE_PLEASE_DO_NOT_USE__\",qe=function(e){var t=e.cache,r=e.serialized,n=e.isStringTag;return Te(t,r,n),Be((function(){return function(e,t,r){Te(e,t,r);var n=e.key+\"-\"+t.name;if(void 0===e.inserted[t.name]){var i=t;do{e.insert(t===i?\".\"+n:\"\",i,e.sheet,!0),i=i.next}while(void 0!==i)}}(t,r,n)})),null},Ge=Ue((function(e,t,r){var i=e.css;\"string\"==typeof i&&void 0!==t.registered[i]&&(i=t.registered[i]);var a=e[He],o=[i],s=\"\";\"string\"==typeof e.className?s=function(e,t,r){var n=\"\";return r.split(\" \").forEach((function(r){void 0!==e[r]?t.push(e[r]+\";\"):n+=r+\" \"})),n}(t.registered,o,e.className):null!=e.className&&(s=e.className+\" \");var l=Re(o,void 0,n.useContext(Ve));s+=t.key+\"-\"+l.name;var u={};for(var c in e)Ne.call(e,c)&&\"css\"!==c&&c!==He&&(u[c]=e[c]);return u.ref=r,u.className=s,n.createElement(n.Fragment,null,n.createElement(qe,{cache:t,serialized:l,isStringTag:\"string\"==typeof a}),n.createElement(a,u))})),Ye=Ge,We=(r(8679),function(e,t){var r=arguments;if(null==t||!Ne.call(t,\"css\"))return n.createElement.apply(void 0,r);var i=r.length,a=new Array(i);a[0]=Ye,a[1]=function(e,t){var r={};for(var n in t)Ne.call(t,n)&&(r[n]=t[n]);return r[He]=e,r}(e,t);for(var o=2;o<i;o++)a[o]=r[o];return n.createElement.apply(null,a)});function Ze(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Re(t)}const Xe=Math.min,Ke=Math.max,Je=Math.round,$e=Math.floor,Qe=e=>({x:e,y:e});function et(e){return nt(e)?(e.nodeName||\"\").toLowerCase():\"#document\"}function tt(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function rt(e){var t;return null==(t=(nt(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function nt(e){return e instanceof Node||e instanceof tt(e).Node}function it(e){return e instanceof Element||e instanceof tt(e).Element}function at(e){return e instanceof HTMLElement||e instanceof tt(e).HTMLElement}function ot(e){return\"undefined\"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof tt(e).ShadowRoot)}function st(e){const{overflow:t,overflowX:r,overflowY:n,display:i}=lt(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&![\"inline\",\"contents\"].includes(i)}function lt(e){return tt(e).getComputedStyle(e)}function ut(e){const t=function(e){if(\"html\"===et(e))return e;const t=e.assignedSlot||e.parentNode||ot(e)&&e.host||rt(e);return ot(t)?t.host:t}(e);return function(e){return[\"html\",\"body\",\"#document\"].includes(et(e))}(t)?e.ownerDocument?e.ownerDocument.body:e.body:at(t)&&st(t)?t:ut(t)}function ct(e,t){var r;void 0===t&&(t=[]);const n=ut(e),i=n===(null==(r=e.ownerDocument)?void 0:r.body),a=tt(n);return i?t.concat(a,a.visualViewport||[],st(n)?n:[]):t.concat(n,ct(n))}function ft(e){return it(e)?e:e.contextElement}function ht(e){const t=ft(e);if(!at(t))return Qe(1);const r=t.getBoundingClientRect(),{width:n,height:i,$:a}=function(e){const t=lt(e);let r=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const i=at(e),a=i?e.offsetWidth:r,o=i?e.offsetHeight:n,s=Je(r)!==a||Je(n)!==o;return s&&(r=a,n=o),{width:r,height:n,$:s}}(t);let o=(a?Je(r.width):r.width)/n,s=(a?Je(r.height):r.height)/i;return o&&Number.isFinite(o)||(o=1),s&&Number.isFinite(s)||(s=1),{x:o,y:s}}const pt=Qe(0);function dt(e){const t=tt(e);return\"undefined\"!=typeof CSS&&CSS.supports&&CSS.supports(\"-webkit-backdrop-filter\",\"none\")&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:pt}function vt(e,t,r,n){void 0===t&&(t=!1),void 0===r&&(r=!1);const i=e.getBoundingClientRect(),a=ft(e);let o=Qe(1);t&&(n?it(n)&&(o=ht(n)):o=ht(e));const s=function(e,t,r){return void 0===t&&(t=!1),!(!r||t&&r!==tt(e))&&t}(a,r,n)?dt(a):Qe(0);let l=(i.left+s.x)/o.x,u=(i.top+s.y)/o.y,c=i.width/o.x,f=i.height/o.y;if(a){const e=tt(a),t=n&&it(n)?tt(n):n;let r=e.frameElement;for(;r&&n&&t!==e;){const e=ht(r),t=r.getBoundingClientRect(),n=lt(r),i=t.left+(r.clientLeft+parseFloat(n.paddingLeft))*e.x,a=t.top+(r.clientTop+parseFloat(n.paddingTop))*e.y;l*=e.x,u*=e.y,c*=e.x,f*=e.y,l+=i,u+=a,r=tt(r).frameElement}}return h={width:c,height:f,x:l,y:u},{...h,top:h.y,left:h.x,right:h.x+h.width,bottom:h.y+h.height};var h}const gt=n.useLayoutEffect;var mt=[\"className\",\"clearValue\",\"cx\",\"getStyles\",\"getClassNames\",\"getValue\",\"hasValue\",\"isMulti\",\"isRtl\",\"options\",\"selectOption\",\"selectProps\",\"setValue\",\"theme\"],yt=function(){};function xt(e,t){return t?\"-\"===t[0]?e+t:e+\"__\"+t:e}function bt(e,t){for(var r=arguments.length,n=new Array(r>2?r-2:0),i=2;i<r;i++)n[i-2]=arguments[i];var a=[].concat(n);if(t&&e)for(var o in t)t.hasOwnProperty(o)&&t[o]&&a.push(\"\".concat(xt(e,o)));return a.filter((function(e){return e})).map((function(e){return String(e).trim()})).join(\" \")}var _t=function(e){return t=e,Array.isArray(t)?e.filter(Boolean):\"object\"===s(e)&&null!==e?[e]:[];var t},wt=function(e){return e.className,e.clearValue,e.cx,e.getStyles,e.getClassNames,e.getValue,e.hasValue,e.isMulti,e.isRtl,e.options,e.selectOption,e.selectProps,e.setValue,e.theme,f({},v(e,mt))},kt=function(e,t,r){var n=e.cx,i=e.getStyles,a=e.getClassNames,o=e.className;return{css:i(t,e),className:n(null!=r?r:{},a(t,e),o)}};function Tt(e){return[document.documentElement,document.body,window].indexOf(e)>-1}function Mt(e){return Tt(e)?window.pageYOffset:e.scrollTop}function At(e,t){Tt(e)?window.scrollTo(0,t):e.scrollTop=t}function St(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:yt,i=Mt(e),a=t-i,o=0;!function t(){var s,l=a*((s=(s=o+=10)/r-1)*s*s+1)+i;At(e,l),o<r?window.requestAnimationFrame(t):n(e)}()}function Et(e,t){var r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),i=t.offsetHeight/3;n.bottom+i>r.bottom?At(e,Math.min(t.offsetTop+t.clientHeight-e.offsetHeight+i,e.scrollHeight)):n.top-i<r.top&&At(e,Math.max(t.offsetTop-i,0))}function Ct(){try{return document.createEvent(\"TouchEvent\"),!0}catch(e){return!1}}var Lt=!1,Pt={get passive(){return Lt=!0}},Ot=\"undefined\"!=typeof window?window:{};Ot.addEventListener&&Ot.removeEventListener&&(Ot.addEventListener(\"p\",yt,Pt),Ot.removeEventListener(\"p\",yt,!1));var It=Lt;function Dt(e){return null!=e}function zt(e,t,r){return e?t:r}var Rt=[\"children\",\"innerProps\"],Ft=[\"children\",\"innerProps\"];var Bt,Nt,jt,Ut=function(e){return\"auto\"===e?\"bottom\":e},Vt=(0,n.createContext)(null),Ht=function(e){var t=e.children,r=e.minMenuHeight,i=e.maxMenuHeight,a=e.menuPlacement,o=e.menuPosition,s=e.menuShouldScrollIntoView,l=e.theme,u=((0,n.useContext)(Vt)||{}).setPortalPlacement,c=(0,n.useRef)(null),h=d((0,n.useState)(i),2),p=h[0],v=h[1],g=d((0,n.useState)(null),2),m=g[0],y=g[1],x=l.spacing.controlHeight;return gt((function(){var e=c.current;if(e){var t=\"fixed\"===o,n=function(e){var t=e.maxHeight,r=e.menuEl,n=e.minHeight,i=e.placement,a=e.shouldScroll,o=e.isFixedPosition,s=e.controlHeight,l=function(e){var t=getComputedStyle(e),r=\"absolute\"===t.position,n=/(auto|scroll)/;if(\"fixed\"===t.position)return document.documentElement;for(var i=e;i=i.parentElement;)if(t=getComputedStyle(i),(!r||\"static\"!==t.position)&&n.test(t.overflow+t.overflowY+t.overflowX))return i;return document.documentElement}(r),u={placement:\"bottom\",maxHeight:t};if(!r||!r.offsetParent)return u;var c,f=l.getBoundingClientRect().height,h=r.getBoundingClientRect(),p=h.bottom,d=h.height,v=h.top,g=r.offsetParent.getBoundingClientRect().top,m=o||Tt(c=l)?window.innerHeight:c.clientHeight,y=Mt(l),x=parseInt(getComputedStyle(r).marginBottom,10),b=parseInt(getComputedStyle(r).marginTop,10),_=g-b,w=m-v,k=_+y,T=f-y-v,M=p-m+y+x,A=y+v-b,S=160;switch(i){case\"auto\":case\"bottom\":if(w>=d)return{placement:\"bottom\",maxHeight:t};if(T>=d&&!o)return a&&St(l,M,S),{placement:\"bottom\",maxHeight:t};if(!o&&T>=n||o&&w>=n)return a&&St(l,M,S),{placement:\"bottom\",maxHeight:o?w-x:T-x};if(\"auto\"===i||o){var E=t,C=o?_:k;return C>=n&&(E=Math.min(C-x-s,t)),{placement:\"top\",maxHeight:E}}if(\"bottom\"===i)return a&&At(l,M),{placement:\"bottom\",maxHeight:t};break;case\"top\":if(_>=d)return{placement:\"top\",maxHeight:t};if(k>=d&&!o)return a&&St(l,A,S),{placement:\"top\",maxHeight:t};if(!o&&k>=n||o&&_>=n){var L=t;return(!o&&k>=n||o&&_>=n)&&(L=o?_-b:k-b),a&&St(l,A,S),{placement:\"top\",maxHeight:L}}return{placement:\"bottom\",maxHeight:t};default:throw new Error('Invalid placement provided \"'.concat(i,'\".'))}return u}({maxHeight:i,menuEl:e,minHeight:r,placement:a,shouldScroll:s&&!t,isFixedPosition:t,controlHeight:x});v(n.maxHeight),y(n.placement),null==u||u(n.placement)}}),[i,a,o,s,r,u,x]),t({ref:c,placerProps:f(f({},e),{},{placement:m||Ut(a),maxHeight:p})})},qt=function(e,t){var r=e.theme,n=r.spacing.baseUnit,i=r.colors;return f({textAlign:\"center\"},t?{}:{color:i.neutral40,padding:\"\".concat(2*n,\"px \").concat(3*n,\"px\")})},Gt=qt,Yt=qt,Wt=[\"size\"],Zt=[\"innerProps\",\"isRtl\",\"size\"],Xt={name:\"8mmkcg\",styles:\"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0\"},Kt=function(e){var t=e.size,r=v(e,Wt);return We(\"svg\",m({height:t,width:t,viewBox:\"0 0 20 20\",\"aria-hidden\":\"true\",focusable:\"false\",css:Xt},r))},Jt=function(e){return We(Kt,m({size:20},e),We(\"path\",{d:\"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z\"}))},$t=function(e){return We(Kt,m({size:20},e),We(\"path\",{d:\"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z\"}))},Qt=function(e,t){var r=e.isFocused,n=e.theme,i=n.spacing.baseUnit,a=n.colors;return f({label:\"indicatorContainer\",display:\"flex\",transition:\"color 150ms\"},t?{}:{color:r?a.neutral60:a.neutral20,padding:2*i,\":hover\":{color:r?a.neutral80:a.neutral40}})},er=Qt,tr=Qt,rr=function(){var e=Ze.apply(void 0,arguments),t=\"animation-\"+e.name;return{name:t,styles:\"@keyframes \"+t+\"{\"+e.styles+\"}\",anim:1,toString:function(){return\"_EMO_\"+this.name+\"_\"+this.styles+\"_EMO_\"}}}(Bt||(Nt=[\"\\n  0%, 80%, 100% { opacity: 0; }\\n  40% { opacity: 1; }\\n\"],jt||(jt=Nt.slice(0)),Bt=Object.freeze(Object.defineProperties(Nt,{raw:{value:Object.freeze(jt)}})))),nr=function(e){var t=e.delay,r=e.offset;return We(\"span\",{css:Ze({animation:\"\".concat(rr,\" 1s ease-in-out \").concat(t,\"ms infinite;\"),backgroundColor:\"currentColor\",borderRadius:\"1em\",display:\"inline-block\",marginLeft:r?\"1em\":void 0,height:\"1em\",verticalAlign:\"top\",width:\"1em\"},\"\",\"\")})},ir=[\"data\"],ar=[\"innerRef\",\"isDisabled\",\"isHidden\",\"inputClassName\"],or={gridArea:\"1 / 2\",font:\"inherit\",minWidth:\"2px\",border:0,margin:0,outline:0,padding:0},sr={flex:\"1 1 auto\",display:\"inline-grid\",gridArea:\"1 / 1 / 2 / 3\",gridTemplateColumns:\"0 min-content\",\"&:after\":f({content:'attr(data-value) \" \"',visibility:\"hidden\",whiteSpace:\"pre\"},or)},lr=function(e){return f({label:\"input\",color:\"inherit\",background:0,opacity:e?0:1,width:\"100%\"},or)},ur=function(e){var t=e.children,r=e.innerProps;return We(\"div\",r,t)},cr={ClearIndicator:function(e){var t=e.children,r=e.innerProps;return We(\"div\",m({},kt(e,\"clearIndicator\",{indicator:!0,\"clear-indicator\":!0}),r),t||We(Jt,null))},Control:function(e){var t=e.children,r=e.isDisabled,n=e.isFocused,i=e.innerRef,a=e.innerProps,o=e.menuIsOpen;return We(\"div\",m({ref:i},kt(e,\"control\",{control:!0,\"control--is-disabled\":r,\"control--is-focused\":n,\"control--menu-is-open\":o}),a),t)},DropdownIndicator:function(e){var t=e.children,r=e.innerProps;return We(\"div\",m({},kt(e,\"dropdownIndicator\",{indicator:!0,\"dropdown-indicator\":!0}),r),t||We($t,null))},DownChevron:$t,CrossIcon:Jt,Group:function(e){var t=e.children,r=e.cx,n=e.getStyles,i=e.getClassNames,a=e.Heading,o=e.headingProps,s=e.innerProps,l=e.label,u=e.theme,c=e.selectProps;return We(\"div\",m({},kt(e,\"group\",{group:!0}),s),We(a,m({},o,{selectProps:c,theme:u,getStyles:n,getClassNames:i,cx:r}),l),We(\"div\",null,t))},GroupHeading:function(e){var t=wt(e);t.data;var r=v(t,ir);return We(\"div\",m({},kt(e,\"groupHeading\",{\"group-heading\":!0}),r))},IndicatorsContainer:function(e){var t=e.children,r=e.innerProps;return We(\"div\",m({},kt(e,\"indicatorsContainer\",{indicators:!0}),r),t)},IndicatorSeparator:function(e){var t=e.innerProps;return We(\"span\",m({},t,kt(e,\"indicatorSeparator\",{\"indicator-separator\":!0})))},Input:function(e){var t=e.cx,r=e.value,n=wt(e),i=n.innerRef,a=n.isDisabled,o=n.isHidden,s=n.inputClassName,l=v(n,ar);return We(\"div\",m({},kt(e,\"input\",{\"input-container\":!0}),{\"data-value\":r||\"\"}),We(\"input\",m({className:t({input:!0},s),ref:i,style:lr(o),disabled:a},l)))},LoadingIndicator:function(e){var t=e.innerProps,r=e.isRtl,n=e.size,i=void 0===n?4:n,a=v(e,Zt);return We(\"div\",m({},kt(f(f({},a),{},{innerProps:t,isRtl:r,size:i}),\"loadingIndicator\",{indicator:!0,\"loading-indicator\":!0}),t),We(nr,{delay:0,offset:r}),We(nr,{delay:160,offset:!0}),We(nr,{delay:320,offset:!r}))},Menu:function(e){var t=e.children,r=e.innerRef,n=e.innerProps;return We(\"div\",m({},kt(e,\"menu\",{menu:!0}),{ref:r},n),t)},MenuList:function(e){var t=e.children,r=e.innerProps,n=e.innerRef,i=e.isMulti;return We(\"div\",m({},kt(e,\"menuList\",{\"menu-list\":!0,\"menu-list--is-multi\":i}),{ref:n},r),t)},MenuPortal:function(e){var t=e.appendTo,r=e.children,i=e.controlElement,o=e.innerProps,s=e.menuPlacement,l=e.menuPosition,u=(0,n.useRef)(null),c=(0,n.useRef)(null),h=d((0,n.useState)(Ut(s)),2),p=h[0],v=h[1],g=(0,n.useMemo)((function(){return{setPortalPlacement:v}}),[]),y=d((0,n.useState)(null),2),x=y[0],b=y[1],_=(0,n.useCallback)((function(){if(i){var e=function(e){var t=e.getBoundingClientRect();return{bottom:t.bottom,height:t.height,left:t.left,right:t.right,top:t.top,width:t.width}}(i),t=\"fixed\"===l?0:window.pageYOffset,r=e[p]+t;r===(null==x?void 0:x.offset)&&e.left===(null==x?void 0:x.rect.left)&&e.width===(null==x?void 0:x.rect.width)||b({offset:r,rect:e})}}),[i,l,p,null==x?void 0:x.offset,null==x?void 0:x.rect.left,null==x?void 0:x.rect.width]);gt((function(){_()}),[_]);var w=(0,n.useCallback)((function(){\"function\"==typeof c.current&&(c.current(),c.current=null),i&&u.current&&(c.current=function(e,t,r,n){void 0===n&&(n={});const{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=\"function\"==typeof ResizeObserver,layoutShift:s=\"function\"==typeof IntersectionObserver,animationFrame:l=!1}=n,u=ft(e),c=i||a?[...u?ct(u):[],...ct(t)]:[];c.forEach((e=>{i&&e.addEventListener(\"scroll\",r,{passive:!0}),a&&e.addEventListener(\"resize\",r)}));const f=u&&s?function(e,t){let r,n=null;const i=rt(e);function a(){clearTimeout(r),n&&n.disconnect(),n=null}return function o(s,l){void 0===s&&(s=!1),void 0===l&&(l=1),a();const{left:u,top:c,width:f,height:h}=e.getBoundingClientRect();if(s||t(),!f||!h)return;const p={rootMargin:-$e(c)+\"px \"+-$e(i.clientWidth-(u+f))+\"px \"+-$e(i.clientHeight-(c+h))+\"px \"+-$e(u)+\"px\",threshold:Ke(0,Xe(1,l))||1};let d=!0;function v(e){const t=e[0].intersectionRatio;if(t!==l){if(!d)return o();t?o(!1,t):r=setTimeout((()=>{o(!1,1e-7)}),100)}d=!1}try{n=new IntersectionObserver(v,{...p,root:i.ownerDocument})}catch(e){n=new IntersectionObserver(v,p)}n.observe(e)}(!0),a}(u,r):null;let h,p=-1,d=null;o&&(d=new ResizeObserver((e=>{let[n]=e;n&&n.target===u&&d&&(d.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame((()=>{d&&d.observe(t)}))),r()})),u&&!l&&d.observe(u),d.observe(t));let v=l?vt(e):null;return l&&function t(){const n=vt(e);!v||n.x===v.x&&n.y===v.y&&n.width===v.width&&n.height===v.height||r(),v=n,h=requestAnimationFrame(t)}(),r(),()=>{c.forEach((e=>{i&&e.removeEventListener(\"scroll\",r),a&&e.removeEventListener(\"resize\",r)})),f&&f(),d&&d.disconnect(),d=null,l&&cancelAnimationFrame(h)}}(i,u.current,_,{elementResize:\"ResizeObserver\"in window}))}),[i,_]);gt((function(){w()}),[w]);var k=(0,n.useCallback)((function(e){u.current=e,w()}),[w]);if(!t&&\"fixed\"!==l||!x)return null;var T=We(\"div\",m({ref:k},kt(f(f({},e),{},{offset:x.offset,position:l,rect:x.rect}),\"menuPortal\",{\"menu-portal\":!0}),o),r);return We(Vt.Provider,{value:g},t?(0,a.createPortal)(T,t):T)},LoadingMessage:function(e){var t=e.children,r=void 0===t?\"Loading...\":t,n=e.innerProps,i=v(e,Ft);return We(\"div\",m({},kt(f(f({},i),{},{children:r,innerProps:n}),\"loadingMessage\",{\"menu-notice\":!0,\"menu-notice--loading\":!0}),n),r)},NoOptionsMessage:function(e){var t=e.children,r=void 0===t?\"No options\":t,n=e.innerProps,i=v(e,Rt);return We(\"div\",m({},kt(f(f({},i),{},{children:r,innerProps:n}),\"noOptionsMessage\",{\"menu-notice\":!0,\"menu-notice--no-options\":!0}),n),r)},MultiValue:function(e){var t=e.children,r=e.components,n=e.data,i=e.innerProps,a=e.isDisabled,o=e.removeProps,s=e.selectProps,l=r.Container,u=r.Label,c=r.Remove;return We(l,{data:n,innerProps:f(f({},kt(e,\"multiValue\",{\"multi-value\":!0,\"multi-value--is-disabled\":a})),i),selectProps:s},We(u,{data:n,innerProps:f({},kt(e,\"multiValueLabel\",{\"multi-value__label\":!0})),selectProps:s},t),We(c,{data:n,innerProps:f(f({},kt(e,\"multiValueRemove\",{\"multi-value__remove\":!0})),{},{\"aria-label\":\"Remove \".concat(t||\"option\")},o),selectProps:s}))},MultiValueContainer:ur,MultiValueLabel:ur,MultiValueRemove:function(e){var t=e.children,r=e.innerProps;return We(\"div\",m({role:\"button\"},r),t||We(Jt,{size:14}))},Option:function(e){var t=e.children,r=e.isDisabled,n=e.isFocused,i=e.isSelected,a=e.innerRef,o=e.innerProps;return We(\"div\",m({},kt(e,\"option\",{option:!0,\"option--is-disabled\":r,\"option--is-focused\":n,\"option--is-selected\":i}),{ref:a,\"aria-disabled\":r},o),t)},Placeholder:function(e){var t=e.children,r=e.innerProps;return We(\"div\",m({},kt(e,\"placeholder\",{placeholder:!0}),r),t)},SelectContainer:function(e){var t=e.children,r=e.innerProps,n=e.isDisabled,i=e.isRtl;return We(\"div\",m({},kt(e,\"container\",{\"--is-disabled\":n,\"--is-rtl\":i}),r),t)},SingleValue:function(e){var t=e.children,r=e.isDisabled,n=e.innerProps;return We(\"div\",m({},kt(e,\"singleValue\",{\"single-value\":!0,\"single-value--is-disabled\":r}),n),t)},ValueContainer:function(e){var t=e.children,r=e.innerProps,n=e.isMulti,i=e.hasValue;return We(\"div\",m({},kt(e,\"valueContainer\",{\"value-container\":!0,\"value-container--is-multi\":n,\"value-container--has-value\":i}),r),t)}},fr=Number.isNaN||function(e){return\"number\"==typeof e&&e!=e};function hr(e,t){if(e.length!==t.length)return!1;for(var r=0;r<e.length;r++)if(!((n=e[r])===(i=t[r])||fr(n)&&fr(i)))return!1;var n,i;return!0}for(var pr={name:\"7pg0cj-a11yText\",styles:\"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap\"},dr=function(e){return We(\"span\",m({css:pr},e))},vr={guidance:function(e){var t=e.isSearchable,r=e.isMulti,n=e.isDisabled,i=e.tabSelectsValue;switch(e.context){case\"menu\":return\"Use Up and Down to choose options\".concat(n?\"\":\", press Enter to select the currently focused option\",\", press Escape to exit the menu\").concat(i?\", press Tab to select the option and exit the menu\":\"\",\".\");case\"input\":return\"\".concat(e[\"aria-label\"]||\"Select\",\" is focused \").concat(t?\",type to refine list\":\"\",\", press Down to open the menu, \").concat(r?\" press left to focus selected values\":\"\");case\"value\":return\"Use left and right to toggle between focused values, press Backspace to remove the currently focused value\";default:return\"\"}},onChange:function(e){var t=e.action,r=e.label,n=void 0===r?\"\":r,i=e.labels,a=e.isDisabled;switch(t){case\"deselect-option\":case\"pop-value\":case\"remove-value\":return\"option \".concat(n,\", deselected.\");case\"clear\":return\"All selected options have been cleared.\";case\"initial-input-focus\":return\"option\".concat(i.length>1?\"s\":\"\",\" \").concat(i.join(\",\"),\", selected.\");case\"select-option\":return\"option \".concat(n,a?\" is disabled. Select another option.\":\", selected.\");default:return\"\"}},onFocus:function(e){var t=e.context,r=e.focused,n=e.options,i=e.label,a=void 0===i?\"\":i,o=e.selectValue,s=e.isDisabled,l=e.isSelected,u=function(e,t){return e&&e.length?\"\".concat(e.indexOf(t)+1,\" of \").concat(e.length):\"\"};if(\"value\"===t&&o)return\"value \".concat(a,\" focused, \").concat(u(o,r),\".\");if(\"menu\"===t){var c=s?\" disabled\":\"\",f=\"\".concat(l?\"selected\":\"focused\").concat(c);return\"option \".concat(a,\" \").concat(f,\", \").concat(u(n,r),\".\")}return\"\"},onFilter:function(e){var t=e.inputValue,r=e.resultsMessage;return\"\".concat(r).concat(t?\" for search term \"+t:\"\",\".\")}},gr=function(e){var t=e.ariaSelection,r=e.focusedOption,i=e.focusedValue,a=e.focusableOptions,o=e.isFocused,s=e.selectValue,l=e.selectProps,u=e.id,c=l.ariaLiveMessages,h=l.getOptionLabel,p=l.inputValue,d=l.isMulti,v=l.isOptionDisabled,g=l.isSearchable,m=l.menuIsOpen,y=l.options,x=l.screenReaderStatus,b=l.tabSelectsValue,_=l[\"aria-label\"],w=l[\"aria-live\"],k=(0,n.useMemo)((function(){return f(f({},vr),c||{})}),[c]),T=(0,n.useMemo)((function(){var e,r=\"\";if(t&&k.onChange){var n=t.option,i=t.options,a=t.removedValue,o=t.removedValues,l=t.value,u=a||n||(e=l,Array.isArray(e)?null:e),c=u?h(u):\"\",p=i||o||void 0,d=p?p.map(h):[],g=f({isDisabled:u&&v(u,s),label:c,labels:d},t);r=k.onChange(g)}return r}),[t,k,v,s,h]),M=(0,n.useMemo)((function(){var e=\"\",t=r||i,n=!!(r&&s&&s.includes(r));if(t&&k.onFocus){var o={focused:t,label:h(t),isDisabled:v(t,s),isSelected:n,options:a,context:t===r?\"menu\":\"value\",selectValue:s};e=k.onFocus(o)}return e}),[r,i,h,v,k,a,s]),A=(0,n.useMemo)((function(){var e=\"\";if(m&&y.length&&k.onFilter){var t=x({count:a.length});e=k.onFilter({inputValue:p,resultsMessage:t})}return e}),[a,p,m,k,y,x]),S=(0,n.useMemo)((function(){var e=\"\";if(k.guidance){var t=i?\"value\":m?\"menu\":\"input\";e=k.guidance({\"aria-label\":_,context:t,isDisabled:r&&v(r,s),isMulti:d,isSearchable:g,tabSelectsValue:b})}return e}),[_,r,i,d,v,g,m,k,s,b]),E=\"\".concat(M,\" \").concat(A,\" \").concat(S),C=We(n.Fragment,null,We(\"span\",{id:\"aria-selection\"},T),We(\"span\",{id:\"aria-context\"},E)),L=\"initial-input-focus\"===(null==t?void 0:t.action);return We(n.Fragment,null,We(dr,{id:u},L&&C),We(dr,{\"aria-live\":w,\"aria-atomic\":\"false\",\"aria-relevant\":\"additions text\"},o&&!L&&C))},mr=[{base:\"A\",letters:\"AⒶＡÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ\"},{base:\"AA\",letters:\"Ꜳ\"},{base:\"AE\",letters:\"ÆǼǢ\"},{base:\"AO\",letters:\"Ꜵ\"},{base:\"AU\",letters:\"Ꜷ\"},{base:\"AV\",letters:\"ꜸꜺ\"},{base:\"AY\",letters:\"Ꜽ\"},{base:\"B\",letters:\"BⒷＢḂḄḆɃƂƁ\"},{base:\"C\",letters:\"CⒸＣĆĈĊČÇḈƇȻꜾ\"},{base:\"D\",letters:\"DⒹＤḊĎḌḐḒḎĐƋƊƉꝹ\"},{base:\"DZ\",letters:\"ǱǄ\"},{base:\"Dz\",letters:\"ǲǅ\"},{base:\"E\",letters:\"EⒺＥÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ\"},{base:\"F\",letters:\"FⒻＦḞƑꝻ\"},{base:\"G\",letters:\"GⒼＧǴĜḠĞĠǦĢǤƓꞠꝽꝾ\"},{base:\"H\",letters:\"HⒽＨĤḢḦȞḤḨḪĦⱧⱵꞍ\"},{base:\"I\",letters:\"IⒾＩÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ\"},{base:\"J\",letters:\"JⒿＪĴɈ\"},{base:\"K\",letters:\"KⓀＫḰǨḲĶḴƘⱩꝀꝂꝄꞢ\"},{base:\"L\",letters:\"LⓁＬĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ\"},{base:\"LJ\",letters:\"Ǉ\"},{base:\"Lj\",letters:\"ǈ\"},{base:\"M\",letters:\"MⓂＭḾṀṂⱮƜ\"},{base:\"N\",letters:\"NⓃＮǸŃÑṄŇṆŅṊṈȠƝꞐꞤ\"},{base:\"NJ\",letters:\"Ǌ\"},{base:\"Nj\",letters:\"ǋ\"},{base:\"O\",letters:\"OⓄＯÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ\"},{base:\"OI\",letters:\"Ƣ\"},{base:\"OO\",letters:\"Ꝏ\"},{base:\"OU\",letters:\"Ȣ\"},{base:\"P\",letters:\"PⓅＰṔṖƤⱣꝐꝒꝔ\"},{base:\"Q\",letters:\"QⓆＱꝖꝘɊ\"},{base:\"R\",letters:\"RⓇＲŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ\"},{base:\"S\",letters:\"SⓈＳẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ\"},{base:\"T\",letters:\"TⓉＴṪŤṬȚŢṰṮŦƬƮȾꞆ\"},{base:\"TZ\",letters:\"Ꜩ\"},{base:\"U\",letters:\"UⓊＵÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ\"},{base:\"V\",letters:\"VⓋＶṼṾƲꝞɅ\"},{base:\"VY\",letters:\"Ꝡ\"},{base:\"W\",letters:\"WⓌＷẀẂŴẆẄẈⱲ\"},{base:\"X\",letters:\"XⓍＸẊẌ\"},{base:\"Y\",letters:\"YⓎＹỲÝŶỸȲẎŸỶỴƳɎỾ\"},{base:\"Z\",letters:\"ZⓏＺŹẐŻŽẒẔƵȤⱿⱫꝢ\"},{base:\"a\",letters:\"aⓐａẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ\"},{base:\"aa\",letters:\"ꜳ\"},{base:\"ae\",letters:\"æǽǣ\"},{base:\"ao\",letters:\"ꜵ\"},{base:\"au\",letters:\"ꜷ\"},{base:\"av\",letters:\"ꜹꜻ\"},{base:\"ay\",letters:\"ꜽ\"},{base:\"b\",letters:\"bⓑｂḃḅḇƀƃɓ\"},{base:\"c\",letters:\"cⓒｃćĉċčçḉƈȼꜿↄ\"},{base:\"d\",letters:\"dⓓｄḋďḍḑḓḏđƌɖɗꝺ\"},{base:\"dz\",letters:\"ǳǆ\"},{base:\"e\",letters:\"eⓔｅèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ\"},{base:\"f\",letters:\"fⓕｆḟƒꝼ\"},{base:\"g\",letters:\"gⓖｇǵĝḡğġǧģǥɠꞡᵹꝿ\"},{base:\"h\",letters:\"hⓗｈĥḣḧȟḥḩḫẖħⱨⱶɥ\"},{base:\"hv\",letters:\"ƕ\"},{base:\"i\",letters:\"iⓘｉìíîĩīĭïḯỉǐȉȋịįḭɨı\"},{base:\"j\",letters:\"jⓙｊĵǰɉ\"},{base:\"k\",letters:\"kⓚｋḱǩḳķḵƙⱪꝁꝃꝅꞣ\"},{base:\"l\",letters:\"lⓛｌŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ\"},{base:\"lj\",letters:\"ǉ\"},{base:\"m\",letters:\"mⓜｍḿṁṃɱɯ\"},{base:\"n\",letters:\"nⓝｎǹńñṅňṇņṋṉƞɲŉꞑꞥ\"},{base:\"nj\",letters:\"ǌ\"},{base:\"o\",letters:\"oⓞｏòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ\"},{base:\"oi\",letters:\"ƣ\"},{base:\"ou\",letters:\"ȣ\"},{base:\"oo\",letters:\"ꝏ\"},{base:\"p\",letters:\"pⓟｐṕṗƥᵽꝑꝓꝕ\"},{base:\"q\",letters:\"qⓠｑɋꝗꝙ\"},{base:\"r\",letters:\"rⓡｒŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ\"},{base:\"s\",letters:\"sⓢｓßśṥŝṡšṧṣṩșşȿꞩꞅẛ\"},{base:\"t\",letters:\"tⓣｔṫẗťṭțţṱṯŧƭʈⱦꞇ\"},{base:\"tz\",letters:\"ꜩ\"},{base:\"u\",letters:\"uⓤｕùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ\"},{base:\"v\",letters:\"vⓥｖṽṿʋꝟʌ\"},{base:\"vy\",letters:\"ꝡ\"},{base:\"w\",letters:\"wⓦｗẁẃŵẇẅẘẉⱳ\"},{base:\"x\",letters:\"xⓧｘẋẍ\"},{base:\"y\",letters:\"yⓨｙỳýŷỹȳẏÿỷẙỵƴɏỿ\"},{base:\"z\",letters:\"zⓩｚźẑżžẓẕƶȥɀⱬꝣ\"}],yr=new RegExp(\"[\"+mr.map((function(e){return e.letters})).join(\"\")+\"]\",\"g\"),xr={},br=0;br<mr.length;br++)for(var _r=mr[br],wr=0;wr<_r.letters.length;wr++)xr[_r.letters[wr]]=_r.base;var kr=function(e){return e.replace(yr,(function(e){return xr[e]}))},Tr=function(e,t){void 0===t&&(t=hr);var r=null;function n(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];if(r&&r.lastThis===this&&t(n,r.lastArgs))return r.lastResult;var a=e.apply(this,n);return r={lastResult:a,lastArgs:n,lastThis:this},a}return n.clear=function(){r=null},n}(kr),Mr=function(e){return e.replace(/^\\s+|\\s+$/g,\"\")},Ar=function(e){return\"\".concat(e.label,\" \").concat(e.value)},Sr=[\"innerRef\"];function Er(e){var t=e.innerRef,r=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];var i=Object.entries(e).filter((function(e){var t=d(e,1)[0];return!r.includes(t)}));return i.reduce((function(e,t){var r=d(t,2),n=r[0],i=r[1];return e[n]=i,e}),{})}(v(e,Sr),\"onExited\",\"in\",\"enter\",\"exit\",\"appear\");return We(\"input\",m({ref:t},r,{css:Ze({label:\"dummyInput\",background:0,border:0,caretColor:\"transparent\",fontSize:\"inherit\",gridArea:\"1 / 1 / 2 / 3\",outline:0,padding:0,width:1,color:\"transparent\",left:-100,opacity:0,position:\"relative\",transform:\"scale(.01)\"},\"\",\"\")}))}var Cr=[\"boxSizing\",\"height\",\"overflow\",\"paddingRight\",\"position\"],Lr={boxSizing:\"border-box\",overflow:\"hidden\",position:\"relative\",height:\"100%\"};function Pr(e){e.preventDefault()}function Or(e){e.stopPropagation()}function Ir(){var e=this.scrollTop,t=this.scrollHeight,r=e+this.offsetHeight;0===e?this.scrollTop=1:r===t&&(this.scrollTop=e-1)}function Dr(){return\"ontouchstart\"in window||navigator.maxTouchPoints}var zr=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),Rr=0,Fr={capture:!1,passive:!1},Br=function(){return document.activeElement&&document.activeElement.blur()},Nr={name:\"1kfdb0e\",styles:\"position:fixed;left:0;bottom:0;right:0;top:0\"};function jr(e){var t=e.children,r=e.lockEnabled,i=e.captureEnabled,a=function(e){var t=e.isEnabled,r=e.onBottomArrive,i=e.onBottomLeave,a=e.onTopArrive,o=e.onTopLeave,s=(0,n.useRef)(!1),l=(0,n.useRef)(!1),u=(0,n.useRef)(0),c=(0,n.useRef)(null),f=(0,n.useCallback)((function(e,t){if(null!==c.current){var n=c.current,u=n.scrollTop,f=n.scrollHeight,h=n.clientHeight,p=c.current,d=t>0,v=f-h-u,g=!1;v>t&&s.current&&(i&&i(e),s.current=!1),d&&l.current&&(o&&o(e),l.current=!1),d&&t>v?(r&&!s.current&&r(e),p.scrollTop=f,g=!0,s.current=!0):!d&&-t>u&&(a&&!l.current&&a(e),p.scrollTop=0,g=!0,l.current=!0),g&&function(e){e.preventDefault(),e.stopPropagation()}(e)}}),[r,i,a,o]),h=(0,n.useCallback)((function(e){f(e,e.deltaY)}),[f]),p=(0,n.useCallback)((function(e){u.current=e.changedTouches[0].clientY}),[]),d=(0,n.useCallback)((function(e){var t=u.current-e.changedTouches[0].clientY;f(e,t)}),[f]),v=(0,n.useCallback)((function(e){if(e){var t=!!It&&{passive:!1};e.addEventListener(\"wheel\",h,t),e.addEventListener(\"touchstart\",p,t),e.addEventListener(\"touchmove\",d,t)}}),[d,p,h]),g=(0,n.useCallback)((function(e){e&&(e.removeEventListener(\"wheel\",h,!1),e.removeEventListener(\"touchstart\",p,!1),e.removeEventListener(\"touchmove\",d,!1))}),[d,p,h]);return(0,n.useEffect)((function(){if(t){var e=c.current;return v(e),function(){g(e)}}}),[t,v,g]),function(e){c.current=e}}({isEnabled:void 0===i||i,onBottomArrive:e.onBottomArrive,onBottomLeave:e.onBottomLeave,onTopArrive:e.onTopArrive,onTopLeave:e.onTopLeave}),o=function(e){var t=e.isEnabled,r=e.accountForScrollbars,i=void 0===r||r,a=(0,n.useRef)({}),o=(0,n.useRef)(null),s=(0,n.useCallback)((function(e){if(zr){var t=document.body,r=t&&t.style;if(i&&Cr.forEach((function(e){var t=r&&r[e];a.current[e]=t})),i&&Rr<1){var n=parseInt(a.current.paddingRight,10)||0,o=document.body?document.body.clientWidth:0,s=window.innerWidth-o+n||0;Object.keys(Lr).forEach((function(e){var t=Lr[e];r&&(r[e]=t)})),r&&(r.paddingRight=\"\".concat(s,\"px\"))}t&&Dr()&&(t.addEventListener(\"touchmove\",Pr,Fr),e&&(e.addEventListener(\"touchstart\",Ir,Fr),e.addEventListener(\"touchmove\",Or,Fr))),Rr+=1}}),[i]),l=(0,n.useCallback)((function(e){if(zr){var t=document.body,r=t&&t.style;Rr=Math.max(Rr-1,0),i&&Rr<1&&Cr.forEach((function(e){var t=a.current[e];r&&(r[e]=t)})),t&&Dr()&&(t.removeEventListener(\"touchmove\",Pr,Fr),e&&(e.removeEventListener(\"touchstart\",Ir,Fr),e.removeEventListener(\"touchmove\",Or,Fr)))}}),[i]);return(0,n.useEffect)((function(){if(t){var e=o.current;return s(e),function(){l(e)}}}),[t,s,l]),function(e){o.current=e}}({isEnabled:r});return We(n.Fragment,null,r&&We(\"div\",{onClick:Br,css:Nr}),t((function(e){a(e),o(e)})))}var Ur={name:\"1a0ro4n-requiredInput\",styles:\"label:requiredInput;opacity:0;pointer-events:none;position:absolute;bottom:0;left:0;right:0;width:100%\"},Vr=function(e){var t=e.name,r=e.onFocus;return We(\"input\",{required:!0,name:t,tabIndex:-1,\"aria-hidden\":\"true\",onFocus:r,css:Ur,value:\"\",onChange:function(){}})},Hr={clearIndicator:tr,container:function(e){var t=e.isDisabled;return{label:\"container\",direction:e.isRtl?\"rtl\":void 0,pointerEvents:t?\"none\":void 0,position:\"relative\"}},control:function(e,t){var r=e.isDisabled,n=e.isFocused,i=e.theme,a=i.colors,o=i.borderRadius;return f({label:\"control\",alignItems:\"center\",cursor:\"default\",display:\"flex\",flexWrap:\"wrap\",justifyContent:\"space-between\",minHeight:i.spacing.controlHeight,outline:\"0 !important\",position:\"relative\",transition:\"all 100ms\"},t?{}:{backgroundColor:r?a.neutral5:a.neutral0,borderColor:r?a.neutral10:n?a.primary:a.neutral20,borderRadius:o,borderStyle:\"solid\",borderWidth:1,boxShadow:n?\"0 0 0 1px \".concat(a.primary):void 0,\"&:hover\":{borderColor:n?a.primary:a.neutral30}})},dropdownIndicator:er,group:function(e,t){var r=e.theme.spacing;return t?{}:{paddingBottom:2*r.baseUnit,paddingTop:2*r.baseUnit}},groupHeading:function(e,t){var r=e.theme,n=r.colors,i=r.spacing;return f({label:\"group\",cursor:\"default\",display:\"block\"},t?{}:{color:n.neutral40,fontSize:\"75%\",fontWeight:500,marginBottom:\"0.25em\",paddingLeft:3*i.baseUnit,paddingRight:3*i.baseUnit,textTransform:\"uppercase\"})},indicatorsContainer:function(){return{alignItems:\"center\",alignSelf:\"stretch\",display:\"flex\",flexShrink:0}},indicatorSeparator:function(e,t){var r=e.isDisabled,n=e.theme,i=n.spacing.baseUnit,a=n.colors;return f({label:\"indicatorSeparator\",alignSelf:\"stretch\",width:1},t?{}:{backgroundColor:r?a.neutral10:a.neutral20,marginBottom:2*i,marginTop:2*i})},input:function(e,t){var r=e.isDisabled,n=e.value,i=e.theme,a=i.spacing,o=i.colors;return f(f({visibility:r?\"hidden\":\"visible\",transform:n?\"translateZ(0)\":\"\"},sr),t?{}:{margin:a.baseUnit/2,paddingBottom:a.baseUnit/2,paddingTop:a.baseUnit/2,color:o.neutral80})},loadingIndicator:function(e,t){var r=e.isFocused,n=e.size,i=e.theme,a=i.colors,o=i.spacing.baseUnit;return f({label:\"loadingIndicator\",display:\"flex\",transition:\"color 150ms\",alignSelf:\"center\",fontSize:n,lineHeight:1,marginRight:n,textAlign:\"center\",verticalAlign:\"middle\"},t?{}:{color:r?a.neutral60:a.neutral20,padding:2*o})},loadingMessage:Yt,menu:function(e,t){var r,n=e.placement,i=e.theme,a=i.borderRadius,o=i.spacing,s=i.colors;return f((u(r={label:\"menu\"},function(e){return e?{bottom:\"top\",top:\"bottom\"}[e]:\"bottom\"}(n),\"100%\"),u(r,\"position\",\"absolute\"),u(r,\"width\",\"100%\"),u(r,\"zIndex\",1),r),t?{}:{backgroundColor:s.neutral0,borderRadius:a,boxShadow:\"0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)\",marginBottom:o.menuGutter,marginTop:o.menuGutter})},menuList:function(e,t){var r=e.maxHeight,n=e.theme.spacing.baseUnit;return f({maxHeight:r,overflowY:\"auto\",position:\"relative\",WebkitOverflowScrolling:\"touch\"},t?{}:{paddingBottom:n,paddingTop:n})},menuPortal:function(e){var t=e.rect,r=e.offset,n=e.position;return{left:t.left,position:n,top:r,width:t.width,zIndex:1}},multiValue:function(e,t){var r=e.theme,n=r.spacing,i=r.borderRadius,a=r.colors;return f({label:\"multiValue\",display:\"flex\",minWidth:0},t?{}:{backgroundColor:a.neutral10,borderRadius:i/2,margin:n.baseUnit/2})},multiValueLabel:function(e,t){var r=e.theme,n=r.borderRadius,i=r.colors,a=e.cropWithEllipsis;return f({overflow:\"hidden\",textOverflow:a||void 0===a?\"ellipsis\":void 0,whiteSpace:\"nowrap\"},t?{}:{borderRadius:n/2,color:i.neutral80,fontSize:\"85%\",padding:3,paddingLeft:6})},multiValueRemove:function(e,t){var r=e.theme,n=r.spacing,i=r.borderRadius,a=r.colors,o=e.isFocused;return f({alignItems:\"center\",display:\"flex\"},t?{}:{borderRadius:i/2,backgroundColor:o?a.dangerLight:void 0,paddingLeft:n.baseUnit,paddingRight:n.baseUnit,\":hover\":{backgroundColor:a.dangerLight,color:a.danger}})},noOptionsMessage:Gt,option:function(e,t){var r=e.isDisabled,n=e.isFocused,i=e.isSelected,a=e.theme,o=a.spacing,s=a.colors;return f({label:\"option\",cursor:\"default\",display:\"block\",fontSize:\"inherit\",width:\"100%\",userSelect:\"none\",WebkitTapHighlightColor:\"rgba(0, 0, 0, 0)\"},t?{}:{backgroundColor:i?s.primary:n?s.primary25:\"transparent\",color:r?s.neutral20:i?s.neutral0:\"inherit\",padding:\"\".concat(2*o.baseUnit,\"px \").concat(3*o.baseUnit,\"px\"),\":active\":{backgroundColor:r?void 0:i?s.primary:s.primary50}})},placeholder:function(e,t){var r=e.theme,n=r.spacing,i=r.colors;return f({label:\"placeholder\",gridArea:\"1 / 1 / 2 / 3\"},t?{}:{color:i.neutral50,marginLeft:n.baseUnit/2,marginRight:n.baseUnit/2})},singleValue:function(e,t){var r=e.isDisabled,n=e.theme,i=n.spacing,a=n.colors;return f({label:\"singleValue\",gridArea:\"1 / 1 / 2 / 3\",maxWidth:\"100%\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},t?{}:{color:r?a.neutral40:a.neutral80,marginLeft:i.baseUnit/2,marginRight:i.baseUnit/2})},valueContainer:function(e,t){var r=e.theme.spacing,n=e.isMulti,i=e.hasValue,a=e.selectProps.controlShouldRenderValue;return f({alignItems:\"center\",display:n&&i&&a?\"flex\":\"grid\",flex:1,flexWrap:\"wrap\",WebkitOverflowScrolling:\"touch\",position:\"relative\",overflow:\"hidden\"},t?{}:{padding:\"\".concat(r.baseUnit/2,\"px \").concat(2*r.baseUnit,\"px\")})}},qr={borderRadius:4,colors:{primary:\"#2684FF\",primary75:\"#4C9AFF\",primary50:\"#B2D4FF\",primary25:\"#DEEBFF\",danger:\"#DE350B\",dangerLight:\"#FFBDAD\",neutral0:\"hsl(0, 0%, 100%)\",neutral5:\"hsl(0, 0%, 95%)\",neutral10:\"hsl(0, 0%, 90%)\",neutral20:\"hsl(0, 0%, 80%)\",neutral30:\"hsl(0, 0%, 70%)\",neutral40:\"hsl(0, 0%, 60%)\",neutral50:\"hsl(0, 0%, 50%)\",neutral60:\"hsl(0, 0%, 40%)\",neutral70:\"hsl(0, 0%, 30%)\",neutral80:\"hsl(0, 0%, 20%)\",neutral90:\"hsl(0, 0%, 10%)\"},spacing:{baseUnit:4,controlHeight:38,menuGutter:8}},Gr={\"aria-live\":\"polite\",backspaceRemovesValue:!0,blurInputOnSelect:Ct(),captureMenuScroll:!Ct(),classNames:{},closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:function(e,t){if(e.data.__isNew__)return!0;var r=f({ignoreCase:!0,ignoreAccents:!0,stringify:Ar,trim:!0,matchFrom:\"any\"},undefined),n=r.ignoreCase,i=r.ignoreAccents,a=r.stringify,o=r.trim,s=r.matchFrom,l=o?Mr(t):t,u=o?Mr(a(e)):a(e);return n&&(l=l.toLowerCase(),u=u.toLowerCase()),i&&(l=Tr(l),u=kr(u)),\"start\"===s?u.substr(0,l.length)===l:u.indexOf(l)>-1},formatGroupLabel:function(e){return e.label},getOptionLabel:function(e){return e.label},getOptionValue:function(e){return e.value},isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:function(e){return!!e.isDisabled},loadingMessage:function(){return\"Loading...\"},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:\"bottom\",menuPosition:\"absolute\",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!function(){try{return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}catch(e){return!1}}(),noOptionsMessage:function(){return\"No options\"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:\"Select...\",screenReaderStatus:function(e){var t=e.count;return\"\".concat(t,\" result\").concat(1!==t?\"s\":\"\",\" available\")},styles:{},tabIndex:0,tabSelectsValue:!0,unstyled:!1};function Yr(e,t,r,n){return{type:\"option\",data:t,isDisabled:$r(e,t,r),isSelected:Qr(e,t,r),label:Kr(e,t),value:Jr(e,t),index:n}}function Wr(e,t){return e.options.map((function(r,n){if(\"options\"in r){var i=r.options.map((function(r,n){return Yr(e,r,t,n)})).filter((function(t){return Xr(e,t)}));return i.length>0?{type:\"group\",data:r,options:i,index:n}:void 0}var a=Yr(e,r,t,n);return Xr(e,a)?a:void 0})).filter(Dt)}function Zr(e){return e.reduce((function(e,t){return\"group\"===t.type?e.push.apply(e,w(t.options.map((function(e){return e.data})))):e.push(t.data),e}),[])}function Xr(e,t){var r=e.inputValue,n=void 0===r?\"\":r,i=t.data,a=t.isSelected,o=t.label,s=t.value;return(!tn(e)||!a)&&en(e,{label:o,value:s,data:i},n)}var Kr=function(e,t){return e.getOptionLabel(t)},Jr=function(e,t){return e.getOptionValue(t)};function $r(e,t,r){return\"function\"==typeof e.isOptionDisabled&&e.isOptionDisabled(t,r)}function Qr(e,t,r){if(r.indexOf(t)>-1)return!0;if(\"function\"==typeof e.isOptionSelected)return e.isOptionSelected(t,r);var n=Jr(e,t);return r.some((function(t){return Jr(e,t)===n}))}function en(e,t,r){return!e.filterOption||e.filterOption(t,r)}var tn=function(e){var t=e.hideSelectedOptions,r=e.isMulti;return void 0===t?r:t},rn=1,nn=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&x(e,t)}(o,e);var t,r,i,a=_(o);function o(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,o),(t=a.call(this,e)).state={ariaSelection:null,focusedOption:null,focusedValue:null,inputIsHidden:!1,isFocused:!1,selectValue:[],clearFocusValueOnUpdate:!1,prevWasFocused:!1,inputIsHiddenAfterUpdate:void 0,prevProps:void 0},t.blockOptionHover=!1,t.isComposing=!1,t.commonProps=void 0,t.initialTouchX=0,t.initialTouchY=0,t.instancePrefix=\"\",t.openAfterFocus=!1,t.scrollToFocusedOptionOnUpdate=!1,t.userIsDragging=void 0,t.controlRef=null,t.getControlRef=function(e){t.controlRef=e},t.focusedOptionRef=null,t.getFocusedOptionRef=function(e){t.focusedOptionRef=e},t.menuListRef=null,t.getMenuListRef=function(e){t.menuListRef=e},t.inputRef=null,t.getInputRef=function(e){t.inputRef=e},t.focus=t.focusInput,t.blur=t.blurInput,t.onChange=function(e,r){var n=t.props,i=n.onChange,a=n.name;r.name=a,t.ariaOnChange(e,r),i(e,r)},t.setValue=function(e,r,n){var i=t.props,a=i.closeMenuOnSelect,o=i.isMulti,s=i.inputValue;t.onInputChange(\"\",{action:\"set-value\",prevInputValue:s}),a&&(t.setState({inputIsHiddenAfterUpdate:!o}),t.onMenuClose()),t.setState({clearFocusValueOnUpdate:!0}),t.onChange(e,{action:r,option:n})},t.selectOption=function(e){var r=t.props,n=r.blurInputOnSelect,i=r.isMulti,a=r.name,o=t.state.selectValue,s=i&&t.isOptionSelected(e,o),l=t.isOptionDisabled(e,o);if(s){var u=t.getOptionValue(e);t.setValue(o.filter((function(e){return t.getOptionValue(e)!==u})),\"deselect-option\",e)}else{if(l)return void t.ariaOnChange(e,{action:\"select-option\",option:e,name:a});i?t.setValue([].concat(w(o),[e]),\"select-option\",e):t.setValue(e,\"select-option\")}n&&t.blurInput()},t.removeValue=function(e){var r=t.props.isMulti,n=t.state.selectValue,i=t.getOptionValue(e),a=n.filter((function(e){return t.getOptionValue(e)!==i})),o=zt(r,a,a[0]||null);t.onChange(o,{action:\"remove-value\",removedValue:e}),t.focusInput()},t.clearValue=function(){var e=t.state.selectValue;t.onChange(zt(t.props.isMulti,[],null),{action:\"clear\",removedValues:e})},t.popValue=function(){var e=t.props.isMulti,r=t.state.selectValue,n=r[r.length-1],i=r.slice(0,r.length-1),a=zt(e,i,i[0]||null);t.onChange(a,{action:\"pop-value\",removedValue:n})},t.getValue=function(){return t.state.selectValue},t.cx=function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return bt.apply(void 0,[t.props.classNamePrefix].concat(r))},t.getOptionLabel=function(e){return Kr(t.props,e)},t.getOptionValue=function(e){return Jr(t.props,e)},t.getStyles=function(e,r){var n=t.props.unstyled,i=Hr[e](r,n);i.boxSizing=\"border-box\";var a=t.props.styles[e];return a?a(i,r):i},t.getClassNames=function(e,r){var n,i;return null===(n=(i=t.props.classNames)[e])||void 0===n?void 0:n.call(i,r)},t.getElementId=function(e){return\"\".concat(t.instancePrefix,\"-\").concat(e)},t.getComponents=function(){return e=t.props,f(f({},cr),e.components);var e},t.buildCategorizedOptions=function(){return Wr(t.props,t.state.selectValue)},t.getCategorizedOptions=function(){return t.props.menuIsOpen?t.buildCategorizedOptions():[]},t.buildFocusableOptions=function(){return Zr(t.buildCategorizedOptions())},t.getFocusableOptions=function(){return t.props.menuIsOpen?t.buildFocusableOptions():[]},t.ariaOnChange=function(e,r){t.setState({ariaSelection:f({value:e},r)})},t.onMenuMouseDown=function(e){0===e.button&&(e.stopPropagation(),e.preventDefault(),t.focusInput())},t.onMenuMouseMove=function(e){t.blockOptionHover=!1},t.onControlMouseDown=function(e){if(!e.defaultPrevented){var r=t.props.openMenuOnClick;t.state.isFocused?t.props.menuIsOpen?\"INPUT\"!==e.target.tagName&&\"TEXTAREA\"!==e.target.tagName&&t.onMenuClose():r&&t.openMenu(\"first\"):(r&&(t.openAfterFocus=!0),t.focusInput()),\"INPUT\"!==e.target.tagName&&\"TEXTAREA\"!==e.target.tagName&&e.preventDefault()}},t.onDropdownIndicatorMouseDown=function(e){if(!(e&&\"mousedown\"===e.type&&0!==e.button||t.props.isDisabled)){var r=t.props,n=r.isMulti,i=r.menuIsOpen;t.focusInput(),i?(t.setState({inputIsHiddenAfterUpdate:!n}),t.onMenuClose()):t.openMenu(\"first\"),e.preventDefault()}},t.onClearIndicatorMouseDown=function(e){e&&\"mousedown\"===e.type&&0!==e.button||(t.clearValue(),e.preventDefault(),t.openAfterFocus=!1,\"touchend\"===e.type?t.focusInput():setTimeout((function(){return t.focusInput()})))},t.onScroll=function(e){\"boolean\"==typeof t.props.closeMenuOnScroll?e.target instanceof HTMLElement&&Tt(e.target)&&t.props.onMenuClose():\"function\"==typeof t.props.closeMenuOnScroll&&t.props.closeMenuOnScroll(e)&&t.props.onMenuClose()},t.onCompositionStart=function(){t.isComposing=!0},t.onCompositionEnd=function(){t.isComposing=!1},t.onTouchStart=function(e){var r=e.touches,n=r&&r.item(0);n&&(t.initialTouchX=n.clientX,t.initialTouchY=n.clientY,t.userIsDragging=!1)},t.onTouchMove=function(e){var r=e.touches,n=r&&r.item(0);if(n){var i=Math.abs(n.clientX-t.initialTouchX),a=Math.abs(n.clientY-t.initialTouchY);t.userIsDragging=i>5||a>5}},t.onTouchEnd=function(e){t.userIsDragging||(t.controlRef&&!t.controlRef.contains(e.target)&&t.menuListRef&&!t.menuListRef.contains(e.target)&&t.blurInput(),t.initialTouchX=0,t.initialTouchY=0)},t.onControlTouchEnd=function(e){t.userIsDragging||t.onControlMouseDown(e)},t.onClearIndicatorTouchEnd=function(e){t.userIsDragging||t.onClearIndicatorMouseDown(e)},t.onDropdownIndicatorTouchEnd=function(e){t.userIsDragging||t.onDropdownIndicatorMouseDown(e)},t.handleInputChange=function(e){var r=t.props.inputValue,n=e.currentTarget.value;t.setState({inputIsHiddenAfterUpdate:!1}),t.onInputChange(n,{action:\"input-change\",prevInputValue:r}),t.props.menuIsOpen||t.onMenuOpen()},t.onInputFocus=function(e){t.props.onFocus&&t.props.onFocus(e),t.setState({inputIsHiddenAfterUpdate:!1,isFocused:!0}),(t.openAfterFocus||t.props.openMenuOnFocus)&&t.openMenu(\"first\"),t.openAfterFocus=!1},t.onInputBlur=function(e){var r=t.props.inputValue;t.menuListRef&&t.menuListRef.contains(document.activeElement)?t.inputRef.focus():(t.props.onBlur&&t.props.onBlur(e),t.onInputChange(\"\",{action:\"input-blur\",prevInputValue:r}),t.onMenuClose(),t.setState({focusedValue:null,isFocused:!1}))},t.onOptionHover=function(e){t.blockOptionHover||t.state.focusedOption===e||t.setState({focusedOption:e})},t.shouldHideSelectedOptions=function(){return tn(t.props)},t.onValueInputFocus=function(e){e.preventDefault(),e.stopPropagation(),t.focus()},t.onKeyDown=function(e){var r=t.props,n=r.isMulti,i=r.backspaceRemovesValue,a=r.escapeClearsValue,o=r.inputValue,s=r.isClearable,l=r.isDisabled,u=r.menuIsOpen,c=r.onKeyDown,f=r.tabSelectsValue,h=r.openMenuOnFocus,p=t.state,d=p.focusedOption,v=p.focusedValue,g=p.selectValue;if(!(l||\"function\"==typeof c&&(c(e),e.defaultPrevented))){switch(t.blockOptionHover=!0,e.key){case\"ArrowLeft\":if(!n||o)return;t.focusValue(\"previous\");break;case\"ArrowRight\":if(!n||o)return;t.focusValue(\"next\");break;case\"Delete\":case\"Backspace\":if(o)return;if(v)t.removeValue(v);else{if(!i)return;n?t.popValue():s&&t.clearValue()}break;case\"Tab\":if(t.isComposing)return;if(e.shiftKey||!u||!f||!d||h&&t.isOptionSelected(d,g))return;t.selectOption(d);break;case\"Enter\":if(229===e.keyCode)break;if(u){if(!d)return;if(t.isComposing)return;t.selectOption(d);break}return;case\"Escape\":u?(t.setState({inputIsHiddenAfterUpdate:!1}),t.onInputChange(\"\",{action:\"menu-close\",prevInputValue:o}),t.onMenuClose()):s&&a&&t.clearValue();break;case\" \":if(o)return;if(!u){t.openMenu(\"first\");break}if(!d)return;t.selectOption(d);break;case\"ArrowUp\":u?t.focusOption(\"up\"):t.openMenu(\"last\");break;case\"ArrowDown\":u?t.focusOption(\"down\"):t.openMenu(\"first\");break;case\"PageUp\":if(!u)return;t.focusOption(\"pageup\");break;case\"PageDown\":if(!u)return;t.focusOption(\"pagedown\");break;case\"Home\":if(!u)return;t.focusOption(\"first\");break;case\"End\":if(!u)return;t.focusOption(\"last\");break;default:return}e.preventDefault()}},t.instancePrefix=\"react-select-\"+(t.props.instanceId||++rn),t.state.selectValue=_t(e.value),e.menuIsOpen&&t.state.selectValue.length){var r=t.buildFocusableOptions(),n=r.indexOf(t.state.selectValue[0]);t.state.focusedOption=r[n]}return t}return t=o,r=[{key:\"componentDidMount\",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener(\"scroll\",this.onScroll,!0),this.props.autoFocus&&this.focusInput(),this.props.menuIsOpen&&this.state.focusedOption&&this.menuListRef&&this.focusedOptionRef&&Et(this.menuListRef,this.focusedOptionRef)}},{key:\"componentDidUpdate\",value:function(e){var t=this.props,r=t.isDisabled,n=t.menuIsOpen,i=this.state.isFocused;(i&&!r&&e.isDisabled||i&&n&&!e.menuIsOpen)&&this.focusInput(),i&&r&&!e.isDisabled?this.setState({isFocused:!1},this.onMenuClose):i||r||!e.isDisabled||this.inputRef!==document.activeElement||this.setState({isFocused:!0}),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(Et(this.menuListRef,this.focusedOptionRef),this.scrollToFocusedOptionOnUpdate=!1)}},{key:\"componentWillUnmount\",value:function(){this.stopListeningComposition(),this.stopListeningToTouch(),document.removeEventListener(\"scroll\",this.onScroll,!0)}},{key:\"onMenuOpen\",value:function(){this.props.onMenuOpen()}},{key:\"onMenuClose\",value:function(){this.onInputChange(\"\",{action:\"menu-close\",prevInputValue:this.props.inputValue}),this.props.onMenuClose()}},{key:\"onInputChange\",value:function(e,t){this.props.onInputChange(e,t)}},{key:\"focusInput\",value:function(){this.inputRef&&this.inputRef.focus()}},{key:\"blurInput\",value:function(){this.inputRef&&this.inputRef.blur()}},{key:\"openMenu\",value:function(e){var t=this,r=this.state,n=r.selectValue,i=r.isFocused,a=this.buildFocusableOptions(),o=\"first\"===e?0:a.length-1;if(!this.props.isMulti){var s=a.indexOf(n[0]);s>-1&&(o=s)}this.scrollToFocusedOptionOnUpdate=!(i&&this.menuListRef),this.setState({inputIsHiddenAfterUpdate:!1,focusedValue:null,focusedOption:a[o]},(function(){return t.onMenuOpen()}))}},{key:\"focusValue\",value:function(e){var t=this.state,r=t.selectValue,n=t.focusedValue;if(this.props.isMulti){this.setState({focusedOption:null});var i=r.indexOf(n);n||(i=-1);var a=r.length-1,o=-1;if(r.length){switch(e){case\"previous\":o=0===i?0:-1===i?a:i-1;break;case\"next\":i>-1&&i<a&&(o=i+1)}this.setState({inputIsHidden:-1!==o,focusedValue:r[o]})}}}},{key:\"focusOption\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"first\",t=this.props.pageSize,r=this.state.focusedOption,n=this.getFocusableOptions();if(n.length){var i=0,a=n.indexOf(r);r||(a=-1),\"up\"===e?i=a>0?a-1:n.length-1:\"down\"===e?i=(a+1)%n.length:\"pageup\"===e?(i=a-t)<0&&(i=0):\"pagedown\"===e?(i=a+t)>n.length-1&&(i=n.length-1):\"last\"===e&&(i=n.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:n[i],focusedValue:null})}}},{key:\"getTheme\",value:function(){return this.props.theme?\"function\"==typeof this.props.theme?this.props.theme(qr):f(f({},qr),this.props.theme):qr}},{key:\"getCommonProps\",value:function(){var e=this.clearValue,t=this.cx,r=this.getStyles,n=this.getClassNames,i=this.getValue,a=this.selectOption,o=this.setValue,s=this.props,l=s.isMulti,u=s.isRtl,c=s.options;return{clearValue:e,cx:t,getStyles:r,getClassNames:n,getValue:i,hasValue:this.hasValue(),isMulti:l,isRtl:u,options:c,selectOption:a,selectProps:s,setValue:o,theme:this.getTheme()}}},{key:\"hasValue\",value:function(){return this.state.selectValue.length>0}},{key:\"hasOptions\",value:function(){return!!this.getFocusableOptions().length}},{key:\"isClearable\",value:function(){var e=this.props,t=e.isClearable,r=e.isMulti;return void 0===t?r:t}},{key:\"isOptionDisabled\",value:function(e,t){return $r(this.props,e,t)}},{key:\"isOptionSelected\",value:function(e,t){return Qr(this.props,e,t)}},{key:\"filterOption\",value:function(e,t){return en(this.props,e,t)}},{key:\"formatOptionLabel\",value:function(e,t){if(\"function\"==typeof this.props.formatOptionLabel){var r=this.props.inputValue,n=this.state.selectValue;return this.props.formatOptionLabel(e,{context:t,inputValue:r,selectValue:n})}return this.getOptionLabel(e)}},{key:\"formatGroupLabel\",value:function(e){return this.props.formatGroupLabel(e)}},{key:\"startListeningComposition\",value:function(){document&&document.addEventListener&&(document.addEventListener(\"compositionstart\",this.onCompositionStart,!1),document.addEventListener(\"compositionend\",this.onCompositionEnd,!1))}},{key:\"stopListeningComposition\",value:function(){document&&document.removeEventListener&&(document.removeEventListener(\"compositionstart\",this.onCompositionStart),document.removeEventListener(\"compositionend\",this.onCompositionEnd))}},{key:\"startListeningToTouch\",value:function(){document&&document.addEventListener&&(document.addEventListener(\"touchstart\",this.onTouchStart,!1),document.addEventListener(\"touchmove\",this.onTouchMove,!1),document.addEventListener(\"touchend\",this.onTouchEnd,!1))}},{key:\"stopListeningToTouch\",value:function(){document&&document.removeEventListener&&(document.removeEventListener(\"touchstart\",this.onTouchStart),document.removeEventListener(\"touchmove\",this.onTouchMove),document.removeEventListener(\"touchend\",this.onTouchEnd))}},{key:\"renderInput\",value:function(){var e=this.props,t=e.isDisabled,r=e.isSearchable,i=e.inputId,a=e.inputValue,o=e.tabIndex,s=e.form,l=e.menuIsOpen,u=e.required,c=this.getComponents().Input,h=this.state,p=h.inputIsHidden,d=h.ariaSelection,v=this.commonProps,g=i||this.getElementId(\"input\"),y=f(f(f({\"aria-autocomplete\":\"list\",\"aria-expanded\":l,\"aria-haspopup\":!0,\"aria-errormessage\":this.props[\"aria-errormessage\"],\"aria-invalid\":this.props[\"aria-invalid\"],\"aria-label\":this.props[\"aria-label\"],\"aria-labelledby\":this.props[\"aria-labelledby\"],\"aria-required\":u,role:\"combobox\"},l&&{\"aria-controls\":this.getElementId(\"listbox\"),\"aria-owns\":this.getElementId(\"listbox\")}),!r&&{\"aria-readonly\":!0}),this.hasValue()?\"initial-input-focus\"===(null==d?void 0:d.action)&&{\"aria-describedby\":this.getElementId(\"live-region\")}:{\"aria-describedby\":this.getElementId(\"placeholder\")});return r?n.createElement(c,m({},v,{autoCapitalize:\"none\",autoComplete:\"off\",autoCorrect:\"off\",id:g,innerRef:this.getInputRef,isDisabled:t,isHidden:p,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,spellCheck:\"false\",tabIndex:o,form:s,type:\"text\",value:a},y)):n.createElement(Er,m({id:g,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:yt,onFocus:this.onInputFocus,disabled:t,tabIndex:o,inputMode:\"none\",form:s,value:\"\"},y))}},{key:\"renderPlaceholderOrValue\",value:function(){var e=this,t=this.getComponents(),r=t.MultiValue,i=t.MultiValueContainer,a=t.MultiValueLabel,o=t.MultiValueRemove,s=t.SingleValue,l=t.Placeholder,u=this.commonProps,c=this.props,f=c.controlShouldRenderValue,h=c.isDisabled,p=c.isMulti,d=c.inputValue,v=c.placeholder,g=this.state,y=g.selectValue,x=g.focusedValue,b=g.isFocused;if(!this.hasValue()||!f)return d?null:n.createElement(l,m({},u,{key:\"placeholder\",isDisabled:h,isFocused:b,innerProps:{id:this.getElementId(\"placeholder\")}}),v);if(p)return y.map((function(t,s){var l=t===x,c=\"\".concat(e.getOptionLabel(t),\"-\").concat(e.getOptionValue(t));return n.createElement(r,m({},u,{components:{Container:i,Label:a,Remove:o},isFocused:l,isDisabled:h,key:c,index:s,removeProps:{onClick:function(){return e.removeValue(t)},onTouchEnd:function(){return e.removeValue(t)},onMouseDown:function(e){e.preventDefault()}},data:t}),e.formatOptionLabel(t,\"value\"))}));if(d)return null;var _=y[0];return n.createElement(s,m({},u,{data:_,isDisabled:h}),this.formatOptionLabel(_,\"value\"))}},{key:\"renderClearIndicator\",value:function(){var e=this.getComponents().ClearIndicator,t=this.commonProps,r=this.props,i=r.isDisabled,a=r.isLoading,o=this.state.isFocused;if(!this.isClearable()||!e||i||!this.hasValue()||a)return null;var s={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,\"aria-hidden\":\"true\"};return n.createElement(e,m({},t,{innerProps:s,isFocused:o}))}},{key:\"renderLoadingIndicator\",value:function(){var e=this.getComponents().LoadingIndicator,t=this.commonProps,r=this.props,i=r.isDisabled,a=r.isLoading,o=this.state.isFocused;return e&&a?n.createElement(e,m({},t,{innerProps:{\"aria-hidden\":\"true\"},isDisabled:i,isFocused:o})):null}},{key:\"renderIndicatorSeparator\",value:function(){var e=this.getComponents(),t=e.DropdownIndicator,r=e.IndicatorSeparator;if(!t||!r)return null;var i=this.commonProps,a=this.props.isDisabled,o=this.state.isFocused;return n.createElement(r,m({},i,{isDisabled:a,isFocused:o}))}},{key:\"renderDropdownIndicator\",value:function(){var e=this.getComponents().DropdownIndicator;if(!e)return null;var t=this.commonProps,r=this.props.isDisabled,i=this.state.isFocused,a={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,\"aria-hidden\":\"true\"};return n.createElement(e,m({},t,{innerProps:a,isDisabled:r,isFocused:i}))}},{key:\"renderMenu\",value:function(){var e=this,t=this.getComponents(),r=t.Group,i=t.GroupHeading,a=t.Menu,o=t.MenuList,s=t.MenuPortal,l=t.LoadingMessage,u=t.NoOptionsMessage,c=t.Option,f=this.commonProps,h=this.state.focusedOption,p=this.props,d=p.captureMenuScroll,v=p.inputValue,g=p.isLoading,y=p.loadingMessage,x=p.minMenuHeight,b=p.maxMenuHeight,_=p.menuIsOpen,w=p.menuPlacement,k=p.menuPosition,T=p.menuPortalTarget,M=p.menuShouldBlockScroll,A=p.menuShouldScrollIntoView,S=p.noOptionsMessage,E=p.onMenuScrollToTop,C=p.onMenuScrollToBottom;if(!_)return null;var L,P=function(t,r){var i=t.type,a=t.data,o=t.isDisabled,s=t.isSelected,l=t.label,u=t.value,p=h===a,d=o?void 0:function(){return e.onOptionHover(a)},v=o?void 0:function(){return e.selectOption(a)},g=\"\".concat(e.getElementId(\"option\"),\"-\").concat(r),y={id:g,onClick:v,onMouseMove:d,onMouseOver:d,tabIndex:-1};return n.createElement(c,m({},f,{innerProps:y,data:a,isDisabled:o,isSelected:s,key:g,label:l,type:i,value:u,isFocused:p,innerRef:p?e.getFocusedOptionRef:void 0}),e.formatOptionLabel(t.data,\"menu\"))};if(this.hasOptions())L=this.getCategorizedOptions().map((function(t){if(\"group\"===t.type){var a=t.data,o=t.options,s=t.index,l=\"\".concat(e.getElementId(\"group\"),\"-\").concat(s),u=\"\".concat(l,\"-heading\");return n.createElement(r,m({},f,{key:l,data:a,options:o,Heading:i,headingProps:{id:u,data:t.data},label:e.formatGroupLabel(t.data)}),t.options.map((function(e){return P(e,\"\".concat(s,\"-\").concat(e.index))})))}if(\"option\"===t.type)return P(t,\"\".concat(t.index))}));else if(g){var O=y({inputValue:v});if(null===O)return null;L=n.createElement(l,f,O)}else{var I=S({inputValue:v});if(null===I)return null;L=n.createElement(u,f,I)}var D={minMenuHeight:x,maxMenuHeight:b,menuPlacement:w,menuPosition:k,menuShouldScrollIntoView:A},z=n.createElement(Ht,m({},f,D),(function(t){var r=t.ref,i=t.placerProps,s=i.placement,l=i.maxHeight;return n.createElement(a,m({},f,D,{innerRef:r,innerProps:{onMouseDown:e.onMenuMouseDown,onMouseMove:e.onMenuMouseMove,id:e.getElementId(\"listbox\")},isLoading:g,placement:s}),n.createElement(jr,{captureEnabled:d,onTopArrive:E,onBottomArrive:C,lockEnabled:M},(function(t){return n.createElement(o,m({},f,{innerRef:function(r){e.getMenuListRef(r),t(r)},isLoading:g,maxHeight:l,focusedOption:h}),L)})))}));return T||\"fixed\"===k?n.createElement(s,m({},f,{appendTo:T,controlElement:this.controlRef,menuPlacement:w,menuPosition:k}),z):z}},{key:\"renderFormField\",value:function(){var e=this,t=this.props,r=t.delimiter,i=t.isDisabled,a=t.isMulti,o=t.name,s=t.required,l=this.state.selectValue;if(s&&!this.hasValue()&&!i)return n.createElement(Vr,{name:o,onFocus:this.onValueInputFocus});if(o&&!i){if(a){if(r){var u=l.map((function(t){return e.getOptionValue(t)})).join(r);return n.createElement(\"input\",{name:o,type:\"hidden\",value:u})}var c=l.length>0?l.map((function(t,r){return n.createElement(\"input\",{key:\"i-\".concat(r),name:o,type:\"hidden\",value:e.getOptionValue(t)})})):n.createElement(\"input\",{name:o,type:\"hidden\",value:\"\"});return n.createElement(\"div\",null,c)}var f=l[0]?this.getOptionValue(l[0]):\"\";return n.createElement(\"input\",{name:o,type:\"hidden\",value:f})}}},{key:\"renderLiveRegion\",value:function(){var e=this.commonProps,t=this.state,r=t.ariaSelection,i=t.focusedOption,a=t.focusedValue,o=t.isFocused,s=t.selectValue,l=this.getFocusableOptions();return n.createElement(gr,m({},e,{id:this.getElementId(\"live-region\"),ariaSelection:r,focusedOption:i,focusedValue:a,isFocused:o,selectValue:s,focusableOptions:l}))}},{key:\"render\",value:function(){var e=this.getComponents(),t=e.Control,r=e.IndicatorsContainer,i=e.SelectContainer,a=e.ValueContainer,o=this.props,s=o.className,l=o.id,u=o.isDisabled,c=o.menuIsOpen,f=this.state.isFocused,h=this.commonProps=this.getCommonProps();return n.createElement(i,m({},h,{className:s,innerProps:{id:l,onKeyDown:this.onKeyDown},isDisabled:u,isFocused:f}),this.renderLiveRegion(),n.createElement(t,m({},h,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:u,isFocused:f,menuIsOpen:c}),n.createElement(a,m({},h,{isDisabled:u}),this.renderPlaceholderOrValue(),this.renderInput()),n.createElement(r,m({},h,{isDisabled:u}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}],i=[{key:\"getDerivedStateFromProps\",value:function(e,t){var r=t.prevProps,n=t.clearFocusValueOnUpdate,i=t.inputIsHiddenAfterUpdate,a=t.ariaSelection,o=t.isFocused,s=t.prevWasFocused,l=e.options,u=e.value,c=e.menuIsOpen,h=e.inputValue,p=e.isMulti,d=_t(u),v={};if(r&&(u!==r.value||l!==r.options||c!==r.menuIsOpen||h!==r.inputValue)){var g=c?function(e,t){return Zr(Wr(e,t))}(e,d):[],m=n?function(e,t){var r=e.focusedValue,n=e.selectValue.indexOf(r);if(n>-1){if(t.indexOf(r)>-1)return r;if(n<t.length)return t[n]}return null}(t,d):null,y=function(e,t){var r=e.focusedOption;return r&&t.indexOf(r)>-1?r:t[0]}(t,g);v={selectValue:d,focusedOption:y,focusedValue:m,clearFocusValueOnUpdate:!1}}var x=null!=i&&e!==r?{inputIsHidden:i,inputIsHiddenAfterUpdate:void 0}:{},b=a,_=o&&s;return o&&!_&&(b={value:zt(p,d,d[0]||null),options:d,action:\"initial-input-focus\"},_=!s),\"initial-input-focus\"===(null==a?void 0:a.action)&&(b=null),f(f(f({},v),x),{},{prevProps:e,ariaSelection:b,prevWasFocused:_})}}],r&&y(t.prototype,r),i&&y(t,i),Object.defineProperty(t,\"prototype\",{writable:!1}),o}(n.Component);nn.defaultProps=Gr;var an,on=(0,n.forwardRef)((function(e,t){var r=function(e){var t=e.defaultInputValue,r=void 0===t?\"\":t,i=e.defaultMenuIsOpen,a=void 0!==i&&i,o=e.defaultValue,s=void 0===o?null:o,l=e.inputValue,u=e.menuIsOpen,c=e.onChange,h=e.onInputChange,p=e.onMenuClose,m=e.onMenuOpen,y=e.value,x=v(e,g),b=d((0,n.useState)(void 0!==l?l:r),2),_=b[0],w=b[1],k=d((0,n.useState)(void 0!==u?u:a),2),T=k[0],M=k[1],A=d((0,n.useState)(void 0!==y?y:s),2),S=A[0],E=A[1],C=(0,n.useCallback)((function(e,t){\"function\"==typeof c&&c(e,t),E(e)}),[c]),L=(0,n.useCallback)((function(e,t){var r;\"function\"==typeof h&&(r=h(e,t)),w(void 0!==r?r:e)}),[h]),P=(0,n.useCallback)((function(){\"function\"==typeof m&&m(),M(!0)}),[m]),O=(0,n.useCallback)((function(){\"function\"==typeof p&&p(),M(!1)}),[p]),I=void 0!==l?l:_,D=void 0!==u?u:T,z=void 0!==y?y:S;return f(f({},x),{},{inputValue:I,menuIsOpen:D,onChange:C,onInputChange:L,onMenuClose:O,onMenuOpen:P,value:z})}(e);return n.createElement(nn,m({ref:t},r))})),sn=on,ln=r(9459),un=r.n(ln),cn=r(3379),fn=r.n(cn),hn=r(7795),pn=r.n(hn),dn=r(569),vn=r.n(dn),gn=r(3565),mn=r.n(gn),yn=r(9216),xn=r.n(yn),bn=r(4589),_n=r.n(bn),wn=r(8099),kn={};function Tn(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}kn.styleTagTransform=_n(),kn.setAttributes=mn(),kn.insert=vn().bind(null,\"head\"),kn.domAPI=pn(),kn.insertStyleElement=xn(),fn()(wn.Z,kn),wn.Z&&wn.Z.locals&&wn.Z.locals,e=r.hmd(e),(an=\"undefined\"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.enterModule:void 0)&&an(e);var Mn=\"undefined\"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.default.signature:function(e){return e},An=function(e){var t=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=r){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}(e,t)||function(e,t){if(e){if(\"string\"==typeof e)return Tn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Tn(e,t):void 0}}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}((0,n.useState)(e.defaultSelectValue),2),r=t[0],i=t[1],a=function(e){i(e.value)};Mn(a,\"useSelectedOption{}\",(function(){return[i]}));var s=function(e){var t=[];t.push({value:-1,label:\"Summary\"});for(var r=function(r){var n=e.columns.slice(0,3).map((function(t){return\"\".concat(t,\" (\").concat(e.data[r][t],\")\")})).join(\" | \"),i=\"\".concat(r,\" : \").concat(n),a={value:r,label:i};t.push(a)},n=0;n<e.data.length;n++)r(n);return t}(e.explanations.selector),l=n.createElement(sn,{onChange:a,options:s,defaultValue:s[e.defaultSelectValue+1]}),u=n.createElement(\"div\",{className:\"iml-empty-space\"}),c=null,f=\"\";if(null!==r){f=e.explanations.name;var h=null,p=null,d=null;if(-1===r){var v=e.explanations.overall;h=v.figure,p=v.type,d=v.help}else{var g=e.explanations.specific[r];h=g.figure,p=g.type,d=g.help}if(\"none\"===p)u=n.createElement(\"div\",{className:\"iml-center-no-graph\"},n.createElement(\"h1\",null,\"No Overall Graph\"));else if(\"plotly\"===p){var m=h.data,y=JSON.parse(JSON.stringify(h.layout));if(y.autosize=!0,u=n.createElement(o.Z,{data:m,layout:y,style:{width:\"100%\",height:\"100%\"},useResizeHandler:!0}),d&&Object.keys(d).length>0){var x=null,b=d.text.trim();d.link&&(b+=\" \",x=n.createElement(\"a\",{href:d.link},\"Learn more\")),c=n.createElement(\"div\",{className:\"iml-card-help\"},b,x)}}else if(\"html\"===p)u=n.createElement(\"iframe\",{src:h,referrerPolicy:\"no-referrer\",sandbox:\"allow-same-origin allow-scripts\",className:\"iml-renderable-frame\"});else if(\"cytoscape\"===p){var _=JSON.parse(h);u=n.createElement(un(),{elements:_.elements,style:_.style,stylesheet:_.stylesheet,layout:_.layout})}else console.log(\"Type \".concat(p,\" not renderable.\"))}return n.createElement(\"div\",{className:\"iml-root\"},n.createElement(\"div\",{className:\"iml-card\"},n.createElement(\"div\",{className:\"iml-card-header\"},n.createElement(\"div\",{className:\"iml-card-title\"},\"Select Component to Graph\")),n.createElement(\"div\",{className:\"iml-card-body\"},l)),n.createElement(\"div\",{className:\"iml-card\"},n.createElement(\"div\",{className:\"iml-card-header\"},n.createElement(\"div\",{className:\"iml-card-title\"},f)),n.createElement(\"div\",{className:\"iml-card-body iml-card-renderable\"},u),c))};Mn(An,\"useState{[selectedOption, useSelectedOption](props.defaultSelectValue)}\");var Sn,En,Cn=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1,i=document.getElementById(e);a.render(n.createElement(An,{explanations:t,defaultSelectValue:r}),i)};(Sn=\"undefined\"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.default:void 0)&&(Sn.register(An,\"App\",\"/home/vsts/work/1/s/shared/vis/src/index.js\"),Sn.register(Cn,\"RenderApp\",\"/home/vsts/work/1/s/shared/vis/src/index.js\")),(En=\"undefined\"!=typeof reactHotLoaderGlobal?reactHotLoaderGlobal.leaveModule:void 0)&&En(e)},8099:(e,t,r)=>{\"use strict\";r.d(t,{Z:()=>s});var n=r(8081),i=r.n(n),a=r(3645),o=r.n(a)()(i());o.push([e.id,'.iml-center-no-graph{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.iml-center-no-graph h1{padding:0;margin:0}.iml-renderable-frame{border:0;height:390px;width:100%}.iml-root{height:700px;width:100%;font-size:62.5%;line-height:1.6;font-weight:400;font-family:\"Open Sans\", \"HelveticaNeue\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;color:#323232}.iml-empty-space{width:100%;height:100%;min-height:450px}.iml-card{border-radius:3px;background-color:white;box-shadow:0 2px 6px rgba(0,0,0,0.08);border:1px solid #d1d6e6;margin:30px 20px;font-size:1.5em}.iml-card-header{padding:12px 20px;position:relative;line-height:1;border-bottom:1px solid #eaeff2;background-color:rgba(20,100,130,0.78)}.iml-card-body{position:relative;padding:30px 20px}.iml-card-title{display:inline-block;margin:0;color:#ffffff}.iml-card-renderable{height:450px}.iml-card-help{padding:0px 30px 20px 30px;position:relative;top:-20px}\\n',\"\"]);const s=o},3645:e=>{\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r=\"\",n=void 0!==t[5];return t[4]&&(r+=\"@supports (\".concat(t[4],\") {\")),t[2]&&(r+=\"@media \".concat(t[2],\" {\")),n&&(r+=\"@layer\".concat(t[5].length>0?\" \".concat(t[5]):\"\",\" {\")),r+=e(t),n&&(r+=\"}\"),t[2]&&(r+=\"}\"),t[4]&&(r+=\"}\"),r})).join(\"\")},t.i=function(e,r,n,i,a){\"string\"==typeof e&&(e=[[null,e,void 0]]);var o={};if(n)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(o[l]=!0)}for(var u=0;u<e.length;u++){var c=[].concat(e[u]);n&&o[c[0]]||(void 0!==a&&(void 0===c[5]||(c[1]=\"@layer\".concat(c[5].length>0?\" \".concat(c[5]):\"\",\" {\").concat(c[1],\"}\")),c[5]=a),r&&(c[2]?(c[1]=\"@media \".concat(c[2],\" {\").concat(c[1],\"}\"),c[2]=r):c[2]=r),i&&(c[4]?(c[1]=\"@supports (\".concat(c[4],\") {\").concat(c[1],\"}\"),c[4]=i):c[4]=\"\".concat(i)),t.push(c))}},t}},8081:e=>{\"use strict\";e.exports=function(e){return e[1]}},9058:(e,t,r)=>{\"use strict\";var n=r(3279),i=r(4485),a=r(7361),o=r(6968),s=r(84);function l(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var u=l(n),c=l(i),f=l(a),h=l(o),p=l(s);function d(e){return d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},d(e)}function v(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function g(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function m(e,t,r){return t&&g(e.prototype,t),r&&g(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=r){var n,i,a=[],o=!0,s=!1;try{for(r=r.call(e);!(o=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){s=!0,i=e}finally{try{o||null==r.return||r.return()}finally{if(s)throw i}}return a}}(e,t)||function(e,t){if(e){if(\"string\"==typeof e)return b(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?b(e,t):void 0}}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var _=\"undefined\"==typeof window?null:window,w=_?_.navigator:null;_&&_.document;var k=d(\"\"),T=d({}),M=d((function(){})),A=\"undefined\"==typeof HTMLElement?\"undefined\":d(HTMLElement),S=function(e){return e&&e.instanceString&&C(e.instanceString)?e.instanceString():null},E=function(e){return null!=e&&d(e)==k},C=function(e){return null!=e&&d(e)===M},L=function(e){return!D(e)&&(Array.isArray?Array.isArray(e):null!=e&&e instanceof Array)},P=function(e){return null!=e&&d(e)===T&&!L(e)&&e.constructor===Object},O=function(e){return null!=e&&d(e)===d(1)&&!isNaN(e)},I=function(e){return\"undefined\"===A?void 0:null!=e&&e instanceof HTMLElement},D=function(e){return z(e)||R(e)},z=function(e){return\"collection\"===S(e)&&e._private.single},R=function(e){return\"collection\"===S(e)&&!e._private.single},F=function(e){return\"core\"===S(e)},B=function(e){return\"stylesheet\"===S(e)},N=function(e){return null==e||!(\"\"!==e&&!e.match(/^\\s+$/))},j=function(e){return function(e){return null!=e&&d(e)===T}(e)&&C(e.then)},U=function(e,t){t||(t=function(){if(1===arguments.length)return arguments[0];if(0===arguments.length)return\"undefined\";for(var e=[],t=0;t<arguments.length;t++)e.push(arguments[t]);return e.join(\"$\")});var r=function r(){var n,i=arguments,a=t.apply(this,i),o=r.cache;return(n=o[a])||(n=o[a]=e.apply(this,i)),n};return r.cache={},r},V=U((function(e){return e.replace(/([A-Z])/g,(function(e){return\"-\"+e.toLowerCase()}))})),H=U((function(e){return e.replace(/(-\\w)/g,(function(e){return e[1].toUpperCase()}))})),q=U((function(e,t){return e+t[0].toUpperCase()+t.substring(1)}),(function(e,t){return e+\"$\"+t})),G=function(e){return N(e)?e:e.charAt(0).toUpperCase()+e.substring(1)},Y=\"(?:[-+]?(?:(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:[Ee][+-]?\\\\d+)?))\",W=\"rgb[a]?\\\\((\"+Y+\"[%]?)\\\\s*,\\\\s*(\"+Y+\"[%]?)\\\\s*,\\\\s*(\"+Y+\"[%]?)(?:\\\\s*,\\\\s*(\"+Y+\"))?\\\\)\",Z=\"rgb[a]?\\\\((?:\"+Y+\"[%]?)\\\\s*,\\\\s*(?:\"+Y+\"[%]?)\\\\s*,\\\\s*(?:\"+Y+\"[%]?)(?:\\\\s*,\\\\s*(?:\"+Y+\"))?\\\\)\",X=\"hsl[a]?\\\\((\"+Y+\")\\\\s*,\\\\s*(\"+Y+\"[%])\\\\s*,\\\\s*(\"+Y+\"[%])(?:\\\\s*,\\\\s*(\"+Y+\"))?\\\\)\",K=\"hsl[a]?\\\\((?:\"+Y+\")\\\\s*,\\\\s*(?:\"+Y+\"[%])\\\\s*,\\\\s*(?:\"+Y+\"[%])(?:\\\\s*,\\\\s*(?:\"+Y+\"))?\\\\)\",J=function(e,t){return e<t?-1:e>t?1:0},$=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,r=1;r<t.length;r++){var n=t[r];if(null!=n)for(var i=Object.keys(n),a=0;a<i.length;a++){var o=i[a];e[o]=n[o]}}return e},Q={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},ee=function(e){for(var t=e.map,r=e.keys,n=r.length,i=0;i<n;i++){var a=r[i];if(P(a))throw Error(\"Tried to set map with object key\");i<r.length-1?(null==t[a]&&(t[a]={}),t=t[a]):t[a]=e.value}},te=function(e){for(var t=e.map,r=e.keys,n=r.length,i=0;i<n;i++){var a=r[i];if(P(a))throw Error(\"Tried to get map with object key\");if(null==(t=t[a]))return t}return t},re=_?_.performance:null,ne=re&&re.now?function(){return re.now()}:function(){return Date.now()},ie=function(){if(_){if(_.requestAnimationFrame)return function(e){_.requestAnimationFrame(e)};if(_.mozRequestAnimationFrame)return function(e){_.mozRequestAnimationFrame(e)};if(_.webkitRequestAnimationFrame)return function(e){_.webkitRequestAnimationFrame(e)};if(_.msRequestAnimationFrame)return function(e){_.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout((function(){e(ne())}),1e3/60)}}(),ae=function(e){return ie(e)},oe=ne,se=9261,le=5381,ue=function(e){for(var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:se;!(t=e.next()).done;)r=65599*r+t.value|0;return r},ce=function(e){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:se)+e|0},fe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:le;return(t<<5)+t+e|0},he=function(e){return 2097152*e[0]+e[1]},pe=function(e,t){return[ce(e[0],t[0]),fe(e[1],t[1])]},de=function(e,t){var r={value:0,done:!1},n=0,i=e.length;return ue({next:function(){return n<i?r.value=e.charCodeAt(n++):r.done=!0,r}},t)},ve=function(){return ge(arguments)},ge=function(e){for(var t,r=0;r<e.length;r++){var n=e[r];t=0===r?de(n):de(n,t)}return t},me=!0,ye=null!=console.warn,xe=null!=console.trace,be=Number.MAX_SAFE_INTEGER||9007199254740991,_e=function(){return!0},we=function(){return!1},ke=function(){return 0},Te=function(){},Me=function(e){throw new Error(e)},Ae=function(e){if(void 0===e)return me;me=!!e},Se=function(e){Ae()&&(ye?console.warn(e):(console.log(e),xe&&console.trace()))},Ee=function(e){return null==e?e:L(e)?e.slice():P(e)?function(e){return $({},e)}(e):e},Ce=function(e,t){for(t=e=\"\";e++<36;t+=51*e&52?(15^e?8^Math.random()*(20^e?16:4):4).toString(16):\"-\");return t},Le={},Pe=function(){return Le},Oe=function(e){var t=Object.keys(e);return function(r){for(var n={},i=0;i<t.length;i++){var a=t[i],o=null==r?void 0:r[a];n[a]=void 0===o?e[a]:o}return n}},Ie=function(e,t,r){for(var n=e.length-1;n>=0&&(e[n]!==t||(e.splice(n,1),!r));n--);},De=function(e){e.splice(0,e.length)},ze=function(e,t,r){return r&&(t=q(r,t)),e[t]},Re=function(e,t,r,n){r&&(t=q(r,t)),e[t]=n},Fe=\"undefined\"!=typeof Map?Map:function(){function e(){v(this,e),this._obj={}}return m(e,[{key:\"set\",value:function(e,t){return this._obj[e]=t,this}},{key:\"delete\",value:function(e){return this._obj[e]=void 0,this}},{key:\"clear\",value:function(){this._obj={}}},{key:\"has\",value:function(e){return void 0!==this._obj[e]}},{key:\"get\",value:function(e){return this._obj[e]}}]),e}(),Be=function(){function e(t){if(v(this,e),this._obj=Object.create(null),this.size=0,null!=t){var r;r=null!=t.instanceString&&t.instanceString()===this.instanceString()?t.toArray():t;for(var n=0;n<r.length;n++)this.add(r[n])}}return m(e,[{key:\"instanceString\",value:function(){return\"set\"}},{key:\"add\",value:function(e){var t=this._obj;1!==t[e]&&(t[e]=1,this.size++)}},{key:\"delete\",value:function(e){var t=this._obj;1===t[e]&&(t[e]=0,this.size--)}},{key:\"clear\",value:function(){this._obj=Object.create(null)}},{key:\"has\",value:function(e){return 1===this._obj[e]}},{key:\"toArray\",value:function(){var e=this;return Object.keys(this._obj).filter((function(t){return e.has(t)}))}},{key:\"forEach\",value:function(e,t){return this.toArray().forEach(e,t)}}]),e}(),Ne=\"undefined\"!==(\"undefined\"==typeof Set?\"undefined\":d(Set))?Set:Be,je=function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&F(e)){var n=t.group;if(null==n&&(n=t.data&&null!=t.data.source&&null!=t.data.target?\"edges\":\"nodes\"),\"nodes\"===n||\"edges\"===n){this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:n,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?\"edges\"===n:!!t.pannable,active:!1,classes:new Ne,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,\"mid-source\":null,\"mid-target\":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var l=[];L(t.classes)?l=t.classes:E(t.classes)&&(l=t.classes.split(/\\s+/));for(var u=0,c=l.length;u<c;u++){var f=l[u];f&&\"\"!==f&&i.classes.add(f)}this.createEmitter();var h=t.style||t.css;h&&(Se(\"Setting a `style` bypass at element creation should be done only when absolutely necessary.  Try to use the stylesheet instead.\"),this.style(h)),(void 0===r||r)&&this.restore()}else Me(\"An element must be of type `nodes` or `edges`; you specified `\"+n+\"`\")}else Me(\"An element must have a core reference and parameters set\")},Ue=function(e){return e={bfs:e.bfs||!e.dfs,dfs:e.dfs||!e.bfs},function(t,r,n){var i;P(t)&&!D(t)&&(t=(i=t).roots||i.root,r=i.visit,n=i.directed),n=2!==arguments.length||C(r)?n:r,r=C(r)?r:function(){};for(var a,o=this._private.cy,s=t=E(t)?this.filter(t):t,l=[],u=[],c={},f={},h={},p=0,d=this.byGroup(),v=d.nodes,g=d.edges,m=0;m<s.length;m++){var y=s[m],x=y.id();y.isNode()&&(l.unshift(y),e.bfs&&(h[x]=!0,u.push(y)),f[x]=0)}for(var b=function(){var t=e.bfs?l.shift():l.pop(),i=t.id();if(e.dfs){if(h[i])return\"continue\";h[i]=!0,u.push(t)}var o,s=f[i],d=c[i],m=null!=d?d.source():null,y=null!=d?d.target():null,x=null==d?void 0:t.same(m)?y[0]:m[0];if(!0===(o=r(t,d,x,p++,s)))return a=t,\"break\";if(!1===o)return\"break\";for(var b=t.connectedEdges().filter((function(e){return(!n||e.source().same(t))&&g.has(e)})),_=0;_<b.length;_++){var w=b[_],k=w.connectedNodes().filter((function(e){return!e.same(t)&&v.has(e)})),T=k.id();0===k.length||h[T]||(k=k[0],l.push(k),e.bfs&&(h[T]=!0,u.push(k)),c[T]=w,f[T]=f[i]+1)}};0!==l.length;){var _=b();if(\"continue\"!==_&&\"break\"===_)break}for(var w=o.collection(),k=0;k<u.length;k++){var T=u[k],M=c[T.id()];null!=M&&w.push(M),w.push(T)}return{path:o.collection(w),found:o.collection(a)}}},Ve={breadthFirstSearch:Ue({bfs:!0}),depthFirstSearch:Ue({dfs:!0})};Ve.bfs=Ve.breadthFirstSearch,Ve.dfs=Ve.depthFirstSearch;var He=Oe({root:null,weight:function(e){return 1},directed:!1}),qe={dijkstra:function(e){if(!P(e)){var t=arguments;e={root:t[0],weight:t[1],directed:t[2]}}var r=He(e),n=r.root,i=r.weight,a=r.directed,o=this,s=i,l=E(n)?this.filter(n)[0]:n[0],u={},f={},h={},p=this.byGroup(),d=p.nodes,v=p.edges;v.unmergeBy((function(e){return e.isLoop()}));for(var g=function(e){return u[e.id()]},m=function(e,t){u[e.id()]=t,y.updateItem(e)},y=new c.default((function(e,t){return g(e)-g(t)})),x=0;x<d.length;x++){var b=d[x];u[b.id()]=b.same(l)?0:1/0,y.push(b)}for(var _=function(e,t){for(var r,n=(a?e.edgesTo(t):e.edgesWith(t)).intersect(v),i=1/0,o=0;o<n.length;o++){var l=n[o],u=s(l);(u<i||!r)&&(i=u,r=l)}return{edge:r,dist:i}};y.size()>0;){var w=y.pop(),k=g(w),T=w.id();if(h[T]=k,k!==1/0)for(var M=w.neighborhood().intersect(d),A=0;A<M.length;A++){var S=M[A],C=S.id(),L=_(w,S),O=k+L.dist;O<g(S)&&(m(S,O),f[C]={node:w,edge:L.edge})}}return{distanceTo:function(e){var t=E(e)?d.filter(e)[0]:e[0];return h[t.id()]},pathTo:function(e){var t=E(e)?d.filter(e)[0]:e[0],r=[],n=t,i=n.id();if(t.length>0)for(r.unshift(t);f[i];){var a=f[i];r.unshift(a.edge),r.unshift(a.node),i=(n=a.node).id()}return o.spawn(r)}}}},Ge={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),r=t.nodes,n=t.edges,i=r.length,a=new Array(i),o=r,s=function(e){for(var t=0;t<a.length;t++)if(a[t].has(e))return t},l=0;l<i;l++)a[l]=this.spawn(r[l]);for(var u=n.sort((function(t,r){return e(t)-e(r)})),c=0;c<u.length;c++){var f=u[c],h=f.source()[0],p=f.target()[0],d=s(h),v=s(p),g=a[d],m=a[v];d!==v&&(o.merge(f),g.merge(m),a.splice(v,1))}return o}},Ye=Oe({root:null,goal:null,weight:function(e){return 1},heuristic:function(e){return 0},directed:!1}),We={aStar:function(e){var t=this.cy(),r=Ye(e),n=r.root,i=r.goal,a=r.heuristic,o=r.directed,s=r.weight;n=t.collection(n)[0],i=t.collection(i)[0];var l,u,f=n.id(),h=i.id(),p={},d={},v={},g=new c.default((function(e,t){return d[e.id()]-d[t.id()]})),m=new Ne,y={},x={},b=function(e,t){g.push(e),m.add(t)};b(n,f),p[f]=0,d[f]=a(n);for(var _,w=0;g.size()>0;){if(u=(l=g.pop()).id(),m.delete(u),w++,u===h){for(var k=[],T=i,M=h,A=x[M];k.unshift(T),null!=A&&k.unshift(A),null!=(T=y[M]);)A=x[M=T.id()];return{found:!0,distance:p[u],path:this.spawn(k),steps:w}}v[u]=!0;for(var S=l._private.edges,E=0;E<S.length;E++){var C=S[E];if(this.hasElementWithId(C.id())&&(!o||C.data(\"source\")===u)){var L=C.source(),P=C.target(),O=L.id()!==u?L:P,I=O.id();if(this.hasElementWithId(I)&&!v[I]){var D=p[u]+s(C);_=I,m.has(_)?D<p[I]&&(p[I]=D,d[I]=D+a(O),y[I]=l,x[I]=C):(p[I]=D,d[I]=D+a(O),b(O,I),y[I]=l,x[I]=C)}}}}return{found:!1,distance:void 0,path:void 0,steps:w}}},Ze=Oe({weight:function(e){return 1},directed:!1}),Xe={floydWarshall:function(e){for(var t=this.cy(),r=Ze(e),n=r.weight,i=r.directed,a=n,o=this.byGroup(),s=o.nodes,l=o.edges,u=s.length,c=u*u,f=function(e){return s.indexOf(e)},h=function(e){return s[e]},p=new Array(c),d=0;d<c;d++){var v=d%u,g=(d-v)/u;p[d]=g===v?0:1/0}for(var m=new Array(c),y=new Array(c),x=0;x<l.length;x++){var b=l[x],_=b.source()[0],w=b.target()[0];if(_!==w){var k=f(_),T=f(w),M=k*u+T,A=a(b);if(p[M]>A&&(p[M]=A,m[M]=T,y[M]=b),!i){var S=T*u+k;!i&&p[S]>A&&(p[S]=A,m[S]=k,y[S]=b)}}}for(var C=0;C<u;C++)for(var L=0;L<u;L++)for(var P=L*u+C,O=0;O<u;O++){var I=L*u+O,D=C*u+O;p[P]+p[D]<p[I]&&(p[I]=p[P]+p[D],m[I]=m[P])}var z=function(e){return f(function(e){return(E(e)?t.filter(e):e)[0]}(e))},R={distance:function(e,t){var r=z(e),n=z(t);return p[r*u+n]},path:function(e,r){var n=z(e),i=z(r),a=h(n);if(n===i)return a.collection();if(null==m[n*u+i])return t.collection();var o,s=t.collection(),l=n;for(s.merge(a);n!==i;)l=n,n=m[n*u+i],o=y[l*u+n],s.merge(o),s.merge(h(n));return s}};return R}},Ke=Oe({weight:function(e){return 1},directed:!1,root:null}),Je={bellmanFord:function(e){var t=this,r=Ke(e),n=r.weight,i=r.directed,a=r.root,o=n,s=this,l=this.cy(),u=this.byGroup(),c=u.edges,f=u.nodes,h=f.length,p=new Fe,d=!1,v=[];a=l.collection(a)[0],c.unmergeBy((function(e){return e.isLoop()}));for(var g=c.length,m=function(e){var t=p.get(e.id());return t||(t={},p.set(e.id(),t)),t},y=function(e){return(E(e)?l.$(e):e)[0]},x=0;x<h;x++){var b=f[x],_=m(b);b.same(a)?_.dist=0:_.dist=1/0,_.pred=null,_.edge=null}for(var w=!1,k=function(e,t,r,n,i,a){var o=n.dist+a;o<i.dist&&!r.same(n.edge)&&(i.dist=o,i.pred=e,i.edge=r,w=!0)},T=1;T<h;T++){w=!1;for(var M=0;M<g;M++){var A=c[M],S=A.source(),C=A.target(),L=o(A),P=m(S),O=m(C);k(S,0,A,P,O,L),i||k(C,0,A,O,P,L)}if(!w)break}if(w)for(var I=[],D=0;D<g;D++){var z=c[D],R=z.source(),F=z.target(),B=o(z),N=m(R).dist,j=m(F).dist;if(N+B<j||!i&&j+B<N){if(d||(Se(\"Graph contains a negative weight cycle for Bellman-Ford\"),d=!0),!1===e.findNegativeWeightCycles)break;var U=[];N+B<j&&U.push(R),!i&&j+B<N&&U.push(F);for(var V=U.length,H=0;H<V;H++){var q=U[H],G=[q];G.push(m(q).edge);for(var Y=m(q).pred;-1===G.indexOf(Y);)G.push(Y),G.push(m(Y).edge),Y=m(Y).pred;for(var W=(G=G.slice(G.indexOf(Y)))[0].id(),Z=0,X=2;X<G.length;X+=2)G[X].id()<W&&(W=G[X].id(),Z=X);(G=G.slice(Z).concat(G.slice(0,Z))).push(G[0]);var K=G.map((function(e){return e.id()})).join(\",\");-1===I.indexOf(K)&&(v.push(s.spawn(G)),I.push(K))}}}return{distanceTo:function(e){return m(y(e)).dist},pathTo:function(e){for(var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a,n=[],i=y(e);;){if(null==i)return t.spawn();var o=m(i),l=o.edge,u=o.pred;if(n.unshift(i[0]),i.same(r)&&n.length>0)break;null!=l&&n.unshift(l),i=u}return s.spawn(n)},hasNegativeWeightCycle:d,negativeWeightCycles:v}}},$e=Math.sqrt(2),Qe=function(e,t,r){0===r.length&&Me(\"Karger-Stein must be run on a connected (sub)graph\");for(var n=r[e],i=n[1],a=n[2],o=t[i],s=t[a],l=r,u=l.length-1;u>=0;u--){var c=l[u],f=c[1],h=c[2];(t[f]===o&&t[h]===s||t[f]===s&&t[h]===o)&&l.splice(u,1)}for(var p=0;p<l.length;p++){var d=l[p];d[1]===s?(l[p]=d.slice(),l[p][1]=o):d[2]===s&&(l[p]=d.slice(),l[p][2]=o)}for(var v=0;v<t.length;v++)t[v]===s&&(t[v]=o);return l},et=function(e,t,r,n){for(;r>n;){var i=Math.floor(Math.random()*t.length);t=Qe(i,e,t),r--}return t},tt={kargerStein:function(){var e=this,t=this.byGroup(),r=t.nodes,n=t.edges;n.unmergeBy((function(e){return e.isLoop()}));var i=r.length,a=n.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/$e);if(!(i<2)){for(var l=[],u=0;u<a;u++){var c=n[u];l.push([u,r.indexOf(c.source()),r.indexOf(c.target())])}for(var f=1/0,h=[],p=new Array(i),d=new Array(i),v=new Array(i),g=function(e,t){for(var r=0;r<i;r++)t[r]=e[r]},m=0;m<=o;m++){for(var y=0;y<i;y++)d[y]=y;var x=et(d,l.slice(),i,s),b=x.slice();g(d,v);var _=et(d,x,s,2),w=et(v,b,s,2);_.length<=w.length&&_.length<f?(f=_.length,h=_,g(d,p)):w.length<=_.length&&w.length<f&&(f=w.length,h=w,g(v,p))}for(var k=this.spawn(h.map((function(e){return n[e[0]]}))),T=this.spawn(),M=this.spawn(),A=p[0],S=0;S<p.length;S++){var E=p[S],C=r[S];E===A?T.merge(C):M.merge(C)}var L=function(t){var r=e.spawn();return t.forEach((function(t){r.merge(t),t.connectedEdges().forEach((function(t){e.contains(t)&&!k.contains(t)&&r.merge(t)}))})),r},P=[L(T),L(M)];return{cut:k,components:P,partition1:T,partition2:M}}Me(\"At least 2 nodes are required for Karger-Stein algorithm\")}},rt=function(e,t,r){return{x:e.x*t+r.x,y:e.y*t+r.y}},nt=function(e,t,r){return{x:(e.x-r.x)/t,y:(e.y-r.y)/t}},it=function(e){return{x:e[0],y:e[1]}},at=function(e,t){return Math.atan2(t,e)-Math.PI/2},ot=Math.log2||function(e){return Math.log(e)/Math.log(2)},st=function(e){return e>0?1:e<0?-1:0},lt=function(e,t){return Math.sqrt(ut(e,t))},ut=function(e,t){var r=t.x-e.x,n=t.y-e.y;return r*r+n*n},ct=function(e){for(var t=e.length,r=0,n=0;n<t;n++)r+=e[n];for(var i=0;i<t;i++)e[i]=e[i]/r;return e},ft=function(e,t,r,n){return(1-n)*(1-n)*e+2*(1-n)*n*t+n*n*r},ht=function(e,t,r,n){return{x:ft(e.x,t.x,r.x,n),y:ft(e.y,t.y,r.y,n)}},pt=function(e,t,r){return Math.max(e,Math.min(r,t))},dt=function(e){if(null==e)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(null!=e.x1&&null!=e.y1){if(null!=e.x2&&null!=e.y2&&e.x2>=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},vt=function(e,t,r){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r),e.y2=Math.max(e.y2,r),e.h=e.y2-e.y1},gt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},mt=function(e){var t,r,n,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)t=r=n=i=a[0];else if(2===a.length)t=n=a[0],i=r=a[1];else if(4===a.length){var o=x(a,4);t=o[0],r=o[1],n=o[2],i=o[3]}return e.x1-=i,e.x2+=r,e.y1-=t,e.y2+=n,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},yt=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},xt=function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2<t.x1||t.x2<e.x1||e.y2<t.y1||t.y2<e.y1||e.y1>t.y2||t.y1>e.y2)},bt=function(e,t,r){return e.x1<=t&&t<=e.x2&&e.y1<=r&&r<=e.y2},_t=function(e,t){return bt(e,t.x1,t.y1)&&bt(e,t.x2,t.y2)},wt=function(e,t,r,n,i,a,o){var s,l=jt(i,a),u=i/2,c=a/2,f=n-c-o;if((s=Dt(e,t,r,n,r-u+l-o,f,r+u-l+o,f,!1)).length>0)return s;var h=r+u+o;if((s=Dt(e,t,r,n,h,n-c+l-o,h,n+c-l+o,!1)).length>0)return s;var p=n+c+o;if((s=Dt(e,t,r,n,r-u+l-o,p,r+u-l+o,p,!1)).length>0)return s;var d,v=r-u-o;if((s=Dt(e,t,r,n,v,n-c+l-o,v,n+c-l+o,!1)).length>0)return s;var g=r-u+l,m=n-c+l;if((d=Ot(e,t,r,n,g,m,l+o)).length>0&&d[0]<=g&&d[1]<=m)return[d[0],d[1]];var y=r+u-l,x=n-c+l;if((d=Ot(e,t,r,n,y,x,l+o)).length>0&&d[0]>=y&&d[1]<=x)return[d[0],d[1]];var b=r+u-l,_=n+c-l;if((d=Ot(e,t,r,n,b,_,l+o)).length>0&&d[0]>=b&&d[1]>=_)return[d[0],d[1]];var w=r-u+l,k=n+c-l;return(d=Ot(e,t,r,n,w,k,l+o)).length>0&&d[0]<=w&&d[1]>=k?[d[0],d[1]]:[]},kt=function(e,t,r,n,i,a,o){var s=o,l=Math.min(r,i),u=Math.max(r,i),c=Math.min(n,a),f=Math.max(n,a);return l-s<=e&&e<=u+s&&c-s<=t&&t<=f+s},Tt=function(e,t,r,n,i,a,o,s,l){var u=Math.min(r,o,i)-l,c=Math.max(r,o,i)+l,f=Math.min(n,s,a)-l,h=Math.max(n,s,a)+l;return!(e<u||e>c||t<f||t>h)},Mt=function(e,t,r,n,i,a,o,s){var l,u,c,f,h,p,d,v,g,m,y,x,b,_=[];u=9*r*i-3*r*r-3*r*o-6*i*i+3*i*o+9*n*a-3*n*n-3*n*s-6*a*a+3*a*s,c=3*r*r-6*r*i+r*o-r*e+2*i*i+2*i*e-o*e+3*n*n-6*n*a+n*s-n*t+2*a*a+2*a*t-s*t,f=1*r*i-r*r+r*e-i*e+n*a-n*n+n*t-a*t,0===(l=1*r*r-4*r*i+2*r*o+4*i*i-4*i*o+o*o+n*n-4*n*a+2*n*s+4*a*a-4*a*s+s*s)&&(l=1e-5),v=-27*(f/=l)+(u/=l)*(9*(c/=l)-u*u*2),p=(d=(3*c-u*u)/9)*d*d+(v/=54)*v,(h=_)[1]=0,x=u/3,p>0?(m=(m=v+Math.sqrt(p))<0?-Math.pow(-m,1/3):Math.pow(m,1/3),y=(y=v-Math.sqrt(p))<0?-Math.pow(-y,1/3):Math.pow(y,1/3),h[0]=-x+m+y,x+=(m+y)/2,h[4]=h[2]=-x,x=Math.sqrt(3)*(-y+m)/2,h[3]=x,h[5]=-x):(h[5]=h[3]=0,0===p?(b=v<0?-Math.pow(-v,1/3):Math.pow(v,1/3),h[0]=2*b-x,h[4]=h[2]=-(b+x)):(g=(d=-d)*d*d,g=Math.acos(v/Math.sqrt(g)),b=2*Math.sqrt(d),h[0]=-x+b*Math.cos(g/3),h[2]=-x+b*Math.cos((g+2*Math.PI)/3),h[4]=-x+b*Math.cos((g+4*Math.PI)/3)));for(var w=[],k=0;k<6;k+=2)Math.abs(_[k+1])<1e-7&&_[k]>=0&&_[k]<=1&&w.push(_[k]);w.push(1),w.push(0);for(var T,M,A,S=-1,E=0;E<w.length;E++)T=Math.pow(1-w[E],2)*r+2*(1-w[E])*w[E]*i+w[E]*w[E]*o,M=Math.pow(1-w[E],2)*n+2*(1-w[E])*w[E]*a+w[E]*w[E]*s,A=Math.pow(T-e,2)+Math.pow(M-t,2),S>=0?A<S&&(S=A):S=A;return S},At=function(e,t,r,n,i,a){var o=[e-r,t-n],s=[i-r,a-n],l=s[0]*s[0]+s[1]*s[1],u=o[0]*o[0]+o[1]*o[1],c=o[0]*s[0]+o[1]*s[1],f=c*c/l;return c<0?u:f>l?(e-i)*(e-i)+(t-a)*(t-a):u-f},St=function(e,t,r){for(var n,i,a,o,s=0,l=0;l<r.length/2;l++)if(n=r[2*l],i=r[2*l+1],l+1<r.length/2?(a=r[2*(l+1)],o=r[2*(l+1)+1]):(a=r[2*(l+1-r.length/2)],o=r[2*(l+1-r.length/2)+1]),n==e&&a==e);else{if(!(n>=e&&e>=a||n<=e&&e<=a))continue;(e-n)/(a-n)*(o-i)+i>t&&s++}return s%2!=0},Et=function(e,t,r,n,i,a,o,s,l){var u,c=new Array(r.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var f,h=Math.cos(-u),p=Math.sin(-u),d=0;d<c.length/2;d++)c[2*d]=a/2*(r[2*d]*h-r[2*d+1]*p),c[2*d+1]=o/2*(r[2*d+1]*h+r[2*d]*p),c[2*d]+=n,c[2*d+1]+=i;if(l>0){var v=Lt(c,-l);f=Ct(v)}else f=c;return St(e,t,f)},Ct=function(e){for(var t,r,n,i,a,o,s,l,u=new Array(e.length/2),c=0;c<e.length/4;c++){t=e[4*c],r=e[4*c+1],n=e[4*c+2],i=e[4*c+3],c<e.length/4-1?(a=e[4*(c+1)],o=e[4*(c+1)+1],s=e[4*(c+1)+2],l=e[4*(c+1)+3]):(a=e[0],o=e[1],s=e[2],l=e[3]);var f=Dt(t,r,n,i,a,o,s,l,!0);u[2*c]=f[0],u[2*c+1]=f[1]}return u},Lt=function(e,t){for(var r,n,i,a,o=new Array(2*e.length),s=0;s<e.length/2;s++){r=e[2*s],n=e[2*s+1],s<e.length/2-1?(i=e[2*(s+1)],a=e[2*(s+1)+1]):(i=e[0],a=e[1]);var l=a-n,u=-(i-r),c=Math.sqrt(l*l+u*u),f=l/c,h=u/c;o[4*s]=r+f*t,o[4*s+1]=n+h*t,o[4*s+2]=i+f*t,o[4*s+3]=a+h*t}return o},Pt=function(e,t,r,n,i,a,o){return e-=i,t-=a,(e/=r/2+o)*e+(t/=n/2+o)*t<=1},Ot=function(e,t,r,n,i,a,o){var s=[r-e,n-t],l=[e-i,t-a],u=s[0]*s[0]+s[1]*s[1],c=2*(l[0]*s[0]+l[1]*s[1]),f=c*c-4*u*(l[0]*l[0]+l[1]*l[1]-o*o);if(f<0)return[];var h=(-c+Math.sqrt(f))/(2*u),p=(-c-Math.sqrt(f))/(2*u),d=Math.min(h,p),v=Math.max(h,p),g=[];if(d>=0&&d<=1&&g.push(d),v>=0&&v<=1&&g.push(v),0===g.length)return[];var m=g[0]*s[0]+e,y=g[0]*s[1]+t;return g.length>1?g[0]==g[1]?[m,y]:[m,y,g[1]*s[0]+e,g[1]*s[1]+t]:[m,y]},It=function(e,t,r){return t<=e&&e<=r||r<=e&&e<=t?e:e<=t&&t<=r||r<=t&&t<=e?t:r},Dt=function(e,t,r,n,i,a,o,s,l){var u=e-i,c=r-e,f=o-i,h=t-a,p=n-t,d=s-a,v=f*h-d*u,g=c*h-p*u,m=d*c-f*p;if(0!==m){var y=v/m,x=g/m,b=-.001;return b<=y&&y<=1.001&&b<=x&&x<=1.001||l?[e+y*c,t+y*p]:[]}return 0===v||0===g?It(e,r,o)===o?[o,s]:It(e,r,i)===i?[i,a]:It(i,o,r)===r?[r,n]:[]:[]},zt=function(e,t,r,n,i,a,o,s){var l,u,c,f,h,p,d=[],v=new Array(r.length),g=!0;if(null==a&&(g=!1),g){for(var m=0;m<v.length/2;m++)v[2*m]=r[2*m]*a+n,v[2*m+1]=r[2*m+1]*o+i;if(s>0){var y=Lt(v,-s);u=Ct(y)}else u=v}else u=r;for(var x=0;x<u.length/2;x++)c=u[2*x],f=u[2*x+1],x<u.length/2-1?(h=u[2*(x+1)],p=u[2*(x+1)+1]):(h=u[0],p=u[1]),0!==(l=Dt(e,t,n,i,c,f,h,p)).length&&d.push(l[0],l[1]);return d},Rt=function(e,t,r){var n=[e[0]-t[0],e[1]-t[1]],i=Math.sqrt(n[0]*n[0]+n[1]*n[1]),a=(i-r)/i;return a<0&&(a=1e-5),[t[0]+a*n[0],t[1]+a*n[1]]},Ft=function(e,t){var r=Nt(e,t);return Bt(r)},Bt=function(e){for(var t,r,n=e.length/2,i=1/0,a=1/0,o=-1/0,s=-1/0,l=0;l<n;l++)t=e[2*l],r=e[2*l+1],i=Math.min(i,t),o=Math.max(o,t),a=Math.min(a,r),s=Math.max(s,r);for(var u=2/(o-i),c=2/(s-a),f=0;f<n;f++)t=e[2*f]=e[2*f]*u,r=e[2*f+1]=e[2*f+1]*c,i=Math.min(i,t),o=Math.max(o,t),a=Math.min(a,r),s=Math.max(s,r);if(a<-1)for(var h=0;h<n;h++)r=e[2*h+1]=e[2*h+1]+(-1-a);return e},Nt=function(e,t){var r=1/e*2*Math.PI,n=e%2==0?Math.PI/2+r/2:Math.PI/2;n+=t;for(var i,a=new Array(2*e),o=0;o<e;o++)i=o*r+n,a[2*o]=Math.cos(i),a[2*o+1]=Math.sin(-i);return a},jt=function(e,t){return Math.min(e/4,t/4,8)},Ut=function(e,t){return Math.min(e/10,t/10,8)},Vt=function(e,t){return{heightOffset:Math.min(15,.05*t),widthOffset:Math.min(100,.25*e),ctrlPtOffsetPct:.05}},Ht=Oe({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(e){return 1}}),qt={pageRank:function(e){for(var t=Ht(e),r=t.dampingFactor,n=t.precision,i=t.iterations,a=t.weight,o=this._private.cy,s=this.byGroup(),l=s.nodes,u=s.edges,c=l.length,f=c*c,h=u.length,p=new Array(f),d=new Array(c),v=(1-r)/c,g=0;g<c;g++){for(var m=0;m<c;m++)p[g*c+m]=0;d[g]=0}for(var y=0;y<h;y++){var x=u[y],b=x.data(\"source\"),_=x.data(\"target\");if(b!==_){var w=l.indexOfId(b),k=l.indexOfId(_),T=a(x);p[k*c+w]+=T,d[w]+=T}}for(var M=1/c+v,A=0;A<c;A++)if(0===d[A])for(var S=0;S<c;S++)p[S*c+A]=M;else for(var E=0;E<c;E++){var C=E*c+A;p[C]=p[C]/d[A]+v}for(var L,P=new Array(c),O=new Array(c),I=0;I<c;I++)P[I]=1;for(var D=0;D<i;D++){for(var z=0;z<c;z++)O[z]=0;for(var R=0;R<c;R++)for(var F=0;F<c;F++){var B=R*c+F;O[R]+=p[B]*P[F]}ct(O),L=P,P=O,O=L;for(var N=0,j=0;j<c;j++){var U=L[j]-P[j];N+=U*U}if(N<n)break}return{rank:function(e){return e=o.collection(e)[0],P[l.indexOf(e)]}}}},Gt=Oe({root:null,weight:function(e){return 1},directed:!1,alpha:0}),Yt={degreeCentralityNormalized:function(e){e=Gt(e);var t=this.cy(),r=this.nodes(),n=r.length;if(e.directed){for(var i={},a={},o=0,s=0,l=0;l<n;l++){var u=r[l],c=u.id();e.root=u;var f=this.degreeCentrality(e);o<f.indegree&&(o=f.indegree),s<f.outdegree&&(s=f.outdegree),i[c]=f.indegree,a[c]=f.outdegree}return{indegree:function(e){return 0==o?0:(E(e)&&(e=t.filter(e)),i[e.id()]/o)},outdegree:function(e){return 0===s?0:(E(e)&&(e=t.filter(e)),a[e.id()]/s)}}}for(var h={},p=0,d=0;d<n;d++){var v=r[d];e.root=v;var g=this.degreeCentrality(e);p<g.degree&&(p=g.degree),h[v.id()]=g.degree}return{degree:function(e){return 0===p?0:(E(e)&&(e=t.filter(e)),h[e.id()]/p)}}},degreeCentrality:function(e){e=Gt(e);var t=this.cy(),r=this,n=e,i=n.root,a=n.weight,o=n.directed,s=n.alpha;if(i=t.collection(i)[0],o){for(var l=i.connectedEdges(),u=l.filter((function(e){return e.target().same(i)&&r.has(e)})),c=l.filter((function(e){return e.source().same(i)&&r.has(e)})),f=u.length,h=c.length,p=0,d=0,v=0;v<u.length;v++)p+=a(u[v]);for(var g=0;g<c.length;g++)d+=a(c[g]);return{indegree:Math.pow(f,1-s)*Math.pow(p,s),outdegree:Math.pow(h,1-s)*Math.pow(d,s)}}for(var m=i.connectedEdges().intersection(r),y=m.length,x=0,b=0;b<m.length;b++)x+=a(m[b]);return{degree:Math.pow(y,1-s)*Math.pow(x,s)}}};Yt.dc=Yt.degreeCentrality,Yt.dcn=Yt.degreeCentralityNormalised=Yt.degreeCentralityNormalized;var Wt=Oe({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),Zt={closenessCentralityNormalized:function(e){for(var t=Wt(e),r=t.harmonic,n=t.weight,i=t.directed,a=this.cy(),o={},s=0,l=this.nodes(),u=this.floydWarshall({weight:n,directed:i}),c=0;c<l.length;c++){for(var f=0,h=l[c],p=0;p<l.length;p++)if(c!==p){var d=u.distance(h,l[p]);f+=r?1/d:d}r||(f=1/f),s<f&&(s=f),o[h.id()]=f}return{closeness:function(e){return 0==s?0:(e=E(e)?a.filter(e)[0].id():e.id(),o[e]/s)}}},closenessCentrality:function(e){var t=Wt(e),r=t.root,n=t.weight,i=t.directed,a=t.harmonic;r=this.filter(r)[0];for(var o=this.dijkstra({root:r,weight:n,directed:i}),s=0,l=this.nodes(),u=0;u<l.length;u++){var c=l[u];if(!c.same(r)){var f=o.distanceTo(c);s+=a?1/f:f}}return a?s:1/s}};Zt.cc=Zt.closenessCentrality,Zt.ccn=Zt.closenessCentralityNormalised=Zt.closenessCentralityNormalized;var Xt=Oe({weight:null,directed:!1}),Kt={betweennessCentrality:function(e){for(var t=Xt(e),r=t.directed,n=t.weight,i=null!=n,a=this.cy(),o=this.nodes(),s={},l={},u=0,f=function(e,t){l[e]=t,t>u&&(u=t)},h=function(e){return l[e]},p=0;p<o.length;p++){var d=o[p],v=d.id();s[v]=r?d.outgoers().nodes():d.openNeighborhood().nodes(),f(v,0)}for(var g=function(e){for(var t=o[e].id(),r=[],l={},u={},p={},d=new c.default((function(e,t){return p[e]-p[t]})),v=0;v<o.length;v++){var g=o[v].id();l[g]=[],u[g]=0,p[g]=1/0}for(u[t]=1,p[t]=0,d.push(t);!d.empty();){var m=d.pop();if(r.push(m),i)for(var y=0;y<s[m].length;y++){var x,b=s[m][y],_=a.getElementById(m);x=_.edgesTo(b).length>0?_.edgesTo(b)[0]:b.edgesTo(_)[0];var w=n(x);b=b.id(),p[b]>p[m]+w&&(p[b]=p[m]+w,d.nodes.indexOf(b)<0?d.push(b):d.updateItem(b),u[b]=0,l[b]=[]),p[b]==p[m]+w&&(u[b]=u[b]+u[m],l[b].push(m))}else for(var k=0;k<s[m].length;k++){var T=s[m][k].id();p[T]==1/0&&(d.push(T),p[T]=p[m]+1),p[T]==p[m]+1&&(u[T]=u[T]+u[m],l[T].push(m))}}for(var M={},A=0;A<o.length;A++)M[o[A].id()]=0;for(;r.length>0;){for(var S=r.pop(),E=0;E<l[S].length;E++){var C=l[S][E];M[C]=M[C]+u[C]/u[S]*(1+M[S])}S!=o[e].id()&&f(S,h(S)+M[S])}},m=0;m<o.length;m++)g(m);var y={betweenness:function(e){var t=a.collection(e).id();return h(t)},betweennessNormalized:function(e){if(0==u)return 0;var t=a.collection(e).id();return h(t)/u}};return y.betweennessNormalised=y.betweennessNormalized,y}};Kt.bc=Kt.betweennessCentrality;var Jt=Oe({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(e){return 1}]}),$t=function(e,t){for(var r=0,n=0;n<t.length;n++)r+=t[n](e);return r},Qt=function(e,t){for(var r,n=0;n<t;n++){r=0;for(var i=0;i<t;i++)r+=e[i*t+n];for(var a=0;a<t;a++)e[a*t+n]=e[a*t+n]/r}},er=function(e,t,r){for(var n=new Array(r*r),i=0;i<r;i++){for(var a=0;a<r;a++)n[i*r+a]=0;for(var o=0;o<r;o++)for(var s=0;s<r;s++)n[i*r+s]+=e[i*r+o]*t[o*r+s]}return n},tr=function(e,t,r){for(var n=e.slice(0),i=1;i<r;i++)e=er(e,n,t);return e},rr=function(e,t,r){for(var n=new Array(t*t),i=0;i<t*t;i++)n[i]=Math.pow(e[i],r);return Qt(n,t),n},nr=function(e,t,r,n){for(var i=0;i<r;i++)if(Math.round(e[i]*Math.pow(10,n))/Math.pow(10,n)!=Math.round(t[i]*Math.pow(10,n))/Math.pow(10,n))return!1;return!0},ir=function(e,t){for(var r=0;r<e.length;r++)if(!t[r]||e[r].id()!==t[r].id())return!1;return!0},ar=function(e){for(var t=this.nodes(),r=this.edges(),n=this.cy(),i=function(e){return Jt(e)}(e),a={},o=0;o<t.length;o++)a[t[o].id()]=o;for(var s,l=t.length,u=l*l,c=new Array(u),f=0;f<u;f++)c[f]=0;for(var h=0;h<r.length;h++){var p=r[h],d=a[p.source().id()],v=a[p.target().id()],g=$t(p,i.attributes);c[d*l+v]+=g,c[v*l+d]+=g}!function(e,t,r){for(var n=0;n<t;n++)e[n*t+n]=r}(c,l,i.multFactor),Qt(c,l);for(var m=!0,y=0;m&&y<i.maxIterations;)m=!1,s=tr(c,l,i.expandFactor),c=rr(s,l,i.inflateFactor),nr(c,s,u,4)||(m=!0),y++;var x=function(e,t,r,n){for(var i=[],a=0;a<t;a++){for(var o=[],s=0;s<t;s++)Math.round(1e3*e[a*t+s])/1e3>0&&o.push(r[s]);0!==o.length&&i.push(n.collection(o))}return i}(c,l,t,n);return x=function(e){for(var t=0;t<e.length;t++)for(var r=0;r<e.length;r++)t!=r&&ir(e[t],e[r])&&e.splice(r,1);return e}(x),x},or={markovClustering:ar,mcl:ar},sr=function(e){return e},lr=function(e,t){return Math.abs(t-e)},ur=function(e,t,r){return e+lr(t,r)},cr=function(e,t,r){return e+Math.pow(r-t,2)},fr=function(e){return Math.sqrt(e)},hr=function(e,t,r){return Math.max(e,lr(t,r))},pr=function(e,t,r,n,i){for(var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:sr,o=n,s=0;s<e;s++)o=i(o,t(s),r(s));return a(o)},dr={euclidean:function(e,t,r){return e>=2?pr(e,t,r,0,cr,fr):pr(e,t,r,0,ur)},squaredEuclidean:function(e,t,r){return pr(e,t,r,0,cr)},manhattan:function(e,t,r){return pr(e,t,r,0,ur)},max:function(e,t,r){return pr(e,t,r,-1/0,hr)}};function vr(e,t,r,n,i,a){var o;return o=C(e)?e:dr[e]||dr.euclidean,0===t&&C(e)?o(i,a):o(t,r,n,i,a)}dr[\"squared-euclidean\"]=dr.squaredEuclidean,dr.squaredeuclidean=dr.squaredEuclidean;var gr=Oe({k:2,m:2,sensitivityThreshold:1e-4,distance:\"euclidean\",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),mr=function(e){return gr(e)},yr=function(e,t,r,n,i){var a=\"kMedoids\"!==i?function(e){return r[e]}:function(e){return n[e](r)},o=r,s=t;return vr(e,n.length,a,(function(e){return n[e](t)}),o,s)},xr=function(e,t,r){for(var n=r.length,i=new Array(n),a=new Array(n),o=new Array(t),s=null,l=0;l<n;l++)i[l]=e.min(r[l]).value,a[l]=e.max(r[l]).value;for(var u=0;u<t;u++){s=[];for(var c=0;c<n;c++)s[c]=Math.random()*(a[c]-i[c])+i[c];o[u]=s}return o},br=function(e,t,r,n,i){for(var a=1/0,o=0,s=0;s<t.length;s++){var l=yr(r,e,t[s],n,i);l<a&&(a=l,o=s)}return o},_r=function(e,t,r){for(var n=[],i=null,a=0;a<t.length;a++)r[(i=t[a]).id()]===e&&n.push(i);return n},wr=function(e,t,r){for(var n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)if(Math.abs(e[n][i]-t[n][i])>r)return!1;return!0},kr=function(e,t,r){for(var n=0;n<r;n++)if(e===t[n])return!0;return!1},Tr=function(e,t){var r=new Array(t);if(e.length<50)for(var n=0;n<t;n++){for(var i=e[Math.floor(Math.random()*e.length)];kr(i,r,n);)i=e[Math.floor(Math.random()*e.length)];r[n]=i}else for(var a=0;a<t;a++)r[a]=e[Math.floor(Math.random()*e.length)];return r},Mr=function(e,t,r){for(var n=0,i=0;i<t.length;i++)n+=yr(\"manhattan\",t[i],e,r,\"kMedoids\");return n},Ar=function(e,t,r,n,i){for(var a,o,s=0;s<t.length;s++)for(var l=0;l<e.length;l++)n[s][l]=Math.pow(r[s][l],i.m);for(var u=0;u<e.length;u++)for(var c=0;c<i.attributes.length;c++){a=0,o=0;for(var f=0;f<t.length;f++)a+=n[f][u]*i.attributes[c](t[f]),o+=n[f][u];e[u][c]=a/o}},Sr=function(e,t,r,n,i){for(var a=0;a<e.length;a++)t[a]=e[a].slice();for(var o,s,l,u=2/(i.m-1),c=0;c<r.length;c++)for(var f=0;f<n.length;f++){o=0;for(var h=0;h<r.length;h++)s=yr(i.distance,n[f],r[c],i.attributes,\"cmeans\"),l=yr(i.distance,n[f],r[h],i.attributes,\"cmeans\"),o+=Math.pow(s/l,u);e[f][c]=1/o}},Er=function(e){var t,r,n,i,a,o=this.cy(),s=this.nodes(),l=mr(e);i=new Array(s.length);for(var u=0;u<s.length;u++)i[u]=new Array(l.k);n=new Array(s.length);for(var c=0;c<s.length;c++)n[c]=new Array(l.k);for(var f=0;f<s.length;f++){for(var h=0,p=0;p<l.k;p++)n[f][p]=Math.random(),h+=n[f][p];for(var d=0;d<l.k;d++)n[f][d]=n[f][d]/h}r=new Array(l.k);for(var v=0;v<l.k;v++)r[v]=new Array(l.attributes.length);a=new Array(s.length);for(var g=0;g<s.length;g++)a[g]=new Array(l.k);for(var m=!0,y=0;m&&y<l.maxIterations;)m=!1,Ar(r,s,n,a,l),Sr(n,i,r,s,l),wr(n,i,l.sensitivityThreshold)||(m=!0),y++;return t=function(e,t,r,n){for(var i,a,o=new Array(r.k),s=0;s<o.length;s++)o[s]=[];for(var l=0;l<t.length;l++){i=-1/0,a=-1;for(var u=0;u<t[0].length;u++)t[l][u]>i&&(i=t[l][u],a=u);o[a].push(e[l])}for(var c=0;c<o.length;c++)o[c]=n.collection(o[c]);return o}(s,n,l,o),{clusters:t,degreeOfMembership:n}},Cr={kMeans:function(e){var t,r=this.cy(),n=this.nodes(),i=null,a=mr(e),o=new Array(a.k),s={};a.testMode?\"number\"==typeof a.testCentroids?(a.testCentroids,t=xr(n,a.k,a.attributes)):t=\"object\"===d(a.testCentroids)?a.testCentroids:xr(n,a.k,a.attributes):t=xr(n,a.k,a.attributes);for(var l,u,c,f=!0,h=0;f&&h<a.maxIterations;){for(var p=0;p<n.length;p++)s[(i=n[p]).id()]=br(i,t,a.distance,a.attributes,\"kMeans\");f=!1;for(var v=0;v<a.k;v++){var g=_r(v,n,s);if(0!==g.length){for(var m=a.attributes.length,y=t[v],x=new Array(m),b=new Array(m),_=0;_<m;_++){b[_]=0;for(var w=0;w<g.length;w++)i=g[w],b[_]+=a.attributes[_](i);x[_]=b[_]/g.length,l=x[_],u=y[_],c=a.sensitivityThreshold,Math.abs(u-l)<=c||(f=!0)}t[v]=x,o[v]=r.collection(g)}}h++}return o},kMedoids:function(e){var t,r,n=this.cy(),i=this.nodes(),a=null,o=mr(e),s=new Array(o.k),l={},u=new Array(o.k);o.testMode?\"number\"==typeof o.testCentroids||(t=\"object\"===d(o.testCentroids)?o.testCentroids:Tr(i,o.k)):t=Tr(i,o.k);for(var c=!0,f=0;c&&f<o.maxIterations;){for(var h=0;h<i.length;h++)l[(a=i[h]).id()]=br(a,t,o.distance,o.attributes,\"kMedoids\");c=!1;for(var p=0;p<t.length;p++){var v=_r(p,i,l);if(0!==v.length){u[p]=Mr(t[p],v,o.attributes);for(var g=0;g<v.length;g++)(r=Mr(v[g],v,o.attributes))<u[p]&&(u[p]=r,t[p]=v[g],c=!0);s[p]=n.collection(v)}}f++}return s},fuzzyCMeans:Er,fcm:Er},Lr=Oe({distance:\"euclidean\",linkage:\"min\",mode:\"threshold\",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),Pr={single:\"min\",complete:\"max\"},Or=function(e,t,r,n,i){for(var a,o=0,s=1/0,l=i.attributes,u=function(e,t){return vr(i.distance,l.length,(function(t){return l[t](e)}),(function(e){return l[e](t)}),e,t)},c=0;c<e.length;c++){var f=e[c].key,h=r[f][n[f]];h<s&&(o=f,s=h)}if(\"threshold\"===i.mode&&s>=i.threshold||\"dendrogram\"===i.mode&&1===e.length)return!1;var p,d=t[o],v=t[n[o]];p=\"dendrogram\"===i.mode?{left:d,right:v,key:d.key}:{value:d.value.concat(v.value),key:d.key},e[d.index]=p,e.splice(v.index,1),t[d.key]=p;for(var g=0;g<e.length;g++){var m=e[g];d.key===m.key?a=1/0:\"min\"===i.linkage?(a=r[d.key][m.key],r[d.key][m.key]>r[v.key][m.key]&&(a=r[v.key][m.key])):\"max\"===i.linkage?(a=r[d.key][m.key],r[d.key][m.key]<r[v.key][m.key]&&(a=r[v.key][m.key])):a=\"mean\"===i.linkage?(r[d.key][m.key]*d.size+r[v.key][m.key]*v.size)/(d.size+v.size):\"dendrogram\"===i.mode?u(m.value,d.value):u(m.value[0],d.value[0]),r[d.key][m.key]=r[m.key][d.key]=a}for(var y=0;y<e.length;y++){var x=e[y].key;if(n[x]===d.key||n[x]===v.key){for(var b=x,_=0;_<e.length;_++){var w=e[_].key;r[x][w]<r[x][b]&&(b=w)}n[x]=b}e[y].index=y}return d.key=v.key=d.index=v.index=null,!0},Ir=function e(t,r,n){t&&(t.value?r.push(t.value):(t.left&&e(t.left,r),t.right&&e(t.right,r)))},Dr=function e(t,r){if(!t)return\"\";if(t.left&&t.right){var n=e(t.left,r),i=e(t.right,r),a=r.add({group:\"nodes\",data:{id:n+\",\"+i}});return r.add({group:\"edges\",data:{source:n,target:a.id()}}),r.add({group:\"edges\",data:{source:i,target:a.id()}}),a.id()}return t.value?t.value.id():void 0},zr=function e(t,r,n){if(!t)return[];var i=[],a=[],o=[];return 0===r?(t.left&&Ir(t.left,i),t.right&&Ir(t.right,a),o=i.concat(a),[n.collection(o)]):1===r?t.value?[n.collection(t.value)]:(t.left&&Ir(t.left,i),t.right&&Ir(t.right,a),[n.collection(i),n.collection(a)]):t.value?[n.collection(t.value)]:(t.left&&(i=e(t.left,r-1,n)),t.right&&(a=e(t.right,r-1,n)),i.concat(a))},Rr=function(e){for(var t=this.cy(),r=this.nodes(),n=function(e){var t=Lr(e),r=Pr[t.linkage];return null!=r&&(t.linkage=r),t}(e),i=n.attributes,a=function(e,t){return vr(n.distance,i.length,(function(t){return i[t](e)}),(function(e){return i[e](t)}),e,t)},o=[],s=[],l=[],u=[],c=0;c<r.length;c++){var f={value:\"dendrogram\"===n.mode?r[c]:[r[c]],key:c,index:c};o[c]=f,u[c]=f,s[c]=[],l[c]=0}for(var h=0;h<o.length;h++)for(var p=0;p<=h;p++){var d;d=\"dendrogram\"===n.mode?h===p?1/0:a(o[h].value,o[p].value):h===p?1/0:a(o[h].value[0],o[p].value[0]),s[h][p]=d,s[p][h]=d,d<s[h][l[h]]&&(l[h]=p)}for(var v,g=Or(o,u,s,l,n);g;)g=Or(o,u,s,l,n);return\"dendrogram\"===n.mode?(v=zr(o[0],n.dendrogramDepth,t),n.addDendrogram&&Dr(o[0],t)):(v=new Array(o.length),o.forEach((function(e,r){e.key=e.index=null,v[r]=t.collection(e.value)}))),v},Fr={hierarchicalClustering:Rr,hca:Rr},Br=Oe({distance:\"euclidean\",preference:\"median\",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),Nr=function(e,t,r,n){var i=function(e,t){return n[t](e)};return-vr(e,n.length,(function(e){return i(t,e)}),(function(e){return i(r,e)}),t,r)},jr=function(e,t,r){for(var n=[],i=0;i<e;i++){for(var a=-1,o=-1/0,s=0;s<r.length;s++){var l=r[s];t[i*e+l]>o&&(a=l,o=t[i*e+l])}a>0&&n.push(a)}for(var u=0;u<r.length;u++)n[r[u]]=r[u];return n},Ur=function(e){for(var t,r,n,i,a,o,s=this.cy(),l=this.nodes(),u=function(e){var t=e.damping,r=e.preference;.5<=t&&t<1||Me(\"Damping must range on [0.5, 1).  Got: \".concat(t));var n=[\"median\",\"mean\",\"min\",\"max\"];return n.some((function(e){return e===r}))||O(r)||Me(\"Preference must be one of [\".concat(n.map((function(e){return\"'\".concat(e,\"'\")})).join(\", \"),\"] or a number.  Got: \").concat(r)),Br(e)}(e),c={},f=0;f<l.length;f++)c[l[f].id()]=f;r=(t=l.length)*t,n=new Array(r);for(var h=0;h<r;h++)n[h]=-1/0;for(var p=0;p<t;p++)for(var d=0;d<t;d++)p!==d&&(n[p*t+d]=Nr(u.distance,l[p],l[d],u.attributes));i=function(e,t){var r;return r=\"median\"===t?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(r<e.length&&e.splice(r,e.length-r),t>0&&e.splice(0,t)):e=e.slice(t,r);for(var a=0,o=e.length-1;o>=0;o--){var s=e[o];i?isFinite(s)||(e[o]=-1/0,a++):e.splice(o,1)}n&&e.sort((function(e,t){return e-t}));var l=e.length,u=Math.floor(l/2);return l%2!=0?e[u+1+a]:(e[u-1+a]+e[u+a])/2}(e):\"mean\"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,n=0,i=0,a=t;a<r;a++){var o=e[a];isFinite(o)&&(n+=o,i++)}return n/i}(e):\"min\"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,n=1/0,i=t;i<r;i++){var a=e[i];isFinite(a)&&(n=Math.min(a,n))}return n}(e):\"max\"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,n=-1/0,i=t;i<r;i++){var a=e[i];isFinite(a)&&(n=Math.max(a,n))}return n}(e):t,r}(n,u.preference);for(var v=0;v<t;v++)n[v*t+v]=i;a=new Array(r);for(var g=0;g<r;g++)a[g]=0;o=new Array(r);for(var m=0;m<r;m++)o[m]=0;for(var y=new Array(t),x=new Array(t),b=new Array(t),_=0;_<t;_++)y[_]=0,x[_]=0,b[_]=0;for(var w,k=new Array(t*u.minIterations),T=0;T<k.length;T++)k[T]=0;for(w=0;w<u.maxIterations;w++){for(var M=0;M<t;M++){for(var A=-1/0,S=-1/0,E=-1,C=0,L=0;L<t;L++)y[L]=a[M*t+L],(C=o[M*t+L]+n[M*t+L])>=A?(S=A,A=C,E=L):C>S&&(S=C);for(var P=0;P<t;P++)a[M*t+P]=(1-u.damping)*(n[M*t+P]-A)+u.damping*y[P];a[M*t+E]=(1-u.damping)*(n[M*t+E]-S)+u.damping*y[E]}for(var I=0;I<t;I++){for(var D=0,z=0;z<t;z++)y[z]=o[z*t+I],x[z]=Math.max(0,a[z*t+I]),D+=x[z];D-=x[I],x[I]=a[I*t+I],D+=x[I];for(var R=0;R<t;R++)o[R*t+I]=(1-u.damping)*Math.min(0,D-x[R])+u.damping*y[R];o[I*t+I]=(1-u.damping)*(D-x[I])+u.damping*y[I]}for(var F=0,B=0;B<t;B++){var N=o[B*t+B]+a[B*t+B]>0?1:0;k[w%u.minIterations*t+B]=N,F+=N}if(F>0&&(w>=u.minIterations-1||w==u.maxIterations-1)){for(var j=0,U=0;U<t;U++){b[U]=0;for(var V=0;V<u.minIterations;V++)b[U]+=k[V*t+U];0!==b[U]&&b[U]!==u.minIterations||j++}if(j===t)break}}for(var H=function(e,t,r){for(var n=[],i=0;i<e;i++)t[i*e+i]+r[i*e+i]>0&&n.push(i);return n}(t,a,o),q=function(e,t,r){for(var n=jr(e,t,r),i=0;i<r.length;i++){for(var a=[],o=0;o<n.length;o++)n[o]===r[i]&&a.push(o);for(var s=-1,l=-1/0,u=0;u<a.length;u++){for(var c=0,f=0;f<a.length;f++)c+=t[a[f]*e+a[u]];c>l&&(s=u,l=c)}r[i]=a[s]}return jr(e,t,r)}(t,n,H),G={},Y=0;Y<H.length;Y++)G[H[Y]]=[];for(var W=0;W<l.length;W++){var Z=q[c[l[W].id()]];null!=Z&&G[Z].push(l[W])}for(var X=new Array(H.length),K=0;K<H.length;K++)X[K]=s.collection(G[H[K]]);return X},Vr={affinityPropagation:Ur,ap:Ur},Hr=Oe({root:void 0,directed:!1}),qr=function(){var e=this,t={},r=0,n=0,i=[],a=[],o={},s=function s(l,u,c){l===c&&(n+=1),t[u]={id:r,low:r++,cutVertex:!1};var f,h,p,d,v=e.getElementById(u).connectedEdges().intersection(e);0===v.size()?i.push(e.spawn(e.getElementById(u))):v.forEach((function(r){f=r.source().id(),h=r.target().id(),(p=f===u?h:f)!==c&&(d=r.id(),o[d]||(o[d]=!0,a.push({x:u,y:p,edge:r})),p in t?t[u].low=Math.min(t[u].low,t[p].id):(s(l,p,u),t[u].low=Math.min(t[u].low,t[p].low),t[u].id<=t[p].low&&(t[u].cutVertex=!0,function(r,n){for(var o=a.length-1,s=[],l=e.spawn();a[o].x!=r||a[o].y!=n;)s.push(a.pop().edge),o--;s.push(a.pop().edge),s.forEach((function(r){var n=r.connectedNodes().intersection(e);l.merge(r),n.forEach((function(r){var n=r.id(),i=r.connectedEdges().intersection(e);l.merge(r),t[n].cutVertex?l.merge(i.filter((function(e){return e.isLoop()}))):l.merge(i)}))})),i.push(l)}(u,p))))}))};e.forEach((function(e){if(e.isNode()){var r=e.id();r in t||(n=0,s(r,r),t[r].cutVertex=n>1)}}));var l=Object.keys(t).filter((function(e){return t[e].cutVertex})).map((function(t){return e.getElementById(t)}));return{cut:e.spawn(l),components:i}},Gr=function(){var e=this,t={},r=0,n=[],i=[],a=e.spawn(e),o=function o(s){if(i.push(s),t[s]={index:r,low:r++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach((function(e){var r=e.target().id();r!==s&&(r in t||o(r),t[r].explored||(t[s].low=Math.min(t[s].low,t[r].low)))})),t[s].index===t[s].low){for(var l=e.spawn();;){var u=i.pop();if(l.merge(e.getElementById(u)),t[u].low=t[s].index,t[u].explored=!0,u===s)break}var c=l.edgesWith(l),f=l.merge(c);n.push(f),a=a.difference(f)}};return e.forEach((function(e){if(e.isNode()){var r=e.id();r in t||o(r)}})),{cut:a,components:n}},Yr={};[Ve,qe,Ge,We,Xe,Je,tt,qt,Yt,Zt,Kt,or,Cr,Fr,Vr,{hierholzer:function(e){if(!P(e)){var t=arguments;e={root:t[0],directed:t[1]}}var r,n,i,a=Hr(e),o=a.root,s=a.directed,l=this,u=!1;o&&(i=E(o)?this.filter(o)[0].id():o[0].id());var c={},f={};s?l.forEach((function(e){var t=e.id();if(e.isNode()){var i=e.indegree(!0),a=e.outdegree(!0),o=i-a,s=a-i;1==o?r?u=!0:r=t:1==s?n?u=!0:n=t:(s>1||o>1)&&(u=!0),c[t]=[],e.outgoers().forEach((function(e){e.isEdge()&&c[t].push(e.id())}))}else f[t]=[void 0,e.target().id()]})):l.forEach((function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(r?n?u=!0:n=t:r=t),c[t]=[],e.connectedEdges().forEach((function(e){return c[t].push(e.id())}))):f[t]=[e.source().id(),e.target().id()]}));var h={found:!1,trail:void 0};if(u)return h;if(n&&r)if(s){if(i&&n!=i)return h;i=n}else{if(i&&n!=i&&r!=i)return h;i||(i=n)}else i||(i=l[0].id());var p=function(e){for(var t,r,n,i=e,a=[e];c[i].length;)t=c[i].shift(),r=f[t][0],i!=(n=f[t][1])?(c[n]=c[n].filter((function(e){return e!=t})),i=n):s||i==r||(c[r]=c[r].filter((function(e){return e!=t})),i=r),a.unshift(t),a.unshift(i);return a},d=[],v=[];for(v=p(i);1!=v.length;)0==c[v[0]].length?(d.unshift(l.getElementById(v.shift())),d.unshift(l.getElementById(v.shift()))):v=p(v.shift()).concat(v);for(var g in d.unshift(l.getElementById(v.shift())),c)if(c[g].length)return h;return h.found=!0,h.trail=this.spawn(d,!0),h}},{hopcroftTarjanBiconnected:qr,htbc:qr,htb:qr,hopcroftTarjanBiconnectedComponents:qr},{tarjanStronglyConnected:Gr,tsc:Gr,tscc:Gr,tarjanStronglyConnectedComponents:Gr}].forEach((function(e){$(Yr,e)}));var Wr=function e(t){if(!(this instanceof e))return new e(t);this.id=\"Thenable/1.0.7\",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},\"function\"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};Wr.prototype={fulfill:function(e){return Zr(this,1,\"fulfillValue\",e)},reject:function(e){return Zr(this,2,\"rejectReason\",e)},then:function(e,t){var r=this,n=new Wr;return r.onFulfilled.push(Jr(e,n,\"fulfill\")),r.onRejected.push(Jr(t,n,\"reject\")),Xr(r),n.proxy}};var Zr=function(e,t,r,n){return 0===e.state&&(e.state=t,e[r]=n,Xr(e)),e},Xr=function(e){1===e.state?Kr(e,\"onFulfilled\",e.fulfillValue):2===e.state&&Kr(e,\"onRejected\",e.rejectReason)},Kr=function(e,t,r){if(0!==e[t].length){var n=e[t];e[t]=[];var i=function(){for(var e=0;e<n.length;e++)n[e](r)};\"function\"==typeof setImmediate?setImmediate(i):setTimeout(i,0)}},Jr=function(e,t,r){return function(n){if(\"function\"!=typeof e)t[r].call(t,n);else{var i;try{i=e(n)}catch(e){return void t.reject(e)}$r(t,i)}}},$r=function e(t,r){if(t!==r&&t.proxy!==r){var n;if(\"object\"===d(r)&&null!==r||\"function\"==typeof r)try{n=r.then}catch(e){return void t.reject(e)}if(\"function\"!=typeof n)t.fulfill(r);else{var i=!1;try{n.call(r,(function(n){i||(i=!0,n===r?t.reject(new TypeError(\"circular thenable chain\")):e(t,n))}),(function(e){i||(i=!0,t.reject(e))}))}catch(e){i||t.reject(e)}}}else t.reject(new TypeError(\"cannot resolve promise with itself\"))};Wr.all=function(e){return new Wr((function(t,r){for(var n=new Array(e.length),i=0,a=function(r,a){n[r]=a,++i===e.length&&t(n)},o=0;o<e.length;o++)!function(t){var n=e[t];null!=n&&null!=n.then?n.then((function(e){a(t,e)}),(function(e){r(e)})):a(t,n)}(o)}))},Wr.resolve=function(e){return new Wr((function(t,r){t(e)}))},Wr.reject=function(e){return new Wr((function(t,r){r(e)}))};var Qr=\"undefined\"!=typeof Promise?Promise:Wr,en=function(e,t,r){var n=F(e),i=!n,a=this._private=$({duration:1e3},t,r);if(a.target=e,a.style=a.style||a.css,a.started=!1,a.playing=!1,a.hooked=!1,a.applying=!1,a.progress=0,a.completes=[],a.frames=[],a.complete&&C(a.complete)&&a.completes.push(a.complete),i){var o=e.position();a.startPosition=a.startPosition||{x:o.x,y:o.y},a.startStyle=a.startStyle||e.cy().style().getAnimationStartStyle(e,a.style)}if(n){var s=e.pan();a.startPan={x:s.x,y:s.y},a.startZoom=e.zoom()}this.length=1,this[0]=this},tn=en.prototype;$(tn,{instanceString:function(){return\"animation\"},hook:function(){var e=this._private;if(!e.hooked){var t=e.target._private.animation;(e.queue?t.queue:t.current).push(this),D(e.target)&&e.target.cy().addToAnimationPool(e.target),e.hooked=!0}return this},play:function(){var e=this._private;return 1===e.progress&&(e.progress=0),e.playing=!0,e.started=!1,e.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var e=this._private;return e.applying=!0,e.started=!1,e.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var e=this._private;return e.playing=!1,e.started=!1,this},stop:function(){var e=this._private;return e.playing=!1,e.started=!1,e.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(e){var t=this._private;return void 0===e?t.progress*t.duration:this.progress(e/t.duration)},progress:function(e){var t=this._private,r=t.playing;return void 0===e?t.progress:(r&&this.pause(),t.progress=e,t.started=!1,r&&this.play(),this)},completed:function(){return 1===this._private.progress},reverse:function(){var e=this._private,t=e.playing;t&&this.pause(),e.progress=1-e.progress,e.started=!1;var r=function(t,r){var n=e[t];null!=n&&(e[t]=e[r],e[r]=n)};if(r(\"zoom\",\"startZoom\"),r(\"pan\",\"startPan\"),r(\"position\",\"startPosition\"),e.style)for(var n=0;n<e.style.length;n++){var i=e.style[n],a=i.name,o=e.startStyle[a];e.startStyle[a]=i,e.style[n]=o}return t&&this.play(),this},promise:function(e){var t,r=this._private;return t=\"frame\"===e?r.frames:r.completes,new Qr((function(e,r){t.push((function(){e()}))}))}}),tn.complete=tn.completed,tn.run=tn.play,tn.running=tn.playing;var rn={animated:function(){return function(){var e=this,t=void 0!==e.length?e:[e];if(!(this._private.cy||this).styleEnabled())return!1;var r=t[0];return r?r._private.animation.current.length>0:void 0}},clearQueue:function(){return function(){var e=this,t=void 0!==e.length?e:[e];if(!(this._private.cy||this).styleEnabled())return this;for(var r=0;r<t.length;r++)t[r]._private.animation.queue=[];return this}},delay:function(){return function(e,t){return(this._private.cy||this).styleEnabled()?this.animate({delay:e,duration:e,complete:t}):this}},delayAnimation:function(){return function(e,t){return(this._private.cy||this).styleEnabled()?this.animation({delay:e,duration:e,complete:t}):this}},animation:function(){return function(e,t){var r=this,n=void 0!==r.length,i=n?r:[r],a=this._private.cy||this,o=!n,s=!o;if(!a.styleEnabled())return this;var l=a.style();if(e=$({},e,t),0===Object.keys(e).length)return new en(i[0],e);switch(void 0===e.duration&&(e.duration=400),e.duration){case\"slow\":e.duration=600;break;case\"fast\":e.duration=200}if(s&&(e.style=l.getPropsList(e.style||e.css),e.css=void 0),s&&null!=e.renderedPosition){var u=e.renderedPosition,c=a.pan(),f=a.zoom();e.position=nt(u,f,c)}if(o&&null!=e.panBy){var h=e.panBy,p=a.pan();e.pan={x:p.x+h.x,y:p.y+h.y}}var d=e.center||e.centre;if(o&&null!=d){var v=a.getCenterPan(d.eles,e.zoom);null!=v&&(e.pan=v)}if(o&&null!=e.fit){var g=e.fit,m=a.getFitViewport(g.eles||g.boundingBox,g.padding);null!=m&&(e.pan=m.pan,e.zoom=m.zoom)}if(o&&P(e.zoom)){var y=a.getZoomedViewport(e.zoom);null!=y?(y.zoomed&&(e.zoom=y.zoom),y.panned&&(e.pan=y.pan)):e.zoom=null}return new en(i[0],e)}},animate:function(){return function(e,t){var r=this,n=void 0!==r.length?r:[r];if(!(this._private.cy||this).styleEnabled())return this;t&&(e=$({},e,t));for(var i=0;i<n.length;i++){var a=n[i],o=a.animated()&&(void 0===e.queue||e.queue);a.animation(e,o?{queue:!0}:void 0).play()}return this}},stop:function(){return function(e,t){var r=this,n=void 0!==r.length?r:[r],i=this._private.cy||this;if(!i.styleEnabled())return this;for(var a=0;a<n.length;a++){for(var o=n[a]._private,s=o.animation.current,l=0;l<s.length;l++){var u=s[l]._private;t&&(u.duration=0)}e&&(o.animation.queue=[]),t||(o.animation.current=[])}return i.notify(\"draw\"),this}}},nn={data:function(e){return e=$({},{field:\"data\",bindingEvent:\"data\",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:\"data\",settingTriggersEvent:!1,triggerFnName:\"trigger\",immutableKeys:{},updateStyle:!1,beforeGet:function(e){},beforeSet:function(e,t){},onSet:function(e){},canSet:function(e){return!0}},e),function(t,r){var n=e,i=this,a=void 0!==i.length,o=a?i:[i],s=a?i[0]:i;if(E(t)){var l,u=-1!==t.indexOf(\".\")&&p.default(t);if(n.allowGetting&&void 0===r)return s&&(n.beforeGet(s),l=u&&void 0===s._private[n.field][t]?f.default(s._private[n.field],u):s._private[n.field][t]),l;if(n.allowSetting&&void 0!==r&&!n.immutableKeys[t]){var c=y({},t,r);n.beforeSet(i,c);for(var d=0,v=o.length;d<v;d++){var g=o[d];n.canSet(g)&&(u&&void 0===s._private[n.field][t]?h.default(g._private[n.field],u,r):g._private[n.field][t]=r)}n.updateStyle&&i.updateStyle(),n.onSet(i),n.settingTriggersEvent&&i[n.triggerFnName](n.settingEvent)}}else if(n.allowSetting&&P(t)){var m,x,b=t,_=Object.keys(b);n.beforeSet(i,b);for(var w=0;w<_.length;w++)if(x=b[m=_[w]],!n.immutableKeys[m])for(var k=0;k<o.length;k++){var T=o[k];n.canSet(T)&&(T._private[n.field][m]=x)}n.updateStyle&&i.updateStyle(),n.onSet(i),n.settingTriggersEvent&&i[n.triggerFnName](n.settingEvent)}else if(n.allowBinding&&C(t)){var M=t;i.on(n.bindingEvent,M)}else if(n.allowGetting&&void 0===t){var A;return s&&(n.beforeGet(s),A=s._private[n.field]),A}return i}},removeData:function(e){return e=$({},{field:\"data\",event:\"data\",triggerFnName:\"trigger\",triggerEvent:!1,immutableKeys:{}},e),function(t){var r=e,n=this,i=void 0!==n.length?n:[n];if(E(t)){for(var a=t.split(/\\s+/),o=a.length,s=0;s<o;s++){var l=a[s];if(!N(l)&&!r.immutableKeys[l])for(var u=0,c=i.length;u<c;u++)i[u]._private[r.field][l]=void 0}r.triggerEvent&&n[r.triggerFnName](r.event)}else if(void 0===t){for(var f=0,h=i.length;f<h;f++)for(var p=i[f]._private[r.field],d=Object.keys(p),v=0;v<d.length;v++){var g=d[v];!r.immutableKeys[g]&&(p[g]=void 0)}r.triggerEvent&&n[r.triggerFnName](r.event)}return n}}},an={eventAliasesOn:function(e){var t=e;t.addListener=t.listen=t.bind=t.on,t.unlisten=t.unbind=t.off=t.removeListener,t.trigger=t.emit,t.pon=t.promiseOn=function(e,t){var r=this,n=Array.prototype.slice.call(arguments,0);return new Qr((function(e,t){var i=n.concat([function(t){r.off.apply(r,a),e(t)}]),a=i.concat([]);r.on.apply(r,i)}))}}},on={};[rn,nn,an].forEach((function(e){$(on,e)}));var sn={animate:on.animate(),animation:on.animation(),animated:on.animated(),clearQueue:on.clearQueue(),delay:on.delay(),delayAnimation:on.delayAnimation(),stop:on.stop()},ln={classes:function(e){var t=this;if(void 0===e){var r=[];return t[0]._private.classes.forEach((function(e){return r.push(e)})),r}L(e)||(e=(e||\"\").match(/\\S+/g)||[]);for(var n=[],i=new Ne(e),a=0;a<t.length;a++){for(var o=t[a],s=o._private,l=s.classes,u=!1,c=0;c<e.length;c++){var f=e[c];if(!l.has(f)){u=!0;break}}u||(u=l.size!==e.length),u&&(s.classes=i,n.push(o))}return n.length>0&&this.spawn(n).updateStyle().emit(\"class\"),t},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){L(e)||(e=e.match(/\\S+/g)||[]);for(var r=this,n=void 0===t,i=[],a=0,o=r.length;a<o;a++)for(var s=r[a],l=s._private.classes,u=!1,c=0;c<e.length;c++){var f=e[c],h=l.has(f),p=!1;t||n&&!h?(l.add(f),p=!0):(!t||n&&h)&&(l.delete(f),p=!0),!u&&p&&(i.push(s),u=!0)}return i.length>0&&this.spawn(i).updateStyle().emit(\"class\"),r},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var r=this;if(null==t)t=250;else if(0===t)return r;return r.addClass(e),setTimeout((function(){r.removeClass(e)}),t),r}};ln.className=ln.classNames=ln.classes;var un={metaChar:\"[\\\\!\\\\\\\"\\\\#\\\\$\\\\%\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\.\\\\/\\\\:\\\\;\\\\<\\\\=\\\\>\\\\?\\\\@\\\\[\\\\]\\\\^\\\\`\\\\{\\\\|\\\\}\\\\~]\",comparatorOp:\"=|\\\\!=|>|>=|<|<=|\\\\$=|\\\\^=|\\\\*=\",boolOp:\"\\\\?|\\\\!|\\\\^\",string:\"\\\"(?:\\\\\\\\\\\"|[^\\\"])*\\\"|'(?:\\\\\\\\'|[^'])*'\",number:Y,meta:\"degree|indegree|outdegree\",separator:\"\\\\s*,\\\\s*\",descendant:\"\\\\s+\",child:\"\\\\s+>\\\\s+\",subject:\"\\\\$\",group:\"node|edge|\\\\*\",directedEdge:\"\\\\s+->\\\\s+\",undirectedEdge:\"\\\\s+<->\\\\s+\"};un.variable=\"(?:[\\\\w-.]|(?:\\\\\\\\\"+un.metaChar+\"))+\",un.className=\"(?:[\\\\w-]|(?:\\\\\\\\\"+un.metaChar+\"))+\",un.value=un.string+\"|\"+un.number,un.id=un.variable,function(){var e,t,r;for(e=un.comparatorOp.split(\"|\"),r=0;r<e.length;r++)t=e[r],un.comparatorOp+=\"|@\"+t;for(e=un.comparatorOp.split(\"|\"),r=0;r<e.length;r++)(t=e[r]).indexOf(\"!\")>=0||\"=\"!==t&&(un.comparatorOp+=\"|\\\\!\"+t)}();var cn=20,fn=[{selector:\":selected\",matches:function(e){return e.selected()}},{selector:\":unselected\",matches:function(e){return!e.selected()}},{selector:\":selectable\",matches:function(e){return e.selectable()}},{selector:\":unselectable\",matches:function(e){return!e.selectable()}},{selector:\":locked\",matches:function(e){return e.locked()}},{selector:\":unlocked\",matches:function(e){return!e.locked()}},{selector:\":visible\",matches:function(e){return e.visible()}},{selector:\":hidden\",matches:function(e){return!e.visible()}},{selector:\":transparent\",matches:function(e){return e.transparent()}},{selector:\":grabbed\",matches:function(e){return e.grabbed()}},{selector:\":free\",matches:function(e){return!e.grabbed()}},{selector:\":removed\",matches:function(e){return e.removed()}},{selector:\":inside\",matches:function(e){return!e.removed()}},{selector:\":grabbable\",matches:function(e){return e.grabbable()}},{selector:\":ungrabbable\",matches:function(e){return!e.grabbable()}},{selector:\":animated\",matches:function(e){return e.animated()}},{selector:\":unanimated\",matches:function(e){return!e.animated()}},{selector:\":parent\",matches:function(e){return e.isParent()}},{selector:\":childless\",matches:function(e){return e.isChildless()}},{selector:\":child\",matches:function(e){return e.isChild()}},{selector:\":orphan\",matches:function(e){return e.isOrphan()}},{selector:\":nonorphan\",matches:function(e){return e.isChild()}},{selector:\":compound\",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:\":loop\",matches:function(e){return e.isLoop()}},{selector:\":simple\",matches:function(e){return e.isSimple()}},{selector:\":active\",matches:function(e){return e.active()}},{selector:\":inactive\",matches:function(e){return!e.active()}},{selector:\":backgrounding\",matches:function(e){return e.backgrounding()}},{selector:\":nonbackgrounding\",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return function(e,t){return-1*J(e,t)}(e.selector,t.selector)})),hn=function(){for(var e,t={},r=0;r<fn.length;r++)t[(e=fn[r]).selector]=e.matches;return t}(),pn=\"(\"+fn.map((function(e){return e.selector})).join(\"|\")+\")\",dn=function(e){return e.replace(new RegExp(\"\\\\\\\\(\"+un.metaChar+\")\",\"g\"),(function(e,t){return t}))},vn=function(e,t,r){e[e.length-1]=r},gn=[{name:\"group\",query:!0,regex:\"(\"+un.group+\")\",populate:function(e,t,r){var n=x(r,1)[0];t.checks.push({type:0,value:\"*\"===n?n:n+\"s\"})}},{name:\"state\",query:!0,regex:pn,populate:function(e,t,r){var n=x(r,1)[0];t.checks.push({type:7,value:n})}},{name:\"id\",query:!0,regex:\"\\\\#(\"+un.id+\")\",populate:function(e,t,r){var n=x(r,1)[0];t.checks.push({type:8,value:dn(n)})}},{name:\"className\",query:!0,regex:\"\\\\.(\"+un.className+\")\",populate:function(e,t,r){var n=x(r,1)[0];t.checks.push({type:9,value:dn(n)})}},{name:\"dataExists\",query:!0,regex:\"\\\\[\\\\s*(\"+un.variable+\")\\\\s*\\\\]\",populate:function(e,t,r){var n=x(r,1)[0];t.checks.push({type:4,field:dn(n)})}},{name:\"dataCompare\",query:!0,regex:\"\\\\[\\\\s*(\"+un.variable+\")\\\\s*(\"+un.comparatorOp+\")\\\\s*(\"+un.value+\")\\\\s*\\\\]\",populate:function(e,t,r){var n=x(r,3),i=n[0],a=n[1],o=n[2];o=null!=new RegExp(\"^\"+un.string+\"$\").exec(o)?o.substring(1,o.length-1):parseFloat(o),t.checks.push({type:3,field:dn(i),operator:a,value:o})}},{name:\"dataBool\",query:!0,regex:\"\\\\[\\\\s*(\"+un.boolOp+\")\\\\s*(\"+un.variable+\")\\\\s*\\\\]\",populate:function(e,t,r){var n=x(r,2),i=n[0],a=n[1];t.checks.push({type:5,field:dn(a),operator:i})}},{name:\"metaCompare\",query:!0,regex:\"\\\\[\\\\[\\\\s*(\"+un.meta+\")\\\\s*(\"+un.comparatorOp+\")\\\\s*(\"+un.number+\")\\\\s*\\\\]\\\\]\",populate:function(e,t,r){var n=x(r,3),i=n[0],a=n[1],o=n[2];t.checks.push({type:6,field:dn(i),operator:a,value:parseFloat(o)})}},{name:\"nextQuery\",separator:!0,regex:un.separator,populate:function(e,t){var r=e.currentSubject,n=e.edgeCount,i=e.compoundCount,a=e[e.length-1];return null!=r&&(a.subject=r,e.currentSubject=null),a.edgeCount=n,a.compoundCount=i,e.edgeCount=0,e.compoundCount=0,e[e.length++]={checks:[]}}},{name:\"directedEdge\",separator:!0,regex:un.directedEdge,populate:function(e,t){if(null==e.currentSubject){var r={checks:[]},n=t,i={checks:[]};return r.checks.push({type:11,source:n,target:i}),vn(e,0,r),e.edgeCount++,i}var a={checks:[]},o=t,s={checks:[]};return a.checks.push({type:12,source:o,target:s}),vn(e,0,a),e.edgeCount++,s}},{name:\"undirectedEdge\",separator:!0,regex:un.undirectedEdge,populate:function(e,t){if(null==e.currentSubject){var r={checks:[]},n=t,i={checks:[]};return r.checks.push({type:10,nodes:[n,i]}),vn(e,0,r),e.edgeCount++,i}var a={checks:[]},o=t,s={checks:[]};return a.checks.push({type:14,node:o,neighbor:s}),vn(e,0,a),s}},{name:\"child\",separator:!0,regex:un.child,populate:function(e,t){if(null==e.currentSubject){var r={checks:[]},n={checks:[]},i=e[e.length-1];return r.checks.push({type:15,parent:i,child:n}),vn(e,0,r),e.compoundCount++,n}if(e.currentSubject===t){var a={checks:[]},o=e[e.length-1],s={checks:[]},l={checks:[]},u={checks:[]},c={checks:[]};return a.checks.push({type:19,left:o,right:s,subject:l}),l.checks=t.checks,t.checks=[{type:cn}],c.checks.push({type:cn}),s.checks.push({type:17,parent:c,child:u}),vn(e,0,a),e.currentSubject=l,e.compoundCount++,u}var f={checks:[]},h={checks:[]},p=[{type:17,parent:f,child:h}];return f.checks=t.checks,t.checks=p,e.compoundCount++,h}},{name:\"descendant\",separator:!0,regex:un.descendant,populate:function(e,t){if(null==e.currentSubject){var r={checks:[]},n={checks:[]},i=e[e.length-1];return r.checks.push({type:16,ancestor:i,descendant:n}),vn(e,0,r),e.compoundCount++,n}if(e.currentSubject===t){var a={checks:[]},o=e[e.length-1],s={checks:[]},l={checks:[]},u={checks:[]},c={checks:[]};return a.checks.push({type:19,left:o,right:s,subject:l}),l.checks=t.checks,t.checks=[{type:cn}],c.checks.push({type:cn}),s.checks.push({type:18,ancestor:c,descendant:u}),vn(e,0,a),e.currentSubject=l,e.compoundCount++,u}var f={checks:[]},h={checks:[]},p=[{type:18,ancestor:f,descendant:h}];return f.checks=t.checks,t.checks=p,e.compoundCount++,h}},{name:\"subject\",modifier:!0,regex:un.subject,populate:function(e,t){if(null!=e.currentSubject&&e.currentSubject!==t)return Se(\"Redefinition of subject in selector `\"+e.toString()+\"`\"),!1;e.currentSubject=t;var r=e[e.length-1].checks[0],n=null==r?null:r.type;11===n?r.type=13:10===n&&(r.type=14,r.node=r.nodes[1],r.neighbor=r.nodes[0],r.nodes=null)}}];gn.forEach((function(e){return e.regexObj=new RegExp(\"^\"+e.regex)}));var mn=function(e){for(var t,r,n,i=0;i<gn.length;i++){var a=gn[i],o=a.name,s=e.match(a.regexObj);if(null!=s){r=s,t=a,n=o;var l=s[0];e=e.substring(l.length);break}}return{expr:t,match:r,name:n,remaining:e}},yn={parse:function(e){var t=this,r=t.inputText=e,n=t[0]={checks:[]};for(t.length=1,r=function(e){var t=e.match(/^\\s+/);if(t){var r=t[0];e=e.substring(r.length)}return e}(r);;){var i=mn(r);if(null==i.expr)return Se(\"The selector `\"+e+\"`is invalid\"),!1;var a=i.match.slice(1),o=i.expr.populate(t,n,a);if(!1===o)return!1;if(null!=o&&(n=o),(r=i.remaining).match(/^\\s*$/))break}var s=t[t.length-1];null!=t.currentSubject&&(s.subject=t.currentSubject),s.edgeCount=t.edgeCount,s.compoundCount=t.compoundCount;for(var l=0;l<t.length;l++){var u=t[l];if(u.compoundCount>0&&u.edgeCount>0)return Se(\"The selector `\"+e+\"` is invalid because it uses both a compound selector and an edge selector\"),!1;if(u.edgeCount>1)return Se(\"The selector `\"+e+\"` is invalid because it uses multiple edge selectors\"),!1;1===u.edgeCount&&Se(\"The selector `\"+e+\"` is deprecated.  Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons.  Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.\")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?\"\":e},t=function(t){return E(t)?'\"'+t+'\"':e(t)},r=function(e){return\" \"+e+\" \"},n=function(i,a){return i.checks.reduce((function(o,s,l){return o+(a===i&&0===l?\"$\":\"\")+function(i,a){var o=i.type,s=i.value;switch(o){case 0:var l=e(s);return l.substring(0,l.length-1);case 3:var u=i.field,c=i.operator;return\"[\"+u+r(e(c))+t(s)+\"]\";case 5:var f=i.operator,h=i.field;return\"[\"+e(f)+h+\"]\";case 4:return\"[\"+i.field+\"]\";case 6:var p=i.operator;return\"[[\"+i.field+r(e(p))+t(s)+\"]]\";case 7:return s;case 8:return\"#\"+s;case 9:return\".\"+s;case 17:case 15:return n(i.parent,a)+r(\">\")+n(i.child,a);case 18:case 16:return n(i.ancestor,a)+\" \"+n(i.descendant,a);case 19:var d=n(i.left,a),v=n(i.subject,a),g=n(i.right,a);return d+(d.length>0?\" \":\"\")+v+g;case cn:return\"\"}}(s,a)}),\"\")},i=\"\",a=0;a<this.length;a++){var o=this[a];i+=n(o,o.subject),this.length>1&&a<this.length-1&&(i+=\", \")}return this.toStringCache=i,i}},xn=function(e,t,r){var n,i,a,o=E(e),s=O(e),l=E(r),u=!1,c=!1,f=!1;switch(t.indexOf(\"!\")>=0&&(t=t.replace(\"!\",\"\"),c=!0),t.indexOf(\"@\")>=0&&(t=t.replace(\"@\",\"\"),u=!0),(o||l||u)&&(i=o||s?\"\"+e:\"\",a=\"\"+r),u&&(e=i=i.toLowerCase(),r=a=a.toLowerCase()),t){case\"*=\":n=i.indexOf(a)>=0;break;case\"$=\":n=i.indexOf(a,i.length-a.length)>=0;break;case\"^=\":n=0===i.indexOf(a);break;case\"=\":n=e===r;break;case\">\":f=!0,n=e>r;break;case\">=\":f=!0,n=e>=r;break;case\"<\":f=!0,n=e<r;break;case\"<=\":f=!0,n=e<=r;break;default:n=!1}return!c||null==e&&f||(n=!n),n},bn=function(e,t){return e.data(t)},_n=[],wn=function(e,t){return e.checks.every((function(e){return _n[e.type](e,t)}))};_n[0]=function(e,t){var r=e.value;return\"*\"===r||r===t.group()},_n[7]=function(e,t){return function(e,t){return hn[e](t)}(e.value,t)},_n[8]=function(e,t){var r=e.value;return t.id()===r},_n[9]=function(e,t){var r=e.value;return t.hasClass(r)},_n[6]=function(e,t){var r=e.field,n=e.operator,i=e.value;return xn(function(e,t){return e[t]()}(t,r),n,i)},_n[3]=function(e,t){var r=e.field,n=e.operator,i=e.value;return xn(bn(t,r),n,i)},_n[5]=function(e,t){var r=e.field,n=e.operator;return function(e,t){switch(t){case\"?\":return!!e;case\"!\":return!e;case\"^\":return void 0===e}}(bn(t,r),n)},_n[4]=function(e,t){var r=e.field;return e.operator,void 0!==bn(t,r)},_n[10]=function(e,t){var r=e.nodes[0],n=e.nodes[1],i=t.source(),a=t.target();return wn(r,i)&&wn(n,a)||wn(n,i)&&wn(r,a)},_n[14]=function(e,t){return wn(e.node,t)&&t.neighborhood().some((function(t){return t.isNode()&&wn(e.neighbor,t)}))},_n[11]=function(e,t){return wn(e.source,t.source())&&wn(e.target,t.target())},_n[12]=function(e,t){return wn(e.source,t)&&t.outgoers().some((function(t){return t.isNode()&&wn(e.target,t)}))},_n[13]=function(e,t){return wn(e.target,t)&&t.incomers().some((function(t){return t.isNode()&&wn(e.source,t)}))},_n[15]=function(e,t){return wn(e.child,t)&&wn(e.parent,t.parent())},_n[17]=function(e,t){return wn(e.parent,t)&&t.children().some((function(t){return wn(e.child,t)}))},_n[16]=function(e,t){return wn(e.descendant,t)&&t.ancestors().some((function(t){return wn(e.ancestor,t)}))},_n[18]=function(e,t){return wn(e.ancestor,t)&&t.descendants().some((function(t){return wn(e.descendant,t)}))},_n[19]=function(e,t){return wn(e.subject,t)&&wn(e.left,t)&&wn(e.right,t)},_n[20]=function(){return!0},_n[1]=function(e,t){return e.value.has(t)},_n[2]=function(e,t){return(0,e.value)(t)};var kn={matches:function(e){for(var t=0;t<this.length;t++){var r=this[t];if(wn(r,e))return!0}return!1},filter:function(e){var t=this;if(1===t.length&&1===t[0].checks.length&&8===t[0].checks[0].type)return e.getElementById(t[0].checks[0].value).collection();var r=function(e){for(var r=0;r<t.length;r++){var n=t[r];if(wn(n,e))return!0}return!1};return null==t.text()&&(r=function(){return!0}),e.filter(r)}},Tn=function(e){this.inputText=e,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,null==e||E(e)&&e.match(/^\\s*$/)||(D(e)?this.addQuery({checks:[{type:1,value:e.collection()}]}):C(e)?this.addQuery({checks:[{type:2,value:e}]}):E(e)?this.parse(e)||(this.invalid=!0):Me(\"A selector must be created from a string; found \"))},Mn=Tn.prototype;[yn,kn].forEach((function(e){return $(Mn,e)})),Mn.text=function(){return this.inputText},Mn.size=function(){return this.length},Mn.eq=function(e){return this[e]},Mn.sameText=function(e){return!this.invalid&&!e.invalid&&this.text()===e.text()},Mn.addQuery=function(e){this[this.length++]=e},Mn.selector=Mn.toString;var An={allAre:function(e){var t=new Tn(e);return this.every((function(e){return t.matches(e)}))},is:function(e){var t=new Tn(e);return this.some((function(e){return t.matches(e)}))},some:function(e,t){for(var r=0;r<this.length;r++)if(t?e.apply(t,[this[r],r,this]):e(this[r],r,this))return!0;return!1},every:function(e,t){for(var r=0;r<this.length;r++)if(!(t?e.apply(t,[this[r],r,this]):e(this[r],r,this)))return!1;return!0},same:function(e){if(this===e)return!0;e=this.cy().collection(e);var t=this.length;return t===e.length&&(1===t?this[0]===e[0]:this.every((function(t){return e.hasElementWithId(t.id())})))},anySame:function(e){return e=this.cy().collection(e),this.some((function(t){return e.hasElementWithId(t.id())}))},allAreNeighbors:function(e){e=this.cy().collection(e);var t=this.neighborhood();return e.every((function(e){return t.hasElementWithId(e.id())}))},contains:function(e){e=this.cy().collection(e);var t=this;return e.every((function(e){return t.hasElementWithId(e.id())}))}};An.allAreNeighbours=An.allAreNeighbors,An.has=An.contains,An.equal=An.equals=An.same;var Sn,En,Cn=function(e,t){return function(r,n,i,a){var o,s=r,l=this;if(null==s?o=\"\":D(s)&&1===s.length&&(o=s.id()),1===l.length&&o){var u=l[0]._private,c=u.traversalCache=u.traversalCache||{},f=c[t]=c[t]||[],h=de(o);return f[h]||(f[h]=e.call(l,r,n,i,a))}return e.call(l,r,n,i,a)}},Ln={parent:function(e){var t=[];if(1===this.length){var r=this[0]._private.parent;if(r)return r}for(var n=0;n<this.length;n++){var i=this[n]._private.parent;i&&t.push(i)}return this.spawn(t,!0).filter(e)},parents:function(e){for(var t=[],r=this.parent();r.nonempty();){for(var n=0;n<r.length;n++){var i=r[n];t.push(i)}r=r.parent()}return this.spawn(t,!0).filter(e)},commonAncestors:function(e){for(var t,r=0;r<this.length;r++){var n=this[r].parents();t=(t=t||n).intersect(n)}return t.filter(e)},orphans:function(e){return this.stdFilter((function(e){return e.isOrphan()})).filter(e)},nonorphans:function(e){return this.stdFilter((function(e){return e.isChild()})).filter(e)},children:Cn((function(e){for(var t=[],r=0;r<this.length;r++)for(var n=this[r]._private.children,i=0;i<n.length;i++)t.push(n[i]);return this.spawn(t,!0).filter(e)}),\"children\"),siblings:function(e){return this.parent().children().not(this).filter(e)},isParent:function(){var e=this[0];if(e)return e.isNode()&&0!==e._private.children.length},isChildless:function(){var e=this[0];if(e)return e.isNode()&&0===e._private.children.length},isChild:function(){var e=this[0];if(e)return e.isNode()&&null!=e._private.parent},isOrphan:function(){var e=this[0];if(e)return e.isNode()&&null==e._private.parent},descendants:function(e){var t=[];return function e(r){for(var n=0;n<r.length;n++){var i=r[n];t.push(i),i.children().nonempty()&&e(i.children())}}(this.children()),this.spawn(t,!0).filter(e)}};function Pn(e,t,r,n){for(var i=[],a=new Ne,o=e.cy().hasCompoundNodes(),s=0;s<e.length;s++){var l=e[s];r?i.push(l):o&&n(i,a,l)}for(;i.length>0;){var u=i.shift();t(u),a.add(u.id()),o&&n(i,a,u)}return e}function On(e,t,r){if(r.isParent())for(var n=r._private.children,i=0;i<n.length;i++){var a=n[i];t.has(a.id())||e.push(a)}}function In(e,t,r){if(r.isChild()){var n=r._private.parent;t.has(n.id())||e.push(n)}}function Dn(e,t,r){In(e,t,r),On(e,t,r)}Ln.forEachDown=function(e){return Pn(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],On)},Ln.forEachUp=function(e){return Pn(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],In)},Ln.forEachUpAndDown=function(e){return Pn(this,e,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Dn)},Ln.ancestors=Ln.parents,(Sn=En={data:on.data({field:\"data\",bindingEvent:\"data\",allowBinding:!0,allowSetting:!0,settingEvent:\"data\",settingTriggersEvent:!0,triggerFnName:\"trigger\",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:on.removeData({field:\"data\",event:\"data\",triggerFnName:\"trigger\",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:on.data({field:\"scratch\",bindingEvent:\"scratch\",allowBinding:!0,allowSetting:!0,settingEvent:\"scratch\",settingTriggersEvent:!0,triggerFnName:\"trigger\",allowGetting:!0,updateStyle:!0}),removeScratch:on.removeData({field:\"scratch\",event:\"scratch\",triggerFnName:\"trigger\",triggerEvent:!0,updateStyle:!0}),rscratch:on.data({field:\"rscratch\",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:on.removeData({field:\"rscratch\",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=Sn.data,Sn.removeAttr=Sn.removeData;var zn,Rn,Fn=En,Bn={};function Nn(e){return function(t){var r=this;if(void 0===t&&(t=!0),0!==r.length&&r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,o=0;o<a.length;o++){var s=a[o];!t&&s.isLoop()||(n+=e(i,s))}return n}}}function jn(e,t){return function(r){for(var n,i=this.nodes(),a=0;a<i.length;a++){var o=i[a][e](r);void 0===o||void 0!==n&&!t(o,n)||(n=o)}return n}}$(Bn,{degree:Nn((function(e,t){return t.source().same(t.target())?2:1})),indegree:Nn((function(e,t){return t.target().same(e)?1:0})),outdegree:Nn((function(e,t){return t.source().same(e)?1:0}))}),$(Bn,{minDegree:jn(\"degree\",(function(e,t){return e<t})),maxDegree:jn(\"degree\",(function(e,t){return e>t})),minIndegree:jn(\"indegree\",(function(e,t){return e<t})),maxIndegree:jn(\"indegree\",(function(e,t){return e>t})),minOutdegree:jn(\"outdegree\",(function(e,t){return e<t})),maxOutdegree:jn(\"outdegree\",(function(e,t){return e>t}))}),$(Bn,{totalDegree:function(e){for(var t=0,r=this.nodes(),n=0;n<r.length;n++)t+=r[n].degree(e);return t}});var Un=function(e,t,r){for(var n=0;n<e.length;n++){var i=e[n];if(!i.locked()){var a=i._private.position,o={x:null!=t.x?t.x-a.x:0,y:null!=t.y?t.y-a.y:0};!i.isParent()||0===o.x&&0===o.y||i.children().shift(o,r),i.dirtyBoundingBoxCache()}}},Vn={field:\"position\",bindingEvent:\"position\",allowBinding:!0,allowSetting:!0,settingEvent:\"position\",settingTriggersEvent:!0,triggerFnName:\"emitAndNotify\",allowGetting:!0,validKeys:[\"x\",\"y\"],beforeGet:function(e){e.updateCompoundBounds()},beforeSet:function(e,t){Un(e,t,!1)},onSet:function(e){e.dirtyCompoundBoundsCache()},canSet:function(e){return!e.locked()}};zn=Rn={position:on.data(Vn),silentPosition:on.data($({},Vn,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(e,t){Un(e,t,!0)},onSet:function(e){e.dirtyCompoundBoundsCache()}})),positions:function(e,t){if(P(e))t?this.silentPosition(e):this.position(e);else if(C(e)){var r=e,n=this.cy();n.startBatch();for(var i=0;i<this.length;i++){var a,o=this[i];(a=r(o,i))&&(t?o.silentPosition(a):o.position(a))}n.endBatch()}return this},silentPositions:function(e){return this.positions(e,!0)},shift:function(e,t,r){var n;if(P(e)?(n={x:O(e.x)?e.x:0,y:O(e.y)?e.y:0},r=t):E(e)&&O(t)&&((n={x:0,y:0})[e]=t),null!=n){var i=this.cy();i.startBatch();for(var a=0;a<this.length;a++){var o=this[a];if(!(i.hasCompoundNodes()&&o.isChild()&&o.ancestors().anySame(this))){var s=o.position(),l={x:s.x+n.x,y:s.y+n.y};r?o.silentPosition(l):o.position(l)}}i.endBatch()}return this},silentShift:function(e,t){return P(e)?this.shift(e,!0):E(e)&&O(t)&&this.shift(e,t,!0),this},renderedPosition:function(e,t){var r=this[0],n=this.cy(),i=n.zoom(),a=n.pan(),o=P(e)?e:void 0,s=void 0!==o||void 0!==t&&E(e);if(r&&r.isNode()){if(!s){var l=r.position();return o=rt(l,i,a),void 0===e?o:o[e]}for(var u=0;u<this.length;u++){var c=this[u];void 0!==t?c.position(e,(t-a[e])/i):void 0!==o&&c.position(nt(o,i,a))}}else if(!s)return;return this},relativePosition:function(e,t){var r=this[0],n=this.cy(),i=P(e)?e:void 0,a=void 0!==i||void 0!==t&&E(e),o=n.hasCompoundNodes();if(r&&r.isNode()){if(!a){var s=r.position(),l=o?r.parent():null,u=l&&l.length>0,c=u;u&&(l=l[0]);var f=c?l.position():{x:0,y:0};return i={x:s.x-f.x,y:s.y-f.y},void 0===e?i:i[e]}for(var h=0;h<this.length;h++){var p=this[h],d=o?p.parent():null,v=d&&d.length>0,g=v;v&&(d=d[0]);var m=g?d.position():{x:0,y:0};void 0!==t?p.position(e,t+m[e]):void 0!==i&&p.position({x:i.x+m.x,y:i.y+m.y})}}else if(!a)return;return this}},zn.modelPosition=zn.point=zn.position,zn.modelPositions=zn.points=zn.positions,zn.renderedPoint=zn.renderedPosition,zn.relativePoint=zn.relativePosition;var Hn,qn,Gn=Rn;Hn=qn={},qn.renderedBoundingBox=function(e){var t=this.boundingBox(e),r=this.cy(),n=r.zoom(),i=r.pan(),a=t.x1*n+i.x,o=t.x2*n+i.x,s=t.y1*n+i.y,l=t.y2*n+i.y;return{x1:a,x2:o,y1:s,y2:l,w:o-a,h:l-s}},qn.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var r=t._private;r.compoundBoundsClean=!1,r.bbCache=null,e||t.emitAndNotify(\"bounds\")}})),this):this},qn.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function r(e){if(e.isParent()){var t=e._private,r=e.children(),n=\"include\"===e.pstyle(\"compound-sizing-wrt-labels\").value,i={width:{val:e.pstyle(\"min-width\").pfValue,left:e.pstyle(\"min-width-bias-left\"),right:e.pstyle(\"min-width-bias-right\")},height:{val:e.pstyle(\"min-height\").pfValue,top:e.pstyle(\"min-height-bias-top\"),bottom:e.pstyle(\"min-height-bias-bottom\")}},a=r.boundingBox({includeLabels:n,includeOverlays:!1,useCache:!1}),o=t.position;0!==a.w&&0!==a.h||((a={w:e.pstyle(\"width\").pfValue,h:e.pstyle(\"height\").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=i.width.left.value;\"px\"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var l=i.width.right.value;\"px\"===i.width.right.units&&i.width.val>0&&(l=100*l/i.width.val);var u=i.height.top.value;\"px\"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var c=i.height.bottom.value;\"px\"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var f=m(i.width.val-a.w,s,l),h=f.biasDiff,p=f.biasComplementDiff,d=m(i.height.val-a.h,u,c),v=d.biasDiff,g=d.biasComplementDiff;t.autoPadding=function(e,t,r,n){if(\"%\"!==r.units)return\"px\"===r.units?r.pfValue:0;switch(n){case\"width\":return e>0?r.pfValue*e:0;case\"height\":return t>0?r.pfValue*t:0;case\"average\":return e>0&&t>0?r.pfValue*(e+t)/2:0;case\"min\":return e>0&&t>0?e>t?r.pfValue*t:r.pfValue*e:0;case\"max\":return e>0&&t>0?e>t?r.pfValue*e:r.pfValue*t:0;default:return 0}}(a.w,a.h,e.pstyle(\"padding\"),e.pstyle(\"padding-relative-to\").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+p)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-v+a.y1+a.y2+g)/2}function m(e,t,r){var n=0,i=0,a=t+r;return e>0&&a>0&&(n=t/a*e,i=r/a*e),{biasDiff:n,biasComplementDiff:i}}}for(var n=0;n<this.length;n++){var i=this[n],a=i._private;a.compoundBoundsClean&&!e||(r(i),t.batching()||(a.compoundBoundsClean=!0))}return this};var Yn=function(e){return e===1/0||e===-1/0?0:e},Wn=function(e,t,r,n,i){n-t!=0&&i-r!=0&&null!=t&&null!=r&&null!=n&&null!=i&&(e.x1=t<e.x1?t:e.x1,e.x2=n>e.x2?n:e.x2,e.y1=r<e.y1?r:e.y1,e.y2=i>e.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Zn=function(e,t){return null==t?e:Wn(e,t.x1,t.y1,t.x2,t.y2)},Xn=function(e,t,r){return ze(e,t,r)},Kn=function(e,t,r){if(!t.cy().headless()){var n,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if(\"none\"!==t.pstyle(r+\"-arrow-shape\").value){\"source\"===r?(n=o.srcX,i=o.srcY):\"target\"===r?(n=o.tgtX,i=o.tgtY):(n=o.midX,i=o.midY);var l=a.arrowBounds=a.arrowBounds||{},u=l[r]=l[r]||{};u.x1=n-s,u.y1=i-s,u.x2=n+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,gt(u,1),Wn(e,u.x1,u.y1,u.x2,u.y2)}}},Jn=function(e,t,r){if(!t.cy().headless()){var n;n=r?r+\"-\":\"\";var i=t._private,a=i.rstyle;if(t.pstyle(n+\"label\").strValue){var o,s,l,u,c=t.pstyle(\"text-halign\"),f=t.pstyle(\"text-valign\"),h=Xn(a,\"labelWidth\",r),p=Xn(a,\"labelHeight\",r),d=Xn(a,\"labelX\",r),v=Xn(a,\"labelY\",r),g=t.pstyle(n+\"text-margin-x\").pfValue,m=t.pstyle(n+\"text-margin-y\").pfValue,y=t.isEdge(),x=t.pstyle(n+\"text-rotation\"),b=t.pstyle(\"text-outline-width\").pfValue,_=t.pstyle(\"text-border-width\").pfValue/2,w=t.pstyle(\"text-background-padding\").pfValue,k=p,T=h,M=T/2,A=k/2;if(y)o=d-M,s=d+M,l=v-A,u=v+A;else{switch(c.value){case\"left\":o=d-T,s=d;break;case\"center\":o=d-M,s=d+M;break;case\"right\":o=d,s=d+T}switch(f.value){case\"top\":l=v-k,u=v;break;case\"center\":l=v-A,u=v+A;break;case\"bottom\":l=v,u=v+k}}o+=g-Math.max(b,_)-w-2,s+=g+Math.max(b,_)+w+2,l+=m-Math.max(b,_)-w-2,u+=m+Math.max(b,_)+w+2;var S=r||\"main\",E=i.labelBounds,C=E[S]=E[S]||{};C.x1=o,C.y1=l,C.x2=s,C.y2=u,C.w=s-o,C.h=u-l;var L=y&&\"autorotate\"===x.strValue,P=null!=x.pfValue&&0!==x.pfValue;if(L||P){var O=L?Xn(i.rstyle,\"labelAngle\",r):x.pfValue,I=Math.cos(O),D=Math.sin(O),z=(o+s)/2,R=(l+u)/2;if(!y){switch(c.value){case\"left\":z=s;break;case\"right\":z=o}switch(f.value){case\"top\":R=u;break;case\"bottom\":R=l}}var F=function(e,t){return{x:(e-=z)*I-(t-=R)*D+z,y:e*D+t*I+R}},B=F(o,l),N=F(o,u),j=F(s,l),U=F(s,u);o=Math.min(B.x,N.x,j.x,U.x),s=Math.max(B.x,N.x,j.x,U.x),l=Math.min(B.y,N.y,j.y,U.y),u=Math.max(B.y,N.y,j.y,U.y)}var V=S+\"Rot\",H=E[V]=E[V]||{};H.x1=o,H.y1=l,H.x2=s,H.y2=u,H.w=s-o,H.h=u-l,Wn(e,o,l,s,u),Wn(i.labelBounds.all,o,l,s,u)}return e}},$n=function(e){var t=0,r=function(e){return(e?1:0)<<t++},n=0;return n+=r(e.incudeNodes),n+=r(e.includeEdges),n+=r(e.includeLabels),n+=r(e.includeMainLabels),n+=r(e.includeSourceLabels),(n+=r(e.includeTargetLabels))+r(e.includeOverlays)},Qn=function(e){if(e.isEdge()){var t=e.source().position(),r=e.target().position(),n=function(e){return Math.round(e)};return function(e,t){var r={value:0,done:!1},n=0,i=e.length;return ue({next:function(){return n<i?r.value=e[n++]:r.done=!0,r}},void 0)}([n(t.x),n(t.y),n(r.x),n(r.y)])}return 0},ei=function(e,t){var r,n=e._private,i=e.isEdge(),a=(null==t?ri:$n(t))===ri,o=Qn(e),s=n.bbCachePosKey===o,l=t.useCache&&s,u=function(e){return null==e._private.bbCache||e._private.styleDirty};if(!l||u(e)||i&&u(e.source())||u(e.target())?(s||e.recalculateRenderedStyle(l),r=function(e,t){var r,n,i,a,o,s,l,u=e._private.cy,c=u.styleEnabled(),f=u.headless(),h=dt(),p=e._private,d=e.isNode(),v=e.isEdge(),g=p.rstyle,m=d&&c?e.pstyle(\"bounds-expansion\").pfValue:[0],y=function(e){return\"none\"!==e.pstyle(\"display\").value},x=!c||y(e)&&(!v||y(e.source())&&y(e.target()));if(x){var b=0;c&&t.includeOverlays&&0!==e.pstyle(\"overlay-opacity\").value&&(b=e.pstyle(\"overlay-padding\").value);var _=0;c&&t.includeUnderlays&&0!==e.pstyle(\"underlay-opacity\").value&&(_=e.pstyle(\"underlay-padding\").value);var w=Math.max(b,_),k=0;if(c&&(k=e.pstyle(\"width\").pfValue/2),d&&t.includeNodes){var T=e.position();o=T.x,s=T.y;var M=e.outerWidth()/2,A=e.outerHeight()/2;Wn(h,r=o-M,i=s-A,n=o+M,a=s+A)}else if(v&&t.includeEdges)if(c&&!f){var S=e.pstyle(\"curve-style\").strValue;if(r=Math.min(g.srcX,g.midX,g.tgtX),n=Math.max(g.srcX,g.midX,g.tgtX),i=Math.min(g.srcY,g.midY,g.tgtY),a=Math.max(g.srcY,g.midY,g.tgtY),Wn(h,r-=k,i-=k,n+=k,a+=k),\"haystack\"===S){var E=g.haystackPts;if(E&&2===E.length){if(r=E[0].x,i=E[0].y,r>(n=E[1].x)){var C=r;r=n,n=C}if(i>(a=E[1].y)){var L=i;i=a,a=L}Wn(h,r-k,i-k,n+k,a+k)}}else if(\"bezier\"===S||\"unbundled-bezier\"===S||\"segments\"===S||\"taxi\"===S){var P;switch(S){case\"bezier\":case\"unbundled-bezier\":P=g.bezierPts;break;case\"segments\":case\"taxi\":P=g.linePts}if(null!=P)for(var O=0;O<P.length;O++){var I=P[O];r=I.x-k,n=I.x+k,i=I.y-k,a=I.y+k,Wn(h,r,i,n,a)}}}else{var D=e.source().position(),z=e.target().position();if((r=D.x)>(n=z.x)){var R=r;r=n,n=R}if((i=D.y)>(a=z.y)){var F=i;i=a,a=F}Wn(h,r-=k,i-=k,n+=k,a+=k)}if(c&&t.includeEdges&&v&&(Kn(h,e,\"mid-source\"),Kn(h,e,\"mid-target\"),Kn(h,e,\"source\"),Kn(h,e,\"target\")),c&&\"yes\"===e.pstyle(\"ghost\").value){var B=e.pstyle(\"ghost-offset-x\").pfValue,N=e.pstyle(\"ghost-offset-y\").pfValue;Wn(h,h.x1+B,h.y1+N,h.x2+B,h.y2+N)}var j=p.bodyBounds=p.bodyBounds||{};yt(j,h),mt(j,m),gt(j,1),c&&(r=h.x1,n=h.x2,i=h.y1,a=h.y2,Wn(h,r-w,i-w,n+w,a+w));var U=p.overlayBounds=p.overlayBounds||{};yt(U,h),mt(U,m),gt(U,1);var V=p.labelBounds=p.labelBounds||{};null!=V.all?((l=V.all).x1=1/0,l.y1=1/0,l.x2=-1/0,l.y2=-1/0,l.w=0,l.h=0):V.all=dt(),c&&t.includeLabels&&(t.includeMainLabels&&Jn(h,e,null),v&&(t.includeSourceLabels&&Jn(h,e,\"source\"),t.includeTargetLabels&&Jn(h,e,\"target\")))}return h.x1=Yn(h.x1),h.y1=Yn(h.y1),h.x2=Yn(h.x2),h.y2=Yn(h.y2),h.w=Yn(h.x2-h.x1),h.h=Yn(h.y2-h.y1),h.w>0&&h.h>0&&x&&(mt(h,m),gt(h,1)),h}(e,ti),n.bbCache=r,n.bbCachePosKey=o):r=n.bbCache,!a){var c=e.isNode();r=dt(),(t.includeNodes&&c||t.includeEdges&&!c)&&(t.includeOverlays?Zn(r,n.overlayBounds):Zn(r,n.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!i||t.includeSourceLabels&&t.includeTargetLabels)?Zn(r,n.labelBounds.all):(t.includeMainLabels&&Zn(r,n.labelBounds.mainRot),t.includeSourceLabels&&Zn(r,n.labelBounds.sourceRot),t.includeTargetLabels&&Zn(r,n.labelBounds.targetRot))),r.w=r.x2-r.x1,r.h=r.y2-r.y1}return r},ti={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,useCache:!0},ri=$n(ti),ni=Oe(ti);qn.boundingBox=function(e){var t;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==e&&void 0!==e.useCache&&!0!==e.useCache){t=dt();var r=ni(e=e||ti),n=this;if(n.cy().styleEnabled())for(var i=0;i<n.length;i++){var a=n[i],o=a._private,s=Qn(a),l=o.bbCachePosKey===s,u=r.useCache&&l&&!o.styleDirty;a.recalculateRenderedStyle(u)}this.updateCompoundBounds(!e.useCache);for(var c=0;c<n.length;c++){var f=n[c];Zn(t,ei(f,r))}}else e=void 0===e?ti:ni(e),t=ei(this[0],e);return t.x1=Yn(t.x1),t.y1=Yn(t.y1),t.x2=Yn(t.x2),t.y2=Yn(t.y2),t.w=Yn(t.x2-t.x1),t.h=Yn(t.y2-t.y1),t},qn.dirtyBoundingBoxCache=function(){for(var e=0;e<this.length;e++){var t=this[e]._private;t.bbCache=null,t.bbCachePosKey=null,t.bodyBounds=null,t.overlayBounds=null,t.labelBounds.all=null,t.labelBounds.source=null,t.labelBounds.target=null,t.labelBounds.main=null,t.labelBounds.sourceRot=null,t.labelBounds.targetRot=null,t.labelBounds.mainRot=null,t.arrowBounds.source=null,t.arrowBounds.target=null,t.arrowBounds[\"mid-source\"]=null,t.arrowBounds[\"mid-target\"]=null}return this.emitAndNotify(\"bounds\"),this},qn.boundingBoxAt=function(e){var t=this.nodes(),r=this.cy(),n=r.hasCompoundNodes(),i=r.collection();if(n&&(i=t.filter((function(e){return e.isParent()})),t=t.not(i)),P(e)){var a=e;e=function(){return a}}r.startBatch(),t.forEach((function(t,r){return t._private.bbAtOldPos=e(t,r)})).silentPositions(e),n&&(i.dirtyCompoundBoundsCache(),i.dirtyBoundingBoxCache(),i.updateCompoundBounds(!0));var o=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}}(this.boundingBox({useCache:!1}));return t.silentPositions((function(e){return e._private.bbAtOldPos})),n&&(i.dirtyCompoundBoundsCache(),i.dirtyBoundingBoxCache(),i.updateCompoundBounds(!0)),r.endBatch(),o},Hn.boundingbox=Hn.bb=Hn.boundingBox,Hn.renderedBoundingbox=Hn.renderedBoundingBox;var ii,ai,oi=qn;ii=ai={};var si=function(e){e.uppercaseName=G(e.name),e.autoName=\"auto\"+e.uppercaseName,e.labelName=\"label\"+e.uppercaseName,e.outerName=\"outer\"+e.uppercaseName,e.uppercaseOuterName=G(e.outerName),ii[e.name]=function(){var t=this[0],r=t._private,n=r.cy._private.styleEnabled;if(t){if(n){if(t.isParent())return t.updateCompoundBounds(),r[e.autoName]||0;var i=t.pstyle(e.name);return\"label\"===i.strValue?(t.recalculateRenderedStyle(),r.rstyle[e.labelName]||0):i.pfValue}return 1}},ii[\"outer\"+e.uppercaseName]=function(){var t=this[0],r=t._private.cy._private.styleEnabled;if(t)return r?t[e.name]()+t.pstyle(\"border-width\").pfValue+2*t.padding():1},ii[\"rendered\"+e.uppercaseName]=function(){var t=this[0];if(t)return t[e.name]()*this.cy().zoom()},ii[\"rendered\"+e.uppercaseOuterName]=function(){var t=this[0];if(t)return t[e.outerName]()*this.cy().zoom()}};si({name:\"width\"}),si({name:\"height\"}),ai.padding=function(){var e=this[0],t=e._private;return e.isParent()?(e.updateCompoundBounds(),void 0!==t.autoPadding?t.autoPadding:e.pstyle(\"padding\").pfValue):e.pstyle(\"padding\").pfValue},ai.paddedHeight=function(){var e=this[0];return e.height()+2*e.padding()},ai.paddedWidth=function(){var e=this[0];return e.width()+2*e.padding()};var li=ai,ui={controlPoints:{get:function(e){return e.renderer().getControlPoints(e)},mult:!0},segmentPoints:{get:function(e){return e.renderer().getSegmentPoints(e)},mult:!0},sourceEndpoint:{get:function(e){return e.renderer().getSourceEndpoint(e)}},targetEndpoint:{get:function(e){return e.renderer().getTargetEndpoint(e)}},midpoint:{get:function(e){return e.renderer().getEdgeMidpoint(e)}}},ci=Object.keys(ui).reduce((function(e,t){var r=ui[t],n=function(e){return\"rendered\"+e[0].toUpperCase()+e.substr(1)}(t);return e[t]=function(){return function(e,t){if(e.isEdge())return t(e)}(this,r.get)},r.mult?e[n]=function(){return function(e,t){if(e.isEdge()){var r=e.cy(),n=r.pan(),i=r.zoom();return t(e).map((function(e){return rt(e,i,n)}))}}(this,r.get)}:e[n]=function(){return function(e,t){if(e.isEdge()){var r=e.cy();return rt(t(e),r.zoom(),r.pan())}}(this,r.get)},e}),{}),fi=$({},Gn,oi,li,ci),hi=function(e,t){this.recycle(e,t)};function pi(){return!1}function di(){return!0}hi.prototype={instanceString:function(){return\"event\"},recycle:function(e,t){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=pi,null!=e&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?di:pi):null!=e&&e.type?t=e:this.type=e,null!=t&&(this.originalEvent=t.originalEvent,this.type=null!=t.type?t.type:this.type,this.cy=t.cy,this.target=t.target,this.position=t.position,this.renderedPosition=t.renderedPosition,this.namespace=t.namespace,this.layout=t.layout),null!=this.cy&&null!=this.position&&null==this.renderedPosition){var r=this.position,n=this.cy.zoom(),i=this.cy.pan();this.renderedPosition={x:r.x*n+i.x,y:r.y*n+i.y}}this.timeStamp=e&&e.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=di;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){this.isPropagationStopped=di;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=di,this.stopPropagation()},isDefaultPrevented:pi,isPropagationStopped:pi,isImmediatePropagationStopped:pi};var vi=/^([^.]+)(\\.(?:[^.]+))?$/,gi={qualifierCompare:function(e,t){return e===t},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(e){return e},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},mi=Object.keys(gi),yi={};function xi(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:yi,t=arguments.length>1?arguments[1]:void 0,r=0;r<mi.length;r++){var n=mi[r];this[n]=e[n]||gi[n]}this.context=t||this.context,this.listeners=[],this.emitting=0}var bi=xi.prototype,_i=function(e,t,r,n,i,a,o){C(n)&&(i=n,n=null),o&&(a=null==a?o:$({},a,o));for(var s=L(r)?r:r.split(/\\s+/),l=0;l<s.length;l++){var u=s[l];if(!N(u)){var c=u.match(vi);if(c&&!1===t(e,u,c[1],c[2]?c[2]:null,n,i,a))break}}},wi=function(e,t){return e.addEventFields(e.context,t),new hi(t.type,t)};bi.on=bi.addListener=function(e,t,r,n,i){return _i(this,(function(e,t,r,n,i,a,o){C(a)&&e.listeners.push({event:t,callback:a,type:r,namespace:n,qualifier:i,conf:o})}),e,t,r,n,i),this},bi.one=function(e,t,r,n){return this.on(e,t,r,n,{one:!0})},bi.removeListener=bi.off=function(e,t,r,n){var i=this;0!==this.emitting&&(this.listeners=this.listeners.slice());for(var a=this.listeners,o=function(o){var s=a[o];_i(i,(function(t,r,n,i,l,u){if((s.type===n||\"*\"===e)&&(!i&&\".*\"!==s.namespace||s.namespace===i)&&(!l||t.qualifierCompare(s.qualifier,l))&&(!u||s.callback===u))return a.splice(o,1),!1}),e,t,r,n)},s=a.length-1;s>=0;s--)o(s);return this},bi.removeAllListeners=function(){return this.removeListener(\"*\")},bi.emit=bi.trigger=function(e,t,r){var n=this.listeners,i=n.length;return this.emitting++,L(t)||(t=[t]),function(e,t,r){if(\"event\"!==S(r))if(P(r))t(e,wi(e,r));else for(var n=L(r)?r:r.split(/\\s+/),i=0;i<n.length;i++){var a=n[i];if(!N(a)){var o=a.match(vi);if(o){var s=o[1],l=o[2]?o[2]:null;t(e,wi(e,{type:s,namespace:l,target:e.context}))}}}else t(e,r)}(this,(function(e,a){null!=r&&(n=[{event:a.event,type:a.type,namespace:a.namespace,callback:r}],i=n.length);for(var o=function(r){var i=n[r];if(i.type===a.type&&(!i.namespace||i.namespace===a.namespace||\".*\"===i.namespace)&&e.eventMatches(e.context,i,a)){var o=[a];null!=t&&function(e,t){for(var r=0;r<t.length;r++){var n=t[r];e.push(n)}}(o,t),e.beforeEmit(e.context,i,a),i.conf&&i.conf.one&&(e.listeners=e.listeners.filter((function(e){return e!==i})));var s=e.callbackContext(e.context,i,a),l=i.callback.apply(s,o);e.afterEmit(e.context,i,a),!1===l&&(a.stopPropagation(),a.preventDefault())}},s=0;s<i;s++)o(s);e.bubble(e.context)&&!a.isPropagationStopped()&&e.parent(e.context).emit(a,t)}),e),this.emitting--,this};var ki={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,r){var n=t.qualifier;return null==n||e!==r.target&&z(r.target)&&n.matches(r.target)},addEventFields:function(e,t){t.cy=e.cy(),t.target=e},callbackContext:function(e,t,r){return null!=t.qualifier?r.target:e},beforeEmit:function(e,t){t.conf&&t.conf.once&&t.conf.onceCollection.removeListener(t.event,t.qualifier,t.callback)},bubble:function(){return!0},parent:function(e){return e.isChild()?e.parent():e.cy()}},Ti=function(e){return E(e)?new Tn(e):e},Mi={createEmitter:function(){for(var e=0;e<this.length;e++){var t=this[e],r=t._private;r.emitter||(r.emitter=new xi(ki,t))}return this},emitter:function(){return this._private.emitter},on:function(e,t,r){for(var n=Ti(t),i=0;i<this.length;i++)this[i].emitter().on(e,n,r);return this},removeListener:function(e,t,r){for(var n=Ti(t),i=0;i<this.length;i++)this[i].emitter().removeListener(e,n,r);return this},removeAllListeners:function(){for(var e=0;e<this.length;e++)this[e].emitter().removeAllListeners();return this},one:function(e,t,r){for(var n=Ti(t),i=0;i<this.length;i++)this[i].emitter().one(e,n,r);return this},once:function(e,t,r){for(var n=Ti(t),i=0;i<this.length;i++)this[i].emitter().on(e,n,r,{once:!0,onceCollection:this})},emit:function(e,t){for(var r=0;r<this.length;r++)this[r].emitter().emit(e,t);return this},emitAndNotify:function(e,t){if(0!==this.length)return this.cy().notify(e,this),this.emit(e,t),this}};on.eventAliasesOn(Mi);var Ai={nodes:function(e){return this.filter((function(e){return e.isNode()})).filter(e)},edges:function(e){return this.filter((function(e){return e.isEdge()})).filter(e)},byGroup:function(){for(var e=this.spawn(),t=this.spawn(),r=0;r<this.length;r++){var n=this[r];n.isNode()?e.push(n):t.push(n)}return{nodes:e,edges:t}},filter:function(e,t){if(void 0===e)return this;if(E(e)||D(e))return new Tn(e).filter(this);if(C(e)){for(var r=this.spawn(),n=this,i=0;i<n.length;i++){var a=n[i];(t?e.apply(t,[a,i,n]):e(a,i,n))&&r.push(a)}return r}return this.spawn()},not:function(e){if(e){E(e)&&(e=this.filter(e));for(var t=this.spawn(),r=0;r<this.length;r++){var n=this[r];e.has(n)||t.push(n)}return t}return this},absoluteComplement:function(){return this.cy().mutableElements().not(this)},intersect:function(e){if(E(e)){var t=e;return this.filter(t)}for(var r=this.spawn(),n=e,i=this.length<e.length,a=i?this:n,o=i?n:this,s=0;s<a.length;s++){var l=a[s];o.has(l)&&r.push(l)}return r},xor:function(e){var t=this._private.cy;E(e)&&(e=t.$(e));var r=this.spawn(),n=e,i=function(e,t){for(var n=0;n<e.length;n++){var i=e[n],a=i._private.data.id;t.hasElementWithId(a)||r.push(i)}};return i(this,n),i(n,this),r},diff:function(e){var t=this._private.cy;E(e)&&(e=t.$(e));var r=this.spawn(),n=this.spawn(),i=this.spawn(),a=e,o=function(e,t,r){for(var n=0;n<e.length;n++){var a=e[n],o=a._private.data.id;t.hasElementWithId(o)?i.merge(a):r.push(a)}};return o(this,a,r),o(a,this,n),{left:r,right:n,both:i}},add:function(e){var t=this._private.cy;if(!e)return this;if(E(e)){var r=e;e=t.mutableElements().filter(r)}for(var n=this.spawnSelf(),i=0;i<e.length;i++){var a=e[i];!this.has(a)&&n.push(a)}return n},merge:function(e){var t=this._private,r=t.cy;if(!e)return this;if(e&&E(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=t.map,a=0;a<e.length;a++){var o=e[a],s=o._private.data.id;if(!i.has(s)){var l=this.length++;this[l]=o,i.set(s,{ele:o,index:l})}}return this},unmergeAt:function(e){var t=this[e].id(),r=this._private.map;this[e]=void 0,r.delete(t);var n=e===this.length-1;if(this.length>1&&!n){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,r.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,r=e._private.data.id,n=t.map.get(r);if(!n)return this;var i=n.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&E(e)){var r=e;e=t.mutableElements().filter(r)}for(var n=0;n<e.length;n++)this.unmergeOne(e[n]);return this},unmergeBy:function(e){for(var t=this.length-1;t>=0;t--)e(this[t])&&this.unmergeAt(t);return this},map:function(e,t){for(var r=[],n=this,i=0;i<n.length;i++){var a=n[i],o=t?e.apply(t,[a,i,n]):e(a,i,n);r.push(o)}return r},reduce:function(e,t){for(var r=t,n=this,i=0;i<n.length;i++)r=e(r,n[i],i,n);return r},max:function(e,t){for(var r,n=-1/0,i=this,a=0;a<i.length;a++){var o=i[a],s=t?e.apply(t,[o,a,i]):e(o,a,i);s>n&&(n=s,r=o)}return{value:n,ele:r}},min:function(e,t){for(var r,n=1/0,i=this,a=0;a<i.length;a++){var o=i[a],s=t?e.apply(t,[o,a,i]):e(o,a,i);s<n&&(n=s,r=o)}return{value:n,ele:r}}},Si=Ai;Si.u=Si[\"|\"]=Si[\"+\"]=Si.union=Si.or=Si.add,Si[\"\\\\\"]=Si[\"!\"]=Si[\"-\"]=Si.difference=Si.relativeComplement=Si.subtract=Si.not,Si.n=Si[\"&\"]=Si[\".\"]=Si.and=Si.intersection=Si.intersect,Si[\"^\"]=Si[\"(+)\"]=Si[\"(-)\"]=Si.symmetricDifference=Si.symdiff=Si.xor,Si.fnFilter=Si.filterFn=Si.stdFilter=Si.filter,Si.complement=Si.abscomp=Si.absoluteComplement;var Ei,Ci=function(e,t){var r=e.cy().hasCompoundNodes();function n(e){var t=e.pstyle(\"z-compound-depth\");return\"auto\"===t.value?r?e.zDepth():0:\"bottom\"===t.value?-1:\"top\"===t.value?be:0}var i=n(e)-n(t);if(0!==i)return i;function a(e){return\"auto\"===e.pstyle(\"z-index-compare\").value&&e.isNode()?1:0}var o=a(e)-a(t);if(0!==o)return o;var s=e.pstyle(\"z-index\").value-t.pstyle(\"z-index\").value;return 0!==s?s:e.poolIndex()-t.poolIndex()},Li={forEach:function(e,t){if(C(e))for(var r=this.length,n=0;n<r;n++){var i=this[n];if(!1===(t?e.apply(t,[i,n,this]):e(i,n,this)))break}return this},toArray:function(){for(var e=[],t=0;t<this.length;t++)e.push(this[t]);return e},slice:function(e,t){var r=[],n=this.length;null==t&&(t=n),null==e&&(e=0),e<0&&(e=n+e),t<0&&(t=n+t);for(var i=e;i>=0&&i<t&&i<n;i++)r.push(this[i]);return this.spawn(r)},size:function(){return this.length},eq:function(e){return this[e]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return 0===this.length},nonempty:function(){return!this.empty()},sort:function(e){if(!C(e))return this;var t=this.toArray().sort(e);return this.spawn(t)},sortByZIndex:function(){return this.sort(Ci)},zDepth:function(){var e=this[0];if(e){var t=e._private;if(\"nodes\"===t.group){var r=t.data.parent?e.parents().size():0;return e.isParent()?r:be-1}var n=t.source,i=t.target,a=n.zDepth(),o=i.zDepth();return Math.max(a,o,0)}}};Li.each=Li.forEach,Ei=\"undefined\",(\"undefined\"==typeof Symbol?\"undefined\":d(Symbol))!=Ei&&d(Symbol.iterator)!=Ei&&(Li[Symbol.iterator]=function(){var e=this,t={value:void 0,done:!1},r=0,n=this.length;return y({next:function(){return r<n?t.value=e[r++]:(t.value=void 0,t.done=!0),t}},Symbol.iterator,(function(){return this}))});var Pi=Oe({nodeDimensionsIncludeLabels:!1}),Oi={layoutDimensions:function(e){var t;if(e=Pi(e),this.takesUpSpace())if(e.nodeDimensionsIncludeLabels){var r=this.boundingBox();t={w:r.w,h:r.h}}else t={w:this.outerWidth(),h:this.outerHeight()};else t={w:0,h:0};return 0!==t.w&&0!==t.h||(t.w=t.h=1),t},layoutPositions:function(e,t,r){var n=this.nodes().filter((function(e){return!e.isParent()})),i=this.cy(),a=t.eles,o=function(e){return e.id()},s=U(r,o);e.emit({type:\"layoutstart\",layout:e}),e.animations=[];var l=t.spacingFactor&&1!==t.spacingFactor,u=function(){if(!l)return null;for(var e=dt(),t=0;t<n.length;t++){var r=n[t],i=s(r,t);vt(e,i.x,i.y)}return e}(),c=U((function(e,r){var n,i,a,o,c,f=s(e,r);return l&&(n=Math.abs(t.spacingFactor),a=f,o=(i=u).x1+i.w/2,c=i.y1+i.h/2,f={x:o+(a.x-o)*n,y:c+(a.y-c)*n}),null!=t.transform&&(f=t.transform(e,f)),f}),o);if(t.animate){for(var f=0;f<n.length;f++){var h=n[f],p=c(h,f);if(null==t.animateFilter||t.animateFilter(h,f)){var d=h.animation({position:p,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(d)}else h.position(p)}if(t.fit){var v=i.animation({fit:{boundingBox:a.boundingBoxAt(c),padding:t.padding},duration:t.animationDuration,easing:t.animationEasing});e.animations.push(v)}else if(void 0!==t.zoom&&void 0!==t.pan){var g=i.animation({zoom:t.zoom,pan:t.pan,duration:t.animationDuration,easing:t.animationEasing});e.animations.push(g)}e.animations.forEach((function(e){return e.play()})),e.one(\"layoutready\",t.ready),e.emit({type:\"layoutready\",layout:e}),Qr.all(e.animations.map((function(e){return e.promise()}))).then((function(){e.one(\"layoutstop\",t.stop),e.emit({type:\"layoutstop\",layout:e})}))}else n.positions(c),t.fit&&i.fit(t.eles,t.padding),null!=t.zoom&&i.zoom(t.zoom),t.pan&&i.pan(t.pan),e.one(\"layoutready\",t.ready),e.emit({type:\"layoutready\",layout:e}),e.one(\"layoutstop\",t.stop),e.emit({type:\"layoutstop\",layout:e});return this},layout:function(e){return this.cy().makeLayout($({},e,{eles:this}))}};function Ii(e,t,r){var n,i=r._private,a=i.styleCache=i.styleCache||[];return null!=(n=a[e])?n:n=a[e]=t(r)}function Di(e,t){return e=de(e),function(r){return Ii(e,t,r)}}function zi(e,t){e=de(e);var r=function(e){return t.call(e)};return function(){var t=this[0];if(t)return Ii(e,r,t)}}Oi.createLayout=Oi.makeLayout=Oi.layout;var Ri={recalculateRenderedStyle:function(e){var t=this.cy(),r=t.renderer(),n=t.styleEnabled();return r&&n&&r.recalculateRenderedStyle(this,e),this},dirtyStyleCache:function(){var e,t=this.cy(),r=function(e){return e._private.styleCache=null};return t.hasCompoundNodes()?((e=this.spawnSelf().merge(this.descendants()).merge(this.parents())).merge(e.connectedEdges()),e.forEach(r)):this.forEach((function(e){r(e),e.connectedEdges().forEach(r)})),this},updateStyle:function(e){var t=this._private.cy;if(!t.styleEnabled())return this;if(t.batching())return t._private.batchStyleEles.merge(this),this;var r=this;e=!(!e&&void 0!==e),t.hasCompoundNodes()&&(r=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var n=r;return e?n.emitAndNotify(\"style\"):n.emit(\"style\"),r.forEach((function(e){return e._private.styleDirty=!0})),this},cleanStyle:function(){var e=this.cy();if(e.styleEnabled())for(var t=0;t<this.length;t++){var r=this[t];r._private.styleDirty&&(r._private.styleDirty=!1,e.style().apply(r))}},parsedStyle:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=this[0],n=r.cy();if(n.styleEnabled()&&r){this.cleanStyle();var i=r._private.style[e];return null!=i?i:t?n.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var r=t.pstyle(e);return void 0!==r.pfValue?r.pfValue:r.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var r=this[0];return r?t.style().getRenderedStyle(r,e):void 0},style:function(e,t){var r=this.cy();if(!r.styleEnabled())return this;var n=r.style();if(P(e)){var i=e;n.applyBypass(this,i,!1),this.emitAndNotify(\"style\")}else if(E(e)){if(void 0===t){var a=this[0];return a?n.getStylePropertyValue(a,e):void 0}n.applyBypass(this,e,t,!1),this.emitAndNotify(\"style\")}else if(void 0===e){var o=this[0];return o?n.getRawStyle(o):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var r=t.style(),n=this;if(void 0===e)for(var i=0;i<n.length;i++){var a=n[i];r.removeAllBypasses(a,!1)}else{e=e.split(/\\s+/);for(var o=0;o<n.length;o++){var s=n[o];r.removeBypasses(s,e,!1)}}return this.emitAndNotify(\"style\"),this},show:function(){return this.css(\"display\",\"element\"),this},hide:function(){return this.css(\"display\",\"none\"),this},effectiveOpacity:function(){var e=this.cy();if(!e.styleEnabled())return 1;var t=e.hasCompoundNodes(),r=this[0];if(r){var n=r._private,i=r.pstyle(\"opacity\").value;if(!t)return i;var a=n.data.parent?r.parents():null;if(a)for(var o=0;o<a.length;o++)i*=a[o].pstyle(\"opacity\").value;return i}},transparent:function(){if(!this.cy().styleEnabled())return!1;var e=this[0],t=e.cy().hasCompoundNodes();return e?t?0===e.effectiveOpacity():0===e.pstyle(\"opacity\").value:void 0},backgrounding:function(){return!!this.cy().styleEnabled()&&!!this[0]._private.backgrounding}};function Fi(e,t){var r=e._private.data.parent?e.parents():null;if(r)for(var n=0;n<r.length;n++)if(!t(r[n]))return!1;return!0}function Bi(e){var t=e.ok,r=e.edgeOkViaNode||e.ok,n=e.parentOk||e.ok;return function(){var e=this.cy();if(!e.styleEnabled())return!0;var i=this[0],a=e.hasCompoundNodes();if(i){var o=i._private;if(!t(i))return!1;if(i.isNode())return!a||Fi(i,n);var s=o.source,l=o.target;return r(s)&&(!a||Fi(s,r))&&(s===l||r(l)&&(!a||Fi(l,r)))}}}var Ni=Di(\"eleTakesUpSpace\",(function(e){return\"element\"===e.pstyle(\"display\").value&&0!==e.width()&&(!e.isNode()||0!==e.height())}));Ri.takesUpSpace=zi(\"takesUpSpace\",Bi({ok:Ni}));var ji=Di(\"eleInteractive\",(function(e){return\"yes\"===e.pstyle(\"events\").value&&\"visible\"===e.pstyle(\"visibility\").value&&Ni(e)})),Ui=Di(\"parentInteractive\",(function(e){return\"visible\"===e.pstyle(\"visibility\").value&&Ni(e)}));Ri.interactive=zi(\"interactive\",Bi({ok:ji,parentOk:Ui,edgeOkViaNode:Ni})),Ri.noninteractive=function(){var e=this[0];if(e)return!e.interactive()};var Vi=Di(\"eleVisible\",(function(e){return\"visible\"===e.pstyle(\"visibility\").value&&0!==e.pstyle(\"opacity\").pfValue&&Ni(e)})),Hi=Ni;Ri.visible=zi(\"visible\",Bi({ok:Vi,edgeOkViaNode:Hi})),Ri.hidden=function(){var e=this[0];if(e)return!e.visible()},Ri.isBundledBezier=zi(\"isBundledBezier\",(function(){return!!this.cy().styleEnabled()&&!this.removed()&&\"bezier\"===this.pstyle(\"curve-style\").value&&this.takesUpSpace()})),Ri.bypass=Ri.css=Ri.style,Ri.renderedCss=Ri.renderedStyle,Ri.removeBypass=Ri.removeCss=Ri.removeStyle,Ri.pstyle=Ri.parsedStyle;var qi={};function Gi(e){return function(){var t=arguments,r=[];if(2===t.length){var n=t[0],i=t[1];this.on(e.event,n,i)}else if(1===t.length&&C(t[0])){var a=t[0];this.on(e.event,a)}else if(0===t.length||1===t.length&&L(t[0])){for(var o=1===t.length?t[0]:null,s=0;s<this.length;s++){var l=this[s],u=!e.ableField||l._private[e.ableField],c=l._private[e.field]!=e.value;if(e.overrideAble){var f=e.overrideAble(l);if(void 0!==f&&(u=f,!f))return this}u&&(l._private[e.field]=e.value,c&&r.push(l))}var h=this.spawn(r);h.updateStyle(),h.emit(e.event),o&&h.emit(o)}return this}}function Yi(e){qi[e.field]=function(){var t=this[0];if(t){if(e.overrideField){var r=e.overrideField(t);if(void 0!==r)return r}return t._private[e.field]}},qi[e.on]=Gi({event:e.on,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!0}),qi[e.off]=Gi({event:e.off,field:e.field,ableField:e.ableField,overrideAble:e.overrideAble,value:!1})}Yi({field:\"locked\",overrideField:function(e){return!!e.cy().autolock()||void 0},on:\"lock\",off:\"unlock\"}),Yi({field:\"grabbable\",overrideField:function(e){return!e.cy().autoungrabify()&&!e.pannable()&&void 0},on:\"grabify\",off:\"ungrabify\"}),Yi({field:\"selected\",ableField:\"selectable\",overrideAble:function(e){return!e.cy().autounselectify()&&void 0},on:\"select\",off:\"unselect\"}),Yi({field:\"selectable\",overrideField:function(e){return!e.cy().autounselectify()&&void 0},on:\"selectify\",off:\"unselectify\"}),qi.deselect=qi.unselect,qi.grabbed=function(){var e=this[0];if(e)return e._private.grabbed},Yi({field:\"active\",on:\"activate\",off:\"unactivate\"}),Yi({field:\"pannable\",on:\"panify\",off:\"unpanify\"}),qi.inactive=function(){var e=this[0];if(e)return!e._private.active};var Wi={},Zi=function(e){return function(t){for(var r=[],n=0;n<this.length;n++){var i=this[n];if(i.isNode()){for(var a=!1,o=i.connectedEdges(),s=0;s<o.length;s++){var l=o[s],u=l.source(),c=l.target();if(e.noIncomingEdges&&c===i&&u!==i||e.noOutgoingEdges&&u===i&&c!==i){a=!0;break}}a||r.push(i)}}return this.spawn(r,!0).filter(t)}},Xi=function(e){return function(t){for(var r=[],n=0;n<this.length;n++){var i=this[n];if(i.isNode())for(var a=i.connectedEdges(),o=0;o<a.length;o++){var s=a[o],l=s.source(),u=s.target();e.outgoing&&l===i?(r.push(s),r.push(u)):e.incoming&&u===i&&(r.push(s),r.push(l))}}return this.spawn(r,!0).filter(t)}},Ki=function(e){return function(t){for(var r=this,n=[],i={};;){var a=e.outgoing?r.outgoers():r.incomers();if(0===a.length)break;for(var o=!1,s=0;s<a.length;s++){var l=a[s],u=l.id();i[u]||(i[u]=!0,n.push(l),o=!0)}if(!o)break;r=a}return this.spawn(n,!0).filter(t)}};function Ji(e){return function(t){for(var r=[],n=0;n<this.length;n++){var i=this[n]._private[e.attr];i&&r.push(i)}return this.spawn(r,!0).filter(t)}}function $i(e){return function(t){var r=[],n=this._private.cy,i=e||{};E(t)&&(t=n.$(t));for(var a=0;a<t.length;a++)for(var o=t[a]._private.edges,s=0;s<o.length;s++){var l=o[s],u=l._private.data,c=this.hasElementWithId(u.source)&&t.hasElementWithId(u.target),f=t.hasElementWithId(u.source)&&this.hasElementWithId(u.target);if(c||f){if(i.thisIsSrc||i.thisIsTgt){if(i.thisIsSrc&&!c)continue;if(i.thisIsTgt&&!f)continue}r.push(l)}}return this.spawn(r,!0)}}function Qi(e){return e=$({},{codirected:!1},e),function(t){for(var r=[],n=this.edges(),i=e,a=0;a<n.length;a++)for(var o=n[a]._private,s=o.source,l=s._private.data.id,u=o.data.target,c=s._private.edges,f=0;f<c.length;f++){var h=c[f],p=h._private.data,d=p.target,v=p.source,g=d===u&&v===l,m=l===d&&u===v;(i.codirected&&g||!i.codirected&&(g||m))&&r.push(h)}return this.spawn(r,!0).filter(t)}}Wi.clearTraversalCache=function(){for(var e=0;e<this.length;e++)this[e]._private.traversalCache=null},$(Wi,{roots:Zi({noIncomingEdges:!0}),leaves:Zi({noOutgoingEdges:!0}),outgoers:Cn(Xi({outgoing:!0}),\"outgoers\"),successors:Ki({outgoing:!0}),incomers:Cn(Xi({incoming:!0}),\"incomers\"),predecessors:Ki({incoming:!0})}),$(Wi,{neighborhood:Cn((function(e){for(var t=[],r=this.nodes(),n=0;n<r.length;n++)for(var i=r[n],a=i.connectedEdges(),o=0;o<a.length;o++){var s=a[o],l=s.source(),u=s.target(),c=i===l?u:l;c.length>0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)}),\"neighborhood\"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),Wi.neighbourhood=Wi.neighborhood,Wi.closedNeighbourhood=Wi.closedNeighborhood,Wi.openNeighbourhood=Wi.openNeighborhood,$(Wi,{source:Cn((function(e){var t,r=this[0];return r&&(t=r._private.source||r.cy().collection()),t&&e?t.filter(e):t}),\"source\"),target:Cn((function(e){var t,r=this[0];return r&&(t=r._private.target||r.cy().collection()),t&&e?t.filter(e):t}),\"target\"),sources:Ji({attr:\"source\"}),targets:Ji({attr:\"target\"})}),$(Wi,{edgesWith:Cn($i(),\"edgesWith\"),edgesTo:Cn($i({thisIsSrc:!0}),\"edgesTo\")}),$(Wi,{connectedEdges:Cn((function(e){for(var t=[],r=0;r<this.length;r++){var n=this[r];if(n.isNode())for(var i=n._private.edges,a=0;a<i.length;a++){var o=i[a];t.push(o)}}return this.spawn(t,!0).filter(e)}),\"connectedEdges\"),connectedNodes:Cn((function(e){for(var t=[],r=0;r<this.length;r++){var n=this[r];n.isEdge()&&(t.push(n.source()[0]),t.push(n.target()[0]))}return this.spawn(t,!0).filter(e)}),\"connectedNodes\"),parallelEdges:Cn(Qi(),\"parallelEdges\"),codirectedEdges:Cn(Qi({codirected:!0}),\"codirectedEdges\")}),$(Wi,{components:function(e){var t=this,r=t.cy(),n=r.collection(),i=null==e?t.nodes():e.nodes(),a=[];null!=e&&i.empty()&&(i=e.sources());var o=function(e,t){n.merge(e),i.unmerge(e),t.merge(e)};if(i.empty())return t.spawn();var s=function(){var e=r.collection();a.push(e);var n=i[0];o(n,e),t.bfs({directed:!1,roots:n,visit:function(t){return o(t,e)}}),e.forEach((function(r){r.connectedEdges().forEach((function(r){t.has(r)&&e.has(r.source())&&e.has(r.target())&&e.merge(r)}))}))};do{s()}while(i.length>0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),Wi.componentsOf=Wi.components;var ea=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==e){var i=new Fe,a=!1;if(t){if(t.length>0&&P(t[0])&&!z(t[0])){a=!0;for(var o=[],s=new Ne,l=0,u=t.length;l<u;l++){var c=t[l];null==c.data&&(c.data={});var f=c.data;if(null==f.id)f.id=Ce();else if(e.hasElementWithId(f.id)||s.has(f.id))continue;var h=new je(e,c,!1);o.push(h),s.add(f.id)}t=o}}else t=[];this.length=0;for(var p=0,d=t.length;p<d;p++){var v=t[p][0];if(null!=v){var g=v._private.data.id;r&&i.has(g)||(r&&i.set(g,{index:this.length,ele:v}),this[this.length]=v,this.length++)}}this._private={eles:this,cy:e,get map(){return null==this.lazyMap&&this.rebuildMap(),this.lazyMap},set map(e){this.lazyMap=e},rebuildMap:function(){for(var e=this.lazyMap=new Fe,t=this.eles,r=0;r<t.length;r++){var n=t[r];e.set(n.id(),{index:r,ele:n})}}},r&&(this._private.map=i),a&&!n&&this.restore()}else Me(\"A collection must have a reference to the core\")},ta=je.prototype=ea.prototype=Object.create(Array.prototype);ta.instanceString=function(){return\"collection\"},ta.spawn=function(e,t){return new ea(this.cy(),e,t)},ta.spawnSelf=function(){return this.spawn(this)},ta.cy=function(){return this._private.cy},ta.renderer=function(){return this._private.cy.renderer()},ta.element=function(){return this[0]},ta.collection=function(){return R(this)?this:new ea(this._private.cy,[this])},ta.unique=function(){return new ea(this._private.cy,this,!0)},ta.hasElementWithId=function(e){return e=\"\"+e,this._private.map.has(e)},ta.getElementById=function(e){e=\"\"+e;var t=this._private.cy,r=this._private.map.get(e);return r?r.ele:new ea(t)},ta.$id=ta.getElementById,ta.poolIndex=function(){var e=this._private.cy._private.elements,t=this[0]._private.data.id;return e._private.map.get(t).index},ta.indexOf=function(e){var t=e[0]._private.data.id;return this._private.map.get(t).index},ta.indexOfId=function(e){return e=\"\"+e,this._private.map.get(e).index},ta.json=function(e){var t=this.element(),r=this.cy();if(null==t&&e)return this;if(null!=t){var n=t._private;if(P(e)){if(r.startBatch(),e.data){t.data(e.data);var i=n.data;if(t.isEdge()){var a=!1,o={},s=e.data.source,l=e.data.target;null!=s&&s!=i.source&&(o.source=\"\"+s,a=!0),null!=l&&l!=i.target&&(o.target=\"\"+l,a=!0),a&&(t=t.move(o))}else{var u=\"parent\"in e.data,c=e.data.parent;!u||null==c&&null==i.parent||c==i.parent||(void 0===c&&(c=null),null!=c&&(c=\"\"+c),t=t.move({parent:c}))}}e.position&&t.position(e.position);var f=function(r,i,a){var o=e[r];null!=o&&o!==n[r]&&(o?t[i]():t[a]())};return f(\"removed\",\"remove\",\"restore\"),f(\"selected\",\"select\",\"unselect\"),f(\"selectable\",\"selectify\",\"unselectify\"),f(\"locked\",\"lock\",\"unlock\"),f(\"grabbable\",\"grabify\",\"ungrabify\"),f(\"pannable\",\"panify\",\"unpanify\"),null!=e.classes&&t.classes(e.classes),r.endBatch(),this}if(void 0===e){var h={data:Ee(n.data),position:Ee(n.position),group:n.group,removed:n.removed,selected:n.selected,selectable:n.selectable,locked:n.locked,grabbable:n.grabbable,pannable:n.pannable,classes:\"\"},p=0;return n.classes.forEach((function(e){return h.classes+=0==p++?e:\" \"+e})),h}}},ta.jsons=function(){for(var e=[],t=0;t<this.length;t++){var r=this[t].json();e.push(r)}return e},ta.clone=function(){for(var e=this.cy(),t=[],r=0;r<this.length;r++){var n=this[r].json(),i=new je(e,n,!1);t.push(i)}return new ea(e,t)},ta.copy=ta.clone,ta.restore=function(){for(var e,t,r=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,a=i.cy(),o=a._private,s=[],l=[],u=0,c=i.length;u<c;u++){var f=i[u];n&&!f.removed()||(f.isNode()?s.push(f):l.push(f))}e=s.concat(l);var h=function(){e.splice(t,1),t--};for(t=0;t<e.length;t++){var p=e[t],d=p._private,v=d.data;if(p.clearTraversalCache(),n||d.removed)if(void 0===v.id)v.id=Ce();else if(O(v.id))v.id=\"\"+v.id;else{if(N(v.id)||!E(v.id)){Me(\"Can not create element with invalid string ID `\"+v.id+\"`\"),h();continue}if(a.hasElementWithId(v.id)){Me(\"Can not create second element with ID `\"+v.id+\"`\"),h();continue}}var g=v.id;if(p.isNode()){var m=d.position;null==m.x&&(m.x=0),null==m.y&&(m.y=0)}if(p.isEdge()){for(var y=p,x=[\"source\",\"target\"],b=x.length,_=!1,w=0;w<b;w++){var k=x[w],T=v[k];O(T)&&(T=v[k]=\"\"+v[k]),null==T||\"\"===T?(Me(\"Can not create edge `\"+g+\"` with unspecified \"+k),_=!0):a.hasElementWithId(T)||(Me(\"Can not create edge `\"+g+\"` with nonexistant \"+k+\" `\"+T+\"`\"),_=!0)}if(_){h();continue}var M=a.getElementById(v.source),A=a.getElementById(v.target);M.same(A)?M._private.edges.push(y):(M._private.edges.push(y),A._private.edges.push(y)),y._private.source=M,y._private.target=A}d.map=new Fe,d.map.set(g,{ele:p,index:0}),d.removed=!1,n&&a.addToPool(p)}for(var S=0;S<s.length;S++){var C=s[S],L=C._private.data;O(L.parent)&&(L.parent=\"\"+L.parent);var P=L.parent;if(null!=P||C._private.parent){var I=C._private.parent?a.collection().merge(C._private.parent):a.getElementById(P);if(I.empty())L.parent=void 0;else if(I[0].removed())Se(\"Node added with missing parent, reference to parent removed\"),L.parent=void 0,C._private.parent=null;else{for(var D=!1,z=I;!z.empty();){if(C.same(z)){D=!0,L.parent=void 0;break}z=z.parent()}D||(I[0]._private.children.push(C),C._private.parent=I[0],o.hasCompoundNodes=!0)}}}if(e.length>0){for(var R=e.length===i.length?i:new ea(a,e),F=0;F<R.length;F++){var B=R[F];B.isNode()||(B.parallelEdges().clearTraversalCache(),B.source().clearTraversalCache(),B.target().clearTraversalCache())}(o.hasCompoundNodes?a.collection().merge(R).merge(R.connectedNodes()).merge(R.parent()):R).dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(r),r?R.emitAndNotify(\"add\"):n&&R.emit(\"add\")}return i},ta.removed=function(){var e=this[0];return e&&e._private.removed},ta.inside=function(){var e=this[0];return e&&!e._private.removed},ta.remove=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=this,n=[],i={},a=r._private.cy;function o(e){var r=i[e.id()];t&&e.removed()||r||(i[e.id()]=!0,e.isNode()?(n.push(e),function(e){for(var t=e._private.edges,r=0;r<t.length;r++)o(t[r])}(e),function(e){for(var t=e._private.children,r=0;r<t.length;r++)o(t[r])}(e)):n.unshift(e))}for(var s=0,l=r.length;s<l;s++)o(r[s]);function u(e,t){var r=e._private.edges;Ie(r,t),e.clearTraversalCache()}function c(e){e.clearTraversalCache()}var f=[];function h(e,t){t=t[0];var r=(e=e[0])._private.children,n=e.id();Ie(r,t),t._private.parent=null,f.ids[n]||(f.ids[n]=!0,f.push(e))}f.ids={},r.dirtyCompoundBoundsCache(),t&&a.removeFromPool(n);for(var p=0;p<n.length;p++){var d=n[p];if(d.isEdge()){var v=d.source()[0],g=d.target()[0];u(v,d),u(g,d);for(var m=d.parallelEdges(),y=0;y<m.length;y++){var x=m[y];c(x),x.isBundledBezier()&&x.dirtyBoundingBoxCache()}}else{var b=d.parent();0!==b.length&&h(b,d)}t&&(d._private.removed=!0)}var _=a._private.elements;a._private.hasCompoundNodes=!1;for(var w=0;w<_.length;w++)if(_[w].isParent()){a._private.hasCompoundNodes=!0;break}var k=new ea(this.cy(),n);k.size()>0&&(e?k.emitAndNotify(\"remove\"):t&&k.emit(\"remove\"));for(var T=0;T<f.length;T++){var M=f[T];t&&M.removed()||M.updateStyle()}return k},ta.move=function(e){var t=this._private.cy,r=this,n=!1,i=!1,a=function(e){return null==e?e:\"\"+e};if(void 0!==e.source||void 0!==e.target){var o=a(e.source),s=a(e.target),l=null!=o&&t.hasElementWithId(o),u=null!=s&&t.hasElementWithId(s);(l||u)&&(t.batch((function(){r.remove(n,i),r.emitAndNotify(\"moveout\");for(var e=0;e<r.length;e++){var t=r[e],a=t._private.data;t.isEdge()&&(l&&(a.source=o),u&&(a.target=s))}r.restore(n,i)})),r.emitAndNotify(\"move\"))}else if(void 0!==e.parent){var c=a(e.parent);if(null===c||t.hasElementWithId(c)){var f=null===c?void 0:c;t.batch((function(){var e=r.remove(n,i);e.emitAndNotify(\"moveout\");for(var t=0;t<r.length;t++){var a=r[t],o=a._private.data;a.isNode()&&(o.parent=f)}e.restore(n,i)})),r.emitAndNotify(\"move\")}}return this},[Yr,sn,ln,An,Ln,Fn,Bn,fi,Mi,Ai,{isNode:function(){return\"nodes\"===this.group()},isEdge:function(){return\"edges\"===this.group()},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var e=this[0];if(e)return e._private.group}},Li,Oi,Ri,qi,Wi].forEach((function(e){$(ta,e)}));var ra={add:function(e){var t,r=this;if(D(e)){var n=e;if(n._private.cy===r)t=n.restore();else{for(var i=[],a=0;a<n.length;a++){var o=n[a];i.push(o.json())}t=new ea(r,i)}}else if(L(e))t=new ea(r,e);else if(P(e)&&(L(e.nodes)||L(e.edges))){for(var s=e,l=[],u=[\"nodes\",\"edges\"],c=0,f=u.length;c<f;c++){var h=u[c],p=s[h];if(L(p))for(var d=0,v=p.length;d<v;d++){var g=$({group:h},p[d]);l.push(g)}}t=new ea(r,l)}else t=new je(r,e).collection();return t},remove:function(e){if(D(e));else if(E(e)){var t=e;e=this.$(t)}return e.remove()}};function na(e,t,r,n){var i=.1,a=\"undefined\"!=typeof Float32Array;if(4!==arguments.length)return!1;for(var o=0;o<4;++o)if(\"number\"!=typeof arguments[o]||isNaN(arguments[o])||!isFinite(arguments[o]))return!1;e=Math.min(e,1),r=Math.min(r,1),e=Math.max(e,0),r=Math.max(r,0);var s=a?new Float32Array(11):new Array(11);function l(e,t){return 1-3*t+3*e}function u(e,t){return 3*t-6*e}function c(e){return 3*e}function f(e,t,r){return((l(t,r)*e+u(t,r))*e+c(t))*e}function h(e,t,r){return 3*l(t,r)*e*e+2*u(t,r)*e+c(t)}var p=!1;var d=function(a){return p||(p=!0,e===t&&r===n||function(){for(var t=0;t<11;++t)s[t]=f(t*i,e,r)}()),e===t&&r===n?a:0===a?0:1===a?1:f(function(t){for(var n=0,a=1;10!==a&&s[a]<=t;++a)n+=i;--a;var o=n+(t-s[a])/(s[a+1]-s[a])*i,l=h(o,e,r);return l>=.001?function(t,n){for(var i=0;i<4;++i){var a=h(n,e,r);if(0===a)return n;n-=(f(n,e,r)-t)/a}return n}(t,o):0===l?o:function(t,n,i){var a,o,s=0;do{(a=f(o=n+(i-n)/2,e,r)-t)>0?i=o:n=o}while(Math.abs(a)>1e-7&&++s<10);return o}(t,n,n+i)}(a),t,n)};d.getControlPoints=function(){return[{x:e,y:t},{x:r,y:n}]};var v=\"generateBezier(\"+[e,t,r,n]+\")\";return d.toString=function(){return v},d}var ia=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,r,n){var i={x:t.x+n.dx*r,v:t.v+n.dv*r,tension:t.tension,friction:t.friction};return{dx:i.v,dv:e(i)}}function r(r,n){var i={dx:r.v,dv:e(r)},a=t(r,.5*n,i),o=t(r,.5*n,a),s=t(r,n,o),l=1/6*(i.dx+2*(a.dx+o.dx)+s.dx),u=1/6*(i.dv+2*(a.dv+o.dv)+s.dv);return r.x=r.x+l*n,r.v=r.v+u*n,r}return function e(t,n,i){var a,o,s,l={x:-1,v:0,tension:null,friction:null},u=[0],c=0,f=1e-4;for(t=parseFloat(t)||500,n=parseFloat(n)||20,i=i||null,l.tension=t,l.friction=n,o=(a=null!==i)?(c=e(t,n))/i*.016:.016;s=r(s||l,o),u.push(1+s.x),c+=16,Math.abs(s.x)>f&&Math.abs(s.v)>f;);return a?function(e){return u[e*(u.length-1)|0]}:c}}(),aa=function(e,t,r,n){var i=na(e,t,r,n);return function(e,t,r){return e+(t-e)*i(r)}},oa={linear:function(e,t,r){return e+(t-e)*r},ease:aa(.25,.1,.25,1),\"ease-in\":aa(.42,0,1,1),\"ease-out\":aa(0,0,.58,1),\"ease-in-out\":aa(.42,0,.58,1),\"ease-in-sine\":aa(.47,0,.745,.715),\"ease-out-sine\":aa(.39,.575,.565,1),\"ease-in-out-sine\":aa(.445,.05,.55,.95),\"ease-in-quad\":aa(.55,.085,.68,.53),\"ease-out-quad\":aa(.25,.46,.45,.94),\"ease-in-out-quad\":aa(.455,.03,.515,.955),\"ease-in-cubic\":aa(.55,.055,.675,.19),\"ease-out-cubic\":aa(.215,.61,.355,1),\"ease-in-out-cubic\":aa(.645,.045,.355,1),\"ease-in-quart\":aa(.895,.03,.685,.22),\"ease-out-quart\":aa(.165,.84,.44,1),\"ease-in-out-quart\":aa(.77,0,.175,1),\"ease-in-quint\":aa(.755,.05,.855,.06),\"ease-out-quint\":aa(.23,1,.32,1),\"ease-in-out-quint\":aa(.86,0,.07,1),\"ease-in-expo\":aa(.95,.05,.795,.035),\"ease-out-expo\":aa(.19,1,.22,1),\"ease-in-out-expo\":aa(1,0,0,1),\"ease-in-circ\":aa(.6,.04,.98,.335),\"ease-out-circ\":aa(.075,.82,.165,1),\"ease-in-out-circ\":aa(.785,.135,.15,.86),spring:function(e,t,r){if(0===r)return oa.linear;var n=ia(e,t,r);return function(e,t,r){return e+(t-e)*n(r)}},\"cubic-bezier\":aa};function sa(e,t,r,n,i){if(1===n)return r;if(t===r)return r;var a=i(t,r,n);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function la(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&\"%\"===t.type.units?e.value:e.pfValue:e}function ua(e,t,r,n,i){var a=null!=i?i.type:null;r<0?r=0:r>1&&(r=1);var o=la(e,i),s=la(t,i);if(O(o)&&O(s))return sa(a,o,s,r,n);if(L(o)&&L(s)){for(var l=[],u=0;u<s.length;u++){var c=o[u],f=s[u];if(null!=c&&null!=f){var h=sa(a,c,f,r,n);l.push(h)}else l.push(f)}return l}}function ca(e,t,r,n){var i=!n,a=e._private,o=t._private,s=o.easing,l=o.startTime,u=(n?e:e.cy()).style();if(!o.easingImpl)if(null==s)o.easingImpl=oa.linear;else{var c,f,h;c=E(s)?u.parse(\"transition-timing-function\",s).value:s,E(c)?(f=c,h=[]):(f=c[1],h=c.slice(2).map((function(e){return+e}))),h.length>0?(\"spring\"===f&&h.push(o.duration),o.easingImpl=oa[f].apply(null,h)):o.easingImpl=oa[f]}var p,d=o.easingImpl;if(p=0===o.duration?1:(r-l)/o.duration,o.applying&&(p=o.progress),p<0?p=0:p>1&&(p=1),null==o.delay){var v=o.startPosition,g=o.position;if(g&&i&&!e.locked()){var m={};fa(v.x,g.x)&&(m.x=ua(v.x,g.x,p,d)),fa(v.y,g.y)&&(m.y=ua(v.y,g.y,p,d)),e.position(m)}var y=o.startPan,x=o.pan,b=a.pan,_=null!=x&&n;_&&(fa(y.x,x.x)&&(b.x=ua(y.x,x.x,p,d)),fa(y.y,x.y)&&(b.y=ua(y.y,x.y,p,d)),e.emit(\"pan\"));var w=o.startZoom,k=o.zoom,T=null!=k&&n;T&&(fa(w,k)&&(a.zoom=pt(a.minZoom,ua(w,k,p,d),a.maxZoom)),e.emit(\"zoom\")),(_||T)&&e.emit(\"viewport\");var M=o.style;if(M&&M.length>0&&i){for(var A=0;A<M.length;A++){var S=M[A],C=S.name,L=S,P=o.startStyle[C],O=ua(P,L,p,d,u.properties[P.name]);u.overrideBypass(e,C,O)}e.emit(\"style\")}}return o.progress=p,p}function fa(e,t){return!!(null!=e&&null!=t&&(O(e)&&O(t)||e&&t))}function ha(e,t,r,n){var i=t._private;i.started=!0,i.startTime=r-i.progress*i.duration}function pa(e,t){var r=t._private.aniEles,n=[];function i(t,r){var i=t._private,a=i.animation.current,o=i.animation.queue,s=!1;if(0===a.length){var l=o.shift();l&&a.push(l)}for(var u=function(e){for(var t=e.length-1;t>=0;t--)(0,e[t])();e.splice(0,e.length)},c=a.length-1;c>=0;c--){var f=a[c],h=f._private;h.stopped?(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.frames)):(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||ha(0,f,e),ca(t,f,e,r),h.applying&&(h.applying=!1),u(h.frames),null!=h.step&&h.step(e),f.completed()&&(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.completes)),s=!0)}return r||0!==a.length||0!==o.length||n.push(t),s}for(var a=!1,o=0;o<r.length;o++){var s=i(r[o]);a=a||s}var l=i(t,!0);(a||l)&&(r.length>0?t.notify(\"draw\",r):t.notify(\"draw\")),r.unmerge(n),t.emit(\"step\")}var da={animate:on.animate(),animation:on.animation(),animated:on.animated(),clearQueue:on.clearQueue(),delay:on.delay(),delayAnimation:on.delayAnimation(),stop:on.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,r){pa(r,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&ae((function(r){pa(r,e),t()}))}()}}},va={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,r){var n=t.qualifier;return null==n||e!==r.target&&z(r.target)&&n.matches(r.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,r){return null!=t.qualifier?r.target:e}},ga=function(e){return E(e)?new Tn(e):e},ma={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new xi(va,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,r){return this.emitter().on(e,ga(t),r),this},removeListener:function(e,t,r){return this.emitter().removeListener(e,ga(t),r),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,r){return this.emitter().one(e,ga(t),r),this},once:function(e,t,r){return this.emitter().one(e,ga(t),r),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};on.eventAliasesOn(ma);var ya={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||\"#fff\",t.jpg(e)}};ya.jpeg=ya.jpg;var xa={layout:function(e){var t=this;if(null!=e)if(null!=e.name){var r,n=e.name,i=t.extension(\"layout\",n);if(null!=i)return r=E(e.eles)?t.$(e.eles):null!=e.eles?e.eles:t.$(),new i($({},e,{cy:t,eles:r}));Me(\"No such layout `\"+n+\"` found.  Did you forget to import it and `cytoscape.use()` it?\")}else Me(\"A `name` must be specified to make a layout\");else Me(\"Layout options must be specified to make a layout\")}};xa.createLayout=xa.makeLayout=xa.layout;var ba={notify:function(e,t){var r=this._private;if(this.batching()){r.batchNotifications=r.batchNotifications||{};var n=r.batchNotifications[e]=r.batchNotifications[e]||this.collection();null!=t&&n.merge(t)}else if(r.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(r){var n=e.batchNotifications[r];n.empty()?t.notify(r):t.notify(r,n)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var r=Object.keys(e),n=0;n<r.length;n++){var i=r[n],a=e[i];t.getElementById(i).data(a)}}))}},_a=Oe({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1}),wa={renderTo:function(e,t,r,n){return this._private.renderer.renderTo(e,t,r,n),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify(\"draw\"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify(\"resize\"),this},initRenderer:function(e){var t=this,r=t.extension(\"renderer\",e.name);if(null!=r){void 0!==e.wheelSensitivity&&Se(\"You have set a custom wheel sensitivity.  This will make your app zoom unnaturally when using mainstream mice.  You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.\");var n=_a(e);n.cy=t,t._private.renderer=new r(n),this.notify(\"init\")}else Me(\"Can not initialise: No such renderer `\".concat(e.name,\"` found. Did you forget to import it and `cytoscape.use()` it?\"))},destroyRenderer:function(){var e=this;e.notify(\"destroy\");var t=e.container();if(t)for(t._cyreg=null;t.childNodes.length>0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on(\"render\",e)},offRender:function(e){return this.off(\"render\",e)}};wa.invalidateDimensions=wa.resize;var ka={collection:function(e,t){return E(e)?this.$(e):D(e)?e.collection():L(e)?(t||(t={}),new ea(this,e,t.unique,t.removed)):new ea(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};ka.elements=ka.filter=ka.$;var Ta={},Ma=\"t\";Ta.apply=function(e){for(var t=this,r=t._private.cy.collection(),n=0;n<e.length;n++){var i=e[n],a=t.getContextMeta(i);if(!a.empty){var o=t.getContextStyle(a),s=t.applyContextStyle(a,o,i);i._private.appliedInitStyle?t.updateTransitions(i,s.diffProps):i._private.appliedInitStyle=!0,t.updateStyleHints(i)&&r.push(i)}}return r},Ta.getPropertiesDiff=function(e,t){var r=this,n=r._private.propDiffs=r._private.propDiffs||{},i=e+\"-\"+t,a=n[i];if(a)return a;for(var o=[],s={},l=0;l<r.length;l++){var u=r[l],c=e[l]===Ma,f=t[l]===Ma,h=c!==f,p=u.mappedProperties.length>0;if(h||f&&p){var d=void 0;h&&p||h?d=u.properties:p&&(d=u.mappedProperties);for(var v=0;v<d.length;v++){for(var g=d[v],m=g.name,y=!1,x=l+1;x<r.length;x++){var b=r[x];if(t[x]===Ma&&(y=null!=b.properties[g.name]))break}s[m]||y||(s[m]=!0,o.push(m))}}}return n[i]=o,o},Ta.getContextMeta=function(e){for(var t,r=this,n=\"\",i=e._private.styleCxtKey||\"\",a=0;a<r.length;a++){var o=r[a];n+=o.selector&&o.selector.matches(e)?Ma:\"f\"}return t=r.getPropertiesDiff(i,n),e._private.styleCxtKey=n,{key:n,diffPropNames:t,empty:0===t.length}},Ta.getContextStyle=function(e){var t=e.key,r=this._private.contextStyles=this._private.contextStyles||{};if(r[t])return r[t];for(var n={_private:{key:t}},i=0;i<this.length;i++){var a=this[i];if(t[i]===Ma)for(var o=0;o<a.properties.length;o++){var s=a.properties[o];n[s.name]=s}}return r[t]=n,n},Ta.applyContextStyle=function(e,t,r){for(var n=e.diffPropNames,i={},a=this.types,o=0;o<n.length;o++){var s=n[o],l=t[s],u=r.pstyle(s);if(!l){if(!u)continue;l=u.bypass?{name:s,deleteBypassed:!0}:{name:s,delete:!0}}if(u!==l){if(l.mapped===a.fn&&null!=u&&null!=u.mapping&&u.mapping.value===l.value){var c=u.mapping;if((c.fnValue=l.value(r))===c.prevFnValue)continue}var f=i[s]={prev:u};this.applyParsedProperty(r,l),f.next=r.pstyle(s),f.next&&f.next.bypass&&(f.next=f.next.bypassed)}}return{diffProps:i}},Ta.updateStyleHints=function(e){var t=e._private,r=this,n=r.propertyGroupNames,i=r.propertyGroupKeys,a=function(e,t,n){return r.getPropertiesHash(e,t,n)},o=t.styleKey;if(e.removed())return!1;var s=\"nodes\"===t.group,l=e._private.style;n=Object.keys(l);for(var u=0;u<i.length;u++){var c=i[u];t.styleKeys[c]=[se,le]}for(var f,h=function(e,r){return t.styleKeys[r][0]=ce(e,t.styleKeys[r][0])},p=function(e,r){return t.styleKeys[r][1]=fe(e,t.styleKeys[r][1])},d=function(e,t){h(e,t),p(e,t)},v=function(e,t){for(var r=0;r<e.length;r++){var n=e.charCodeAt(r);h(n,t),p(n,t)}},g=0;g<n.length;g++){var m=n[g],y=l[m];if(null!=y){var x=this.properties[m],b=x.type,_=x.groupKey,w=void 0;null!=x.hashOverride?w=x.hashOverride(e,y):null!=y.pfValue&&(w=y.pfValue);var k=null==x.enums?y.value:null,T=null!=w,M=T||null!=k,A=y.units;b.number&&M&&!b.multiple?(d(-128<(f=T?w:k)&&f<128&&Math.floor(f)!==f?2e9-(1024*f|0):f,_),T||null==A||v(A,_)):v(y.strValue,_)}}for(var S=[se,le],E=0;E<i.length;E++){var C=i[E],L=t.styleKeys[C];S[0]=ce(L[0],S[0]),S[1]=fe(L[1],S[1])}t.styleKey=2097152*S[0]+S[1];var P=t.styleKeys;t.labelDimsKey=he(P.labelDimensions);var O=a(e,[\"label\"],P.labelDimensions);if(t.labelKey=he(O),t.labelStyleKey=he(pe(P.commonLabel,O)),!s){var I=a(e,[\"source-label\"],P.labelDimensions);t.sourceLabelKey=he(I),t.sourceLabelStyleKey=he(pe(P.commonLabel,I));var D=a(e,[\"target-label\"],P.labelDimensions);t.targetLabelKey=he(D),t.targetLabelStyleKey=he(pe(P.commonLabel,D))}if(s){var z=t.styleKeys,R=z.nodeBody,F=z.nodeBorder,B=z.backgroundImage,N=z.compound,j=z.pie,U=[R,F,B,N,j].filter((function(e){return null!=e})).reduce(pe,[se,le]);t.nodeKey=he(U),t.hasPie=null!=j&&j[0]!==se&&j[1]!==le}return o!==t.styleKey},Ta.clearStyleHints=function(e){var t=e._private;t.styleCxtKey=\"\",t.styleKeys={},t.styleKey=null,t.labelKey=null,t.labelStyleKey=null,t.sourceLabelKey=null,t.sourceLabelStyleKey=null,t.targetLabelKey=null,t.targetLabelStyleKey=null,t.nodeKey=null,t.hasPie=null},Ta.applyParsedProperty=function(e,t){var r,n=this,i=t,a=e._private.style,o=n.types,s=n.properties[i.name].type,l=i.bypass,u=a[i.name],c=u&&u.bypass,f=e._private,h=\"mapping\",p=function(e){return null==e?null:null!=e.pfValue?e.pfValue:e.value},d=function(){var t=p(u),r=p(i);n.checkTriggers(e,i.name,t,r)};if(i&&\"pie\"===i.name.substr(0,3)&&Se(\"The pie style properties are deprecated.  Create charts using background images instead.\"),\"curve-style\"===t.name&&e.isEdge()&&(\"bezier\"!==t.value&&e.isLoop()||\"haystack\"===t.value&&(e.source().isParent()||e.target().isParent()))&&(i=t=this.parse(t.name,\"bezier\",l)),i.delete)return a[i.name]=void 0,d(),!0;if(i.deleteBypassed)return u?!!u.bypass&&(u.bypassed=void 0,d(),!0):(d(),!0);if(i.deleteBypass)return u?!!u.bypass&&(a[i.name]=u.bypassed,d(),!0):(d(),!0);var v=function(){Se(\"Do not assign mappings to elements without corresponding data (i.e. ele `\"+e.id()+\"` has no mapping for property `\"+i.name+\"` with data field `\"+i.field+\"`); try a `[\"+i.field+\"]` selector to limit scope to elements with `\"+i.field+\"` defined\")};switch(i.mapped){case o.mapData:for(var g,m=i.field.split(\".\"),y=f.data,x=0;x<m.length&&y;x++)y=y[m[x]];if(null==y)return v(),!1;if(!O(y))return Se(\"Do not use continuous mappers without specifying numeric data (i.e. `\"+i.field+\": \"+y+\"` for `\"+e.id()+\"` is non-numeric)\"),!1;var b=i.fieldMax-i.fieldMin;if((g=0===b?0:(y-i.fieldMin)/b)<0?g=0:g>1&&(g=1),s.color){var _=i.valueMin[0],w=i.valueMax[0],k=i.valueMin[1],T=i.valueMax[1],M=i.valueMin[2],A=i.valueMax[2],S=null==i.valueMin[3]?1:i.valueMin[3],E=null==i.valueMax[3]?1:i.valueMax[3],C=[Math.round(_+(w-_)*g),Math.round(k+(T-k)*g),Math.round(M+(A-M)*g),Math.round(S+(E-S)*g)];r={bypass:i.bypass,name:i.name,value:C,strValue:\"rgb(\"+C[0]+\", \"+C[1]+\", \"+C[2]+\")\"}}else{if(!s.number)return!1;var L=i.valueMin+(i.valueMax-i.valueMin)*g;r=this.parse(i.name,L,i.bypass,h)}if(!r)return v(),!1;r.mapping=i,i=r;break;case o.data:for(var P=i.field.split(\".\"),I=f.data,D=0;D<P.length&&I;D++)I=I[P[D]];if(null!=I&&(r=this.parse(i.name,I,i.bypass,h)),!r)return v(),!1;r.mapping=i,i=r;break;case o.fn:var z=i.value,R=null!=i.fnValue?i.fnValue:z(e);if(i.prevFnValue=R,null==R)return Se(\"Custom function mappers may not return null (i.e. `\"+i.name+\"` for ele `\"+e.id()+\"` is null)\"),!1;if(!(r=this.parse(i.name,R,i.bypass,h)))return Se(\"Custom function mappers may not return invalid values for the property type (i.e. `\"+i.name+\"` for ele `\"+e.id()+\"` is invalid)\"),!1;r.mapping=Ee(i),i=r;break;case void 0:break;default:return!1}return l?(i.bypassed=c?u.bypassed:u,a[i.name]=i):c?u.bypassed=i:a[i.name]=i,d(),!0},Ta.cleanElements=function(e,t){for(var r=0;r<e.length;r++){var n=e[r];if(this.clearStyleHints(n),n.dirtyCompoundBoundsCache(),n.dirtyBoundingBoxCache(),t)for(var i=n._private.style,a=Object.keys(i),o=0;o<a.length;o++){var s=a[o],l=i[s];null!=l&&(l.bypass?l.bypassed=null:i[s]=null)}else n._private.style={}}},Ta.update=function(){this._private.cy.mutableElements().updateStyle()},Ta.updateTransitions=function(e,t){var r=this,n=e._private,i=e.pstyle(\"transition-property\").value,a=e.pstyle(\"transition-duration\").pfValue,o=e.pstyle(\"transition-delay\").pfValue;if(i.length>0&&a>0){for(var s={},l=!1,u=0;u<i.length;u++){var c=i[u],f=e.pstyle(c),h=t[c];if(h){var p=h.prev,d=null!=h.next?h.next:f,v=!1,g=void 0,m=1e-6;p&&(O(p.pfValue)&&O(d.pfValue)?(v=d.pfValue-p.pfValue,g=p.pfValue+m*v):O(p.value)&&O(d.value)?(v=d.value-p.value,g=p.value+m*v):L(p.value)&&L(d.value)&&(v=p.value[0]!==d.value[0]||p.value[1]!==d.value[1]||p.value[2]!==d.value[2],g=p.strValue),v&&(s[c]=d.strValue,this.applyBypass(e,c,g),l=!0))}}if(!l)return;n.transitioning=!0,new Qr((function(t){o>0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:s,duration:a,easing:e.pstyle(\"transition-timing-function\").value,queue:!1}).play().promise()})).then((function(){r.removeBypasses(e,i),e.emitAndNotify(\"style\"),n.transitioning=!1}))}else n.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify(\"style\"),n.transitioning=!1)},Ta.checkTrigger=function(e,t,r,n,i,a){var o=this.properties[t],s=i(o);null!=s&&s(r,n)&&a(o)},Ta.checkZOrderTrigger=function(e,t,r,n){var i=this;this.checkTrigger(e,t,r,n,(function(e){return e.triggersZOrder}),(function(){i._private.cy.notify(\"zorder\",e)}))},Ta.checkBoundsTrigger=function(e,t,r,n){this.checkTrigger(e,t,r,n,(function(e){return e.triggersBounds}),(function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||(\"curve-style\"!==t||\"bezier\"!==r&&\"bezier\"!==n)&&(\"display\"!==t||\"none\"!==r&&\"none\"!==n)||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()}))}))},Ta.checkTriggers=function(e,t,r,n){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,r,n),this.checkBoundsTrigger(e,t,r,n)};var Aa={applyBypass:function(e,t,r,n){var i=[];if(\"*\"===t||\"**\"===t){if(void 0!==r)for(var a=0;a<this.properties.length;a++){var o=this.properties[a].name,s=this.parse(o,r,!0);s&&i.push(s)}}else if(E(t)){var l=this.parse(t,r,!0);l&&i.push(l)}else{if(!P(t))return!1;var u=t;n=r;for(var c=Object.keys(u),f=0;f<c.length;f++){var h=c[f],p=u[h];if(void 0===p&&(p=u[H(h)]),void 0!==p){var d=this.parse(h,p,!0);d&&i.push(d)}}}if(0===i.length)return!1;for(var v=!1,g=0;g<e.length;g++){for(var m=e[g],y={},x=void 0,b=0;b<i.length;b++){var _=i[b];if(n){var w=m.pstyle(_.name);x=y[_.name]={prev:w}}v=this.applyParsedProperty(m,Ee(_))||v,n&&(x.next=m.pstyle(_.name))}v&&this.updateStyleHints(m),n&&this.updateTransitions(m,y,!0)}return v},overrideBypass:function(e,t,r){t=V(t);for(var n=0;n<e.length;n++){var i=e[n],a=i._private.style[t],o=this.properties[t].type,s=o.color,l=o.mutiple,u=a?null!=a.pfValue?a.pfValue:a.value:null;a&&a.bypass?(a.value=r,null!=a.pfValue&&(a.pfValue=r),a.strValue=s?\"rgb(\"+r.join(\",\")+\")\":l?r.join(\" \"):\"\"+r,this.updateStyleHints(i)):this.applyBypass(i,t,r),this.checkTriggers(i,t,u,r)}},removeAllBypasses:function(e,t){return this.removeBypasses(e,this.propertyNames,t)},removeBypasses:function(e,t,r){for(var n=0;n<e.length;n++){for(var i=e[n],a={},o=0;o<t.length;o++){var s=t[o],l=this.properties[s],u=i.pstyle(l.name);if(u&&u.bypass){var c=this.parse(s,\"\",!0),f=a[l.name]={prev:u};this.applyParsedProperty(i,c),f.next=i.pstyle(l.name)}}this.updateStyleHints(i),r&&this.updateTransitions(i,a,!0)}}},Sa={getEmSizeInPixels:function(){var e=this.containerCss(\"font-size\");return null!=e?parseFloat(e):1},containerCss:function(e){var t=this._private.cy,r=t.container(),n=t.window();if(n&&r&&n.getComputedStyle)return n.getComputedStyle(r).getPropertyValue(e)}},Ea={getRenderedStyle:function(e,t){return t?this.getStylePropertyValue(e,t,!0):this.getRawStyle(e,!0)},getRawStyle:function(e,t){var r=this;if(e=e[0]){for(var n={},i=0;i<r.properties.length;i++){var a=r.properties[i],o=r.getStylePropertyValue(e,a.name,t);null!=o&&(n[a.name]=o,n[H(a.name)]=o)}return n}},getIndexedStyle:function(e,t,r,n){var i=e.pstyle(t)[r][n];return null!=i?i:e.cy().style().getDefaultProperty(t)[r][0]},getStylePropertyValue:function(e,t,r){if(e=e[0]){var n=this.properties[t];n.alias&&(n=n.pointsTo);var i=n.type,a=e.pstyle(n.name);if(a){var o=a.value,s=a.units,l=a.strValue;if(r&&i.number&&null!=o&&O(o)){var u=e.cy().zoom(),c=function(e){return e*u},f=function(e,t){return c(e)+t},h=L(o);return(h?s.every((function(e){return null!=e})):null!=s)?h?o.map((function(e,t){return f(e,s[t])})).join(\" \"):f(o,s):h?o.map((function(e){return E(e)?e:\"\"+c(e)})).join(\" \"):\"\"+c(o)}if(null!=l)return l}return null}},getAnimationStartStyle:function(e,t){for(var r={},n=0;n<t.length;n++){var i=t[n].name,a=e.pstyle(i);void 0!==a&&(a=P(a)?this.parse(i,a.strValue):this.parse(i,a)),a&&(r[i]=a)}return r},getPropsList:function(e){var t=[],r=e,n=this.properties;if(r)for(var i=Object.keys(r),a=0;a<i.length;a++){var o=i[a],s=r[o],l=n[o]||n[V(o)],u=this.parse(l.name,s);u&&t.push(u)}return t},getNonDefaultPropertiesHash:function(e,t,r){var n,i,a,o,s,l,u=r.slice();for(s=0;s<t.length;s++)if(n=t[s],null!=(i=e.pstyle(n,!1)))if(null!=i.pfValue)u[0]=ce(o,u[0]),u[1]=fe(o,u[1]);else for(a=i.strValue,l=0;l<a.length;l++)o=a.charCodeAt(l),u[0]=ce(o,u[0]),u[1]=fe(o,u[1]);return u}};Ea.getPropertiesHash=Ea.getNonDefaultPropertiesHash;var Ca={appendFromJson:function(e){for(var t=this,r=0;r<e.length;r++){var n=e[r],i=n.selector,a=n.style||n.css,o=Object.keys(a);t.selector(i);for(var s=0;s<o.length;s++){var l=o[s],u=a[l];t.css(l,u)}}return t},fromJson:function(e){var t=this;return t.resetToDefault(),t.appendFromJson(e),t},json:function(){for(var e=[],t=this.defaultLength;t<this.length;t++){for(var r=this[t],n=r.selector,i=r.properties,a={},o=0;o<i.length;o++){var s=i[o];a[s.name]=s.strValue}e.push({selector:n?n.toString():\"core\",style:a})}return e}},La={appendFromString:function(e){var t,r,n,i=this,a=\"\"+e;function o(){a=a.length>t.length?a.substr(t.length):\"\"}function s(){r=r.length>n.length?r.substr(n.length):\"\"}for(a=a.replace(/[/][*](\\s|.)+?[*][/]/g,\"\");!a.match(/^\\s*$/);){var l=a.match(/^\\s*((?:.|\\s)+?)\\s*\\{((?:.|\\s)+?)\\}/);if(!l){Se(\"Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: \"+a);break}t=l[0];var u=l[1];if(\"core\"!==u&&new Tn(u).invalid)Se(\"Skipping parsing of block: Invalid selector found in string stylesheet: \"+u),o();else{var c=l[2],f=!1;r=c;for(var h=[];!r.match(/^\\s*$/);){var p=r.match(/^\\s*(.+?)\\s*:\\s*(.+?)(?:\\s*;|\\s*$)/);if(!p){Se(\"Skipping parsing of block: Invalid formatting of style property and value definitions found in:\"+c),f=!0;break}n=p[0];var d=p[1],v=p[2];this.properties[d]?i.parse(d,v)?(h.push({name:d,val:v}),s()):(Se(\"Skipping property: Invalid property definition in: \"+n),s()):(Se(\"Skipping property: Invalid property name in: \"+n),s())}if(f){o();break}i.selector(u);for(var g=0;g<h.length;g++){var m=h[g];i.css(m.name,m.val)}o()}}return i},fromString:function(e){var t=this;return t.resetToDefault(),t.appendFromString(e),t}},Pa={};!function(){var e=Y,t=Z,r=K,n=function(e){return\"^\"+e+\"\\\\s*\\\\(\\\\s*([\\\\w\\\\.]+)\\\\s*\\\\)$\"},i=function(n){var i=e+\"|\\\\w+|\"+t+\"|\"+r+\"|\\\\#[0-9a-fA-F]{3}|\\\\#[0-9a-fA-F]{6}\";return\"^\"+n+\"\\\\s*\\\\(([\\\\w\\\\.]+)\\\\s*\\\\,\\\\s*(\"+e+\")\\\\s*\\\\,\\\\s*(\"+e+\")\\\\s*,\\\\s*(\"+i+\")\\\\s*\\\\,\\\\s*(\"+i+\")\\\\)$\"},a=[\"^url\\\\s*\\\\(\\\\s*['\\\"]?(.+?)['\\\"]?\\\\s*\\\\)$\",\"^(none)$\",\"^(.+)$\"];Pa.types={time:{number:!0,min:0,units:\"s|ms\",implicitUnits:\"ms\"},percent:{number:!0,min:0,max:100,units:\"%\",implicitUnits:\"%\"},percentages:{number:!0,min:0,max:100,units:\"%\",implicitUnits:\"%\",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},position:{enums:[\"parent\",\"origin\"]},nodeSize:{number:!0,min:0,enums:[\"label\"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:[\"horizontal\",\"leftward\",\"rightward\",\"vertical\",\"upward\",\"downward\",\"auto\"]},paddingRelativeTo:{enums:[\"width\",\"height\",\"average\",\"min\",\"max\"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:[\"auto\"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:[\"inner\",\"include-padding\"],multiple:!0},bgRepeat:{enums:[\"repeat\",\"repeat-x\",\"repeat-y\",\"no-repeat\"],multiple:!0},bgFit:{enums:[\"none\",\"contain\",\"cover\"],multiple:!0},bgCrossOrigin:{enums:[\"anonymous\",\"use-credentials\",\"null\"],multiple:!0},bgClip:{enums:[\"none\",\"node\"],multiple:!0},bgContainment:{enums:[\"inside\",\"over\"],multiple:!0},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:[\"solid\",\"linear-gradient\",\"radial-gradient\"]},bool:{enums:[\"yes\",\"no\"]},bools:{enums:[\"yes\",\"no\"],multiple:!0},lineStyle:{enums:[\"solid\",\"dotted\",\"dashed\"]},lineCap:{enums:[\"butt\",\"round\",\"square\"]},borderStyle:{enums:[\"solid\",\"dotted\",\"dashed\",\"double\"]},curveStyle:{enums:[\"bezier\",\"unbundled-bezier\",\"haystack\",\"segments\",\"straight\",\"straight-triangle\",\"taxi\"]},fontFamily:{regex:'^([\\\\w- \\\\\"]+(?:\\\\s*,\\\\s*[\\\\w- \\\\\"]+)*)$'},fontStyle:{enums:[\"italic\",\"normal\",\"oblique\"]},fontWeight:{enums:[\"normal\",\"bold\",\"bolder\",\"lighter\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"800\",\"900\",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:[\"none\",\"underline\",\"overline\",\"line-through\"]},textTransform:{enums:[\"none\",\"uppercase\",\"lowercase\"]},textWrap:{enums:[\"none\",\"wrap\",\"ellipsis\"]},textOverflowWrap:{enums:[\"whitespace\",\"anywhere\"]},textBackgroundShape:{enums:[\"rectangle\",\"roundrectangle\",\"round-rectangle\"]},nodeShape:{enums:[\"rectangle\",\"roundrectangle\",\"round-rectangle\",\"cutrectangle\",\"cut-rectangle\",\"bottomroundrectangle\",\"bottom-round-rectangle\",\"barrel\",\"ellipse\",\"triangle\",\"round-triangle\",\"square\",\"pentagon\",\"round-pentagon\",\"hexagon\",\"round-hexagon\",\"concavehexagon\",\"concave-hexagon\",\"heptagon\",\"round-heptagon\",\"octagon\",\"round-octagon\",\"tag\",\"round-tag\",\"star\",\"diamond\",\"round-diamond\",\"vee\",\"rhomboid\",\"right-rhomboid\",\"polygon\"]},overlayShape:{enums:[\"roundrectangle\",\"round-rectangle\",\"ellipse\"]},compoundIncludeLabels:{enums:[\"include\",\"exclude\"]},arrowShape:{enums:[\"tee\",\"triangle\",\"triangle-tee\",\"circle-triangle\",\"triangle-cross\",\"triangle-backcurve\",\"vee\",\"square\",\"circle\",\"diamond\",\"chevron\",\"none\"]},arrowFill:{enums:[\"filled\",\"hollow\"]},display:{enums:[\"element\",\"none\"]},visibility:{enums:[\"hidden\",\"visible\"]},zCompoundDepth:{enums:[\"bottom\",\"orphan\",\"auto\",\"top\"]},zIndexCompare:{enums:[\"auto\",\"manual\"]},valign:{enums:[\"top\",\"center\",\"bottom\"]},halign:{enums:[\"left\",\"center\",\"right\"]},justification:{enums:[\"left\",\"center\",\"right\",\"auto\"]},text:{string:!0},data:{mapping:!0,regex:n(\"data\")},layoutData:{mapping:!0,regex:n(\"layoutData\")},scratch:{mapping:!0,regex:n(\"scratch\")},mapData:{mapping:!0,regex:i(\"mapData\")},mapLayoutData:{mapping:!0,regex:i(\"mapLayoutData\")},mapScratch:{mapping:!0,regex:i(\"mapScratch\")},fn:{mapping:!0,fn:!0},url:{regexes:a,singleRegexMatchValue:!0},urls:{regexes:a,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:\"deg|rad\",implicitUnits:\"rad\"},textRotation:{number:!0,units:\"deg|rad\",implicitUnits:\"rad\",enums:[\"none\",\"autorotate\"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:[\"intersection\",\"node-position\"]},edgeEndpoint:{number:!0,multiple:!0,units:\"%|px|em|deg|rad\",implicitUnits:\"px\",enums:[\"inside-to-node\",\"outside-to-node\",\"outside-to-node-or-label\",\"outside-to-line\",\"outside-to-line-or-label\"],singleEnum:!0,validate:function(e,t){switch(e.length){case 2:return\"deg\"!==t[0]&&\"rad\"!==t[0]&&\"deg\"!==t[1]&&\"rad\"!==t[1];case 1:return E(e[0])||\"deg\"===t[0]||\"rad\"===t[0];default:return!1}}},easing:{regexes:[\"^(spring)\\\\s*\\\\(\\\\s*(\"+e+\")\\\\s*,\\\\s*(\"+e+\")\\\\s*\\\\)$\",\"^(cubic-bezier)\\\\s*\\\\(\\\\s*(\"+e+\")\\\\s*,\\\\s*(\"+e+\")\\\\s*,\\\\s*(\"+e+\")\\\\s*,\\\\s*(\"+e+\")\\\\s*\\\\)$\"],enums:[\"linear\",\"ease\",\"ease-in\",\"ease-out\",\"ease-in-out\",\"ease-in-sine\",\"ease-out-sine\",\"ease-in-out-sine\",\"ease-in-quad\",\"ease-out-quad\",\"ease-in-out-quad\",\"ease-in-cubic\",\"ease-out-cubic\",\"ease-in-out-cubic\",\"ease-in-quart\",\"ease-out-quart\",\"ease-in-out-quart\",\"ease-in-quint\",\"ease-out-quint\",\"ease-in-out-quint\",\"ease-in-expo\",\"ease-out-expo\",\"ease-in-out-expo\",\"ease-in-circ\",\"ease-out-circ\",\"ease-in-out-circ\"]},gradientDirection:{enums:[\"to-bottom\",\"to-top\",\"to-left\",\"to-right\",\"to-bottom-right\",\"to-bottom-left\",\"to-top-right\",\"to-top-left\",\"to-right-bottom\",\"to-left-bottom\",\"to-right-top\",\"to-left-top\"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(e){var t=e.length;return 1===t||2===t||4===t}}};var o={zeroNonZero:function(e,t){return(null==e||null==t)&&e!==t||0==e&&0!=t||0!=e&&0==t},any:function(e,t){return e!=t},emptyNonEmpty:function(e,t){var r=N(e),n=N(t);return r&&!n||!r&&n}},s=Pa.types,l=[{name:\"label\",type:s.text,triggersBounds:o.any,triggersZOrder:o.emptyNonEmpty},{name:\"text-rotation\",type:s.textRotation,triggersBounds:o.any},{name:\"text-margin-x\",type:s.bidirectionalSize,triggersBounds:o.any},{name:\"text-margin-y\",type:s.bidirectionalSize,triggersBounds:o.any}],u=[{name:\"source-label\",type:s.text,triggersBounds:o.any},{name:\"source-text-rotation\",type:s.textRotation,triggersBounds:o.any},{name:\"source-text-margin-x\",type:s.bidirectionalSize,triggersBounds:o.any},{name:\"source-text-margin-y\",type:s.bidirectionalSize,triggersBounds:o.any},{name:\"source-text-offset\",type:s.size,triggersBounds:o.any}],c=[{name:\"target-label\",type:s.text,triggersBounds:o.any},{name:\"target-text-rotation\",type:s.textRotation,triggersBounds:o.any},{name:\"target-text-margin-x\",type:s.bidirectionalSize,triggersBounds:o.any},{name:\"target-text-margin-y\",type:s.bidirectionalSize,triggersBounds:o.any},{name:\"target-text-offset\",type:s.size,triggersBounds:o.any}],f=[{name:\"font-family\",type:s.fontFamily,triggersBounds:o.any},{name:\"font-style\",type:s.fontStyle,triggersBounds:o.any},{name:\"font-weight\",type:s.fontWeight,triggersBounds:o.any},{name:\"font-size\",type:s.size,triggersBounds:o.any},{name:\"text-transform\",type:s.textTransform,triggersBounds:o.any},{name:\"text-wrap\",type:s.textWrap,triggersBounds:o.any},{name:\"text-overflow-wrap\",type:s.textOverflowWrap,triggersBounds:o.any},{name:\"text-max-width\",type:s.size,triggersBounds:o.any},{name:\"text-outline-width\",type:s.size,triggersBounds:o.any},{name:\"line-height\",type:s.positiveNumber,triggersBounds:o.any}],h=[{name:\"text-valign\",type:s.valign,triggersBounds:o.any},{name:\"text-halign\",type:s.halign,triggersBounds:o.any},{name:\"color\",type:s.color},{name:\"text-outline-color\",type:s.color},{name:\"text-outline-opacity\",type:s.zeroOneNumber},{name:\"text-background-color\",type:s.color},{name:\"text-background-opacity\",type:s.zeroOneNumber},{name:\"text-background-padding\",type:s.size,triggersBounds:o.any},{name:\"text-border-opacity\",type:s.zeroOneNumber},{name:\"text-border-color\",type:s.color},{name:\"text-border-width\",type:s.size,triggersBounds:o.any},{name:\"text-border-style\",type:s.borderStyle,triggersBounds:o.any},{name:\"text-background-shape\",type:s.textBackgroundShape,triggersBounds:o.any},{name:\"text-justification\",type:s.justification}],p=[{name:\"events\",type:s.bool},{name:\"text-events\",type:s.bool}],d=[{name:\"display\",type:s.display,triggersZOrder:o.any,triggersBounds:o.any,triggersBoundsOfParallelBeziers:!0},{name:\"visibility\",type:s.visibility,triggersZOrder:o.any},{name:\"opacity\",type:s.zeroOneNumber,triggersZOrder:o.zeroNonZero},{name:\"text-opacity\",type:s.zeroOneNumber},{name:\"min-zoomed-font-size\",type:s.size},{name:\"z-compound-depth\",type:s.zCompoundDepth,triggersZOrder:o.any},{name:\"z-index-compare\",type:s.zIndexCompare,triggersZOrder:o.any},{name:\"z-index\",type:s.nonNegativeInt,triggersZOrder:o.any}],v=[{name:\"overlay-padding\",type:s.size,triggersBounds:o.any},{name:\"overlay-color\",type:s.color},{name:\"overlay-opacity\",type:s.zeroOneNumber,triggersBounds:o.zeroNonZero},{name:\"overlay-shape\",type:s.overlayShape,triggersBounds:o.any}],g=[{name:\"underlay-padding\",type:s.size,triggersBounds:o.any},{name:\"underlay-color\",type:s.color},{name:\"underlay-opacity\",type:s.zeroOneNumber,triggersBounds:o.zeroNonZero},{name:\"underlay-shape\",type:s.overlayShape,triggersBounds:o.any}],m=[{name:\"transition-property\",type:s.propList},{name:\"transition-duration\",type:s.time},{name:\"transition-delay\",type:s.time},{name:\"transition-timing-function\",type:s.easing}],y=function(e,t){return\"label\"===t.value?-e.poolIndex():t.pfValue},x=[{name:\"height\",type:s.nodeSize,triggersBounds:o.any,hashOverride:y},{name:\"width\",type:s.nodeSize,triggersBounds:o.any,hashOverride:y},{name:\"shape\",type:s.nodeShape,triggersBounds:o.any},{name:\"shape-polygon-points\",type:s.polygonPointList,triggersBounds:o.any},{name:\"background-color\",type:s.color},{name:\"background-fill\",type:s.fill},{name:\"background-opacity\",type:s.zeroOneNumber},{name:\"background-blacken\",type:s.nOneOneNumber},{name:\"background-gradient-stop-colors\",type:s.colors},{name:\"background-gradient-stop-positions\",type:s.percentages},{name:\"background-gradient-direction\",type:s.gradientDirection},{name:\"padding\",type:s.sizeMaybePercent,triggersBounds:o.any},{name:\"padding-relative-to\",type:s.paddingRelativeTo,triggersBounds:o.any},{name:\"bounds-expansion\",type:s.boundsExpansion,triggersBounds:o.any}],b=[{name:\"border-color\",type:s.color},{name:\"border-opacity\",type:s.zeroOneNumber},{name:\"border-width\",type:s.size,triggersBounds:o.any},{name:\"border-style\",type:s.borderStyle}],_=[{name:\"background-image\",type:s.urls},{name:\"background-image-crossorigin\",type:s.bgCrossOrigin},{name:\"background-image-opacity\",type:s.zeroOneNumbers},{name:\"background-image-containment\",type:s.bgContainment},{name:\"background-image-smoothing\",type:s.bools},{name:\"background-position-x\",type:s.bgPos},{name:\"background-position-y\",type:s.bgPos},{name:\"background-width-relative-to\",type:s.bgRelativeTo},{name:\"background-height-relative-to\",type:s.bgRelativeTo},{name:\"background-repeat\",type:s.bgRepeat},{name:\"background-fit\",type:s.bgFit},{name:\"background-clip\",type:s.bgClip},{name:\"background-width\",type:s.bgWH},{name:\"background-height\",type:s.bgWH},{name:\"background-offset-x\",type:s.bgPos},{name:\"background-offset-y\",type:s.bgPos}],w=[{name:\"position\",type:s.position,triggersBounds:o.any},{name:\"compound-sizing-wrt-labels\",type:s.compoundIncludeLabels,triggersBounds:o.any},{name:\"min-width\",type:s.size,triggersBounds:o.any},{name:\"min-width-bias-left\",type:s.sizeMaybePercent,triggersBounds:o.any},{name:\"min-width-bias-right\",type:s.sizeMaybePercent,triggersBounds:o.any},{name:\"min-height\",type:s.size,triggersBounds:o.any},{name:\"min-height-bias-top\",type:s.sizeMaybePercent,triggersBounds:o.any},{name:\"min-height-bias-bottom\",type:s.sizeMaybePercent,triggersBounds:o.any}],k=[{name:\"line-style\",type:s.lineStyle},{name:\"line-color\",type:s.color},{name:\"line-fill\",type:s.fill},{name:\"line-cap\",type:s.lineCap},{name:\"line-opacity\",type:s.zeroOneNumber},{name:\"line-dash-pattern\",type:s.numbers},{name:\"line-dash-offset\",type:s.number},{name:\"line-gradient-stop-colors\",type:s.colors},{name:\"line-gradient-stop-positions\",type:s.percentages},{name:\"curve-style\",type:s.curveStyle,triggersBounds:o.any,triggersBoundsOfParallelBeziers:!0},{name:\"haystack-radius\",type:s.zeroOneNumber,triggersBounds:o.any},{name:\"source-endpoint\",type:s.edgeEndpoint,triggersBounds:o.any},{name:\"target-endpoint\",type:s.edgeEndpoint,triggersBounds:o.any},{name:\"control-point-step-size\",type:s.size,triggersBounds:o.any},{name:\"control-point-distances\",type:s.bidirectionalSizes,triggersBounds:o.any},{name:\"control-point-weights\",type:s.numbers,triggersBounds:o.any},{name:\"segment-distances\",type:s.bidirectionalSizes,triggersBounds:o.any},{name:\"segment-weights\",type:s.numbers,triggersBounds:o.any},{name:\"taxi-turn\",type:s.bidirectionalSizeMaybePercent,triggersBounds:o.any},{name:\"taxi-turn-min-distance\",type:s.size,triggersBounds:o.any},{name:\"taxi-direction\",type:s.axisDirection,triggersBounds:o.any},{name:\"edge-distances\",type:s.edgeDistances,triggersBounds:o.any},{name:\"arrow-scale\",type:s.positiveNumber,triggersBounds:o.any},{name:\"loop-direction\",type:s.angle,triggersBounds:o.any},{name:\"loop-sweep\",type:s.angle,triggersBounds:o.any},{name:\"source-distance-from-node\",type:s.size,triggersBounds:o.any},{name:\"target-distance-from-node\",type:s.size,triggersBounds:o.any}],T=[{name:\"ghost\",type:s.bool,triggersBounds:o.any},{name:\"ghost-offset-x\",type:s.bidirectionalSize,triggersBounds:o.any},{name:\"ghost-offset-y\",type:s.bidirectionalSize,triggersBounds:o.any},{name:\"ghost-opacity\",type:s.zeroOneNumber}],M=[{name:\"selection-box-color\",type:s.color},{name:\"selection-box-opacity\",type:s.zeroOneNumber},{name:\"selection-box-border-color\",type:s.color},{name:\"selection-box-border-width\",type:s.size},{name:\"active-bg-color\",type:s.color},{name:\"active-bg-opacity\",type:s.zeroOneNumber},{name:\"active-bg-size\",type:s.size},{name:\"outside-texture-bg-color\",type:s.color},{name:\"outside-texture-bg-opacity\",type:s.zeroOneNumber}],A=[];Pa.pieBackgroundN=16,A.push({name:\"pie-size\",type:s.sizeMaybePercent});for(var S=1;S<=Pa.pieBackgroundN;S++)A.push({name:\"pie-\"+S+\"-background-color\",type:s.color}),A.push({name:\"pie-\"+S+\"-background-size\",type:s.percent}),A.push({name:\"pie-\"+S+\"-background-opacity\",type:s.zeroOneNumber});var C=[],L=Pa.arrowPrefixes=[\"source\",\"mid-source\",\"target\",\"mid-target\"];[{name:\"arrow-shape\",type:s.arrowShape,triggersBounds:o.any},{name:\"arrow-color\",type:s.color},{name:\"arrow-fill\",type:s.arrowFill}].forEach((function(e){L.forEach((function(t){var r=t+\"-\"+e.name,n=e.type,i=e.triggersBounds;C.push({name:r,type:n,triggersBounds:i})}))}),{});var P=Pa.properties=[].concat(p,m,d,v,g,T,h,f,l,u,c,x,b,_,A,w,k,C,M),O=Pa.propertyGroups={behavior:p,transition:m,visibility:d,overlay:v,underlay:g,ghost:T,commonLabel:h,labelDimensions:f,mainLabel:l,sourceLabel:u,targetLabel:c,nodeBody:x,nodeBorder:b,backgroundImage:_,pie:A,compound:w,edgeLine:k,edgeArrow:C,core:M},I=Pa.propertyGroupNames={};(Pa.propertyGroupKeys=Object.keys(O)).forEach((function(e){I[e]=O[e].map((function(e){return e.name})),O[e].forEach((function(t){return t.groupKey=e}))}));var D=Pa.aliases=[{name:\"content\",pointsTo:\"label\"},{name:\"control-point-distance\",pointsTo:\"control-point-distances\"},{name:\"control-point-weight\",pointsTo:\"control-point-weights\"},{name:\"edge-text-rotation\",pointsTo:\"text-rotation\"},{name:\"padding-left\",pointsTo:\"padding\"},{name:\"padding-right\",pointsTo:\"padding\"},{name:\"padding-top\",pointsTo:\"padding\"},{name:\"padding-bottom\",pointsTo:\"padding\"}];Pa.propertyNames=P.map((function(e){return e.name}));for(var z=0;z<P.length;z++){var R=P[z];P[R.name]=R}for(var F=0;F<D.length;F++){var B=D[F],j=P[B.pointsTo],U={name:B.name,alias:!0,pointsTo:j};P.push(U),P[B.name]=U}}(),Pa.getDefaultProperty=function(e){return this.getDefaultProperties()[e]},Pa.getDefaultProperties=function(){var e=this._private;if(null!=e.defaultProperties)return e.defaultProperties;for(var t=$({\"selection-box-color\":\"#ddd\",\"selection-box-opacity\":.65,\"selection-box-border-color\":\"#aaa\",\"selection-box-border-width\":1,\"active-bg-color\":\"black\",\"active-bg-opacity\":.15,\"active-bg-size\":30,\"outside-texture-bg-color\":\"#000\",\"outside-texture-bg-opacity\":.125,events:\"yes\",\"text-events\":\"no\",\"text-valign\":\"top\",\"text-halign\":\"center\",\"text-justification\":\"auto\",\"line-height\":1,color:\"#000\",\"text-outline-color\":\"#000\",\"text-outline-width\":0,\"text-outline-opacity\":1,\"text-opacity\":1,\"text-decoration\":\"none\",\"text-transform\":\"none\",\"text-wrap\":\"none\",\"text-overflow-wrap\":\"whitespace\",\"text-max-width\":9999,\"text-background-color\":\"#000\",\"text-background-opacity\":0,\"text-background-shape\":\"rectangle\",\"text-background-padding\":0,\"text-border-opacity\":0,\"text-border-width\":0,\"text-border-style\":\"solid\",\"text-border-color\":\"#000\",\"font-family\":\"Helvetica Neue, Helvetica, sans-serif\",\"font-style\":\"normal\",\"font-weight\":\"normal\",\"font-size\":16,\"min-zoomed-font-size\":0,\"text-rotation\":\"none\",\"source-text-rotation\":\"none\",\"target-text-rotation\":\"none\",visibility:\"visible\",display:\"element\",opacity:1,\"z-compound-depth\":\"auto\",\"z-index-compare\":\"auto\",\"z-index\":0,label:\"\",\"text-margin-x\":0,\"text-margin-y\":0,\"source-label\":\"\",\"source-text-offset\":0,\"source-text-margin-x\":0,\"source-text-margin-y\":0,\"target-label\":\"\",\"target-text-offset\":0,\"target-text-margin-x\":0,\"target-text-margin-y\":0,\"overlay-opacity\":0,\"overlay-color\":\"#000\",\"overlay-padding\":10,\"overlay-shape\":\"round-rectangle\",\"underlay-opacity\":0,\"underlay-color\":\"#000\",\"underlay-padding\":10,\"underlay-shape\":\"round-rectangle\",\"transition-property\":\"none\",\"transition-duration\":0,\"transition-delay\":0,\"transition-timing-function\":\"linear\",\"background-blacken\":0,\"background-color\":\"#999\",\"background-fill\":\"solid\",\"background-opacity\":1,\"background-image\":\"none\",\"background-image-crossorigin\":\"anonymous\",\"background-image-opacity\":1,\"background-image-containment\":\"inside\",\"background-image-smoothing\":\"yes\",\"background-position-x\":\"50%\",\"background-position-y\":\"50%\",\"background-offset-x\":0,\"background-offset-y\":0,\"background-width-relative-to\":\"include-padding\",\"background-height-relative-to\":\"include-padding\",\"background-repeat\":\"no-repeat\",\"background-fit\":\"none\",\"background-clip\":\"node\",\"background-width\":\"auto\",\"background-height\":\"auto\",\"border-color\":\"#000\",\"border-opacity\":1,\"border-width\":0,\"border-style\":\"solid\",height:30,width:30,shape:\"ellipse\",\"shape-polygon-points\":\"-1, -1,   1, -1,   1, 1,   -1, 1\",\"bounds-expansion\":0,\"background-gradient-direction\":\"to-bottom\",\"background-gradient-stop-colors\":\"#999\",\"background-gradient-stop-positions\":\"0%\",ghost:\"no\",\"ghost-offset-y\":0,\"ghost-offset-x\":0,\"ghost-opacity\":0,padding:0,\"padding-relative-to\":\"width\",position:\"origin\",\"compound-sizing-wrt-labels\":\"include\",\"min-width\":0,\"min-width-bias-left\":0,\"min-width-bias-right\":0,\"min-height\":0,\"min-height-bias-top\":0,\"min-height-bias-bottom\":0},{\"pie-size\":\"100%\"},[{name:\"pie-{{i}}-background-color\",value:\"black\"},{name:\"pie-{{i}}-background-size\",value:\"0%\"},{name:\"pie-{{i}}-background-opacity\",value:1}].reduce((function(e,t){for(var r=1;r<=Pa.pieBackgroundN;r++){var n=t.name.replace(\"{{i}}\",r),i=t.value;e[n]=i}return e}),{}),{\"line-style\":\"solid\",\"line-color\":\"#999\",\"line-fill\":\"solid\",\"line-cap\":\"butt\",\"line-opacity\":1,\"line-gradient-stop-colors\":\"#999\",\"line-gradient-stop-positions\":\"0%\",\"control-point-step-size\":40,\"control-point-weights\":.5,\"segment-weights\":.5,\"segment-distances\":20,\"taxi-turn\":\"50%\",\"taxi-turn-min-distance\":10,\"taxi-direction\":\"auto\",\"edge-distances\":\"intersection\",\"curve-style\":\"haystack\",\"haystack-radius\":0,\"arrow-scale\":1,\"loop-direction\":\"-45deg\",\"loop-sweep\":\"-90deg\",\"source-distance-from-node\":0,\"target-distance-from-node\":0,\"source-endpoint\":\"outside-to-node\",\"target-endpoint\":\"outside-to-node\",\"line-dash-pattern\":[6,3],\"line-dash-offset\":0},[{name:\"arrow-shape\",value:\"none\"},{name:\"arrow-color\",value:\"#999\"},{name:\"arrow-fill\",value:\"filled\"}].reduce((function(e,t){return Pa.arrowPrefixes.forEach((function(r){var n=r+\"-\"+t.name,i=t.value;e[n]=i})),e}),{})),r={},n=0;n<this.properties.length;n++){var i=this.properties[n];if(!i.pointsTo){var a=i.name,o=t[a],s=this.parse(a,o);r[a]=s}}return e.defaultProperties=r,e.defaultProperties},Pa.addDefaultStylesheet=function(){this.selector(\":parent\").css({shape:\"rectangle\",padding:10,\"background-color\":\"#eee\",\"border-color\":\"#ccc\",\"border-width\":1}).selector(\"edge\").css({width:3}).selector(\":loop\").css({\"curve-style\":\"bezier\"}).selector(\"edge:compound\").css({\"curve-style\":\"bezier\",\"source-endpoint\":\"outside-to-line\",\"target-endpoint\":\"outside-to-line\"}).selector(\":selected\").css({\"background-color\":\"#0169D9\",\"line-color\":\"#0169D9\",\"source-arrow-color\":\"#0169D9\",\"target-arrow-color\":\"#0169D9\",\"mid-source-arrow-color\":\"#0169D9\",\"mid-target-arrow-color\":\"#0169D9\"}).selector(\":parent:selected\").css({\"background-color\":\"#CCE1F9\",\"border-color\":\"#aec8e5\"}).selector(\":active\").css({\"overlay-color\":\"black\",\"overlay-padding\":10,\"overlay-opacity\":.25}),this.defaultLength=this.length};var Oa={parse:function(e,t,r,n){var i=this;if(C(t))return i.parseImplWarn(e,t,r,n);var a,o=ve(e,\"\"+t,r?\"t\":\"f\",\"mapping\"===n||!0===n||!1===n||null==n?\"dontcare\":n),s=i.propCache=i.propCache||[];return(a=s[o])||(a=s[o]=i.parseImplWarn(e,t,r,n)),(r||\"mapping\"===n)&&(a=Ee(a))&&(a.value=Ee(a.value)),a},parseImplWarn:function(e,t,r,n){var i=this.parseImpl(e,t,r,n);return i||null==t||Se(\"The style property `\".concat(e,\": \").concat(t,\"` is invalid\")),!i||\"width\"!==i.name&&\"height\"!==i.name||\"label\"!==t||Se(\"The style value of `label` is deprecated for `\"+i.name+\"`\"),i}};Oa.parseImpl=function(e,t,r,n){var i=this;e=V(e);var a=i.properties[e],o=t,s=i.types;if(!a)return null;if(void 0===t)return null;a.alias&&(a=a.pointsTo,e=a.name);var l=E(t);l&&(t=t.trim());var u,c,f=a.type;if(!f)return null;if(r&&(\"\"===t||null===t))return{name:e,value:t,bypass:!0,deleteBypass:!0};if(C(t))return{name:e,value:t,strValue:\"fn\",mapped:s.fn,bypass:r};if(!l||n||t.length<7||\"a\"!==t[1]);else{if(t.length>=7&&\"d\"===t[0]&&(u=new RegExp(s.data.regex).exec(t))){if(r)return!1;var h=s.data;return{name:e,value:u,strValue:\"\"+t,mapped:h,field:u[1],bypass:r}}if(t.length>=10&&\"m\"===t[0]&&(c=new RegExp(s.mapData.regex).exec(t))){if(r)return!1;if(f.multiple)return!1;var p=s.mapData;if(!f.color&&!f.number)return!1;var d=this.parse(e,c[4]);if(!d||d.mapped)return!1;var v=this.parse(e,c[5]);if(!v||v.mapped)return!1;if(d.pfValue===v.pfValue||d.strValue===v.strValue)return Se(\"`\"+e+\": \"+t+\"` is not a valid mapper because the output range is zero; converting to `\"+e+\": \"+d.strValue+\"`\"),this.parse(e,d.strValue);if(f.color){var g=d.value,m=v.value;if(!(g[0]!==m[0]||g[1]!==m[1]||g[2]!==m[2]||g[3]!==m[3]&&(null!=g[3]&&1!==g[3]||null!=m[3]&&1!==m[3])))return!1}return{name:e,value:c,strValue:\"\"+t,mapped:p,field:c[1],fieldMin:parseFloat(c[2]),fieldMax:parseFloat(c[3]),valueMin:d.value,valueMax:v.value,bypass:r}}}if(f.multiple&&\"multiple\"!==n){var y;if(y=l?t.split(/\\s+/):L(t)?t:[t],f.evenMultiple&&y.length%2!=0)return null;for(var x=[],b=[],_=[],w=\"\",k=!1,T=0;T<y.length;T++){var M=i.parse(e,y[T],r,\"multiple\");k=k||E(M.value),x.push(M.value),_.push(null!=M.pfValue?M.pfValue:M.value),b.push(M.units),w+=(T>0?\" \":\"\")+M.strValue}return f.validate&&!f.validate(x,b)?null:f.singleEnum&&k?1===x.length&&E(x[0])?{name:e,value:x[0],strValue:x[0],bypass:r}:null:{name:e,value:x,pfValue:_,strValue:w,bypass:r,units:b}}var A,S,P,I=function(){for(var n=0;n<f.enums.length;n++)if(f.enums[n]===t)return{name:e,value:t,strValue:\"\"+t,bypass:r};return null};if(f.number){var D,z=\"px\";if(f.units&&(D=f.units),f.implicitUnits&&(z=f.implicitUnits),!f.unitless)if(l){var R=\"px|em\"+(f.allowPercent?\"|\\\\%\":\"\");D&&(R=D);var F=t.match(\"^(\"+Y+\")(\"+R+\")?$\");F&&(t=F[1],D=F[2]||z)}else D&&!f.implicitUnits||(D=z);if(t=parseFloat(t),isNaN(t)&&void 0===f.enums)return null;if(isNaN(t)&&void 0!==f.enums)return t=o,I();if(f.integer&&(!O(S=t)||Math.floor(S)!==S))return null;if(void 0!==f.min&&(t<f.min||f.strictMin&&t===f.min)||void 0!==f.max&&(t>f.max||f.strictMax&&t===f.max))return null;var B={name:e,value:t,strValue:\"\"+t+(D||\"\"),units:D,bypass:r};return f.unitless||\"px\"!==D&&\"em\"!==D?B.pfValue=t:B.pfValue=\"px\"!==D&&D?this.getEmSizeInPixels()*t:t,\"ms\"!==D&&\"s\"!==D||(B.pfValue=\"ms\"===D?t:1e3*t),\"deg\"!==D&&\"rad\"!==D||(B.pfValue=\"rad\"===D?t:(A=t,Math.PI*A/180)),\"%\"===D&&(B.pfValue=t/100),B}if(f.propList){var N=[],j=\"\"+t;if(\"none\"===j);else{for(var U=j.split(/\\s*,\\s*|\\s+/),H=0;H<U.length;H++){var q=U[H].trim();i.properties[q]?N.push(q):Se(\"`\"+q+\"` is not a valid property name\")}if(0===N.length)return null}return{name:e,value:N,strValue:0===N.length?\"none\":N.join(\" \"),bypass:r}}if(f.color){var G=(L(P=t)?P:null)||function(e){return Q[e.toLowerCase()]}(P)||function(e){if((4===e.length||7===e.length)&&\"#\"===e[0]){var t,r,n,i=16;return 4===e.length?(t=parseInt(e[1]+e[1],i),r=parseInt(e[2]+e[2],i),n=parseInt(e[3]+e[3],i)):(t=parseInt(e[1]+e[2],i),r=parseInt(e[3]+e[4],i),n=parseInt(e[5]+e[6],i)),[t,r,n]}}(P)||function(e){var t,r=new RegExp(\"^\"+W+\"$\").exec(e);if(r){t=[];for(var n=[],i=1;i<=3;i++){var a=r[i];if(\"%\"===a[a.length-1]&&(n[i]=!0),a=parseFloat(a),n[i]&&(a=a/100*255),a<0||a>255)return;t.push(Math.floor(a))}var o=n[1]||n[2]||n[3],s=n[1]&&n[2]&&n[3];if(o&&!s)return;var l=r[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;t.push(l)}}return t}(P)||function(e){var t,r,n,i,a,o,s,l;function u(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}var c=new RegExp(\"^\"+X+\"$\").exec(e);if(c){if((r=parseInt(c[1]))<0?r=(360- -1*r%360)%360:r>360&&(r%=360),r/=360,(n=parseFloat(c[2]))<0||n>100)return;if(n/=100,(i=parseFloat(c[3]))<0||i>100)return;if(i/=100,void 0!==(a=c[4])&&((a=parseFloat(a))<0||a>1))return;if(0===n)o=s=l=Math.round(255*i);else{var f=i<.5?i*(1+n):i+n-i*n,h=2*i-f;o=Math.round(255*u(h,f,r+1/3)),s=Math.round(255*u(h,f,r)),l=Math.round(255*u(h,f,r-1/3))}t=[o,s,l,a]}return t}(P);return G?{name:e,value:G,pfValue:G,strValue:\"rgb(\"+G[0]+\",\"+G[1]+\",\"+G[2]+\")\",bypass:r}:null}if(f.regex||f.regexes){if(f.enums){var Z=I();if(Z)return Z}for(var K=f.regexes?f.regexes:[f.regex],J=0;J<K.length;J++){var $=new RegExp(K[J]).exec(t);if($)return{name:e,value:f.singleRegexMatchValue?$[1]:$,strValue:\"\"+t,bypass:r}}return null}return f.string?{name:e,value:\"\"+t,strValue:\"\"+t,bypass:r}:f.enums?I():null};var Ia=function e(t){if(!(this instanceof e))return new e(t);F(t)?(this._private={cy:t,coreStyle:{}},this.length=0,this.resetToDefault()):Me(\"A style must have a core reference\")},Da=Ia.prototype;Da.instanceString=function(){return\"style\"},Da.clear=function(){for(var e=this._private,t=e.cy.elements(),r=0;r<this.length;r++)this[r]=void 0;return this.length=0,e.contextStyles={},e.propDiffs={},this.cleanElements(t,!0),t.forEach((function(e){var t=e[0]._private;t.styleDirty=!0,t.appliedInitStyle=!1})),this},Da.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},Da.core=function(e){return this._private.coreStyle[e]||this.getDefaultProperty(e)},Da.selector=function(e){var t=\"core\"===e?null:new Tn(e),r=this.length++;return this[r]={selector:t,properties:[],mappedProperties:[],index:r},this},Da.css=function(){var e=arguments;if(1===e.length)for(var t=e[0],r=0;r<this.properties.length;r++){var n=this.properties[r],i=t[n.name];void 0===i&&(i=t[H(n.name)]),void 0!==i&&this.cssRule(n.name,i)}else 2===e.length&&this.cssRule(e[0],e[1]);return this},Da.style=Da.css,Da.cssRule=function(e,t){var r=this.parse(e,t);if(r){var n=this.length-1;this[n].properties.push(r),this[n].properties[r.name]=r,r.name.match(/pie-(\\d+)-background-size/)&&r.value&&(this._private.hasPie=!0),r.mapped&&this[n].mappedProperties.push(r),!this[n].selector&&(this._private.coreStyle[r.name]=r)}return this},Da.append=function(e){return B(e)?e.appendToStyle(this):L(e)?this.appendFromJson(e):E(e)&&this.appendFromString(e),this},Ia.fromJson=function(e,t){var r=new Ia(e);return r.fromJson(t),r},Ia.fromString=function(e,t){return new Ia(e).fromString(t)},[Ta,Aa,Sa,Ea,Ca,La,Pa,Oa].forEach((function(e){$(Da,e)})),Ia.types=Da.types,Ia.properties=Da.properties,Ia.propertyGroups=Da.propertyGroups,Ia.propertyGroupNames=Da.propertyGroupNames,Ia.propertyGroupKeys=Da.propertyGroupKeys;var za={style:function(e){return e&&this.setStyle(e).update(),this._private.style},setStyle:function(e){var t=this._private;return B(e)?t.style=e.generateStyle(this):L(e)?t.style=Ia.fromJson(this,e):E(e)?t.style=Ia.fromString(this,e):t.style=Ia(this),t.style},updateStyle:function(){this.mutableElements().updateStyle()}},Ra={autolock:function(e){return void 0===e?this._private.autolock:(this._private.autolock=!!e,this)},autoungrabify:function(e){return void 0===e?this._private.autoungrabify:(this._private.autoungrabify=!!e,this)},autounselectify:function(e){return void 0===e?this._private.autounselectify:(this._private.autounselectify=!!e,this)},selectionType:function(e){var t=this._private;return null==t.selectionType&&(t.selectionType=\"single\"),void 0===e?t.selectionType:(\"additive\"!==e&&\"single\"!==e||(t.selectionType=e),this)},panningEnabled:function(e){return void 0===e?this._private.panningEnabled:(this._private.panningEnabled=!!e,this)},userPanningEnabled:function(e){return void 0===e?this._private.userPanningEnabled:(this._private.userPanningEnabled=!!e,this)},zoomingEnabled:function(e){return void 0===e?this._private.zoomingEnabled:(this._private.zoomingEnabled=!!e,this)},userZoomingEnabled:function(e){return void 0===e?this._private.userZoomingEnabled:(this._private.userZoomingEnabled=!!e,this)},boxSelectionEnabled:function(e){return void 0===e?this._private.boxSelectionEnabled:(this._private.boxSelectionEnabled=!!e,this)},pan:function(){var e,t,r,n,i,a=arguments,o=this._private.pan;switch(a.length){case 0:return o;case 1:if(E(a[0]))return o[e=a[0]];if(P(a[0])){if(!this._private.panningEnabled)return this;n=(r=a[0]).x,i=r.y,O(n)&&(o.x=n),O(i)&&(o.y=i),this.emit(\"pan viewport\")}break;case 2:if(!this._private.panningEnabled)return this;t=a[1],\"x\"!==(e=a[0])&&\"y\"!==e||!O(t)||(o[e]=t),this.emit(\"pan viewport\")}return this.notify(\"viewport\"),this},panBy:function(e,t){var r,n,i,a,o,s=arguments,l=this._private.pan;if(!this._private.panningEnabled)return this;switch(s.length){case 1:P(e)&&(a=(i=s[0]).x,o=i.y,O(a)&&(l.x+=a),O(o)&&(l.y+=o),this.emit(\"pan viewport\"));break;case 2:n=t,\"x\"!==(r=e)&&\"y\"!==r||!O(n)||(l[r]+=n),this.emit(\"pan viewport\")}return this.notify(\"viewport\"),this},fit:function(e,t){var r=this.getFitViewport(e,t);if(r){var n=this._private;n.zoom=r.zoom,n.pan=r.pan,this.emit(\"pan zoom viewport\"),this.notify(\"viewport\")}return this},getFitViewport:function(e,t){if(O(e)&&void 0===t&&(t=e,e=void 0),this._private.panningEnabled&&this._private.zoomingEnabled){var r,n;if(E(e)){var i=e;e=this.$(i)}else if(P(n=e)&&O(n.x1)&&O(n.x2)&&O(n.y1)&&O(n.y2)){var a=e;(r={x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2}).w=r.x2-r.x1,r.h=r.y2-r.y1}else D(e)||(e=this.mutableElements());if(!D(e)||!e.empty()){r=r||e.boundingBox();var o,s=this.width(),l=this.height();if(t=O(t)?t:0,!isNaN(s)&&!isNaN(l)&&s>0&&l>0&&!isNaN(r.w)&&!isNaN(r.h)&&r.w>0&&r.h>0)return{zoom:o=(o=(o=Math.min((s-2*t)/r.w,(l-2*t)/r.h))>this._private.maxZoom?this._private.maxZoom:o)<this._private.minZoom?this._private.minZoom:o,pan:{x:(s-o*(r.x1+r.x2))/2,y:(l-o*(r.y1+r.y2))/2}}}}},zoomRange:function(e,t){var r=this._private;if(null==t){var n=e;e=n.min,t=n.max}return O(e)&&O(t)&&e<=t?(r.minZoom=e,r.maxZoom=t):O(e)&&void 0===t&&e<=r.maxZoom?r.minZoom=e:O(t)&&void 0===e&&t>=r.minZoom&&(r.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,r,n=this._private,i=n.pan,a=n.zoom,o=!1;if(n.zoomingEnabled||(o=!0),O(e)?r=e:P(e)&&(r=e.level,null!=e.position?t=rt(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||n.panningEnabled||(o=!0)),r=(r=r>n.maxZoom?n.maxZoom:r)<n.minZoom?n.minZoom:r,o||!O(r)||r===a||null!=t&&(!O(t.x)||!O(t.y)))return null;if(null!=t){var s=i,l=a,u=r;return{zoomed:!0,panned:!0,zoom:u,pan:{x:-u/l*(t.x-s.x)+t.x,y:-u/l*(t.y-s.y)+t.y}}}return{zoomed:!0,panned:!1,zoom:r,pan:i}},zoom:function(e){if(void 0===e)return this._private.zoom;var t=this.getZoomedViewport(e),r=this._private;return null!=t&&t.zoomed?(r.zoom=t.zoom,t.panned&&(r.pan.x=t.pan.x,r.pan.y=t.pan.y),this.emit(\"zoom\"+(t.panned?\" pan\":\"\")+\" viewport\"),this.notify(\"viewport\"),this):this},viewport:function(e){var t=this._private,r=!0,n=!0,i=[],a=!1,o=!1;if(!e)return this;if(O(e.zoom)||(r=!1),P(e.pan)||(n=!1),!r&&!n)return this;if(r){var s=e.zoom;s<t.minZoom||s>t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push(\"zoom\"))}if(n&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var l=e.pan;O(l.x)&&(t.pan.x=l.x,o=!1),O(l.y)&&(t.pan.y=l.y,o=!1),o||i.push(\"pan\")}return i.length>0&&(i.push(\"viewport\"),this.emit(i.join(\" \")),this.notify(\"viewport\")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit(\"pan viewport\"),this.notify(\"viewport\")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(E(e)){var r=e;e=this.mutableElements().filter(r)}else D(e)||(e=this.mutableElements());if(0!==e.length){var n=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(n.x1+n.x2))/2,y:(a-t*(n.y1+n.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,r=this._private,n=r.container;return r.sizeCache=r.sizeCache||(n?(e=this.window().getComputedStyle(n),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:n.clientWidth-t(\"padding-left\")-t(\"padding-right\"),height:n.clientHeight-t(\"padding-top\")-t(\"padding-bottom\")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,r=this.renderedExtent(),n={x1:(r.x1-e.x)/t,x2:(r.x2-e.x)/t,y1:(r.y1-e.y)/t,y2:(r.y2-e.y)/t};return n.w=n.x2-n.x1,n.h=n.y2-n.y1,n},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};Ra.centre=Ra.center,Ra.autolockNodes=Ra.autolock,Ra.autoungrabifyNodes=Ra.autoungrabify;var Fa={data:on.data({field:\"data\",bindingEvent:\"data\",allowBinding:!0,allowSetting:!0,settingEvent:\"data\",settingTriggersEvent:!0,triggerFnName:\"trigger\",allowGetting:!0,updateStyle:!0}),removeData:on.removeData({field:\"data\",event:\"data\",triggerFnName:\"trigger\",triggerEvent:!0,updateStyle:!0}),scratch:on.data({field:\"scratch\",bindingEvent:\"scratch\",allowBinding:!0,allowSetting:!0,settingEvent:\"scratch\",settingTriggersEvent:!0,triggerFnName:\"trigger\",allowGetting:!0,updateStyle:!0}),removeScratch:on.removeData({field:\"scratch\",event:\"scratch\",triggerFnName:\"trigger\",triggerEvent:!0,updateStyle:!0})};Fa.attr=Fa.data,Fa.removeAttr=Fa.removeData;var Ba=function(e){var t=this,r=(e=$({},e)).container;r&&!I(r)&&I(r[0])&&(r=r[0]);var n=r?r._cyreg:null;(n=n||{})&&n.cy&&(n.cy.destroy(),n={});var i=n.readies=n.readies||[];r&&(r._cyreg=n),n.cy=t;var a=void 0!==_&&void 0!==r&&!e.headless,o=e;o.layout=$({name:a?\"grid\":\"null\"},o.layout),o.renderer=$({name:a?\"canvas\":\"null\"},o.renderer);var s=function(e,t,r){return void 0!==t?t:void 0!==r?r:e},l=this._private={container:r,ready:!1,options:o,elements:new ea(this),listeners:[],aniEles:new ea(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:O(o.zoom)?o.zoom:1,pan:{x:P(o.pan)&&O(o.pan.x)?o.pan.x:0,y:P(o.pan)&&O(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom}),l.styleEnabled&&t.setStyle([]);var u=$({},o,o.renderer);t.initRenderer(u),function(e,t){if(e.some(j))return Qr.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var r=e[0],a=e[1];l.styleEnabled&&t.style().append(r),function(e,r,n){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(P(e)||L(e))&&t.add(e),t.one(\"layoutready\",(function(e){t.notifications(!0),t.emit(e),t.one(\"load\",r),t.emitAndNotify(\"load\")})).one(\"layoutstop\",(function(){t.one(\"done\",n),t.emit(\"done\")}));var a=$({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()}(a,(function(){t.startAnimationLoop(),l.ready=!0,C(o.ready)&&t.on(\"ready\",o.ready);for(var e=0;e<i.length;e++){var r=i[e];t.on(\"ready\",r)}n&&(n.readies=[]),t.emit(\"ready\")}),o.done)}))},Na=Ba.prototype;$(Na,{instanceString:function(){return\"core\"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(e){return this.isReady()?this.emitter().emit(\"ready\",[],e):this.on(\"ready\",e),this},destroy:function(){var e=this;if(!e.destroyed())return e.stopAnimationLoop(),e.destroyRenderer(),this.emit(\"destroy\"),e._private.destroyed=!0,e},hasElementWithId:function(e){return this._private.elements.hasElementWithId(e)},getElementById:function(e){return this._private.elements.getElementById(e)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(e){return this._private.elements.merge(e),this},removeFromPool:function(e){return this._private.elements.unmerge(e),this},container:function(){return this._private.container||null},window:function(){if(null==this._private.container)return _;var e=this._private.container.ownerDocument;return void 0===e||null==e?_:e.defaultView||_},mount:function(e){if(null!=e){var t=this,r=t._private,n=r.options;return!I(e)&&I(e[0])&&(e=e[0]),t.stopAnimationLoop(),t.destroyRenderer(),r.container=e,r.styleEnabled=!0,t.invalidateSize(),t.initRenderer($({},n,n.renderer,{name:\"null\"===n.renderer.name?\"canvas\":n.renderer.name})),t.startAnimationLoop(),t.style(n.style),t.emit(\"mount\"),t}},unmount:function(){var e=this;return e.stopAnimationLoop(),e.destroyRenderer(),e.initRenderer({name:\"null\"}),e.emit(\"unmount\"),e},options:function(){return Ee(this._private.options)},json:function(e){var t=this,r=t._private,n=t.mutableElements();if(P(e)){if(t.startBatch(),e.elements){var i={},a=function(e,r){for(var n=[],a=[],o=0;o<e.length;o++){var s=e[o];if(s.data.id){var l=\"\"+s.data.id,u=t.getElementById(l);i[l]=!0,0!==u.length?a.push({ele:u,json:s}):r?(s.group=r,n.push(s)):n.push(s)}else Se(\"cy.json() cannot handle elements without an ID attribute\")}t.add(n);for(var c=0;c<a.length;c++){var f=a[c],h=f.ele,p=f.json;h.json(p)}};if(L(e.elements))a(e.elements);else for(var o=[\"nodes\",\"edges\"],s=0;s<o.length;s++){var l=o[s],u=e.elements[l];L(u)&&a(u,l)}var c=t.collection();n.filter((function(e){return!i[e.id()]})).forEach((function(e){e.isParent()?c.merge(e):e.remove()})),c.forEach((function(e){return e.children().move({parent:null})})),c.forEach((function(e){return function(e){return t.getElementById(e.id())}(e).remove()}))}e.style&&t.style(e.style),null!=e.zoom&&e.zoom!==r.zoom&&t.zoom(e.zoom),e.pan&&(e.pan.x===r.pan.x&&e.pan.y===r.pan.y||t.pan(e.pan)),e.data&&t.data(e.data);for(var f=[\"minZoom\",\"maxZoom\",\"zoomingEnabled\",\"userZoomingEnabled\",\"panningEnabled\",\"userPanningEnabled\",\"boxSelectionEnabled\",\"autolock\",\"autoungrabify\",\"autounselectify\",\"multiClickDebounceTime\"],h=0;h<f.length;h++){var p=f[h];null!=e[p]&&t[p](e[p])}return t.endBatch(),this}var d={};e?d.elements=this.elements().map((function(e){return e.json()})):(d.elements={},n.forEach((function(e){var t=e.group();d.elements[t]||(d.elements[t]=[]),d.elements[t].push(e.json())}))),this._private.styleEnabled&&(d.style=t.style().json()),d.data=Ee(t.data());var v=r.options;return d.zoomingEnabled=r.zoomingEnabled,d.userZoomingEnabled=r.userZoomingEnabled,d.zoom=r.zoom,d.minZoom=r.minZoom,d.maxZoom=r.maxZoom,d.panningEnabled=r.panningEnabled,d.userPanningEnabled=r.userPanningEnabled,d.pan=Ee(r.pan),d.boxSelectionEnabled=r.boxSelectionEnabled,d.renderer=Ee(v.renderer),d.hideEdgesOnViewport=v.hideEdgesOnViewport,d.textureOnViewport=v.textureOnViewport,d.wheelSensitivity=v.wheelSensitivity,d.motionBlur=v.motionBlur,d.multiClickDebounceTime=v.multiClickDebounceTime,d}}),Na.$id=Na.getElementById,[ra,da,ma,ya,xa,ba,wa,ka,za,Ra,Fa].forEach((function(e){$(Na,e)}));var ja={fit:!0,directed:!1,padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}},Ua={maximal:!1,acyclic:!1},Va=function(e){return e.scratch(\"breadthfirst\")},Ha=function(e,t){return e.scratch(\"breadthfirst\",t)};function qa(e){this.options=$({},ja,Ua,e)}qa.prototype.run=function(){var e,t=this.options,r=t,n=t.cy,i=r.eles,a=i.nodes().filter((function(e){return!e.isParent()})),o=i,s=r.directed,l=r.acyclic||r.maximal||r.maximalAdjustments>0,u=dt(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(D(r.roots))e=r.roots;else if(L(r.roots)){for(var c=[],f=0;f<r.roots.length;f++){var h=r.roots[f],p=n.getElementById(h);c.push(p)}e=n.collection(c)}else if(E(r.roots))e=n.$(r.roots);else if(s)e=a.roots();else{var d=i.components();e=n.collection();for(var v=function(t){var r=d[t],n=r.maxDegree(!1),i=r.filter((function(e){return e.degree(!1)===n}));e=e.add(i)},g=0;g<d.length;g++)v(g)}var m=[],y={},x=function(e,t){null==m[t]&&(m[t]=[]);var r=m[t].length;m[t].push(e),Ha(e,{index:r,depth:t})};o.bfs({roots:e,directed:r.directed,visit:function(e,t,r,n,i){var a=e[0],o=a.id();x(a,i),y[o]=!0}});for(var b=[],_=0;_<a.length;_++){var w=a[_];y[w.id()]||b.push(w)}var k=function(e){for(var t=m[e],r=0;r<t.length;r++){var n=t[r];null!=n?Ha(n,{depth:e,index:r}):(t.splice(r,1),r--)}},T=function(){for(var e=0;e<m.length;e++)k(e)},M=function(e,t){for(var n=Va(e),a=e.incomers().filter((function(e){return e.isNode()&&i.has(e)})),o=-1,s=e.id(),l=0;l<a.length;l++){var u=a[l],c=Va(u);o=Math.max(o,c.depth)}if(n.depth<=o){if(!r.acyclic&&t[s])return null;var f=o+1;return function(e,t){var r=Va(e),n=r.depth,i=r.index;m[n][i]=null,x(e,t)}(e,f),t[s]=f,!0}return!1};if(s&&l){var A=[],S={},C=function(e){return A.push(e)};for(a.forEach((function(e){return A.push(e)}));A.length>0;){var P=A.shift(),O=M(P,S);if(O)P.outgoers().filter((function(e){return e.isNode()&&i.has(e)})).forEach(C);else if(null===O){Se(\"Detected double maximal shift for node `\"+P.id()+\"`.  Bailing maximal adjustment due to cycle.  Use `options.maximal: true` only on DAGs.\");break}}}T();var I=0;if(r.avoidOverlap)for(var z=0;z<a.length;z++){var R=a[z].layoutDimensions(r),F=R.w,B=R.h;I=Math.max(I,F,B)}var N={},j=function(e){if(N[e.id()])return N[e.id()];for(var t=Va(e).depth,r=e.neighborhood(),n=0,i=0,o=0;o<r.length;o++){var s=r[o];if(!s.isEdge()&&!s.isParent()&&a.has(s)){var l=Va(s);if(null!=l){var u=l.index,c=l.depth;if(null!=u&&null!=c){var f=m[c].length;c<t&&(n+=u/f,i++)}}}}return n/=i=Math.max(1,i),0===i&&(n=0),N[e.id()]=n,n},U=function(e,t){var r=j(e)-j(t);return 0===r?J(e.id(),t.id()):r};void 0!==r.depthSort&&(U=r.depthSort);for(var V=0;V<m.length;V++)m[V].sort(U),k(V);for(var H=[],q=0;q<b.length;q++)H.push(b[q]);m.unshift(H),T();for(var G=0,Y=0;Y<m.length;Y++)G=Math.max(m[Y].length,G);var W=u.x1+u.w/2,Z=u.x1+u.h/2,X=m.reduce((function(e,t){return Math.max(e,t.length)}),0);return i.nodes().layoutPositions(this,r,(function(e){var t=Va(e),n=t.depth,i=t.index,a=m[n].length,o=Math.max(u.w/((r.grid?X:a)+1),I),s=Math.max(u.h/(m.length+1),I),l=Math.min(u.w/2/m.length,u.h/2/m.length);if(l=Math.max(l,I),r.circle){var c=l*n+l-(m.length>0&&m[0].length<=3?l/2:0),f=2*Math.PI/m[n].length*i;return 0===n&&1===m[0].length&&(c=1),{x:W+c*Math.cos(f),y:Z+c*Math.sin(f)}}return{x:W+(i+1-(a+1)/2)*o,y:(n+1)*s}})),this};var Ga={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ya(e){this.options=$({},Ga,e)}Ya.prototype.run=function(){var e=this.options,t=e,r=e.cy,n=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=n.nodes().not(\":parent\");t.sort&&(a=a.sort(t.sort));for(var o,s=dt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l=s.x1+s.w/2,u=s.y1+s.h/2,c=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),f=0,h=0;h<a.length;h++){var p=a[h].layoutDimensions(t),d=p.w,v=p.h;f=Math.max(f,d,v)}if(o=O(t.radius)?t.radius:a.length<=1?0:Math.min(s.h,s.w)/2-f,a.length>1&&t.avoidOverlap){f*=1.75;var g=Math.cos(c)-Math.cos(0),m=Math.sin(c)-Math.sin(0),y=Math.sqrt(f*f/(g*g+m*m));o=Math.max(y,o)}return n.nodes().layoutPositions(this,t,(function(e,r){var n=t.startAngle+r*c*(i?1:-1),a=o*Math.cos(n),s=o*Math.sin(n);return{x:l+a,y:u+s}})),this};var Wa,Za={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Xa(e){this.options=$({},Za,e)}Xa.prototype.run=function(){for(var e=this.options,t=e,r=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,n=e.cy,i=t.eles,a=i.nodes().not(\":parent\"),o=dt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),s=o.x1+o.w/2,l=o.y1+o.h/2,u=[],c=0,f=0;f<a.length;f++){var h,p=a[f];h=t.concentric(p),u.push({value:h,node:p}),p._private.scratch.concentric=h}a.updateStyle();for(var d=0;d<a.length;d++){var v=a[d].layoutDimensions(t);c=Math.max(c,v.w,v.h)}u.sort((function(e,t){return t.value-e.value}));for(var g=t.levelWidth(a),m=[[]],y=m[0],x=0;x<u.length;x++){var b=u[x];y.length>0&&Math.abs(y[0].value-b.value)>=g&&(y=[],m.push(y)),y.push(b)}var _=c+t.minNodeSpacing;if(!t.avoidOverlap){var w=m.length>0&&m[0].length>1,k=(Math.min(o.w,o.h)/2-_)/(m.length+w?1:0);_=Math.min(_,k)}for(var T=0,M=0;M<m.length;M++){var A=m[M],S=void 0===t.sweep?2*Math.PI-2*Math.PI/A.length:t.sweep,E=A.dTheta=S/Math.max(1,A.length-1);if(A.length>1&&t.avoidOverlap){var C=Math.cos(E)-Math.cos(0),L=Math.sin(E)-Math.sin(0),P=Math.sqrt(_*_/(C*C+L*L));T=Math.max(P,T)}A.r=T,T+=_}if(t.equidistant){for(var O=0,I=0,D=0;D<m.length;D++){var z=m[D].r-I;O=Math.max(O,z)}I=0;for(var R=0;R<m.length;R++){var F=m[R];0===R&&(I=F.r),F.r=I,I+=O}}for(var B={},N=0;N<m.length;N++)for(var j=m[N],U=j.dTheta,V=j.r,H=0;H<j.length;H++){var q=j[H],G=t.startAngle+(r?1:-1)*U*H,Y={x:s+V*Math.cos(G),y:l+V*Math.sin(G)};B[q.node.id()]=Y}return i.nodes().layoutPositions(this,t,(function(e){var t=e.id();return B[t]})),this};var Ka={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(e,t){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(e){return 2048},nodeOverlap:4,idealEdgeLength:function(e){return 32},edgeElasticity:function(e){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function Ja(e){this.options=$({},Ka,e),this.options.layout=this}Ja.prototype.run=function(){var e=this.options,t=e.cy,r=this;r.stopped=!1,!0!==e.animate&&!1!==e.animate||r.emit({type:\"layoutstart\",layout:r}),Wa=!0===e.debug;var n=$a(t,r,e);Wa&&(void 0)(n),e.randomize&&to(n);var i=oe(),a=function(){no(n,t,e),!0===e.fit&&t.fit(e.padding)},o=function(t){return!(r.stopped||t>=e.numIter||(io(n,e),n.temperature=n.temperature*e.coolingFactor,n.temperature<e.minTemp))},s=function(){if(!0===e.animate||!1===e.animate)a(),r.one(\"layoutstop\",e.stop),r.emit({type:\"layoutstop\",layout:r});else{var t=e.eles.nodes(),i=ro(n,e,t);t.layoutPositions(r,e,i)}},l=0,u=!0;if(!0===e.animate)!function t(){for(var r=0;u&&r<e.refresh;)u=o(l),l++,r++;u?(oe()-i>=e.animationThreshold&&a(),ae(t)):(mo(n,e),s())}();else{for(;u;)u=o(l),l++;mo(n,e),s()}return this},Ja.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit(\"layoutstop\"),this},Ja.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var $a=function(e,t,r){for(var n=r.eles.edges(),i=r.eles.nodes(),a=dt(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:n.size(),temperature:r.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=r.eles.components(),l={},u=0;u<s.length;u++)for(var c=s[u],f=0;f<c.length;f++)l[c[f].id()]=u;for(u=0;u<o.nodeSize;u++){var h=(m=i[u]).layoutDimensions(r);(D={}).isLocked=m.locked(),D.id=m.data(\"id\"),D.parentId=m.data(\"parent\"),D.cmptId=l[m.id()],D.children=[],D.positionX=m.position(\"x\"),D.positionY=m.position(\"y\"),D.offsetX=0,D.offsetY=0,D.height=h.w,D.width=h.h,D.maxX=D.positionX+D.width/2,D.minX=D.positionX-D.width/2,D.maxY=D.positionY+D.height/2,D.minY=D.positionY-D.height/2,D.padLeft=parseFloat(m.style(\"padding\")),D.padRight=parseFloat(m.style(\"padding\")),D.padTop=parseFloat(m.style(\"padding\")),D.padBottom=parseFloat(m.style(\"padding\")),D.nodeRepulsion=C(r.nodeRepulsion)?r.nodeRepulsion(m):r.nodeRepulsion,o.layoutNodes.push(D),o.idToIndex[D.id]=u}var p=[],d=0,v=-1,g=[];for(u=0;u<o.nodeSize;u++){var m,y=(m=o.layoutNodes[u]).parentId;null!=y?o.layoutNodes[o.idToIndex[y]].children.push(m.id):(p[++v]=m.id,g.push(m.id))}for(o.graphSet.push(g);d<=v;){var x=p[d++],b=o.idToIndex[x],_=o.layoutNodes[b].children;if(_.length>0)for(o.graphSet.push(_),u=0;u<_.length;u++)p[++v]=_[u]}for(u=0;u<o.graphSet.length;u++){var w=o.graphSet[u];for(f=0;f<w.length;f++){var k=o.idToIndex[w[f]];o.indexToGraph[k]=u}}for(u=0;u<o.edgeSize;u++){var T=n[u],M={};M.id=T.data(\"id\"),M.sourceId=T.data(\"source\"),M.targetId=T.data(\"target\");var A=C(r.idealEdgeLength)?r.idealEdgeLength(T):r.idealEdgeLength,S=C(r.edgeElasticity)?r.edgeElasticity(T):r.edgeElasticity,E=o.idToIndex[M.sourceId],L=o.idToIndex[M.targetId];if(o.indexToGraph[E]!=o.indexToGraph[L]){for(var P=Qa(M.sourceId,M.targetId,o),O=o.graphSet[P],I=0,D=o.layoutNodes[E];-1===O.indexOf(D.id);)D=o.layoutNodes[o.idToIndex[D.parentId]],I++;for(D=o.layoutNodes[L];-1===O.indexOf(D.id);)D=o.layoutNodes[o.idToIndex[D.parentId]],I++;A*=I*r.nestingFactor}M.idealLength=A,M.elasticity=S,o.layoutEdges.push(M)}return o},Qa=function(e,t,r){var n=eo(e,t,0,r);return 2>n.count?0:n.graph},eo=function e(t,r,n,i){var a=i.graphSet[n];if(-1<a.indexOf(t)&&-1<a.indexOf(r))return{count:2,graph:n};for(var o=0,s=0;s<a.length;s++){var l=a[s],u=i.idToIndex[l],c=i.layoutNodes[u].children;if(0!==c.length){var f=e(t,r,i.indexToGraph[i.idToIndex[c[0]]],i);if(0!==f.count){if(1!==f.count)return f;if(2==++o)break}}}return{count:o,graph:n}},to=function(e,t){for(var r=e.clientWidth,n=e.clientHeight,i=0;i<e.nodeSize;i++){var a=e.layoutNodes[i];0!==a.children.length||a.isLocked||(a.positionX=Math.random()*r,a.positionY=Math.random()*n)}},ro=function(e,t,r){var n=e.boundingBox,i={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return t.boundingBox&&(r.forEach((function(t){var r=e.layoutNodes[e.idToIndex[t.data(\"id\")]];i.x1=Math.min(i.x1,r.positionX),i.x2=Math.max(i.x2,r.positionX),i.y1=Math.min(i.y1,r.positionY),i.y2=Math.max(i.y2,r.positionY)})),i.w=i.x2-i.x1,i.h=i.y2-i.y1),function(r,a){var o=e.layoutNodes[e.idToIndex[r.data(\"id\")]];if(t.boundingBox){var s=(o.positionX-i.x1)/i.w,l=(o.positionY-i.y1)/i.h;return{x:n.x1+s*n.w,y:n.y1+l*n.h}}return{x:o.positionX,y:o.positionY}}},no=function(e,t,r){var n=r.layout,i=r.eles.nodes(),a=ro(e,r,i);i.positions(a),!0!==e.ready&&(e.ready=!0,n.one(\"layoutready\",r.ready),n.emit({type:\"layoutready\",layout:this}))},io=function(e,t,r){ao(e,t),co(e),fo(e,t),ho(e),po(e)},ao=function(e,t){for(var r=0;r<e.graphSet.length;r++)for(var n=e.graphSet[r],i=n.length,a=0;a<i;a++)for(var o=e.layoutNodes[e.idToIndex[n[a]]],s=a+1;s<i;s++){var l=e.layoutNodes[e.idToIndex[n[s]]];so(o,l,e,t)}},oo=function(e){return-e+2*e*Math.random()},so=function(e,t,r,n){if(e.cmptId===t.cmptId||r.isCompound){var i=t.positionX-e.positionX,a=t.positionY-e.positionY;0===i&&0===a&&(i=oo(1),a=oo(1));var o=lo(e,t,i,a);if(o>0)var s=(u=n.nodeOverlap*o)*i/(v=Math.sqrt(i*i+a*a)),l=u*a/v;else{var u,c=uo(e,i,a),f=uo(t,-1*i,-1*a),h=f.x-c.x,p=f.y-c.y,d=h*h+p*p,v=Math.sqrt(d);s=(u=(e.nodeRepulsion+t.nodeRepulsion)/d)*h/v,l=u*p/v}e.isLocked||(e.offsetX-=s,e.offsetY-=l),t.isLocked||(t.offsetX+=s,t.offsetY+=l)}},lo=function(e,t,r,n){if(r>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(n>0)var a=e.maxY-t.minY;else a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},uo=function(e,t,r){var n=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=r/t,l=a/o,u={};return 0===t&&0<r||0===t&&0>r?(u.x=n,u.y=i+a/2,u):0<t&&-1*l<=s&&s<=l?(u.x=n+o/2,u.y=i+o*r/2/t,u):0>t&&-1*l<=s&&s<=l?(u.x=n-o/2,u.y=i-o*r/2/t,u):0<r&&(s<=-1*l||s>=l)?(u.x=n+a*t/2/r,u.y=i+a/2,u):0>r&&(s<=-1*l||s>=l)?(u.x=n-a*t/2/r,u.y=i-a/2,u):u},co=function(e,t){for(var r=0;r<e.edgeSize;r++){var n=e.layoutEdges[r],i=e.idToIndex[n.sourceId],a=e.layoutNodes[i],o=e.idToIndex[n.targetId],s=e.layoutNodes[o],l=s.positionX-a.positionX,u=s.positionY-a.positionY;if(0!==l||0!==u){var c=uo(a,l,u),f=uo(s,-1*l,-1*u),h=f.x-c.x,p=f.y-c.y,d=Math.sqrt(h*h+p*p),v=Math.pow(n.idealLength-d,2)/n.elasticity;if(0!==d)var g=v*h/d,m=v*p/d;else g=0,m=0;a.isLocked||(a.offsetX+=g,a.offsetY+=m),s.isLocked||(s.offsetX-=g,s.offsetY-=m)}}},fo=function(e,t){if(0!==t.gravity)for(var r=0;r<e.graphSet.length;r++){var n=e.graphSet[r],i=n.length;if(0===r)var a=e.clientHeight/2,o=e.clientWidth/2;else{var s=e.layoutNodes[e.idToIndex[n[0]]],l=e.layoutNodes[e.idToIndex[s.parentId]];a=l.positionX,o=l.positionY}for(var u=0;u<i;u++){var c=e.layoutNodes[e.idToIndex[n[u]]];if(!c.isLocked){var f=a-c.positionX,h=o-c.positionY,p=Math.sqrt(f*f+h*h);if(p>1){var d=t.gravity*f/p,v=t.gravity*h/p;c.offsetX+=d,c.offsetY+=v}}}}},ho=function(e,t){var r=[],n=0,i=-1;for(r.push.apply(r,e.graphSet[0]),i+=e.graphSet[0].length;n<=i;){var a=r[n++],o=e.idToIndex[a],s=e.layoutNodes[o],l=s.children;if(0<l.length&&!s.isLocked){for(var u=s.offsetX,c=s.offsetY,f=0;f<l.length;f++){var h=e.layoutNodes[e.idToIndex[l[f]]];h.offsetX+=u,h.offsetY+=c,r[++i]=l[f]}s.offsetX=0,s.offsetY=0}}},po=function(e,t){for(var r=0;r<e.nodeSize;r++)0<(i=e.layoutNodes[r]).children.length&&(i.maxX=void 0,i.minX=void 0,i.maxY=void 0,i.minY=void 0);for(r=0;r<e.nodeSize;r++)if(!(0<(i=e.layoutNodes[r]).children.length||i.isLocked)){var n=vo(i.offsetX,i.offsetY,e.temperature);i.positionX+=n.x,i.positionY+=n.y,i.offsetX=0,i.offsetY=0,i.minX=i.positionX-i.width,i.maxX=i.positionX+i.width,i.minY=i.positionY-i.height,i.maxY=i.positionY+i.height,go(i,e)}for(r=0;r<e.nodeSize;r++){var i;0<(i=e.layoutNodes[r]).children.length&&!i.isLocked&&(i.positionX=(i.maxX+i.minX)/2,i.positionY=(i.maxY+i.minY)/2,i.width=i.maxX-i.minX,i.height=i.maxY-i.minY)}},vo=function(e,t,r){var n=Math.sqrt(e*e+t*t);if(n>r)var i={x:r*e/n,y:r*t/n};else i={x:e,y:t};return i},go=function e(t,r){var n=t.parentId;if(null!=n){var i=r.layoutNodes[r.idToIndex[n]],a=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLeft<i.minX)&&(i.minX=t.minX-i.padLeft,a=!0),(null==i.maxY||t.maxY+i.padBottom>i.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTop<i.minY)&&(i.minY=t.minY-i.padTop,a=!0),a?e(i,r):void 0}},mo=function(e,t){for(var r=e.layoutNodes,n=[],i=0;i<r.length;i++){var a=r[i],o=a.cmptId;(n[o]=n[o]||[]).push(a)}var s=0;for(i=0;i<n.length;i++)if(v=n[i]){v.x1=1/0,v.x2=-1/0,v.y1=1/0,v.y2=-1/0;for(var l=0;l<v.length;l++){var u=v[l];v.x1=Math.min(v.x1,u.positionX-u.width/2),v.x2=Math.max(v.x2,u.positionX+u.width/2),v.y1=Math.min(v.y1,u.positionY-u.height/2),v.y2=Math.max(v.y2,u.positionY+u.height/2)}v.w=v.x2-v.x1,v.h=v.y2-v.y1,s+=v.w*v.h}n.sort((function(e,t){return t.w*t.h-e.w*e.h}));var c=0,f=0,h=0,p=0,d=Math.sqrt(s)*e.clientWidth/e.clientHeight;for(i=0;i<n.length;i++){var v;if(v=n[i]){for(l=0;l<v.length;l++)(u=v[l]).isLocked||(u.positionX+=c-v.x1,u.positionY+=f-v.y1);c+=v.w+t.componentSpacing,h+=v.w+t.componentSpacing,p=Math.max(p,v.h),h>d&&(f+=p+t.componentSpacing,c=0,h=0,p=0)}}},yo={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function xo(e){this.options=$({},yo,e)}xo.prototype.run=function(){var e=this.options,t=e,r=e.cy,n=t.eles,i=n.nodes().not(\":parent\");t.sort&&(i=i.sort(t.sort));var a=dt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(0===a.h||0===a.w)n.nodes().layoutPositions(this,t,(function(e){return{x:a.x1,y:a.y1}}));else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),l=Math.round(s),u=Math.round(a.w/a.h*s),c=function(e){if(null==e)return Math.min(l,u);Math.min(l,u)==l?l=e:u=e},f=function(e){if(null==e)return Math.max(l,u);Math.max(l,u)==l?l=e:u=e},h=t.rows,p=null!=t.cols?t.cols:t.columns;if(null!=h&&null!=p)l=h,u=p;else if(null!=h&&null==p)l=h,u=Math.ceil(o/l);else if(null==h&&null!=p)u=p,l=Math.ceil(o/u);else if(u*l>o){var d=c(),v=f();(d-1)*v>=o?c(d-1):(v-1)*d>=o&&f(v-1)}else for(;u*l<o;){var g=c(),m=f();(m+1)*g>=o?f(m+1):c(g+1)}var y=a.w/u,x=a.h/l;if(t.condense&&(y=0,x=0),t.avoidOverlap)for(var b=0;b<i.length;b++){var _=i[b],w=_._private.position;null!=w.x&&null!=w.y||(w.x=0,w.y=0);var k=_.layoutDimensions(t),T=t.avoidOverlapPadding,M=k.w+T,A=k.h+T;y=Math.max(y,M),x=Math.max(x,A)}for(var S={},E=function(e,t){return!!S[\"c-\"+e+\"-\"+t]},C=function(e,t){S[\"c-\"+e+\"-\"+t]=!0},L=0,P=0,O=function(){++P>=u&&(P=0,L++)},I={},D=0;D<i.length;D++){var z=i[D],R=t.position(z);if(R&&(void 0!==R.row||void 0!==R.col)){var F={row:R.row,col:R.col};if(void 0===F.col)for(F.col=0;E(F.row,F.col);)F.col++;else if(void 0===F.row)for(F.row=0;E(F.row,F.col);)F.row++;I[z.id()]=F,C(F.row,F.col)}}i.layoutPositions(this,t,(function(e,t){var r,n;if(e.locked()||e.isParent())return!1;var i=I[e.id()];if(i)r=i.col*y+y/2+a.x1,n=i.row*x+x/2+a.y1;else{for(;E(L,P);)O();r=P*y+y/2+a.x1,n=L*x+x/2+a.y1,C(L,P),O()}return{x:r,y:n}}))}return this};var bo={ready:function(){},stop:function(){}};function _o(e){this.options=$({},bo,e)}_o.prototype.run=function(){var e=this.options,t=e.eles,r=this;return e.cy,r.emit(\"layoutstart\"),t.nodes().positions((function(){return{x:0,y:0}})),r.one(\"layoutready\",e.ready),r.emit(\"layoutready\"),r.one(\"layoutstop\",e.stop),r.emit(\"layoutstop\"),this},_o.prototype.stop=function(){return this};var wo={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function ko(e){this.options=$({},wo,e)}ko.prototype.run=function(){var e=this.options,t=e.eles.nodes(),r=C(e.positions);return t.layoutPositions(this,e,(function(t,n){var i=function(t){if(null==e.positions)return function(e){return{x:e.x,y:e.y}}(t.position());if(r)return e.positions(t);var n=e.positions[t._private.data.id];return null==n?null:n}(t);return!t.locked()&&null!=i&&i})),this};var To={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Mo(e){this.options=$({},To,e)}Mo.prototype.run=function(){var e=this.options,t=e.cy,r=e.eles,n=dt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()});return r.nodes().layoutPositions(this,e,(function(e,t){return{x:n.x1+Math.round(Math.random()*n.w),y:n.y1+Math.round(Math.random()*n.h)}})),this};var Ao=[{name:\"breadthfirst\",impl:qa},{name:\"circle\",impl:Ya},{name:\"concentric\",impl:Xa},{name:\"cose\",impl:Ja},{name:\"grid\",impl:xo},{name:\"null\",impl:_o},{name:\"preset\",impl:ko},{name:\"random\",impl:Mo}];function So(e){this.options=e,this.notifications=0}var Eo=function(){},Co=function(){throw new Error(\"A headless instance can not render images\")};So.prototype={recalculateRenderedStyle:Eo,notify:function(){this.notifications++},init:Eo,isHeadless:function(){return!0},png:Co,jpg:Co};var Lo={arrowShapeWidth:.3,registerArrowShapes:function(){var e=this.arrowShapes={},t=this,r=function(e,t,r,n,i,a,o){var s=i.x-r/2-o,l=i.x+r/2+o,u=i.y-r/2-o,c=i.y+r/2+o;return s<=e&&e<=l&&u<=t&&t<=c},n=function(e,t,r,n,i){var a=e*Math.cos(n)-t*Math.sin(n),o=(e*Math.sin(n)+t*Math.cos(n))*r;return{x:a*r+i.x,y:o+i.y}},i=function(e,t,r,i){for(var a=[],o=0;o<e.length;o+=2){var s=e[o],l=e[o+1];a.push(n(s,l,t,r,i))}return a},a=function(e){for(var t=[],r=0;r<e.length;r++){var n=e[r];t.push(n.x,n.y)}return t},o=function(e){return e.pstyle(\"width\").pfValue*e.pstyle(\"arrow-scale\").pfValue*2},s=function(n,s){E(s)&&(s=e[s]),e[n]=$({name:n,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(e,t,r,n,o,s){var l=a(i(this.points,r+2*s,n,o));return St(e,t,l)},roughCollide:r,draw:function(e,r,n,a){var o=i(this.points,r,n,a);t.arrowShapeImpl(\"polygon\")(e,o)},spacing:function(e){return 0},gap:o},s)};s(\"none\",{collide:we,roughCollide:we,draw:Te,spacing:ke,gap:ke}),s(\"triangle\",{points:[-.15,-.3,0,0,.15,-.3]}),s(\"arrow\",\"triangle\"),s(\"triangle-backcurve\",{points:e.triangle.points,controlPoint:[0,-.15],roughCollide:r,draw:function(e,r,a,o,s){var l=i(this.points,r,a,o),u=this.controlPoint,c=n(u[0],u[1],r,a,o);t.arrowShapeImpl(this.name)(e,l,c)},gap:function(e){return.8*o(e)}}),s(\"triangle-tee\",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(e,t,r,n,o,s,l){var u=a(i(this.points,r+2*l,n,o)),c=a(i(this.pointsTee,r+2*l,n,o));return St(e,t,u)||St(e,t,c)},draw:function(e,r,n,a,o){var s=i(this.points,r,n,a),l=i(this.pointsTee,r,n,a);t.arrowShapeImpl(this.name)(e,s,l)}}),s(\"circle-triangle\",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(e,t,r,n,o,s,l){var u=o,c=Math.pow(u.x-e,2)+Math.pow(u.y-t,2)<=Math.pow((r+2*l)*this.radius,2),f=a(i(this.points,r+2*l,n,o));return St(e,t,f)||c},draw:function(e,r,n,a,o){var s=i(this.pointsTr,r,n,a);t.arrowShapeImpl(this.name)(e,s,a.x,a.y,this.radius*r)},spacing:function(e){return t.getArrowWidth(e.pstyle(\"width\").pfValue,e.pstyle(\"arrow-scale\").value)*this.radius}}),s(\"triangle-cross\",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(e,t){var r=this.baseCrossLinePts.slice(),n=t/e;return r[3]=r[3]-n,r[5]=r[5]-n,r},collide:function(e,t,r,n,o,s,l){var u=a(i(this.points,r+2*l,n,o)),c=a(i(this.crossLinePts(r,s),r+2*l,n,o));return St(e,t,u)||St(e,t,c)},draw:function(e,r,n,a,o){var s=i(this.points,r,n,a),l=i(this.crossLinePts(r,o),r,n,a);t.arrowShapeImpl(this.name)(e,s,l)}}),s(\"vee\",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(e){return.525*o(e)}}),s(\"circle\",{radius:.15,collide:function(e,t,r,n,i,a,o){var s=i;return Math.pow(s.x-e,2)+Math.pow(s.y-t,2)<=Math.pow((r+2*o)*this.radius,2)},draw:function(e,r,n,i,a){t.arrowShapeImpl(this.name)(e,i.x,i.y,this.radius*r)},spacing:function(e){return t.getArrowWidth(e.pstyle(\"width\").pfValue,e.pstyle(\"arrow-scale\").value)*this.radius}}),s(\"tee\",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(e){return 1},gap:function(e){return 1}}),s(\"square\",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),s(\"diamond\",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(e){return e.pstyle(\"width\").pfValue*e.pstyle(\"arrow-scale\").value}}),s(\"chevron\",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(e){return.95*e.pstyle(\"width\").pfValue*e.pstyle(\"arrow-scale\").value}})}},Po={projectIntoViewport:function(e,t){var r=this.cy,n=this.findContainerClientCoords(),i=n[0],a=n[1],o=n[4],s=r.pan(),l=r.zoom();return[((e-i)/o-s.x)/l,((t-a)/o-s.y)/l]},findContainerClientCoords:function(){if(this.containerBB)return this.containerBB;var e=this.container,t=e.getBoundingClientRect(),r=this.cy.window().getComputedStyle(e),n=function(e){return parseFloat(r.getPropertyValue(e))},i=n(\"padding-left\"),a=n(\"padding-right\"),o=n(\"padding-top\"),s=n(\"padding-bottom\"),l=n(\"border-left-width\"),u=n(\"border-right-width\"),c=n(\"border-top-width\"),f=(n(\"border-bottom-width\"),e.clientWidth),h=e.clientHeight,p=i+a,d=o+s,v=l+u,g=t.width/(f+v),m=f-p,y=h-d,x=t.left+i+l,b=t.top+o+c;return this.containerBB=[x,b,m,y,g]},invalidateContainerClientCoordsCache:function(){this.containerBB=null},findNearestElement:function(e,t,r,n){return this.findNearestElements(e,t,r,n)[0]},findNearestElements:function(e,t,r,n){var i,a,o=this,s=this,l=s.getCachedZSortedEles(),u=[],c=s.cy.zoom(),f=s.cy.hasCompoundNodes(),h=(n?24:8)/c,p=(n?8:2)/c,d=(n?8:2)/c,v=1/0;function g(e,t){if(e.isNode()){if(a)return;a=e,u.push(e)}if(e.isEdge()&&(null==t||t<v))if(i){if(i.pstyle(\"z-compound-depth\").value===e.pstyle(\"z-compound-depth\").value&&i.pstyle(\"z-compound-depth\").value===e.pstyle(\"z-compound-depth\").value)for(var r=0;r<u.length;r++)if(u[r].isEdge()){u[r]=e,i=e,v=null!=t?t:v;break}}else u.push(e),i=e,v=null!=t?t:v}function m(r){var n=r.outerWidth()+2*p,i=r.outerHeight()+2*p,a=n/2,l=i/2,u=r.position();if(u.x-a<=e&&e<=u.x+a&&u.y-l<=t&&t<=u.y+l&&s.nodeShapes[o.getNodeShape(r)].checkPoint(e,t,0,n,i,u.x,u.y))return g(r,0),!0}function y(r){var n,i=r._private,a=i.rscratch,l=r.pstyle(\"width\").pfValue,c=r.pstyle(\"arrow-scale\").value,p=l/2+h,d=p*p,v=2*p,y=i.source,x=i.target;if(\"segments\"===a.edgeType||\"straight\"===a.edgeType||\"haystack\"===a.edgeType){for(var b=a.allpts,_=0;_+3<b.length;_+=2)if(kt(e,t,b[_],b[_+1],b[_+2],b[_+3],v)&&d>(n=At(e,t,b[_],b[_+1],b[_+2],b[_+3])))return g(r,n),!0}else if(\"bezier\"===a.edgeType||\"multibezier\"===a.edgeType||\"self\"===a.edgeType||\"compound\"===a.edgeType)for(b=a.allpts,_=0;_+5<a.allpts.length;_+=4)if(Tt(e,t,b[_],b[_+1],b[_+2],b[_+3],b[_+4],b[_+5],v)&&d>(n=Mt(e,t,b[_],b[_+1],b[_+2],b[_+3],b[_+4],b[_+5])))return g(r,n),!0;y=y||i.source,x=x||i.target;var w=o.getArrowWidth(l,c),k=[{name:\"source\",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:\"target\",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:\"mid-source\",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:\"mid-target\",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(_=0;_<k.length;_++){var T=k[_],M=s.arrowShapes[r.pstyle(T.name+\"-arrow-shape\").value],A=r.pstyle(\"width\").pfValue;if(M.roughCollide(e,t,w,T.angle,{x:T.x,y:T.y},A,h)&&M.collide(e,t,w,T.angle,{x:T.x,y:T.y},A,h))return g(r),!0}f&&u.length>0&&(m(y),m(x))}function x(e,t,r){return ze(e,t,r)}function b(r,n){var i,a=r._private,o=d;i=n?n+\"-\":\"\",r.boundingBox();var s=a.labelBounds[n||\"main\"],l=r.pstyle(i+\"label\").value;if(\"yes\"===r.pstyle(\"text-events\").strValue&&l){var u=x(a.rscratch,\"labelX\",n),c=x(a.rscratch,\"labelY\",n),f=x(a.rscratch,\"labelAngle\",n),h=r.pstyle(i+\"text-margin-x\").pfValue,p=r.pstyle(i+\"text-margin-y\").pfValue,v=s.x1-o-h,m=s.x2+o-h,y=s.y1-o-p,b=s.y2+o-p;if(f){var _=Math.cos(f),w=Math.sin(f),k=function(e,t){return{x:(e-=u)*_-(t-=c)*w+u,y:e*w+t*_+c}},T=k(v,y),M=k(v,b),A=k(m,y),S=k(m,b),E=[T.x+h,T.y+p,A.x+h,A.y+p,S.x+h,S.y+p,M.x+h,M.y+p];if(St(e,t,E))return g(r),!0}else if(bt(s,e,t))return g(r),!0}}r&&(l=l.interactive);for(var _=l.length-1;_>=0;_--){var w=l[_];w.isNode()?m(w)||b(w):y(w)||b(w)||b(w,\"source\")||b(w,\"target\")}return u},getAllInBox:function(e,t,r,n){for(var i,a,o=this.getCachedZSortedEles().interactive,s=[],l=Math.min(e,r),u=Math.max(e,r),c=Math.min(t,n),f=Math.max(t,n),h=dt({x1:e=l,y1:t=c,x2:r=u,y2:n=f}),p=0;p<o.length;p++){var d=o[p];if(d.isNode()){var v=d,g=v.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:!1});xt(h,g)&&!_t(g,h)&&s.push(v)}else{var m=d,y=m._private,x=y.rscratch;if(null!=x.startX&&null!=x.startY&&!bt(h,x.startX,x.startY))continue;if(null!=x.endX&&null!=x.endY&&!bt(h,x.endX,x.endY))continue;if(\"bezier\"===x.edgeType||\"multibezier\"===x.edgeType||\"self\"===x.edgeType||\"compound\"===x.edgeType||\"segments\"===x.edgeType||\"haystack\"===x.edgeType){for(var b=y.rstyle.bezierPts||y.rstyle.linePts||y.rstyle.haystackPts,_=!0,w=0;w<b.length;w++)if(i=h,a=b[w],!bt(i,a.x,a.y)){_=!1;break}_&&s.push(m)}else\"haystack\"!==x.edgeType&&\"straight\"!==x.edgeType||s.push(m)}}return s}},Oo={calculateArrowAngles:function(e){var t,r,n,i,a,o,s=e._private.rscratch,l=\"haystack\"===s.edgeType,u=\"bezier\"===s.edgeType,c=\"multibezier\"===s.edgeType,f=\"segments\"===s.edgeType,h=\"compound\"===s.edgeType,p=\"self\"===s.edgeType;if(l?(n=s.haystackPts[0],i=s.haystackPts[1],a=s.haystackPts[2],o=s.haystackPts[3]):(n=s.arrowStartX,i=s.arrowStartY,a=s.arrowEndX,o=s.arrowEndY),v=s.midX,g=s.midY,f)t=n-s.segpts[0],r=i-s.segpts[1];else if(c||h||p||u){var d=s.allpts;t=n-ft(d[0],d[2],d[4],.1),r=i-ft(d[1],d[3],d[5],.1)}else t=n-v,r=i-g;s.srcArrowAngle=at(t,r);var v=s.midX,g=s.midY;if(l&&(v=(n+a)/2,g=(i+o)/2),t=a-n,r=o-i,f)if((d=s.allpts).length/2%2==0){var m=(y=d.length/2)-2;t=d[y]-d[m],r=d[y+1]-d[m+1]}else{m=(y=d.length/2-1)-2;var y,x=y+2;t=d[y]-d[m],r=d[y+1]-d[m+1]}else if(c||h||p){var b,_,w,k;d=s.allpts;if(s.ctrlpts.length/2%2==0){var T=2+(M=2+(A=d.length/2-1));b=ft(d[A],d[M],d[T],0),_=ft(d[A+1],d[M+1],d[T+1],0),w=ft(d[A],d[M],d[T],1e-4),k=ft(d[A+1],d[M+1],d[T+1],1e-4)}else{var M,A;T=2+(M=d.length/2-1),b=ft(d[A=M-2],d[M],d[T],.4999),_=ft(d[A+1],d[M+1],d[T+1],.4999),w=ft(d[A],d[M],d[T],.5),k=ft(d[A+1],d[M+1],d[T+1],.5)}t=w-b,r=k-_}if(s.midtgtArrowAngle=at(t,r),s.midDispX=t,s.midDispY=r,t*=-1,r*=-1,f&&((d=s.allpts).length/2%2==0||(t=-(d[x=2+(y=d.length/2-1)]-d[y]),r=-(d[x+1]-d[y+1]))),s.midsrcArrowAngle=at(t,r),f)t=a-s.segpts[s.segpts.length-2],r=o-s.segpts[s.segpts.length-1];else if(c||h||p||u){var S=(d=s.allpts).length;t=a-ft(d[S-6],d[S-4],d[S-2],.9),r=o-ft(d[S-5],d[S-3],d[S-1],.9)}else t=a-v,r=o-g;s.tgtArrowAngle=at(t,r)}};Oo.getArrowWidth=Oo.getArrowHeight=function(e,t){var r=this.arrowWidthCache=this.arrowWidthCache||{},n=r[e+\", \"+t];return n||(n=Math.max(Math.pow(13.37*e,.9),29)*t,r[e+\", \"+t]=n,n)};var Io={};function Do(e){var t=[];if(null!=e){for(var r=0;r<e.length;r+=2){var n=e[r],i=e[r+1];t.push({x:n,y:i})}return t}}Io.findHaystackPoints=function(e){for(var t=0;t<e.length;t++){var r=e[t],n=r._private,i=n.rscratch;if(!i.haystack){var a=2*Math.random()*Math.PI;i.source={x:Math.cos(a),y:Math.sin(a)},a=2*Math.random()*Math.PI,i.target={x:Math.cos(a),y:Math.sin(a)}}var o=n.source,s=n.target,l=o.position(),u=s.position(),c=o.width(),f=s.width(),h=o.height(),p=s.height(),d=r.pstyle(\"haystack-radius\").value/2;i.haystackPts=i.allpts=[i.source.x*c*d+l.x,i.source.y*h*d+l.y,i.target.x*f*d+u.x,i.target.y*p*d+u.y],i.midX=(i.allpts[0]+i.allpts[2])/2,i.midY=(i.allpts[1]+i.allpts[3])/2,i.edgeType=\"haystack\",i.haystack=!0,this.storeEdgeProjections(r),this.calculateArrowAngles(r),this.recalculateEdgeLabelProjections(r),this.calculateLabelAngles(r)}},Io.findSegmentsPoints=function(e,t){var r=e._private.rscratch,n=t.posPts,i=t.intersectionPts,a=t.vectorNormInverse,o=e.pstyle(\"edge-distances\").value,s=e.pstyle(\"segment-weights\"),l=e.pstyle(\"segment-distances\"),u=Math.min(s.pfValue.length,l.pfValue.length);r.edgeType=\"segments\",r.segpts=[];for(var c=0;c<u;c++){var f=s.pfValue[c],h=l.pfValue[c],p=1-f,d=f,v=\"node-position\"===o?n:i,g={x:v.x1*p+v.x2*d,y:v.y1*p+v.y2*d};r.segpts.push(g.x+a.x*h,g.y+a.y*h)}},Io.findLoopPoints=function(e,t,r,n){var i=e._private.rscratch,a=t.dirCounts,o=t.srcPos,s=e.pstyle(\"control-point-distances\"),l=s?s.pfValue[0]:void 0,u=e.pstyle(\"loop-direction\").pfValue,c=e.pstyle(\"loop-sweep\").pfValue,f=e.pstyle(\"control-point-step-size\").pfValue;i.edgeType=\"self\";var h=r,p=f;n&&(h=0,p=l);var d=u-Math.PI/2,v=d-c/2,g=d+c/2,m=String(u+\"_\"+c);h=void 0===a[m]?a[m]=0:++a[m],i.ctrlpts=[o.x+1.4*Math.cos(v)*p*(h/3+1),o.y+1.4*Math.sin(v)*p*(h/3+1),o.x+1.4*Math.cos(g)*p*(h/3+1),o.y+1.4*Math.sin(g)*p*(h/3+1)]},Io.findCompoundLoopPoints=function(e,t,r,n){var i=e._private.rscratch;i.edgeType=\"compound\";var a=t.srcPos,o=t.tgtPos,s=t.srcW,l=t.srcH,u=t.tgtW,c=t.tgtH,f=e.pstyle(\"control-point-step-size\").pfValue,h=e.pstyle(\"control-point-distances\"),p=h?h.pfValue[0]:void 0,d=r,v=f;n&&(d=0,v=p);var g={x:a.x-s/2,y:a.y-l/2},m={x:o.x-u/2,y:o.y-c/2},y={x:Math.min(g.x,m.x),y:Math.min(g.y,m.y)},x=Math.max(.5,Math.log(.01*s)),b=Math.max(.5,Math.log(.01*u));i.ctrlpts=[y.x,y.y-(1+Math.pow(50,1.12)/100)*v*(d/3+1)*x,y.x-(1+Math.pow(50,1.12)/100)*v*(d/3+1)*b,y.y]},Io.findStraightEdgePoints=function(e){e._private.rscratch.edgeType=\"straight\"},Io.findBezierPoints=function(e,t,r,n,i){var a=e._private.rscratch,o=t.vectorNormInverse,s=t.posPts,l=t.intersectionPts,u=e.pstyle(\"edge-distances\").value,c=e.pstyle(\"control-point-step-size\").pfValue,f=e.pstyle(\"control-point-distances\"),h=e.pstyle(\"control-point-weights\"),p=f&&h?Math.min(f.value.length,h.value.length):1,d=f?f.pfValue[0]:void 0,v=h.value[0],g=n;a.edgeType=g?\"multibezier\":\"bezier\",a.ctrlpts=[];for(var m=0;m<p;m++){var y,x=(.5-t.eles.length/2+r)*c*(i?-1:1),b=st(x);g&&(d=f?f.pfValue[m]:c,v=h.value[m]);var _=void 0!==(y=n?d:void 0!==d?b*d:void 0)?y:x,w=1-v,k=v,T=\"node-position\"===u?s:l,M={x:T.x1*w+T.x2*k,y:T.y1*w+T.y2*k};a.ctrlpts.push(M.x+o.x*_,M.y+o.y*_)}},Io.findTaxiPoints=function(e,t){var r=e._private.rscratch;r.edgeType=\"segments\";var n=\"vertical\",i=\"horizontal\",a=\"leftward\",o=\"rightward\",s=\"downward\",l=\"upward\",u=t.posPts,c=t.srcW,f=t.srcH,h=t.tgtW,p=t.tgtH,d=\"node-position\"!==e.pstyle(\"edge-distances\").value,v=e.pstyle(\"taxi-direction\").value,g=v,m=e.pstyle(\"taxi-turn\"),y=\"%\"===m.units,x=m.pfValue,b=x<0,_=e.pstyle(\"taxi-turn-min-distance\").pfValue,w=d?(c+h)/2:0,k=d?(f+p)/2:0,T=u.x2-u.x1,M=u.y2-u.y1,A=function(e,t){return e>0?Math.max(e-t,0):Math.min(e+t,0)},S=A(T,w),E=A(M,k),C=!1;\"auto\"===g?v=Math.abs(S)>Math.abs(E)?i:n:g===l||g===s?(v=n,C=!0):g!==a&&g!==o||(v=i,C=!0);var L,P=v===n,O=P?E:S,I=P?M:T,D=st(I),z=!1;C&&(y||b)||!(g===s&&I<0||g===l&&I>0||g===a&&I>0||g===o&&I<0)||(O=(D*=-1)*Math.abs(O),z=!0);var R=function(e){return Math.abs(e)<_||Math.abs(e)>=Math.abs(O)},F=R(L=y?(x<0?1+x:x)*O:(x<0?O:0)+x*D),B=R(Math.abs(O)-Math.abs(L));if(!F&&!B||z)if(P){var N=u.y1+L+(d?f/2*D:0),j=u.x1,U=u.x2;r.segpts=[j,N,U,N]}else{var V=u.x1+L+(d?c/2*D:0),H=u.y1,q=u.y2;r.segpts=[V,H,V,q]}else if(P){var G=Math.abs(I)<=f/2,Y=Math.abs(T)<=h/2;if(G){var W=(u.x1+u.x2)/2,Z=u.y1,X=u.y2;r.segpts=[W,Z,W,X]}else if(Y){var K=(u.y1+u.y2)/2,J=u.x1,$=u.x2;r.segpts=[J,K,$,K]}else r.segpts=[u.x1,u.y2]}else{var Q=Math.abs(I)<=c/2,ee=Math.abs(M)<=p/2;if(Q){var te=(u.y1+u.y2)/2,re=u.x1,ne=u.x2;r.segpts=[re,te,ne,te]}else if(ee){var ie=(u.x1+u.x2)/2,ae=u.y1,oe=u.y2;r.segpts=[ie,ae,ie,oe]}else r.segpts=[u.x2,u.y1]}},Io.tryToCorrectInvalidPoints=function(e,t){var r=e._private.rscratch;if(\"bezier\"===r.edgeType){var n=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,l=t.tgtH,u=t.srcShape,c=t.tgtShape,f=!O(r.startX)||!O(r.startY),h=!O(r.arrowStartX)||!O(r.arrowStartY),p=!O(r.endX)||!O(r.endY),d=!O(r.arrowEndX)||!O(r.arrowEndY),v=this.getArrowWidth(e.pstyle(\"width\").pfValue,e.pstyle(\"arrow-scale\").value)*this.arrowShapeWidth*3,g=lt({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),m=g<v,y=lt({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),x=y<v,b=!1;if(f||h||m){b=!0;var _={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},w=Math.sqrt(_.x*_.x+_.y*_.y),k={x:_.x/w,y:_.y/w},T=Math.max(a,o),M={x:r.ctrlpts[0]+2*k.x*T,y:r.ctrlpts[1]+2*k.y*T},A=u.intersectLine(n.x,n.y,a,o,M.x,M.y,0);m?(r.ctrlpts[0]=r.ctrlpts[0]+k.x*(v-g),r.ctrlpts[1]=r.ctrlpts[1]+k.y*(v-g)):(r.ctrlpts[0]=A[0]+k.x*v,r.ctrlpts[1]=A[1]+k.y*v)}if(p||d||x){b=!0;var S={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},E=Math.sqrt(S.x*S.x+S.y*S.y),C={x:S.x/E,y:S.y/E},L=Math.max(a,o),P={x:r.ctrlpts[0]+2*C.x*L,y:r.ctrlpts[1]+2*C.y*L},I=c.intersectLine(i.x,i.y,s,l,P.x,P.y,0);x?(r.ctrlpts[0]=r.ctrlpts[0]+C.x*(v-y),r.ctrlpts[1]=r.ctrlpts[1]+C.y*(v-y)):(r.ctrlpts[0]=I[0]+C.x*v,r.ctrlpts[1]=I[1]+C.y*v)}b&&this.findEndpoints(e)}},Io.storeAllpts=function(e){var t=e._private.rscratch;if(\"multibezier\"===t.edgeType||\"bezier\"===t.edgeType||\"self\"===t.edgeType||\"compound\"===t.edgeType){t.allpts=[],t.allpts.push(t.startX,t.startY);for(var r=0;r+1<t.ctrlpts.length;r+=2)t.allpts.push(t.ctrlpts[r],t.ctrlpts[r+1]),r+3<t.ctrlpts.length&&t.allpts.push((t.ctrlpts[r]+t.ctrlpts[r+2])/2,(t.ctrlpts[r+1]+t.ctrlpts[r+3])/2);var n;t.allpts.push(t.endX,t.endY),t.ctrlpts.length/2%2==0?(n=t.allpts.length/2-1,t.midX=t.allpts[n],t.midY=t.allpts[n+1]):(n=t.allpts.length/2-3,t.midX=ft(t.allpts[n],t.allpts[n+2],t.allpts[n+4],.5),t.midY=ft(t.allpts[n+1],t.allpts[n+3],t.allpts[n+5],.5))}else if(\"straight\"===t.edgeType)t.allpts=[t.startX,t.startY,t.endX,t.endY],t.midX=(t.startX+t.endX+t.arrowStartX+t.arrowEndX)/4,t.midY=(t.startY+t.endY+t.arrowStartY+t.arrowEndY)/4;else if(\"segments\"===t.edgeType)if(t.allpts=[],t.allpts.push(t.startX,t.startY),t.allpts.push.apply(t.allpts,t.segpts),t.allpts.push(t.endX,t.endY),t.segpts.length%4==0){var i=t.segpts.length/2,a=i-2;t.midX=(t.segpts[a]+t.segpts[i])/2,t.midY=(t.segpts[a+1]+t.segpts[i+1])/2}else{var o=t.segpts.length/2-1;t.midX=t.segpts[o],t.midY=t.segpts[o+1]}},Io.checkForInvalidEdgeWarning=function(e){var t=e[0]._private.rscratch;t.nodesOverlap||O(t.startX)&&O(t.startY)&&O(t.endX)&&O(t.endY)?t.loggedErr=!1:t.loggedErr||(t.loggedErr=!0,Se(\"Edge `\"+e.id()+\"` has invalid endpoints and so it is impossible to draw.  Adjust your edge style (e.g. control points) accordingly or use an alternative edge type.  This is expected behaviour when the source node and the target node overlap.\"))},Io.findEdgeControlPoints=function(e){var t=this;if(e&&0!==e.length){for(var r=this,n=r.cy.hasCompoundNodes(),i={map:new Fe,get:function(e){var t=this.map.get(e[0]);return null!=t?t.get(e[1]):null},set:function(e,t){var r=this.map.get(e[0]);null==r&&(r=new Fe,this.map.set(e[0],r)),r.set(e[1],t)}},a=[],o=[],s=0;s<e.length;s++){var l=e[s],u=l._private,c=l.pstyle(\"curve-style\").value;if(!l.removed()&&l.takesUpSpace())if(\"haystack\"!==c){var f=\"unbundled-bezier\"===c||\"segments\"===c||\"straight\"===c||\"straight-triangle\"===c||\"taxi\"===c,h=\"unbundled-bezier\"===c||\"bezier\"===c,p=u.source,d=u.target,v=[p.poolIndex(),d.poolIndex()].sort(),g=i.get(v);null==g&&(g={eles:[]},i.set(v,g),a.push(v)),g.eles.push(l),f&&(g.hasUnbundled=!0),h&&(g.hasBezier=!0)}else o.push(l)}for(var m=function(e){var o=a[e],s=i.get(o),l=void 0;if(!s.hasUnbundled){var u=s.eles[0].parallelEdges().filter((function(e){return e.isBundledBezier()}));De(s.eles),u.forEach((function(e){return s.eles.push(e)})),s.eles.sort((function(e,t){return e.poolIndex()-t.poolIndex()}))}var c=s.eles[0],f=c.source(),h=c.target();if(f.poolIndex()>h.poolIndex()){var p=f;f=h,h=p}var d=s.srcPos=f.position(),v=s.tgtPos=h.position(),g=s.srcW=f.outerWidth(),m=s.srcH=f.outerHeight(),y=s.tgtW=h.outerWidth(),x=s.tgtH=h.outerHeight(),b=s.srcShape=r.nodeShapes[t.getNodeShape(f)],_=s.tgtShape=r.nodeShapes[t.getNodeShape(h)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var w=0;w<s.eles.length;w++){var k=s.eles[w],T=k[0]._private.rscratch,M=k.pstyle(\"curve-style\").value,A=\"unbundled-bezier\"===M||\"segments\"===M||\"taxi\"===M,S=!f.same(k.source());if(!s.calculatedIntersection&&f!==h&&(s.hasBezier||s.hasUnbundled)){s.calculatedIntersection=!0;var E=b.intersectLine(d.x,d.y,g,m,v.x,v.y,0),C=s.srcIntn=E,L=_.intersectLine(v.x,v.y,y,x,d.x,d.y,0),P=s.tgtIntn=L,I=s.intersectionPts={x1:E[0],x2:L[0],y1:E[1],y2:L[1]},D=s.posPts={x1:d.x,x2:v.x,y1:d.y,y2:v.y},z=L[1]-E[1],R=L[0]-E[0],F=Math.sqrt(R*R+z*z),B=s.vector={x:R,y:z},N=s.vectorNorm={x:B.x/F,y:B.y/F},j={x:-N.y,y:N.x};s.nodesOverlap=!O(F)||_.checkPoint(E[0],E[1],0,y,x,v.x,v.y)||b.checkPoint(L[0],L[1],0,g,m,d.x,d.y),s.vectorNormInverse=j,l={nodesOverlap:s.nodesOverlap,dirCounts:s.dirCounts,calculatedIntersection:!0,hasBezier:s.hasBezier,hasUnbundled:s.hasUnbundled,eles:s.eles,srcPos:v,tgtPos:d,srcW:y,srcH:x,tgtW:g,tgtH:m,srcIntn:P,tgtIntn:C,srcShape:_,tgtShape:b,posPts:{x1:D.x2,y1:D.y2,x2:D.x1,y2:D.y1},intersectionPts:{x1:I.x2,y1:I.y2,x2:I.x1,y2:I.y1},vector:{x:-B.x,y:-B.y},vectorNorm:{x:-N.x,y:-N.y},vectorNormInverse:{x:-j.x,y:-j.y}}}var U=S?l:s;T.nodesOverlap=U.nodesOverlap,T.srcIntn=U.srcIntn,T.tgtIntn=U.tgtIntn,n&&(f.isParent()||f.isChild()||h.isParent()||h.isChild())&&(f.parents().anySame(h)||h.parents().anySame(f)||f.same(h)&&f.isParent())?t.findCompoundLoopPoints(k,U,w,A):f===h?t.findLoopPoints(k,U,w,A):\"segments\"===M?t.findSegmentsPoints(k,U):\"taxi\"===M?t.findTaxiPoints(k,U):\"straight\"===M||!A&&s.eles.length%2==1&&w===Math.floor(s.eles.length/2)?t.findStraightEdgePoints(k):t.findBezierPoints(k,U,w,A,S),t.findEndpoints(k),t.tryToCorrectInvalidPoints(k,U),t.checkForInvalidEdgeWarning(k),t.storeAllpts(k),t.storeEdgeProjections(k),t.calculateArrowAngles(k),t.recalculateEdgeLabelProjections(k),t.calculateLabelAngles(k)}},y=0;y<a.length;y++)m(y);this.findHaystackPoints(o)}},Io.getSegmentPoints=function(e){var t=e[0]._private.rscratch;if(\"segments\"===t.edgeType)return this.recalculateRenderedStyle(e),Do(t.segpts)},Io.getControlPoints=function(e){var t=e[0]._private.rscratch,r=t.edgeType;if(\"bezier\"===r||\"multibezier\"===r||\"self\"===r||\"compound\"===r)return this.recalculateRenderedStyle(e),Do(t.ctrlpts)},Io.getEdgeMidpoint=function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),{x:t.midX,y:t.midY}};var zo={manualEndptToPx:function(e,t){var r=e.position(),n=e.outerWidth(),i=e.outerHeight();if(2===t.value.length){var a=[t.pfValue[0],t.pfValue[1]];return\"%\"===t.units[0]&&(a[0]=a[0]*n),\"%\"===t.units[1]&&(a[1]=a[1]*i),a[0]+=r.x,a[1]+=r.y,a}var o=t.pfValue[0];o=-Math.PI/2+o;var s=2*Math.max(n,i),l=[r.x+Math.cos(o)*s,r.y+Math.sin(o)*s];return this.nodeShapes[this.getNodeShape(e)].intersectLine(r.x,r.y,n,i,l[0],l[1],0)},findEndpoints:function(e){var t,r,n,i,a,o=this,s=e.source()[0],l=e.target()[0],u=s.position(),c=l.position(),f=e.pstyle(\"target-arrow-shape\").value,h=e.pstyle(\"source-arrow-shape\").value,p=e.pstyle(\"target-distance-from-node\").pfValue,d=e.pstyle(\"source-distance-from-node\").pfValue,v=e.pstyle(\"curve-style\").value,g=e._private.rscratch,m=g.edgeType,y=\"self\"===m||\"compound\"===m,x=\"bezier\"===m||\"multibezier\"===m||y,b=\"bezier\"!==m,_=\"straight\"===m||\"segments\"===m,w=\"segments\"===m,k=x||b||_,T=y||\"taxi\"===v,M=e.pstyle(\"source-endpoint\"),A=T?\"outside-to-node\":M.value,S=e.pstyle(\"target-endpoint\"),E=T?\"outside-to-node\":S.value;if(g.srcManEndpt=M,g.tgtManEndpt=S,x){var C=[g.ctrlpts[0],g.ctrlpts[1]];r=b?[g.ctrlpts[g.ctrlpts.length-2],g.ctrlpts[g.ctrlpts.length-1]]:C,n=C}else if(_){var L=w?g.segpts.slice(0,2):[c.x,c.y];r=w?g.segpts.slice(g.segpts.length-2):[u.x,u.y],n=L}if(\"inside-to-node\"===E)t=[c.x,c.y];else if(S.units)t=this.manualEndptToPx(l,S);else if(\"outside-to-line\"===E)t=g.tgtIntn;else if(\"outside-to-node\"===E||\"outside-to-node-or-label\"===E?i=r:\"outside-to-line\"!==E&&\"outside-to-line-or-label\"!==E||(i=[u.x,u.y]),t=o.nodeShapes[this.getNodeShape(l)].intersectLine(c.x,c.y,l.outerWidth(),l.outerHeight(),i[0],i[1],0),\"outside-to-node-or-label\"===E||\"outside-to-line-or-label\"===E){var P=l._private.rscratch,I=P.labelWidth,D=P.labelHeight,z=P.labelX,R=P.labelY,F=I/2,B=D/2,N=l.pstyle(\"text-valign\").value;\"top\"===N?R-=B:\"bottom\"===N&&(R+=B);var j=l.pstyle(\"text-halign\").value;\"left\"===j?z-=F:\"right\"===j&&(z+=F);var U=zt(i[0],i[1],[z-F,R-B,z+F,R-B,z+F,R+B,z-F,R+B],c.x,c.y);if(U.length>0){var V=u,H=ut(V,it(t)),q=ut(V,it(U)),G=H;q<H&&(t=U,G=q),U.length>2&&ut(V,{x:U[2],y:U[3]})<G&&(t=[U[2],U[3]])}}var Y=Rt(t,r,o.arrowShapes[f].spacing(e)+p),W=Rt(t,r,o.arrowShapes[f].gap(e)+p);if(g.endX=W[0],g.endY=W[1],g.arrowEndX=Y[0],g.arrowEndY=Y[1],\"inside-to-node\"===A)t=[u.x,u.y];else if(M.units)t=this.manualEndptToPx(s,M);else if(\"outside-to-line\"===A)t=g.srcIntn;else if(\"outside-to-node\"===A||\"outside-to-node-or-label\"===A?a=n:\"outside-to-line\"!==A&&\"outside-to-line-or-label\"!==A||(a=[c.x,c.y]),t=o.nodeShapes[this.getNodeShape(s)].intersectLine(u.x,u.y,s.outerWidth(),s.outerHeight(),a[0],a[1],0),\"outside-to-node-or-label\"===A||\"outside-to-line-or-label\"===A){var Z=s._private.rscratch,X=Z.labelWidth,K=Z.labelHeight,J=Z.labelX,$=Z.labelY,Q=X/2,ee=K/2,te=s.pstyle(\"text-valign\").value;\"top\"===te?$-=ee:\"bottom\"===te&&($+=ee);var re=s.pstyle(\"text-halign\").value;\"left\"===re?J-=Q:\"right\"===re&&(J+=Q);var ne=zt(a[0],a[1],[J-Q,$-ee,J+Q,$-ee,J+Q,$+ee,J-Q,$+ee],u.x,u.y);if(ne.length>0){var ie=c,ae=ut(ie,it(t)),oe=ut(ie,it(ne)),se=ae;oe<ae&&(t=[ne[0],ne[1]],se=oe),ne.length>2&&ut(ie,{x:ne[2],y:ne[3]})<se&&(t=[ne[2],ne[3]])}}var le=Rt(t,n,o.arrowShapes[h].spacing(e)+d),ue=Rt(t,n,o.arrowShapes[h].gap(e)+d);g.startX=ue[0],g.startY=ue[1],g.arrowStartX=le[0],g.arrowStartY=le[1],k&&(O(g.startX)&&O(g.startY)&&O(g.endX)&&O(g.endY)?g.badLine=!1:g.badLine=!0)},getSourceEndpoint:function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),\"haystack\"===t.edgeType?{x:t.haystackPts[0],y:t.haystackPts[1]}:{x:t.arrowStartX,y:t.arrowStartY}},getTargetEndpoint:function(e){var t=e[0]._private.rscratch;return this.recalculateRenderedStyle(e),\"haystack\"===t.edgeType?{x:t.haystackPts[2],y:t.haystackPts[3]}:{x:t.arrowEndX,y:t.arrowEndY}}},Ro={};function Fo(e,t,r){for(var n=function(e,t,r,n){return ft(e,t,r,n)},i=t._private.rstyle.bezierPts,a=0;a<e.bezierProjPcts.length;a++){var o=e.bezierProjPcts[a];i.push({x:n(r[0],r[2],r[4],o),y:n(r[1],r[3],r[5],o)})}}Ro.storeEdgeProjections=function(e){var t=e._private,r=t.rscratch,n=r.edgeType;if(t.rstyle.bezierPts=null,t.rstyle.linePts=null,t.rstyle.haystackPts=null,\"multibezier\"===n||\"bezier\"===n||\"self\"===n||\"compound\"===n){t.rstyle.bezierPts=[];for(var i=0;i+5<r.allpts.length;i+=4)Fo(this,e,r.allpts.slice(i,i+6))}else if(\"segments\"===n){var a=t.rstyle.linePts=[];for(i=0;i+1<r.allpts.length;i+=2)a.push({x:r.allpts[i],y:r.allpts[i+1]})}else if(\"haystack\"===n){var o=r.haystackPts;t.rstyle.haystackPts=[{x:o[0],y:o[1]},{x:o[2],y:o[3]}]}t.rstyle.arrowWidth=this.getArrowWidth(e.pstyle(\"width\").pfValue,e.pstyle(\"arrow-scale\").value)*this.arrowShapeWidth},Ro.recalculateEdgeProjections=function(e){this.findEdgeControlPoints(e)};var Bo={recalculateNodeLabelProjection:function(e){var t=e.pstyle(\"label\").strValue;if(!N(t)){var r,n,i=e._private,a=e.width(),o=e.height(),s=e.padding(),l=e.position(),u=e.pstyle(\"text-halign\").strValue,c=e.pstyle(\"text-valign\").strValue,f=i.rscratch,h=i.rstyle;switch(u){case\"left\":r=l.x-a/2-s;break;case\"right\":r=l.x+a/2+s;break;default:r=l.x}switch(c){case\"top\":n=l.y-o/2-s;break;case\"bottom\":n=l.y+o/2+s;break;default:n=l.y}f.labelX=r,f.labelY=n,h.labelX=r,h.labelY=n,this.calculateLabelAngles(e),this.applyLabelDimensions(e)}}},No=function(e,t){var r=Math.atan(t/e);return 0===e&&r<0&&(r*=-1),r},jo=function(e,t){var r=t.x-e.x,n=t.y-e.y;return No(r,n)};Bo.recalculateEdgeLabelProjections=function(e){var t,r=e._private,n=r.rscratch,i=this,a={mid:e.pstyle(\"label\").strValue,source:e.pstyle(\"source-label\").strValue,target:e.pstyle(\"target-label\").strValue};if(a.mid||a.source||a.target){t={x:n.midX,y:n.midY};var o=function(e,t,n){Re(r.rscratch,e,t,n),Re(r.rstyle,e,t,n)};o(\"labelX\",null,t.x),o(\"labelY\",null,t.y);var s=No(n.midDispX,n.midDispY);o(\"labelAutoAngle\",null,s);var l=function e(){if(e.cache)return e.cache;for(var t=[],a=0;a+5<n.allpts.length;a+=4){var o={x:n.allpts[a],y:n.allpts[a+1]},s={x:n.allpts[a+2],y:n.allpts[a+3]},l={x:n.allpts[a+4],y:n.allpts[a+5]};t.push({p0:o,p1:s,p2:l,startDist:0,length:0,segments:[]})}var u=r.rstyle.bezierPts,c=i.bezierProjPcts.length;function f(e,t,r,n,i){var a=lt(t,r),o=e.segments[e.segments.length-1],s={p0:t,p1:r,t0:n,t1:i,startDist:o?o.startDist+o.length:0,length:a};e.segments.push(s),e.length+=a}for(var h=0;h<t.length;h++){var p=t[h],d=t[h-1];d&&(p.startDist=d.startDist+d.length),f(p,p.p0,u[h*c],0,i.bezierProjPcts[0]);for(var v=0;v<c-1;v++)f(p,u[h*c+v],u[h*c+v+1],i.bezierProjPcts[v],i.bezierProjPcts[v+1]);f(p,u[h*c+c-1],p.p2,i.bezierProjPcts[c-1],1)}return e.cache=t},u=function(r){var i,s=\"source\"===r;if(a[r]){var u=e.pstyle(r+\"-text-offset\").pfValue;switch(n.edgeType){case\"self\":case\"compound\":case\"bezier\":case\"multibezier\":for(var c,f=l(),h=0,p=0,d=0;d<f.length;d++){for(var v=f[s?d:f.length-1-d],g=0;g<v.segments.length;g++){var m=v.segments[s?g:v.segments.length-1-g],y=d===f.length-1&&g===v.segments.length-1;if(h=p,(p+=m.length)>=u||y){c={cp:v,segment:m};break}}if(c)break}var x=c.cp,b=c.segment,_=(u-h)/b.length,w=b.t1-b.t0,k=s?b.t0+w*_:b.t1-w*_;k=pt(0,k,1),t=ht(x.p0,x.p1,x.p2,k),i=function(e,t,r,n){var i=pt(0,n-.001,1),a=pt(0,n+.001,1),o=ht(e,t,r,i),s=ht(e,t,r,a);return jo(o,s)}(x.p0,x.p1,x.p2,k);break;case\"straight\":case\"segments\":case\"haystack\":for(var T,M,A,S,E=0,C=n.allpts.length,L=0;L+3<C&&(s?(A={x:n.allpts[L],y:n.allpts[L+1]},S={x:n.allpts[L+2],y:n.allpts[L+3]}):(A={x:n.allpts[C-2-L],y:n.allpts[C-1-L]},S={x:n.allpts[C-4-L],y:n.allpts[C-3-L]}),M=E,!((E+=T=lt(A,S))>=u));L+=2);var P=(u-M)/T;P=pt(0,P,1),t=function(e,t,r,n){var i=t.x-e.x,a=t.y-e.y,o=lt(e,t),s=i/o,l=a/o;return r=null==r?0:r,n=null!=n?n:r*o,{x:e.x+s*n,y:e.y+l*n}}(A,S,P),i=jo(A,S)}o(\"labelX\",r,t.x),o(\"labelY\",r,t.y),o(\"labelAutoAngle\",r,i)}};u(\"source\"),u(\"target\"),this.applyLabelDimensions(e)}},Bo.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,\"source\"),this.applyPrefixedLabelDimensions(e,\"target\"))},Bo.applyPrefixedLabelDimensions=function(e,t){var r=e._private,n=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,n),a=e.pstyle(\"line-height\").pfValue,o=e.pstyle(\"text-wrap\").strValue,s=ze(r.rscratch,\"labelWrapCachedLines\",t)||[],l=\"wrap\"!==o?1:Math.max(s.length,1),u=i.height/l,c=u*a,f=i.width,h=i.height+(l-1)*(a-1)*u;Re(r.rstyle,\"labelWidth\",t,f),Re(r.rscratch,\"labelWidth\",t,f),Re(r.rstyle,\"labelHeight\",t,h),Re(r.rscratch,\"labelHeight\",t,h),Re(r.rscratch,\"labelLineHeight\",t,c)},Bo.getLabelText=function(e,t){var r=e._private,n=t?t+\"-\":\"\",i=e.pstyle(n+\"label\").strValue,a=e.pstyle(\"text-transform\").value,o=function(e,n){return n?(Re(r.rscratch,e,t,n),n):ze(r.rscratch,e,t)};if(!i)return\"\";\"none\"==a||(\"uppercase\"==a?i=i.toUpperCase():\"lowercase\"==a&&(i=i.toLowerCase()));var s=e.pstyle(\"text-wrap\").value;if(\"wrap\"===s){var l=o(\"labelKey\");if(null!=l&&o(\"labelWrapKey\")===l)return o(\"labelWrapCachedText\");for(var u=i.split(\"\\n\"),c=e.pstyle(\"text-max-width\").pfValue,f=\"anywhere\"===e.pstyle(\"text-overflow-wrap\").value,h=[],p=/[\\s\\u200b]+/,d=f?\"\":\" \",v=0;v<u.length;v++){var g=u[v],m=this.calculateLabelDimensions(e,g).width;if(f){var y=g.split(\"\").join(\"​\");g=y}if(m>c){for(var x=g.split(p),b=\"\",_=0;_<x.length;_++){var w=x[_],k=0===b.length?w:b+d+w;this.calculateLabelDimensions(e,k).width<=c?b+=w+d:(b&&h.push(b),b=w+d)}b.match(/^[\\s\\u200b]+$/)||h.push(b)}else h.push(g)}o(\"labelWrapCachedLines\",h),i=o(\"labelWrapCachedText\",h.join(\"\\n\")),o(\"labelWrapKey\",l)}else if(\"ellipsis\"===s){var T=e.pstyle(\"text-max-width\").pfValue,M=\"\",A=!1;if(this.calculateLabelDimensions(e,i).width<T)return i;for(var S=0;S<i.length&&!(this.calculateLabelDimensions(e,M+i[S]+\"…\").width>T);S++)M+=i[S],S===i.length-1&&(A=!0);return A||(M+=\"…\"),M}return i},Bo.getLabelJustification=function(e){var t=e.pstyle(\"text-justification\").strValue,r=e.pstyle(\"text-halign\").strValue;if(\"auto\"!==t)return t;if(!e.isNode())return\"center\";switch(r){case\"left\":return\"right\";case\"right\":return\"left\";default:return\"center\"}},Bo.calculateLabelDimensions=function(e,t){var r=de(t,e._private.labelDimsKey),n=this.labelDimCache||(this.labelDimCache=[]),i=n[r];if(null!=i)return i;var a=e.pstyle(\"font-style\").strValue,o=e.pstyle(\"font-size\").pfValue,s=e.pstyle(\"font-family\").strValue,l=e.pstyle(\"font-weight\").strValue,u=this.labelCalcCanvas,c=this.labelCalcCanvasContext;if(!u){u=this.labelCalcCanvas=document.createElement(\"canvas\"),c=this.labelCalcCanvasContext=u.getContext(\"2d\");var f=u.style;f.position=\"absolute\",f.left=\"-9999px\",f.top=\"-9999px\",f.zIndex=\"-1\",f.visibility=\"hidden\",f.pointerEvents=\"none\"}c.font=\"\".concat(a,\" \").concat(l,\" \").concat(o,\"px \").concat(s);for(var h=0,p=0,d=t.split(\"\\n\"),v=0;v<d.length;v++){var g=d[v],m=c.measureText(g),y=Math.ceil(m.width),x=o;h=Math.max(y,h),p+=x}return h+=0,p+=0,n[r]={width:h,height:p}},Bo.calculateLabelAngle=function(e,t){var r=e._private.rscratch,n=e.isEdge(),i=t?t+\"-\":\"\",a=e.pstyle(i+\"text-rotation\"),o=a.strValue;return\"none\"===o?0:n&&\"autorotate\"===o?r.labelAutoAngle:\"autorotate\"===o?0:a.pfValue},Bo.calculateLabelAngles=function(e){var t=this,r=e.isEdge(),n=e._private.rscratch;n.labelAngle=t.calculateLabelAngle(e),r&&(n.sourceLabelAngle=t.calculateLabelAngle(e,\"source\"),n.targetLabelAngle=t.calculateLabelAngle(e,\"target\"))};var Uo={},Vo=!1;Uo.getNodeShape=function(e){var t=e.pstyle(\"shape\").value;if(\"cutrectangle\"===t&&(e.width()<28||e.height()<28))return Vo||(Se(\"The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead\"),Vo=!0),\"rectangle\";if(e.isParent())return\"rectangle\"===t||\"roundrectangle\"===t||\"round-rectangle\"===t||\"cutrectangle\"===t||\"cut-rectangle\"===t||\"barrel\"===t?t:\"rectangle\";if(\"polygon\"===t){var r=e.pstyle(\"shape-polygon-points\").value;return this.nodeShapes.makePolygon(r).name}return t};var Ho={updateCachedGrabbedEles:function(){var e=this.cachedZSortedEles;if(e){e.drag=[],e.nondrag=[];for(var t=[],r=0;r<e.length;r++){var n=(i=e[r])._private.rscratch;i.grabbed()&&!i.isParent()?t.push(i):n.inDragLayer?e.drag.push(i):e.nondrag.push(i)}for(r=0;r<t.length;r++){var i=t[r];e.drag.push(i)}}},invalidateCachedZSortedEles:function(){this.cachedZSortedEles=null},getCachedZSortedEles:function(e){if(e||!this.cachedZSortedEles){var t=this.cy.mutableElements().toArray();t.sort(Ci),t.interactive=t.filter((function(e){return e.interactive()})),this.cachedZSortedEles=t,this.updateCachedGrabbedEles()}else t=this.cachedZSortedEles;return t}},qo={};[Po,Oo,Io,zo,Ro,Bo,Uo,{registerCalculationListeners:function(){var e=this.cy,t=e.collection(),r=this,n=function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),r)for(var n=0;n<e.length;n++){var i=e[n]._private.rstyle;i.clean=!1,i.cleanConnected=!1}};r.binder(e).on(\"bounds.* dirty.*\",(function(e){var t=e.target;n(t)})).on(\"style.* background.*\",(function(e){var t=e.target;n(t,!1)}));var i=function(i){if(i){var a=r.onUpdateEleCalcsFns;t.cleanStyle();for(var o=0;o<t.length;o++){var s=t[o],l=s._private.rstyle;s.isNode()&&!l.cleanConnected&&(n(s.connectedEdges()),l.cleanConnected=!0)}if(a)for(var u=0;u<a.length;u++)(0,a[u])(i,t);r.recalculateRenderedStyle(t),t=e.collection()}};r.flushRenderedStyleQueue=function(){i(!0)},r.beforeRender(i,r.beforeRenderPriorities.eleCalcs)},onUpdateEleCalcs:function(e){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(e)},recalculateRenderedStyle:function(e,t){var r=function(e){return e._private.rstyle.cleanConnected},n=[],i=[];if(!this.destroyed){void 0===t&&(t=!0);for(var a=0;a<e.length;a++){var o=e[a],s=o._private,l=s.rstyle;!o.isEdge()||r(o.source())&&r(o.target())||(l.clean=!1),t&&l.clean||o.removed()||\"none\"!==o.pstyle(\"display\").value&&(\"nodes\"===s.group?i.push(o):n.push(o),l.clean=!0)}for(var u=0;u<i.length;u++){var c=i[u],f=c._private.rstyle,h=c.position();this.recalculateNodeLabelProjection(c),f.nodeX=h.x,f.nodeY=h.y,f.nodeW=c.pstyle(\"width\").pfValue,f.nodeH=c.pstyle(\"height\").pfValue}this.recalculateEdgeProjections(n);for(var p=0;p<n.length;p++){var d=n[p]._private,v=d.rstyle,g=d.rscratch;v.srcX=g.arrowStartX,v.srcY=g.arrowStartY,v.tgtX=g.arrowEndX,v.tgtY=g.arrowEndY,v.midX=g.midX,v.midY=g.midY,v.labelAngle=g.labelAngle,v.sourceLabelAngle=g.sourceLabelAngle,v.targetLabelAngle=g.targetLabelAngle}}}},Ho].forEach((function(e){$(qo,e)}));var Go={getCachedImage:function(e,t,r){var n=this.imageCache=this.imageCache||{},i=n[e];if(i)return i.image.complete||i.image.addEventListener(\"load\",r),i.image;var a=(i=n[e]=n[e]||{}).image=new Image;a.addEventListener(\"load\",r),a.addEventListener(\"error\",(function(){a.error=!0}));return\"data:\"===e.substring(0,5).toLowerCase()||(t=\"null\"===t?null:t,a.crossOrigin=t),a.src=e,a}},Yo={registerBinding:function(e,t,r,n){var i=Array.prototype.slice.apply(arguments,[1]),a=this.binder(e);return a.on.apply(a,i)},binder:function(e){var t=this,r=t.cy.window(),n=e===r||e===r.document||e===r.document.body||\"undefined\"!=typeof HTMLElement&&e instanceof HTMLElement;if(null==t.supportsPassiveEvents){var i=!1;try{var a=Object.defineProperty({},\"passive\",{get:function(){return i=!0,!0}});r.addEventListener(\"test\",null,a)}catch(e){}t.supportsPassiveEvents=i}var o=function(r,i,a){var o=Array.prototype.slice.call(arguments);return n&&t.supportsPassiveEvents&&(o[2]={capture:null!=a&&a,passive:!1,once:!1}),t.bindings.push({target:e,args:o}),(e.addEventListener||e.on).apply(e,o),this};return{on:o,addEventListener:o,addListener:o,bind:o}},nodeIsDraggable:function(e){return e&&e.isNode()&&!e.locked()&&e.grabbable()},nodeIsGrabbable:function(e){return this.nodeIsDraggable(e)&&e.interactive()}};Yo.load=function(){var e=this,t=e.cy.window(),r=function(e){return e.selected()},n=function(t,r,n,i){null==t&&(t=e.cy);for(var a=0;a<r.length;a++){var o=r[a];t.emit({originalEvent:n,type:o,position:i})}},i=function(e){return e.shiftKey||e.metaKey||e.ctrlKey},a=function(t,r){var n=!0;if(e.cy.hasCompoundNodes()&&t&&t.pannable()){for(var i=0;r&&i<r.length;i++)if((t=r[i]).isNode()&&t.isParent()&&!t.pannable()){n=!1;break}}else n=!0;return n},o=function(e){e[0]._private.rscratch.inDragLayer=!0},s=function(e){e[0]._private.rscratch.isGrabTarget=!0},l=function(e,t){var r=t.addToList;r.has(e)||!e.grabbable()||e.locked()||(r.merge(e),function(e){e[0]._private.grabbed=!0}(e))},c=function(t,r){r=r||{};var n=t.cy().hasCompoundNodes();r.inDragLayer&&(t.forEach(o),t.neighborhood().stdFilter((function(e){return!n||e.isEdge()})).forEach(o)),r.addToList&&t.forEach((function(e){l(e,r)})),function(e,t){if(e.cy().hasCompoundNodes()&&(null!=t.inDragLayer||null!=t.addToList)){var r=e.descendants();t.inDragLayer&&(r.forEach(o),r.connectedEdges().forEach(o)),t.addToList&&l(r,t)}}(t,r),p(t,{inDragLayer:r.inDragLayer}),e.updateCachedGrabbedEles()},f=c,h=function(t){t&&(e.getCachedZSortedEles().forEach((function(e){!function(e){e[0]._private.grabbed=!1}(e),function(e){e[0]._private.rscratch.inDragLayer=!1}(e),function(e){e[0]._private.rscratch.isGrabTarget=!1}(e)})),e.updateCachedGrabbedEles())},p=function(e,t){if((null!=t.inDragLayer||null!=t.addToList)&&e.cy().hasCompoundNodes()){var r=e.ancestors().orphans();if(!r.same(e)){var n=r.descendants().spawnSelf().merge(r).unmerge(e).unmerge(e.descendants()),i=n.connectedEdges();t.inDragLayer&&(i.forEach(o),n.forEach(o)),t.addToList&&n.forEach((function(e){l(e,t)}))}}},d=function(){null!=document.activeElement&&null!=document.activeElement.blur&&document.activeElement.blur()},v=\"undefined\"!=typeof MutationObserver,g=\"undefined\"!=typeof ResizeObserver;v?(e.removeObserver=new MutationObserver((function(t){for(var r=0;r<t.length;r++){var n=t[r].removedNodes;if(n)for(var i=0;i<n.length;i++)if(n[i]===e.container){e.destroy();break}}})),e.container.parentNode&&e.removeObserver.observe(e.container.parentNode,{childList:!0})):e.registerBinding(e.container,\"DOMNodeRemoved\",(function(t){e.destroy()}));var m=u.default((function(){e.cy.resize()}),100);v&&(e.styleObserver=new MutationObserver(m),e.styleObserver.observe(e.container,{attributes:!0})),e.registerBinding(t,\"resize\",m),g&&(e.resizeObserver=new ResizeObserver(m),e.resizeObserver.observe(e.container));var y=function(){e.invalidateContainerClientCoordsCache()};!function(e,t){for(;null!=e;)t(e),e=e.parentNode}(e.container,(function(t){e.registerBinding(t,\"transitionend\",y),e.registerBinding(t,\"animationend\",y),e.registerBinding(t,\"scroll\",y)})),e.registerBinding(e.container,\"contextmenu\",(function(e){e.preventDefault()}));var x,b,_,w=function(t){for(var r=e.findContainerClientCoords(),n=r[0],i=r[1],a=r[2],o=r[3],s=t.touches?t.touches:[t],l=!1,u=0;u<s.length;u++){var c=s[u];if(n<=c.clientX&&c.clientX<=n+a&&i<=c.clientY&&c.clientY<=i+o){l=!0;break}}if(!l)return!1;for(var f=e.container,h=t.target.parentNode,p=!1;h;){if(h===f){p=!0;break}h=h.parentNode}return!!p};e.registerBinding(e.container,\"mousedown\",(function(t){if(w(t)){t.preventDefault(),d(),e.hoverData.capture=!0,e.hoverData.which=t.which;var r=e.cy,i=[t.clientX,t.clientY],a=e.projectIntoViewport(i[0],i[1]),o=e.selection,l=e.findNearestElements(a[0],a[1],!0,!1),u=l[0],h=e.dragData.possibleDragElements;if(e.hoverData.mdownPos=a,e.hoverData.mdownGPos=i,3==t.which){e.hoverData.cxtStarted=!0;var p={originalEvent:t,type:\"cxttapstart\",position:{x:a[0],y:a[1]}};u?(u.activate(),u.emit(p),e.hoverData.down=u):r.emit(p),e.hoverData.downTime=(new Date).getTime(),e.hoverData.cxtDragged=!1}else if(1==t.which){if(u&&u.activate(),null!=u&&e.nodeIsGrabbable(u)){var v=function(e){return{originalEvent:t,type:e,position:{x:a[0],y:a[1]}}};if(s(u),u.selected()){h=e.dragData.possibleDragElements=r.collection();var g=r.$((function(t){return t.isNode()&&t.selected()&&e.nodeIsGrabbable(t)}));c(g,{addToList:h}),u.emit(v(\"grabon\")),g.forEach((function(e){e.emit(v(\"grab\"))}))}else h=e.dragData.possibleDragElements=r.collection(),f(u,{addToList:h}),u.emit(v(\"grabon\")).emit(v(\"grab\"));e.redrawHint(\"eles\",!0),e.redrawHint(\"drag\",!0)}e.hoverData.down=u,e.hoverData.downs=l,e.hoverData.downTime=(new Date).getTime(),n(u,[\"mousedown\",\"tapstart\",\"vmousedown\"],t,{x:a[0],y:a[1]}),null==u?(o[4]=1,e.data.bgActivePosistion={x:a[0],y:a[1]},e.redrawHint(\"select\",!0),e.redraw()):u.pannable()&&(o[4]=1),e.hoverData.tapholdCancelled=!1,clearTimeout(e.hoverData.tapholdTimeout),e.hoverData.tapholdTimeout=setTimeout((function(){if(!e.hoverData.tapholdCancelled){var n=e.hoverData.down;n?n.emit({originalEvent:t,type:\"taphold\",position:{x:a[0],y:a[1]}}):r.emit({originalEvent:t,type:\"taphold\",position:{x:a[0],y:a[1]}})}}),e.tapholdDuration)}o[0]=o[2]=a[0],o[1]=o[3]=a[1]}}),!1),e.registerBinding(t,\"mousemove\",(function(t){if(e.hoverData.capture||w(t)){var r=!1,o=e.cy,s=o.zoom(),l=[t.clientX,t.clientY],u=e.projectIntoViewport(l[0],l[1]),f=e.hoverData.mdownPos,p=e.hoverData.mdownGPos,d=e.selection,v=null;e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.selecting||(v=e.findNearestElement(u[0],u[1],!0,!1));var g,m=e.hoverData.last,y=e.hoverData.down,x=[u[0]-d[2],u[1]-d[3]],b=e.dragData.possibleDragElements;if(p){var _=l[0]-p[0],k=_*_,T=l[1]-p[1],M=k+T*T;e.hoverData.isOverThresholdDrag=g=M>=e.desktopTapThreshold2}var A=i(t);g&&(e.hoverData.tapholdCancelled=!0),r=!0,n(v,[\"mousemove\",\"vmousemove\",\"tapdrag\"],t,{x:u[0],y:u[1]});var S=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:\"boxstart\",position:{x:u[0],y:u[1]}}),d[4]=1,e.hoverData.selecting=!0,e.redrawHint(\"select\",!0),e.redraw()};if(3===e.hoverData.which){if(g){var E={originalEvent:t,type:\"cxtdrag\",position:{x:u[0],y:u[1]}};y?y.emit(E):o.emit(E),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&v===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:\"cxtdragout\",position:{x:u[0],y:u[1]}}),e.hoverData.cxtOver=v,v&&v.emit({originalEvent:t,type:\"cxtdragover\",position:{x:u[0],y:u[1]}}))}}else if(e.hoverData.dragging){if(r=!0,o.panningEnabled()&&o.userPanningEnabled()){var C;if(e.hoverData.justStartedPan){var L=e.hoverData.mdownPos;C={x:(u[0]-L[0])*s,y:(u[1]-L[1])*s},e.hoverData.justStartedPan=!1}else C={x:x[0]*s,y:x[1]*s};o.panBy(C),o.emit(\"dragpan\"),e.hoverData.dragged=!0}u=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=d[4]||null!=y&&!y.pannable()){if(y&&y.pannable()&&y.active()&&y.unactivate(),y&&y.grabbed()||v==m||(m&&n(m,[\"mouseout\",\"tapdragout\"],t,{x:u[0],y:u[1]}),v&&n(v,[\"mouseover\",\"tapdragover\"],t,{x:u[0],y:u[1]}),e.hoverData.last=v),y)if(g){if(o.boxSelectionEnabled()&&A)y&&y.grabbed()&&(h(b),y.emit(\"freeon\"),b.emit(\"free\"),e.dragData.didDrag&&(y.emit(\"dragfreeon\"),b.emit(\"dragfree\"))),S();else if(y&&y.grabbed()&&e.nodeIsDraggable(y)){var P=!e.dragData.didDrag;P&&e.redrawHint(\"eles\",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||c(b,{inDragLayer:!0});var I={x:0,y:0};if(O(x[0])&&O(x[1])&&(I.x+=x[0],I.y+=x[1],P)){var D=e.hoverData.dragDelta;D&&O(D[0])&&O(D[1])&&(I.x+=D[0],I.y+=D[1])}e.hoverData.draggingEles=!0,b.silentShift(I).emit(\"position drag\"),e.redrawHint(\"drag\",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(x[0]),t.push(x[1])):(t[0]+=x[0],t[1]+=x[1])}();r=!0}else g&&(e.hoverData.dragging||!o.boxSelectionEnabled()||!A&&o.panningEnabled()&&o.userPanningEnabled()?!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()&&a(y,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,d[4]=0,e.data.bgActivePosistion=it(f),e.redrawHint(\"select\",!0),e.redraw()):S(),y&&y.pannable()&&y.active()&&y.unactivate());return d[2]=u[0],d[3]=u[1],r?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(t,\"mouseup\",(function(t){if(e.hoverData.capture){e.hoverData.capture=!1;var a=e.cy,o=e.projectIntoViewport(t.clientX,t.clientY),s=e.selection,l=e.findNearestElement(o[0],o[1],!0,!1),u=e.dragData.possibleDragElements,c=e.hoverData.down,f=i(t);if(e.data.bgActivePosistion&&(e.redrawHint(\"select\",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,c&&c.unactivate(),3===e.hoverData.which){var p={originalEvent:t,type:\"cxttapend\",position:{x:o[0],y:o[1]}};if(c?c.emit(p):a.emit(p),!e.hoverData.cxtDragged){var d={originalEvent:t,type:\"cxttap\",position:{x:o[0],y:o[1]}};c?c.emit(d):a.emit(d)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(n(l,[\"mouseup\",\"tapend\",\"vmouseup\"],t,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(n(c,[\"click\",\"tap\",\"vclick\"],t,{x:o[0],y:o[1]}),b=!1,t.timeStamp-_<=a.multiClickDebounceTime()?(x&&clearTimeout(x),b=!0,_=null,n(c,[\"dblclick\",\"dbltap\",\"vdblclick\"],t,{x:o[0],y:o[1]})):(x=setTimeout((function(){b||n(c,[\"oneclick\",\"onetap\",\"voneclick\"],t,{x:o[0],y:o[1]})}),a.multiClickDebounceTime()),_=t.timeStamp)),null!=c||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||i(t)||(a.$(r).unselect([\"tapunselect\"]),u.length>0&&e.redrawHint(\"eles\",!0),e.dragData.possibleDragElements=u=a.collection()),l!=c||e.dragData.didDrag||e.hoverData.selecting||null!=l&&l._private.selectable&&(e.hoverData.dragging||(\"additive\"===a.selectionType()||f?l.selected()?l.unselect([\"tapunselect\"]):l.select([\"tapselect\"]):f||(a.$(r).unmerge(l).unselect([\"tapunselect\"]),l.select([\"tapselect\"]))),e.redrawHint(\"eles\",!0)),e.hoverData.selecting){var v=a.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));e.redrawHint(\"select\",!0),v.length>0&&e.redrawHint(\"eles\",!0),a.emit({type:\"boxend\",originalEvent:t,position:{x:o[0],y:o[1]}});\"additive\"===a.selectionType()||f||a.$(r).unmerge(v).unselect(),v.emit(\"box\").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit(\"boxselect\"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint(\"select\",!0),e.redrawHint(\"eles\",!0),e.redraw()),!s[4]){e.redrawHint(\"drag\",!0),e.redrawHint(\"eles\",!0);var g=c&&c.grabbed();h(u),g&&(c.emit(\"freeon\"),u.emit(\"free\"),e.dragData.didDrag&&(c.emit(\"dragfreeon\"),u.emit(\"dragfree\")))}}s[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var k,T,M,A,S,E,C,L,P,I,D,z,R,F=function(t){if(!e.scrollingPage){var r=e.cy,n=r.zoom(),i=r.pan(),a=e.projectIntoViewport(t.clientX,t.clientY),o=[a[0]*n+i.x,a[1]*n+i.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(r.panningEnabled()&&r.userPanningEnabled()&&r.zoomingEnabled()&&r.userZoomingEnabled()){var s;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint(\"eles\",!0),e.redraw()}),150),s=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,s*=e.wheelSensitivity,1===t.deltaMode&&(s*=33);var l=r.zoom()*Math.pow(10,s);\"gesturechange\"===t.type&&(l=e.gestureStartZoom*t.scale),r.zoom({level:l,renderedPosition:{x:o[0],y:o[1]}}),r.emit(\"gesturechange\"===t.type?\"pinchzoom\":\"scrollzoom\")}}};e.registerBinding(e.container,\"wheel\",F,!0),e.registerBinding(t,\"scroll\",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,\"gesturestart\",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,\"gesturechange\",(function(t){e.hasTouchStarted||F(t)}),!0),e.registerBinding(e.container,\"mouseout\",(function(t){var r=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:\"mouseout\",position:{x:r[0],y:r[1]}})}),!1),e.registerBinding(e.container,\"mouseover\",(function(t){var r=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:\"mouseover\",position:{x:r[0],y:r[1]}})}),!1);var B,N,j,U,V,H,q,G=function(e,t,r,n){return Math.sqrt((r-e)*(r-e)+(n-t)*(n-t))},Y=function(e,t,r,n){return(r-e)*(r-e)+(n-t)*(n-t)};if(e.registerBinding(e.container,\"touchstart\",B=function(t){if(e.hasTouchStarted=!0,w(t)){d(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var r=e.cy,i=e.touchData.now,a=e.touchData.earlier;if(t.touches[0]){var o=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);i[0]=o[0],i[1]=o[1]}if(t.touches[1]&&(o=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),i[2]=o[0],i[3]=o[1]),t.touches[2]&&(o=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),i[4]=o[0],i[5]=o[1]),t.touches[1]){e.touchData.singleTouchMoved=!0,h(e.dragData.touchDragEles);var l=e.findContainerClientCoords();P=l[0],I=l[1],D=l[2],z=l[3],k=t.touches[0].clientX-P,T=t.touches[0].clientY-I,M=t.touches[1].clientX-P,A=t.touches[1].clientY-I,R=0<=k&&k<=D&&0<=M&&M<=D&&0<=T&&T<=z&&0<=A&&A<=z;var u=r.pan(),p=r.zoom();if(S=G(k,T,M,A),E=Y(k,T,M,A),L=[((C=[(k+M)/2,(T+A)/2])[0]-u.x)/p,(C[1]-u.y)/p],E<4e4&&!t.touches[2]){var v=e.findNearestElement(i[0],i[1],!0,!0),g=e.findNearestElement(i[2],i[3],!0,!0);return v&&v.isNode()?(v.activate().emit({originalEvent:t,type:\"cxttapstart\",position:{x:i[0],y:i[1]}}),e.touchData.start=v):g&&g.isNode()?(g.activate().emit({originalEvent:t,type:\"cxttapstart\",position:{x:i[0],y:i[1]}}),e.touchData.start=g):r.emit({originalEvent:t,type:\"cxttapstart\",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])r.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var m=e.findNearestElements(i[0],i[1],!0,!0),y=m[0];if(null!=y&&(y.activate(),e.touchData.start=y,e.touchData.starts=m,e.nodeIsGrabbable(y))){var x=e.dragData.touchDragEles=r.collection(),b=null;e.redrawHint(\"eles\",!0),e.redrawHint(\"drag\",!0),y.selected()?(b=r.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),c(b,{addToList:x})):f(y,{addToList:x}),s(y);var _=function(e){return{originalEvent:t,type:e,position:{x:i[0],y:i[1]}}};y.emit(_(\"grabon\")),b?b.forEach((function(e){e.emit(_(\"grab\"))})):y.emit(_(\"grab\"))}n(y,[\"touchstart\",\"tapstart\",\"vmousedown\"],t,{x:i[0],y:i[1]}),null==y&&(e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint(\"select\",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||n(e.touchData.start,[\"taphold\"],t,{x:i[0],y:i[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var O=e.touchData.startPosition=[null,null,null,null,null,null],F=0;F<i.length;F++)O[F]=a[F]=i[F];var B=t.touches[0];e.touchData.startGPosition=[B.clientX,B.clientY]}}},!1),e.registerBinding(window,\"touchmove\",N=function(t){var r=e.touchData.capture;if(r||w(t)){var i=e.selection,o=e.cy,s=e.touchData.now,l=e.touchData.earlier,u=o.zoom();if(t.touches[0]){var f=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);s[0]=f[0],s[1]=f[1]}t.touches[1]&&(f=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),s[2]=f[0],s[3]=f[1]),t.touches[2]&&(f=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),s[4]=f[0],s[5]=f[1]);var p,d=e.touchData.startGPosition;if(r&&t.touches[0]&&d){for(var v=[],g=0;g<s.length;g++)v[g]=s[g]-l[g];var m=t.touches[0].clientX-d[0],y=m*m,x=t.touches[0].clientY-d[1];p=y+x*x>=e.touchTapThreshold2}if(r&&e.touchData.cxt){t.preventDefault();var b=t.touches[0].clientX-P,_=t.touches[0].clientY-I,C=t.touches[1].clientX-P,D=t.touches[1].clientY-I,z=Y(b,_,C,D);if(z/E>=2.25||z>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint(\"select\",!0);var F={originalEvent:t,type:\"cxttapend\",position:{x:s[0],y:s[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(F),e.touchData.start=null):o.emit(F)}}if(r&&e.touchData.cxt){F={originalEvent:t,type:\"cxtdrag\",position:{x:s[0],y:s[1]}},e.data.bgActivePosistion=void 0,e.redrawHint(\"select\",!0),e.touchData.start?e.touchData.start.emit(F):o.emit(F),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var B=e.findNearestElement(s[0],s[1],!0,!0);e.touchData.cxtOver&&B===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:\"cxtdragout\",position:{x:s[0],y:s[1]}}),e.touchData.cxtOver=B,B&&B.emit({originalEvent:t,type:\"cxtdragover\",position:{x:s[0],y:s[1]}}))}else if(r&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:\"boxstart\",position:{x:s[0],y:s[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),e.redrawHint(\"select\",!0),e.redraw();else if(r&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint(\"select\",!0),ee=e.dragData.touchDragEles){e.redrawHint(\"drag\",!0);for(var N=0;N<ee.length;N++){var j=ee[N]._private;j.grabbed=!1,j.rscratch.inDragLayer=!1}}var U=e.touchData.start,V=(b=t.touches[0].clientX-P,_=t.touches[0].clientY-I,C=t.touches[1].clientX-P,D=t.touches[1].clientY-I,G(b,_,C,D)),H=V/S;if(R){var q=(b-k+(C-M))/2,W=(_-T+(D-A))/2,Z=o.zoom(),X=Z*H,K=o.pan(),J=L[0]*Z+K.x,$=L[1]*Z+K.y,Q={x:-X/Z*(J-K.x-q)+J,y:-X/Z*($-K.y-W)+$};if(U&&U.active()){var ee=e.dragData.touchDragEles;h(ee),e.redrawHint(\"drag\",!0),e.redrawHint(\"eles\",!0),U.unactivate().emit(\"freeon\"),ee.emit(\"free\"),e.dragData.didDrag&&(U.emit(\"dragfreeon\"),ee.emit(\"dragfree\"))}o.viewport({zoom:X,pan:Q,cancelOnFailedZoom:!0}),o.emit(\"pinchzoom\"),S=V,k=b,T=_,M=C,A=D,e.pinching=!0}t.touches[0]&&(f=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY),s[0]=f[0],s[1]=f[1]),t.touches[1]&&(f=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),s[2]=f[0],s[3]=f[1]),t.touches[2]&&(f=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),s[4]=f[0],s[5]=f[1])}else if(t.touches[0]&&!e.touchData.didSelect){var te=e.touchData.start,re=e.touchData.last;if(e.hoverData.draggingEles||e.swipePanning||(B=e.findNearestElement(s[0],s[1],!0,!0)),r&&null!=te&&t.preventDefault(),r&&null!=te&&e.nodeIsDraggable(te))if(p){ee=e.dragData.touchDragEles;var ne=!e.dragData.didDrag;ne&&c(ee,{inDragLayer:!0}),e.dragData.didDrag=!0;var ie={x:0,y:0};O(v[0])&&O(v[1])&&(ie.x+=v[0],ie.y+=v[1],ne&&(e.redrawHint(\"eles\",!0),(ae=e.touchData.dragDelta)&&O(ae[0])&&O(ae[1])&&(ie.x+=ae[0],ie.y+=ae[1]))),e.hoverData.draggingEles=!0,ee.silentShift(ie).emit(\"position drag\"),e.redrawHint(\"drag\",!0),e.touchData.startPosition[0]==l[0]&&e.touchData.startPosition[1]==l[1]&&e.redrawHint(\"eles\",!0),e.redraw()}else{var ae;0===(ae=e.touchData.dragDelta=e.touchData.dragDelta||[]).length?(ae.push(v[0]),ae.push(v[1])):(ae[0]+=v[0],ae[1]+=v[1])}if(n(te||B,[\"touchmove\",\"tapdrag\",\"vmousemove\"],t,{x:s[0],y:s[1]}),te&&te.grabbed()||B==re||(re&&re.emit({originalEvent:t,type:\"tapdragout\",position:{x:s[0],y:s[1]}}),B&&B.emit({originalEvent:t,type:\"tapdragover\",position:{x:s[0],y:s[1]}})),e.touchData.last=B,r)for(N=0;N<s.length;N++)s[N]&&e.touchData.startPosition[N]&&p&&(e.touchData.singleTouchMoved=!0);r&&(null==te||te.pannable())&&o.panningEnabled()&&o.userPanningEnabled()&&(a(te,e.touchData.starts)&&(t.preventDefault(),e.data.bgActivePosistion||(e.data.bgActivePosistion=it(e.touchData.startPosition)),e.swipePanning?(o.panBy({x:v[0]*u,y:v[1]*u}),o.emit(\"dragpan\")):p&&(e.swipePanning=!0,o.panBy({x:m*u,y:x*u}),o.emit(\"dragpan\"),te&&(te.unactivate(),e.redrawHint(\"select\",!0),e.touchData.start=null))),f=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY),s[0]=f[0],s[1]=f[1])}for(g=0;g<s.length;g++)l[g]=s[g];r&&t.touches.length>0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint(\"select\",!0),e.redraw())}},!1),e.registerBinding(t,\"touchcancel\",j=function(t){var r=e.touchData.start;e.touchData.capture=!1,r&&r.unactivate()}),e.registerBinding(t,\"touchend\",U=function(t){var i=e.touchData.start;if(e.touchData.capture){0===t.touches.length&&(e.touchData.capture=!1),t.preventDefault();var a=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,s=e.cy,l=s.zoom(),u=e.touchData.now,c=e.touchData.earlier;if(t.touches[0]){var f=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);u[0]=f[0],u[1]=f[1]}if(t.touches[1]&&(f=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY),u[2]=f[0],u[3]=f[1]),t.touches[2]&&(f=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY),u[4]=f[0],u[5]=f[1]),i&&i.unactivate(),e.touchData.cxt){if(o={originalEvent:t,type:\"cxttapend\",position:{x:u[0],y:u[1]}},i?i.emit(o):s.emit(o),!e.touchData.cxtDragged){var p={originalEvent:t,type:\"cxttap\",position:{x:u[0],y:u[1]}};i?i.emit(p):s.emit(p)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!t.touches[2]&&s.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var d=s.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,e.redrawHint(\"select\",!0),s.emit({type:\"boxend\",originalEvent:t,position:{x:u[0],y:u[1]}}),d.emit(\"box\").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit(\"boxselect\"),d.nonempty()&&e.redrawHint(\"eles\",!0),e.redraw()}if(null!=i&&i.unactivate(),t.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint(\"select\",!0);else if(t.touches[1]);else if(t.touches[0]);else if(!t.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint(\"select\",!0);var v=e.dragData.touchDragEles;if(null!=i){var g=i._private.grabbed;h(v),e.redrawHint(\"drag\",!0),e.redrawHint(\"eles\",!0),g&&(i.emit(\"freeon\"),v.emit(\"free\"),e.dragData.didDrag&&(i.emit(\"dragfreeon\"),v.emit(\"dragfree\"))),n(i,[\"touchend\",\"tapend\",\"vmouseup\",\"tapdragout\"],t,{x:u[0],y:u[1]}),i.unactivate(),e.touchData.start=null}else{var m=e.findNearestElement(u[0],u[1],!0,!0);n(m,[\"touchend\",\"tapend\",\"vmouseup\",\"tapdragout\"],t,{x:u[0],y:u[1]})}var y=e.touchData.startPosition[0]-u[0],x=y*y,b=e.touchData.startPosition[1]-u[1],_=(x+b*b)*l*l;e.touchData.singleTouchMoved||(i||s.$(\":selected\").unselect([\"tapunselect\"]),n(i,[\"tap\",\"vclick\"],t,{x:u[0],y:u[1]}),V=!1,t.timeStamp-q<=s.multiClickDebounceTime()?(H&&clearTimeout(H),V=!0,q=null,n(i,[\"dbltap\",\"vdblclick\"],t,{x:u[0],y:u[1]})):(H=setTimeout((function(){V||n(i,[\"onetap\",\"voneclick\"],t,{x:u[0],y:u[1]})}),s.multiClickDebounceTime()),q=t.timeStamp)),null!=i&&!e.dragData.didDrag&&i._private.selectable&&_<e.touchTapThreshold2&&!e.pinching&&(\"single\"===s.selectionType()?(s.$(r).unmerge(i).unselect([\"tapunselect\"]),i.select([\"tapselect\"])):i.selected()?i.unselect([\"tapunselect\"]):i.select([\"tapselect\"]),e.redrawHint(\"eles\",!0)),e.touchData.singleTouchMoved=!0}for(var w=0;w<u.length;w++)c[w]=u[w];e.dragData.didDrag=!1,0===t.touches.length&&(e.touchData.dragDelta=[],e.touchData.startPosition=[null,null,null,null,null,null],e.touchData.startGPosition=null,e.touchData.didSelect=!1),t.touches.length<2&&(1===t.touches.length&&(e.touchData.startGPosition=[t.touches[0].clientX,t.touches[0].clientY]),e.pinching=!1,e.redrawHint(\"eles\",!0),e.redraw())}},!1),\"undefined\"==typeof TouchEvent){var W=[],Z=function(e){return{clientX:e.clientX,clientY:e.clientY,force:1,identifier:e.pointerId,pageX:e.pageX,pageY:e.pageY,radiusX:e.width/2,radiusY:e.height/2,screenX:e.screenX,screenY:e.screenY,target:e.target}},X=function(e){for(var t=0;t<W.length;t++)if(W[t].event.pointerId===e.pointerId)return void W.splice(t,1)},K=function(e){e.touches=W.map((function(e){return e.touch}))},J=function(e){return\"mouse\"===e.pointerType||4===e.pointerType};e.registerBinding(e.container,\"pointerdown\",(function(e){J(e)||(e.preventDefault(),function(e){W.push(function(e){return{event:e,touch:Z(e)}}(e))}(e),K(e),B(e))})),e.registerBinding(e.container,\"pointerup\",(function(e){J(e)||(X(e),K(e),U(e))})),e.registerBinding(e.container,\"pointercancel\",(function(e){J(e)||(X(e),K(e),j())})),e.registerBinding(e.container,\"pointermove\",(function(e){J(e)||(e.preventDefault(),function(e){var t=W.filter((function(t){return t.event.pointerId===e.pointerId}))[0];t.event=e,t.touch=Z(e)}(e),K(e),N(e))}))}};var Wo={generatePolygon:function(e,t){return this.nodeShapes[e]={renderer:this,name:e,points:t,draw:function(e,t,r,n,i){this.renderer.nodeShapeImpl(\"polygon\",e,t,r,n,i,this.points)},intersectLine:function(e,t,r,n,i,a,o){return zt(i,a,this.points,e,t,r/2,n/2,o)},checkPoint:function(e,t,r,n,i,a,o){return Et(e,t,this.points,a,o,n,i,[0,-1],r)}}},generateEllipse:function(){return this.nodeShapes.ellipse={renderer:this,name:\"ellipse\",draw:function(e,t,r,n,i){this.renderer.nodeShapeImpl(this.name,e,t,r,n,i)},intersectLine:function(e,t,r,n,i,a,o){return function(e,t,r,n,i,a){var o=r-e,s=n-t;o/=i,s/=a;var l=Math.sqrt(o*o+s*s),u=l-1;if(u<0)return[];var c=u/l;return[(r-e)*c+e,(n-t)*c+t]}(i,a,e,t,r/2+o,n/2+o)},checkPoint:function(e,t,r,n,i,a,o){return Pt(e,t,n,i,a,o,r)}}},generateRoundPolygon:function(e,t){for(var r=new Array(2*t.length),n=0;n<t.length/2;n++){var i,a=2*n;i=n<t.length/2-1?2*(n+1):0,r[4*n]=t[a],r[4*n+1]=t[a+1];var o=t[i]-t[a],s=t[i+1]-t[a+1],l=Math.sqrt(o*o+s*s);r[4*n+2]=o/l,r[4*n+3]=s/l}return this.nodeShapes[e]={renderer:this,name:e,points:r,draw:function(e,t,r,n,i){this.renderer.nodeShapeImpl(\"round-polygon\",e,t,r,n,i,this.points)},intersectLine:function(e,t,r,n,i,a,o){return function(e,t,r,n,i,a,o,s){for(var l,u=[],c=new Array(r.length),f=a/2,h=o/2,p=Ut(a,o),d=0;d<r.length/4;d++){var v,g;g=0===d?r.length-2:4*d-2,v=4*d+2;var m=n+f*r[4*d],y=i+h*r[4*d+1],x=-r[g]*r[v]-r[g+1]*r[v+1],b=p/Math.tan(Math.acos(x)/2),_=m-b*r[g],w=y-b*r[g+1],k=m+b*r[v],T=y+b*r[v+1];0===d?(c[r.length-2]=_,c[r.length-1]=w):(c[4*d-2]=_,c[4*d-1]=w),c[4*d]=k,c[4*d+1]=T;var M=r[g+1],A=-r[g];M*r[v]+A*r[v+1]<0&&(M*=-1,A*=-1),0!==(l=Ot(e,t,n,i,_+M*p,w+A*p,p)).length&&u.push(l[0],l[1])}for(var S=0;S<c.length/4;S++)0!==(l=Dt(e,t,n,i,c[4*S],c[4*S+1],c[4*S+2],c[4*S+3],!1)).length&&u.push(l[0],l[1]);if(u.length>2){for(var E=[u[0],u[1]],C=Math.pow(E[0]-e,2)+Math.pow(E[1]-t,2),L=1;L<u.length/2;L++){var P=Math.pow(u[2*L]-e,2)+Math.pow(u[2*L+1]-t,2);P<=C&&(E[0]=u[2*L],E[1]=u[2*L+1],C=P)}return E}return u}(i,a,this.points,e,t,r,n)},checkPoint:function(e,t,r,n,i,a,o){return function(e,t,r,n,i,a,o){for(var s=new Array(r.length),l=a/2,u=o/2,c=Ut(a,o),f=c*c,h=0;h<r.length/4;h++){var p,d;d=0===h?r.length-2:4*h-2,p=4*h+2;var v=n+l*r[4*h],g=i+u*r[4*h+1],m=-r[d]*r[p]-r[d+1]*r[p+1],y=c/Math.tan(Math.acos(m)/2),x=v-y*r[d],b=g-y*r[d+1],_=v+y*r[p],w=g+y*r[p+1];s[4*h]=x,s[4*h+1]=b,s[4*h+2]=_,s[4*h+3]=w;var k=r[d+1],T=-r[d];k*r[p]+T*r[p+1]<0&&(k*=-1,T*=-1);var M=x+k*c,A=b+T*c;if(Math.pow(M-e,2)+Math.pow(A-t,2)<=f)return!0}return St(e,t,s)}(e,t,this.points,a,o,n,i)}}},generateRoundRectangle:function(){return this.nodeShapes[\"round-rectangle\"]=this.nodeShapes.roundrectangle={renderer:this,name:\"round-rectangle\",points:Ft(4,0),draw:function(e,t,r,n,i){this.renderer.nodeShapeImpl(this.name,e,t,r,n,i)},intersectLine:function(e,t,r,n,i,a,o){return wt(i,a,e,t,r,n,o)},checkPoint:function(e,t,r,n,i,a,o){var s=jt(n,i),l=2*s;return!!(Et(e,t,this.points,a,o,n,i-l,[0,-1],r)||Et(e,t,this.points,a,o,n-l,i,[0,-1],r)||Pt(e,t,l,l,a-n/2+s,o-i/2+s,r)||Pt(e,t,l,l,a+n/2-s,o-i/2+s,r)||Pt(e,t,l,l,a+n/2-s,o+i/2-s,r)||Pt(e,t,l,l,a-n/2+s,o+i/2-s,r))}}},generateCutRectangle:function(){return this.nodeShapes[\"cut-rectangle\"]=this.nodeShapes.cutrectangle={renderer:this,name:\"cut-rectangle\",cornerLength:8,points:Ft(4,0),draw:function(e,t,r,n,i){this.renderer.nodeShapeImpl(this.name,e,t,r,n,i)},generateCutTrianglePts:function(e,t,r,n){var i=this.cornerLength,a=t/2,o=e/2,s=r-o,l=r+o,u=n-a,c=n+a;return{topLeft:[s,u+i,s+i,u,s+i,u+i],topRight:[l-i,u,l,u+i,l-i,u+i],bottomRight:[l,c-i,l-i,c,l-i,c-i],bottomLeft:[s+i,c,s,c-i,s+i,c-i]}},intersectLine:function(e,t,r,n,i,a,o){var s=this.generateCutTrianglePts(r+2*o,n+2*o,e,t),l=[].concat.apply([],[s.topLeft.splice(0,4),s.topRight.splice(0,4),s.bottomRight.splice(0,4),s.bottomLeft.splice(0,4)]);return zt(i,a,l,e,t)},checkPoint:function(e,t,r,n,i,a,o){if(Et(e,t,this.points,a,o,n,i-2*this.cornerLength,[0,-1],r))return!0;if(Et(e,t,this.points,a,o,n-2*this.cornerLength,i,[0,-1],r))return!0;var s=this.generateCutTrianglePts(n,i,a,o);return St(e,t,s.topLeft)||St(e,t,s.topRight)||St(e,t,s.bottomRight)||St(e,t,s.bottomLeft)}}},generateBarrel:function(){return this.nodeShapes.barrel={renderer:this,name:\"barrel\",points:Ft(4,0),draw:function(e,t,r,n,i){this.renderer.nodeShapeImpl(this.name,e,t,r,n,i)},intersectLine:function(e,t,r,n,i,a,o){var s=this.generateBarrelBezierPts(r+2*o,n+2*o,e,t),l=function(e){var t=ht({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.15),r=ht({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.5),n=ht({x:e[0],y:e[1]},{x:e[2],y:e[3]},{x:e[4],y:e[5]},.85);return[e[0],e[1],t.x,t.y,r.x,r.y,n.x,n.y,e[4],e[5]]},u=[].concat(l(s.topLeft),l(s.topRight),l(s.bottomRight),l(s.bottomLeft));return zt(i,a,u,e,t)},generateBarrelBezierPts:function(e,t,r,n){var i=t/2,a=e/2,o=r-a,s=r+a,l=n-i,u=n+i,c=Vt(e,t),f=c.heightOffset,h=c.widthOffset,p=c.ctrlPtOffsetPct*e,d={topLeft:[o,l+f,o+p,l,o+h,l],topRight:[s-h,l,s-p,l,s,l+f],bottomRight:[s,u-f,s-p,u,s-h,u],bottomLeft:[o+h,u,o+p,u,o,u-f]};return d.topLeft.isTop=!0,d.topRight.isTop=!0,d.bottomLeft.isBottom=!0,d.bottomRight.isBottom=!0,d},checkPoint:function(e,t,r,n,i,a,o){var s=Vt(n,i),l=s.heightOffset,u=s.widthOffset;if(Et(e,t,this.points,a,o,n,i-2*l,[0,-1],r))return!0;if(Et(e,t,this.points,a,o,n-2*u,i,[0,-1],r))return!0;for(var c=this.generateBarrelBezierPts(n,i,a,o),f=function(e,t,r){var n,i,a=r[4],o=r[2],s=r[0],l=r[5],u=r[1],c=Math.min(a,s),f=Math.max(a,s),h=Math.min(l,u),p=Math.max(l,u);if(c<=e&&e<=f&&h<=t&&t<=p){var d=[(n=a)-2*(i=o)+s,2*(i-n),n],v=function(e,t,r,n){var i=t*t-4*e*(r-=n);if(i<0)return[];var a=Math.sqrt(i),o=2*e;return[(-t+a)/o,(-t-a)/o]}(d[0],d[1],d[2],e).filter((function(e){return 0<=e&&e<=1}));if(v.length>0)return v[0]}return null},h=Object.keys(c),p=0;p<h.length;p++){var d=c[h[p]],v=f(e,t,d);if(null!=v){var g=d[5],m=d[3],y=d[1],x=ft(g,m,y,v);if(d.isTop&&x<=t)return!0;if(d.isBottom&&t<=x)return!0}}return!1}}},generateBottomRoundrectangle:function(){return this.nodeShapes[\"bottom-round-rectangle\"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:\"bottom-round-rectangle\",points:Ft(4,0),draw:function(e,t,r,n,i){this.renderer.nodeShapeImpl(this.name,e,t,r,n,i)},intersectLine:function(e,t,r,n,i,a,o){var s=t-(n/2+o),l=Dt(i,a,e,t,e-(r/2+o),s,e+(r/2+o),s,!1);return l.length>0?l:wt(i,a,e,t,r,n,o)},checkPoint:function(e,t,r,n,i,a,o){var s=jt(n,i),l=2*s;if(Et(e,t,this.points,a,o,n,i-l,[0,-1],r))return!0;if(Et(e,t,this.points,a,o,n-l,i,[0,-1],r))return!0;var u=n/2+2*r,c=i/2+2*r;return!!St(e,t,[a-u,o-c,a-u,o,a+u,o,a+u,o-c])||!!Pt(e,t,l,l,a+n/2-s,o+i/2-s,r)||!!Pt(e,t,l,l,a-n/2+s,o+i/2-s,r)}}},registerNodeShapes:function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon(\"triangle\",Ft(3,0)),this.generateRoundPolygon(\"round-triangle\",Ft(3,0)),this.generatePolygon(\"rectangle\",Ft(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon(\"diamond\",r),this.generateRoundPolygon(\"round-diamond\",r),this.generatePolygon(\"pentagon\",Ft(5,0)),this.generateRoundPolygon(\"round-pentagon\",Ft(5,0)),this.generatePolygon(\"hexagon\",Ft(6,0)),this.generateRoundPolygon(\"round-hexagon\",Ft(6,0)),this.generatePolygon(\"heptagon\",Ft(7,0)),this.generateRoundPolygon(\"round-heptagon\",Ft(7,0)),this.generatePolygon(\"octagon\",Ft(8,0)),this.generateRoundPolygon(\"round-octagon\",Ft(8,0));var n=new Array(20),i=Nt(5,0),a=Nt(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s<a.length/2;s++)a[2*s]*=o,a[2*s+1]*=o;for(s=0;s<5;s++)n[4*s]=i[2*s],n[4*s+1]=i[2*s+1],n[4*s+2]=a[2*s],n[4*s+3]=a[2*s+1];n=Bt(n),this.generatePolygon(\"star\",n),this.generatePolygon(\"vee\",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon(\"rhomboid\",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon(\"right-rhomboid\",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon(\"concave-hexagon\",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);var l=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon(\"tag\",l),this.generateRoundPolygon(\"round-tag\",l),e.makePolygon=function(e){var r,n=\"polygon-\"+e.join(\"$\");return(r=this[n])?r:t.generatePolygon(n,e)}}},Zo={timeToRender:function(){return this.redrawTotalTime/this.redrawCount},redraw:function(e){e=e||Pe();var t=this;void 0===t.averageRedrawTime&&(t.averageRedrawTime=0),void 0===t.lastRedrawTime&&(t.lastRedrawTime=0),void 0===t.lastDrawTime&&(t.lastDrawTime=0),t.requestedFrame=!0,t.renderOptions=e},beforeRender:function(e,t){if(!this.destroyed){null==t&&Me(\"Priority is not optional for beforeRender\");var r=this.beforeRenderCallbacks;r.push({fn:e,priority:t}),r.sort((function(e,t){return t.priority-e.priority}))}}},Xo=function(e,t,r){for(var n=e.beforeRenderCallbacks,i=0;i<n.length;i++)n[i].fn(t,r)};Zo.startRenderLoop=function(){var e=this,t=e.cy;e.renderLoopStarted||(e.renderLoopStarted=!0,ae((function r(n){if(!e.destroyed){if(t.batching());else if(e.requestedFrame&&!e.skipFrame){Xo(e,!0,n);var i=oe();e.render(e.renderOptions);var a=e.lastDrawTime=oe();void 0===e.averageRedrawTime&&(e.averageRedrawTime=a-i),void 0===e.redrawCount&&(e.redrawCount=0),e.redrawCount++,void 0===e.redrawTotalTime&&(e.redrawTotalTime=0);var o=a-i;e.redrawTotalTime+=o,e.lastRedrawTime=o,e.averageRedrawTime=e.averageRedrawTime/2+o/2,e.requestedFrame=!1}else Xo(e,!1,n);e.skipFrame=!1,ae(r)}})))};var Ko=function(e){this.init(e)},Jo=Ko.prototype;Jo.clientFunctions=[\"redrawHint\",\"render\",\"renderTo\",\"matchCanvasSize\",\"nodeShapeImpl\",\"arrowShapeImpl\"],Jo.init=function(e){var t=this;t.options=e,t.cy=e.cy;var r=t.container=e.cy.container(),n=t.cy.window();if(n){var i=n.document,a=i.head,o=\"__________cytoscape_stylesheet\",s=\"__________cytoscape_container\",l=null!=i.getElementById(o);if(r.className.indexOf(s)<0&&(r.className=(r.className||\"\")+\" \"+s),!l){var u=i.createElement(\"style\");u.id=o,u.textContent=\".\"+s+\" { position: relative; }\",a.insertBefore(u,a.children[0])}\"static\"===n.getComputedStyle(r).getPropertyValue(\"position\")&&Se(\"A Cytoscape container has style position:static and so can not use UI extensions properly\")}t.selection=[void 0,void 0,void 0,void 0,0],t.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],t.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},t.dragData={possibleDragElements:[]},t.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},t.redraws=0,t.showFps=e.showFps,t.debug=e.debug,t.hideEdgesOnViewport=e.hideEdgesOnViewport,t.textureOnViewport=e.textureOnViewport,t.wheelSensitivity=e.wheelSensitivity,t.motionBlurEnabled=e.motionBlur,t.forcedPixelRatio=O(e.pixelRatio)?e.pixelRatio:null,t.motionBlur=e.motionBlur,t.motionBlurOpacity=e.motionBlurOpacity,t.motionBlurTransparency=1-t.motionBlurOpacity,t.motionBlurPxRatio=1,t.mbPxRBlurry=1,t.minMbLowQualFrames=4,t.fullQualityMb=!1,t.clearedForMotionBlur=[],t.desktopTapThreshold=e.desktopTapThreshold,t.desktopTapThreshold2=e.desktopTapThreshold*e.desktopTapThreshold,t.touchTapThreshold=e.touchTapThreshold,t.touchTapThreshold2=e.touchTapThreshold*e.touchTapThreshold,t.tapholdDuration=500,t.bindings=[],t.beforeRenderCallbacks=[],t.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},t.registerNodeShapes(),t.registerArrowShapes(),t.registerCalculationListeners()},Jo.notify=function(e,t){var r=this,n=r.cy;this.destroyed||(\"init\"!==e?\"destroy\"!==e?((\"add\"===e||\"remove\"===e||\"move\"===e&&n.hasCompoundNodes()||\"load\"===e||\"zorder\"===e||\"mount\"===e)&&r.invalidateCachedZSortedEles(),\"viewport\"===e&&r.redrawHint(\"select\",!0),\"load\"!==e&&\"resize\"!==e&&\"mount\"!==e||(r.invalidateContainerClientCoordsCache(),r.matchCanvasSize(r.container)),r.redrawHint(\"eles\",!0),r.redrawHint(\"drag\",!0),this.startRenderLoop(),this.redraw()):r.destroy():r.load())},Jo.destroy=function(){var e=this;e.destroyed=!0,e.cy.stopAnimationLoop();for(var t=0;t<e.bindings.length;t++){var r=e.bindings[t],n=r.target;(n.off||n.removeEventListener).apply(n,r.args)}if(e.bindings=[],e.beforeRenderCallbacks=[],e.onUpdateEleCalcsFns=[],e.removeObserver&&e.removeObserver.disconnect(),e.styleObserver&&e.styleObserver.disconnect(),e.resizeObserver&&e.resizeObserver.disconnect(),e.labelCalcDiv)try{document.body.removeChild(e.labelCalcDiv)}catch(e){}},Jo.isHeadless=function(){return!1},[Lo,qo,Go,Yo,Wo,Zo].forEach((function(e){$(Jo,e)}));var $o=1e3/60,Qo=function(e){return function(){var t=this,r=this.renderer;if(!t.dequeueingSetup){t.dequeueingSetup=!0;var n=u.default((function(){r.redrawHint(\"eles\",!0),r.redrawHint(\"drag\",!0),r.redraw()}),e.deqRedrawThreshold),i=e.priority||Te;r.beforeRender((function(i,a){var o=oe(),s=r.averageRedrawTime,l=r.lastRedrawTime,u=[],c=r.cy.extent(),f=r.getPixelRatio();for(i||r.flushRenderedStyleQueue();;){var h=oe(),p=h-o,d=h-a;if(l<$o){var v=$o-(i?s:0);if(d>=e.deqFastCost*v)break}else if(i){if(p>=e.deqCost*l||p>=e.deqAvgCost*s)break}else if(d>=e.deqNoDrawCost*$o)break;var g=e.deq(t,f,c);if(!(g.length>0))break;for(var m=0;m<g.length;m++)u.push(g[m])}u.length>0&&(e.onDeqd(t,u),!i&&e.shouldRedraw(t,u,f,c)&&n())}),i(t))}}},es=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:we;v(this,e),this.idsByKey=new Fe,this.keyForId=new Fe,this.cachesByLvl=new Fe,this.lvls=[],this.getKey=t,this.doesEleInvalidateKey=r}return m(e,[{key:\"getIdsFor\",value:function(e){null==e&&Me(\"Can not get id list for null key\");var t=this.idsByKey,r=this.idsByKey.get(e);return r||(r=new Ne,t.set(e,r)),r}},{key:\"addIdForKey\",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:\"deleteIdForKey\",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:\"getNumberOfIdsForKey\",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:\"updateKeyMappingFor\",value:function(e){var t=e.id(),r=this.keyForId.get(t),n=this.getKey(e);this.deleteIdForKey(r,t),this.addIdForKey(n,t),this.keyForId.set(t,n)}},{key:\"deleteKeyMappingFor\",value:function(e){var t=e.id(),r=this.keyForId.get(t);this.deleteIdForKey(r,t),this.keyForId.delete(t)}},{key:\"keyHasChangedFor\",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:\"isInvalid\",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:\"getCachesAt\",value:function(e){var t=this.cachesByLvl,r=this.lvls,n=t.get(e);return n||(n=new Fe,t.set(e,n),r.push(e)),n}},{key:\"getCache\",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:\"get\",value:function(e,t){var r=this.getKey(e),n=this.getCache(r,t);return null!=n&&this.updateKeyMappingFor(e),n}},{key:\"getForCachedKey\",value:function(e,t){var r=this.keyForId.get(e.id());return this.getCache(r,t)}},{key:\"hasCache\",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:\"has\",value:function(e,t){var r=this.getKey(e);return this.hasCache(r,t)}},{key:\"setCache\",value:function(e,t,r){r.key=e,this.getCachesAt(t).set(e,r)}},{key:\"set\",value:function(e,t,r){var n=this.getKey(e);this.setCache(n,t,r),this.updateKeyMappingFor(e)}},{key:\"deleteCache\",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:\"delete\",value:function(e,t){var r=this.getKey(e);this.deleteCache(r,t)}},{key:\"invalidateKey\",value:function(e){var t=this;this.lvls.forEach((function(r){return t.deleteCache(e,r)}))}},{key:\"invalidate\",value:function(e){var t=e.id(),r=this.keyForId.get(t);this.deleteKeyMappingFor(e);var n=this.doesEleInvalidateKey(e);return n&&this.invalidateKey(r),n||0===this.getNumberOfIdsForKey(r)}}]),e}(),ts={dequeue:\"dequeue\",downscale:\"downscale\",highQuality:\"highQuality\"},rs=Oe({getKey:null,doesEleInvalidateKey:we,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:_e,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),ns=function(e,t){var r=this;r.renderer=e,r.onDequeues=[];var n=rs(t);$(r,n),r.lookup=new es(n.getKey,n.doesEleInvalidateKey),r.setupDequeueing()},is=ns.prototype;is.reasons=ts,is.getTextureQueue=function(e){var t=this;return t.eleImgCaches=t.eleImgCaches||{},t.eleImgCaches[e]=t.eleImgCaches[e]||[]},is.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},is.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new c.default((function(e,t){return t.reqs-e.reqs}))},is.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},is.getElement=function(e,t,r,n,i){var a=this,o=this.renderer,s=o.cy.zoom(),l=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!a.allowEdgeTxrCaching&&e.isEdge()||!a.allowParentTxrCaching&&e.isParent())return null;if(null==n&&(n=Math.ceil(ot(s*r))),n<-4)n=-4;else if(s>=7.99||n>3)return null;var u=Math.pow(2,n),c=t.h*u,f=t.w*u,h=o.eleTextBiggerThanMin(e,u);if(!this.isVisible(e,h))return null;var p,d=l.get(e,n);if(d&&d.invalidated&&(d.invalidated=!1,d.texture.invalidatedWidth-=d.width),d)return d;if(p=c<=25?25:c<=50?50:50*Math.ceil(c/50),c>1024||f>1024)return null;var v=a.getTextureQueue(p),g=v[v.length-2],m=function(){return a.recycleTexture(p,f)||a.addTexture(p,f)};g||(g=v[v.length-1]),g||(g=m()),g.width-g.usedWidth<f&&(g=m());for(var y,x=function(e){return e&&e.scaledLabelShown===h},b=i&&i===ts.dequeue,_=i&&i===ts.highQuality,w=i&&i===ts.downscale,k=n+1;k<=3;k++){var T=l.get(e,k);if(T){y=T;break}}var M=y&&y.level===n+1?y:null,A=function(){g.context.drawImage(M.texture.canvas,M.x,0,M.width,M.height,g.usedWidth,0,f,c)};if(g.context.setTransform(1,0,0,1,0,0),g.context.clearRect(g.usedWidth,0,f,p),x(M))A();else if(x(y)){if(!_)return a.queueElement(e,y.level-1),y;for(var S=y.level;S>n;S--)M=a.getElement(e,t,r,S,ts.downscale);A()}else{var E;if(!b&&!_&&!w)for(var C=n-1;C>=-4;C--){var L=l.get(e,C);if(L){E=L;break}}if(x(E))return a.queueElement(e,n),E;g.context.translate(g.usedWidth,0),g.context.scale(u,u),this.drawElement(g.context,e,t,h,!1),g.context.scale(1/u,1/u),g.context.translate(-g.usedWidth,0)}return d={x:g.usedWidth,texture:g,level:n,scale:u,width:f,height:c,scaledLabelShown:h},g.usedWidth+=Math.ceil(f+8),g.eleCaches.push(d),l.set(e,n,d),a.checkTextureFullness(g),d},is.invalidateElements=function(e){for(var t=0;t<e.length;t++)this.invalidateElement(e[t])},is.invalidateElement=function(e){var t=this,r=t.lookup,n=[];if(r.isInvalid(e)){for(var i=-4;i<=3;i++){var a=r.getForCachedKey(e,i);a&&n.push(a)}if(r.invalidate(e))for(var o=0;o<n.length;o++){var s=n[o],l=s.texture;l.invalidatedWidth+=s.width,s.invalidated=!0,t.checkTextureUtility(l)}t.removeFromQueue(e)}},is.checkTextureUtility=function(e){e.invalidatedWidth>=.2*e.width&&this.retireTexture(e)},is.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?Ie(t,e):e.fullnessChecks++},is.retireTexture=function(e){var t=e.height,r=this.getTextureQueue(t),n=this.lookup;Ie(r,e),e.retired=!0;for(var i=e.eleCaches,a=0;a<i.length;a++){var o=i[a];n.deleteCache(o.key,o.level)}De(i),this.getRetiredTextureQueue(t).push(e)},is.addTexture=function(e,t){var r={};return this.getTextureQueue(e).push(r),r.eleCaches=[],r.height=e,r.width=Math.max(1024,t),r.usedWidth=0,r.invalidatedWidth=0,r.fullnessChecks=0,r.canvas=this.renderer.makeOffscreenCanvas(r.width,r.height),r.context=r.canvas.getContext(\"2d\"),r},is.recycleTexture=function(e,t){for(var r=this.getTextureQueue(e),n=this.getRetiredTextureQueue(e),i=0;i<n.length;i++){var a=n[i];if(a.width>=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,De(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),Ie(n,a),r.push(a),a}},is.queueElement=function(e,t){var r=this.getElementQueue(),n=this.getElementKeyToQueue(),i=this.getKey(e),a=n[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,r.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};r.push(o),n[i]=o}},is.dequeue=function(e){for(var t=this,r=t.getElementQueue(),n=t.getElementKeyToQueue(),i=[],a=t.lookup,o=0;o<1&&r.size()>0;o++){var s=r.pop(),l=s.key,u=s.eles[0],c=a.hasCache(u,s.level);if(n[l]=null,!c){i.push(s);var f=t.getBoundingBox(u);t.getElement(u,f,e,s.level,ts.dequeue)}}return i},is.removeFromQueue=function(e){var t=this.getElementQueue(),r=this.getElementKeyToQueue(),n=this.getKey(e),i=r[n];null!=i&&(1===i.eles.length?(i.reqs=be,t.updateItem(i),t.pop(),r[n]=null):i.eles.unmerge(e))},is.onDequeue=function(e){this.onDequeues.push(e)},is.offDequeue=function(e){Ie(this.onDequeues,e)},is.setupDequeueing=Qo({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,r){return e.dequeue(t,r)},onDeqd:function(e,t){for(var r=0;r<e.onDequeues.length;r++)(0,e.onDequeues[r])(t)},shouldRedraw:function(e,t,r,n){for(var i=0;i<t.length;i++)for(var a=t[i].eles,o=0;o<a.length;o++){var s=a[o].boundingBox();if(xt(s,n))return!0}return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}});var as=function(e){var t=this,r=t.renderer=e,n=r.cy;t.layersByLevel={},t.firstGet=!0,t.lastInvalidationTime=oe()-500,t.skipping=!1,t.eleTxrDeqs=n.collection(),t.scheduleElementRefinement=u.default((function(){t.refineElementTextures(t.eleTxrDeqs),t.eleTxrDeqs.unmerge(t.eleTxrDeqs)}),50),r.beforeRender((function(e,r){r-t.lastInvalidationTime<=250?t.skipping=!0:t.skipping=!1}),r.beforeRenderPriorities.lyrTxrSkip),t.layersQueue=new c.default((function(e,t){return t.reqs-e.reqs})),t.setupDequeueing()},os=as.prototype,ss=0,ls=Math.pow(2,53)-1;os.makeLayer=function(e,t){var r=Math.pow(2,t),n=Math.ceil(e.w*r),i=Math.ceil(e.h*r),a=this.renderer.makeOffscreenCanvas(n,i),o={id:ss=++ss%ls,bb:e,level:t,width:n,height:i,canvas:a,context:a.getContext(\"2d\"),eles:[],elesQueue:[],reqs:0},s=o.context,l=-o.bb.x1,u=-o.bb.y1;return s.scale(r,r),s.translate(l,u),o},os.getLayers=function(e,t,r){var n=this,i=n.renderer.cy.zoom(),a=n.firstGet;if(n.firstGet=!1,null==r)if((r=Math.ceil(ot(i*t)))<-4)r=-4;else if(i>=3.99||r>2)return null;n.validateLayersElesOrdering(r,e);var o,s,l=n.layersByLevel,u=Math.pow(2,r),c=l[r]=l[r]||[];if(n.levelIsComplete(r,e))return c;!function(){var t=function(t){if(n.validateLayersElesOrdering(t,e),n.levelIsComplete(t,e))return s=l[t],!0},i=function(e){if(!s)for(var n=r+e;-4<=n&&n<=2&&!t(n);n+=e);};i(1),i(-1);for(var a=c.length-1;a>=0;a--){var o=c[a];o.invalid&&Ie(c,o)}}();var f=function(t){var i=(t=t||{}).after;if(function(){if(!o){o=dt();for(var t=0;t<e.length;t++)r=o,n=e[t].boundingBox(),r.x1=Math.min(r.x1,n.x1),r.x2=Math.max(r.x2,n.x2),r.w=r.x2-r.x1,r.y1=Math.min(r.y1,n.y1),r.y2=Math.max(r.y2,n.y2),r.h=r.y2-r.y1}var r,n}(),o.w*u*(o.h*u)>16e6)return null;var a=n.makeLayer(o,r);if(null!=i){var s=c.indexOf(i)+1;c.splice(s,0,a)}else(void 0===t.insert||t.insert)&&c.unshift(a);return a};if(n.skipping&&!a)return null;for(var h=null,p=e.length/1,d=!a,v=0;v<e.length;v++){var g=e[v],m=g._private.rscratch,y=m.imgLayerCaches=m.imgLayerCaches||{},x=y[r];if(x)h=x;else{if((!h||h.eles.length>=p||!_t(h.bb,g.boundingBox()))&&!(h=f({insert:!0,after:h})))return null;s||d?n.queueLayer(h,g):n.drawEleInLayer(h,g,r,t),h.eles.push(g),y[r]=h}}return s||(d?null:c)},os.getEleLevelForLayerLevel=function(e,t){return e},os.drawEleInLayer=function(e,t,r,n){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(r=this.getEleLevelForLayerLevel(r,n),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,r,!0),i.setImgSmoothing(a,!0))},os.levelIsComplete=function(e,t){var r=this.layersByLevel[e];if(!r||0===r.length)return!1;for(var n=0,i=0;i<r.length;i++){var a=r[i];if(a.reqs>0)return!1;if(a.invalid)return!1;n+=a.eles.length}return n===t.length},os.validateLayersElesOrdering=function(e,t){var r=this.layersByLevel[e];if(r)for(var n=0;n<r.length;n++){for(var i=r[n],a=-1,o=0;o<t.length;o++)if(i.eles[0]===t[o]){a=o;break}if(a<0)this.invalidateLayer(i);else{var s=a;for(o=0;o<i.eles.length;o++)if(i.eles[o]!==t[s+o]){this.invalidateLayer(i);break}}}},os.updateElementsInLayers=function(e,t){for(var r=z(e[0]),n=0;n<e.length;n++)for(var i=r?null:e[n],a=r?e[n]:e[n].ele,o=a._private.rscratch,s=o.imgLayerCaches=o.imgLayerCaches||{},l=-4;l<=2;l++){var u=s[l];u&&(i&&this.getEleLevelForLayerLevel(u.level)!==i.level||t(u,a,i))}},os.haveLayers=function(){for(var e=!1,t=-4;t<=2;t++){var r=this.layersByLevel[t];if(r&&r.length>0){e=!0;break}}return e},os.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=oe(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,r,n){t.invalidateLayer(e)})))},os.invalidateLayer=function(e){if(this.lastInvalidationTime=oe(),!e.invalid){var t=e.level,r=e.eles,n=this.layersByLevel[t];Ie(n,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var i=0;i<r.length;i++){var a=r[i]._private.rscratch.imgLayerCaches;a&&(a[t]=null)}}},os.refineElementTextures=function(e){var t=this;t.updateElementsInLayers(e,(function(e,r,n){var i=e.replacement;if(i||((i=e.replacement=t.makeLayer(e.bb,e.level)).replaces=e,i.eles=e.eles),!i.reqs)for(var a=0;a<i.eles.length;a++)t.queueLayer(i,i.eles[a])}))},os.enqueueElementRefinement=function(e){this.eleTxrDeqs.merge(e),this.scheduleElementRefinement()},os.queueLayer=function(e,t){var r=this.layersQueue,n=e.elesQueue,i=n.hasId=n.hasId||{};if(!e.replacement){if(t){if(i[t.id()])return;n.push(t),i[t.id()]=!0}e.reqs?(e.reqs++,r.updateItem(e)):(e.reqs=1,r.push(e))}},os.dequeue=function(e){for(var t=this,r=t.layersQueue,n=[],i=0;i<1&&0!==r.size();){var a=r.peek();if(a.replacement)r.pop();else if(a.replaces&&a!==a.replaces.replacement)r.pop();else if(a.invalid)r.pop();else{var o=a.elesQueue.shift();o&&(t.drawEleInLayer(a,o,a.level,e),i++),0===n.length&&n.push(!0),0===a.elesQueue.length&&(r.pop(),a.reqs=0,a.replaces&&t.applyLayerReplacement(a),t.requestRedraw())}}return n},os.applyLayerReplacement=function(e){var t=this.layersByLevel[e.level],r=e.replaces,n=t.indexOf(r);if(!(n<0||r.invalid)){t[n]=e;for(var i=0;i<e.eles.length;i++){var a=e.eles[i]._private,o=a.imgLayerCaches=a.imgLayerCaches||{};o&&(o[e.level]=e)}this.requestRedraw()}},os.requestRedraw=u.default((function(){var e=this.renderer;e.redrawHint(\"eles\",!0),e.redrawHint(\"drag\",!0),e.redraw()}),100),os.setupDequeueing=Qo({deqRedrawThreshold:50,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t){return e.dequeue(t)},onDeqd:Te,shouldRedraw:_e,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}});var us,cs={};function fs(e,t){for(var r=0;r<t.length;r++){var n=t[r];e.lineTo(n.x,n.y)}}function hs(e,t,r){for(var n,i=0;i<t.length;i++){var a=t[i];0===i&&(n=a),e.lineTo(a.x,a.y)}e.quadraticCurveTo(r.x,r.y,n.x,n.y)}function ps(e,t,r){e.beginPath&&e.beginPath();for(var n=t,i=0;i<n.length;i++){var a=n[i];e.lineTo(a.x,a.y)}var o=r,s=r[0];for(e.moveTo(s.x,s.y),i=1;i<o.length;i++)a=o[i],e.lineTo(a.x,a.y);e.closePath&&e.closePath()}function ds(e,t,r,n,i){e.beginPath&&e.beginPath(),e.arc(r,n,i,0,2*Math.PI,!1);var a=t,o=a[0];e.moveTo(o.x,o.y);for(var s=0;s<a.length;s++){var l=a[s];e.lineTo(l.x,l.y)}e.closePath&&e.closePath()}function vs(e,t,r,n){e.arc(t,r,n,0,2*Math.PI,!1)}cs.arrowShapeImpl=function(e){return(us||(us={polygon:fs,\"triangle-backcurve\":hs,\"triangle-tee\":ps,\"circle-triangle\":ds,\"triangle-cross\":ps,circle:vs}))[e]};var gs={drawElement:function(e,t,r,n,i,a){t.isNode()?this.drawNode(e,t,r,n,i,a):this.drawEdge(e,t,r,n,i,a)},drawElementOverlay:function(e,t){t.isNode()?this.drawNodeOverlay(e,t):this.drawEdgeOverlay(e,t)},drawElementUnderlay:function(e,t){t.isNode()?this.drawNodeUnderlay(e,t):this.drawEdgeUnderlay(e,t)},drawCachedElementPortion:function(e,t,r,n,i,a,o,s){var l=this,u=r.getBoundingBox(t);if(0!==u.w&&0!==u.h){var c=r.getElement(t,u,n,i,a);if(null!=c){var f=s(l,t);if(0===f)return;var h,p,d,v,g,m,y=o(l,t),x=u.x1,b=u.y1,_=u.w,w=u.h;if(0!==y){var k=r.getRotationPoint(t);d=k.x,v=k.y,e.translate(d,v),e.rotate(y),(g=l.getImgSmoothing(e))||l.setImgSmoothing(e,!0);var T=r.getRotationOffset(t);h=T.x,p=T.y}else h=x,p=b;1!==f&&(m=e.globalAlpha,e.globalAlpha=m*f),e.drawImage(c.texture.canvas,c.x,0,c.width,c.height,h,p,_,w),1!==f&&(e.globalAlpha=m),0!==y&&(e.rotate(-y),e.translate(-d,-v),g||l.setImgSmoothing(e,!1))}else r.drawElement(e,t)}}},ms=function(){return 0},ys=function(e,t){return e.getTextAngle(t,null)},xs=function(e,t){return e.getTextAngle(t,\"source\")},bs=function(e,t){return e.getTextAngle(t,\"target\")},_s=function(e,t){return t.effectiveOpacity()},ws=function(e,t){return t.pstyle(\"text-opacity\").pfValue*t.effectiveOpacity()};gs.drawCachedElement=function(e,t,r,n,i,a){var o=this,s=o.data,l=s.eleTxrCache,u=s.lblTxrCache,c=s.slbTxrCache,f=s.tlbTxrCache,h=t.boundingBox(),p=!0===a?l.reasons.highQuality:null;if(0!==h.w&&0!==h.h&&t.visible()&&(!n||xt(h,n))){var d=t.isEdge(),v=t.element()._private.rscratch.badLine;o.drawElementUnderlay(e,t),o.drawCachedElementPortion(e,t,l,r,i,p,ms,_s),d&&v||o.drawCachedElementPortion(e,t,u,r,i,p,ys,ws),d&&!v&&(o.drawCachedElementPortion(e,t,c,r,i,p,xs,ws),o.drawCachedElementPortion(e,t,f,r,i,p,bs,ws)),o.drawElementOverlay(e,t)}},gs.drawElements=function(e,t){for(var r=0;r<t.length;r++){var n=t[r];this.drawElement(e,n)}},gs.drawCachedElements=function(e,t,r,n){for(var i=0;i<t.length;i++){var a=t[i];this.drawCachedElement(e,a,r,n)}},gs.drawCachedNodes=function(e,t,r,n){for(var i=0;i<t.length;i++){var a=t[i];a.isNode()&&this.drawCachedElement(e,a,r,n)}},gs.drawLayeredElements=function(e,t,r,n){var i=this.data.lyrTxrCache.getLayers(t,r);if(i)for(var a=0;a<i.length;a++){var o=i[a],s=o.bb;0!==s.w&&0!==s.h&&e.drawImage(o.canvas,s.x1,s.y1,s.w,s.h)}else this.drawCachedElements(e,t,r,n)};var ks={drawEdge:function(e,t,r){var n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=t._private.rscratch;if((!a||t.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var l;r&&(l=r,e.translate(-l.x1,-l.y1));var u=a?t.pstyle(\"opacity\").value:1,c=a?t.pstyle(\"line-opacity\").value:1,f=t.pstyle(\"curve-style\").value,h=t.pstyle(\"line-style\").value,p=t.pstyle(\"width\").pfValue,d=t.pstyle(\"line-cap\").value,v=u*c,g=u*c,m=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;\"straight-triangle\"===f?(o.eleStrokeStyle(e,t,r),o.drawEdgeTrianglePath(t,e,s.allpts)):(e.lineWidth=p,e.lineCap=d,o.eleStrokeStyle(e,t,r),o.drawEdgePath(t,e,s.allpts,h),e.lineCap=\"butt\")},y=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;o.drawArrowheads(e,t,r)};if(e.lineJoin=\"round\",\"yes\"===t.pstyle(\"ghost\").value){var x=t.pstyle(\"ghost-offset-x\").pfValue,b=t.pstyle(\"ghost-offset-y\").pfValue,_=t.pstyle(\"ghost-opacity\").value,w=v*_;e.translate(x,b),m(w),y(w),e.translate(-x,-b)}i&&o.drawEdgeUnderlay(e,t),m(),y(),i&&o.drawEdgeOverlay(e,t),o.drawElementText(e,t,null,n),r&&e.translate(l.x1,l.y1)}}},Ts=function(e){if(![\"overlay\",\"underlay\"].includes(e))throw new Error(\"Invalid state\");return function(t,r){if(r.visible()){var n=r.pstyle(\"\".concat(e,\"-opacity\")).value;if(0!==n){var i=this,a=i.usePaths(),o=r._private.rscratch,s=2*r.pstyle(\"\".concat(e,\"-padding\")).pfValue,l=r.pstyle(\"\".concat(e,\"-color\")).value;t.lineWidth=s,\"self\"!==o.edgeType||a?t.lineCap=\"round\":t.lineCap=\"butt\",i.colorStrokeStyle(t,l[0],l[1],l[2],n),i.drawEdgePath(r,t,o.allpts,\"solid\")}}}};ks.drawEdgeOverlay=Ts(\"overlay\"),ks.drawEdgeUnderlay=Ts(\"underlay\"),ks.drawEdgePath=function(e,t,r,n){var i,a=e._private.rscratch,o=t,s=!1,l=this.usePaths(),u=e.pstyle(\"line-dash-pattern\").pfValue,c=e.pstyle(\"line-dash-offset\").pfValue;if(l){var f=r.join(\"$\");a.pathCacheKey&&a.pathCacheKey===f?(i=t=a.pathCache,s=!0):(i=t=new Path2D,a.pathCacheKey=f,a.pathCache=i)}if(o.setLineDash)switch(n){case\"dotted\":o.setLineDash([1,1]);break;case\"dashed\":o.setLineDash(u),o.lineDashOffset=c;break;case\"solid\":o.setLineDash([])}if(!s&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(r[0],r[1]),a.edgeType){case\"bezier\":case\"self\":case\"compound\":case\"multibezier\":for(var h=2;h+3<r.length;h+=4)t.quadraticCurveTo(r[h],r[h+1],r[h+2],r[h+3]);break;case\"straight\":case\"segments\":case\"haystack\":for(var p=2;p+1<r.length;p+=2)t.lineTo(r[p],r[p+1])}t=o,l?t.stroke(i):t.stroke(),t.setLineDash&&t.setLineDash([])},ks.drawEdgeTrianglePath=function(e,t,r){t.fillStyle=t.strokeStyle;for(var n=e.pstyle(\"width\").pfValue,i=0;i+1<r.length;i+=2){var a=[r[i+2]-r[i],r[i+3]-r[i+1]],o=Math.sqrt(a[0]*a[0]+a[1]*a[1]),s=[a[1]/o,-a[0]/o],l=[s[0]*n/2,s[1]*n/2];t.beginPath(),t.moveTo(r[i]-l[0],r[i+1]-l[1]),t.lineTo(r[i]+l[0],r[i+1]+l[1]),t.lineTo(r[i+2],r[i+3]),t.closePath(),t.fill()}},ks.drawArrowheads=function(e,t,r){var n=t._private.rscratch,i=\"haystack\"===n.edgeType;i||this.drawArrowhead(e,t,\"source\",n.arrowStartX,n.arrowStartY,n.srcArrowAngle,r),this.drawArrowhead(e,t,\"mid-target\",n.midX,n.midY,n.midtgtArrowAngle,r),this.drawArrowhead(e,t,\"mid-source\",n.midX,n.midY,n.midsrcArrowAngle,r),i||this.drawArrowhead(e,t,\"target\",n.arrowEndX,n.arrowEndY,n.tgtArrowAngle,r)},ks.drawArrowhead=function(e,t,r,n,i,a,o){if(!(isNaN(n)||null==n||isNaN(i)||null==i||isNaN(a)||null==a)){var s=this,l=t.pstyle(r+\"-arrow-shape\").value;if(\"none\"!==l){var u=\"hollow\"===t.pstyle(r+\"-arrow-fill\").value?\"both\":\"filled\",c=t.pstyle(r+\"-arrow-fill\").value,f=t.pstyle(\"width\").pfValue,h=t.pstyle(\"opacity\").value;void 0===o&&(o=h);var p=e.globalCompositeOperation;1===o&&\"hollow\"!==c||(e.globalCompositeOperation=\"destination-out\",s.colorFillStyle(e,255,255,255,1),s.colorStrokeStyle(e,255,255,255,1),s.drawArrowShape(t,e,u,f,l,n,i,a),e.globalCompositeOperation=p);var d=t.pstyle(r+\"-arrow-color\").value;s.colorFillStyle(e,d[0],d[1],d[2],o),s.colorStrokeStyle(e,d[0],d[1],d[2],o),s.drawArrowShape(t,e,c,f,l,n,i,a)}}},ks.drawArrowShape=function(e,t,r,n,i,a,o,s){var l,u=this,c=this.usePaths()&&\"triangle-cross\"!==i,f=!1,h=t,p={x:a,y:o},d=e.pstyle(\"arrow-scale\").value,v=this.getArrowWidth(n,d),g=u.arrowShapes[i];if(c){var m=u.arrowPathCache=u.arrowPathCache||[],y=de(i),x=m[y];null!=x?(l=t=x,f=!0):(l=t=new Path2D,m[y]=l)}f||(t.beginPath&&t.beginPath(),c?g.draw(t,1,0,{x:0,y:0},1):g.draw(t,v,s,p,n),t.closePath&&t.closePath()),t=h,c&&(t.translate(a,o),t.rotate(s),t.scale(v,v)),\"filled\"!==r&&\"both\"!==r||(c?t.fill(l):t.fill()),\"hollow\"!==r&&\"both\"!==r||(t.lineWidth=(g.matchEdgeWidth?n:1)/(c?v:1),t.lineJoin=\"miter\",c?t.stroke(l):t.stroke()),c&&(t.scale(1/v,1/v),t.rotate(-s),t.translate(-a,-o))};var Ms={safeDrawImage:function(e,t,r,n,i,a,o,s,l,u){if(!(i<=0||a<=0||l<=0||u<=0))try{e.drawImage(t,r,n,i,a,o,s,l,u)}catch(e){Se(e)}},drawInscribedImage:function(e,t,r,n,i){var a=this,o=r.position(),s=o.x,l=o.y,u=r.cy().style(),c=u.getIndexedStyle.bind(u),f=c(r,\"background-fit\",\"value\",n),h=c(r,\"background-repeat\",\"value\",n),p=r.width(),d=r.height(),v=2*r.padding(),g=p+(\"inner\"===c(r,\"background-width-relative-to\",\"value\",n)?0:v),m=d+(\"inner\"===c(r,\"background-height-relative-to\",\"value\",n)?0:v),y=r._private.rscratch,x=\"node\"===c(r,\"background-clip\",\"value\",n),b=c(r,\"background-image-opacity\",\"value\",n)*i,_=c(r,\"background-image-smoothing\",\"value\",n),w=t.width||t.cachedW,k=t.height||t.cachedH;null!=w&&null!=k||(document.body.appendChild(t),w=t.cachedW=t.width||t.offsetWidth,k=t.cachedH=t.height||t.offsetHeight,document.body.removeChild(t));var T=w,M=k;if(\"auto\"!==c(r,\"background-width\",\"value\",n)&&(T=\"%\"===c(r,\"background-width\",\"units\",n)?c(r,\"background-width\",\"pfValue\",n)*g:c(r,\"background-width\",\"pfValue\",n)),\"auto\"!==c(r,\"background-height\",\"value\",n)&&(M=\"%\"===c(r,\"background-height\",\"units\",n)?c(r,\"background-height\",\"pfValue\",n)*m:c(r,\"background-height\",\"pfValue\",n)),0!==T&&0!==M){if(\"contain\"===f)T*=A=Math.min(g/T,m/M),M*=A;else if(\"cover\"===f){var A;T*=A=Math.max(g/T,m/M),M*=A}var S=s-g/2,E=c(r,\"background-position-x\",\"units\",n),C=c(r,\"background-position-x\",\"pfValue\",n);S+=\"%\"===E?(g-T)*C:C;var L=c(r,\"background-offset-x\",\"units\",n),P=c(r,\"background-offset-x\",\"pfValue\",n);S+=\"%\"===L?(g-T)*P:P;var O=l-m/2,I=c(r,\"background-position-y\",\"units\",n),D=c(r,\"background-position-y\",\"pfValue\",n);O+=\"%\"===I?(m-M)*D:D;var z=c(r,\"background-offset-y\",\"units\",n),R=c(r,\"background-offset-y\",\"pfValue\",n);O+=\"%\"===z?(m-M)*R:R,y.pathCache&&(S-=s,O-=l,s=0,l=0);var F=e.globalAlpha;e.globalAlpha=b;var B=a.getImgSmoothing(e),N=!1;if(\"no\"===_&&B?(a.setImgSmoothing(e,!1),N=!0):\"yes\"!==_||B||(a.setImgSmoothing(e,!0),N=!0),\"no-repeat\"===h)x&&(e.save(),y.pathCache?e.clip(y.pathCache):(a.nodeShapes[a.getNodeShape(r)].draw(e,s,l,g,m),e.clip())),a.safeDrawImage(e,t,0,0,w,k,S,O,T,M),x&&e.restore();else{var j=e.createPattern(t,h);e.fillStyle=j,a.nodeShapes[a.getNodeShape(r)].draw(e,s,l,g,m),e.translate(S,O),e.fill(),e.translate(-S,-O)}e.globalAlpha=F,N&&a.setImgSmoothing(e,B)}}},As={eleTextBiggerThanMin:function(e,t){if(!t){var r=e.cy().zoom(),n=this.getPixelRatio(),i=Math.ceil(ot(r*n));t=Math.pow(2,i)}return!(e.pstyle(\"font-size\").pfValue*t<e.pstyle(\"min-zoomed-font-size\").pfValue)},drawElementText:function(e,t,r,n,i){var a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this;if(null==n){if(a&&!o.eleTextBiggerThanMin(t))return}else if(!1===n)return;if(t.isNode()){var s=t.pstyle(\"label\");if(!s||!s.value)return;var l=o.getLabelJustification(t);e.textAlign=l,e.textBaseline=\"bottom\"}else{var u=t.element()._private.rscratch.badLine,c=t.pstyle(\"label\"),f=t.pstyle(\"source-label\"),h=t.pstyle(\"target-label\");if(u||(!c||!c.value)&&(!f||!f.value)&&(!h||!h.value))return;e.textAlign=\"center\",e.textBaseline=\"bottom\"}var p,d=!r;r&&(p=r,e.translate(-p.x1,-p.y1)),null==i?(o.drawText(e,t,null,d,a),t.isEdge()&&(o.drawText(e,t,\"source\",d,a),o.drawText(e,t,\"target\",d,a))):o.drawText(e,t,i,d,a),r&&e.translate(p.x1,p.y1)},getFontCache:function(e){var t;this.fontCaches=this.fontCaches||[];for(var r=0;r<this.fontCaches.length;r++)if((t=this.fontCaches[r]).context===e)return t;return t={context:e},this.fontCaches.push(t),t},setupTextStyle:function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=t.pstyle(\"font-style\").strValue,i=t.pstyle(\"font-size\").pfValue+\"px\",a=t.pstyle(\"font-family\").strValue,o=t.pstyle(\"font-weight\").strValue,s=r?t.effectiveOpacity()*t.pstyle(\"text-opacity\").value:1,l=t.pstyle(\"text-outline-opacity\").value*s,u=t.pstyle(\"color\").value,c=t.pstyle(\"text-outline-color\").value;e.font=n+\" \"+o+\" \"+i+\" \"+a,e.lineJoin=\"round\",this.colorFillStyle(e,u[0],u[1],u[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],l)},getTextAngle:function(e,t){var r=e._private.rscratch,n=t?t+\"-\":\"\",i=e.pstyle(n+\"text-rotation\"),a=ze(r,\"labelAngle\",t);return\"autorotate\"===i.strValue?e.isEdge()?a:0:\"none\"===i.strValue?0:i.pfValue},drawText:function(e,t,r){var n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=t._private.rscratch,o=i?t.effectiveOpacity():1;if(!i||0!==o&&0!==t.pstyle(\"text-opacity\").value){\"main\"===r&&(r=null);var s,l,u=ze(a,\"labelX\",r),c=ze(a,\"labelY\",r),f=this.getLabelText(t,r);if(null!=f&&\"\"!==f&&!isNaN(u)&&!isNaN(c)){this.setupTextStyle(e,t,i);var h,p=r?r+\"-\":\"\",d=ze(a,\"labelWidth\",r),v=ze(a,\"labelHeight\",r),g=t.pstyle(p+\"text-margin-x\").pfValue,m=t.pstyle(p+\"text-margin-y\").pfValue,y=t.isEdge(),x=t.pstyle(\"text-halign\").value,b=t.pstyle(\"text-valign\").value;switch(y&&(x=\"center\",b=\"center\"),u+=g,c+=m,0!==(h=n?this.getTextAngle(t,r):0)&&(s=u,l=c,e.translate(s,l),e.rotate(h),u=0,c=0),b){case\"top\":break;case\"center\":c+=v/2;break;case\"bottom\":c+=v}var _=t.pstyle(\"text-background-opacity\").value,w=t.pstyle(\"text-border-opacity\").value,k=t.pstyle(\"text-border-width\").pfValue,T=t.pstyle(\"text-background-padding\").pfValue;if(_>0||k>0&&w>0){var M=u-T;switch(x){case\"left\":M-=d;break;case\"center\":M-=d/2}var A=c-v-T,S=d+2*T,E=v+2*T;if(_>0){var C=e.fillStyle,L=t.pstyle(\"text-background-color\").value;e.fillStyle=\"rgba(\"+L[0]+\",\"+L[1]+\",\"+L[2]+\",\"+_*o+\")\",0===t.pstyle(\"text-background-shape\").strValue.indexOf(\"round\")?function(e,t,r,n,i){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:5;e.beginPath(),e.moveTo(t+a,r),e.lineTo(t+n-a,r),e.quadraticCurveTo(t+n,r,t+n,r+a),e.lineTo(t+n,r+i-a),e.quadraticCurveTo(t+n,r+i,t+n-a,r+i),e.lineTo(t+a,r+i),e.quadraticCurveTo(t,r+i,t,r+i-a),e.lineTo(t,r+a),e.quadraticCurveTo(t,r,t+a,r),e.closePath(),e.fill()}(e,M,A,S,E,2):e.fillRect(M,A,S,E),e.fillStyle=C}if(k>0&&w>0){var P=e.strokeStyle,O=e.lineWidth,I=t.pstyle(\"text-border-color\").value,D=t.pstyle(\"text-border-style\").value;if(e.strokeStyle=\"rgba(\"+I[0]+\",\"+I[1]+\",\"+I[2]+\",\"+w*o+\")\",e.lineWidth=k,e.setLineDash)switch(D){case\"dotted\":e.setLineDash([1,1]);break;case\"dashed\":e.setLineDash([4,2]);break;case\"double\":e.lineWidth=k/4,e.setLineDash([]);break;case\"solid\":e.setLineDash([])}if(e.strokeRect(M,A,S,E),\"double\"===D){var z=k/2;e.strokeRect(M+z,A+z,S-2*z,E-2*z)}e.setLineDash&&e.setLineDash([]),e.lineWidth=O,e.strokeStyle=P}}var R=2*t.pstyle(\"text-outline-width\").pfValue;if(R>0&&(e.lineWidth=R),\"wrap\"===t.pstyle(\"text-wrap\").value){var F=ze(a,\"labelWrapCachedLines\",r),B=ze(a,\"labelLineHeight\",r),N=d/2,j=this.getLabelJustification(t);switch(\"auto\"===j||(\"left\"===x?\"left\"===j?u+=-d:\"center\"===j&&(u+=-N):\"center\"===x?\"left\"===j?u+=-N:\"right\"===j&&(u+=N):\"right\"===x&&(\"center\"===j?u+=N:\"right\"===j&&(u+=d))),b){case\"top\":case\"center\":case\"bottom\":c-=(F.length-1)*B}for(var U=0;U<F.length;U++)R>0&&e.strokeText(F[U],u,c),e.fillText(F[U],u,c),c+=B}else R>0&&e.strokeText(f,u,c),e.fillText(f,u,c);0!==h&&(e.rotate(-h),e.translate(-s,-l))}}}},Ss={drawNode:function(e,t,r){var n,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],l=this,u=t._private,c=u.rscratch,f=t.position();if(O(f.x)&&O(f.y)&&(!s||t.visible())){var h,p,d=s?t.effectiveOpacity():1,v=l.usePaths(),g=!1,m=t.padding();n=t.width()+2*m,i=t.height()+2*m,r&&(p=r,e.translate(-p.x1,-p.y1));for(var y=t.pstyle(\"background-image\").value,x=new Array(y.length),b=new Array(y.length),_=0,w=0;w<y.length;w++){var k=y[w];if(x[w]=null!=k&&\"none\"!==k){var T=t.cy().style().getIndexedStyle(t,\"background-image-crossorigin\",\"value\",w);_++,b[w]=l.getCachedImage(k,T,(function(){u.backgroundTimestamp=Date.now(),t.emitAndNotify(\"background\")}))}}var M=t.pstyle(\"background-blacken\").value,A=t.pstyle(\"border-width\").pfValue,S=t.pstyle(\"background-opacity\").value*d,E=t.pstyle(\"border-color\").value,C=t.pstyle(\"border-style\").value,L=t.pstyle(\"border-opacity\").value*d;e.lineJoin=\"miter\";var P=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:S;l.eleFillStyle(e,t,r)},I=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:L;l.colorStrokeStyle(e,E[0],E[1],E[2],t)},D=t.pstyle(\"shape\").strValue,z=t.pstyle(\"shape-polygon-points\").pfValue;if(v){e.translate(f.x,f.y);var R=l.nodePathCache=l.nodePathCache||[],F=ve(\"polygon\"===D?D+\",\"+z.join(\",\"):D,\"\"+i,\"\"+n),B=R[F];null!=B?(h=B,g=!0,c.pathCache=h):(h=new Path2D,R[F]=c.pathCache=h)}var N=function(){if(!g){var r=f;v&&(r={x:0,y:0}),l.nodeShapes[l.getNodeShape(t)].draw(h||e,r.x,r.y,n,i)}v?e.fill(h):e.fill()},j=function(){for(var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=u.backgrounding,a=0,o=0;o<b.length;o++){var s=t.cy().style().getIndexedStyle(t,\"background-image-containment\",\"value\",o);n&&\"over\"===s||!n&&\"inside\"===s?a++:x[o]&&b[o].complete&&!b[o].error&&(a++,l.drawInscribedImage(e,b[o],t,o,r))}u.backgrounding=!(a===_),i!==u.backgrounding&&t.updateStyle(!1)},U=function(){var r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d;l.hasPie(t)&&(l.drawPie(e,t,a),r&&(v||l.nodeShapes[l.getNodeShape(t)].draw(e,f.x,f.y,n,i)))},V=function(){var t=(M>0?M:-M)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:d),r=M>0?0:255;0!==M&&(l.colorFillStyle(e,r,r,r,t),v?e.fill(h):e.fill())},H=function(){if(A>0){if(e.lineWidth=A,e.lineCap=\"butt\",e.setLineDash)switch(C){case\"dotted\":e.setLineDash([1,1]);break;case\"dashed\":e.setLineDash([4,2]);break;case\"solid\":case\"double\":e.setLineDash([])}if(v?e.stroke(h):e.stroke(),\"double\"===C){e.lineWidth=A/3;var t=e.globalCompositeOperation;e.globalCompositeOperation=\"destination-out\",v?e.stroke(h):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}};if(\"yes\"===t.pstyle(\"ghost\").value){var q=t.pstyle(\"ghost-offset-x\").pfValue,G=t.pstyle(\"ghost-offset-y\").pfValue,Y=t.pstyle(\"ghost-opacity\").value,W=Y*d;e.translate(q,G),P(Y*S),N(),j(W,!0),I(Y*L),H(),U(0!==M||0!==A),j(W,!1),V(W),e.translate(-q,-G)}v&&e.translate(-f.x,-f.y),o&&l.drawNodeUnderlay(e,t,f,n,i),v&&e.translate(f.x,f.y),P(),N(),j(d,!0),I(),H(),U(0!==M||0!==A),j(d,!1),V(),v&&e.translate(-f.x,-f.y),l.drawElementText(e,t,null,a),o&&l.drawNodeOverlay(e,t,f,n,i),r&&e.translate(p.x1,p.y1)}}},Es=function(e){if(![\"overlay\",\"underlay\"].includes(e))throw new Error(\"Invalid state\");return function(t,r,n,i,a){if(r.visible()){var o=r.pstyle(\"\".concat(e,\"-padding\")).pfValue,s=r.pstyle(\"\".concat(e,\"-opacity\")).value,l=r.pstyle(\"\".concat(e,\"-color\")).value,u=r.pstyle(\"\".concat(e,\"-shape\")).value;if(s>0){if(n=n||r.position(),null==i||null==a){var c=r.padding();i=r.width()+2*c,a=r.height()+2*c}this.colorFillStyle(t,l[0],l[1],l[2],s),this.nodeShapes[u].draw(t,n.x,n.y,i+2*o,a+2*o),t.fill()}}}};Ss.drawNodeOverlay=Es(\"overlay\"),Ss.drawNodeUnderlay=Es(\"underlay\"),Ss.hasPie=function(e){return(e=e[0])._private.hasPie},Ss.drawPie=function(e,t,r,n){t=t[0],n=n||t.position();var i=t.cy().style(),a=t.pstyle(\"pie-size\"),o=n.x,s=n.y,l=t.width(),u=t.height(),c=Math.min(l,u)/2,f=0;this.usePaths()&&(o=0,s=0),\"%\"===a.units?c*=a.pfValue:void 0!==a.pfValue&&(c=a.pfValue/2);for(var h=1;h<=i.pieBackgroundN;h++){var p=t.pstyle(\"pie-\"+h+\"-background-size\").value,d=t.pstyle(\"pie-\"+h+\"-background-color\").value,v=t.pstyle(\"pie-\"+h+\"-background-opacity\").value*r,g=p/100;g+f>1&&(g=1-f);var m=1.5*Math.PI+2*Math.PI*f,y=m+2*Math.PI*g;0===p||f>=1||f+g>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,c,m,y),e.closePath(),this.colorFillStyle(e,d[0],d[1],d[2],v),e.fill(),f+=g)}};for(var Cs={getPixelRatio:function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},paintCache:function(e){for(var t,r=this.paintCaches=this.paintCaches||[],n=!0,i=0;i<r.length;i++)if((t=r[i]).context===e){n=!1;break}return n&&(t={context:e},r.push(t)),t},createGradientStyleFor:function(e,t,r,n,i){var a,o=this.usePaths(),s=r.pstyle(t+\"-gradient-stop-colors\").value,l=r.pstyle(t+\"-gradient-stop-positions\").pfValue;if(\"radial-gradient\"===n)if(r.isEdge()){var u=r.sourceEndpoint(),c=r.targetEndpoint(),f=r.midpoint(),h=lt(u,f),p=lt(c,f);a=e.createRadialGradient(f.x,f.y,0,f.x,f.y,Math.max(h,p))}else{var d=o?{x:0,y:0}:r.position(),v=r.paddedWidth(),g=r.paddedHeight();a=e.createRadialGradient(d.x,d.y,0,d.x,d.y,Math.max(v,g))}else if(r.isEdge()){var m=r.sourceEndpoint(),y=r.targetEndpoint();a=e.createLinearGradient(m.x,m.y,y.x,y.y)}else{var x=o?{x:0,y:0}:r.position(),b=r.paddedWidth()/2,_=r.paddedHeight()/2;switch(r.pstyle(\"background-gradient-direction\").value){case\"to-bottom\":a=e.createLinearGradient(x.x,x.y-_,x.x,x.y+_);break;case\"to-top\":a=e.createLinearGradient(x.x,x.y+_,x.x,x.y-_);break;case\"to-left\":a=e.createLinearGradient(x.x+b,x.y,x.x-b,x.y);break;case\"to-right\":a=e.createLinearGradient(x.x-b,x.y,x.x+b,x.y);break;case\"to-bottom-right\":case\"to-right-bottom\":a=e.createLinearGradient(x.x-b,x.y-_,x.x+b,x.y+_);break;case\"to-top-right\":case\"to-right-top\":a=e.createLinearGradient(x.x-b,x.y+_,x.x+b,x.y-_);break;case\"to-bottom-left\":case\"to-left-bottom\":a=e.createLinearGradient(x.x+b,x.y-_,x.x-b,x.y+_);break;case\"to-top-left\":case\"to-left-top\":a=e.createLinearGradient(x.x+b,x.y+_,x.x-b,x.y-_)}}if(!a)return null;for(var w=l.length===s.length,k=s.length,T=0;T<k;T++)a.addColorStop(w?l[T]:T/(k-1),\"rgba(\"+s[T][0]+\",\"+s[T][1]+\",\"+s[T][2]+\",\"+i+\")\");return a},gradientFillStyle:function(e,t,r,n){var i=this.createGradientStyleFor(e,\"background\",t,r,n);if(!i)return null;e.fillStyle=i},colorFillStyle:function(e,t,r,n,i){e.fillStyle=\"rgba(\"+t+\",\"+r+\",\"+n+\",\"+i+\")\"},eleFillStyle:function(e,t,r){var n=t.pstyle(\"background-fill\").value;if(\"linear-gradient\"===n||\"radial-gradient\"===n)this.gradientFillStyle(e,t,n,r);else{var i=t.pstyle(\"background-color\").value;this.colorFillStyle(e,i[0],i[1],i[2],r)}},gradientStrokeStyle:function(e,t,r,n){var i=this.createGradientStyleFor(e,\"line\",t,r,n);if(!i)return null;e.strokeStyle=i},colorStrokeStyle:function(e,t,r,n,i){e.strokeStyle=\"rgba(\"+t+\",\"+r+\",\"+n+\",\"+i+\")\"},eleStrokeStyle:function(e,t,r){var n=t.pstyle(\"line-fill\").value;if(\"linear-gradient\"===n||\"radial-gradient\"===n)this.gradientStrokeStyle(e,t,n,r);else{var i=t.pstyle(\"line-color\").value;this.colorStrokeStyle(e,i[0],i[1],i[2],r)}},matchCanvasSize:function(e){var t=this,r=t.data,n=t.findContainerClientCoords(),i=n[2],a=n[3],o=t.getPixelRatio(),s=t.motionBlurPxRatio;e!==t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE]&&e!==t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG]||(o=s);var l,u=i*o,c=a*o;if(u!==t.canvasWidth||c!==t.canvasHeight){t.fontCaches=null;var f=r.canvasContainer;f.style.width=i+\"px\",f.style.height=a+\"px\";for(var h=0;h<t.CANVAS_LAYERS;h++)(l=r.canvases[h]).width=u,l.height=c,l.style.width=i+\"px\",l.style.height=a+\"px\";for(h=0;h<t.BUFFER_COUNT;h++)(l=r.bufferCanvases[h]).width=u,l.height=c,l.style.width=i+\"px\",l.style.height=a+\"px\";t.textureMult=1,o<=1&&(l=r.bufferCanvases[t.TEXTURE_BUFFER],t.textureMult=2,l.width=u*t.textureMult,l.height=c*t.textureMult),t.canvasWidth=u,t.canvasHeight=c}},renderTo:function(e,t,r,n){this.render({forcedContext:e,forcedZoom:t,forcedPan:r,drawAllLayers:!0,forcedPxRatio:n})},render:function(e){var t=(e=e||Pe()).forcedContext,r=e.drawAllLayers,n=e.drawOnlyNodeLayer,i=e.forcedZoom,a=e.forcedPan,o=this,s=void 0===e.forcedPxRatio?this.getPixelRatio():e.forcedPxRatio,l=o.cy,u=o.data,c=u.canvasNeedsRedraw,f=o.textureOnViewport&&!t&&(o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming),h=void 0!==e.motionBlur?e.motionBlur:o.motionBlur,p=o.motionBlurPxRatio,d=l.hasCompoundNodes(),v=o.hoverData.draggingEles,g=!(!o.hoverData.selecting&&!o.touchData.selecting),m=h=h&&!t&&o.motionBlurEnabled&&!g;t||(o.prevPxRatio!==s&&(o.invalidateContainerClientCoordsCache(),o.matchCanvasSize(o.container),o.redrawHint(\"eles\",!0),o.redrawHint(\"drag\",!0)),o.prevPxRatio=s),!t&&o.motionBlurTimeout&&clearTimeout(o.motionBlurTimeout),h&&(null==o.mbFrames&&(o.mbFrames=0),o.mbFrames++,o.mbFrames<3&&(m=!1),o.mbFrames>o.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!f&&(c[o.NODE]=!0,c[o.SELECT_BOX]=!0);var y=l.style(),x=l.zoom(),b=void 0!==i?i:x,_=l.pan(),w={x:_.x,y:_.y},k={zoom:x,pan:{x:_.x,y:_.y}},T=o.prevViewport;void 0===T||k.zoom!==T.zoom||k.pan.x!==T.pan.x||k.pan.y!==T.pan.y||v&&!d||(o.motionBlurPxRatio=1),a&&(w=a),b*=s,w.x*=s,w.y*=s;var M=o.getCachedZSortedEles();function A(e,t,r,n,i){var a=e.globalCompositeOperation;e.globalCompositeOperation=\"destination-out\",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,r,n,i),e.globalCompositeOperation=a}function S(e,n){var s,l,c,f;o.clearingMotionBlur||e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=w,l=b,c=o.canvasWidth,f=o.canvasHeight):(s={x:_.x*p,y:_.y*p},l=x*p,c=o.canvasWidth*p,f=o.canvasHeight*p),e.setTransform(1,0,0,1,0,0),\"motionBlur\"===n?A(e,0,0,c,f):t||void 0!==n&&!n||e.clearRect(0,0,c,f),r||(e.translate(s.x,s.y),e.scale(l,l)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(f||(o.textureDrawLastFrame=!1),f){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=l.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var E=o.data.bufferContexts[o.TEXTURE_BUFFER];E.setTransform(1,0,0,1,0,0),E.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:E,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(k=o.textureCache.viewport={zoom:l.zoom(),pan:l.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}c[o.DRAG]=!1,c[o.NODE]=!1;var C=u.contexts[o.NODE],L=o.textureCache.texture;k=o.textureCache.viewport,C.setTransform(1,0,0,1,0,0),h?A(C,0,0,k.width,k.height):C.clearRect(0,0,k.width,k.height);var P=y.core(\"outside-texture-bg-color\").value,O=y.core(\"outside-texture-bg-opacity\").value;o.colorFillStyle(C,P[0],P[1],P[2],O),C.fillRect(0,0,k.width,k.height),x=l.zoom(),S(C,!1),C.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/s,k.height/k.zoom/s),C.drawImage(L,k.mpan.x,k.mpan.y,k.width/k.zoom/s,k.height/k.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var I=l.extent(),D=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),z=o.hideEdgesOnViewport&&D,R=[];if(R[o.NODE]=!c[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,R[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),R[o.DRAG]=!c[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,R[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),c[o.NODE]||r||n||R[o.NODE]){var F=h&&!R[o.NODE]&&1!==p;S(C=t||(F?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:u.contexts[o.NODE]),h&&!F?\"motionBlur\":void 0),z?o.drawCachedNodes(C,M.nondrag,s,I):o.drawLayeredElements(C,M.nondrag,s,I),o.debug&&o.drawDebugPoints(C,M.nondrag),r||h||(c[o.NODE]=!1)}if(!n&&(c[o.DRAG]||r||R[o.DRAG])&&(F=h&&!R[o.DRAG]&&1!==p,S(C=t||(F?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:u.contexts[o.DRAG]),h&&!F?\"motionBlur\":void 0),z?o.drawCachedNodes(C,M.drag,s,I):o.drawCachedElements(C,M.drag,s,I),o.debug&&o.drawDebugPoints(C,M.drag),r||h||(c[o.DRAG]=!1)),o.showFps||!n&&c[o.SELECT_BOX]&&!r){if(S(C=t||u.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){x=o.cy.zoom();var B=y.core(\"selection-box-border-width\").value/x;C.lineWidth=B,C.fillStyle=\"rgba(\"+y.core(\"selection-box-color\").value[0]+\",\"+y.core(\"selection-box-color\").value[1]+\",\"+y.core(\"selection-box-color\").value[2]+\",\"+y.core(\"selection-box-opacity\").value+\")\",C.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),B>0&&(C.strokeStyle=\"rgba(\"+y.core(\"selection-box-border-color\").value[0]+\",\"+y.core(\"selection-box-border-color\").value[1]+\",\"+y.core(\"selection-box-border-color\").value[2]+\",\"+y.core(\"selection-box-opacity\").value+\")\",C.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(u.bgActivePosistion&&!o.hoverData.selecting){x=o.cy.zoom();var N=u.bgActivePosistion;C.fillStyle=\"rgba(\"+y.core(\"active-bg-color\").value[0]+\",\"+y.core(\"active-bg-color\").value[1]+\",\"+y.core(\"active-bg-color\").value[2]+\",\"+y.core(\"active-bg-opacity\").value+\")\",C.beginPath(),C.arc(N.x,N.y,y.core(\"active-bg-size\").pfValue/x,0,2*Math.PI),C.fill()}var j=o.lastRedrawTime;if(o.showFps&&j){j=Math.round(j);var U=Math.round(1e3/j);C.setTransform(1,0,0,1,0,0),C.fillStyle=\"rgba(255, 0, 0, 0.75)\",C.strokeStyle=\"rgba(255, 0, 0, 0.75)\",C.lineWidth=1,C.fillText(\"1 frame = \"+j+\" ms = \"+U+\" fps\",0,20),C.strokeRect(0,30,250,20),C.fillRect(0,30,250*Math.min(U/60,1),20)}r||(c[o.SELECT_BOX]=!1)}if(h&&1!==p){var V=u.contexts[o.NODE],H=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],q=u.contexts[o.DRAG],G=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],Y=function(e,t,r){e.setTransform(1,0,0,1,0,0),r||!m?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):A(e,0,0,o.canvasWidth,o.canvasHeight);var n=p;e.drawImage(t,0,0,o.canvasWidth*n,o.canvasHeight*n,0,0,o.canvasWidth,o.canvasHeight)};(c[o.NODE]||R[o.NODE])&&(Y(V,H,R[o.NODE]),c[o.NODE]=!1),(c[o.DRAG]||R[o.DRAG])&&(Y(q,G,R[o.DRAG]),c[o.DRAG]=!1)}o.prevViewport=k,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!f,o.mbFrames=0,c[o.NODE]=!0,c[o.DRAG]=!0,o.redraw()}),100)),t||l.emit(\"render\")}},Ls={drawPolygonPath:function(e,t,r,n,i,a){var o=n/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],r+s*a[1]);for(var l=1;l<a.length/2;l++)e.lineTo(t+o*a[2*l],r+s*a[2*l+1]);e.closePath()},drawRoundPolygonPath:function(e,t,r,n,i,a){var o=n/2,s=i/2,l=Ut(n,i);e.beginPath&&e.beginPath();for(var u=0;u<a.length/4;u++){var c,f;f=0===u?a.length-2:4*u-2,c=4*u+2;var h=t+o*a[4*u],p=r+s*a[4*u+1],d=-a[f]*a[c]-a[f+1]*a[c+1],v=l/Math.tan(Math.acos(d)/2),g=h-v*a[f],m=p-v*a[f+1],y=h+v*a[c],x=p+v*a[c+1];0===u?e.moveTo(g,m):e.lineTo(g,m),e.arcTo(h,p,y,x,l)}e.closePath()},drawRoundRectanglePath:function(e,t,r,n,i){var a=n/2,o=i/2,s=jt(n,i);e.beginPath&&e.beginPath(),e.moveTo(t,r-o),e.arcTo(t+a,r-o,t+a,r,s),e.arcTo(t+a,r+o,t,r+o,s),e.arcTo(t-a,r+o,t-a,r,s),e.arcTo(t-a,r-o,t,r-o,s),e.lineTo(t,r-o),e.closePath()},drawBottomRoundRectanglePath:function(e,t,r,n,i){var a=n/2,o=i/2,s=jt(n,i);e.beginPath&&e.beginPath(),e.moveTo(t,r-o),e.lineTo(t+a,r-o),e.lineTo(t+a,r),e.arcTo(t+a,r+o,t,r+o,s),e.arcTo(t-a,r+o,t-a,r,s),e.lineTo(t-a,r-o),e.lineTo(t,r-o),e.closePath()},drawCutRectanglePath:function(e,t,r,n,i){var a=n/2,o=i/2;e.beginPath&&e.beginPath(),e.moveTo(t-a+8,r-o),e.lineTo(t+a-8,r-o),e.lineTo(t+a,r-o+8),e.lineTo(t+a,r+o-8),e.lineTo(t+a-8,r+o),e.lineTo(t-a+8,r+o),e.lineTo(t-a,r+o-8),e.lineTo(t-a,r-o+8),e.closePath()},drawBarrelPath:function(e,t,r,n,i){var a=n/2,o=i/2,s=t-a,l=t+a,u=r-o,c=r+o,f=Vt(n,i),h=f.widthOffset,p=f.heightOffset,d=f.ctrlPtOffsetPct*h;e.beginPath&&e.beginPath(),e.moveTo(s,u+p),e.lineTo(s,c-p),e.quadraticCurveTo(s+d,c,s+h,c),e.lineTo(l-h,c),e.quadraticCurveTo(l-d,c,l,c-p),e.lineTo(l,u+p),e.quadraticCurveTo(l-d,u,l-h,u),e.lineTo(s+h,u),e.quadraticCurveTo(s+d,u,s,u+p),e.closePath()}},Ps=Math.sin(0),Os=Math.cos(0),Is={},Ds={},zs=Math.PI/40,Rs=0*Math.PI;Rs<2*Math.PI;Rs+=zs)Is[Rs]=Math.sin(Rs),Ds[Rs]=Math.cos(Rs);Ls.drawEllipsePath=function(e,t,r,n,i){if(e.beginPath&&e.beginPath(),e.ellipse)e.ellipse(t,r,n/2,i/2,0,0,2*Math.PI);else for(var a,o,s=n/2,l=i/2,u=0*Math.PI;u<2*Math.PI;u+=zs)a=t-s*Is[u]*Ps+s*Ds[u]*Os,o=r+l*Ds[u]*Ps+l*Is[u]*Os,0===u?e.moveTo(a,o):e.lineTo(a,o);e.closePath()};var Fs={};function Bs(e){var t=e.indexOf(\",\");return e.substr(t+1)}function Ns(e,t,r){var n=function(){return t.toDataURL(r,e.quality)};switch(e.output){case\"blob-promise\":return new Qr((function(n,i){try{t.toBlob((function(e){null!=e?n(e):i(new Error(\"`canvas.toBlob()` sent a null value in its callback\"))}),r,e.quality)}catch(e){i(e)}}));case\"blob\":return function(e,t){for(var r=atob(e),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a<r.length;a++)i[a]=r.charCodeAt(a);return new Blob([n],{type:t})}(Bs(n()),r);case\"base64\":return Bs(n());default:return n()}}Fs.createBuffer=function(e,t){var r=document.createElement(\"canvas\");return r.width=e,r.height=t,[r,r.getContext(\"2d\")]},Fs.bufferCanvasImage=function(e){var t=this.cy,r=t.mutableElements().boundingBox(),n=this.findContainerClientCoords(),i=e.full?Math.ceil(r.w):n[2],a=e.full?Math.ceil(r.h):n[3],o=O(e.maxWidth)||O(e.maxHeight),s=this.getPixelRatio(),l=1;if(void 0!==e.scale)i*=e.scale,a*=e.scale,l=e.scale;else if(o){var u=1/0,c=1/0;O(e.maxWidth)&&(u=l*e.maxWidth/i),O(e.maxHeight)&&(c=l*e.maxHeight/a),i*=l=Math.min(u,c),a*=l}o||(i*=s,a*=s,l*=s);var f=document.createElement(\"canvas\");f.width=i,f.height=a,f.style.width=i+\"px\",f.style.height=a+\"px\";var h=f.getContext(\"2d\");if(i>0&&a>0){h.clearRect(0,0,i,a),h.globalCompositeOperation=\"source-over\";var p=this.getCachedZSortedEles();if(e.full)h.translate(-r.x1*l,-r.y1*l),h.scale(l,l),this.drawElements(h,p),h.scale(1/l,1/l),h.translate(r.x1*l,r.y1*l);else{var d=t.pan(),v={x:d.x*l,y:d.y*l};l*=t.zoom(),h.translate(v.x,v.y),h.scale(l,l),this.drawElements(h,p),h.scale(1/l,1/l),h.translate(-v.x,-v.y)}e.bg&&(h.globalCompositeOperation=\"destination-over\",h.fillStyle=e.bg,h.rect(0,0,i,a),h.fill())}return f},Fs.png=function(e){return Ns(e,this.bufferCanvasImage(e),\"image/png\")},Fs.jpg=function(e){return Ns(e,this.bufferCanvasImage(e),\"image/jpeg\")};var js=Vs,Us=Vs.prototype;function Vs(e){var t=this;t.data={canvases:new Array(Us.CANVAS_LAYERS),contexts:new Array(Us.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Us.CANVAS_LAYERS),bufferCanvases:new Array(Us.BUFFER_COUNT),bufferContexts:new Array(Us.CANVAS_LAYERS)};var r=\"-webkit-tap-highlight-color\",n=\"rgba(0,0,0,0)\";t.data.canvasContainer=document.createElement(\"div\");var i=t.data.canvasContainer.style;t.data.canvasContainer.style[r]=n,i.position=\"relative\",i.zIndex=\"0\",i.overflow=\"hidden\";var a=e.cy.container();a.appendChild(t.data.canvasContainer),a.style[r]=n;var o={\"-webkit-user-select\":\"none\",\"-moz-user-select\":\"-moz-none\",\"user-select\":\"none\",\"-webkit-tap-highlight-color\":\"rgba(0,0,0,0)\",\"outline-style\":\"none\"};w&&w.userAgent.match(/msie|trident|edge/i)&&(o[\"-ms-touch-action\"]=\"none\",o[\"touch-action\"]=\"none\");for(var s=0;s<Us.CANVAS_LAYERS;s++){var l=t.data.canvases[s]=document.createElement(\"canvas\");t.data.contexts[s]=l.getContext(\"2d\"),Object.keys(o).forEach((function(e){l.style[e]=o[e]})),l.style.position=\"absolute\",l.setAttribute(\"data-id\",\"layer\"+s),l.style.zIndex=String(Us.CANVAS_LAYERS-s),t.data.canvasContainer.appendChild(l),t.data.canvasNeedsRedraw[s]=!1}for(t.data.topCanvas=t.data.canvases[0],t.data.canvases[Us.NODE].setAttribute(\"data-id\",\"layer\"+Us.NODE+\"-node\"),t.data.canvases[Us.SELECT_BOX].setAttribute(\"data-id\",\"layer\"+Us.SELECT_BOX+\"-selectbox\"),t.data.canvases[Us.DRAG].setAttribute(\"data-id\",\"layer\"+Us.DRAG+\"-drag\"),s=0;s<Us.BUFFER_COUNT;s++)t.data.bufferCanvases[s]=document.createElement(\"canvas\"),t.data.bufferContexts[s]=t.data.bufferCanvases[s].getContext(\"2d\"),t.data.bufferCanvases[s].style.position=\"absolute\",t.data.bufferCanvases[s].setAttribute(\"data-id\",\"buffer\"+s),t.data.bufferCanvases[s].style.zIndex=String(-s-1),t.data.bufferCanvases[s].style.visibility=\"hidden\";t.pathsEnabled=!0;var u=dt(),c=function(e){return{x:-e.w/2,y:-e.h/2}},f=function(e){return e.boundingBox(),e[0]._private.bodyBounds},h=function(e){return e.boundingBox(),e[0]._private.labelBounds.main||u},p=function(e){return e.boundingBox(),e[0]._private.labelBounds.source||u},d=function(e){return e.boundingBox(),e[0]._private.labelBounds.target||u},v=function(e,t){return t},g=function(e,t,r){var n=e?e+\"-\":\"\";return{x:t.x+r.pstyle(n+\"text-margin-x\").pfValue,y:t.y+r.pstyle(n+\"text-margin-y\").pfValue}},m=function(e,t,r){var n=e[0]._private.rscratch;return{x:n[t],y:n[r]}},y=t.data.eleTxrCache=new ns(t,{getKey:function(e){return e[0]._private.nodeKey},doesEleInvalidateKey:function(e){var t=e[0]._private;return!(t.oldBackgroundTimestamp===t.backgroundTimestamp)},drawElement:function(e,r,n,i,a){return t.drawElement(e,r,n,!1,!1,a)},getBoundingBox:f,getRotationPoint:function(e){return{x:((t=f(e)).x1+t.x2)/2,y:(t.y1+t.y2)/2};var t},getRotationOffset:function(e){return c(f(e))},allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),x=t.data.lblTxrCache=new ns(t,{getKey:function(e){return e[0]._private.labelStyleKey},drawElement:function(e,r,n,i,a){return t.drawElementText(e,r,n,i,\"main\",a)},getBoundingBox:h,getRotationPoint:function(e){return g(\"\",m(e,\"labelX\",\"labelY\"),e)},getRotationOffset:function(e){var t=h(e),r=c(h(e));if(e.isNode()){switch(e.pstyle(\"text-halign\").value){case\"left\":r.x=-t.w;break;case\"right\":r.x=0}switch(e.pstyle(\"text-valign\").value){case\"top\":r.y=-t.h;break;case\"bottom\":r.y=0}}return r},isVisible:v}),b=t.data.slbTxrCache=new ns(t,{getKey:function(e){return e[0]._private.sourceLabelStyleKey},drawElement:function(e,r,n,i,a){return t.drawElementText(e,r,n,i,\"source\",a)},getBoundingBox:p,getRotationPoint:function(e){return g(\"source\",m(e,\"sourceLabelX\",\"sourceLabelY\"),e)},getRotationOffset:function(e){return c(p(e))},isVisible:v}),_=t.data.tlbTxrCache=new ns(t,{getKey:function(e){return e[0]._private.targetLabelStyleKey},drawElement:function(e,r,n,i,a){return t.drawElementText(e,r,n,i,\"target\",a)},getBoundingBox:d,getRotationPoint:function(e){return g(\"target\",m(e,\"targetLabelX\",\"targetLabelY\"),e)},getRotationOffset:function(e){return c(d(e))},isVisible:v}),k=t.data.lyrTxrCache=new as(t);t.onUpdateEleCalcs((function(e,t){y.invalidateElements(t),x.invalidateElements(t),b.invalidateElements(t),_.invalidateElements(t),k.invalidateElements(t);for(var r=0;r<t.length;r++){var n=t[r]._private;n.oldBackgroundTimestamp=n.backgroundTimestamp}}));var T=function(e){for(var t=0;t<e.length;t++)k.enqueueElementRefinement(e[t].ele)};y.onDequeue(T),x.onDequeue(T),b.onDequeue(T),_.onDequeue(T)}Us.CANVAS_LAYERS=3,Us.SELECT_BOX=0,Us.DRAG=1,Us.NODE=2,Us.BUFFER_COUNT=3,Us.TEXTURE_BUFFER=0,Us.MOTIONBLUR_BUFFER_NODE=1,Us.MOTIONBLUR_BUFFER_DRAG=2,Us.redrawHint=function(e,t){var r=this;switch(e){case\"eles\":r.data.canvasNeedsRedraw[Us.NODE]=t;break;case\"drag\":r.data.canvasNeedsRedraw[Us.DRAG]=t;break;case\"select\":r.data.canvasNeedsRedraw[Us.SELECT_BOX]=t}};var Hs=\"undefined\"!=typeof Path2D;Us.path2dEnabled=function(e){if(void 0===e)return this.pathsEnabled;this.pathsEnabled=!!e},Us.usePaths=function(){return Hs&&this.pathsEnabled},Us.setImgSmoothing=function(e,t){null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled=t:(e.webkitImageSmoothingEnabled=t,e.mozImageSmoothingEnabled=t,e.msImageSmoothingEnabled=t)},Us.getImgSmoothing=function(e){return null!=e.imageSmoothingEnabled?e.imageSmoothingEnabled:e.webkitImageSmoothingEnabled||e.mozImageSmoothingEnabled||e.msImageSmoothingEnabled},Us.makeOffscreenCanvas=function(e,t){var r;return\"undefined\"!==(\"undefined\"==typeof OffscreenCanvas?\"undefined\":d(OffscreenCanvas))?r=new OffscreenCanvas(e,t):((r=document.createElement(\"canvas\")).width=e,r.height=t),r},[cs,gs,ks,Ms,As,Ss,Cs,Ls,Fs,{nodeShapeImpl:function(e,t,r,n,i,a,o){switch(e){case\"ellipse\":return this.drawEllipsePath(t,r,n,i,a);case\"polygon\":return this.drawPolygonPath(t,r,n,i,a,o);case\"round-polygon\":return this.drawRoundPolygonPath(t,r,n,i,a,o);case\"roundrectangle\":case\"round-rectangle\":return this.drawRoundRectanglePath(t,r,n,i,a);case\"cutrectangle\":case\"cut-rectangle\":return this.drawCutRectanglePath(t,r,n,i,a);case\"bottomroundrectangle\":case\"bottom-round-rectangle\":return this.drawBottomRoundRectanglePath(t,r,n,i,a);case\"barrel\":return this.drawBarrelPath(t,r,n,i,a)}}}].forEach((function(e){$(Us,e)}));var qs=[{type:\"layout\",extensions:Ao},{type:\"renderer\",extensions:[{name:\"null\",impl:So},{name:\"base\",impl:Ko},{name:\"canvas\",impl:js}]}],Gs={},Ys={};function Ws(e,t,r){var n=r,i=function(r){Se(\"Can not register `\"+t+\"` for `\"+e+\"` since `\"+r+\"` already exists in the prototype and can not be overridden\")};if(\"core\"===e){if(Ba.prototype[t])return i(t);Ba.prototype[t]=r}else if(\"collection\"===e){if(ea.prototype[t])return i(t);ea.prototype[t]=r}else if(\"layout\"===e){for(var a=function(e){this.options=e,r.call(this,e),P(this._private)||(this._private={}),this._private.cy=e.cy,this._private.listeners=[],this.createEmitter()},o=a.prototype=Object.create(r.prototype),s=[],l=0;l<s.length;l++){var u=s[l];o[u]=o[u]||function(){return this}}o.start&&!o.run?o.run=function(){return this.start(),this}:!o.start&&o.run&&(o.start=function(){return this.run(),this});var c=r.prototype.stop;o.stop=function(){var e=this.options;if(e&&e.animate){var t=this.animations;if(t)for(var r=0;r<t.length;r++)t[r].stop()}return c?c.call(this):this.emit(\"layoutstop\"),this},o.destroy||(o.destroy=function(){return this}),o.cy=function(){return this._private.cy};var f=function(e){return e._private.cy},h={addEventFields:function(e,t){t.layout=e,t.cy=f(e),t.target=e},bubble:function(){return!0},parent:function(e){return f(e)}};$(o,{createEmitter:function(){return this._private.emitter=new xi(h,this),this},emitter:function(){return this._private.emitter},on:function(e,t){return this.emitter().on(e,t),this},one:function(e,t){return this.emitter().one(e,t),this},once:function(e,t){return this.emitter().one(e,t),this},removeListener:function(e,t){return this.emitter().removeListener(e,t),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(e,t){return this.emitter().emit(e,t),this}}),on.eventAliasesOn(o),n=a}else if(\"renderer\"===e&&\"null\"!==t&&\"base\"!==t){var p=Zs(\"renderer\",\"base\"),d=p.prototype,v=r,g=r.prototype,m=function(){p.apply(this,arguments),v.apply(this,arguments)},y=m.prototype;for(var x in d){var b=d[x];if(null!=g[x])return i(x);y[x]=b}for(var _ in g)y[_]=g[_];d.clientFunctions.forEach((function(e){y[e]=y[e]||function(){Me(\"Renderer does not implement `renderer.\"+e+\"()` on its prototype\")}})),n=m}else if(\"__proto__\"===e||\"constructor\"===e||\"prototype\"===e)return Me(e+\" is an illegal type to be registered, possibly lead to prototype pollutions\");return ee({map:Gs,keys:[e,t],value:n})}function Zs(e,t){return te({map:Gs,keys:[e,t]})}function Xs(e,t,r,n,i){return ee({map:Ys,keys:[e,t,r,n],value:i})}function Ks(e,t,r,n){return te({map:Ys,keys:[e,t,r,n]})}var Js=function(){return 2===arguments.length?Zs.apply(null,arguments):3===arguments.length?Ws.apply(null,arguments):4===arguments.length?Ks.apply(null,arguments):5===arguments.length?Xs.apply(null,arguments):void Me(\"Invalid extension access syntax\")};Ba.prototype.extension=Js,qs.forEach((function(e){e.extensions.forEach((function(t){Ws(e.type,t.name,t.impl)}))}));var $s=function e(){if(!(this instanceof e))return new e;this.length=0},Qs=$s.prototype;Qs.instanceString=function(){return\"stylesheet\"},Qs.selector=function(e){return this[this.length++]={selector:e,properties:[]},this},Qs.css=function(e,t){var r=this.length-1;if(E(e))this[r].properties.push({name:e,value:t});else if(P(e))for(var n=e,i=Object.keys(n),a=0;a<i.length;a++){var o=i[a],s=n[o];if(null!=s){var l=Ia.properties[o]||Ia.properties[H(o)];if(null!=l){var u=l.name,c=s;this[r].properties.push({name:u,value:c})}}}return this},Qs.style=Qs.css,Qs.generateStyle=function(e){var t=new Ia(e);return this.appendToStyle(t)},Qs.appendToStyle=function(e){for(var t=0;t<this.length;t++){var r=this[t],n=r.selector,i=r.properties;e.selector(n);for(var a=0;a<i.length;a++){var o=i[a];e.css(o.name,o.value)}}return e};var el=function(e){return void 0===e&&(e={}),P(e)?new Ba(e):E(e)?Js.apply(Js,arguments):void 0};el.use=function(e){var t=Array.prototype.slice.call(arguments,1);return t.unshift(el),e.apply(null,t),this},el.warnings=function(e){return Ae(e)},el.version=\"3.26.0\",el.stylesheet=el.Stylesheet=$s,e.exports=el},4485:(e,t,r)=>{e.exports=r(2894)},2894:function(e,t){var r,n,i;(function(){var a,o,s,l,u,c,f,h,p,d,v,g,m,y,x;s=Math.floor,d=Math.min,o=function(e,t){return e<t?-1:e>t?1:0},p=function(e,t,r,n,i){var a;if(null==r&&(r=0),null==i&&(i=o),r<0)throw new Error(\"lo must be non-negative\");for(null==n&&(n=e.length);r<n;)i(t,e[a=s((r+n)/2)])<0?n=a:r=a+1;return[].splice.apply(e,[r,r-r].concat(t)),t},c=function(e,t,r){return null==r&&(r=o),e.push(t),y(e,0,e.length-1,r)},u=function(e,t){var r,n;return null==t&&(t=o),r=e.pop(),e.length?(n=e[0],e[0]=r,x(e,0,t)):n=r,n},h=function(e,t,r){var n;return null==r&&(r=o),n=e[0],e[0]=t,x(e,0,r),n},f=function(e,t,r){var n;return null==r&&(r=o),e.length&&r(e[0],t)<0&&(t=(n=[e[0],t])[0],e[0]=n[1],x(e,0,r)),t},l=function(e,t){var r,n,i,a,l,u;for(null==t&&(t=o),l=[],n=0,i=(a=function(){u=[];for(var t=0,r=s(e.length/2);0<=r?t<r:t>r;0<=r?t++:t--)u.push(t);return u}.apply(this).reverse()).length;n<i;n++)r=a[n],l.push(x(e,r,t));return l},m=function(e,t,r){var n;if(null==r&&(r=o),-1!==(n=e.indexOf(t)))return y(e,0,n,r),x(e,n,r)},v=function(e,t,r){var n,i,a,s,u;if(null==r&&(r=o),!(i=e.slice(0,t)).length)return i;for(l(i,r),a=0,s=(u=e.slice(t)).length;a<s;a++)n=u[a],f(i,n,r);return i.sort(r).reverse()},g=function(e,t,r){var n,i,a,s,c,f,h,v,g;if(null==r&&(r=o),10*t<=e.length){if(!(a=e.slice(0,t).sort(r)).length)return a;for(i=a[a.length-1],s=0,f=(h=e.slice(t)).length;s<f;s++)r(n=h[s],i)<0&&(p(a,n,0,null,r),a.pop(),i=a[a.length-1]);return a}for(l(e,r),g=[],c=0,v=d(t,e.length);0<=v?c<v:c>v;0<=v?++c:--c)g.push(u(e,r));return g},y=function(e,t,r,n){var i,a,s;for(null==n&&(n=o),i=e[r];r>t&&n(i,a=e[s=r-1>>1])<0;)e[r]=a,r=s;return e[r]=i},x=function(e,t,r){var n,i,a,s,l;for(null==r&&(r=o),i=e.length,l=t,a=e[t],n=2*t+1;n<i;)(s=n+1)<i&&!(r(e[n],e[s])<0)&&(n=s),e[t]=e[n],n=2*(t=n)+1;return e[t]=a,y(e,l,t,r)},a=function(){function e(e){this.cmp=null!=e?e:o,this.nodes=[]}return e.push=c,e.pop=u,e.replace=h,e.pushpop=f,e.heapify=l,e.updateItem=m,e.nlargest=v,e.nsmallest=g,e.prototype.push=function(e){return c(this.nodes,e,this.cmp)},e.prototype.pop=function(){return u(this.nodes,this.cmp)},e.prototype.peek=function(){return this.nodes[0]},e.prototype.contains=function(e){return-1!==this.nodes.indexOf(e)},e.prototype.replace=function(e){return h(this.nodes,e,this.cmp)},e.prototype.pushpop=function(e){return f(this.nodes,e,this.cmp)},e.prototype.heapify=function(){return l(this.nodes,this.cmp)},e.prototype.updateItem=function(e){return m(this.nodes,e,this.cmp)},e.prototype.clear=function(){return this.nodes=[]},e.prototype.empty=function(){return 0===this.nodes.length},e.prototype.size=function(){return this.nodes.length},e.prototype.clone=function(){var t;return(t=new e).nodes=this.nodes.slice(0),t},e.prototype.toArray=function(){return this.nodes.slice(0)},e.prototype.insert=e.prototype.push,e.prototype.top=e.prototype.peek,e.prototype.front=e.prototype.peek,e.prototype.has=e.prototype.contains,e.prototype.copy=e.prototype.clone,e}(),n=[],void 0===(i=\"function\"==typeof(r=function(){return a})?r.apply(t,n):r)||(e.exports=i)}).call(this)},8679:(e,t,r)=>{\"use strict\";var n=r(9864),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},o={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return n.isMemo(e)?o:s[e.$$typeof]||i}s[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[n.Memo]=o;var u=Object.defineProperty,c=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,h=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,d=Object.prototype;e.exports=function e(t,r,n){if(\"string\"!=typeof r){if(d){var i=p(r);i&&i!==d&&e(t,i,n)}var o=c(r);f&&(o=o.concat(f(r)));for(var s=l(t),v=l(r),g=0;g<o.length;++g){var m=o[g];if(!(a[m]||n&&n[m]||v&&v[m]||s&&s[m])){var y=h(r,m);try{u(t,m,y)}catch(e){}}}}return t}},1989:(e,t,r)=>{var n=r(1789),i=r(401),a=r(7667),o=r(1327),s=r(1866);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=i,l.prototype.get=a,l.prototype.has=o,l.prototype.set=s,e.exports=l},8407:(e,t,r)=>{var n=r(7040),i=r(4125),a=r(2117),o=r(7518),s=r(4705);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=i,l.prototype.get=a,l.prototype.has=o,l.prototype.set=s,e.exports=l},7071:(e,t,r)=>{var n=r(852)(r(5639),\"Map\");e.exports=n},3369:(e,t,r)=>{var n=r(4785),i=r(1285),a=r(6e3),o=r(9916),s=r(5265);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=i,l.prototype.get=a,l.prototype.has=o,l.prototype.set=s,e.exports=l},2705:(e,t,r)=>{var n=r(5639).Symbol;e.exports=n},9932:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}},4865:(e,t,r)=>{var n=r(9465),i=r(7813),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var o=e[t];a.call(e,t)&&i(o,r)&&(void 0!==r||t in e)||n(e,t,r)}},8470:(e,t,r)=>{var n=r(7813);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},9465:(e,t,r)=>{var n=r(8777);e.exports=function(e,t,r){\"__proto__\"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},7786:(e,t,r)=>{var n=r(1811),i=r(327);e.exports=function(e,t){for(var r=0,a=(t=n(t,e)).length;null!=e&&r<a;)e=e[i(t[r++])];return r&&r==a?e:void 0}},4239:(e,t,r)=>{var n=r(2705),i=r(9607),a=r(2333),o=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":o&&o in Object(e)?i(e):a(e)}},8458:(e,t,r)=>{var n=r(3560),i=r(5346),a=r(3218),o=r(346),s=/^\\[object .+?Constructor\\]$/,l=Function.prototype,u=Object.prototype,c=l.toString,f=u.hasOwnProperty,h=RegExp(\"^\"+c.call(f).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");e.exports=function(e){return!(!a(e)||i(e))&&(n(e)?h:s).test(o(e))}},611:(e,t,r)=>{var n=r(4865),i=r(1811),a=r(5776),o=r(3218),s=r(327);e.exports=function(e,t,r,l){if(!o(e))return e;for(var u=-1,c=(t=i(t,e)).length,f=c-1,h=e;null!=h&&++u<c;){var p=s(t[u]),d=r;if(\"__proto__\"===p||\"constructor\"===p||\"prototype\"===p)return e;if(u!=f){var v=h[p];void 0===(d=l?l(v,p,h):void 0)&&(d=o(v)?v:a(t[u+1])?[]:{})}n(h,p,d),h=h[p]}return e}},531:(e,t,r)=>{var n=r(2705),i=r(9932),a=r(1469),o=r(3448),s=n?n.prototype:void 0,l=s?s.toString:void 0;e.exports=function e(t){if(\"string\"==typeof t)return t;if(a(t))return i(t,e)+\"\";if(o(t))return l?l.call(t):\"\";var r=t+\"\";return\"0\"==r&&1/t==-1/0?\"-0\":r}},7561:(e,t,r)=>{var n=r(7990),i=/^\\s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(i,\"\"):e}},1811:(e,t,r)=>{var n=r(1469),i=r(5403),a=r(5514),o=r(9833);e.exports=function(e,t){return n(e)?e:i(e,t)?[e]:a(o(e))}},278:e=>{e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},4429:(e,t,r)=>{var n=r(5639)[\"__core-js_shared__\"];e.exports=n},8777:(e,t,r)=>{var n=r(852),i=function(){try{var e=n(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();e.exports=i},1957:(e,t,r)=>{var n=\"object\"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;e.exports=n},5050:(e,t,r)=>{var n=r(7019);e.exports=function(e,t){var r=e.__data__;return n(t)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map}},852:(e,t,r)=>{var n=r(8458),i=r(7801);e.exports=function(e,t){var r=i(e,t);return n(r)?r:void 0}},9607:(e,t,r)=>{var n=r(2705),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,s=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,s),r=e[s];try{e[s]=void 0;var n=!0}catch(e){}var i=o.call(e);return n&&(t?e[s]=r:delete e[s]),i}},7801:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},1789:(e,t,r)=>{var n=r(4536);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},401:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},7667:(e,t,r)=>{var n=r(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return\"__lodash_hash_undefined__\"===r?void 0:r}return i.call(t,e)?t[e]:void 0}},1327:(e,t,r)=>{var n=r(4536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:i.call(t,e)}},1866:(e,t,r)=>{var n=r(4536);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?\"__lodash_hash_undefined__\":t,this}},5776:e=>{var t=/^(?:0|[1-9]\\d*)$/;e.exports=function(e,r){var n=typeof e;return!!(r=null==r?9007199254740991:r)&&(\"number\"==n||\"symbol\"!=n&&t.test(e))&&e>-1&&e%1==0&&e<r}},5403:(e,t,r)=>{var n=r(1469),i=r(3448),a=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,o=/^\\w*$/;e.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!(\"number\"!=r&&\"symbol\"!=r&&\"boolean\"!=r&&null!=e&&!i(e))||o.test(e)||!a.test(e)||null!=t&&e in Object(t)}},7019:e=>{e.exports=function(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}},5346:(e,t,r)=>{var n,i=r(4429),a=(n=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+n:\"\";e.exports=function(e){return!!a&&a in e}},7040:e=>{e.exports=function(){this.__data__=[],this.size=0}},4125:(e,t,r)=>{var n=r(8470),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0||(r==t.length-1?t.pop():i.call(t,r,1),--this.size,0))}},2117:(e,t,r)=>{var n=r(8470);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},7518:(e,t,r)=>{var n=r(8470);e.exports=function(e){return n(this.__data__,e)>-1}},4705:(e,t,r)=>{var n=r(8470);e.exports=function(e,t){var r=this.__data__,i=n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}},4785:(e,t,r)=>{var n=r(1989),i=r(8407),a=r(7071);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||i),string:new n}}},1285:(e,t,r)=>{var n=r(5050);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},6e3:(e,t,r)=>{var n=r(5050);e.exports=function(e){return n(this,e).get(e)}},9916:(e,t,r)=>{var n=r(5050);e.exports=function(e){return n(this,e).has(e)}},5265:(e,t,r)=>{var n=r(5050);e.exports=function(e,t){var r=n(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}},4523:(e,t,r)=>{var n=r(8306);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},4536:(e,t,r)=>{var n=r(852)(Object,\"create\");e.exports=n},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5639:(e,t,r)=>{var n=r(1957),i=\"object\"==typeof self&&self&&self.Object===Object&&self,a=n||i||Function(\"return this\")();e.exports=a},5514:(e,t,r)=>{var n=r(4523),i=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,a=/\\\\(\\\\)?/g,o=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(i,(function(e,r,n,i){t.push(n?i.replace(a,\"$1\"):r||e)})),t}));e.exports=o},327:(e,t,r)=>{var n=r(3448);e.exports=function(e){if(\"string\"==typeof e||n(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}},346:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}},7990:e=>{var t=/\\s/;e.exports=function(e){for(var r=e.length;r--&&t.test(e.charAt(r)););return r}},3279:(e,t,r)=>{var n=r(3218),i=r(7771),a=r(4841),o=Math.max,s=Math.min;e.exports=function(e,t,r){var l,u,c,f,h,p,d=0,v=!1,g=!1,m=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function y(t){var r=l,n=u;return l=u=void 0,d=t,f=e.apply(n,r)}function x(e){var r=e-p;return void 0===p||r>=t||r<0||g&&e-d>=c}function b(){var e=i();if(x(e))return _(e);h=setTimeout(b,function(e){var r=t-(e-p);return g?s(r,c-(e-d)):r}(e))}function _(e){return h=void 0,m&&l?y(e):(l=u=void 0,f)}function w(){var e=i(),r=x(e);if(l=arguments,u=this,p=e,r){if(void 0===h)return function(e){return d=e,h=setTimeout(b,t),v?y(e):f}(p);if(g)return clearTimeout(h),h=setTimeout(b,t),y(p)}return void 0===h&&(h=setTimeout(b,t)),f}return t=a(t)||0,n(r)&&(v=!!r.leading,c=(g=\"maxWait\"in r)?o(a(r.maxWait)||0,t):c,m=\"trailing\"in r?!!r.trailing:m),w.cancel=function(){void 0!==h&&clearTimeout(h),d=0,l=p=u=h=void 0},w.flush=function(){return void 0===h?f:_(i())},w}},7813:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},7361:(e,t,r)=>{var n=r(7786);e.exports=function(e,t,r){var i=null==e?void 0:n(e,t);return void 0===i?r:i}},1469:e=>{var t=Array.isArray;e.exports=t},3560:(e,t,r)=>{var n=r(4239),i=r(3218);e.exports=function(e){if(!i(e))return!1;var t=n(e);return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}},3218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}},7005:e=>{e.exports=function(e){return null!=e&&\"object\"==typeof e}},3448:(e,t,r)=>{var n=r(4239),i=r(7005);e.exports=function(e){return\"symbol\"==typeof e||i(e)&&\"[object Symbol]\"==n(e)}},8306:(e,t,r)=>{var n=r(3369);function i(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(\"Expected a function\");var r=function(){var n=arguments,i=t?t.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var o=e.apply(this,n);return r.cache=a.set(i,o)||a,o};return r.cache=new(i.Cache||n),r}i.Cache=n,e.exports=i},7771:(e,t,r)=>{var n=r(5639);e.exports=function(){return n.Date.now()}},6968:(e,t,r)=>{var n=r(611);e.exports=function(e,t,r){return null==e?e:n(e,t,r)}},4841:(e,t,r)=>{var n=r(7561),i=r(3218),a=r(3448),o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if(\"number\"==typeof e)return e;if(a(e))return NaN;if(i(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=n(e);var r=s.test(e);return r||l.test(e)?u(e.slice(2),r?2:8):o.test(e)?NaN:+e}},84:(e,t,r)=>{var n=r(9932),i=r(278),a=r(1469),o=r(3448),s=r(5514),l=r(327),u=r(9833);e.exports=function(e){return a(e)?n(e,l):o(e)?[e]:i(s(u(e)))}},9833:(e,t,r)=>{var n=r(531);e.exports=function(e){return null==e?\"\":n(e)}},7418:e=>{\"use strict\";var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(e){n[e]=e})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(e){return!1}}()?Object.assign:function(e,i){for(var a,o,s=function(e){if(null==e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}(e),l=1;l<arguments.length;l++){for(var u in a=Object(arguments[l]))r.call(a,u)&&(s[u]=a[u]);if(t){o=t(a);for(var c=0;c<o.length;c++)n.call(a,o[c])&&(s[o[c]]=a[o[c]])}}return s}},5478:e=>{var t;self,t=function(){return function(){var e={98847:function(e,t,r){\"use strict\";var n=r(71828),i={\"X,X div\":'direction:ltr;font-family:\"Open Sans\",verdana,arial,sans-serif;margin:0;padding:0;',\"X input,X button\":'font-family:\"Open Sans\",verdana,arial,sans-serif;',\"X input:focus,X button:focus\":\"outline:none;\",\"X a\":\"text-decoration:none;\",\"X a:hover\":\"text-decoration:none;\",\"X .crisp\":\"shape-rendering:crispEdges;\",\"X .user-select-none\":\"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\"X svg\":\"overflow:hidden;\",\"X svg a\":\"fill:#447adb;\",\"X svg a:hover\":\"fill:#3c6dc5;\",\"X .main-svg\":\"position:absolute;top:0;left:0;pointer-events:none;\",\"X .main-svg .draglayer\":\"pointer-events:all;\",\"X .cursor-default\":\"cursor:default;\",\"X .cursor-pointer\":\"cursor:pointer;\",\"X .cursor-crosshair\":\"cursor:crosshair;\",\"X .cursor-move\":\"cursor:move;\",\"X .cursor-col-resize\":\"cursor:col-resize;\",\"X .cursor-row-resize\":\"cursor:row-resize;\",\"X .cursor-ns-resize\":\"cursor:ns-resize;\",\"X .cursor-ew-resize\":\"cursor:ew-resize;\",\"X .cursor-sw-resize\":\"cursor:sw-resize;\",\"X .cursor-s-resize\":\"cursor:s-resize;\",\"X .cursor-se-resize\":\"cursor:se-resize;\",\"X .cursor-w-resize\":\"cursor:w-resize;\",\"X .cursor-e-resize\":\"cursor:e-resize;\",\"X .cursor-nw-resize\":\"cursor:nw-resize;\",\"X .cursor-n-resize\":\"cursor:n-resize;\",\"X .cursor-ne-resize\":\"cursor:ne-resize;\",\"X .cursor-grab\":\"cursor:-webkit-grab;cursor:grab;\",\"X .modebar\":\"position:absolute;top:2px;right:2px;\",\"X .ease-bg\":\"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;\",\"X .modebar--hover>:not(.watermark)\":\"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;\",\"X:hover .modebar--hover .modebar-group\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar.vertical\":\"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\"X .modebar.vertical svg\":\"top:-1px;\",\"X .modebar.vertical .modebar-group\":\"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\"X .modebar.vertical .modebar-group .modebar-btn\":\"display:block;text-align:center;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":'content:\"\";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\"X .vertical [data-title]:before,X .vertical [data-title]:after\":\"top:0%;right:200%;\",\"X .vertical [data-title]:before\":\"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",Y:'font-family:\"Open Sans\",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',\"Y p\":\"margin:0;\",\"Y .notifier-note\":\"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\"Y .notifier-close\":\"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\"Y .notifier-close:hover\":\"color:#444;text-decoration:none;cursor:pointer;\"};for(var a in i){var o=a.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");n.addStyleRule(o,i[a])}},98222:function(e,t,r){\"use strict\";e.exports=r(82887)},27206:function(e,t,r){\"use strict\";e.exports=r(60822)},59893:function(e,t,r){\"use strict\";e.exports=r(23381)},5224:function(e,t,r){\"use strict\";e.exports=r(83832)},59509:function(e,t,r){\"use strict\";e.exports=r(72201)},75557:function(e,t,r){\"use strict\";e.exports=r(91815)},40338:function(e,t,r){\"use strict\";e.exports=r(21462)},35080:function(e,t,r){\"use strict\";e.exports=r(51319)},61396:function(e,t,r){\"use strict\";e.exports=r(57516)},40549:function(e,t,r){\"use strict\";e.exports=r(98128)},49866:function(e,t,r){\"use strict\";e.exports=r(99442)},36089:function(e,t,r){\"use strict\";e.exports=r(93740)},19548:function(e,t,r){\"use strict\";e.exports=r(8729)},35831:function(e,t,r){\"use strict\";e.exports=r(93814)},61039:function(e,t,r){\"use strict\";e.exports=r(14382)},97040:function(e,t,r){\"use strict\";e.exports=r(51759)},77986:function(e,t,r){\"use strict\";e.exports=r(10421)},24296:function(e,t,r){\"use strict\";e.exports=r(43102)},58872:function(e,t,r){\"use strict\";e.exports=r(92165)},29626:function(e,t,r){\"use strict\";e.exports=r(3325)},65591:function(e,t,r){\"use strict\";e.exports=r(36071)},69738:function(e,t,r){\"use strict\";e.exports=r(43905)},92650:function(e,t,r){\"use strict\";e.exports=r(35902)},35630:function(e,t,r){\"use strict\";e.exports=r(69816)},73434:function(e,t,r){\"use strict\";e.exports=r(94507)},27909:function(e,t,r){\"use strict\";var n=r(19548);n.register([r(27206),r(5224),r(58872),r(65591),r(69738),r(92650),r(49866),r(25743),r(6197),r(97040),r(85461),r(73434),r(54201),r(81299),r(47645),r(35630),r(77986),r(83043),r(93005),r(96881),r(4534),r(50581),r(40549),r(77900),r(47582),r(35080),r(21641),r(17280),r(5861),r(29626),r(10021),r(65317),r(96268),r(61396),r(35831),r(16122),r(46163),r(40344),r(40338),r(48131),r(36089),r(55334),r(75557),r(19440),r(99488),r(59893),r(97393),r(98222),r(61039),r(24296),r(66398),r(59509)]),e.exports=n},46163:function(e,t,r){\"use strict\";e.exports=r(15154)},96881:function(e,t,r){\"use strict\";e.exports=r(64943)},50581:function(e,t,r){\"use strict\";e.exports=r(21164)},55334:function(e,t,r){\"use strict\";e.exports=r(54186)},65317:function(e,t,r){\"use strict\";e.exports=r(94873)},10021:function(e,t,r){\"use strict\";e.exports=r(67618)},54201:function(e,t,r){\"use strict\";e.exports=r(58810)},5861:function(e,t,r){\"use strict\";e.exports=r(20593)},16122:function(e,t,r){\"use strict\";e.exports=r(29396)},83043:function(e,t,r){\"use strict\";e.exports=r(13551)},48131:function(e,t,r){\"use strict\";e.exports=r(46858)},47582:function(e,t,r){\"use strict\";e.exports=r(17988)},21641:function(e,t,r){\"use strict\";e.exports=r(68868)},96268:function(e,t,r){\"use strict\";e.exports=r(20467)},19440:function(e,t,r){\"use strict\";e.exports=r(91271)},99488:function(e,t,r){\"use strict\";e.exports=r(21461)},97393:function(e,t,r){\"use strict\";e.exports=r(85956)},25743:function(e,t,r){\"use strict\";e.exports=r(52979)},66398:function(e,t,r){\"use strict\";e.exports=r(32275)},17280:function(e,t,r){\"use strict\";e.exports=r(6419)},77900:function(e,t,r){\"use strict\";e.exports=r(61510)},81299:function(e,t,r){\"use strict\";e.exports=r(87619)},93005:function(e,t,r){\"use strict\";e.exports=r(93601)},40344:function(e,t,r){\"use strict\";e.exports=r(96595)},47645:function(e,t,r){\"use strict\";e.exports=r(70954)},6197:function(e,t,r){\"use strict\";e.exports=r(47462)},4534:function(e,t,r){\"use strict\";e.exports=r(17659)},85461:function(e,t,r){\"use strict\";e.exports=r(19990)},82884:function(e){\"use strict\";e.exports=[{path:\"\",backoff:0},{path:\"M-2.4,-3V3L0.6,0Z\",backoff:.6},{path:\"M-3.7,-2.5V2.5L1.3,0Z\",backoff:1.3},{path:\"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z\",backoff:1.55},{path:\"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z\",backoff:1.6},{path:\"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z\",backoff:2},{path:\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\",backoff:0,noRotate:!0},{path:\"M2,2V-2H-2V2Z\",backoff:0,noRotate:!0}]},50215:function(e,t,r){\"use strict\";var n=r(82884),i=r(41940),a=r(85555),o=r(44467).templatedArray;r(24695),e.exports=o(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:i({editType:\"calc+arraydraw\",colorEditType:\"arraydraw\"}),width:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},height:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"center\",editType:\"arraydraw\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"arraydraw\"},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},borderpad:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},showarrow:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},arrowcolor:{valType:\"color\",editType:\"arraydraw\"},arrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},arrowside:{valType:\"flaglist\",flags:[\"end\",\"start\"],extras:[\"none\"],dflt:\"end\",editType:\"arraydraw\"},arrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},startarrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},arrowwidth:{valType:\"number\",min:.1,editType:\"calc+arraydraw\"},standoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},startstandoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},ax:{valType:\"any\",editType:\"calc+arraydraw\"},ay:{valType:\"any\",editType:\"calc+arraydraw\"},axref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.x.toString()],editType:\"calc\"},x:{valType:\"any\",editType:\"calc+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calc+arraydraw\"},xshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.y.toString()],editType:\"calc\"},y:{valType:\"any\",editType:\"calc+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"calc+arraydraw\"},yshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},clicktoshow:{valType:\"enumerated\",values:[!1,\"onoff\",\"onout\"],dflt:!1,editType:\"arraydraw\"},xclick:{valType:\"any\",editType:\"arraydraw\"},yclick:{valType:\"any\",editType:\"arraydraw\"},hovertext:{valType:\"string\",editType:\"arraydraw\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",editType:\"arraydraw\"},font:i({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\",_deprecated:{ref:{valType:\"string\",editType:\"calc\"}}})},3749:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298),a=r(92605).draw;function o(e){var t=e._fullLayout;n.filterVisible(t.annotations).forEach((function(t){var r=i.getFromId(e,t.xref),n=i.getFromId(e,t.yref),a=i.getRefType(t.xref),o=i.getRefType(t.yref);t._extremes={},\"range\"===a&&s(t,r),\"range\"===o&&s(t,n)}))}function s(e,t){var r,n=t._id,a=n.charAt(0),o=e[a],s=e[\"a\"+a],l=e[a+\"ref\"],u=e[\"a\"+a+\"ref\"],c=e[\"_\"+a+\"padplus\"],f=e[\"_\"+a+\"padminus\"],h={x:1,y:-1}[a]*e[a+\"shift\"],p=3*e.arrowsize*e.arrowwidth||0,d=p+h,v=p-h,g=3*e.startarrowsize*e.arrowwidth||0,m=g+h,y=g-h;if(u===l){var x=i.findExtremes(t,[t.r2c(o)],{ppadplus:d,ppadminus:v}),b=i.findExtremes(t,[t.r2c(s)],{ppadplus:Math.max(c,m),ppadminus:Math.max(f,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else m=s?m+s:m,y=s?y-s:y,r=i.findExtremes(t,[t.r2c(o)],{ppadplus:Math.max(c,d,m),ppadminus:Math.max(f,v,y)});e._extremes[n]=r}e.exports=function(e){var t=e._fullLayout;if(n.filterVisible(t.annotations).length&&e._fullData.length)return n.syncOrAsync([a,o],e)}},44317:function(e,t,r){\"use strict\";var n=r(71828),i=r(73972),a=r(44467).arrayEditor;function o(e,t){var r,n,i,a,o,l,u,c=e._fullLayout.annotations,f=[],h=[],p=[],d=(t||[]).length;for(r=0;r<c.length;r++)if(a=(i=c[r]).clicktoshow){for(n=0;n<d;n++)if(l=(o=t[n]).xaxis,u=o.yaxis,l._id===i.xref&&u._id===i.yref&&l.d2r(o.x)===s(i._xclick,l)&&u.d2r(o.y)===s(i._yclick,u)){(i.visible?\"onout\"===a?h:p:f).push(r);break}n===d&&i.visible&&\"onout\"===a&&h.push(r)}return{on:f,off:h,explicitOff:p}}function s(e,t){return\"log\"===t.type?t.l2r(e):t.d2r(e)}e.exports={hasClickToShow:function(e,t){var r=o(e,t);return r.on.length>0||r.explicitOff.length>0},onClick:function(e,t){var r,s,l=o(e,t),u=l.on,c=l.off.concat(l.explicitOff),f={},h=e._fullLayout.annotations;if(u.length||c.length){for(r=0;r<u.length;r++)(s=a(e.layout,\"annotations\",h[u[r]])).modifyItem(\"visible\",!0),n.extendFlat(f,s.getUpdateObj());for(r=0;r<c.length;r++)(s=a(e.layout,\"annotations\",h[c[r]])).modifyItem(\"visible\",!1),n.extendFlat(f,s.getUpdateObj());return i.call(\"update\",e,{},f)}}}},25625:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901);e.exports=function(e,t,r,a){a(\"opacity\");var o=a(\"bgcolor\"),s=a(\"bordercolor\"),l=i.opacity(s);a(\"borderpad\");var u=a(\"borderwidth\"),c=a(\"showarrow\");if(a(\"text\",c?\" \":r._dfltTitle.annotation),a(\"textangle\"),n.coerceFont(a,\"font\",r.font),a(\"width\"),a(\"align\"),a(\"height\")&&a(\"valign\"),c){var f,h,p=a(\"arrowside\");-1!==p.indexOf(\"end\")&&(f=a(\"arrowhead\"),h=a(\"arrowsize\")),-1!==p.indexOf(\"start\")&&(a(\"startarrowhead\",f),a(\"startarrowsize\",h)),a(\"arrowcolor\",l?t.bordercolor:i.defaultLine),a(\"arrowwidth\",2*(l&&u||1)),a(\"standoff\"),a(\"startstandoff\")}var d=a(\"hovertext\"),v=r.hoverlabel||{};if(d){var g=a(\"hoverlabel.bgcolor\",v.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),m=a(\"hoverlabel.bordercolor\",v.bordercolor||i.contrast(g));n.coerceFont(a,\"hoverlabel.font\",{family:v.font.family,size:v.font.size,color:v.font.color||m})}a(\"captureevents\",!!d)}},94128:function(e,t,r){\"use strict\";var n=r(92770),i=r(58163);e.exports=function(e,t,r,a){t=t||{};var o=\"log\"===r&&\"linear\"===t.type,s=\"linear\"===r&&\"log\"===t.type;if(o||s)for(var l,u,c=e._fullLayout.annotations,f=t._id.charAt(0),h=0;h<c.length;h++)l=c[h],u=\"annotations[\"+h+\"].\",l[f+\"ref\"]===t._id&&p(f),l[\"a\"+f+\"ref\"]===t._id&&p(\"a\"+f);function p(e){var r=l[e],s=null;s=o?i(r,t.range):Math.pow(10,r),n(s)||(s=null),a(u+e,s)}}},84046:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298),a=r(85501),o=r(25625),s=r(50215);function l(e,t,r){function a(r,i){return n.coerce(e,t,s,r,i)}var l=a(\"visible\"),u=a(\"clicktoshow\");if(l||u){o(e,t,r,a);for(var c=t.showarrow,f=[\"x\",\"y\"],h=[-10,-30],p={_fullLayout:r},d=0;d<2;d++){var v=f[d],g=i.coerceRef(e,t,p,v,\"\",\"paper\");if(\"paper\"!==g&&i.getFromId(p,g)._annIndices.push(t._index),i.coercePosition(t,p,a,g,v,.5),c){var m=\"a\"+v,y=i.coerceRef(e,t,p,m,\"pixel\",[\"pixel\",\"paper\"]);\"pixel\"!==y&&y!==g&&(y=t[m]=\"pixel\");var x=\"pixel\"===y?h[d]:.4;i.coercePosition(t,p,a,y,m,x)}a(v+\"anchor\"),a(v+\"shift\")}if(n.noneOrAll(e,t,[\"x\",\"y\"]),c&&n.noneOrAll(e,t,[\"ax\",\"ay\"]),u){var b=a(\"xclick\"),_=a(\"yclick\");t._xclick=void 0===b?t.x:i.cleanPosition(b,p,t.xref),t._yclick=void 0===_?t.y:i.cleanPosition(_,p,t.yref)}}}e.exports=function(e,t){a(e,t,{name:\"annotations\",handleItemDefaults:l})}},92605:function(e,t,r){\"use strict\";var n=r(39898),i=r(73972),a=r(74875),o=r(71828),s=o.strTranslate,l=r(89298),u=r(7901),c=r(91424),f=r(30211),h=r(63893),p=r(6964),d=r(28569),v=r(44467).arrayEditor,g=r(13011);function m(e,t){var r=e._fullLayout.annotations[t]||{},n=l.getFromId(e,r.xref),i=l.getFromId(e,r.yref);n&&n.setScale(),i&&i.setScale(),x(e,r,t,!1,n,i)}function y(e,t,r,n,i){var a=i[r],o=i[r+\"ref\"],s=-1!==r.indexOf(\"y\"),u=\"domain\"===l.getRefType(o),c=s?n.h:n.w;return e?u?a+(s?-t:t)/e._length:e.p2r(e.r2p(a)+t):a+(s?-t:t)/c}function x(e,t,r,a,m,x){var b,_,w=e._fullLayout,k=e._fullLayout._size,T=e._context.edits;a?(b=\"annotation-\"+a,_=a+\".annotations\"):(b=\"annotation\",_=\"annotations\");var M=v(e.layout,_,t),A=M.modifyBase,S=M.modifyItem,E=M.getUpdateObj;w._infolayer.selectAll(\".\"+b+'[data-index=\"'+r+'\"]').remove();var C=\"clip\"+w._uid+\"_ann\"+r;if(t._input&&!1!==t.visible){var L={x:{},y:{}},P=+t.textangle||0,O=w._infolayer.append(\"g\").classed(b,!0).attr(\"data-index\",String(r)).style(\"opacity\",t.opacity),I=O.append(\"g\").classed(\"annotation-text-g\",!0),D=T[t.showarrow?\"annotationTail\":\"annotationPosition\"],z=t.captureevents||T.annotationText||D,R=I.append(\"g\").style(\"pointer-events\",z?\"all\":null).call(p,\"pointer\").on(\"click\",(function(){e._dragging=!1,e.emit(\"plotly_clickannotation\",Y(n.event))}));t.hovertext&&R.on(\"mouseover\",(function(){var r=t.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=e.getBoundingClientRect();f.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:t.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:w._hoverlayer.node(),outerContainer:w._paper.node(),gd:e})})).on(\"mouseout\",(function(){f.loneUnhover(w._hoverlayer.node())}));var F=t.borderwidth,B=t.borderpad,N=F+B,j=R.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",F+\"px\").call(u.stroke,t.bordercolor).call(u.fill,t.bgcolor),U=t.width||t.height,V=w._topclips.selectAll(\"#\"+C).data(U?[0]:[]);V.enter().append(\"clipPath\").classed(\"annclip\",!0).attr(\"id\",C).append(\"rect\"),V.exit().remove();var H=t.font,q=w._meta?o.templateString(t.text,w._meta):t.text,G=R.append(\"text\").classed(\"annotation-text\",!0).text(q);T.annotationText?G.call(h.makeEditable,{delegate:R,gd:e}).call(W).on(\"edit\",(function(r){t.text=r,this.call(W),S(\"text\",r),m&&m.autorange&&A(m._name+\".autorange\",!0),x&&x.autorange&&A(x._name+\".autorange\",!0),i.call(\"_guiRelayout\",e,E())})):G.call(W)}else n.selectAll(\"#\"+C).remove();function Y(e){var n={index:r,annotation:t._input,fullAnnotation:t,event:e};return a&&(n.subplotId=a),n}function W(r){return r.call(c.font,H).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[t.align]||\"middle\"}),h.convertToTspans(r,e,Z),r}function Z(){var r=G.selectAll(\"a\");1===r.size()&&r.text()===G.text()&&R.insert(\"a\",\":first-child\").attr({\"xlink:xlink:href\":r.attr(\"xlink:href\"),\"xlink:xlink:show\":r.attr(\"xlink:show\")}).style({cursor:\"pointer\"}).node().appendChild(j.node());var n=R.select(\".annotation-text-math-group\"),f=!n.empty(),v=c.bBox((f?n:G).node()),b=v.width,_=v.height,M=t.width||b,z=t.height||_,B=Math.round(M+2*N),H=Math.round(z+2*N);function q(e,t){return\"auto\"===t&&(t=e<1/3?\"left\":e>2/3?\"right\":\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[t]}for(var W=!1,Z=[\"x\",\"y\"],X=0;X<Z.length;X++){var K,J,$,Q,ee,te=Z[X],re=t[te+\"ref\"]||te,ne=t[\"a\"+te+\"ref\"],ie={x:m,y:x}[te],ae=(P+(\"x\"===te?0:-90))*Math.PI/180,oe=B*Math.cos(ae),se=H*Math.sin(ae),le=Math.abs(oe)+Math.abs(se),ue=t[te+\"anchor\"],ce=t[te+\"shift\"]*(\"x\"===te?1:-1),fe=L[te],he=l.getRefType(re);if(ie&&\"domain\"!==he){var pe=ie.r2fraction(t[te]);(pe<0||pe>1)&&(ne===re?((pe=ie.r2fraction(t[\"a\"+te]))<0||pe>1)&&(W=!0):W=!0),K=ie._offset+ie.r2p(t[te]),Q=.5}else{var de=\"domain\"===he;\"x\"===te?($=t[te],K=de?ie._offset+ie._length*$:K=k.l+k.w*$):($=1-t[te],K=de?ie._offset+ie._length*$:K=k.t+k.h*$),Q=t.showarrow?.5:$}if(t.showarrow){fe.head=K;var ve=t[\"a\"+te];if(ee=oe*q(.5,t.xanchor)-se*q(.5,t.yanchor),ne===re){var ge=l.getRefType(ne);\"domain\"===ge?(\"y\"===te&&(ve=1-ve),fe.tail=ie._offset+ie._length*ve):\"paper\"===ge?\"y\"===te?(ve=1-ve,fe.tail=k.t+k.h*ve):fe.tail=k.l+k.w*ve:fe.tail=ie._offset+ie.r2p(ve),J=ee}else fe.tail=K+ve,J=ee+ve;fe.text=fe.tail+ee;var me=w[\"x\"===te?\"width\":\"height\"];if(\"paper\"===re&&(fe.head=o.constrain(fe.head,1,me-1)),\"pixel\"===ne){var ye=-Math.max(fe.tail-3,fe.text),xe=Math.min(fe.tail+3,fe.text)-me;ye>0?(fe.tail+=ye,fe.text+=ye):xe>0&&(fe.tail-=xe,fe.text-=xe)}fe.tail+=ce,fe.head+=ce}else J=ee=le*q(Q,ue),fe.text=K+ee;fe.text+=ce,ee+=ce,J+=ce,t[\"_\"+te+\"padplus\"]=le/2+J,t[\"_\"+te+\"padminus\"]=le/2-J,t[\"_\"+te+\"size\"]=le,t[\"_\"+te+\"shift\"]=ee}if(W)R.remove();else{var be=0,_e=0;if(\"left\"!==t.align&&(be=(M-b)*(\"center\"===t.align?.5:1)),\"top\"!==t.valign&&(_e=(z-_)*(\"middle\"===t.valign?.5:1)),f)n.select(\"svg\").attr({x:N+be-1,y:N+_e}).call(c.setClipUrl,U?C:null,e);else{var we=N+_e-v.top,ke=N+be-v.left;G.call(h.positionText,ke,we).call(c.setClipUrl,U?C:null,e)}V.select(\"rect\").call(c.setRect,N,N,M,z),j.call(c.setRect,F/2,F/2,B-F,H-F),R.call(c.setTranslate,Math.round(L.x.text-B/2),Math.round(L.y.text-H/2)),I.attr({transform:\"rotate(\"+P+\",\"+L.x.text+\",\"+L.y.text+\")\"});var Te,Me=function(r,n){O.selectAll(\".annotation-arrow-g\").remove();var l=L.x.head,f=L.y.head,h=L.x.tail+r,p=L.y.tail+n,v=L.x.text+r,b=L.y.text+n,_=o.rotationXYMatrix(P,v,b),w=o.apply2DTransform(_),M=o.apply2DTransform2(_),C=+j.attr(\"width\"),D=+j.attr(\"height\"),z=v-.5*C,F=z+C,B=b-.5*D,N=B+D,U=[[z,B,z,N],[z,N,F,N],[F,N,F,B],[F,B,z,B]].map(M);if(!U.reduce((function(e,t){return e^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,t[0],t[1],t[2],t[3])}),!1)){U.forEach((function(e){var t=o.segmentsIntersect(h,p,l,f,e[0],e[1],e[2],e[3]);t&&(h=t.x,p=t.y)}));var V=t.arrowwidth,H=t.arrowcolor,q=t.arrowside,G=O.append(\"g\").style({opacity:u.opacity(H)}).classed(\"annotation-arrow-g\",!0),Y=G.append(\"path\").attr(\"d\",\"M\"+h+\",\"+p+\"L\"+l+\",\"+f).style(\"stroke-width\",V+\"px\").call(u.stroke,u.rgb(H));if(g(Y,q,t),T.annotationPosition&&Y.node().parentNode&&!a){var W=l,Z=f;if(t.standoff){var X=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));W+=t.standoff*(h-l)/X,Z+=t.standoff*(p-f)/X}var K,J,$=G.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(h-W)+\",\"+(p-Z),transform:s(W,Z)}).style(\"stroke-width\",V+6+\"px\").call(u.stroke,\"rgba(0,0,0,0)\").call(u.fill,\"rgba(0,0,0,0)\");d.init({element:$.node(),gd:e,prepFn:function(){var e=c.getTranslate(R);K=e.x,J=e.y,m&&m.autorange&&A(m._name+\".autorange\",!0),x&&x.autorange&&A(x._name+\".autorange\",!0)},moveFn:function(e,r){var n=w(K,J),i=n[0]+e,a=n[1]+r;R.call(c.setTranslate,i,a),S(\"x\",y(m,e,\"x\",k,t)),S(\"y\",y(x,r,\"y\",k,t)),t.axref===t.xref&&S(\"ax\",y(m,e,\"ax\",k,t)),t.ayref===t.yref&&S(\"ay\",y(x,r,\"ay\",k,t)),G.attr(\"transform\",s(e,r)),I.attr({transform:\"rotate(\"+P+\",\"+i+\",\"+a+\")\"})},doneFn:function(){i.call(\"_guiRelayout\",e,E());var t=document.querySelector(\".js-notes-box-panel\");t&&t.redraw(t.selectedObj)}})}}};t.showarrow&&Me(0,0),D&&d.init({element:R.node(),gd:e,prepFn:function(){Te=I.attr(\"transform\")},moveFn:function(e,r){var n=\"pointer\";if(t.showarrow)t.axref===t.xref?S(\"ax\",y(m,e,\"ax\",k,t)):S(\"ax\",t.ax+e),t.ayref===t.yref?S(\"ay\",y(x,r,\"ay\",k.w,t)):S(\"ay\",t.ay+r),Me(e,r);else{if(a)return;var i,o;if(m)i=y(m,e,\"x\",k,t);else{var l=t._xsize/k.w,u=t.x+(t._xshift-t.xshift)/k.w-l/2;i=d.align(u+e/k.w,l,0,1,t.xanchor)}if(x)o=y(x,r,\"y\",k,t);else{var c=t._ysize/k.h,f=t.y-(t._yshift+t.yshift)/k.h-c/2;o=d.align(f-r/k.h,c,0,1,t.yanchor)}S(\"x\",i),S(\"y\",o),m&&x||(n=d.getCursor(m?.5:i,x?.5:o,t.xanchor,t.yanchor))}I.attr({transform:s(e,r)+Te}),p(R,n)},clickFn:function(r,n){t.captureevents&&e.emit(\"plotly_clickannotation\",Y(n))},doneFn:function(){p(R),i.call(\"_guiRelayout\",e,E());var t=document.querySelector(\".js-notes-box-panel\");t&&t.redraw(t.selectedObj)}})}}}e.exports={draw:function(e){var t=e._fullLayout;t._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<t.annotations.length;r++)t.annotations[r].visible&&m(e,r);return a.previousPromises(e)},drawOne:m,drawRaw:x}},13011:function(e,t,r){\"use strict\";var n=r(39898),i=r(7901),a=r(82884),o=r(71828),s=o.strScale,l=o.strRotate,u=o.strTranslate;e.exports=function(e,t,r){var o,c,f,h,p=e.node(),d=a[r.arrowhead||0],v=a[r.startarrowhead||0],g=(r.arrowwidth||1)*(r.arrowsize||1),m=(r.arrowwidth||1)*(r.startarrowsize||1),y=t.indexOf(\"start\")>=0,x=t.indexOf(\"end\")>=0,b=d.backoff*g+r.standoff,_=v.backoff*m+r.startstandoff;if(\"line\"===p.nodeName){o={x:+e.attr(\"x1\"),y:+e.attr(\"y1\")},c={x:+e.attr(\"x2\"),y:+e.attr(\"y2\")};var w=o.x-c.x,k=o.y-c.y;if(h=(f=Math.atan2(k,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+k*k))return void D();if(b){if(b*b>w*w+k*k)return void D();var T=b*Math.cos(f),M=b*Math.sin(f);c.x+=T,c.y+=M,e.attr({x2:c.x,y2:c.y})}if(_){if(_*_>w*w+k*k)return void D();var A=_*Math.cos(f),S=_*Math.sin(f);o.x-=A,o.y-=S,e.attr({x1:o.x,y1:o.y})}}else if(\"path\"===p.nodeName){var E=p.getTotalLength(),C=\"\";if(E<b+_)return void D();var L=p.getPointAtLength(0),P=p.getPointAtLength(.1);f=Math.atan2(L.y-P.y,L.x-P.x),o=p.getPointAtLength(Math.min(_,E)),C=\"0px,\"+_+\"px,\";var O=p.getPointAtLength(E),I=p.getPointAtLength(E-.1);h=Math.atan2(O.y-I.y,O.x-I.x),c=p.getPointAtLength(Math.max(0,E-b)),C+=E-(C?_+b:b)+\"px,\"+E+\"px\",e.style(\"stroke-dasharray\",C)}function D(){e.style(\"stroke-dasharray\",\"0px,100px\")}function z(t,a,o,c){t.path&&(t.noRotate&&(o=0),n.select(p.parentNode).append(\"path\").attr({class:e.attr(\"class\"),d:t.path,transform:u(a.x,a.y)+l(180*o/Math.PI)+s(c)}).style({fill:i.rgb(r.arrowcolor),\"stroke-width\":0}))}y&&z(v,o,f,m),x&&z(d,c,h,g)}},32745:function(e,t,r){\"use strict\";var n=r(92605),i=r(44317);e.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:r(50215),supplyLayoutDefaults:r(84046),includeBasePlot:r(76325)(\"annotations\"),calcAutorange:r(3749),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:r(94128)}},26997:function(e,t,r){\"use strict\";var n=r(50215),i=r(30962).overrideAll,a=r(44467).templatedArray;e.exports=i(a(\"annotation\",{visible:n.visible,x:{valType:\"any\"},y:{valType:\"any\"},z:{valType:\"any\"},ax:{valType:\"number\"},ay:{valType:\"number\"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),\"calc\",\"from-root\")},5485:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298);function a(e,t){var r=t.fullSceneLayout.domain,a=t.fullLayout._size,o={pdata:null,type:\"linear\",autorange:!1,range:[-1/0,1/0]};e._xa={},n.extendFlat(e._xa,o),i.setConvert(e._xa),e._xa._offset=a.l+r.x[0]*a.w,e._xa.l2p=function(){return.5*(1+e._pdata[0]/e._pdata[3])*a.w*(r.x[1]-r.x[0])},e._ya={},n.extendFlat(e._ya,o),i.setConvert(e._ya),e._ya._offset=a.t+(1-r.y[1])*a.h,e._ya.l2p=function(){return.5*(1-e._pdata[1]/e._pdata[3])*a.h*(r.y[1]-r.y[0])}}e.exports=function(e){for(var t=e.fullSceneLayout.annotations,r=0;r<t.length;r++)a(t[r],e);e.fullLayout._infolayer.selectAll(\".annotation-\"+e.id).remove()}},20226:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298),a=r(85501),o=r(25625),s=r(26997);function l(e,t,r,a){function l(r,i){return n.coerce(e,t,s,r,i)}function u(e){var n=e+\"axis\",a={_fullLayout:{}};return a._fullLayout[n]=r[n],i.coercePosition(t,a,l,e,e,.5)}l(\"visible\")&&(o(e,t,a.fullLayout,l),u(\"x\"),u(\"y\"),u(\"z\"),n.noneOrAll(e,t,[\"x\",\"y\",\"z\"]),t.xref=\"x\",t.yref=\"y\",t.zref=\"z\",l(\"xanchor\"),l(\"yanchor\"),l(\"xshift\"),l(\"yshift\"),t.showarrow&&(t.axref=\"pixel\",t.ayref=\"pixel\",l(\"ax\",-10),l(\"ay\",-30),n.noneOrAll(e,t,[\"ax\",\"ay\"])))}e.exports=function(e,t,r){a(e,t,{name:\"annotations\",handleItemDefaults:l,fullLayout:r.fullLayout})}},82188:function(e,t,r){\"use strict\";var n=r(92605).drawRaw,i=r(63538),a=[\"x\",\"y\",\"z\"];e.exports=function(e){for(var t=e.fullSceneLayout,r=e.dataScale,o=t.annotations,s=0;s<o.length;s++){for(var l=o[s],u=!1,c=0;c<3;c++){var f=a[c],h=l[f],p=t[f+\"axis\"].r2fraction(h);if(p<0||p>1){u=!0;break}}u?e.fullLayout._infolayer.select(\".annotation-\"+e.id+'[data-index=\"'+s+'\"]').remove():(l._pdata=i(e.glplot.cameraParams,[t.xaxis.r2l(l.x)*r[0],t.yaxis.r2l(l.y)*r[1],t.zaxis.r2l(l.z)*r[2]]),n(e.graphDiv,l,s,e.id,l._xa,l._ya))}}},2468:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828);e.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:r(26997)}}},layoutAttributes:r(26997),handleDefaults:r(20226),includeBasePlot:function(e,t){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(e),s=0;s<o.length;s++){var l=o[s];a.test(l)&&(e[l].annotations||[]).length&&(i.pushUnique(t._basePlotModules,r),i.pushUnique(t._subplots.gl3d,l))}},convert:r(5485),draw:r(82188)}},7561:function(e,t,r){\"use strict\";e.exports=r(63489),r(94338),r(3961),r(38751),r(86825),r(37715),r(99384),r(43805),r(88874),r(83290),r(29108),r(55422),r(94320),r(31320),r(51367),r(21457)},72201:function(e,t,r){\"use strict\";var n=r(7561),i=r(71828),a=r(50606),o=a.EPOCHJD,s=a.ONEDAY,l={valType:\"enumerated\",values:i.sortObjectKeys(n.calendars),editType:\"calc\",dflt:\"gregorian\"},u=function(e,t,r,n){var a={};return a[r]=l,i.coerce(e,t,a,r,n)},c=\"##\",f={d:{0:\"dd\",\"-\":\"d\"},e:{0:\"d\",\"-\":\"d\"},a:{0:\"D\",\"-\":\"D\"},A:{0:\"DD\",\"-\":\"DD\"},j:{0:\"oo\",\"-\":\"o\"},W:{0:\"ww\",\"-\":\"w\"},m:{0:\"mm\",\"-\":\"m\"},b:{0:\"M\",\"-\":\"M\"},B:{0:\"MM\",\"-\":\"MM\"},y:{0:\"yy\",\"-\":\"yy\"},Y:{0:\"yyyy\",\"-\":\"yyyy\"},U:c,w:c,c:{0:\"D M d %X yyyy\",\"-\":\"D M d %X yyyy\"},x:{0:\"mm/dd/yyyy\",\"-\":\"mm/dd/yyyy\"}},h={};function p(e){var t=h[e];return t||(h[e]=n.instance(e))}function d(e){return i.extendFlat({},l,{description:e})}function v(e){return\"Sets the calendar system to use with `\"+e+\"` date data.\"}var g={xcalendar:d(v(\"x\"))},m=i.extendFlat({},g,{ycalendar:d(v(\"y\"))}),y=i.extendFlat({},m,{zcalendar:d(v(\"z\"))}),x=d([\"Sets the calendar system to use for `range` and `tick0`\",\"if this is a date axis. This does not set the calendar for\",\"interpreting data on this axis, that's specified in the trace\",\"or via the global `layout.calendar`\"].join(\" \"));e.exports={moduleType:\"component\",name:\"calendars\",schema:{traces:{scatter:m,bar:m,box:m,heatmap:m,contour:m,histogram:m,histogram2d:m,histogram2dcontour:m,scatter3d:y,surface:y,mesh3d:y,scattergl:m,ohlc:g,candlestick:g},layout:{calendar:d([\"Sets the default calendar system to use for interpreting and\",\"displaying dates throughout the plot.\"].join(\" \"))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:d([\"WARNING: All transforms are deprecated and may be removed from the API in next major version.\",\"Sets the calendar system to use for `value`, if it is a date.\"].join(\" \")),targetcalendar:d([\"WARNING: All transforms are deprecated and may be removed from the API in next major version.\",\"Sets the calendar system to use for `target`, if it is an\",\"array of dates. If `target` is a string (eg *x*) we use the\",\"corresponding trace attribute (eg `xcalendar`) if it exists,\",\"even if `targetcalendar` is provided.\"].join(\" \"))}}},layoutAttributes:l,handleDefaults:u,handleTraceDefaults:function(e,t,r,n){for(var i=0;i<r.length;i++)u(e,t,r[i]+\"calendar\",n.calendar)},CANONICAL_SUNDAY:{chinese:\"2000-01-02\",coptic:\"2000-01-03\",discworld:\"2000-01-03\",ethiopian:\"2000-01-05\",hebrew:\"5000-01-01\",islamic:\"1000-01-02\",julian:\"2000-01-03\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-05\",nepali:\"2000-01-05\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-04\",thai:\"2000-01-04\",ummalqura:\"1400-01-06\"},CANONICAL_TICK:{chinese:\"2000-01-01\",coptic:\"2000-01-01\",discworld:\"2000-01-01\",ethiopian:\"2000-01-01\",hebrew:\"5000-01-01\",islamic:\"1000-01-01\",julian:\"2000-01-01\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-01\",nepali:\"2000-01-01\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-01\",thai:\"2000-01-01\",ummalqura:\"1400-01-01\"},DFLTRANGE:{chinese:[\"2000-01-01\",\"2001-01-01\"],coptic:[\"1700-01-01\",\"1701-01-01\"],discworld:[\"1800-01-01\",\"1801-01-01\"],ethiopian:[\"2000-01-01\",\"2001-01-01\"],hebrew:[\"5700-01-01\",\"5701-01-01\"],islamic:[\"1400-01-01\",\"1401-01-01\"],julian:[\"2000-01-01\",\"2001-01-01\"],mayan:[\"5200-01-01\",\"5201-01-01\"],nanakshahi:[\"0500-01-01\",\"0501-01-01\"],nepali:[\"2000-01-01\",\"2001-01-01\"],persian:[\"1400-01-01\",\"1401-01-01\"],jalali:[\"1400-01-01\",\"1401-01-01\"],taiwan:[\"0100-01-01\",\"0101-01-01\"],thai:[\"2500-01-01\",\"2501-01-01\"],ummalqura:[\"1400-01-01\",\"1401-01-01\"]},getCal:p,worldCalFmt:function(e,t,r){for(var n,i,a,l,u,h=Math.floor((t+.05)/s)+o,d=p(r).fromJD(h),v=0;-1!==(v=e.indexOf(\"%\",v));)\"0\"===(n=e.charAt(v+1))||\"-\"===n||\"_\"===n?(a=3,i=e.charAt(v+2),\"_\"===n&&(n=\"-\")):(i=n,n=\"0\",a=2),(l=f[i])?(u=l===c?c:d.formatDate(l[n]),e=e.substr(0,v)+u+e.substr(v+a),v+=u.length):v+=a;return e}}},22399:function(e,t){\"use strict\";t.defaults=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"],t.defaultLine=\"#444\",t.lightLine=\"#eee\",t.background=\"#fff\",t.borderLine=\"#BEC8D9\",t.lightFraction=1e3/11},7901:function(e,t,r){\"use strict\";var n=r(84267),i=r(92770),a=r(73627).isTypedArray,o=e.exports={},s=r(22399);o.defaults=s.defaults;var l=o.defaultLine=s.defaultLine;o.lightLine=s.lightLine;var u=o.background=s.background;function c(e){if(i(e)||\"string\"!=typeof e)return e;var t=e.trim();if(\"rgb\"!==t.substr(0,3))return e;var r=t.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!r)return e;var n=r[1].trim().split(/\\s*[\\s,]\\s*/),a=\"a\"===t.charAt(3)&&4===n.length;if(!a&&3!==n.length)return e;for(var o=0;o<n.length;o++){if(!n[o].length)return e;if(n[o]=Number(n[o]),!(n[o]>=0))return e;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return e}var s=Math.round(255*n[0])+\", \"+Math.round(255*n[1])+\", \"+Math.round(255*n[2]);return a?\"rgba(\"+s+\", \"+n[3]+\")\":\"rgb(\"+s+\")\"}o.tinyRGB=function(e){var t=e.toRgb();return\"rgb(\"+Math.round(t.r)+\", \"+Math.round(t.g)+\", \"+Math.round(t.b)+\")\"},o.rgb=function(e){return o.tinyRGB(n(e))},o.opacity=function(e){return e?n(e).getAlpha():0},o.addOpacity=function(e,t){var r=n(e).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+t+\")\"},o.combine=function(e,t){var r=n(e).toRgb();if(1===r.a)return n(e).toRgbString();var i=n(t||u).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.contrast=function(e,t,r){var i=n(e);return 1!==i.getAlpha()&&(i=n(o.combine(e,u))),(i.isDark()?t?i.lighten(t):u:r?i.darken(r):l).toString()},o.stroke=function(e,t){var r=n(t);e.style({stroke:o.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})},o.fill=function(e,t){var r=n(t);e.style({fill:o.tinyRGB(r),\"fill-opacity\":r.getAlpha()})},o.clean=function(e){if(e&&\"object\"==typeof e){var t,r,n,i,s=Object.keys(e);for(t=0;t<s.length;t++)if(i=e[n=s[t]],\"color\"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=c(i[r]);else e[n]=c(i);else if(\"colorscale\"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=c(i[r][1]));else if(Array.isArray(i)){var l=i[0];if(!Array.isArray(l)&&l&&\"object\"==typeof l)for(r=0;r<i.length;r++)o.clean(i[r])}else i&&\"object\"==typeof i&&!a(i)&&o.clean(i)}}},63583:function(e,t,r){\"use strict\";var n=r(13838),i=r(41940),a=r(1426).extendFlat,o=r(30962).overrideAll;e.exports=o({orientation:{valType:\"enumerated\",values:[\"h\",\"v\"],dflt:\"v\"},thicknessmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\"},thickness:{valType:\"number\",min:0,dflt:30},lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"]},xpad:{valType:\"number\",min:0,dflt:10},y:{valType:\"number\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},ypad:{valType:\"number\",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:n.minor.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:\"\"}),ticklabeloverflow:a({},n.ticklabeloverflow,{}),ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\"},ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,ticklabelstep:n.ticklabelstep,showticklabels:n.showticklabels,labelalias:n.labelalias,tickfont:i({}),tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,minexponent:n.minexponent,showexponent:n.showexponent,title:{text:{valType:\"string\"},font:i({}),side:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"]}},_deprecated:{title:{valType:\"string\"},titlefont:i({}),titleside:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"],dflt:\"top\"}}},\"colorbars\",\"from-root\")},30939:function(e){\"use strict\";e.exports={cn:{colorbar:\"colorbar\",cbbg:\"cbbg\",cbfill:\"cbfill\",cbfills:\"cbfills\",cbline:\"cbline\",cblines:\"cblines\",cbaxis:\"cbaxis\",cbtitleunshift:\"cbtitleunshift\",cbtitle:\"cbtitle\",cboutline:\"cboutline\",crisp:\"crisp\",jsPlaceholder:\"js-placeholder\"}}},62499:function(e,t,r){\"use strict\";var n=r(71828),i=r(44467),a=r(26218),o=r(38701),s=r(96115),l=r(89426),u=r(63583);e.exports=function(e,t,r){var c=i.newContainer(t,\"colorbar\"),f=e.colorbar||{};function h(e,t){return n.coerce(f,c,u,e,t)}var p=r.margin||{t:0,b:0,l:0,r:0},d=r.width-p.l-p.r,v=r.height-p.t-p.b,g=\"v\"===h(\"orientation\"),m=h(\"thicknessmode\");h(\"thickness\",\"fraction\"===m?30/(g?d:v):30);var y=h(\"lenmode\");h(\"len\",\"fraction\"===y?1:g?v:d);var x,b,_,w=\"paper\"===h(\"yref\"),k=\"paper\"===h(\"xref\"),T=\"left\";g?(_=\"middle\",T=k?\"left\":\"right\",x=k?1.02:1,b=.5):(_=w?\"bottom\":\"top\",T=\"center\",x=.5,b=w?1.02:1),n.coerce(f,c,{x:{valType:\"number\",min:k?-2:0,max:k?3:1,dflt:x}},\"x\"),n.coerce(f,c,{y:{valType:\"number\",min:w?-2:0,max:w?3:1,dflt:b}},\"y\"),h(\"xanchor\",T),h(\"xpad\"),h(\"yanchor\",_),h(\"ypad\"),n.noneOrAll(f,c,[\"x\",\"y\"]),h(\"outlinecolor\"),h(\"outlinewidth\"),h(\"bordercolor\"),h(\"borderwidth\"),h(\"bgcolor\");var M=n.coerce(f,c,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:g?[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]:[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]}},\"ticklabelposition\");h(\"ticklabeloverflow\",-1!==M.indexOf(\"inside\")?\"hide past domain\":\"hide past div\"),a(f,c,h,\"linear\");var A=r.font,S={outerTicks:!1,font:A};-1!==M.indexOf(\"inside\")&&(S.bgColor=\"black\"),l(f,c,h,\"linear\",S),s(f,c,h,\"linear\",S),o(f,c,h,\"linear\",S),h(\"title.text\",r._dfltTitle.colorbar);var E=c.showticklabels?c.tickfont:A,C=n.extendFlat({},E,{color:A.color,size:n.bigFont(E.size)});n.coerceFont(h,\"title.font\",C),h(\"title.side\",g?\"top\":\"right\")}},98981:function(e,t,r){\"use strict\";var n=r(39898),i=r(84267),a=r(74875),o=r(73972),s=r(89298),l=r(28569),u=r(71828),c=u.strTranslate,f=r(1426).extendFlat,h=r(6964),p=r(91424),d=r(7901),v=r(92998),g=r(63893),m=r(52075).flipScale,y=r(71453),x=r(52830),b=r(13838),_=r(18783),w=_.LINE_SPACING,k=_.FROM_TL,T=_.FROM_BR,M=r(30939).cn;e.exports={draw:function(e){var t=e._fullLayout._infolayer.selectAll(\"g.\"+M.colorbar).data(function(e){var t,r,n,i,a=e._fullLayout,o=e.calcdata,s=[];function l(e){return f(e,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){\"function\"==typeof i.calc?i.calc(e,n,t):(t._fillgradient=r.reversescale?m(r.colorscale):r.colorscale,t._zrange=[r[i.min],r[i.max]])}for(var c=0;c<o.length;c++){var h=o[c];if((n=h[0].trace)._module){var p=n._module.colorbar;if(!0===n.visible&&p)for(var d=Array.isArray(p),v=d?p:[p],g=0;g<v.length;g++){var y=(i=v[g]).container;(r=y?n[y]:n)&&r.showscale&&((t=l(r.colorbar))._id=\"cb\"+n.uid+(d&&y?\"-\"+y:\"\"),t._traceIndex=n.index,t._propPrefix=(y?y+\".\":\"\")+\"colorbar.\",t._meta=n._meta,u(),s.push(t))}}}for(var x in a._colorAxes)if((r=a[x]).showscale){var b=a._colorAxes[x];(t=l(r.colorbar))._id=\"cb\"+x,t._propPrefix=x+\".colorbar.\",t._meta=a._meta,i={min:\"cmin\",max:\"cmax\"},\"heatmap\"!==b[0]&&(n=b[1],i.calc=n._module.colorbar.calc),u(),s.push(t)}return s}(e),(function(e){return e._id}));t.enter().append(\"g\").attr(\"class\",(function(e){return e._id})).classed(M.colorbar,!0),t.each((function(t){var r=n.select(this);u.ensureSingle(r,\"rect\",M.cbbg),u.ensureSingle(r,\"g\",M.cbfills),u.ensureSingle(r,\"g\",M.cblines),u.ensureSingle(r,\"g\",M.cbaxis,(function(e){e.classed(M.crisp,!0)})),u.ensureSingle(r,\"g\",M.cbtitleunshift,(function(e){e.append(\"g\").classed(M.cbtitle,!0)})),u.ensureSingle(r,\"rect\",M.cboutline);var m=function(e,t,r){var o=\"v\"===t.orientation,l=t.len,h=t.lenmode,m=t.thickness,_=t.thicknessmode,A=t.outlinewidth,S=t.borderwidth,E=t.bgcolor,C=t.xanchor,L=t.yanchor,P=t.xpad,O=t.ypad,I=t.x,D=o?t.y:1-t.y,z=\"paper\"===t.yref,R=\"paper\"===t.xref,F=r._fullLayout,B=F._size,N=t._fillcolor,j=t._line,U=t.title,V=U.side,H=t._zrange||n.extent((\"function\"==typeof N?N:j.color).domain()),q=\"function\"==typeof j.color?j.color:function(){return j.color},G=\"function\"==typeof N?N:function(){return N},Y=t._levels,W=function(e,t,r){var n,i,a=t._levels,o=[],s=[],l=a.end+a.size/100,u=a.size,c=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(i=0;i<1e5&&(n=a.start+i*u,!(u>0?n>=l:n<=l));i++)n>c&&n<f&&o.push(n);if(t._fillgradient)s=[0];else if(\"function\"==typeof t._fillcolor){var h=t._filllevels;if(h)for(l=h.end+h.size/100,u=h.size,i=0;i<1e5&&(n=h.start+i*u,!(u>0?n>=l:n<=l));i++)n>r[0]&&n<r[1]&&s.push(n);else(s=o.map((function(e){return e-a.size/2}))).push(s[s.length-1]+a.size)}else t._fillcolor&&\"string\"==typeof t._fillcolor&&(s=[0]);return a.size<0&&(o.reverse(),s.reverse()),{line:o,fill:s}}(0,t,H),Z=W.fill,X=W.line,K=Math.round(m*(\"fraction\"===_?o?B.w:B.h:1)),J=K/(o?B.w:B.h),$=Math.round(l*(\"fraction\"===h?o?B.h:B.w:1)),Q=$/(o?B.h:B.w),ee=R?B.w:r._fullLayout.width,te=z?B.h:r._fullLayout.height,re=Math.round(o?I*ee+P:D*te+O),ne={center:.5,right:1}[C]||0,ie={top:1,middle:.5}[L]||0,ae=o?I-ne*J:D-ie*J,oe=o?D-ie*Q:I-ne*Q,se=Math.round(o?te*(1-oe):ee*oe);t._lenFrac=Q,t._thickFrac=J,t._uFrac=ae,t._vFrac=oe;var le=t._axis=function(e,t,r){var n=e._fullLayout,i=\"v\"===t.orientation,a={type:\"linear\",range:r,tickmode:t.tickmode,nticks:t.nticks,tick0:t.tick0,dtick:t.dtick,tickvals:t.tickvals,ticktext:t.ticktext,ticks:t.ticks,ticklen:t.ticklen,tickwidth:t.tickwidth,tickcolor:t.tickcolor,showticklabels:t.showticklabels,labelalias:t.labelalias,ticklabelposition:t.ticklabelposition,ticklabeloverflow:t.ticklabeloverflow,ticklabelstep:t.ticklabelstep,tickfont:t.tickfont,tickangle:t.tickangle,tickformat:t.tickformat,exponentformat:t.exponentformat,minexponent:t.minexponent,separatethousands:t.separatethousands,showexponent:t.showexponent,showtickprefix:t.showtickprefix,tickprefix:t.tickprefix,showticksuffix:t.showticksuffix,ticksuffix:t.ticksuffix,title:t.title,showline:!0,anchor:\"free\",side:i?\"right\":\"bottom\",position:1},o=i?\"y\":\"x\",s={type:\"linear\",_id:o+t._id},l={letter:o,font:n.font,noHover:!0,noTickson:!0,noTicklabelmode:!0,calendar:n.calendar};function c(e,t){return u.coerce(a,s,b,e,t)}return y(a,s,c,l,n),x(a,s,c,l),s}(r,t,H);le.position=J+(o?I+P/B.w:D+O/B.h);var ue=-1!==[\"top\",\"bottom\"].indexOf(V);if(o&&ue&&(le.title.side=V,le.titlex=I+P/B.w,le.titley=oe+(\"top\"===U.side?Q-O/B.h:O/B.h)),o||ue||(le.title.side=V,le.titley=D+O/B.h,le.titlex=oe+P/B.w),j.color&&\"auto\"===t.tickmode){le.tickmode=\"linear\",le.tick0=Y.start;var ce=Y.size,fe=u.constrain($/50,4,15)+1,he=(H[1]-H[0])/((t.nticks||fe)*ce);if(he>1){var pe=Math.pow(10,Math.floor(Math.log(he)/Math.LN10));ce*=pe*u.roundUp(he/pe,[2,5,10]),(Math.abs(Y.start)/Y.size+1e-6)%1<2e-6&&(le.tick0=0)}le.dtick=ce}le.domain=o?[oe+O/B.h,oe+Q-O/B.h]:[oe+P/B.w,oe+Q-P/B.w],le.setScale(),e.attr(\"transform\",c(Math.round(B.l),Math.round(B.t)));var de,ve=e.select(\".\"+M.cbtitleunshift).attr(\"transform\",c(-Math.round(B.l),-Math.round(B.t))),ge=le.ticklabelposition,me=le.title.font.size,ye=e.select(\".\"+M.cbaxis),xe=0,be=0;function _e(n,i){var a={propContainer:le,propName:t._propPrefix+\"title\",traceIndex:t._traceIndex,_meta:t._meta,placeholder:F._dfltTitle.colorbar,containerGroup:e.select(\".\"+M.cbtitle)},o=\"h\"===n.charAt(0)?n.substr(1):\"h\"+n;e.selectAll(\".\"+o+\",.\"+o+\"-math-group\").remove(),v.draw(r,n,f(a,i||{}))}return u.syncOrAsync([a.previousPromises,function(){var e,t;(o&&ue||!o&&!ue)&&(\"top\"===V&&(e=P+B.l+ee*I,t=O+B.t+te*(1-oe-Q)+3+.75*me),\"bottom\"===V&&(e=P+B.l+ee*I,t=O+B.t+te*(1-oe)-3-.25*me),\"right\"===V&&(t=O+B.t+te*D+3+.75*me,e=P+B.l+ee*oe),_e(le._id+\"title\",{attributes:{x:e,y:t,\"text-anchor\":o?\"start\":\"middle\"}}))},function(){if(!o&&!ue||o&&ue){var a,l=e.select(\".\"+M.cbtitle),f=l.select(\"text\"),h=[-A/2,A/2],d=l.select(\".h\"+le._id+\"title-math-group\").node(),v=15.6;if(f.node()&&(v=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),be=a.width,(xe=a.height)>v&&(h[1]-=(xe-v)/2)):f.node()&&!f.classed(M.jsPlaceholder)&&(a=p.bBox(f.node()),be=a.width,xe=a.height),o){if(xe){if(xe+=5,\"top\"===V)le.domain[1]-=xe/B.h,h[1]*=-1;else{le.domain[0]+=xe/B.h;var m=g.lineCount(f);h[1]+=(1-m)*v}l.attr(\"transform\",c(h[0],h[1])),le.setScale()}}else be&&(\"right\"===V&&(le.domain[0]+=(be+me/2)/B.w),l.attr(\"transform\",c(h[0],h[1])),le.setScale())}e.selectAll(\".\"+M.cbfills+\",.\"+M.cblines).attr(\"transform\",o?c(0,Math.round(B.h*(1-le.domain[1]))):c(Math.round(B.w*le.domain[0]),0)),ye.attr(\"transform\",o?c(0,Math.round(-B.t)):c(Math.round(-B.l),0));var y=e.select(\".\"+M.cbfills).selectAll(\"rect.\"+M.cbfill).attr(\"style\",\"\").data(Z);y.enter().append(\"rect\").classed(M.cbfill,!0).attr(\"style\",\"\"),y.exit().remove();var x=H.map(le.c2p).map(Math.round).sort((function(e,t){return e-t}));y.each((function(e,a){var s=[0===a?H[0]:(Z[a]+Z[a-1])/2,a===Z.length-1?H[1]:(Z[a]+Z[a+1])/2].map(le.c2p).map(Math.round);o&&(s[1]=u.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?\"x\":\"y\",re).attr(o?\"y\":\"x\",n.min(s)).attr(o?\"width\":\"height\",Math.max(K,2)).attr(o?\"height\":\"width\",Math.max(n.max(s)-n.min(s),2));if(t._fillgradient)p.gradient(l,r,t._id,o?\"vertical\":\"horizontalreversed\",t._fillgradient,\"fill\");else{var c=G(e).replace(\"e-\",\"\");l.attr(\"fill\",i(c).toHexString())}}));var b=e.select(\".\"+M.cblines).selectAll(\"path.\"+M.cbline).data(j.color&&j.width?X:[]);b.enter().append(\"path\").classed(M.cbline,!0),b.exit().remove(),b.each((function(e){var t=re,r=Math.round(le.c2p(e))+j.width/2%1;n.select(this).attr(\"d\",\"M\"+(o?t+\",\"+r:r+\",\"+t)+(o?\"h\":\"v\")+K).call(p.lineGroupStyle,j.width,q(e),j.dash)})),ye.selectAll(\"g.\"+le._id+\"tick,path\").remove();var _=re+K+(A||0)/2-(\"outside\"===t.ticks?1:0),k=s.calcTicks(le),T=s.getTickSigns(le)[2];return s.drawTicks(r,le,{vals:\"inside\"===le.ticks?s.clipEnds(le,k):k,layer:ye,path:s.makeTickPath(le,_,T),transFn:s.makeTransTickFn(le)}),s.drawLabels(r,le,{vals:k,layer:ye,transFn:s.makeTransTickLabelFn(le),labelFns:s.makeLabelFns(le,_)})},function(){if(o&&!ue||!o&&ue){var e,i,a=le.position||0,s=le._offset+le._length/2;if(\"right\"===V)i=s,e=B.l+ee*a+10+me*(le.showticklabels?1:.5);else if(e=s,\"bottom\"===V&&(i=B.t+te*a+10+(-1===ge.indexOf(\"inside\")?le.tickfont.size:0)+(\"intside\"!==le.ticks&&t.ticklen||0)),\"top\"===V){var l=U.text.split(\"<br>\").length;i=B.t+te*a+10-K-w*me*l}_e((o?\"h\":\"v\")+le._id+\"title\",{avoid:{selection:n.select(r).selectAll(\"g.\"+le._id+\"tick\"),side:V,offsetTop:o?0:B.t,offsetLeft:o?B.l:0,maxShift:o?F.width:F.height},attributes:{x:e,y:i,\"text-anchor\":\"middle\"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=K+A/2;-1===ge.indexOf(\"inside\")&&(n=p.bBox(ye.node()),s+=o?n.width:n.height),de=ve.select(\"text\");var u=0,f=o&&\"top\"===V,v=!o&&\"right\"===V,g=0;if(de.node()&&!de.classed(M.jsPlaceholder)){var y,x=ve.select(\".h\"+le._id+\"title-math-group\").node();x&&(o&&ue||!o&&!ue)?(u=(n=p.bBox(x)).width,y=n.height):(u=(n=p.bBox(ve.node())).right-B.l-(o?re:se),y=n.bottom-B.t-(o?se:re),o||\"top\"!==V||(s+=n.height,g=n.height)),v&&(de.attr(\"transform\",c(u/2+me/2,0)),u*=2),s=Math.max(s,o?u:y)}var b=2*(o?P:O)+s+S+A/2,w=0;!o&&U.text&&\"bottom\"===L&&D<=0&&(b+=w=b/2,g+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=g;var N=S+A,j=(o?re:se)-N/2-(o?P:0),H=(o?se:re)-(o?$:O+g-w);e.select(\".\"+M.cbbg).attr(\"x\",j).attr(\"y\",H).attr(o?\"width\":\"height\",Math.max(b-w,2)).attr(o?\"height\":\"width\",Math.max($+N,2)).call(d.fill,E).call(d.stroke,t.bordercolor).style(\"stroke-width\",S);var q=v?Math.max(u-10,0):0;e.selectAll(\".\"+M.cboutline).attr(\"x\",(o?re:se+P)+q).attr(\"y\",(o?se+O-$:re)+(f?xe:0)).attr(o?\"width\":\"height\",Math.max(K,2)).attr(o?\"height\":\"width\",Math.max($-(o?2*O+xe:2*P+q),2)).call(d.stroke,t.outlinecolor).style({fill:\"none\",\"stroke-width\":A});var G=o?ne*b:0,Y=o?0:(1-ie)*b-g;if(G=R?B.l-G:-G,Y=z?B.t-Y:-Y,e.attr(\"transform\",c(G,Y)),!o&&(S||i(E).getAlpha()&&!i.equals(F.paper_bgcolor,E))){var W=ye.selectAll(\"text\"),Z=W[0].length,X=e.select(\".\"+M.cbbg).node(),J=p.bBox(X),Q=p.getTranslate(e);W.each((function(e,t){var r=Z-1;if(0===t||t===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(t===r){var o=i.right+a.x;(n=J.right+Q.x+se-S-2+I-o)>0&&(n=0)}else if(0===t){var s=i.left+a.x;(n=J.left+Q.x+se+S+2-s)<0&&(n=0)}n&&(Z<3?this.setAttribute(\"transform\",\"translate(\"+n+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}}))}var ee={},te=k[C],ae=T[C],oe=k[L],ce=T[L],fe=b-K;o?(\"pixels\"===h?(ee.y=D,ee.t=$*oe,ee.b=$*ce):(ee.t=ee.b=0,ee.yt=D+l*oe,ee.yb=D-l*ce),\"pixels\"===_?(ee.x=I,ee.l=b*te,ee.r=b*ae):(ee.l=fe*te,ee.r=fe*ae,ee.xl=I-m*te,ee.xr=I+m*ae)):(\"pixels\"===h?(ee.x=I,ee.l=$*te,ee.r=$*ae):(ee.l=ee.r=0,ee.xl=I+l*te,ee.xr=I-l*ae),\"pixels\"===_?(ee.y=1-D,ee.t=b*oe,ee.b=b*ce):(ee.t=fe*oe,ee.b=fe*ce,ee.yt=D-m*oe,ee.yb=D+m*ce));var he=t.y<.5?\"b\":\"t\",pe=t.x<.5?\"l\":\"r\";r._fullLayout._reservedMargin[t._id]={};var be={r:F.width-j-G,l:j+ee.r,b:F.height-H-Y,t:H+ee.b};R&&z?a.autoMargin(r,t._id,ee):R?r._fullLayout._reservedMargin[t._id][he]=be[he]:z||o?r._fullLayout._reservedMargin[t._id][pe]=be[pe]:r._fullLayout._reservedMargin[t._id][he]=be[he]}],r)}(r,t,e);m&&m.then&&(e._promises||[]).push(m),e._context.edits.colorbarPosition&&function(e,t,r){var n,i,a,s=\"v\"===t.orientation,u=r._fullLayout._size;l.init({element:e.node(),gd:r,prepFn:function(){n=e.attr(\"transform\"),h(e)},moveFn:function(r,o){e.attr(\"transform\",n+c(r,o)),i=l.align((s?t._uFrac:t._vFrac)+r/u.w,s?t._thickFrac:t._lenFrac,0,1,t.xanchor),a=l.align((s?t._vFrac:1-t._uFrac)-o/u.h,s?t._lenFrac:t._thickFrac,0,1,t.yanchor);var f=l.getCursor(i,a,t.xanchor,t.yanchor);h(e,f)},doneFn:function(){if(h(e),void 0!==i&&void 0!==a){var n={};n[t._propPrefix+\"x\"]=i,n[t._propPrefix+\"y\"]=a,void 0!==t._traceIndex?o.call(\"_guiRestyle\",r,n,t._traceIndex):o.call(\"_guiRelayout\",r,n)}}})}(r,t,e)})),t.exit().each((function(t){a.autoMargin(e,t._id)})).remove(),t.order()}}},76228:function(e,t,r){\"use strict\";var n=r(71828);e.exports=function(e){return n.isPlainObject(e.colorbar)}},12311:function(e,t,r){\"use strict\";e.exports={moduleType:\"component\",name:\"colorbar\",attributes:r(63583),supplyDefaults:r(62499),draw:r(98981).draw,hasColorbar:r(76228)}},50693:function(e,t,r){\"use strict\";var n=r(63583),i=r(30587).counter,a=r(78607),o=r(63282).scales;function s(e){return\"`\"+e+\"`\"}a(o),e.exports=function(e,t){e=e||\"\";var r,a=(t=t||{}).cLetter||\"c\",l=(\"onlyIfNumerical\"in t?t.onlyIfNumerical:Boolean(e),\"noScale\"in t?t.noScale:\"marker.line\"===e),u=\"showScaleDflt\"in t?t.showScaleDflt:\"z\"===a,c=\"string\"==typeof t.colorscaleDflt?o[t.colorscaleDflt]:null,f=t.editTypeOverride||\"\",h=e?e+\".\":\"\";\"colorAttr\"in t?(r=t.colorAttr,t.colorAttr):s(h+(r={z:\"z\",c:\"color\"}[a]));var p=a+\"auto\",d=a+\"min\",v=a+\"max\",g=a+\"mid\",m=(s(h+p),s(h+d),s(h+v),{});m[d]=m[v]=void 0;var y={};y[p]=!1;var x={};return\"color\"===r&&(x.color={valType:\"color\",arrayOk:!0,editType:f||\"style\"},t.anim&&(x.color.anim=!0)),x[p]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:m},x[d]={valType:\"number\",dflt:null,editType:f||\"plot\",impliedEdits:y},x[v]={valType:\"number\",dflt:null,editType:f||\"plot\",impliedEdits:y},x[g]={valType:\"number\",dflt:null,editType:\"calc\",impliedEdits:m},x.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:c,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:\"boolean\",dflt:!1!==t.autoColorDflt,editType:\"calc\",impliedEdits:{colorscale:void 0}},x.reversescale={valType:\"boolean\",dflt:!1,editType:\"plot\"},l||(x.showscale={valType:\"boolean\",dflt:u,editType:\"calc\"},x.colorbar=n),t.noColorAxis||(x.coloraxis={valType:\"subplotid\",regex:i(\"coloraxis\"),dflt:null,editType:\"calc\"}),x}},78803:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828),a=r(52075).extractOpts;e.exports=function(e,t,r){var o,s=e._fullLayout,l=r.vals,u=r.containerStr,c=u?i.nestedProperty(t,u).get():t,f=a(c),h=!1!==f.auto,p=f.min,d=f.max,v=f.mid,g=function(){return i.aggNums(Math.min,null,l)},m=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():h&&(p=c._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=m():h&&(d=c._colorAx&&n(d)?Math.max(d,m()):m()),h&&void 0!==v&&(d-v>v-p?p=v-(d-v):d-v<v-p&&(d=v+(v-p))),p===d&&(p-=.5,d+=.5),f._sync(\"min\",p),f._sync(\"max\",d),f.autocolorscale&&(o=p*d<0?s.colorscale.diverging:p>=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync(\"colorscale\",o))}},33046:function(e,t,r){\"use strict\";var n=r(71828),i=r(52075).hasColorscale,a=r(52075).extractOpts;e.exports=function(e,t){function r(e,t){var r=e[\"_\"+t];void 0!==r&&(e[t]=r)}function o(e,i){var o=i.container?n.nestedProperty(e,i.container).get():e;if(o)if(o.coloraxis)o._colorAx=t[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,\"colorscale\")}}for(var s=0;s<e.length;s++){var l=e[s],u=l._module.colorbar;if(u)if(Array.isArray(u))for(var c=0;c<u.length;c++)o(l,u[c]);else o(l,u);i(l,\"marker.line\")&&o(l,{container:\"marker.line\",min:\"cmin\",max:\"cmax\"})}for(var f in t._colorAxes)o(t[f],{min:\"cmin\",max:\"cmax\"})}},1586:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828),a=r(76228),o=r(62499),s=r(63282).isValid,l=r(73972).traceIs;function u(e,t){var r=t.slice(0,t.length-1);return t?i.nestedProperty(e,r).get()||{}:e}e.exports=function e(t,r,c,f,h){var p=h.prefix,d=h.cLetter,v=\"_module\"in r,g=u(t,p),m=u(r,p),y=u(r._template||{},p)||{},x=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,c,f,h)};if(v){var b=c._colorAxes||{},_=f(p+\"coloraxis\");if(_){var w=l(r,\"contour\")&&i.nestedProperty(r,\"contours.coloring\").get()||\"heatmap\",k=b[_];return void(k?(k[2].push(x),k[0]!==w&&(k[0]=!1,i.warn([\"Ignoring coloraxis:\",_,\"setting\",\"as it is linked to incompatible colorscales.\"].join(\" \")))):b[_]=[w,r,[x]])}}var T=g[d+\"min\"],M=g[d+\"max\"],A=n(T)&&n(M)&&T<M;f(p+d+\"auto\",!A)?f(p+d+\"mid\"):(f(p+d+\"min\"),f(p+d+\"max\"));var S,E,C=g.colorscale,L=y.colorscale;void 0!==C&&(S=!s(C)),void 0!==L&&(S=!s(L)),f(p+\"autocolorscale\",S),f(p+\"colorscale\"),f(p+\"reversescale\"),\"marker.line.\"!==p&&(p&&v&&(E=a(g)),f(p+\"showscale\",E)&&(p&&y&&(m._template=y),o(g,m,c)))}},52075:function(e,t,r){\"use strict\";var n=r(39898),i=r(84267),a=r(92770),o=r(71828),s=r(7901),l=r(63282).isValid,u=[\"showscale\",\"autocolorscale\",\"colorscale\",\"reversescale\",\"colorbar\"],c=[\"min\",\"max\",\"mid\",\"auto\"];function f(e){var t,r,n,i=e._colorAx,a=i||e,o={};for(r=0;r<u.length;r++)o[n=u[r]]=a[n];if(i)for(t=\"c\",r=0;r<c.length;r++)o[n=c[r]]=a[\"c\"+n];else{var s;for(r=0;r<c.length;r++)((s=\"c\"+(n=c[r]))in a||(s=\"z\"+n)in a)&&(o[n]=a[s]);t=s.charAt(0)}return o._sync=function(e,r){var n=-1!==c.indexOf(e)?t+e:e;a[n]=a[\"_\"+n]=r},o}function h(e){for(var t=f(e),r=t.min,n=t.max,i=t.reversescale?p(t.colorscale):t.colorscale,a=i.length,o=new Array(a),s=new Array(a),l=0;l<a;l++){var u=i[l];o[l]=r+u[0]*(n-r),s[l]=u[1]}return{domain:o,range:s}}function p(e){for(var t=e.length,r=new Array(t),n=t-1,i=0;n>=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function d(e,t){t=t||{};for(var r=e.domain,o=e.range,l=o.length,u=new Array(l),c=0;c<l;c++){var f=i(o[c]).toRgb();u[c]=[f.r,f.g,f.b,f.a]}var h,p=n.scale.linear().domain(r).range(u).clamp(!0),d=t.noNumericCheck,g=t.returnArray;return(h=d&&g?p:d?function(e){return v(p(e))}:g?function(e){return a(e)?p(e):i(e).isValid()?e:s.defaultLine}:function(e){return a(e)?v(p(e)):i(e).isValid()?e:s.defaultLine}).domain=p.domain,h.range=function(){return o},h}function v(e){var t={r:e[0],g:e[1],b:e[2],a:e[3]};return i(t).toRgbString()}e.exports={hasColorscale:function(e,t,r){var n=t?o.nestedProperty(e,t).get()||{}:e,i=n[r||\"color\"],s=!1;if(o.isArrayOrTypedArray(i))for(var u=0;u<i.length;u++)if(a(i[u])){s=!0;break}return o.isPlainObject(n)&&(s||!0===n.showscale||a(n.cmin)&&a(n.cmax)||l(n.colorscale)||o.isPlainObject(n.colorbar))},extractOpts:f,extractScale:h,flipScale:p,makeColorScaleFunc:d,makeColorScaleFuncFromTrace:function(e,t){return d(h(e),t)}}},21081:function(e,t,r){\"use strict\";var n=r(63282),i=r(52075);e.exports={moduleType:\"component\",name:\"colorscale\",attributes:r(50693),layoutAttributes:r(72673),supplyLayoutDefaults:r(30959),handleDefaults:r(1586),crossTraceDefaults:r(33046),calc:r(78803),scales:n.scales,defaultScale:n.defaultScale,getScale:n.get,isValidScale:n.isValid,hasColorscale:i.hasColorscale,extractOpts:i.extractOpts,extractScale:i.extractScale,flipScale:i.flipScale,makeColorScaleFunc:i.makeColorScaleFunc,makeColorScaleFuncFromTrace:i.makeColorScaleFuncFromTrace}},72673:function(e,t,r){\"use strict\";var n=r(1426).extendFlat,i=r(50693),a=r(63282).scales;e.exports={editType:\"calc\",colorscale:{editType:\"calc\",sequential:{valType:\"colorscale\",dflt:a.Reds,editType:\"calc\"},sequentialminus:{valType:\"colorscale\",dflt:a.Blues,editType:\"calc\"},diverging:{valType:\"colorscale\",dflt:a.RdBu,editType:\"calc\"}},coloraxis:n({_isSubplotObj:!0,editType:\"calc\"},i(\"\",{colorAttr:\"corresponding trace color array(s)\",noColorAxis:!0,showScaleDflt:!0}))}},30959:function(e,t,r){\"use strict\";var n=r(71828),i=r(44467),a=r(72673),o=r(1586);e.exports=function(e,t){function r(r,i){return n.coerce(e,t,a,r,i)}r(\"colorscale.sequential\"),r(\"colorscale.sequentialminus\"),r(\"colorscale.diverging\");var s,l,u=t._colorAxes;function c(e,t){return n.coerce(s,l,a.coloraxis,e,t)}for(var f in u){var h=u[f];if(h[0])s=e[f]||{},(l=i.newContainer(t,f,\"coloraxis\"))._name=f,o(s,l,t,c,{prefix:\"\",cLetter:\"c\"});else{for(var p=0;p<h[2].length;p++)h[2][p]();delete t._colorAxes[f]}}}},63282:function(e,t,r){\"use strict\";var n=r(84267),i={Greys:[[0,\"rgb(0,0,0)\"],[1,\"rgb(255,255,255)\"]],YlGnBu:[[0,\"rgb(8,29,88)\"],[.125,\"rgb(37,52,148)\"],[.25,\"rgb(34,94,168)\"],[.375,\"rgb(29,145,192)\"],[.5,\"rgb(65,182,196)\"],[.625,\"rgb(127,205,187)\"],[.75,\"rgb(199,233,180)\"],[.875,\"rgb(237,248,217)\"],[1,\"rgb(255,255,217)\"]],Greens:[[0,\"rgb(0,68,27)\"],[.125,\"rgb(0,109,44)\"],[.25,\"rgb(35,139,69)\"],[.375,\"rgb(65,171,93)\"],[.5,\"rgb(116,196,118)\"],[.625,\"rgb(161,217,155)\"],[.75,\"rgb(199,233,192)\"],[.875,\"rgb(229,245,224)\"],[1,\"rgb(247,252,245)\"]],YlOrRd:[[0,\"rgb(128,0,38)\"],[.125,\"rgb(189,0,38)\"],[.25,\"rgb(227,26,28)\"],[.375,\"rgb(252,78,42)\"],[.5,\"rgb(253,141,60)\"],[.625,\"rgb(254,178,76)\"],[.75,\"rgb(254,217,118)\"],[.875,\"rgb(255,237,160)\"],[1,\"rgb(255,255,204)\"]],Bluered:[[0,\"rgb(0,0,255)\"],[1,\"rgb(255,0,0)\"]],RdBu:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(106,137,247)\"],[.5,\"rgb(190,190,190)\"],[.6,\"rgb(220,170,132)\"],[.7,\"rgb(230,145,90)\"],[1,\"rgb(178,10,28)\"]],Reds:[[0,\"rgb(220,220,220)\"],[.2,\"rgb(245,195,157)\"],[.4,\"rgb(245,160,105)\"],[1,\"rgb(178,10,28)\"]],Blues:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(40,60,190)\"],[.5,\"rgb(70,100,245)\"],[.6,\"rgb(90,120,245)\"],[.7,\"rgb(106,137,247)\"],[1,\"rgb(220,220,220)\"]],Picnic:[[0,\"rgb(0,0,255)\"],[.1,\"rgb(51,153,255)\"],[.2,\"rgb(102,204,255)\"],[.3,\"rgb(153,204,255)\"],[.4,\"rgb(204,204,255)\"],[.5,\"rgb(255,255,255)\"],[.6,\"rgb(255,204,255)\"],[.7,\"rgb(255,153,255)\"],[.8,\"rgb(255,102,204)\"],[.9,\"rgb(255,102,102)\"],[1,\"rgb(255,0,0)\"]],Rainbow:[[0,\"rgb(150,0,90)\"],[.125,\"rgb(0,0,200)\"],[.25,\"rgb(0,25,255)\"],[.375,\"rgb(0,152,255)\"],[.5,\"rgb(44,255,150)\"],[.625,\"rgb(151,255,0)\"],[.75,\"rgb(255,234,0)\"],[.875,\"rgb(255,111,0)\"],[1,\"rgb(255,0,0)\"]],Portland:[[0,\"rgb(12,51,131)\"],[.25,\"rgb(10,136,186)\"],[.5,\"rgb(242,211,56)\"],[.75,\"rgb(242,143,56)\"],[1,\"rgb(217,30,30)\"]],Jet:[[0,\"rgb(0,0,131)\"],[.125,\"rgb(0,60,170)\"],[.375,\"rgb(5,255,255)\"],[.625,\"rgb(255,255,0)\"],[.875,\"rgb(250,0,0)\"],[1,\"rgb(128,0,0)\"]],Hot:[[0,\"rgb(0,0,0)\"],[.3,\"rgb(230,0,0)\"],[.6,\"rgb(255,210,0)\"],[1,\"rgb(255,255,255)\"]],Blackbody:[[0,\"rgb(0,0,0)\"],[.2,\"rgb(230,0,0)\"],[.4,\"rgb(230,210,0)\"],[.7,\"rgb(255,255,255)\"],[1,\"rgb(160,200,255)\"]],Earth:[[0,\"rgb(0,0,130)\"],[.1,\"rgb(0,180,180)\"],[.2,\"rgb(40,210,40)\"],[.4,\"rgb(230,230,50)\"],[.6,\"rgb(120,70,20)\"],[1,\"rgb(255,255,255)\"]],Electric:[[0,\"rgb(0,0,0)\"],[.15,\"rgb(30,0,100)\"],[.4,\"rgb(120,0,100)\"],[.6,\"rgb(160,90,0)\"],[.8,\"rgb(230,200,0)\"],[1,\"rgb(255,250,220)\"]],Viridis:[[0,\"#440154\"],[.06274509803921569,\"#48186a\"],[.12549019607843137,\"#472d7b\"],[.18823529411764706,\"#424086\"],[.25098039215686274,\"#3b528b\"],[.3137254901960784,\"#33638d\"],[.3764705882352941,\"#2c728e\"],[.4392156862745098,\"#26828e\"],[.5019607843137255,\"#21918c\"],[.5647058823529412,\"#1fa088\"],[.6274509803921569,\"#28ae80\"],[.6901960784313725,\"#3fbc73\"],[.7529411764705882,\"#5ec962\"],[.8156862745098039,\"#84d44b\"],[.8784313725490196,\"#addc30\"],[.9411764705882353,\"#d8e219\"],[1,\"#fde725\"]],Cividis:[[0,\"rgb(0,32,76)\"],[.058824,\"rgb(0,42,102)\"],[.117647,\"rgb(0,52,110)\"],[.176471,\"rgb(39,63,108)\"],[.235294,\"rgb(60,74,107)\"],[.294118,\"rgb(76,85,107)\"],[.352941,\"rgb(91,95,109)\"],[.411765,\"rgb(104,106,112)\"],[.470588,\"rgb(117,117,117)\"],[.529412,\"rgb(131,129,120)\"],[.588235,\"rgb(146,140,120)\"],[.647059,\"rgb(161,152,118)\"],[.705882,\"rgb(176,165,114)\"],[.764706,\"rgb(192,177,109)\"],[.823529,\"rgb(209,191,102)\"],[.882353,\"rgb(225,204,92)\"],[.941176,\"rgb(243,219,79)\"],[1,\"rgb(255,233,69)\"]]},a=i.RdBu;function o(e){var t=0;if(!Array.isArray(e)||e.length<2)return!1;if(!e[0]||!e[e.length-1])return!1;if(0!=+e[0][0]||1!=+e[e.length-1][0])return!1;for(var r=0;r<e.length;r++){var i=e[r];if(2!==i.length||+i[0]<t||!n(i[1]).isValid())return!1;t=+i[0]}return!0}e.exports={scales:i,defaultScale:a,get:function(e,t){if(t||(t=a),!e)return t;function r(){try{e=i[e]||JSON.parse(e)}catch(r){e=t}}return\"string\"==typeof e&&(r(),\"string\"==typeof e&&r()),o(e)?e:t},isValid:function(e){return void 0!==i[e]||o(e)}}},92807:function(e){\"use strict\";e.exports=function(e,t,r,n,i){var a=(e-r)/(n-r),o=a+t/(n-r),s=(a+o)/2;return\"left\"===i||\"bottom\"===i?a:\"center\"===i||\"middle\"===i?s:\"right\"===i||\"top\"===i?o:a<2/3-s?a:o>4/3-s?o:s}},70461:function(e,t,r){\"use strict\";var n=r(71828),i=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];e.exports=function(e,t,r,a){return e=\"left\"===r?0:\"center\"===r?1:\"right\"===r?2:n.constrain(Math.floor(3*e),0,2),t=\"bottom\"===a?0:\"middle\"===a?1:\"top\"===a?2:n.constrain(Math.floor(3*t),0,2),i[t][e]}},64505:function(e,t){\"use strict\";t.selectMode=function(e){return\"lasso\"===e||\"select\"===e},t.drawMode=function(e){return\"drawclosedpath\"===e||\"drawopenpath\"===e||\"drawline\"===e||\"drawrect\"===e||\"drawcircle\"===e},t.openMode=function(e){return\"drawline\"===e||\"drawopenpath\"===e},t.rectMode=function(e){return\"select\"===e||\"drawline\"===e||\"drawrect\"===e||\"drawcircle\"===e},t.freeMode=function(e){return\"lasso\"===e||\"drawclosedpath\"===e||\"drawopenpath\"===e},t.selectingOrDrawing=function(e){return t.freeMode(e)||t.rectMode(e)}},28569:function(e,t,r){\"use strict\";var n=r(48956),i=r(57035),a=r(38520),o=r(71828).removeElement,s=r(85555),l=e.exports={};l.align=r(92807),l.getCursor=r(70461);var u=r(26041);function c(){var e=document.createElement(\"div\");e.className=\"dragcover\";var t=e.style;return t.position=\"fixed\",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background=\"none\",document.body.appendChild(e),e}function f(e){return n(e.changedTouches?e.changedTouches[0]:e,document.body)}l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(e){var t,r,n,u,h,p,d,v,g=e.gd,m=1,y=g._context.doubleClickDelay,x=e.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents=\"all\",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener(\"touchstart\",x._ontouchstart),x._ontouchstart=_,x.addEventListener(\"touchstart\",_,{passive:!1})):x.ontouchstart=_;var b=e.clampFn||function(e,t,r){return Math.abs(e)<r&&(e=0),Math.abs(t)<r&&(t=0),[e,t]};function _(a){g._dragged=!1,g._dragging=!0;var o=f(a);t=o[0],r=o[1],d=a.target,p=a,v=2===a.buttons||a.ctrlKey,void 0===a.clientX&&void 0===a.clientY&&(a.clientX=t,a.clientY=r),(n=(new Date).getTime())-g._mouseDownTime<y?m+=1:(m=1,g._mouseDownTime=n),e.prepFn&&e.prepFn(a,t,r),i&&!v?(h=c()).style.cursor=window.getComputedStyle(x).cursor:i||(h=document,u=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(x).cursor),document.addEventListener(\"mouseup\",k),document.addEventListener(\"touchend\",k),!1!==e.dragmode&&(a.preventDefault(),document.addEventListener(\"mousemove\",w),document.addEventListener(\"touchmove\",w,{passive:!1}))}function w(n){n.preventDefault();var i=f(n),a=e.minDrag||s.MINDRAG,o=b(i[0]-t,i[1]-r,a),u=o[0],c=o[1];(u||c)&&(g._dragged=!0,l.unhover(g,n)),g._dragged&&e.moveFn&&!v&&(g._dragdata={element:x,dx:u,dy:c},e.moveFn(u,c))}function k(t){if(delete g._dragdata,!1!==e.dragmode&&(t.preventDefault(),document.removeEventListener(\"mousemove\",w),document.removeEventListener(\"touchmove\",w)),document.removeEventListener(\"mouseup\",k),document.removeEventListener(\"touchend\",k),i?o(h):u&&(h.documentElement.style.cursor=u,u=null),g._dragging){if(g._dragging=!1,(new Date).getTime()-g._mouseDownTime>y&&(m=Math.max(m-1,1)),g._dragged)e.doneFn&&e.doneFn();else if(e.clickFn&&e.clickFn(m,p),!v){var r;try{r=new MouseEvent(\"click\",t)}catch(e){var n=f(t);(r=document.createEvent(\"MouseEvents\")).initMouseEvent(\"click\",t.bubbles,t.cancelable,t.view,t.detail,t.screenX,t.screenY,n[0],n[1],t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=c},26041:function(e,t,r){\"use strict\";var n=r(11086),i=r(79990),a=r(24401).getGraphDiv,o=r(26675),s=e.exports={};s.wrapped=function(e,t,r){(e=a(e))._fullLayout&&i.clear(e._fullLayout._uid+o.HOVERID),s.raw(e,t,r)},s.raw=function(e,t){var r=e._fullLayout,i=e._hoverdata;t||(t={}),t.target&&!e._dragged&&!1===n.triggerHandler(e,\"plotly_beforehover\",t)||(r._hoverlayer.selectAll(\"g\").remove(),r._hoverlayer.selectAll(\"line\").remove(),r._hoverlayer.selectAll(\"circle\").remove(),e._hoverdata=void 0,t.target&&i&&e.emit(\"plotly_unhover\",{event:t,points:i}))}},79952:function(e,t){\"use strict\";t.P={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"},t.u={shape:{valType:\"enumerated\",values:[\"\",\"/\",\"\\\\\",\"x\",\"-\",\"|\",\"+\",\".\"],dflt:\"\",arrayOk:!0,editType:\"style\"},fillmode:{valType:\"enumerated\",values:[\"replace\",\"overlay\"],dflt:\"replace\",editType:\"style\"},bgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgopacity:{valType:\"number\",editType:\"style\",min:0,max:1},size:{valType:\"number\",min:0,dflt:8,arrayOk:!0,editType:\"style\"},solidity:{valType:\"number\",min:0,max:1,dflt:.3,arrayOk:!0,editType:\"style\"},editType:\"style\"}},91424:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(92770),s=r(84267),l=r(73972),u=r(7901),c=r(21081),f=i.strTranslate,h=r(63893),p=r(77922),d=r(18783).LINE_SPACING,v=r(37822).DESELECTDIM,g=r(34098),m=r(39984),y=r(23469).appendArrayPointValue,x=e.exports={};function b(e,t,r){var n=t.fillpattern,i=n&&x.getPatternAttr(n.shape,0,\"\");if(i){var a=x.getPatternAttr(n.bgcolor,0,null),o=x.getPatternAttr(n.fgcolor,0,null),s=n.fgopacity,l=x.getPatternAttr(n.size,0,8),c=x.getPatternAttr(n.solidity,0,.3),f=t.uid;x.pattern(e,\"point\",r,f,i,l,c,void 0,n.fillmode,a,o,s)}else t.fillcolor&&e.call(u.fill,t.fillcolor)}x.font=function(e,t,r,n){i.isPlainObject(t)&&(n=t.color,r=t.size,t=t.family),t&&e.style(\"font-family\",t),r+1&&e.style(\"font-size\",r+\"px\"),n&&e.call(u.fill,n)},x.setPosition=function(e,t,r){e.attr(\"x\",t).attr(\"y\",r)},x.setSize=function(e,t,r){e.attr(\"width\",t).attr(\"height\",r)},x.setRect=function(e,t,r,n,i){e.call(x.setPosition,t,r).call(x.setSize,n,i)},x.translatePoint=function(e,t,r,n){var i=r.c2p(e.x),a=n.c2p(e.y);return!!(o(i)&&o(a)&&t.node())&&(\"text\"===t.node().nodeName?t.attr(\"x\",i).attr(\"y\",a):t.attr(\"transform\",f(i,a)),!0)},x.translatePoints=function(e,t,r){e.each((function(e){var i=n.select(this);x.translatePoint(e,i,t,r)}))},x.hideOutsideRangePoint=function(e,t,r,n,i,a){t.attr(\"display\",r.isPtWithinRange(e,i)&&n.isPtWithinRange(e,a)?null:\"none\")},x.hideOutsideRangePoints=function(e,t){if(t._hasClipOnAxisFalse){var r=t.xaxis,i=t.yaxis;e.each((function(t){var a=t[0].trace,o=a.xcalendar,s=a.ycalendar,u=l.traceIs(a,\"bar-like\")?\".bartext\":\".point,.textpoint\";e.selectAll(u).each((function(e){x.hideOutsideRangePoint(e,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(e,t,r){return t&&o(t)?e._context.staticPlot?t:t<1?1:Math.round(t):r||0},x.singleLineStyle=function(e,t,r,n,i){t.style(\"fill\",\"none\");var a=(((e||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";u.stroke(t,n||a.color),x.dashLine(t,s,o)},x.lineGroupStyle=function(e,t,r,i){e.style(\"fill\",\"none\").each((function(e){var a=(((e||[])[0]||{}).trace||{}).line||{},o=t||a.width||0,s=i||a.dash||\"\";n.select(this).call(u.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(e,t,r){r=+r||0,t=x.dashStyle(t,r),e.style({\"stroke-dasharray\":t,\"stroke-width\":r+\"px\"})},x.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return\"solid\"===e?e=\"\":\"dot\"===e?e=r+\"px,\"+r+\"px\":\"dash\"===e?e=3*r+\"px,\"+3*r+\"px\":\"longdash\"===e?e=5*r+\"px,\"+5*r+\"px\":\"dashdot\"===e?e=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":\"longdashdot\"===e&&(e=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),e},x.singleFillStyle=function(e,t){var r=n.select(e.node());b(e,((r.data()[0]||[])[0]||{}).trace||{},t)},x.fillGroupStyle=function(e,t){e.style(\"stroke-width\",0).each((function(e){var r=n.select(this);e[0].trace&&b(r,e[0].trace,t)}))};var _=r(90998);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(_).forEach((function(e){var t=_[e],r=t.n;x.symbolList.push(r,String(r),e,r+100,String(r+100),e+\"-open\"),x.symbolNames[r]=e,x.symbolFuncs[r]=t.f,x.symbolBackOffs[r]=t.backoff||0,t.needLine&&(x.symbolNeedLines[r]=!0),t.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),e+\"-dot\",r+300,String(r+300),e+\"-open-dot\"),t.noFill&&(x.symbolNoFill[r]=!0)}));var w=x.symbolNames.length;function k(e,t,r,n){var i=e%100;return x.symbolFuncs[i](t,r,n)+(e>=200?\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\":\"\")}x.symbolNumber=function(e){if(o(e))e=+e;else if(\"string\"==typeof e){var t=0;e.indexOf(\"-open\")>0&&(t=100,e=e.replace(\"-open\",\"\")),e.indexOf(\"-dot\")>0&&(t+=200,e=e.replace(\"-dot\",\"\")),(e=x.symbolNames.indexOf(e))>=0&&(e+=t)}return e%100>=w||e>=400?0:Math.floor(Math.max(e,0))};var T={x1:1,x2:0,y1:0,y2:0},M={x1:0,x2:0,y1:1,y2:0},A=a(\"~f\"),S={radial:{node:\"radialGradient\"},radialreversed:{node:\"radialGradient\",reversed:!0},horizontal:{node:\"linearGradient\",attrs:T},horizontalreversed:{node:\"linearGradient\",attrs:T,reversed:!0},vertical:{node:\"linearGradient\",attrs:M},verticalreversed:{node:\"linearGradient\",attrs:M,reversed:!0}};x.gradient=function(e,t,r,a,o,l){for(var c=o.length,f=S[a],h=new Array(c),p=0;p<c;p++)f.reversed?h[c-1-p]=[A(100*(1-o[p][0])),o[p][1]]:h[p]=[A(100*o[p][0]),o[p][1]];var d=t._fullLayout,v=\"g\"+d._uid+\"-\"+r,g=d._defs.select(\".gradients\").selectAll(\"#\"+v).data([a+h.join(\";\")],i.identity);g.exit().remove(),g.enter().append(f.node).each((function(){var e=n.select(this);f.attrs&&e.attr(f.attrs),e.attr(\"id\",v);var t=e.selectAll(\"stop\").data(h);t.exit().remove(),t.enter().append(\"stop\"),t.each((function(e){var t=s(e[1]);n.select(this).attr({offset:e[0]+\"%\",\"stop-color\":u.tinyRGB(t),\"stop-opacity\":t.getAlpha()})}))})),e.style(l,V(v,t)).style(l+\"-opacity\",null),e.classed(\"gradient_filled\",!0)},x.pattern=function(e,t,r,a,o,l,c,f,h,p,d,v){var g=\"legend\"===t;f&&(\"overlay\"===h?(p=f,d=u.contrast(p)):(p=void 0,d=f));var m,y,x,b,_,w,k,T,M,A=r._fullLayout,S=\"p\"+A._uid+\"-\"+a,E={},C=s(d),L=u.tinyRGB(C),P=v*C.getAlpha();switch(o){case\"/\":m=l*Math.sqrt(2),y=l*Math.sqrt(2),w=\"path\",E={d:x=\"M-\"+m/4+\",\"+y/4+\"l\"+m/2+\",-\"+y/2+\"M0,\"+y+\"L\"+m+\",0M\"+m/4*3+\",\"+y/4*5+\"l\"+m/2+\",-\"+y/2,opacity:P,stroke:L,\"stroke-width\":(b=c*l)+\"px\"};break;case\"\\\\\":m=l*Math.sqrt(2),y=l*Math.sqrt(2),w=\"path\",E={d:x=\"M\"+m/4*3+\",-\"+y/4+\"l\"+m/2+\",\"+y/2+\"M0,0L\"+m+\",\"+y+\"M-\"+m/4+\",\"+y/4*3+\"l\"+m/2+\",\"+y/2,opacity:P,stroke:L,\"stroke-width\":(b=c*l)+\"px\"};break;case\"x\":m=l*Math.sqrt(2),y=l*Math.sqrt(2),x=\"M-\"+m/4+\",\"+y/4+\"l\"+m/2+\",-\"+y/2+\"M0,\"+y+\"L\"+m+\",0M\"+m/4*3+\",\"+y/4*5+\"l\"+m/2+\",-\"+y/2+\"M\"+m/4*3+\",-\"+y/4+\"l\"+m/2+\",\"+y/2+\"M0,0L\"+m+\",\"+y+\"M-\"+m/4+\",\"+y/4*3+\"l\"+m/2+\",\"+y/2,b=l-l*Math.sqrt(1-c),w=\"path\",E={d:x,opacity:P,stroke:L,\"stroke-width\":b+\"px\"};break;case\"|\":w=\"path\",w=\"path\",E={d:x=\"M\"+(m=l)/2+\",0L\"+m/2+\",\"+(y=l),opacity:P,stroke:L,\"stroke-width\":(b=c*l)+\"px\"};break;case\"-\":w=\"path\",w=\"path\",E={d:x=\"M0,\"+(y=l)/2+\"L\"+(m=l)+\",\"+y/2,opacity:P,stroke:L,\"stroke-width\":(b=c*l)+\"px\"};break;case\"+\":w=\"path\",x=\"M\"+(m=l)/2+\",0L\"+m/2+\",\"+(y=l)+\"M0,\"+y/2+\"L\"+m+\",\"+y/2,b=l-l*Math.sqrt(1-c),w=\"path\",E={d:x,opacity:P,stroke:L,\"stroke-width\":b+\"px\"};break;case\".\":m=l,y=l,c<Math.PI/4?_=Math.sqrt(c*l*l/Math.PI):(k=c,T=Math.PI/4,1,_=(M=l/2)+(l/Math.sqrt(2)-M)*(k-T)/(1-T)),w=\"circle\",E={cx:m/2,cy:y/2,r:_,opacity:P,fill:L}}var O=[o||\"noSh\",p||\"noBg\",d||\"noFg\",l,c].join(\";\"),I=A._defs.select(\".patterns\").selectAll(\"#\"+S).data([O],i.identity);I.exit().remove(),I.enter().append(\"pattern\").each((function(){var e=n.select(this);if(e.attr({id:S,width:m+\"px\",height:y+\"px\",patternUnits:\"userSpaceOnUse\",patternTransform:g?\"scale(0.8)\":\"\"}),p){var t=s(p),r=u.tinyRGB(t),i=t.getAlpha(),a=e.selectAll(\"rect\").data([0]);a.exit().remove(),a.enter().append(\"rect\").attr({width:m+\"px\",height:y+\"px\",fill:r,\"fill-opacity\":i})}var o=e.selectAll(w).data([0]);o.exit().remove(),o.enter().append(w).attr(E)})),e.style(\"fill\",V(S,r)).style(\"fill-opacity\",null),e.classed(\"pattern_filled\",!0)},x.initGradients=function(e){var t=e._fullLayout;i.ensureSingle(t._defs,\"g\",\"gradients\").selectAll(\"linearGradient,radialGradient\").remove(),n.select(e).selectAll(\".gradient_filled\").classed(\"gradient_filled\",!1)},x.initPatterns=function(e){var t=e._fullLayout;i.ensureSingle(t._defs,\"g\",\"patterns\").selectAll(\"pattern\").remove(),n.select(e).selectAll(\".pattern_filled\").classed(\"pattern_filled\",!1)},x.getPatternAttr=function(e,t,r){return e&&i.isArrayOrTypedArray(e)?t<e.length?e[t]:r:e},x.pointStyle=function(e,t,r,i){if(e.size()){var a=x.makePointStyleFns(t);e.each((function(e){x.singlePointStyle(e,n.select(this),t,a,r,i)}))}},x.singlePointStyle=function(e,t,r,n,a,o){var s=r.marker,l=s.line;if(o&&o.i>=0&&void 0===e.i&&(e.i=o.i),t.style(\"opacity\",n.selectedOpacityFn?n.selectedOpacityFn(e):void 0===e.mo?s.opacity:e.mo),n.ms2mrc){var c;c=\"various\"===e.ms||\"various\"===s.size?3:n.ms2mrc(e.ms),e.mrc=c,n.selectedSizeFn&&(c=e.mrc=n.selectedSizeFn(e));var f=x.symbolNumber(e.mx||s.symbol)||0;e.om=f%200>=100;var h=re(e,r),p=G(e,r);t.attr(\"d\",k(f,c,h,p))}var d,v,g,m=!1;if(e.so)g=l.outlierwidth,v=l.outliercolor,d=s.outliercolor;else{var y=(l||{}).width;g=(e.mlw+1||y+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,v=\"mlc\"in e?e.mlcc=n.lineScale(e.mlc):i.isArrayOrTypedArray(l.color)?u.defaultLine:l.color,i.isArrayOrTypedArray(s.color)&&(d=u.defaultLine,m=!0),d=\"mc\"in e?e.mcc=n.markerScale(e.mc):s.color||s.colors||\"rgba(0,0,0,0)\",n.selectedColorFn&&(d=n.selectedColorFn(e))}if(e.om)t.call(u.stroke,d).style({\"stroke-width\":(g||1)+\"px\",fill:\"none\"});else{t.style(\"stroke-width\",(e.isBlank?0:g)+\"px\");var b=s.gradient,_=e.mgt;_?m=!0:_=b&&b.type,i.isArrayOrTypedArray(_)&&(_=_[0],S[_]||(_=0));var w=s.pattern,T=w&&x.getPatternAttr(w.shape,e.i,\"\");if(_&&\"none\"!==_){var M=e.mgc;M?m=!0:M=b.color;var A=r.uid;m&&(A+=\"-\"+e.i),x.gradient(t,a,A,_,[[0,M],[1,d]],\"fill\")}else if(T){var E=!1,C=w.fgcolor;!C&&o&&o.color&&(C=o.color,E=!0);var L=x.getPatternAttr(C,e.i,o&&o.color||null),P=x.getPatternAttr(w.bgcolor,e.i,null),O=w.fgopacity,I=x.getPatternAttr(w.size,e.i,8),D=x.getPatternAttr(w.solidity,e.i,.3);E=E||e.mcc||i.isArrayOrTypedArray(w.shape)||i.isArrayOrTypedArray(w.bgcolor)||i.isArrayOrTypedArray(w.fgcolor)||i.isArrayOrTypedArray(w.size)||i.isArrayOrTypedArray(w.solidity);var z=r.uid;E&&(z+=\"-\"+e.i),x.pattern(t,\"point\",a,z,T,I,D,e.mcc,w.fillmode,P,L,O)}else i.isArrayOrTypedArray(d)?u.fill(t,d[e.i]):u.fill(t,d);g&&u.stroke(t,v)}},x.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=x.tryColorscale(r,\"\"),t.lineScale=x.tryColorscale(r,\"line\"),l.traceIs(e,\"symbols\")&&(t.ms2mrc=g.isBubble(e)?m(e):function(){return(r.size||6)/2}),e.selectedpoints&&i.extendFlat(t,x.makeSelectedPointStyleFns(e)),t},x.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},a=e.marker||{},o=r.marker||{},s=n.marker||{},u=a.opacity,c=o.opacity,f=s.opacity,h=void 0!==c,p=void 0!==f;(i.isArrayOrTypedArray(u)||h||p)&&(t.selectedOpacityFn=function(e){var t=void 0===e.mo?a.opacity:e.mo;return e.selected?h?c:t:p?f:v*t});var d=a.color,g=o.color,m=s.color;(g||m)&&(t.selectedColorFn=function(e){var t=e.mcc||d;return e.selected?g||t:m||t});var y=a.size,x=o.size,b=s.size,_=void 0!==x,w=void 0!==b;return l.traceIs(e,\"symbols\")&&(_||w)&&(t.selectedSizeFn=function(e){var t=e.mrc||y/2;return e.selected?_?x/2:t:w?b/2:t}),t},x.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,c=o.color;return t.selectedTextColorFn=function(e){var t=e.tc||s;return e.selected?l||t:c||(l?t:u.addOpacity(t,v))},t},x.selectedPointStyle=function(e,t){if(e.size()&&t.selectedpoints){var r=x.makeSelectedPointStyleFns(t),i=t.marker||{},a=[];r.selectedOpacityFn&&a.push((function(e,t){e.style(\"opacity\",r.selectedOpacityFn(t))})),r.selectedColorFn&&a.push((function(e,t){u.fill(e,r.selectedColorFn(t))})),r.selectedSizeFn&&a.push((function(e,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);e.attr(\"d\",k(x.symbolNumber(a),o,re(n,t),G(n,t))),n.mrc2=o})),a.length&&e.each((function(e){for(var t=n.select(this),r=0;r<a.length;r++)a[r](t,e)}))}},x.tryColorscale=function(e,t){var r=t?i.nestedProperty(e,t).get():e;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&i.isArrayOrTypedArray(n))return c.makeColorScaleFuncFromTrace(r)}return i.identity};var E,C,L={start:1,end:-1,middle:0,bottom:1,top:-1};function P(e,t,r,i,a){var o=n.select(e.node().parentNode),s=-1!==t.indexOf(\"top\")?\"top\":-1!==t.indexOf(\"bottom\")?\"bottom\":\"middle\",l=-1!==t.indexOf(\"left\")?\"end\":-1!==t.indexOf(\"right\")?\"start\":\"middle\",u=i?i/.8+1:0,c=(h.lineCount(e)-1)*d+1,p=L[l]*u,v=.75*r+L[s]*u+(L[s]-1)*c*r/2;e.attr(\"text-anchor\",l),a||o.attr(\"transform\",f(p,v))}function O(e,t){var r=e.ts||t.textfont.size;return o(r)&&r>0?r:0}function I(e,t,r){return r&&(e=N(e)),t?z(e[1]):D(e[0])}function D(e){var t=n.round(e,2);return E=t,t}function z(e){var t=n.round(e,2);return C=t,t}function R(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),p=3*l*(l+u);return[[D(t[0]+(h&&c/h)),z(t[1]+(h&&f/h))],[D(t[0]-(p&&c/p)),z(t[1]-(p&&f/p))]]}x.textPointStyle=function(e,t,r){if(e.size()){var a;if(t.selectedpoints){var o=x.makeSelectedTextStyleFns(t);a=o.selectedTextColorFn}var s=t.texttemplate,l=r._fullLayout;e.each((function(e){var o=n.select(this),u=s?i.extractOption(e,t,\"txt\",\"texttemplate\"):i.extractOption(e,t,\"tx\",\"text\");if(u||0===u){if(s){var c=t._module.formatLabels,f=c?c(e,t,l):{},p={};y(p,t,e.i);var d=t._meta||{};u=i.texttemplateString(u,f,l._d3locale,p,e,d)}var v=e.tp||t.textposition,g=O(e,t),m=a?a(e):e.tc||t.textfont.color;o.call(x.font,e.tf||t.textfont.family,g,m).text(u).call(h.convertToTspans,r).call(P,v,g,e.mrc)}else o.remove()}))}},x.selectedTextStyle=function(e,t){if(e.size()&&t.selectedpoints){var r=x.makeSelectedTextStyleFns(t);e.each((function(e){var i=n.select(this),a=r.selectedTextColorFn(e),o=e.tp||t.textposition,s=O(e,t);u.fill(i,a);var c=l.traceIs(t,\"bar-like\");P(i,o,s,e.mrc2||e.mrc,c)}))}},x.smoothopen=function(e,t){if(e.length<3)return\"M\"+e.join(\"L\");var r,n=\"M\"+e[0],i=[];for(r=1;r<e.length-1;r++)i.push(R(e[r-1],e[r],e[r+1],t));for(n+=\"Q\"+i[0][0]+\" \"+e[1],r=2;r<e.length-1;r++)n+=\"C\"+i[r-2][1]+\" \"+i[r-1][0]+\" \"+e[r];return n+\"Q\"+i[e.length-3][1]+\" \"+e[e.length-1]},x.smoothclosed=function(e,t){if(e.length<3)return\"M\"+e.join(\"L\")+\"Z\";var r,n=\"M\"+e[0],i=e.length-1,a=[R(e[i],e[0],e[1],t)];for(r=1;r<i;r++)a.push(R(e[r-1],e[r],e[r+1],t));for(a.push(R(e[i-1],e[i],e[0],t)),r=1;r<=i;r++)n+=\"C\"+a[r-1][1]+\" \"+a[r][0]+\" \"+e[r];return n+\"C\"+a[i][1]+\" \"+a[0][0]+\" \"+e[0]+\"Z\"};var F={hv:function(e,t,r){return\"H\"+D(t[0])+\"V\"+I(t,1,r)},vh:function(e,t,r){return\"V\"+z(t[1])+\"H\"+I(t,0,r)},hvh:function(e,t,r){return\"H\"+D((e[0]+t[0])/2)+\"V\"+z(t[1])+\"H\"+I(t,0,r)},vhv:function(e,t,r){return\"V\"+z((e[1]+t[1])/2)+\"H\"+D(t[0])+\"V\"+I(t,1,r)}},B=function(e,t,r){return\"L\"+I(t,0,r)+\",\"+I(t,1,r)};function N(e,t){var r=e.backoff,n=e.trace,a=e.d,o=e.i;if(r&&n&&n.marker&&n.marker.angle%360==0&&n.line&&\"spline\"!==n.line.shape){var s=i.isArrayOrTypedArray(r),l=e,u=t?t[0]:E||0,c=t?t[1]:C||0,f=l[0],h=l[1],p=f-u,d=h-c,v=Math.atan2(d,p),g=s?r[o]:r;if(\"auto\"===g){var m=l.i;\"scatter\"===n.type&&m--;var y=l.marker,b=y.symbol;i.isArrayOrTypedArray(b)&&(b=b[m]);var _=y.size;i.isArrayOrTypedArray(_)&&(_=_[m]),g=y?x.symbolBackOffs[x.symbolNumber(b)]*_:0,g+=x.getMarkerStandoff(a[m],n)||0}var w=f-g*Math.cos(v),k=h-g*Math.sin(v);(w<=f&&w>=u||w>=f&&w<=u)&&(k<=h&&k>=c||k>=h&&k<=c)&&(e=[w,k])}return e}x.steps=function(e){var t=F[e]||B;return function(e){for(var r=\"M\"+D(e[0][0])+\",\"+z(e[0][1]),n=e.length,i=1;i<n;i++)r+=t(e[i-1],e[i],i===n-1);return r}},x.applyBackoff=N,x.makeTester=function(){var e=i.ensureSingleById(n.select(\"body\"),\"svg\",\"js-plotly-tester\",(function(e){e.attr(p.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"})})),t=i.ensureSingle(e,\"path\",\"js-reference-point\",(function(e){e.attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"})}));x.tester=e,x.testref=t},x.savedBBoxes={};var j=0;function U(e){var t=e.getAttribute(\"data-unformatted\");if(null!==t)return t+e.getAttribute(\"data-math\")+e.getAttribute(\"text-anchor\")+e.getAttribute(\"style\")}function V(e,t){if(!e)return null;var r=t._context,n=r._exportedPlot?\"\":r._baseUrl||\"\";return n?\"url('\"+n+\"#\"+e+\"')\":\"url(#\"+e+\")\"}x.bBox=function(e,t,r){var a,o,s;if(r||(r=U(e)),r){if(a=x.savedBBoxes[r])return i.extendFlat({},a)}else if(1===e.childNodes.length){var l=e.childNodes[0];if(r=U(l)){var u=+l.getAttribute(\"x\")||0,c=+l.getAttribute(\"y\")||0,f=l.getAttribute(\"transform\");if(!f){var p=x.bBox(l,!1,r);return u&&(p.left+=u,p.right+=u),c&&(p.top+=c,p.bottom+=c),p}if(r+=\"~\"+u+\"~\"+c+\"~\"+f,a=x.savedBBoxes[r])return i.extendFlat({},a)}}t?o=e:(s=x.tester.node(),o=e.cloneNode(!0),s.appendChild(o)),n.select(o).attr(\"transform\",null).call(h.positionText,0,0);var d=o.getBoundingClientRect(),v=x.testref.node().getBoundingClientRect();t||s.removeChild(o);var g={height:d.height,width:d.width,left:d.left-v.left,top:d.top-v.top,right:d.right-v.left,bottom:d.bottom-v.top};return j>=1e4&&(x.savedBBoxes={},j=0),r&&(x.savedBBoxes[r]=g),j++,i.extendFlat({},g)},x.setClipUrl=function(e,t,r){e.attr(\"clip-path\",V(t,r))},x.getTranslate=function(e){var t=(e[e.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,(function(e,t,r){return[t,r].join(\" \")})).split(\" \");return{x:+t[0]||0,y:+t[1]||0}},x.setTranslate=function(e,t,r){var n=e.attr?\"attr\":\"getAttribute\",i=e.attr?\"attr\":\"setAttribute\",a=e[n](\"transform\")||\"\";return t=t||0,r=r||0,a=a.replace(/(\\btranslate\\(.*?\\);?)/,\"\").trim(),a=(a+=f(t,r)).trim(),e[i](\"transform\",a),a},x.getScale=function(e){var t=(e[e.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,(function(e,t,r){return[t,r].join(\" \")})).split(\" \");return{x:+t[0]||1,y:+t[1]||1}},x.setScale=function(e,t,r){var n=e.attr?\"attr\":\"getAttribute\",i=e.attr?\"attr\":\"setAttribute\",a=e[n](\"transform\")||\"\";return t=t||1,r=r||1,a=a.replace(/(\\bscale\\(.*?\\);?)/,\"\").trim(),a=(a+=\"scale(\"+t+\",\"+r+\")\").trim(),e[i](\"transform\",a),a};var H=/\\s*sc.*/;x.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,e){var n=1===t&&1===r?\"\":\"scale(\"+t+\",\"+r+\")\";e.each((function(){var e=(this.getAttribute(\"transform\")||\"\").replace(H,\"\");e=(e+=n).trim(),this.setAttribute(\"transform\",e)}))}};var q=/translate\\([^)]*\\)\\s*$/;function G(e,t){var r;return e&&(r=e.mf),void 0===r&&(r=t.marker&&t.marker.standoff||0),t._geo||t._xA?r:-r}x.setTextPointsScale=function(e,t,r){e&&e.each((function(){var e,i=n.select(this),a=i.select(\"text\");if(a.node()){var o=parseFloat(a.attr(\"x\")||0),s=parseFloat(a.attr(\"y\")||0),l=(i.attr(\"transform\")||\"\").match(q);e=1===t&&1===r?[]:[f(o,s),\"scale(\"+t+\",\"+r+\")\",f(-o,-s)],l&&e.push(l),i.attr(\"transform\",e.join(\"\"))}}))},x.getMarkerStandoff=G;var Y,W,Z,X,K,J,$=Math.atan2,Q=Math.cos,ee=Math.sin;function te(e,t){var r=t[0],n=t[1];return[r*Q(e)-n*ee(e),r*ee(e)+n*Q(e)]}function re(e,t){var r,n,i=e.ma;void 0===i&&(i=t.marker.angle||0);var a=t.marker.angleref;if(\"previous\"===a||\"north\"===a){if(t._geo){var s=t._geo.project(e.lonlat);r=s[0],n=s[1]}else{var l=t._xA,u=t._yA;if(!l||!u)return 90;r=l.c2p(e.x),n=u.c2p(e.y)}if(t._geo){var c,f=e.lonlat[0],h=e.lonlat[1],p=t._geo.project([f,h+1e-5]),d=t._geo.project([f+1e-5,h]),v=$(d[1]-n,d[0]-r),g=$(p[1]-n,p[0]-r);if(\"north\"===a)c=i/180*Math.PI;else if(\"previous\"===a){var m=f/180*Math.PI,y=h/180*Math.PI,x=Y/180*Math.PI,b=W/180*Math.PI,_=x-m,w=Q(b)*ee(_),k=ee(b)*Q(y)-Q(b)*ee(y)*Q(_);c=-$(w,k)-Math.PI,Y=f,W=h}var T=te(v,[Q(c),0]),M=te(g,[ee(c),0]);i=$(T[1]+M[1],T[0]+M[0])/Math.PI*180,\"previous\"!==a||J===t.uid&&e.i===K+1||(i=null)}if(\"previous\"===a&&!t._geo)if(J===t.uid&&e.i===K+1&&o(r)&&o(n)){var A=r-Z,S=n-X,E=t.line&&t.line.shape||\"\",C=E.slice(E.length-1);\"h\"===C&&(S=0),\"v\"===C&&(A=0),i+=$(S,A)/Math.PI*180+90}else i=null}return Z=r,X=n,K=e.i,J=t.uid,i}x.getMarkerAngle=re},90998:function(e,t,r){\"use strict\";var n,i,a,o,s=r(95616),l=r(39898).round,u=\"M0,0Z\",c=Math.sqrt(2),f=Math.sqrt(3),h=Math.PI,p=Math.cos,d=Math.sin;function v(e){return null===e}function g(e,t,r){if(!(e&&e%360!=0||t))return r;if(a===e&&o===t&&n===r)return i;function l(e,r){var n=p(e),i=d(e),a=r[0],o=r[1]+(t||0);return[a*n-o*i,a*i+o*n]}a=e,o=t,n=r;for(var u=e/180*h,c=0,f=0,v=s(r),g=\"\",m=0;m<v.length;m++){var y=v[m],x=y[0],b=c,_=f;if(\"M\"===x||\"L\"===x)c=+y[1],f=+y[2];else if(\"m\"===x||\"l\"===x)c+=+y[1],f+=+y[2];else if(\"H\"===x)c=+y[1];else if(\"h\"===x)c+=+y[1];else if(\"V\"===x)f=+y[1];else if(\"v\"===x)f+=+y[1];else if(\"A\"===x){c=+y[1],f=+y[2];var w=l(u,[+y[6],+y[7]]);y[6]=w[0],y[7]=w[1],y[3]=+y[3]+e}\"H\"!==x&&\"V\"!==x||(x=\"L\"),\"h\"!==x&&\"v\"!==x||(x=\"l\"),\"m\"!==x&&\"l\"!==x||(c-=b,f-=_);var k=l(u,[c,f]);\"H\"!==x&&\"V\"!==x||(x=\"L\"),\"M\"!==x&&\"L\"!==x&&\"m\"!==x&&\"l\"!==x||(y[1]=k[0],y[2]=k[1]),y[0]=x,g+=y[0]+y.slice(1).join(\",\")}return i=g,g}e.exports={circle:{n:0,f:function(e,t,r){if(v(t))return u;var n=l(e,2),i=\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\";return r?g(t,r,i):i}},square:{n:1,f:function(e,t,r){if(v(t))return u;var n=l(e,2);return g(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")}},diamond:{n:2,f:function(e,t,r){if(v(t))return u;var n=l(1.3*e,2);return g(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"Z\")}},cross:{n:3,f:function(e,t,r){if(v(t))return u;var n=l(.4*e,2),i=l(1.2*e,2);return g(t,r,\"M\"+i+\",\"+n+\"H\"+n+\"V\"+i+\"H-\"+n+\"V\"+n+\"H-\"+i+\"V-\"+n+\"H-\"+n+\"V-\"+i+\"H\"+n+\"V-\"+n+\"H\"+i+\"Z\")}},x:{n:4,f:function(e,t,r){if(v(t))return u;var n=l(.8*e/c,2),i=\"l\"+n+\",\"+n,a=\"l\"+n+\",-\"+n,o=\"l-\"+n+\",-\"+n,s=\"l-\"+n+\",\"+n;return g(t,r,\"M0,\"+n+i+a+o+a+o+s+o+s+i+s+i+\"Z\")}},\"triangle-up\":{n:5,f:function(e,t,r){if(v(t))return u;var n=l(2*e/f,2);return g(t,r,\"M-\"+n+\",\"+l(e/2,2)+\"H\"+n+\"L0,-\"+l(e,2)+\"Z\")}},\"triangle-down\":{n:6,f:function(e,t,r){if(v(t))return u;var n=l(2*e/f,2);return g(t,r,\"M-\"+n+\",-\"+l(e/2,2)+\"H\"+n+\"L0,\"+l(e,2)+\"Z\")}},\"triangle-left\":{n:7,f:function(e,t,r){if(v(t))return u;var n=l(2*e/f,2);return g(t,r,\"M\"+l(e/2,2)+\",-\"+n+\"V\"+n+\"L-\"+l(e,2)+\",0Z\")}},\"triangle-right\":{n:8,f:function(e,t,r){if(v(t))return u;var n=l(2*e/f,2);return g(t,r,\"M-\"+l(e/2,2)+\",-\"+n+\"V\"+n+\"L\"+l(e,2)+\",0Z\")}},\"triangle-ne\":{n:9,f:function(e,t,r){if(v(t))return u;var n=l(.6*e,2),i=l(1.2*e,2);return g(t,r,\"M-\"+i+\",-\"+n+\"H\"+n+\"V\"+i+\"Z\")}},\"triangle-se\":{n:10,f:function(e,t,r){if(v(t))return u;var n=l(.6*e,2),i=l(1.2*e,2);return g(t,r,\"M\"+n+\",-\"+i+\"V\"+n+\"H-\"+i+\"Z\")}},\"triangle-sw\":{n:11,f:function(e,t,r){if(v(t))return u;var n=l(.6*e,2),i=l(1.2*e,2);return g(t,r,\"M\"+i+\",\"+n+\"H-\"+n+\"V-\"+i+\"Z\")}},\"triangle-nw\":{n:12,f:function(e,t,r){if(v(t))return u;var n=l(.6*e,2),i=l(1.2*e,2);return g(t,r,\"M-\"+n+\",\"+i+\"V-\"+n+\"H\"+i+\"Z\")}},pentagon:{n:13,f:function(e,t,r){if(v(t))return u;var n=l(.951*e,2),i=l(.588*e,2),a=l(-e,2),o=l(-.309*e,2);return g(t,r,\"M\"+n+\",\"+o+\"L\"+i+\",\"+l(.809*e,2)+\"H-\"+i+\"L-\"+n+\",\"+o+\"L0,\"+a+\"Z\")}},hexagon:{n:14,f:function(e,t,r){if(v(t))return u;var n=l(e,2),i=l(e/2,2),a=l(e*f/2,2);return g(t,r,\"M\"+a+\",-\"+i+\"V\"+i+\"L0,\"+n+\"L-\"+a+\",\"+i+\"V-\"+i+\"L0,-\"+n+\"Z\")}},hexagon2:{n:15,f:function(e,t,r){if(v(t))return u;var n=l(e,2),i=l(e/2,2),a=l(e*f/2,2);return g(t,r,\"M-\"+i+\",\"+a+\"H\"+i+\"L\"+n+\",0L\"+i+\",-\"+a+\"H-\"+i+\"L-\"+n+\",0Z\")}},octagon:{n:16,f:function(e,t,r){if(v(t))return u;var n=l(.924*e,2),i=l(.383*e,2);return g(t,r,\"M-\"+i+\",-\"+n+\"H\"+i+\"L\"+n+\",-\"+i+\"V\"+i+\"L\"+i+\",\"+n+\"H-\"+i+\"L-\"+n+\",\"+i+\"V-\"+i+\"Z\")}},star:{n:17,f:function(e,t,r){if(v(t))return u;var n=1.4*e,i=l(.225*n,2),a=l(.951*n,2),o=l(.363*n,2),s=l(.588*n,2),c=l(-n,2),f=l(-.309*n,2),h=l(.118*n,2),p=l(.809*n,2);return g(t,r,\"M\"+i+\",\"+f+\"H\"+a+\"L\"+o+\",\"+h+\"L\"+s+\",\"+p+\"L0,\"+l(.382*n,2)+\"L-\"+s+\",\"+p+\"L-\"+o+\",\"+h+\"L-\"+a+\",\"+f+\"H-\"+i+\"L0,\"+c+\"Z\")}},hexagram:{n:18,f:function(e,t,r){if(v(t))return u;var n=l(.66*e,2),i=l(.38*e,2),a=l(.76*e,2);return g(t,r,\"M-\"+a+\",0l-\"+i+\",-\"+n+\"h\"+a+\"l\"+i+\",-\"+n+\"l\"+i+\",\"+n+\"h\"+a+\"l-\"+i+\",\"+n+\"l\"+i+\",\"+n+\"h-\"+a+\"l-\"+i+\",\"+n+\"l-\"+i+\",-\"+n+\"h-\"+a+\"Z\")}},\"star-triangle-up\":{n:19,f:function(e,t,r){if(v(t))return u;var n=l(e*f*.8,2),i=l(.8*e,2),a=l(1.6*e,2),o=l(4*e,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return g(t,r,\"M-\"+n+\",\"+i+s+n+\",\"+i+s+\"0,-\"+a+s+\"-\"+n+\",\"+i+\"Z\")}},\"star-triangle-down\":{n:20,f:function(e,t,r){if(v(t))return u;var n=l(e*f*.8,2),i=l(.8*e,2),a=l(1.6*e,2),o=l(4*e,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return g(t,r,\"M\"+n+\",-\"+i+s+\"-\"+n+\",-\"+i+s+\"0,\"+a+s+n+\",-\"+i+\"Z\")}},\"star-square\":{n:21,f:function(e,t,r){if(v(t))return u;var n=l(1.1*e,2),i=l(2*e,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return g(t,r,\"M-\"+n+\",-\"+n+a+\"-\"+n+\",\"+n+a+n+\",\"+n+a+n+\",-\"+n+a+\"-\"+n+\",-\"+n+\"Z\")}},\"star-diamond\":{n:22,f:function(e,t,r){if(v(t))return u;var n=l(1.4*e,2),i=l(1.9*e,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return g(t,r,\"M-\"+n+\",0\"+a+\"0,\"+n+a+n+\",0\"+a+\"0,-\"+n+a+\"-\"+n+\",0Z\")}},\"diamond-tall\":{n:23,f:function(e,t,r){if(v(t))return u;var n=l(.7*e,2),i=l(1.4*e,2);return g(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},\"diamond-wide\":{n:24,f:function(e,t,r){if(v(t))return u;var n=l(1.4*e,2),i=l(.7*e,2);return g(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},hourglass:{n:25,f:function(e,t,r){if(v(t))return u;var n=l(e,2);return g(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"L\"+n+\",-\"+n+\"H-\"+n+\"Z\")},noDot:!0},bowtie:{n:26,f:function(e,t,r){if(v(t))return u;var n=l(e,2);return g(t,r,\"M\"+n+\",\"+n+\"V-\"+n+\"L-\"+n+\",\"+n+\"V-\"+n+\"Z\")},noDot:!0},\"circle-cross\":{n:27,f:function(e,t,r){if(v(t))return u;var n=l(e,2);return g(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(e,t,r){if(v(t))return u;var n=l(e,2),i=l(e/c,2);return g(t,r,\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(e,t,r){if(v(t))return u;var n=l(e,2);return g(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(e,t,r){if(v(t))return u;var n=l(e,2);return g(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(e,t,r){if(v(t))return u;var n=l(1.3*e,2);return g(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM0,-\"+n+\"V\"+n+\"M-\"+n+\",0H\"+n)},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(e,t,r){if(v(t))return u;var n=l(1.3*e,2),i=l(.65*e,2);return g(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM-\"+i+\",-\"+i+\"L\"+i+\",\"+i+\"M-\"+i+\",\"+i+\"L\"+i+\",-\"+i)},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(e,t,r){if(v(t))return u;var n=l(1.4*e,2);return g(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(e,t,r){if(v(t))return u;var n=l(e,2);return g(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e,t,r){if(v(t))return u;var n=l(1.2*e,2),i=l(.85*e,2);return g(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e,t,r){if(v(t))return u;var n=l(e/2,2),i=l(e,2);return g(t,r,\"M\"+n+\",\"+i+\"V-\"+i+\"M\"+(n-i)+\",-\"+i+\"V\"+i+\"M\"+i+\",\"+n+\"H-\"+i+\"M-\"+i+\",\"+(n-i)+\"H\"+i)},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(e,t,r){if(v(t))return u;var n=l(1.2*e,2),i=l(1.6*e,2),a=l(.8*e,2);return g(t,r,\"M-\"+n+\",\"+a+\"L0,0M\"+n+\",\"+a+\"L0,0M0,-\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(e,t,r){if(v(t))return u;var n=l(1.2*e,2),i=l(1.6*e,2),a=l(.8*e,2);return g(t,r,\"M-\"+n+\",-\"+a+\"L0,0M\"+n+\",-\"+a+\"L0,0M0,\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(e,t,r){if(v(t))return u;var n=l(1.2*e,2),i=l(1.6*e,2),a=l(.8*e,2);return g(t,r,\"M\"+a+\",\"+n+\"L0,0M\"+a+\",-\"+n+\"L0,0M-\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(e,t,r){if(v(t))return u;var n=l(1.2*e,2),i=l(1.6*e,2),a=l(.8*e,2);return g(t,r,\"M-\"+a+\",\"+n+\"L0,0M-\"+a+\",-\"+n+\"L0,0M\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(e,t,r){if(v(t))return u;var n=l(1.4*e,2);return g(t,r,\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(e,t,r){if(v(t))return u;var n=l(1.4*e,2);return g(t,r,\"M0,\"+n+\"V-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(e,t,r){if(v(t))return u;var n=l(e,2);return g(t,r,\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(e,t,r){if(v(t))return u;var n=l(e,2);return g(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"arrow-up\":{n:45,f:function(e,t,r){if(v(t))return u;var n=l(e,2);return g(t,r,\"M0,0L-\"+n+\",\"+l(2*e,2)+\"H\"+n+\"Z\")},backoff:1,noDot:!0},\"arrow-down\":{n:46,f:function(e,t,r){if(v(t))return u;var n=l(e,2);return g(t,r,\"M0,0L-\"+n+\",-\"+l(2*e,2)+\"H\"+n+\"Z\")},noDot:!0},\"arrow-left\":{n:47,f:function(e,t,r){if(v(t))return u;var n=l(2*e,2),i=l(e,2);return g(t,r,\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-right\":{n:48,f:function(e,t,r){if(v(t))return u;var n=l(2*e,2),i=l(e,2);return g(t,r,\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-bar-up\":{n:49,f:function(e,t,r){if(v(t))return u;var n=l(e,2);return g(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",\"+l(2*e,2)+\"H\"+n+\"Z\")},backoff:1,needLine:!0,noDot:!0},\"arrow-bar-down\":{n:50,f:function(e,t,r){if(v(t))return u;var n=l(e,2);return g(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",-\"+l(2*e,2)+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-left\":{n:51,f:function(e,t,r){if(v(t))return u;var n=l(2*e,2),i=l(e,2);return g(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-right\":{n:52,f:function(e,t,r){if(v(t))return u;var n=l(2*e,2),i=l(e,2);return g(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},arrow:{n:53,f:function(e,t,r){if(v(t))return u;var n=h/2.5,i=2*e*p(n),a=2*e*d(n);return g(t,r,\"M0,0L\"+-i+\",\"+a+\"L\"+i+\",\"+a+\"Z\")},backoff:.9,noDot:!0},\"arrow-wide\":{n:54,f:function(e,t,r){if(v(t))return u;var n=h/4,i=2*e*p(n),a=2*e*d(n);return g(t,r,\"M0,0L\"+-i+\",\"+a+\"A \"+2*e+\",\"+2*e+\" 0 0 1 \"+i+\",\"+a+\"Z\")},backoff:.4,noDot:!0}}},25673:function(e){\"use strict\";e.exports={visible:{valType:\"boolean\",editType:\"calc\"},type:{valType:\"enumerated\",values:[\"percent\",\"constant\",\"sqrt\",\"data\"],editType:\"calc\"},symmetric:{valType:\"boolean\",editType:\"calc\"},array:{valType:\"data_array\",editType:\"calc\"},arrayminus:{valType:\"data_array\",editType:\"calc\"},value:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},valueminus:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},traceref:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},tracerefminus:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},copy_ystyle:{valType:\"boolean\",editType:\"plot\"},copy_zstyle:{valType:\"boolean\",editType:\"style\"},color:{valType:\"color\",editType:\"style\"},thickness:{valType:\"number\",min:0,dflt:2,editType:\"style\"},width:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\",_deprecated:{opacity:{valType:\"number\",editType:\"style\"}}}},84532:function(e,t,r){\"use strict\";var n=r(92770),i=r(73972),a=r(89298),o=r(71828),s=r(45827);function l(e,t,r,i){var l=t[\"error_\"+i]||{},u=[];if(l.visible&&-1!==[\"linear\",\"log\"].indexOf(r.type)){for(var c=s(l),f=0;f<e.length;f++){var h=e[f],p=h.i;if(void 0===p)p=f;else if(null===p)continue;var d=h[i];if(n(r.c2l(d))){var v=c(d,p);if(n(v[0])&&n(v[1])){var g=h[i+\"s\"]=d-v[0],m=h[i+\"h\"]=d+v[1];u.push(g,m)}}}var y=r._id,x=t._extremes[y],b=a.findExtremes(r,u,o.extendFlat({tozero:x.opts.tozero},{padded:!0}));x.min=x.min.concat(b.min),x.max=x.max.concat(b.max)}}e.exports=function(e){for(var t=e.calcdata,r=0;r<t.length;r++){var n=t[r],o=n[0].trace;if(!0===o.visible&&i.traceIs(o,\"errorBarsOK\")){var s=a.getFromId(e,o.xaxis),u=a.getFromId(e,o.yaxis);l(n,o,s,\"x\"),l(n,o,u,\"y\")}}}},45827:function(e){\"use strict\";function t(e,t){return\"percent\"===e?function(e){return Math.abs(e*t/100)}:\"constant\"===e?function(){return Math.abs(t)}:\"sqrt\"===e?function(e){return Math.sqrt(Math.abs(e))}:void 0}e.exports=function(e){var r=e.type,n=e.symmetric;if(\"data\"===r){var i=e.array||[];if(n)return function(e,t){var r=+i[t];return[r,r]};var a=e.arrayminus||[];return function(e,t){var r=+i[t],n=+a[t];return isNaN(r)&&isNaN(n)?[NaN,NaN]:[n||0,r||0]}}var o=t(r,e.value),s=t(r,e.valueminus);return n||void 0===e.valueminus?function(e){var t=o(e);return[t,t]}:function(e){return[s(e),o(e)]}}},97587:function(e,t,r){\"use strict\";var n=r(92770),i=r(73972),a=r(71828),o=r(44467),s=r(25673);e.exports=function(e,t,r,l){var u=\"error_\"+l.axis,c=o.newContainer(t,u),f=e[u]||{};function h(e,t){return a.coerce(f,c,s,e,t)}if(!1!==h(\"visible\",void 0!==f.array||void 0!==f.value||\"sqrt\"===f.type)){var p=h(\"type\",\"array\"in f?\"data\":\"percent\"),d=!0;\"sqrt\"!==p&&(d=h(\"symmetric\",!((\"data\"===p?\"arrayminus\":\"valueminus\")in f))),\"data\"===p?(h(\"array\"),h(\"traceref\"),d||(h(\"arrayminus\"),h(\"tracerefminus\"))):\"percent\"!==p&&\"constant\"!==p||(h(\"value\"),d||h(\"valueminus\"));var v=\"copy_\"+l.inherit+\"style\";l.inherit&&(t[\"error_\"+l.inherit]||{}).visible&&h(v,!(f.color||n(f.thickness)||n(f.width))),l.inherit&&c[v]||(h(\"color\",r),h(\"thickness\"),h(\"width\",i.traceIs(t,\"gl3d\")?0:4))}}},37369:function(e,t,r){\"use strict\";var n=r(71828),i=r(30962).overrideAll,a=r(25673),o={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a)};delete o.error_x.copy_zstyle,delete o.error_y.copy_zstyle,delete o.error_y.copy_ystyle;var s={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a),error_z:n.extendFlat({},a)};delete s.error_x.copy_ystyle,delete s.error_y.copy_ystyle,delete s.error_z.copy_ystyle,delete s.error_z.copy_zstyle,e.exports={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:o,bar:o,histogram:o,scatter3d:i(s,\"calc\",\"nested\"),scattergl:i(o,\"calc\",\"nested\")}},supplyDefaults:r(97587),calc:r(84532),makeComputeError:r(45827),plot:r(19398),style:r(62662),hoverInfo:function(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}}},19398:function(e,t,r){\"use strict\";var n=r(39898),i=r(92770),a=r(91424),o=r(34098);e.exports=function(e,t,r,s){var l=r.xaxis,u=r.yaxis,c=s&&s.duration>0,f=e._context.staticPlot;t.each((function(t){var h,p=t[0].trace,d=p.error_x||{},v=p.error_y||{};p.ids&&(h=function(e){return e.id});var g=o.hasMarkers(p)&&p.marker.maxdisplayed>0;v.visible||d.visible||(t=[]);var m=n.select(this).selectAll(\"g.errorbar\").data(t,h);if(m.exit().remove(),t.length){d.visible||m.selectAll(\"path.xerror\").remove(),v.visible||m.selectAll(\"path.yerror\").remove(),m.style(\"opacity\",1);var y=m.enter().append(\"g\").classed(\"errorbar\",!0);c&&y.style(\"opacity\",0).transition().duration(s.duration).style(\"opacity\",1),a.setClipUrl(m,r.layerClipId,e),m.each((function(e){var t=n.select(this),r=function(e,t,r){var n={x:t.c2p(e.x),y:r.c2p(e.y)};return void 0!==e.yh&&(n.yh=r.c2p(e.yh),n.ys=r.c2p(e.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(e.ys,!0))),void 0!==e.xh&&(n.xh=t.c2p(e.xh),n.xs=t.c2p(e.xs),i(n.xs)||(n.noXS=!0,n.xs=t.c2p(e.xs,!0))),n}(e,l,u);if(!g||e.vis){var a,o=t.select(\"path.yerror\");if(v.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var h=v.width;a=\"M\"+(r.x-h)+\",\"+r.yh+\"h\"+2*h+\"m-\"+h+\",0V\"+r.ys,r.noYS||(a+=\"m-\"+h+\",0h\"+2*h),o.size()?c&&(o=o.transition().duration(s.duration).ease(s.easing)):o=t.append(\"path\").style(\"vector-effect\",f?\"none\":\"non-scaling-stroke\").classed(\"yerror\",!0),o.attr(\"d\",a)}else o.remove();var p=t.select(\"path.xerror\");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var m=(d.copy_ystyle?v:d).width;a=\"M\"+r.xh+\",\"+(r.y-m)+\"v\"+2*m+\"m0,-\"+m+\"H\"+r.xs,r.noXS||(a+=\"m0,-\"+m+\"v\"+2*m),p.size()?c&&(p=p.transition().duration(s.duration).ease(s.easing)):p=t.append(\"path\").style(\"vector-effect\",f?\"none\":\"non-scaling-stroke\").classed(\"xerror\",!0),p.attr(\"d\",a)}else p.remove()}}))}}))}},62662:function(e,t,r){\"use strict\";var n=r(39898),i=r(7901);e.exports=function(e){e.each((function(e){var t=e[0].trace,r=t.error_y||{},a=t.error_x||{},o=n.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",r.thickness+\"px\").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(i.stroke,a.color)}))}},77914:function(e,t,r){\"use strict\";var n=r(41940),i=r(528).hoverlabel,a=r(1426).extendFlat;e.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:\"none\"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:\"none\"}}},30732:function(e,t,r){\"use strict\";var n=r(71828),i=r(73972);function a(e,t,r,i){i=i||n.identity,Array.isArray(e)&&(t[0][r]=i(e))}e.exports=function(e){var t=e.calcdata,r=e._fullLayout;function o(e){return function(t){return n.coerceHoverinfo({hoverinfo:t},{_module:e._module},r)}}for(var s=0;s<t.length;s++){var l=t[s],u=l[0].trace;if(!i.traceIs(u,\"pie-like\")){var c=i.traceIs(u,\"2dMap\")?a:n.fillArray;c(u.hoverinfo,l,\"hi\",o(u)),u.hovertemplate&&c(u.hovertemplate,l,\"ht\"),u.hoverlabel&&(c(u.hoverlabel.bgcolor,l,\"hbg\"),c(u.hoverlabel.bordercolor,l,\"hbc\"),c(u.hoverlabel.font.size,l,\"hts\"),c(u.hoverlabel.font.color,l,\"htc\"),c(u.hoverlabel.font.family,l,\"htf\"),c(u.hoverlabel.namelength,l,\"hnl\"),c(u.hoverlabel.align,l,\"hta\"))}}}},75914:function(e,t,r){\"use strict\";var n=r(73972),i=r(88335).hover;e.exports=function(e,t,r){var a=n.getComponentMethod(\"annotations\",\"onClick\")(e,e._hoverdata);function o(){e.emit(\"plotly_click\",{points:e._hoverdata,event:t})}void 0!==r&&i(e,t,r,!0),e._hoverdata&&t&&t.target&&(a&&a.then?a.then(o):o(),t.stopImmediatePropagation&&t.stopImmediatePropagation())}},26675:function(e){\"use strict\";e.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,HOVERID:\"-hover\"}},54268:function(e,t,r){\"use strict\";var n=r(71828),i=r(77914),a=r(38048);e.exports=function(e,t,r,o){var s=n.extendFlat({},o.hoverlabel);t.hovertemplate&&(s.namelength=-1),a(e,t,(function(r,a){return n.coerce(e,t,i,r,a)}),s)}},23469:function(e,t,r){\"use strict\";var n=r(71828);t.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo},t.isTraceInSubplots=function(e,r){if(\"splom\"===e.type){for(var n=e.xaxes||[],i=e.yaxes||[],a=0;a<n.length;a++)for(var o=0;o<i.length;o++)if(-1!==r.indexOf(n[a]+i[o]))return!0;return!1}return-1!==r.indexOf(t.getSubplot(e))},t.flat=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=t;return r},t.p2c=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=e[n].p2c(t);return r},t.getDistanceFunction=function(e,r,n,i){return\"closest\"===e?i||t.quadrature(r,n):\"x\"===e.charAt(0)?r:n},t.getClosest=function(e,t,r){if(!1!==r.index)r.index>=0&&r.index<e.length?r.distance=0:r.index=!1;else for(var n=0;n<e.length;n++){var i=t(e[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},t.inbox=function(e,t,r){return e*t<0||0===e?r:1/0},t.quadrature=function(e,t){return function(r){var n=e(r),i=t(r);return Math.sqrt(n*n+i*i)}},t.makeEventData=function(e,r,n){var i=\"index\"in e?e.index:e.pointNumber,a={data:r._input,fullData:r,curveNumber:r.index,pointNumber:i};if(r._indexToPoints){var o=r._indexToPoints[i];1===o.length?a.pointIndex=o[0]:a.pointIndices=o}else a.pointIndex=i;return r._module.eventData?a=r._module.eventData(a,e,r,n,i):(\"xVal\"in e?a.x=e.xVal:\"x\"in e&&(a.x=e.x),\"yVal\"in e?a.y=e.yVal:\"y\"in e&&(a.y=e.y),e.xa&&(a.xaxis=e.xa),e.ya&&(a.yaxis=e.ya),void 0!==e.zLabelVal&&(a.z=e.zLabelVal)),t.appendArrayPointValue(a,r,i),a},t.appendArrayPointValue=function(e,t,r){var i=t._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],u=a(l);if(void 0===e[u]){var c=o(n.nestedProperty(t,l).get(),r);void 0!==c&&(e[u]=c)}}},t.appendArrayMultiPointValues=function(e,t,r){var i=t._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],u=a(l);if(void 0===e[u]){for(var c=n.nestedProperty(t,l).get(),f=new Array(r.length),h=0;h<r.length;h++)f[h]=o(c,r[h]);e[u]=f}}};var i={ids:\"id\",locations:\"location\",labels:\"label\",values:\"value\",\"marker.colors\":\"color\",parents:\"parent\"};function a(e){return i[e]||e}function o(e,t){return Array.isArray(t)?Array.isArray(e)&&Array.isArray(e[t[0]])?e[t[0]][t[1]]:void 0:e[t]}var s={x:!0,y:!0},l={\"x unified\":!0,\"y unified\":!0};t.isUnifiedHover=function(e){return\"string\"==typeof e&&!!l[e]},t.isXYhover=function(e){return\"string\"==typeof e&&!!s[e]}},88335:function(e,t,r){\"use strict\";var n=r(39898),i=r(92770),a=r(84267),o=r(71828),s=o.strTranslate,l=o.strRotate,u=r(11086),c=r(63893),f=r(39918),h=r(91424),p=r(7901),d=r(28569),v=r(89298),g=r(73972),m=r(23469),y=r(26675),x=r(99017),b=r(43969),_=y.YANGLE,w=Math.PI*_/180,k=1/Math.sin(w),T=Math.cos(w),M=Math.sin(w),A=y.HOVERARROWSIZE,S=y.HOVERTEXTPAD,E={box:!0,ohlc:!0,violin:!0,candlestick:!0},C={scatter:!0,scattergl:!0,splom:!0};function L(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:\"\",e.ya?e.ya._id:\"\"].join(\",\")}t.hover=function(e,t,r,a){e=o.getGraphDiv(e);var s=t.target;o.throttle(e._fullLayout._uid+y.HOVERID,y.HOVERMINTIME,(function(){!function(e,t,r,a,s){r||(r=\"xy\");var l=Array.isArray(r)?r:[r],c=e._fullLayout,h=c._plots||[],v=h[r],y=c._has(\"cartesian\");if(v){var x=v.overlays.map((function(e){return e.id}));l=l.concat(x)}for(var b=l.length,_=new Array(b),w=new Array(b),T=!1,M=0;M<b;M++){var S=l[M];if(h[S])T=!0,_[M]=h[S].xaxis,w[M]=h[S].yaxis;else{if(!c[S]||!c[S]._subplot)return void o.warn(\"Unrecognized subplot: \"+S);var P=c[S]._subplot;_[M]=P.xaxis,w[M]=P.yaxis}}var I=t.hovermode||c.hovermode;if(I&&!T&&(I=\"closest\"),-1===[\"x\",\"y\",\"closest\",\"x unified\",\"y unified\"].indexOf(I)||!e.calcdata||e.querySelector(\".zoombox\")||e._dragging)return d.unhoverRaw(e,t);var N=c.hoverdistance;-1===N&&(N=1/0);var H=c.spikedistance;-1===H&&(H=1/0);var q,G,Y,W,Z,X,K,J,$,Q,ee,te,re,ne=[],ie=[],ae={hLinePoint:null,vLinePoint:null},oe=!1;if(Array.isArray(t))for(I=\"array\",Y=0;Y<t.length;Y++)(Z=e.calcdata[t[Y].curveNumber||0])&&(X=Z[0].trace,\"skip\"!==Z[0].trace.hoverinfo&&(ie.push(Z),\"h\"===X.orientation&&(oe=!0)));else{for(W=0;W<e.calcdata.length;W++)Z=e.calcdata[W],\"skip\"!==(X=Z[0].trace).hoverinfo&&m.isTraceInSubplots(X,l)&&(ie.push(Z),\"h\"===X.orientation&&(oe=!0));var se,le;if(s){if(!1===u.triggerHandler(e,\"plotly_beforehover\",t))return;var ue=s.getBoundingClientRect();se=t.clientX-ue.left,le=t.clientY-ue.top,c._calcInverseTransform(e);var ce=o.apply3DTransform(c._invTransform)(se,le);if(se=ce[0],le=ce[1],se<0||se>_[0]._length||le<0||le>w[0]._length)return d.unhoverRaw(e,t)}else se=\"xpx\"in t?t.xpx:_[0]._length/2,le=\"ypx\"in t?t.ypx:w[0]._length/2;if(t.pointerX=se+_[0]._offset,t.pointerY=le+w[0]._offset,q=\"xval\"in t?m.flat(l,t.xval):m.p2c(_,se),G=\"yval\"in t?m.flat(l,t.yval):m.p2c(w,le),!i(q[0])||!i(G[0]))return o.warn(\"Fx.hover failed\",t,e),d.unhoverRaw(e,t)}var fe=1/0;function he(e,r){for(W=0;W<ie.length;W++)if((Z=ie[W])&&Z[0]&&Z[0].trace&&!0===(X=Z[0].trace).visible&&0!==X._length&&-1===[\"carpet\",\"contourcarpet\"].indexOf(X._module.name)){if(\"splom\"===X.type?K=l[J=0]:(K=m.getSubplot(X),J=l.indexOf(K)),$=I,m.isUnifiedHover($)&&($=$.charAt(0)),te={cd:Z,trace:X,xa:_[J],ya:w[J],maxHoverDistance:N,maxSpikeDistance:H,index:!1,distance:Math.min(fe,N),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:p.defaultLine,name:X.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},c[K]&&(te.subplot=c[K]._subplot),c._splomScenes&&c._splomScenes[X.uid]&&(te.scene=c._splomScenes[X.uid]),re=ne.length,\"array\"===$){var n=t[W];\"pointNumber\"in n?(te.index=n.pointNumber,$=\"closest\"):($=\"\",\"xval\"in n&&(Q=n.xval,$=\"x\"),\"yval\"in n&&(ee=n.yval,$=$?\"closest\":\"y\"))}else void 0!==e&&void 0!==r?(Q=e,ee=r):(Q=q[J],ee=G[J]);if(0!==N)if(X._module&&X._module.hoverPoints){var a=X._module.hoverPoints(te,Q,ee,$,{finiteRange:!0,hoverLayer:c._hoverlayer});if(a)for(var s,u=0;u<a.length;u++)s=a[u],i(s.x0)&&i(s.y0)&&ne.push(R(s,I))}else o.log(\"Unrecognized trace type in hover:\",X);if(\"closest\"===I&&ne.length>re&&(ne.splice(0,re),fe=ne[0].distance),y&&0!==H&&0===ne.length){te.distance=H,te.index=!1;var f=X._module.hoverPoints(te,Q,ee,\"closest\",{hoverLayer:c._hoverlayer});if(f&&(f=f.filter((function(e){return e.spikeDistance<=H}))),f&&f.length){var h,d=f.filter((function(e){return e.xa.showspikes&&\"hovered data\"!==e.xa.spikesnap}));if(d.length){var v=d[0];i(v.x0)&&i(v.y0)&&(h=de(v),(!ae.vLinePoint||ae.vLinePoint.spikeDistance>h.spikeDistance)&&(ae.vLinePoint=h))}var g=f.filter((function(e){return e.ya.showspikes&&\"hovered data\"!==e.ya.spikesnap}));if(g.length){var x=g[0];i(x.x0)&&i(x.y0)&&(h=de(x),(!ae.hLinePoint||ae.hLinePoint.spikeDistance>h.spikeDistance)&&(ae.hLinePoint=h))}}}}}function pe(e,t,r){for(var n,i=null,a=1/0,o=0;o<e.length;o++)n=e[o].spikeDistance,r&&0===o&&(n=-1/0),n<=a&&n<=t&&(i=e[o],a=n);return i}function de(e){return e?{xa:e.xa,ya:e.ya,x:void 0!==e.xSpike?e.xSpike:(e.x0+e.x1)/2,y:void 0!==e.ySpike?e.ySpike:(e.y0+e.y1)/2,distance:e.distance,spikeDistance:e.spikeDistance,curveNumber:e.trace.index,color:e.color,pointNumber:e.index}:null}he();var ve={fullLayout:c,container:c._hoverlayer,event:t},ge=e._spikepoints,me={vLinePoint:ae.vLinePoint,hLinePoint:ae.hLinePoint};e._spikepoints=me;var ye=function(){ne.sort((function(e,t){return e.distance-t.distance})),ne=function(e,t){for(var r=t.charAt(0),n=[],i=[],a=[],o=0;o<e.length;o++){var s=e[o];g.traceIs(s.trace,\"bar-like\")||g.traceIs(s.trace,\"box-violin\")?a.push(s):s.trace[r+\"period\"]?i.push(s):n.push(s)}return n.concat(i).concat(a)}(ne,I)};ye();var xe=I.charAt(0),be=(\"x\"===xe||\"y\"===xe)&&ne[0]&&C[ne[0].trace.type];if(y&&0!==H&&0!==ne.length){var _e=pe(ne.filter((function(e){return e.ya.showspikes})),H,be);ae.hLinePoint=de(_e);var we=pe(ne.filter((function(e){return e.xa.showspikes})),H,be);ae.vLinePoint=de(we)}if(0===ne.length){var ke=d.unhoverRaw(e,t);return!y||null===ae.hLinePoint&&null===ae.vLinePoint||B(ge)&&F(e,ae,ve),ke}if(y&&B(ge)&&F(e,ae,ve),m.isXYhover($)&&0!==ne[0].length&&\"splom\"!==ne[0].trace.type){var Te=ne[0],Me=(ne=E[Te.trace.type]?ne.filter((function(e){return e.trace.index===Te.trace.index})):[Te]).length;he(j(\"x\",Te,c),j(\"y\",Te,c));var Ae,Se=[],Ee={},Ce=0,Le=function(e){var t=E[e.trace.type]?L(e):e.trace.index;if(Ee[t]){var r=Ee[t]-1,n=Se[r];r>0&&Math.abs(e.distance)<Math.abs(n.distance)&&(Se[r]=e)}else Ce++,Ee[t]=Ce,Se.push(e)};for(Ae=0;Ae<Me;Ae++)Le(ne[Ae]);for(Ae=ne.length-1;Ae>Me-1;Ae--)Le(ne[Ae]);ne=Se,ye()}var Pe=e._hoverdata,Oe=[],Ie=U(e),De=V(e);for(Y=0;Y<ne.length;Y++){var ze=ne[Y],Re=m.makeEventData(ze,ze.trace,ze.cd);if(!1!==ze.hovertemplate){var Fe=!1;ze.cd[ze.index]&&ze.cd[ze.index].ht&&(Fe=ze.cd[ze.index].ht),ze.hovertemplate=Fe||ze.trace.hovertemplate||!1}if(ze.xa&&ze.ya){var Be=ze.x0+ze.xa._offset,Ne=ze.x1+ze.xa._offset,je=ze.y0+ze.ya._offset,Ue=ze.y1+ze.ya._offset,Ve=Math.min(Be,Ne),He=Math.max(Be,Ne),qe=Math.min(je,Ue),Ge=Math.max(je,Ue);Re.bbox={x0:Ve+De,x1:He+De,y0:qe+Ie,y1:Ge+Ie}}ze.eventData=[Re],Oe.push(Re)}e._hoverdata=Oe;var Ye=\"y\"===I&&(ie.length>1||ne.length>1)||\"closest\"===I&&oe&&ne.length>1,We=p.combine(c.plot_bgcolor||p.background,c.paper_bgcolor),Ze=O(ne,{gd:e,hovermode:I,rotateLabels:Ye,bgColor:We,container:c._hoverlayer,outerContainer:c._paper.node(),commonLabelOpts:c.hoverlabel,hoverdistance:c.hoverdistance}),Xe=Ze.hoverLabels;if(m.isUnifiedHover(I)||(function(e,t,r,n){var i,a,o,s,l,u,c,f=t?\"xa\":\"ya\",h=t?\"ya\":\"xa\",p=0,d=1,v=e.size(),g=new Array(v),m=0,y=n.minX,x=n.maxX,b=n.minY,_=n.maxY,w=function(e){return e*r._invScaleX},T=function(e){return e*r._invScaleY};function M(e){var t=e[0],r=e[e.length-1];if(a=t.pmin-t.pos-t.dp+t.size,o=r.pos+r.dp+r.size-t.pmax,a>.01){for(l=e.length-1;l>=0;l--)e[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=e.length-1;l>=0;l--)e[l].dp-=o;i=!1}if(i){var n=0;for(s=0;s<e.length;s++)(u=e[s]).pos+u.dp+u.size>t.pmax&&n++;for(s=e.length-1;s>=0&&!(n<=0);s--)(u=e[s]).pos>t.pmax-1&&(u.del=!0,n--);for(s=0;s<e.length&&!(n<=0);s++)if((u=e[s]).pos<t.pmin+1)for(u.del=!0,n--,o=2*u.size,l=e.length-1;l>=0;l--)e[l].dp-=o;for(s=e.length-1;s>=0&&!(n<=0);s--)(u=e[s]).pos+u.dp+u.size>t.pmax&&(u.del=!0,n--)}}}for(e.each((function(e){var n=e[f],i=e[h],a=\"x\"===n._id.charAt(0),o=n.range;0===m&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if(\"x\"===r.hovermode||\"y\"===r.hovermode){var u,c,p=D(e,t),v=e.anchor,M=\"end\"===v?-1:1;if(\"middle\"===v)c=(u=e.crossPos+(a?T(p.y-e.by/2):w(e.bx/2+e.tx2width/2)))+(a?T(e.by):w(e.bx));else if(a)c=(u=e.crossPos+T(A+p.y)-T(e.by/2-A))+T(e.by);else{var S=w(M*A+p.x),E=S+w(M*e.bx);u=e.crossPos+Math.min(S,E),c=e.crossPos+Math.max(S,E)}a?void 0!==b&&void 0!==_&&Math.min(c,_)-Math.max(u,b)>1&&(\"left\"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==y&&void 0!==x&&Math.min(c,x)-Math.max(u,y)>1&&(\"top\"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[m++]=[{datum:e,traceIndex:e.trace.index,dp:0,pos:e.pos,posref:e.posref,size:e.by*(a?k:1)/2,pmin:s,pmax:l}]})),g.sort((function(e,t){return e[0].posref-t[0].posref||d*(t[0].traceIndex-e[0].traceIndex)}));!i&&p<=v;){for(p++,i=!0,s=0;s<g.length-1;){var S=g[s],E=g[s+1],C=S[S.length-1],L=E[0];if((a=C.pos+C.dp+C.size-L.pos-L.dp+L.size)>.01&&C.pmin===L.pmin&&C.pmax===L.pmax){for(l=E.length-1;l>=0;l--)E[l].dp+=a;for(S.push.apply(S,E),g.splice(s+1,1),c=0,l=S.length-1;l>=0;l--)c+=S[l].dp;for(o=c/S.length,l=S.length-1;l>=0;l--)S[l].dp-=o;i=!1}else s++}g.forEach(M)}for(s=g.length-1;s>=0;s--){var P=g[s];for(l=P.length-1;l>=0;l--){var O=P[l],I=O.datum;I.offset=O.dp,I.del=O.del}}}(Xe,Ye,c,Ze.commonLabelBoundingBox),z(Xe,Ye,c._invScaleX,c._invScaleY)),s&&s.tagName){var Ke=g.getComponentMethod(\"annotations\",\"hasClickToShow\")(e,Oe);f(n.select(s),Ke?\"pointer\":\"\")}s&&!a&&function(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(e,0,Pe)&&(Pe&&e.emit(\"plotly_unhover\",{event:t,points:Pe}),e.emit(\"plotly_hover\",{event:t,points:e._hoverdata,xaxes:_,yaxes:w,xvals:q,yvals:G}))}(e,t,r,a,s)}))},t.loneHover=function(e,t){var r=!0;Array.isArray(e)||(r=!1,e=[e]);var i=t.gd,a=U(i),o=V(i),s=O(e.map((function(e){var r=e._x0||e.x0||e.x||0,n=e._x1||e.x1||e.x||0,s=e._y0||e.y0||e.y||0,l=e._y1||e.y1||e.y||0,u=e.eventData;if(u){var c=Math.min(r,n),f=Math.max(r,n),h=Math.min(s,l),d=Math.max(s,l),v=e.trace;if(g.traceIs(v,\"gl3d\")){var m=i._fullLayout[v.scene]._scene.container,y=m.offsetLeft,x=m.offsetTop;c+=y,f+=y,h+=x,d+=x}u.bbox={x0:c+o,x1:f+o,y0:h+a,y1:d+a},t.inOut_bbox&&t.inOut_bbox.push(u.bbox)}else u=!1;return{color:e.color||p.defaultLine,x0:e.x0||e.x||0,x1:e.x1||e.x||0,y0:e.y0||e.y||0,y1:e.y1||e.y||0,xLabel:e.xLabel,yLabel:e.yLabel,zLabel:e.zLabel,text:e.text,name:e.name,idealAlign:e.idealAlign,borderColor:e.borderColor,fontFamily:e.fontFamily,fontSize:e.fontSize,fontColor:e.fontColor,nameLength:e.nameLength,textAlign:e.textAlign,trace:e.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:e.hovertemplate||!1,hovertemplateLabels:e.hovertemplateLabels||!1,eventData:u}})),{gd:i,hovermode:\"closest\",rotateLabels:!1,bgColor:t.bgColor||p.background,container:n.select(t.container),outerContainer:t.outerContainer||t.container}).hoverLabels,l=0,u=0;return s.sort((function(e,t){return e.y0-t.y0})).each((function(e,r){var n=e.y0-e.by/2;e.offset=n-5<l?l-n+5:0,l=n+e.by+e.offset,r===t.anchorIndex&&(u=e.offset)})).each((function(e){e.offset-=u})),z(s,!1,i._fullLayout._invScaleX,i._fullLayout._invScaleY),r?s:s.node()};var P=/<extra>([\\s\\S]*)<\\/extra>/;function O(e,t){var r=t.gd,i=r._fullLayout,a=t.hovermode,u=t.rotateLabels,f=t.bgColor,d=t.container,v=t.outerContainer,w=t.commonLabelOpts||{};if(0===e.length)return[[]];var k=t.fontFamily||y.HOVERFONT,T=t.fontSize||y.HOVERFONTSIZE,M=e[0],E=M.xa,C=M.ya,P=a.charAt(0),O=P+\"Label\",D=M[O];if(void 0===D&&\"multicategory\"===E.type)for(var z=0;z<e.length&&void 0===(D=e[z][O]);z++);var R=H(r,v),F=R.top,B=R.width,N=R.height,j=void 0!==D&&M.distance<=t.hoverdistance&&(\"x\"===a||\"y\"===a);if(j){var U,V,q=!0;for(U=0;U<e.length;U++)if(q&&void 0===e[U].zLabel&&(q=!1),V=e[U].hoverinfo||e[U].trace.hoverinfo){var G=Array.isArray(V)?V:V.split(\"+\");if(-1===G.indexOf(\"all\")&&-1===G.indexOf(a)){j=!1;break}}q&&(j=!1)}var Y=d.selectAll(\"g.axistext\").data(j?[0]:[]);Y.enter().append(\"g\").classed(\"axistext\",!0),Y.exit().remove();var W={minX:0,maxX:0,minY:0,maxY:0};if(Y.each((function(){var e=n.select(this),t=o.ensureSingle(e,\"path\",\"\",(function(e){e.style({\"stroke-width\":\"1px\"})})),l=o.ensureSingle(e,\"text\",\"\",(function(e){e.attr(\"data-notex\",1)})),u=w.bgcolor||p.defaultLine,f=w.bordercolor||p.contrast(u),d=p.contrast(u),v={family:w.font.family||k,size:w.font.size||T,color:w.font.color||d};t.style({fill:u,stroke:f}),l.text(D).call(h.font,v).call(c.positionText,0,0).call(c.convertToTspans,r),e.attr(\"transform\",\"\");var g,m,y=H(r,l.node());if(\"x\"===a){var x=\"top\"===E.side?\"-\":\"\";l.attr(\"text-anchor\",\"middle\").call(c.positionText,0,\"top\"===E.side?F-y.bottom-A-S:F-y.top+A+S),g=E._offset+(M.x0+M.x1)/2,m=C._offset+(\"top\"===E.side?0:C._length);var b=y.width/2+S;g<b?(g=b,t.attr(\"d\",\"M-\"+(b-A)+\",0L-\"+(b-2*A)+\",\"+x+A+\"H\"+b+\"v\"+x+(2*S+y.height)+\"H-\"+b+\"V\"+x+A+\"Z\")):g>i.width-b?(g=i.width-b,t.attr(\"d\",\"M\"+(b-A)+\",0L\"+b+\",\"+x+A+\"v\"+x+(2*S+y.height)+\"H-\"+b+\"V\"+x+A+\"H\"+(b-2*A)+\"Z\")):t.attr(\"d\",\"M0,0L\"+A+\",\"+x+A+\"H\"+b+\"v\"+x+(2*S+y.height)+\"H-\"+b+\"V\"+x+A+\"H-\"+A+\"Z\"),W.minX=g-b,W.maxX=g+b,\"top\"===E.side?(W.minY=m-(2*S+y.height),W.maxY=m-S):(W.minY=m+S,W.maxY=m+(2*S+y.height))}else{var _,L,P;\"right\"===C.side?(_=\"start\",L=1,P=\"\",g=E._offset+E._length):(_=\"end\",L=-1,P=\"-\",g=E._offset),m=C._offset+(M.y0+M.y1)/2,l.attr(\"text-anchor\",_),t.attr(\"d\",\"M0,0L\"+P+A+\",\"+A+\"V\"+(S+y.height/2)+\"h\"+P+(2*S+y.width)+\"V-\"+(S+y.height/2)+\"H\"+P+A+\"V-\"+A+\"Z\"),W.minY=m-(S+y.height/2),W.maxY=m+(S+y.height/2),\"right\"===C.side?(W.minX=g+A,W.maxX=g+A+(2*S+y.width)):(W.minX=g-A-(2*S+y.width),W.maxX=g-A);var O,I=y.height/2,z=F-y.top-I,R=\"clip\"+i._uid+\"commonlabel\"+C._id;if(g<y.width+2*S+A){O=\"M-\"+(A+S)+\"-\"+I+\"h-\"+(y.width-S)+\"V\"+I+\"h\"+(y.width-S)+\"Z\";var B=y.width-g+S;c.positionText(l,B,z),\"end\"===_&&l.selectAll(\"tspan\").each((function(){var e=n.select(this),t=h.tester.append(\"text\").text(e.text()).call(h.font,v),i=H(r,t.node());Math.round(i.width)<Math.round(y.width)&&e.attr(\"x\",B-i.width),t.remove()}))}else c.positionText(l,L*(S+A),z),O=null;var N=i._topclips.selectAll(\"#\"+R).data(O?[0]:[]);N.enter().append(\"clipPath\").attr(\"id\",R).append(\"path\"),N.exit().remove(),N.select(\"path\").attr(\"d\",O),h.setClipUrl(l,O?R:null,r)}e.attr(\"transform\",s(g,m))})),m.isUnifiedHover(a)){d.selectAll(\"g.hovertext\").remove();var Z=e.filter((function(e){return\"none\"!==e.hoverinfo}));if(0===Z.length)return[];var X=i.hoverlabel,K=X.font,J={showlegend:!0,legend:{title:{text:D,font:K},font:K,bgcolor:X.bgcolor,bordercolor:X.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:i.legend?i.legend.traceorder:void 0,orientation:\"v\"}},$={font:K};x(J,$,r._fullData);var Q=$.legend;Q.entries=[];for(var ee=0;ee<Z.length;ee++){var te=Z[ee];if(\"none\"!==te.hoverinfo){var re=I(te,!0,a,i,D),ne=re[0],ie=re[1];te.name=ie,te.text=\"\"!==ie?ie+\" : \"+ne:ne;var ae=te.cd[te.index];ae&&(ae.mc&&(te.mc=ae.mc),ae.mcc&&(te.mc=ae.mcc),ae.mlc&&(te.mlc=ae.mlc),ae.mlcc&&(te.mlc=ae.mlcc),ae.mlw&&(te.mlw=ae.mlw),ae.mrc&&(te.mrc=ae.mrc),ae.dir&&(te.dir=ae.dir)),te._distinct=!0,Q.entries.push([te])}}Q.entries.sort((function(e,t){return e[0].trace.index-t[0].trace.index})),Q.layer=d,Q._inHover=!0,Q._groupTitleFont=X.grouptitlefont,b(r,Q);var oe,se,le,ue,ce=d.select(\"g.legend\"),fe=H(r,ce.node()),he=fe.width+2*S,pe=fe.height+2*S,de=Z[0],ve=(de.x0+de.x1)/2,ge=(de.y0+de.y1)/2,me=!(g.traceIs(de.trace,\"bar-like\")||g.traceIs(de.trace,\"box-violin\"));\"y\"===P?me?(se=ge-S,oe=ge+S):(se=Math.min.apply(null,Z.map((function(e){return Math.min(e.y0,e.y1)}))),oe=Math.max.apply(null,Z.map((function(e){return Math.max(e.y0,e.y1)})))):se=oe=o.mean(Z.map((function(e){return(e.y0+e.y1)/2})))-pe/2,\"x\"===P?me?(le=ve+S,ue=ve-S):(le=Math.max.apply(null,Z.map((function(e){return Math.max(e.x0,e.x1)}))),ue=Math.min.apply(null,Z.map((function(e){return Math.min(e.x0,e.x1)})))):le=ue=o.mean(Z.map((function(e){return(e.x0+e.x1)/2})))-he/2;var ye,xe,be=E._offset,_e=C._offset;return ue+=be-he,se+=_e-pe,ye=(le+=be)+he<B&&le>=0?le:ue+he<B&&ue>=0?ue:be+he<B?be:le-ve<ve-ue+he?B-he:0,ye+=S,xe=(oe+=_e)+pe<N&&oe>=0?oe:se+pe<N&&se>=0?se:_e+pe<N?_e:oe-ge<ge-se+pe?N-pe:0,xe+=S,ce.attr(\"transform\",s(ye-1,xe-1)),ce}var we=d.selectAll(\"g.hovertext\").data(e,(function(e){return L(e)}));return we.enter().append(\"g\").classed(\"hovertext\",!0).each((function(){var e=n.select(this);e.append(\"rect\").call(p.fill,p.addOpacity(f,.8)),e.append(\"text\").classed(\"name\",!0),e.append(\"path\").style(\"stroke-width\",\"1px\"),e.append(\"text\").classed(\"nums\",!0).call(h.font,k,T)})),we.exit().remove(),we.each((function(e){var t=n.select(this).attr(\"transform\",\"\"),o=e.color;Array.isArray(o)&&(o=o[e.eventData[0].pointNumber]);var d=e.bgcolor||o,v=p.combine(p.opacity(d)?d:p.defaultLine,f),g=p.combine(p.opacity(o)?o:p.defaultLine,f),m=e.borderColor||p.contrast(v),y=I(e,j,a,i,D,t),x=y[0],b=y[1],w=t.select(\"text.nums\").call(h.font,e.fontFamily||k,e.fontSize||T,e.fontColor||m).text(x).attr(\"data-notex\",1).call(c.positionText,0,0).call(c.convertToTspans,r),M=t.select(\"text.name\"),E=0,C=0;if(b&&b!==x){M.call(h.font,e.fontFamily||k,e.fontSize||T,g).text(b).attr(\"data-notex\",1).call(c.positionText,0,0).call(c.convertToTspans,r);var L=H(r,M.node());E=L.width+2*S,C=L.height+2*S}else M.remove(),t.select(\"rect\").remove();t.select(\"path\").style({fill:v,stroke:m});var P=e.xa._offset+(e.x0+e.x1)/2,O=e.ya._offset+(e.y0+e.y1)/2,z=Math.abs(e.x1-e.x0),R=Math.abs(e.y1-e.y0),U=H(r,w.node()),V=U.width/i._invScaleX,q=U.height/i._invScaleY;e.ty0=(F-U.top)/i._invScaleY,e.bx=V+2*S,e.by=Math.max(q+2*S,C),e.anchor=\"start\",e.txwidth=V,e.tx2width=E,e.offset=0;var G,Y,W=(V+A+S+E)*i._invScaleX;if(u)e.pos=P,G=O+R/2+W<=N,Y=O-R/2-W>=0,\"top\"!==e.idealAlign&&G||!Y?G?(O+=R/2,e.anchor=\"start\"):e.anchor=\"middle\":(O-=R/2,e.anchor=\"end\"),e.crossPos=O;else{if(e.pos=O,G=P+z/2+W<=B,Y=P-z/2-W>=0,\"left\"!==e.idealAlign&&G||!Y)if(G)P+=z/2,e.anchor=\"start\";else{e.anchor=\"middle\";var Z=W/2,X=P+Z-B,K=P-Z;X>0&&(P-=X),K<0&&(P+=-K)}else P-=z/2,e.anchor=\"end\";e.crossPos=P}w.attr(\"text-anchor\",e.anchor),E&&M.attr(\"text-anchor\",e.anchor),t.attr(\"transform\",s(P,O)+(u?l(_):\"\"))})),{hoverLabels:we,commonLabelBoundingBox:W}}function I(e,t,r,n,i,a){var s=\"\",l=\"\";void 0!==e.nameOverride&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=o.templateString(e.name,e.trace._meta)),s=N(e.name,e.nameLength));var u=r.charAt(0),c=\"x\"===u?\"y\":\"x\";void 0!==e.zLabel?(void 0!==e.xLabel&&(l+=\"x: \"+e.xLabel+\"<br>\"),void 0!==e.yLabel&&(l+=\"y: \"+e.yLabel+\"<br>\"),\"choropleth\"!==e.trace.type&&\"choroplethmapbox\"!==e.trace.type&&(l+=(l?\"z: \":\"\")+e.zLabel)):t&&e[u+\"Label\"]===i?l=e[c+\"Label\"]||\"\":void 0===e.xLabel?void 0!==e.yLabel&&\"scattercarpet\"!==e.trace.type&&(l=e.yLabel):l=void 0===e.yLabel?e.xLabel:\"(\"+e.xLabel+\", \"+e.yLabel+\")\",!e.text&&0!==e.text||Array.isArray(e.text)||(l+=(l?\"<br>\":\"\")+e.text),void 0!==e.extraText&&(l+=(l?\"<br>\":\"\")+e.extraText),a&&\"\"===l&&!e.hovertemplate&&(\"\"===s&&a.remove(),l=s);var f=e.hovertemplate||!1;if(f){var h=e.hovertemplateLabels||e;e[u+\"Label\"]!==i&&(h[u+\"other\"]=h[u+\"Val\"],h[u+\"otherLabel\"]=h[u+\"Label\"]),l=(l=o.hovertemplateString(f,h,n._d3locale,e.eventData[0]||{},e.trace._meta)).replace(P,(function(t,r){return s=N(r,e.nameLength),\"\"}))}return[l,s]}function D(e,t){var r=0,n=e.offset;return t&&(n*=-M,r=e.offset*T),{x:r,y:n}}function z(e,t,r,i){var a=function(e){return e*r},o=function(e){return e*i};e.each((function(e){var r=n.select(this);if(e.del)return r.remove();var i,s,l,u,f=r.select(\"text.nums\"),p=e.anchor,d=\"end\"===p?-1:1,v=(u=(l=(s={start:1,end:-1,middle:0}[(i=e).anchor])*(A+S))+s*(i.txwidth+S),\"middle\"===i.anchor&&(l-=i.tx2width/2,u+=i.txwidth/2+S),{alignShift:s,textShiftX:l,text2ShiftX:u}),g=D(e,t),m=g.x,y=g.y,x=\"middle\"===p;r.select(\"path\").attr(\"d\",x?\"M-\"+a(e.bx/2+e.tx2width/2)+\",\"+o(y-e.by/2)+\"h\"+a(e.bx)+\"v\"+o(e.by)+\"h-\"+a(e.bx)+\"Z\":\"M0,0L\"+a(d*A+m)+\",\"+o(A+y)+\"v\"+o(e.by/2-A)+\"h\"+a(d*e.bx)+\"v-\"+o(e.by)+\"H\"+a(d*A+m)+\"V\"+o(y-A)+\"Z\");var b=m+v.textShiftX,_=y+e.ty0-e.by/2+S,w=e.textAlign||\"auto\";\"auto\"!==w&&(\"left\"===w&&\"start\"!==p?(f.attr(\"text-anchor\",\"start\"),b=x?-e.bx/2-e.tx2width/2+S:-e.bx-S):\"right\"===w&&\"end\"!==p&&(f.attr(\"text-anchor\",\"end\"),b=x?e.bx/2-e.tx2width/2-S:e.bx+S)),f.call(c.positionText,a(b),o(_)),e.tx2width&&(r.select(\"text.name\").call(c.positionText,a(v.text2ShiftX+v.alignShift*S+m),o(y+e.ty0-e.by/2+S)),r.select(\"rect\").call(h.setRect,a(v.text2ShiftX+(v.alignShift-1)*e.tx2width/2+m),o(y-e.by/2-1),a(e.tx2width),o(e.by+2)))}))}function R(e,t){var r=e.index,n=e.trace||{},a=e.cd[0],s=e.cd[r]||{};function l(e){return e||i(e)&&0===e}var u=Array.isArray(r)?function(e,t){var i=o.castOption(a,r,e);return l(i)?i:o.extractOption({},n,\"\",t)}:function(e,t){return o.extractOption(s,n,e,t)};function c(t,r,n){var i=u(r,n);l(i)&&(e[t]=i)}if(c(\"hoverinfo\",\"hi\",\"hoverinfo\"),c(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),c(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),c(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),c(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),c(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),c(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),c(\"textAlign\",\"hta\",\"hoverlabel.align\"),e.posref=\"y\"===t||\"closest\"===t&&\"h\"===n.orientation?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=o.constrain(e.x0,0,e.xa._length),e.x1=o.constrain(e.x1,0,e.xa._length),e.y0=o.constrain(e.y0,0,e.ya._length),e.y1=o.constrain(e.y1,0,e.ya._length),void 0!==e.xLabelVal&&(e.xLabel=\"xLabel\"in e?e.xLabel:v.hoverLabelText(e.xa,e.xLabelVal,n.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),void 0!==e.yLabelVal&&(e.yLabel=\"yLabel\"in e?e.yLabel:v.hoverLabelText(e.ya,e.yLabelVal,n.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),void 0!==e.zLabelVal&&void 0===e.zLabel&&(e.zLabel=String(e.zLabelVal)),!(isNaN(e.xerr)||\"log\"===e.xa.type&&e.xerr<=0)){var f=v.tickText(e.xa,e.xa.c2l(e.xerr),\"hover\").text;void 0!==e.xerrneg?e.xLabel+=\" +\"+f+\" / -\"+v.tickText(e.xa,e.xa.c2l(e.xerrneg),\"hover\").text:e.xLabel+=\" ± \"+f,\"x\"===t&&(e.distance+=1)}if(!(isNaN(e.yerr)||\"log\"===e.ya.type&&e.yerr<=0)){var h=v.tickText(e.ya,e.ya.c2l(e.yerr),\"hover\").text;void 0!==e.yerrneg?e.yLabel+=\" +\"+h+\" / -\"+v.tickText(e.ya,e.ya.c2l(e.yerrneg),\"hover\").text:e.yLabel+=\" ± \"+h,\"y\"===t&&(e.distance+=1)}var p=e.hoverinfo||e.trace.hoverinfo;return p&&\"all\"!==p&&(-1===(p=Array.isArray(p)?p:p.split(\"+\")).indexOf(\"x\")&&(e.xLabel=void 0),-1===p.indexOf(\"y\")&&(e.yLabel=void 0),-1===p.indexOf(\"z\")&&(e.zLabel=void 0),-1===p.indexOf(\"text\")&&(e.text=void 0),-1===p.indexOf(\"name\")&&(e.name=void 0)),e}function F(e,t,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,u=r.event,c=!!t.hLinePoint,f=!!t.vLinePoint;if(o.selectAll(\".spikeline\").remove(),f||c){var d=p.combine(s.plot_bgcolor,s.paper_bgcolor);if(c){var g,m,y=t.hLinePoint;n=y&&y.xa,\"cursor\"===(i=y&&y.ya).spikesnap?(g=u.pointerX,m=u.pointerY):(g=n._offset+y.x,m=i._offset+y.y);var x,b,_=a.readability(y.color,d)<1.5?p.contrast(d):y.color,w=i.spikemode,k=i.spikethickness,T=i.spikecolor||_,M=v.getPxPosition(e,i);if(-1!==w.indexOf(\"toaxis\")||-1!==w.indexOf(\"across\")){if(-1!==w.indexOf(\"toaxis\")&&(x=M,b=g),-1!==w.indexOf(\"across\")){var A=i._counterDomainMin,S=i._counterDomainMax;\"free\"===i.anchor&&(A=Math.min(A,i.position),S=Math.max(S,i.position)),x=l.l+A*l.w,b=l.l+S*l.w}o.insert(\"line\",\":first-child\").attr({x1:x,x2:b,y1:m,y2:m,\"stroke-width\":k,stroke:T,\"stroke-dasharray\":h.dashStyle(i.spikedash,k)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:x,x2:b,y1:m,y2:m,\"stroke-width\":k+2,stroke:d}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}-1!==w.indexOf(\"marker\")&&o.insert(\"circle\",\":first-child\").attr({cx:M+(\"right\"!==i.side?k:-k),cy:m,r:k,fill:T}).classed(\"spikeline\",!0)}if(f){var E,C,L=t.vLinePoint;n=L&&L.xa,i=L&&L.ya,\"cursor\"===n.spikesnap?(E=u.pointerX,C=u.pointerY):(E=n._offset+L.x,C=i._offset+L.y);var P,O,I=a.readability(L.color,d)<1.5?p.contrast(d):L.color,D=n.spikemode,z=n.spikethickness,R=n.spikecolor||I,F=v.getPxPosition(e,n);if(-1!==D.indexOf(\"toaxis\")||-1!==D.indexOf(\"across\")){if(-1!==D.indexOf(\"toaxis\")&&(P=F,O=C),-1!==D.indexOf(\"across\")){var B=n._counterDomainMin,N=n._counterDomainMax;\"free\"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,O=l.t+(1-B)*l.h}o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:P,y2:O,\"stroke-width\":z,stroke:R,\"stroke-dasharray\":h.dashStyle(n.spikedash,z)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),o.insert(\"line\",\":first-child\").attr({x1:E,x2:E,y1:P,y2:O,\"stroke-width\":z+2,stroke:d}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}-1!==D.indexOf(\"marker\")&&o.insert(\"circle\",\":first-child\").attr({cx:E,cy:F-(\"top\"!==n.side?z:-z),r:z,fill:R}).classed(\"spikeline\",!0)}}}function B(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function N(e,t){return c.plainText(e||\"\",{len:t,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\"]})}function j(e,t,r){var n=t[e+\"a\"],i=t[e+\"Val\"],a=t.cd[0];if(\"category\"===n.type||\"multicategory\"===n.type)i=n._categoriesMap[i];else if(\"date\"===n.type){var o=t.trace[e+\"periodalignment\"];if(o){var s=t.cd[t.index],l=s[e+\"Start\"];void 0===l&&(l=s[e]);var u=s[e+\"End\"];void 0===u&&(u=s[e]);var c=u-l;\"end\"===o?i+=c:\"middle\"===o&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&(\"group\"!==r.boxmode&&\"group\"!==r.violinmode||(i+=a.t.dPos)),i}function U(e){return e.offsetTop+e.clientTop}function V(e){return e.offsetLeft+e.clientLeft}function H(e,t){var r=e._fullLayout,n=t.getBoundingClientRect(),i=n.left,a=n.top,s=i+n.width,l=a+n.height,u=o.apply3DTransform(r._invTransform)(i,a),c=o.apply3DTransform(r._invTransform)(s,l),f=u[0],h=u[1],p=c[0],d=c[1];return{x:f,y:h,width:p-f,height:d-h,top:Math.min(h,d),left:Math.min(f,p),right:Math.max(f,p),bottom:Math.max(h,d)}}},38048:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901),a=r(23469).isUnifiedHover;e.exports=function(e,t,r,o){o=o||{};var s=t.legend;function l(e){o.font[e]||(o.font[e]=s?t.legend.font[e]:t.font[e])}t&&a(t.hovermode)&&(o.font||(o.font={}),l(\"size\"),l(\"family\"),l(\"color\"),s?(o.bgcolor||(o.bgcolor=i.combine(t.legend.bgcolor,t.paper_bgcolor)),o.bordercolor||(o.bordercolor=t.legend.bordercolor)):o.bgcolor||(o.bgcolor=t.paper_bgcolor)),r(\"hoverlabel.bgcolor\",o.bgcolor),r(\"hoverlabel.bordercolor\",o.bordercolor),r(\"hoverlabel.namelength\",o.namelength),n.coerceFont(r,\"hoverlabel.font\",o.font),r(\"hoverlabel.align\",o.align)}},98212:function(e,t,r){\"use strict\";var n=r(71828),i=r(528);e.exports=function(e,t){function r(r,a){return void 0!==t[r]?t[r]:n.coerce(e,t,i,r,a)}return r(\"clickmode\"),r(\"hovermode\")}},30211:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(28569),o=r(23469),s=r(528),l=r(88335);e.exports={moduleType:\"component\",name:\"fx\",constants:r(26675),schema:{layout:s},attributes:r(77914),layoutAttributes:s,supplyLayoutGlobalDefaults:r(22774),supplyDefaults:r(54268),supplyLayoutDefaults:r(34938),calc:r(30732),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(e,t,r){return i.castOption(e,t,\"hoverlabel.\"+r)},castHoverinfo:function(e,t,r){return i.castOption(e,r,\"hoverinfo\",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:e._module},t)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(e){var t=i.isD3Selection(e)?e:n.select(e);t.selectAll(\"g.hovertext\").remove(),t.selectAll(\".spikeline\").remove()},click:r(75914)}},528:function(e,t,r){\"use strict\";var n=r(26675),i=r(41940),a=i({editType:\"none\"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,e.exports={clickmode:{valType:\"flaglist\",flags:[\"event\",\"select\"],dflt:\"event\",editType:\"plot\",extras:[\"none\"]},dragmode:{valType:\"enumerated\",values:[\"zoom\",\"pan\",\"select\",\"lasso\",\"drawclosedpath\",\"drawopenpath\",\"drawline\",\"drawrect\",\"drawcircle\",\"orbit\",\"turntable\",!1],dflt:\"zoom\",editType:\"modebar\"},hovermode:{valType:\"enumerated\",values:[\"x\",\"y\",\"closest\",!1,\"x unified\",\"y unified\"],dflt:\"closest\",editType:\"modebar\"},hoverdistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},spikedistance:{valType:\"integer\",min:-1,dflt:-1,editType:\"none\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"none\"},bordercolor:{valType:\"color\",editType:\"none\"},font:a,grouptitlefont:i({editType:\"none\"}),align:{valType:\"enumerated\",values:[\"left\",\"right\",\"auto\"],dflt:\"auto\",editType:\"none\"},namelength:{valType:\"integer\",min:-1,dflt:15,editType:\"none\"},editType:\"none\"},selectdirection:{valType:\"enumerated\",values:[\"h\",\"v\",\"d\",\"any\"],dflt:\"any\",editType:\"none\"}}},34938:function(e,t,r){\"use strict\";var n=r(71828),i=r(528),a=r(98212),o=r(38048);e.exports=function(e,t){function r(r,a){return n.coerce(e,t,i,r,a)}a(e,t)&&(r(\"hoverdistance\"),r(\"spikedistance\")),\"select\"===r(\"dragmode\")&&r(\"selectdirection\");var s=t._has(\"mapbox\"),l=t._has(\"geo\"),u=t._basePlotModules.length;\"zoom\"===t.dragmode&&((s||l)&&1===u||s&&l&&2===u)&&(t.dragmode=\"pan\"),o(e,t,r),n.coerceFont(r,\"hoverlabel.grouptitlefont\",t.hoverlabel.font)}},22774:function(e,t,r){\"use strict\";var n=r(71828),i=r(38048),a=r(528);e.exports=function(e,t){i(e,t,(function(r,i){return n.coerce(e,t,a,r,i)}))}},83312:function(e,t,r){\"use strict\";var n=r(71828),i=r(30587).counter,a=r(27670).Y,o=r(85555).idRegex,s=r(44467),l={rows:{valType:\"integer\",min:1,editType:\"plot\"},roworder:{valType:\"enumerated\",values:[\"top to bottom\",\"bottom to top\"],dflt:\"top to bottom\",editType:\"plot\"},columns:{valType:\"integer\",min:1,editType:\"plot\"},subplots:{valType:\"info_array\",freeLength:!0,dimensions:2,items:{valType:\"enumerated\",values:[i(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.y.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},pattern:{valType:\"enumerated\",values:[\"independent\",\"coupled\"],dflt:\"coupled\",editType:\"plot\"},xgap:{valType:\"number\",min:0,max:1,editType:\"plot\"},ygap:{valType:\"number\",min:0,max:1,editType:\"plot\"},domain:a({name:\"grid\",editType:\"plot\",noGridCell:!0},{}),xside:{valType:\"enumerated\",values:[\"bottom\",\"bottom plot\",\"top plot\",\"top\"],dflt:\"bottom plot\",editType:\"plot\"},yside:{valType:\"enumerated\",values:[\"left\",\"left plot\",\"right plot\",\"right\"],dflt:\"left plot\",editType:\"plot\"},editType:\"plot\"};function u(e,t,r){var n=t[r+\"axes\"],i=Object.keys((e._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function c(e,t,r,n,i,a){var o=t(e+\"gap\",r),s=t(\"domain.\"+e);t(e+\"side\",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h<i;h++){var p=u+c*h;l[a?i-1-h:h]=[p,p+f]}return l}function f(e,t,r,n,i){var a,o=new Array(r);function s(e,r){-1!==t.indexOf(r)&&void 0===n[r]?(o[e]=r,n[r]=e):o[e]=\"\"}if(Array.isArray(e))for(a=0;a<r;a++)s(a,e[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}e.exports={moduleType:\"component\",name:\"grid\",schema:{layout:{grid:l}},layoutAttributes:l,sizeDefaults:function(e,t){var r=e.grid||{},i=u(t,r,\"x\"),a=u(t,r,\"y\");if(e.grid||i||a){var o,f,h=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),p=Array.isArray(i),d=Array.isArray(a),v=p&&i!==r.xaxes&&d&&a!==r.yaxes;h?(o=r.subplots.length,f=r.subplots[0].length):(d&&(o=a.length),p&&(f=i.length));var g=s.newContainer(t,\"grid\"),m=T(\"rows\",o),y=T(\"columns\",f);if(m*y>1){h||p||d||\"independent\"===T(\"pattern\")&&(h=!0),g._hasSubplotGrid=h;var x,b,_=\"top to bottom\"===T(\"roworder\"),w=h?.2:.1,k=h?.3:.1;v&&t._splomGridDflt&&(x=t._splomGridDflt.xside,b=t._splomGridDflt.yside),g._domains={x:c(\"x\",T,w,x,y),y:c(\"y\",T,k,b,m,_)}}else delete t.grid}function T(e,t){return n.coerce(r,g,l,e,t)}},contentDefaults:function(e,t){var r=t.grid;if(r&&r._domains){var n,i,a,o,s,l,c,h=e.grid||{},p=t._subplots,d=r._hasSubplotGrid,v=r.rows,g=r.columns,m=\"independent\"===r.pattern,y=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(v);var b=1;for(n=0;n<v;n++){var _=l[n]=new Array(g),w=x[n]||[];for(i=0;i<g;i++)if(m?(s=1===b?\"xy\":\"x\"+b+\"y\"+b,b++):s=w[i],_[i]=\"\",-1!==p.cartesian.indexOf(s)){if(c=s.indexOf(\"y\"),a=s.slice(0,c),o=s.slice(c),void 0!==y[a]&&y[a]!==i||void 0!==y[o]&&y[o]!==n)continue;_[i]=s,y[a]=i,y[o]=n}}}else{var k=u(t,h,\"x\"),T=u(t,h,\"y\");r.xaxes=f(k,p.xaxis,g,y,\"x\"),r.yaxes=f(T,p.yaxis,v,y,\"y\")}var M=r._anchors={},A=\"top to bottom\"===r.roworder;for(var S in y){var E,C,L,P=S.charAt(0),O=r[P+\"side\"];if(O.length<8)M[S]=\"free\";else if(\"x\"===P){if(\"t\"===O.charAt(0)===A?(E=0,C=1,L=v):(E=v-1,C=-1,L=-1),d){var I=y[S];for(n=E;n!==L;n+=C)if((s=l[n][I])&&(c=s.indexOf(\"y\"),s.slice(0,c)===S)){M[S]=s.slice(c);break}}else for(n=E;n!==L;n+=C)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){M[S]=o;break}}else if(\"l\"===O.charAt(0)?(E=0,C=1,L=g):(E=g-1,C=-1,L=-1),d){var D=y[S];for(n=E;n!==L;n+=C)if((s=l[D][n])&&(c=s.indexOf(\"y\"),s.slice(c)===S)){M[S]=s.slice(0,c);break}}else for(n=E;n!==L;n+=C)if(a=r.xaxes[n],-1!==p.cartesian.indexOf(a+S)){M[S]=a;break}}}}}},69819:function(e,t,r){\"use strict\";var n=r(85555),i=r(44467).templatedArray;r(24695),e.exports=i(\"image\",{visible:{valType:\"boolean\",dflt:!0,editType:\"arraydraw\"},source:{valType:\"string\",editType:\"arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},sizex:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizey:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},x:{valType:\"any\",dflt:0,editType:\"arraydraw\"},y:{valType:\"any\",dflt:0,editType:\"arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\",editType:\"arraydraw\"},xref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"})},75378:function(e,t,r){\"use strict\";var n=r(92770),i=r(58163);e.exports=function(e,t,r,a){t=t||{};var o=\"log\"===r&&\"linear\"===t.type,s=\"linear\"===r&&\"log\"===t.type;if(o||s)for(var l,u,c=e._fullLayout.images,f=t._id.charAt(0),h=0;h<c.length;h++)if(u=\"images[\"+h+\"].\",(l=c[h])[f+\"ref\"]===t._id){var p=l[f],d=l[\"size\"+f],v=null,g=null;if(o){v=i(p,t.range);var m=d/Math.pow(10,v)/2;g=2*Math.log(m+Math.sqrt(1+m*m))/Math.LN10}else g=(v=Math.pow(10,p))*(Math.pow(10,d/2)-Math.pow(10,-d/2));n(v)?n(g)||(g=null):(v=null,g=null),a(u+f,v),a(u+\"size\"+f,g)}}},81603:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298),a=r(85501),o=r(69819);function s(e,t,r){function a(r,i){return n.coerce(e,t,o,r,i)}var s=a(\"source\");if(!a(\"visible\",!!s))return t;a(\"layer\"),a(\"xanchor\"),a(\"yanchor\"),a(\"sizex\"),a(\"sizey\"),a(\"sizing\"),a(\"opacity\");for(var l={_fullLayout:r},u=[\"x\",\"y\"],c=0;c<2;c++){var f=u[c],h=i.coerceRef(e,t,l,f,\"paper\",void 0);\"paper\"!==h&&i.getFromId(l,h)._imgIndices.push(t._index),i.coercePosition(t,l,a,h,f,0)}return t}e.exports=function(e,t){a(e,t,{name:\"images\",handleItemDefaults:s})}},80750:function(e,t,r){\"use strict\";var n=r(39898),i=r(91424),a=r(89298),o=r(41675),s=r(77922);e.exports=function(e){var t,r,l=e._fullLayout,u=[],c={},f=[];for(r=0;r<l.images.length;r++){var h=l.images[r];if(h.visible)if(\"below\"===h.layer&&\"paper\"!==h.xref&&\"paper\"!==h.yref){t=o.ref2id(h.xref)+o.ref2id(h.yref);var p=l._plots[t];if(!p){f.push(h);continue}p.mainplot&&(t=p.mainplot.id),c[t]||(c[t]=[]),c[t].push(h)}else\"above\"===h.layer?u.push(h):f.push(h)}var d={left:{sizing:\"xMin\",offset:0},center:{sizing:\"xMid\",offset:-.5},right:{sizing:\"xMax\",offset:-1}},v={top:{sizing:\"YMin\",offset:0},middle:{sizing:\"YMid\",offset:-.5},bottom:{sizing:\"YMax\",offset:-1}};function g(t){var r=n.select(this);if(this._imgSrc!==t.source)if(r.attr(\"xmlns\",s.svg),t.source&&\"data:\"===t.source.slice(0,5))r.attr(\"xlink:href\",t.source),this._imgSrc=t.source;else{var i=new Promise(function(e){var n=new Image;function i(){r.remove(),e()}this.img=n,n.setAttribute(\"crossOrigin\",\"anonymous\"),n.onerror=i,n.onload=function(){var t=document.createElement(\"canvas\");t.width=this.width,t.height=this.height,t.getContext(\"2d\",{willReadFrequently:!0}).drawImage(this,0,0);var n=t.toDataURL(\"image/png\");r.attr(\"xlink:href\",n),e()},r.on(\"error\",i),n.src=t.source,this._imgSrc=t.source}.bind(this));e._promises.push(i)}}function m(t){var r,o,s=n.select(this),u=a.getFromId(e,t.xref),c=a.getFromId(e,t.yref),f=\"domain\"===a.getRefType(t.xref),h=\"domain\"===a.getRefType(t.yref),p=l._size;r=void 0!==u?\"string\"==typeof t.xref&&f?u._length*t.sizex:Math.abs(u.l2p(t.sizex)-u.l2p(0)):t.sizex*p.w,o=void 0!==c?\"string\"==typeof t.yref&&h?c._length*t.sizey:Math.abs(c.l2p(t.sizey)-c.l2p(0)):t.sizey*p.h;var g,m,y=r*d[t.xanchor].offset,x=o*v[t.yanchor].offset,b=d[t.xanchor].sizing+v[t.yanchor].sizing;switch(g=void 0!==u?\"string\"==typeof t.xref&&f?u._length*t.x+u._offset:u.r2p(t.x)+u._offset:t.x*p.w+p.l,g+=y,m=void 0!==c?\"string\"==typeof t.yref&&h?c._length*(1-t.y)+c._offset:c.r2p(t.y)+c._offset:p.h-t.y*p.h+p.t,m+=x,t.sizing){case\"fill\":b+=\" slice\";break;case\"stretch\":b=\"none\"}s.attr({x:g,y:m,width:r,height:o,preserveAspectRatio:b,opacity:t.opacity});var _=(u&&\"domain\"!==a.getRefType(t.xref)?u._id:\"\")+(c&&\"domain\"!==a.getRefType(t.yref)?c._id:\"\");i.setClipUrl(s,_?\"clip\"+l._uid+_:null,e)}var y=l._imageLowerLayer.selectAll(\"image\").data(f),x=l._imageUpperLayer.selectAll(\"image\").data(u);y.enter().append(\"image\"),x.enter().append(\"image\"),y.exit().remove(),x.exit().remove(),y.each((function(e){g.bind(this)(e),m.bind(this)(e)})),x.each((function(e){g.bind(this)(e),m.bind(this)(e)}));var b=Object.keys(l._plots);for(r=0;r<b.length;r++){t=b[r];var _=l._plots[t];if(_.imagelayer){var w=_.imagelayer.selectAll(\"image\").data(c[t]||[]);w.enter().append(\"image\"),w.exit().remove(),w.each((function(e){g.bind(this)(e),m.bind(this)(e)}))}}}},68804:function(e,t,r){\"use strict\";e.exports={moduleType:\"component\",name:\"images\",layoutAttributes:r(69819),supplyLayoutDefaults:r(81603),includeBasePlot:r(76325)(\"images\"),draw:r(80750),convertCoords:r(75378)}},33030:function(e,t,r){\"use strict\";var n=r(41940),i=r(22399);e.exports={_isSubplotObj:!0,visible:{valType:\"boolean\",dflt:!0,editType:\"legend\"},bgcolor:{valType:\"color\",editType:\"legend\"},bordercolor:{valType:\"color\",dflt:i.defaultLine,editType:\"legend\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"legend\"},font:n({editType:\"legend\"}),grouptitlefont:n({editType:\"legend\"}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\",editType:\"legend\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"],editType:\"legend\"},tracegroupgap:{valType:\"number\",min:0,dflt:10,editType:\"legend\"},entrywidth:{valType:\"number\",min:0,editType:\"legend\"},entrywidthmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\",editType:\"legend\"},itemsizing:{valType:\"enumerated\",values:[\"trace\",\"constant\"],dflt:\"trace\",editType:\"legend\"},itemwidth:{valType:\"number\",min:30,dflt:30,editType:\"legend\"},itemclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggle\",editType:\"legend\"},itemdoubleclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggleothers\",editType:\"legend\"},groupclick:{valType:\"enumerated\",values:[\"toggleitem\",\"togglegroup\"],dflt:\"togglegroup\",editType:\"legend\"},x:{valType:\"number\",editType:\"legend\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"legend\"},y:{valType:\"number\",editType:\"legend\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"legend\"},uirevision:{valType:\"any\",editType:\"none\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"legend\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"legend\"},font:n({editType:\"legend\"}),side:{valType:\"enumerated\",values:[\"top\",\"left\",\"top left\",\"top center\",\"top right\"],editType:\"legend\"},editType:\"legend\"},editType:\"legend\"}},14928:function(e){\"use strict\";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}},99017:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828),a=r(44467),o=r(9012),s=r(33030),l=r(10820),u=r(10130);function c(e,t,r,c){var f=t[e]||{},h=a.newContainer(r,e);function p(e,t){return i.coerce(f,h,s,e,t)}var d=i.coerceFont(p,\"font\",r.font);if(p(\"bgcolor\",r.paper_bgcolor),p(\"bordercolor\"),p(\"visible\")){for(var v,g=function(e,t){var r=v._input,n=v;return i.coerce(r,n,o,e,t)},m=r.font||{},y=i.coerceFont(p,\"grouptitlefont\",i.extendFlat({},m,{size:Math.round(1.1*m.size)})),x=0,b=!1,_=\"normal\",w=(r.shapes||[]).filter((function(e){return e.showlegend})),k=c.concat(w).filter((function(t){return e===(t.legend||\"legend\")})),T=0;T<k.length;T++)if((v=k[T]).visible){var M=v._isShape;(v.showlegend||v._dfltShowLegend&&!(v._module&&v._module.attributes&&v._module.attributes.showlegend&&!1===v._module.attributes.showlegend.dflt))&&(x++,v.showlegend&&(b=!0,(!M&&n.traceIs(v,\"pie-like\")||!0===v._input.showlegend)&&x++),i.coerceFont(g,\"legendgrouptitle.font\",y)),(!M&&n.traceIs(v,\"bar\")&&\"stack\"===r.barmode||-1!==[\"tonextx\",\"tonexty\"].indexOf(v.fill))&&(_=u.isGrouped({traceorder:_})?\"grouped+reversed\":\"reversed\"),void 0!==v.legendgroup&&\"\"!==v.legendgroup&&(_=u.isReversed({traceorder:_})?\"reversed+grouped\":\"grouped\")}var A=i.coerce(t,r,l,\"showlegend\",b&&x>(\"legend\"===e?1:0));if(!1===A&&(r[e]=void 0),(!1!==A||f.uirevision)&&(p(\"uirevision\",r.uirevision),!1!==A)){p(\"borderwidth\");var S,E,C,L=\"h\"===p(\"orientation\"),P=\"paper\"===p(\"yref\"),O=\"paper\"===p(\"xref\"),I=\"left\";if(L?(S=0,n.getComponentMethod(\"rangeslider\",\"isVisible\")(t.xaxis)?P?(E=1.1,C=\"bottom\"):(E=1,C=\"top\"):P?(E=-.1,C=\"top\"):(E=0,C=\"bottom\")):(E=1,C=\"auto\",O?S=1.02:(S=1,I=\"right\")),i.coerce(f,h,{x:{valType:\"number\",editType:\"legend\",min:O?-2:0,max:O?3:1,dflt:S}},\"x\"),i.coerce(f,h,{y:{valType:\"number\",editType:\"legend\",min:P?-2:0,max:P?3:1,dflt:E}},\"y\"),p(\"traceorder\",_),u.isGrouped(r[e])&&p(\"tracegroupgap\"),p(\"entrywidth\"),p(\"entrywidthmode\"),p(\"itemsizing\"),p(\"itemwidth\"),p(\"itemclick\"),p(\"itemdoubleclick\"),p(\"groupclick\"),p(\"xanchor\",I),p(\"yanchor\",C),p(\"valign\"),i.noneOrAll(f,h,[\"x\",\"y\"]),p(\"title.text\")){p(\"title.side\",L?\"left\":\"top\");var D=i.extendFlat({},d,{size:i.bigFont(d.size)});i.coerceFont(p,\"title.font\",D)}}}}e.exports=function(e,t,r){var n,a=r.slice(),o=t.shapes;if(o)for(n=0;n<o.length;n++){var s=o[n];if(s.showlegend){var l={_input:s._input,visible:s.visible,showlegend:s.showlegend,legend:s.legend};a.push(l)}}var u=[\"legend\"];for(n=0;n<a.length;n++)i.pushUnique(u,a[n].legend);for(t._legends=[],n=0;n<u.length;n++){var f=u[n];c(f,e,t,a),t[f]&&t[f].visible&&(t[f]._id=f),t._legends.push(f)}}},43969:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(74875),o=r(73972),s=r(11086),l=r(28569),u=r(91424),c=r(7901),f=r(63893),h=r(85167),p=r(14928),d=r(18783),v=d.LINE_SPACING,g=d.FROM_TL,m=d.FROM_BR,y=r(82424),x=r(53630),b=r(10130),_=1,w=/^legend[0-9]*$/;function k(e,t){var r,s,f=t||{},h=e._fullLayout,d=O(f),v=f._inHover;if(v?(s=f.layer,r=\"hover\"):(s=h._infolayer,r=d),s){var w;if(r+=h._uid,e._legendMouseDownTime||(e._legendMouseDownTime=0),v){if(!f.entries)return;w=y(f.entries,f)}else{for(var k=(e.calcdata||[]).slice(),S=h.shapes,I=0;I<S.length;I++){var D=S[I];if(D.showlegend){var z={_isShape:!0,_fullInput:D,index:D._index,name:D.name||D.label.text||\"shape \"+D._index,legend:D.legend,legendgroup:D.legendgroup,legendgrouptitle:D.legendgrouptitle,legendrank:D.legendrank,legendwidth:D.legendwidth,showlegend:D.showlegend,visible:D.visible,opacity:D.opacity,mode:\"line\"===D.type?\"lines\":\"markers\",line:D.line,marker:{line:D.line,color:D.fillcolor,size:12,symbol:\"rect\"===D.type?\"square\":\"circle\"===D.type?\"circle\":\"hexagon2\"}};k.push([{trace:z}])}}w=h.showlegend&&y(k,f,h._legends.length>1)}var R=h.hiddenlabels||[];if(!(v||h.showlegend&&w.length))return s.selectAll(\".\"+d).remove(),h._topdefs.select(\"#\"+r).remove(),a.autoMargin(e,d);var F=i.ensureSingle(s,\"g\",d,(function(e){v||e.attr(\"pointer-events\",\"all\")})),B=i.ensureSingleById(h._topdefs,\"clipPath\",r,(function(e){e.append(\"rect\")})),N=i.ensureSingle(F,\"rect\",\"bg\",(function(e){e.attr(\"shape-rendering\",\"crispEdges\")}));N.call(c.stroke,f.bordercolor).call(c.fill,f.bgcolor).style(\"stroke-width\",f.borderwidth+\"px\");var j=i.ensureSingle(F,\"g\",\"scrollbox\"),U=f.title;if(f._titleWidth=0,f._titleHeight=0,U.text){var V=i.ensureSingle(j,\"text\",d+\"titletext\");V.attr(\"text-anchor\",\"start\").call(u.font,U.font).text(U.text),C(V,j,e,f,_)}else j.selectAll(\".\"+d+\"titletext\").remove();var H=i.ensureSingle(F,\"rect\",\"scrollbar\",(function(e){e.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)})),q=j.selectAll(\"g.groups\").data(w);q.enter().append(\"g\").attr(\"class\",\"groups\"),q.exit().remove();var G=q.selectAll(\"g.traces\").data(i.identity);G.enter().append(\"g\").attr(\"class\",\"traces\"),G.exit().remove(),G.style(\"opacity\",(function(e){var t=e[0].trace;return o.traceIs(t,\"pie-like\")?-1!==R.indexOf(e[0].label)?.5:1:\"legendonly\"===t.visible?.5:1})).each((function(){n.select(this).call(A,e,f)})).call(x,e,f).each((function(){v||n.select(this).call(E,e,d)})),i.syncOrAsync([a.previousPromises,function(){return function(e,t,r,i){var a=e._fullLayout,o=O(i);i||(i=a[o]);var s=a._size,l=b.isVertical(i),c=b.isGrouped(i),f=\"fraction\"===i.entrywidthmode,h=i.borderwidth,d=2*h,v=p.itemGap,g=i.itemwidth+2*v,m=2*(h+v),y=P(i),x=i.y<0||0===i.y&&\"top\"===y,_=i.y>1||1===i.y&&\"bottom\"===y,w=i.tracegroupgap,k={};i._maxHeight=Math.max(x||_?a.height/2:s.h,30);var M=0;i._width=0,i._height=0;var A=function(e){var t=0,r=0,n=e.title.side;return n&&(-1!==n.indexOf(\"left\")&&(t=e._titleWidth),-1!==n.indexOf(\"top\")&&(r=e._titleHeight)),[t,r]}(i);if(l)r.each((function(e){var t=e[0].height;u.setTranslate(this,h+A[0],h+A[1]+i._height+t/2+v),i._height+=t,i._width=Math.max(i._width,e[0].width)})),M=g+i._width,i._width+=v+g+d,i._height+=m,c&&(t.each((function(e,t){u.setTranslate(this,0,t*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var S=L(i),E=i.x<0||0===i.x&&\"right\"===S,C=i.x>1||1===i.x&&\"left\"===S,I=_||x,D=a.width/2;i._maxWidth=Math.max(E?I&&\"left\"===S?s.l+s.w:D:C?I&&\"right\"===S?s.r+s.w:D:s.w,2*g);var z=0,R=0;r.each((function(e){var t=T(e,i,g);z=Math.max(z,t),R+=t})),M=null;var F=0;if(c){var B=0,N=0,j=0;t.each((function(){var e=0,t=0;n.select(this).selectAll(\"g.traces\").each((function(r){var n=T(r,i,g),a=r[0].height;u.setTranslate(this,A[0],A[1]+h+v+a/2+t),t+=a,e=Math.max(e,n),k[r[0].trace.legendgroup]=e}));var r=e+v;N>0&&r+h+N>i._maxWidth?(F=Math.max(F,N),N=0,j+=B+w,B=t):B=Math.max(B,t),u.setTranslate(this,N,j),N+=r})),i._width=Math.max(F,N)+h,i._height=j+B+m}else{var U=r.size(),V=R+d+(U-1)*v<i._maxWidth,H=0,q=0,G=0,Y=0;r.each((function(e){var t=e[0].height,r=T(e,i,g),n=V?r:z;f||(n+=v),n+h+q-v>=i._maxWidth&&(F=Math.max(F,Y),q=0,G+=H,i._height+=H,H=0),u.setTranslate(this,A[0]+h+q,A[1]+h+G+t/2+v),Y=q+r+v,q+=n,H=Math.max(H,t)})),V?(i._width=q+d,i._height=H+m):(i._width=Math.max(F,Y)+d,i._height+=H+m)}}i._width=Math.ceil(Math.max(i._width+A[0],i._titleWidth+2*(h+p.titlePad))),i._height=Math.ceil(Math.max(i._height+A[1],i._titleHeight+2*(h+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var W=e._context.edits,Z=W.legendText||W.legendPosition;r.each((function(e){var t=n.select(this).select(\".\"+o+\"toggle\"),r=e[0].height,a=e[0].trace.legendgroup,s=T(e,i,g);c&&\"\"!==a&&(s=k[a]);var h=Z?g:M||s;l||f||(h+=v/2),u.setRect(t,0,-r/2,h,r)}))}(e,q,G,f)},function(){var t,c,y,x,b=h._size,_=f.borderwidth,w=\"paper\"===f.xref,k=\"paper\"===f.yref;if(!v){var T,A;T=w?b.l+b.w*f.x-g[L(f)]*f._width:h.width*f.x-g[L(f)]*f._width,A=k?b.t+b.h*(1-f.y)-g[P(f)]*f._effHeight:h.height*(1-f.y)-g[P(f)]*f._effHeight;var S=function(e,t,r,n){var i=e._fullLayout,o=i[t],s=L(o),l=P(o),u=\"paper\"===o.xref,c=\"paper\"===o.yref;e._fullLayout._reservedMargin[t]={};var f=o.y<.5?\"b\":\"t\",h=o.x<.5?\"l\":\"r\",p={r:i.width-r,l:r+o._width,b:i.height-n,t:n+o._effHeight};if(u&&c)return a.autoMargin(e,t,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*m[s],b:o._effHeight*m[l],t:o._effHeight*g[l]});u?e._fullLayout._reservedMargin[t][f]=p[f]:c||\"v\"===o.orientation?e._fullLayout._reservedMargin[t][h]=p[h]:e._fullLayout._reservedMargin[t][f]=p[f]}(e,d,T,A);if(S)return;if(h.margin.autoexpand){var E=T,C=A;T=w?i.constrain(T,0,h.width-f._width):E,A=k?i.constrain(A,0,h.height-f._effHeight):C,T!==E&&i.log(\"Constrain \"+d+\".x to make legend fit inside graph\"),A!==C&&i.log(\"Constrain \"+d+\".y to make legend fit inside graph\")}u.setTranslate(F,T,A)}if(H.on(\".drag\",null),F.on(\"wheel\",null),v||f._height<=f._maxHeight||e._context.staticPlot){var O=f._effHeight;v&&(O=f._height),N.attr({width:f._width-_,height:O-_,x:_/2,y:_/2}),u.setTranslate(j,0,0),B.select(\"rect\").attr({width:f._width-2*_,height:O-2*_,x:_,y:_}),u.setClipUrl(j,r,e),u.setRect(H,0,0,0,0),delete f._scrollY}else{var I,D,z,R=Math.max(p.scrollBarMinHeight,f._effHeight*f._effHeight/f._height),U=f._effHeight-R-2*p.scrollBarMargin,V=f._height-f._effHeight,q=U/V,G=Math.min(f._scrollY||0,V);N.attr({width:f._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:f._effHeight-_,x:_/2,y:_/2}),B.select(\"rect\").attr({width:f._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:f._effHeight-2*_,x:_,y:_+G}),u.setClipUrl(j,r,e),Z(G,R,q),F.on(\"wheel\",(function(){Z(G=i.constrain(f._scrollY+n.event.deltaY/U*V,0,V),R,q),0!==G&&G!==V&&n.event.preventDefault()}));var Y=n.behavior.drag().on(\"dragstart\",(function(){var e=n.event.sourceEvent;I=\"touchstart\"===e.type?e.changedTouches[0].clientY:e.clientY,z=G})).on(\"drag\",(function(){var e=n.event.sourceEvent;2===e.buttons||e.ctrlKey||(D=\"touchmove\"===e.type?e.changedTouches[0].clientY:e.clientY,G=function(e,t,r){var n=(r-t)/q+e;return i.constrain(n,0,V)}(z,I,D),Z(G,R,q))}));H.call(Y);var W=n.behavior.drag().on(\"dragstart\",(function(){var e=n.event.sourceEvent;\"touchstart\"===e.type&&(I=e.changedTouches[0].clientY,z=G)})).on(\"drag\",(function(){var e=n.event.sourceEvent;\"touchmove\"===e.type&&(D=e.changedTouches[0].clientY,G=function(e,t,r){var n=(t-r)/q+e;return i.constrain(n,0,V)}(z,I,D),Z(G,R,q))}));j.call(W)}function Z(t,r,n){f._scrollY=e._fullLayout[d]._scrollY=t,u.setTranslate(j,0,-t),u.setRect(H,f._width,p.scrollBarMargin+t*n,p.scrollBarWidth,r),B.select(\"rect\").attr(\"y\",_+t)}e._context.edits.legendPosition&&(F.classed(\"cursor-move\",!0),l.init({element:F.node(),gd:e,prepFn:function(){var e=u.getTranslate(F);y=e.x,x=e.y},moveFn:function(e,r){var n=y+e,i=x+r;u.setTranslate(F,n,i),t=l.align(n,f._width,b.l,b.l+b.w,f.xanchor),c=l.align(i+f._height,-f._height,b.t+b.h,b.t,f.yanchor)},doneFn:function(){if(void 0!==t&&void 0!==c){var r={};r[d+\".x\"]=t,r[d+\".y\"]=c,o.call(\"_guiRelayout\",e,r)}},clickFn:function(t,r){var n=s.selectAll(\"g.traces\").filter((function(){var e=this.getBoundingClientRect();return r.clientX>=e.left&&r.clientX<=e.right&&r.clientY>=e.top&&r.clientY<=e.bottom}));n.size()>0&&M(e,F,n,t,r)}}))}],e)}}function T(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return\"fraction\"===a?t._maxWidth*o:r+(o||i)}function M(e,t,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,\"pie-like\")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(e,\"plotly_legendclick\",l)&&(1===n?t._clickTimeout=setTimeout((function(){e._fullLayout&&h(r,e,n)}),e._context.doubleClickDelay):2===n&&(t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0,!1!==s.triggerHandler(e,\"plotly_legenddoubleclick\",l)&&h(r,e,n)))}function A(e,t,r){var n,a,s=O(r),l=e.data()[0][0],c=l.trace,h=o.traceIs(c,\"pie-like\"),d=!r._inHover&&t._context.edits.legendText&&!h,v=r._maxNameLength;l.groupTitle?(n=l.groupTitle.text,a=l.groupTitle.font):(a=r.font,r.entries?n=l.text:(n=h?l.label:c.name,c._meta&&(n=i.templateString(n,c._meta))));var g=i.ensureSingle(e,\"text\",s+\"text\");g.attr(\"text-anchor\",\"start\").call(u.font,a).text(d?S(n,v):n);var m=r.itemwidth+2*p.itemGap;f.positionText(g,m,0),d?g.call(f.makeEditable,{gd:t,text:n}).call(C,e,t,r).on(\"edit\",(function(n){this.text(S(n,v)).call(C,e,t,r);var a=l.trace._fullInput||{},s={};if(o.hasTransform(a,\"groupby\")){var u=o.getTransformIndices(a,\"groupby\"),f=u[u.length-1],h=i.keyedContainer(a,\"transforms[\"+f+\"].styles\",\"target\",\"value.name\");h.set(l.trace._group,n),s=h.constructUpdate()}else s.name=n;return a._isShape?o.call(\"_guiRelayout\",t,\"shapes[\"+c.index+\"].name\",s.name):o.call(\"_guiRestyle\",t,s,c.index)})):C(g,e,t,r)}function S(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;for(var n=r-(e=e||\"\").length;n>0;n--)e+=\" \";return e}function E(e,t,r){var a,o=t._context.doubleClickDelay,s=1,l=i.ensureSingle(e,\"rect\",r+\"toggle\",(function(e){t._context.staticPlot||e.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),e.call(c.fill,\"rgba(0,0,0,0)\")}));t._context.staticPlot||(l.on(\"mousedown\",(function(){(a=(new Date).getTime())-t._legendMouseDownTime<o?s+=1:(s=1,t._legendMouseDownTime=a)})),l.on(\"mouseup\",(function(){if(!t._dragged&&!t._editing){var i=t._fullLayout[r];(new Date).getTime()-t._legendMouseDownTime>o&&(s=Math.max(s-1,1)),M(t,i,e,s,n.event)}})))}function C(e,t,r,n,i){n._inHover&&e.attr(\"data-notex\",!0),f.convertToTspans(e,r,(function(){!function(e,t,r,n){var i=e.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=e.select(\"g[class*=math-group]\"),o=a.node(),s=O(r);r||(r=t._fullLayout[s]);var l,c,h=r.borderwidth,d=(n===_?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*v;if(o){var g=u.bBox(o);l=g.height,c=g.width,n===_?u.setTranslate(a,h,h+.75*l):u.setTranslate(a,0,.25*l)}else{var m=\".\"+s+(n===_?\"title\":\"\")+\"text\",y=e.select(m),x=f.lineCount(y),b=y.node();if(l=d*x,c=b?u.bBox(b).width:0,n===_){var w=0;\"left\"===r.title.side?c+=2*p.itemGap:\"top center\"===r.title.side?r._width&&(w=.5*(r._width-2*h-2*p.titlePad-c)):\"top right\"===r.title.side&&r._width&&(w=r._width-2*h-2*p.titlePad-c),f.positionText(y,h+p.titlePad+w,h+d)}else{var k=2*p.itemGap+r.itemwidth;i.groupTitle&&(k=p.itemGap,c-=r.itemwidth),f.positionText(y,k,-d*((x-1)/2-.3))}}n===_?(r._titleWidth=c,r._titleHeight=l):(i.lineHeight=d,i.height=Math.max(l,16)+3,i.width=c)}else e.remove()}(t,r,n,i)}))}function L(e){return i.isRightAnchor(e)?\"right\":i.isCenterAnchor(e)?\"center\":\"left\"}function P(e){return i.isBottomAnchor(e)?\"bottom\":i.isMiddleAnchor(e)?\"middle\":\"top\"}function O(e){return e._id||\"legend\"}e.exports=function(e,t){if(t)k(e,t);else{var r=e._fullLayout,i=r._legends;r._infolayer.selectAll('[class^=\"legend\"]').each((function(){var e=n.select(this),t=e.attr(\"class\").split(\" \")[0];t.match(w)&&-1===i.indexOf(t)&&e.remove()}));for(var a=0;a<i.length;a++){var o=i[a];k(e,e._fullLayout[o])}}}},82424:function(e,t,r){\"use strict\";var n=r(73972),i=r(10130);e.exports=function(e,t,r){var a,o,s=t._inHover,l=i.isGrouped(t),u=i.isReversed(t),c={},f=[],h=!1,p={},d=0,v=0;function g(e,n,a){if(!1!==t.visible&&(!r||e===t._id))if(\"\"!==n&&i.isGrouped(t))-1===f.indexOf(n)?(f.push(n),h=!0,c[n]=[a]):c[n].push(a);else{var o=\"~~i\"+d;f.push(o),c[o]=[a],d++}}for(a=0;a<e.length;a++){var m=e[a],y=m[0],x=y.trace,b=x.legend,_=x.legendgroup;if(s||x.visible&&x.showlegend)if(n.traceIs(x,\"pie-like\"))for(p[_]||(p[_]={}),o=0;o<m.length;o++){var w=m[o].label;p[_][w]||(g(b,_,{label:w,color:m[o].color,i:m[o].i,trace:x,pts:m[o].pts}),p[_][w]=!0,v=Math.max(v,(w||\"\").length))}else g(b,_,y),v=Math.max(v,(x.name||\"\").length)}if(!f.length)return[];var k=!h||!l,T=[];for(a=0;a<f.length;a++){var M=c[f[a]];k?T.push(M[0]):T.push(M)}for(k&&(T=[T]),a=0;a<T.length;a++){var A=1/0;for(o=0;o<T[a].length;o++){var S=T[a][o].trace.legendrank;A>S&&(A=S)}T[a][0]._groupMinRank=A,T[a][0]._preGroupSort=a}var E=function(e,t){return e.trace.legendrank-t.trace.legendrank||e._preSort-t._preSort};for(T.forEach((function(e,t){e[0]._preGroupSort=t})),T.sort((function(e,t){return e[0]._groupMinRank-t[0]._groupMinRank||e[0]._preGroupSort-t[0]._preGroupSort})),a=0;a<T.length;a++){T[a].forEach((function(e,t){e._preSort=t})),T[a].sort(E);var C=T[a][0].trace,L=null;for(o=0;o<T[a].length;o++){var P=T[a][o].trace.legendgrouptitle;if(P&&P.text){L=P,s&&(P.font=t._groupTitleFont);break}}if(u&&T[a].reverse(),L){var O=!1;for(o=0;o<T[a].length;o++)if(n.traceIs(T[a][o].trace,\"pie-like\")){O=!0;break}T[a].unshift({i:-1,groupTitle:L,noClick:O,trace:{showlegend:C.showlegend,legendgroup:C.legendgroup,visible:\"toggleitem\"===t.groupclick||C.visible}})}for(o=0;o<T[a].length;o++)T[a][o]=[T[a][o]]}return t._lgroupsLength=T.length,t._maxNameLength=v,T}},85167:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828),a=i.pushUnique,o=!0;e.exports=function(e,t,r){var s=t._fullLayout;if(!t._dragged&&!t._editing){var l,u=s.legend.itemclick,c=s.legend.itemdoubleclick,f=s.legend.groupclick;if(1===r&&\"toggle\"===u&&\"toggleothers\"===c&&o&&t.data&&t._context.showTips?(i.notifier(i._(t,\"Double-click on legend to isolate one trace\"),\"long\"),o=!1):o=!1,1===r?l=u:2===r&&(l=c),l){var h=\"togglegroup\"===f,p=s.hiddenlabels?s.hiddenlabels.slice():[],d=e.data()[0][0];if(!d.groupTitle||!d.noClick){var v=t._fullData,g=(s.shapes||[]).filter((function(e){return e.showlegend})),m=v.concat(g),y=d.trace;y._isShape&&(y=y._fullInput);var x,b,_,w,k,T=y.legendgroup,M={},A=[],S=[],E=[],C=(s.shapes||[]).map((function(e){return e._input})),L=!1,P=y.legend,O=y._fullInput;if(O&&O._isShape||!n.traceIs(y,\"pie-like\")){var I,D=T&&T.length,z=[];if(D)for(x=0;x<m.length;x++)(I=m[x]).visible&&I.legendgroup===T&&z.push(x);if(\"toggle\"===l){var R;switch(y.visible){case!0:R=\"legendonly\";break;case!1:R=!1;break;case\"legendonly\":R=!0}if(D)if(h)for(x=0;x<m.length;x++){var F=m[x];!1!==F.visible&&F.legendgroup===T&&ee(F,R)}else ee(y,R);else ee(y,R)}else if(\"toggleothers\"===l){var B,N,j,U,V=!0;for(x=0;x<m.length;x++)if(B=(U=m[x])===y,N=!0!==U.showlegend,!(B||N||D&&U.legendgroup===T||U.legend!==P||!0!==U.visible||n.traceIs(U,\"notLegendIsolatable\"))){V=!1;break}for(x=0;x<m.length;x++)if(!1!==(U=m[x]).visible&&U.legend===P&&!n.traceIs(U,\"notLegendIsolatable\"))switch(y.visible){case\"legendonly\":ee(U,!0);break;case!0:j=!!V||\"legendonly\",B=U===y,N=!0!==U.showlegend&&!U.legendgroup,ee(U,!!(B||D&&U.legendgroup===T||N)||j)}}for(x=0;x<S.length;x++)if(_=S[x]){var H=_.constructUpdate(),q=Object.keys(H);for(b=0;b<q.length;b++)w=q[b],(M[w]=M[w]||[])[E[x]]=H[w]}for(k=Object.keys(M),x=0;x<k.length;x++)for(w=k[x],b=0;b<A.length;b++)M[w].hasOwnProperty(b)||(M[w][b]=void 0);L?n.call(\"_guiUpdate\",t,M,{shapes:C},A):n.call(\"_guiRestyle\",t,M,A)}else{var G=d.label,Y=p.indexOf(G);if(\"toggle\"===l)-1===Y?p.push(G):p.splice(Y,1);else if(\"toggleothers\"===l){var W=-1!==Y,Z=[];for(x=0;x<t.calcdata.length;x++){var X=t.calcdata[x];for(b=0;b<X.length;b++){var K=X[b].label;P===X[0].trace.legend&&G!==K&&(-1===p.indexOf(K)&&(W=!0),a(p,K),Z.push(K))}}if(!W)for(var J=0;J<Z.length;J++){var $=p.indexOf(Z[J]);-1!==$&&p.splice($,1)}}n.call(\"_guiRelayout\",t,\"hiddenlabels\",p)}}}}function Q(e,t){var r=A.indexOf(e),n=M.visible;return n||(n=M.visible=[]),-1===A.indexOf(e)&&(A.push(e),r=A.length-1),n[r]=t,r}function ee(e,t){if(!d.groupTitle||h){var r,a=e._fullInput||e,o=a._isShape,s=a.index;if(void 0===s&&(s=a._index),n.hasTransform(a,\"groupby\")){var l=S[s];if(!l){var u=n.getTransformIndices(a,\"groupby\"),c=u[u.length-1];l=i.keyedContainer(a,\"transforms[\"+c+\"].styles\",\"target\",\"value.visible\"),S[s]=l}var f=l.get(e._group);void 0===f&&(f=!0),!1!==f&&l.set(e._group,t),E[s]=Q(s,!1!==a.visible)}else{var p=!1!==a.visible&&t;o?(r=p,C[s].visible=r,L=!0):Q(s,p)}}}}},10130:function(e,t){\"use strict\";t.isGrouped=function(e){return-1!==(e.traceorder||\"\").indexOf(\"grouped\")},t.isVertical=function(e){return\"h\"!==e.orientation},t.isReversed=function(e){return-1!==(e.traceorder||\"\").indexOf(\"reversed\")}},2199:function(e,t,r){\"use strict\";e.exports={moduleType:\"component\",name:\"legend\",layoutAttributes:r(33030),supplyLayoutDefaults:r(99017),draw:r(43969),style:r(53630)}},53630:function(e,t,r){\"use strict\";var n=r(39898),i=r(73972),a=r(71828),o=a.strTranslate,s=r(91424),l=r(7901),u=r(52075).extractOpts,c=r(34098),f=r(63463),h=r(53581).castOption,p=r(14928);function d(e,t){return(t?\"radial\":\"horizontal\")+(e?\"\":\"reversed\")}function v(e){var t=e[0].trace,r=t.contours,n=c.hasLines(t),i=c.hasMarkers(t),a=t.visible&&t.fill&&\"none\"!==t.fill,o=!1,s=!1;if(r){var l=r.coloring;\"lines\"===l?o=!0:n=\"none\"===l||\"heatmap\"===l||r.showlines,\"constraint\"===r.type?a=\"=\"!==r._operation:\"fill\"!==l&&\"heatmap\"!==l||(s=!0)}return{showMarker:i,showLine:n,showFill:a,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:a||s}}function g(e,t,r){return e&&a.isArrayOrTypedArray(e)?t:e>r?r:e}e.exports=function(e,t,r){var m=t._fullLayout;r||(r=m.legend);var y=\"constant\"===r.itemsizing,x=r.itemwidth,b=(x+2*p.itemGap)/2,_=o(b,0),w=function(e,t,r,n){var i;if(e+1)i=e;else{if(!(t&&t.width>0))return 0;i=t.width}return y?n:Math.min(i,r)};function k(e,a,o){var c=e[0].trace,f=c.marker||{},h=f.line||{},p=o?c.visible&&c.type===o:i.traceIs(c,\"bar\"),d=n.select(a).select(\"g.legendpoints\").selectAll(\"path.legend\"+o).data(p?[e]:[]);d.enter().append(\"path\").classed(\"legend\"+o,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",_),d.exit().remove(),d.each((function(e){var i=n.select(this),a=e[0],o=w(a.mlw,f.line,5,2);i.style(\"stroke-width\",o+\"px\");var p=a.mcc;if(!r._inHover&&\"mc\"in a){var d=u(f),v=d.mid;void 0===v&&(v=(d.max+d.min)/2),p=s.tryColorscale(f,\"\")(v)}var m=p||a.mc||f.color,y=f.pattern,x=y&&s.getPatternAttr(y.shape,0,\"\");if(x){var b=s.getPatternAttr(y.bgcolor,0,null),_=s.getPatternAttr(y.fgcolor,0,null),k=y.fgopacity,T=g(y.size,8,10),M=g(y.solidity,.5,1),A=\"legend-\"+c.uid;i.call(s.pattern,\"legend\",t,A,x,T,M,p,y.fillmode,b,_,k)}else i.call(l.fill,m);o&&l.stroke(i,a.mlc||h.color)}))}function T(e,r,o){var s=e[0],l=s.trace,u=o?l.visible&&l.type===o:i.traceIs(l,o),c=n.select(r).select(\"g.legendpoints\").selectAll(\"path.legend\"+o).data(u?[e]:[]);if(c.enter().append(\"path\").classed(\"legend\"+o,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",_),c.exit().remove(),c.size()){var p=l.marker||{},d=w(h(p.line.width,s.pts),p.line,5,2),v=\"pieLike\",g=a.minExtend(l,{marker:{line:{width:d}}},v),m=a.minExtend(s,{trace:g},v);f(c,m,g,t)}}e.each((function(e){var t=n.select(this),i=a.ensureSingle(t,\"g\",\"layers\");i.style(\"opacity\",e[0].trace.opacity);var s=r.valign,l=e[0].lineHeight,u=e[0].height;if(\"middle\"!==s&&l&&u){var c={top:1,bottom:-1}[s]*(.5*(l-u+3));i.attr(\"transform\",o(0,c))}else i.attr(\"transform\",null);i.selectAll(\"g.legendfill\").data([e]).enter().append(\"g\").classed(\"legendfill\",!0),i.selectAll(\"g.legendlines\").data([e]).enter().append(\"g\").classed(\"legendlines\",!0);var f=i.selectAll(\"g.legendsymbols\").data([e]);f.enter().append(\"g\").classed(\"legendsymbols\",!0),f.selectAll(\"g.legendpoints\").data([e]).enter().append(\"g\").classed(\"legendpoints\",!0)})).each((function(e){var r,i=e[0].trace,o=[];if(i.visible)switch(i.type){case\"histogram2d\":case\"heatmap\":o=[[\"M-15,-2V4H15V-2Z\"]],r=!0;break;case\"choropleth\":case\"choroplethmapbox\":o=[[\"M-6,-6V6H6V-6Z\"]],r=!0;break;case\"densitymapbox\":o=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],r=\"radial\";break;case\"cone\":o=[[\"M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 L6,0Z\"]],r=!1;break;case\"streamtube\":o=[[\"M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z\"]],r=!1;break;case\"surface\":o=[[\"M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z\"],[\"M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z\"]],r=!0;break;case\"mesh3d\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],r=!1;break;case\"volume\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],r=!0;break;case\"isosurface\":o=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],r=!1}var c=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(o);c.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",_).style(\"stroke-miterlimit\",1),c.exit().remove(),c.each((function(e,o){var c,f=n.select(this),h=u(i),p=h.colorscale,v=h.reversescale;if(p){if(!r){var g=p.length;c=0===o?p[v?g-1:0][1]:1===o?p[v?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var m=i.vertexcolor||i.facecolor||i.color;c=a.isArrayOrTypedArray(m)?m[o]||m[0]:m}f.attr(\"d\",e[0]),c?f.call(l.fill,c):f.call((function(e){if(e.size()){var n=\"legendfill-\"+i.uid;s.gradient(e,t,n,d(v,\"radial\"===r),p,\"fill\")}}))}))})).each((function(e){var t=e[0].trace,r=\"waterfall\"===t.type;if(e[0]._distinct&&r){var i=e[0].trace[e[0].dir].marker;return e[0].mc=i.color,e[0].mlw=i.line.width,e[0].mlc=i.line.color,k(e,this,\"waterfall\")}var a=[];t.visible&&r&&(a=e[0].hasTotals?[[\"increasing\",\"M-6,-6V6H0Z\"],[\"totals\",\"M6,6H0L-6,-6H-0Z\"],[\"decreasing\",\"M6,6V-6H0Z\"]]:[[\"increasing\",\"M-6,-6V6H6Z\"],[\"decreasing\",\"M6,6V-6H-6Z\"]]);var o=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(a);o.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",_).style(\"stroke-miterlimit\",1),o.exit().remove(),o.each((function(e){var r=n.select(this),i=t[e[0]].marker,a=w(void 0,i.line,5,2);r.attr(\"d\",e[1]).style(\"stroke-width\",a+\"px\").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(e){k(e,this,\"funnel\")})).each((function(e){k(e,this)})).each((function(e){var r=e[0].trace,o=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(r.visible&&i.traceIs(r,\"box-violin\")?[e]:[]);o.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",_),o.exit().remove(),o.each((function(){var e=n.select(this);if(\"all\"!==r.boxpoints&&\"all\"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);e.style(\"stroke-width\",i+\"px\").call(l.fill,r.fillcolor),i&&l.stroke(e,r.line.color)}else{var u=a.minExtend(r,{marker:{size:y?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});o.call(s.pointStyle,u,t)}}))})).each((function(e){T(e,this,\"funnelarea\")})).each((function(e){T(e,this,\"pie\")})).each((function(e){var r,i,o=v(e),l=o.showFill,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,m=o.anyLine,y=e[0],b=y.trace,_=u(b),k=_.colorscale,T=_.reversescale,M=c.hasMarkers(b)||!g?\"M5,0\":m?\"M5,-2\":\"M5,-3\",A=n.select(this),S=A.select(\".legendfill\").selectAll(\"path\").data(l||p?[e]:[]);if(S.enter().append(\"path\").classed(\"js-fill\",!0),S.exit().remove(),S.attr(\"d\",M+\"h\"+x+\"v6h-\"+x+\"z\").call((function(e){if(e.size())if(l)s.fillGroupStyle(e,t);else{var r=\"legendfill-\"+b.uid;s.gradient(e,t,r,d(T),k,\"fill\")}})),f||h){var E=w(void 0,b.line,10,5);i=a.minExtend(b,{line:{width:E}}),r=[a.minExtend(y,{trace:i})]}var C=A.select(\".legendlines\").selectAll(\"path\").data(f||h?[r]:[]);C.enter().append(\"path\").classed(\"js-line\",!0),C.exit().remove(),C.attr(\"d\",M+(h?\"l\"+x+\",0.0001\":\"h\"+x)).call(f?s.lineGroupStyle:function(e){if(e.size()){var r=\"legendline-\"+b.uid;s.lineGroupStyle(e),s.gradient(e,t,r,d(T),k,\"stroke\")}})})).each((function(e){var r,i,o=v(e),l=o.anyFill,u=o.anyLine,f=o.showLine,h=o.showMarker,p=e[0],d=p.trace,g=!h&&!u&&!l&&c.hasText(d);function m(e,t,r,n){var i=a.nestedProperty(d,e).get(),o=a.isArrayOrTypedArray(i)&&t?t(i):i;if(y&&o&&void 0!==n&&(o=n),r){if(o<r[0])return r[0];if(o>r[1])return r[1]}return o}function x(e){return p._distinct&&p.index&&e[p.index]?e[p.index]:e[0]}if(h||g||f){var b={},w={};if(h){b.mc=m(\"marker.color\",x),b.mx=m(\"marker.symbol\",x),b.mo=m(\"marker.opacity\",a.mean,[.2,1]),b.mlc=m(\"marker.line.color\",x),b.mlw=m(\"marker.line.width\",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var k=m(\"marker.size\",a.mean,[2,16],12);b.ms=k,w.marker.size=k}f&&(w.line={width:m(\"line.width\",x,[0,10],5)}),g&&(b.tx=\"Aa\",b.tp=m(\"textposition\",x),b.ts=10,b.tc=m(\"textfont.color\",x),b.tf=m(\"textfont.family\",x)),r=[a.minExtend(p,b)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var T=n.select(this).select(\"g.legendpoints\"),M=T.selectAll(\"path.scatterpts\").data(h?r:[]);M.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",_),M.exit().remove(),M.call(s.pointStyle,i,t),h&&(r[0].mrc=3);var A=T.selectAll(\"g.pointtext\").data(g?r:[]);A.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",_),A.exit().remove(),A.selectAll(\"text\").call(s.textPointStyle,i,t)})).each((function(e){var t=e[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(t.visible&&\"candlestick\"===t.type?[e,e]:[]);r.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",(function(e,t){return t?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"})).attr(\"transform\",_).style(\"stroke-miterlimit\",1),r.exit().remove(),r.each((function(e,r){var i=n.select(this),a=t[r?\"increasing\":\"decreasing\"],o=w(void 0,a.line,5,2);i.style(\"stroke-width\",o+\"px\").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(e){var t=e[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(t.visible&&\"ohlc\"===t.type?[e,e]:[]);r.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",(function(e,t){return t?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"})).attr(\"transform\",_).style(\"stroke-miterlimit\",1),r.exit().remove(),r.each((function(e,r){var i=n.select(this),a=t[r?\"increasing\":\"decreasing\"],o=w(void 0,a.line,5,2);i.style(\"fill\",\"none\").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},42068:function(e,t,r){\"use strict\";r(93348),e.exports={editType:\"modebar\",orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"modebar\"},bgcolor:{valType:\"color\",editType:\"modebar\"},color:{valType:\"color\",editType:\"modebar\"},activecolor:{valType:\"color\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},add:{valType:\"string\",arrayOk:!0,dflt:\"\",editType:\"modebar\"},remove:{valType:\"string\",arrayOk:!0,dflt:\"\",editType:\"modebar\"}}},26023:function(e,t,r){\"use strict\";var n=r(73972),i=r(74875),a=r(41675),o=r(24255),s=r(34031).eraseActiveShape,l=r(71828),u=l._,c=e.exports={};function f(e,t){var r,i,o=t.currentTarget,s=o.getAttribute(\"data-attr\"),l=o.getAttribute(\"data-val\")||!0,u=e._fullLayout,c={},f=a.list(e,null,!0),h=u._cartesianSpikesEnabled;if(\"zoom\"===s){var p,d=\"in\"===l?.5:2,v=(1+d)/2,g=(1-d)/2;for(i=0;i<f.length;i++)if(!(r=f[i]).fixedrange)if(p=r._name,\"auto\"===l)c[p+\".autorange\"]=!0;else if(\"reset\"===l)void 0===r._rangeInitial0&&void 0===r._rangeInitial1?c[p+\".autorange\"]=!0:void 0===r._rangeInitial0?(c[p+\".autorange\"]=r._autorangeInitial,c[p+\".range\"]=[null,r._rangeInitial1]):void 0===r._rangeInitial1?(c[p+\".range\"]=[r._rangeInitial0,null],c[p+\".autorange\"]=r._autorangeInitial):c[p+\".range\"]=[r._rangeInitial0,r._rangeInitial1],void 0!==r._showSpikeInitial&&(c[p+\".showspikes\"]=r._showSpikeInitial,\"on\"!==h||r._showSpikeInitial||(h=\"off\"));else{var m=[r.r2l(r.range[0]),r.r2l(r.range[1])],y=[v*m[0]+g*m[1],v*m[1]+g*m[0]];c[p+\".range[0]\"]=r.l2r(y[0]),c[p+\".range[1]\"]=r.l2r(y[1])}}else\"hovermode\"!==s||\"x\"!==l&&\"y\"!==l||(l=u._isHoriz?\"y\":\"x\",o.setAttribute(\"data-val\",l)),c[s]=l;u._cartesianSpikesEnabled=h,n.call(\"_guiRelayout\",e,c)}function h(e,t){for(var r=t.currentTarget,i=r.getAttribute(\"data-attr\"),a=r.getAttribute(\"data-val\")||!0,o=e._fullLayout._subplots.gl3d||[],s={},l=i.split(\".\"),u=0;u<o.length;u++)s[o[u]+\".\"+l[1]]=a;var c=\"pan\"===a?a:\"zoom\";s.dragmode=c,n.call(\"_guiRelayout\",e,s)}function p(e,t){for(var r=t.currentTarget.getAttribute(\"data-attr\"),i=\"resetLastSave\"===r,a=\"resetDefault\"===r,o=e._fullLayout,s=o._subplots.gl3d||[],l={},u=0;u<s.length;u++){var c,f=s[u],h=f+\".camera\",p=f+\".aspectratio\",d=f+\".aspectmode\",v=o[f]._scene;i?(l[h+\".up\"]=v.viewInitial.up,l[h+\".eye\"]=v.viewInitial.eye,l[h+\".center\"]=v.viewInitial.center,c=!0):a&&(l[h+\".up\"]=null,l[h+\".eye\"]=null,l[h+\".center\"]=null,c=!0),c&&(l[p+\".x\"]=v.viewInitial.aspectratio.x,l[p+\".y\"]=v.viewInitial.aspectratio.y,l[p+\".z\"]=v.viewInitial.aspectratio.z,l[d]=v.viewInitial.aspectmode)}n.call(\"_guiRelayout\",e,l)}function d(e,t){var r=t.currentTarget,n=r._previousVal,i=e._fullLayout,a=i._subplots.gl3d||[],o=[\"xaxis\",\"yaxis\",\"zaxis\"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var u=0;u<a.length;u++){var c=a[u],f=i[c],h=c+\".hovermode\";s[h]=f.hovermode,l[h]=!1;for(var p=0;p<3;p++){var d=o[p],v=c+\".\"+d+\".showspikes\";l[v]=!1,s[v]=f[d].showspikes}}r._previousVal=s}return l}function v(e,t){for(var r=t.currentTarget,i=r.getAttribute(\"data-attr\"),a=r.getAttribute(\"data-val\")||!0,o=e._fullLayout,s=o._subplots.geo||[],l=0;l<s.length;l++){var u=s[l],c=o[u];if(\"zoom\"===i){var f=c.projection.scale,h=\"in\"===a?2*f:.5*f;n.call(\"_guiRelayout\",e,u+\".projection.scale\",h)}}\"reset\"===i&&x(e,\"geo\")}function g(e){var t=e._fullLayout;return!t.hovermode&&(t._has(\"cartesian\")?t._isHoriz?\"y\":\"x\":\"closest\")}function m(e){var t=g(e);n.call(\"_guiRelayout\",e,\"hovermode\",t)}function y(e,t){for(var r=t.currentTarget.getAttribute(\"data-val\"),i=e._fullLayout,a=i._subplots.mapbox||[],o={},s=0;s<a.length;s++){var l=a[s],u=i[l].zoom,c=\"in\"===r?1.05*u:u/1.05;o[l+\".zoom\"]=c}n.call(\"_guiRelayout\",e,o)}function x(e,t){for(var r=e._fullLayout,i=r._subplots[t]||[],a={},o=0;o<i.length;o++)for(var s=i[o],l=r[s]._subplot.viewInitial,u=Object.keys(l),c=0;c<u.length;c++){var f=u[c];a[s+\".\"+f]=l[f]}n.call(\"_guiRelayout\",e,a)}c.toImage={name:\"toImage\",title:function(e){var t=(e._context.toImageButtonOptions||{}).format||\"png\";return u(e,\"png\"===t?\"Download plot as a png\":\"Download plot\")},icon:o.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||\"png\"};l.notifier(u(e,\"Taking snapshot - this may take a few seconds\"),\"long\"),\"svg\"!==r.format&&l.isIE()&&(l.notifier(u(e,\"IE only supports svg.  Changing format to svg.\"),\"long\"),r.format=\"svg\"),[\"filename\",\"width\",\"height\",\"scale\"].forEach((function(e){e in t&&(r[e]=t[e])})),n.call(\"downloadImage\",e,r).then((function(t){l.notifier(u(e,\"Snapshot succeeded\")+\" - \"+t,\"long\")})).catch((function(){l.notifier(u(e,\"Sorry, there was a problem downloading your snapshot!\"),\"long\")}))}},c.sendDataToCloud={name:\"sendDataToCloud\",title:function(e){return u(e,\"Edit in Chart Studio\")},icon:o.disk,click:function(e){i.sendDataToCloud(e)}},c.editInChartStudio={name:\"editInChartStudio\",title:function(e){return u(e,\"Edit in Chart Studio\")},icon:o.pencil,click:function(e){i.sendDataToCloud(e)}},c.zoom2d={name:\"zoom2d\",_cat:\"zoom\",title:function(e){return u(e,\"Zoom\")},attr:\"dragmode\",val:\"zoom\",icon:o.zoombox,click:f},c.pan2d={name:\"pan2d\",_cat:\"pan\",title:function(e){return u(e,\"Pan\")},attr:\"dragmode\",val:\"pan\",icon:o.pan,click:f},c.select2d={name:\"select2d\",_cat:\"select\",title:function(e){return u(e,\"Box Select\")},attr:\"dragmode\",val:\"select\",icon:o.selectbox,click:f},c.lasso2d={name:\"lasso2d\",_cat:\"lasso\",title:function(e){return u(e,\"Lasso Select\")},attr:\"dragmode\",val:\"lasso\",icon:o.lasso,click:f},c.drawclosedpath={name:\"drawclosedpath\",title:function(e){return u(e,\"Draw closed freeform\")},attr:\"dragmode\",val:\"drawclosedpath\",icon:o.drawclosedpath,click:f},c.drawopenpath={name:\"drawopenpath\",title:function(e){return u(e,\"Draw open freeform\")},attr:\"dragmode\",val:\"drawopenpath\",icon:o.drawopenpath,click:f},c.drawline={name:\"drawline\",title:function(e){return u(e,\"Draw line\")},attr:\"dragmode\",val:\"drawline\",icon:o.drawline,click:f},c.drawrect={name:\"drawrect\",title:function(e){return u(e,\"Draw rectangle\")},attr:\"dragmode\",val:\"drawrect\",icon:o.drawrect,click:f},c.drawcircle={name:\"drawcircle\",title:function(e){return u(e,\"Draw circle\")},attr:\"dragmode\",val:\"drawcircle\",icon:o.drawcircle,click:f},c.eraseshape={name:\"eraseshape\",title:function(e){return u(e,\"Erase active shape\")},icon:o.eraseshape,click:s},c.zoomIn2d={name:\"zoomIn2d\",_cat:\"zoomin\",title:function(e){return u(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:o.zoom_plus,click:f},c.zoomOut2d={name:\"zoomOut2d\",_cat:\"zoomout\",title:function(e){return u(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:o.zoom_minus,click:f},c.autoScale2d={name:\"autoScale2d\",_cat:\"autoscale\",title:function(e){return u(e,\"Autoscale\")},attr:\"zoom\",val:\"auto\",icon:o.autoscale,click:f},c.resetScale2d={name:\"resetScale2d\",_cat:\"resetscale\",title:function(e){return u(e,\"Reset axes\")},attr:\"zoom\",val:\"reset\",icon:o.home,click:f},c.hoverClosestCartesian={name:\"hoverClosestCartesian\",_cat:\"hoverclosest\",title:function(e){return u(e,\"Show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:o.tooltip_basic,gravity:\"ne\",click:f},c.hoverCompareCartesian={name:\"hoverCompareCartesian\",_cat:\"hoverCompare\",title:function(e){return u(e,\"Compare data on hover\")},attr:\"hovermode\",val:function(e){return e._fullLayout._isHoriz?\"y\":\"x\"},icon:o.tooltip_compare,gravity:\"ne\",click:f},c.zoom3d={name:\"zoom3d\",_cat:\"zoom\",title:function(e){return u(e,\"Zoom\")},attr:\"scene.dragmode\",val:\"zoom\",icon:o.zoombox,click:h},c.pan3d={name:\"pan3d\",_cat:\"pan\",title:function(e){return u(e,\"Pan\")},attr:\"scene.dragmode\",val:\"pan\",icon:o.pan,click:h},c.orbitRotation={name:\"orbitRotation\",title:function(e){return u(e,\"Orbital rotation\")},attr:\"scene.dragmode\",val:\"orbit\",icon:o[\"3d_rotate\"],click:h},c.tableRotation={name:\"tableRotation\",title:function(e){return u(e,\"Turntable rotation\")},attr:\"scene.dragmode\",val:\"turntable\",icon:o[\"z-axis\"],click:h},c.resetCameraDefault3d={name:\"resetCameraDefault3d\",_cat:\"resetCameraDefault\",title:function(e){return u(e,\"Reset camera to default\")},attr:\"resetDefault\",icon:o.home,click:p},c.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",_cat:\"resetCameraLastSave\",title:function(e){return u(e,\"Reset camera to last save\")},attr:\"resetLastSave\",icon:o.movie,click:p},c.hoverClosest3d={name:\"hoverClosest3d\",_cat:\"hoverclosest\",title:function(e){return u(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:o.tooltip_basic,gravity:\"ne\",click:function(e,t){var r=d(e,t);n.call(\"_guiRelayout\",e,r)}},c.zoomInGeo={name:\"zoomInGeo\",_cat:\"zoomin\",title:function(e){return u(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:o.zoom_plus,click:v},c.zoomOutGeo={name:\"zoomOutGeo\",_cat:\"zoomout\",title:function(e){return u(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:o.zoom_minus,click:v},c.resetGeo={name:\"resetGeo\",_cat:\"reset\",title:function(e){return u(e,\"Reset\")},attr:\"reset\",val:null,icon:o.autoscale,click:v},c.hoverClosestGeo={name:\"hoverClosestGeo\",_cat:\"hoverclosest\",title:function(e){return u(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:o.tooltip_basic,gravity:\"ne\",click:m},c.hoverClosestGl2d={name:\"hoverClosestGl2d\",_cat:\"hoverclosest\",title:function(e){return u(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:o.tooltip_basic,gravity:\"ne\",click:m},c.hoverClosestPie={name:\"hoverClosestPie\",_cat:\"hoverclosest\",title:function(e){return u(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:o.tooltip_basic,gravity:\"ne\",click:m},c.resetViewSankey={name:\"resetSankeyGroup\",title:function(e){return u(e,\"Reset view\")},icon:o.home,click:function(e){for(var t={\"node.groups\":[],\"node.x\":[],\"node.y\":[]},r=0;r<e._fullData.length;r++){var i=e._fullData[r]._viewInitial;t[\"node.groups\"].push(i.node.groups.slice()),t[\"node.x\"].push(i.node.x.slice()),t[\"node.y\"].push(i.node.y.slice())}n.call(\"restyle\",e,t)}},c.toggleHover={name:\"toggleHover\",title:function(e){return u(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:o.tooltip_basic,gravity:\"ne\",click:function(e,t){var r=d(e,t);r.hovermode=g(e),n.call(\"_guiRelayout\",e,r)}},c.resetViews={name:\"resetViews\",title:function(e){return u(e,\"Reset views\")},icon:o.home,click:function(e,t){var r=t.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),f(e,t),r.setAttribute(\"data-attr\",\"resetLastSave\"),p(e,t),x(e,\"geo\"),x(e,\"mapbox\")}},c.toggleSpikelines={name:\"toggleSpikelines\",title:function(e){return u(e,\"Toggle Spike Lines\")},icon:o.spikeline,attr:\"_cartesianSpikesEnabled\",val:\"on\",click:function(e){var t=e._fullLayout,r=t._cartesianSpikesEnabled;t._cartesianSpikesEnabled=\"on\"===r?\"off\":\"on\",n.call(\"_guiRelayout\",e,function(e){for(var t=\"on\"===e._fullLayout._cartesianSpikesEnabled,r=a.list(e,null,!0),n={},i=0;i<r.length;i++){var o=r[i];n[o._name+\".showspikes\"]=!!t||o._showSpikeInitial}return n}(e))}},c.resetViewMapbox={name:\"resetViewMapbox\",_cat:\"resetView\",title:function(e){return u(e,\"Reset view\")},attr:\"reset\",icon:o.home,click:function(e){x(e,\"mapbox\")}},c.zoomInMapbox={name:\"zoomInMapbox\",_cat:\"zoomin\",title:function(e){return u(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:o.zoom_plus,click:y},c.zoomOutMapbox={name:\"zoomOutMapbox\",_cat:\"zoomout\",title:function(e){return u(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:o.zoom_minus,click:y}},93348:function(e,t,r){\"use strict\";var n=r(26023),i=Object.keys(n),a=[\"drawline\",\"drawopenpath\",\"drawclosedpath\",\"drawcircle\",\"drawrect\",\"eraseshape\"],o=[\"v1hovermode\",\"hoverclosest\",\"hovercompare\",\"togglehover\",\"togglespikelines\"].concat(a),s=[];i.forEach((function(e){!function(e){if(-1===o.indexOf(e._cat||e.name)){var t=e.name,r=(e._cat||e.name).toLowerCase();-1===s.indexOf(t)&&s.push(t),-1===s.indexOf(r)&&s.push(r)}}(n[e])})),s.sort(),e.exports={DRAW_MODES:a,backButtons:o,foreButtons:s}},35750:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901),a=r(44467),o=r(42068);e.exports=function(e,t){var r=e.modebar||{},s=a.newContainer(t,\"modebar\");function l(e,t){return n.coerce(r,s,o,e,t)}l(\"orientation\"),l(\"bgcolor\",i.addOpacity(t.paper_bgcolor,.5));var u=i.contrast(i.rgb(t.modebar.bgcolor));l(\"color\",i.addOpacity(u,.3)),l(\"activecolor\",i.addOpacity(u,.7)),l(\"uirevision\",t.uirevision),l(\"add\"),l(\"remove\")}},64168:function(e,t,r){\"use strict\";e.exports={moduleType:\"component\",name:\"modebar\",layoutAttributes:r(42068),supplyLayoutDefaults:r(35750),manage:r(14192)}},14192:function(e,t,r){\"use strict\";var n=r(41675),i=r(34098),a=r(73972),o=r(23469).isUnifiedHover,s=r(37676),l=r(26023),u=r(93348).DRAW_MODES,c=r(71828).extendDeep;e.exports=function(e){var t=e._fullLayout,r=e._context,f=t._modeBar;if(r.displayModeBar||r.watermark){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error([\"*modeBarButtonsToRemove* configuration options\",\"must be an array.\"].join(\" \"));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error([\"*modeBarButtonsToAdd* configuration options\",\"must be an array.\"].join(\" \"));var h,p=r.modeBarButtons;h=Array.isArray(p)&&p.length?function(e){for(var t=c([],e),r=0;r<t.length;r++)for(var n=t[r],i=0;i<n.length;i++){var a=n[i];if(\"string\"==typeof a){if(void 0===l[a])throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"));t[r][i]=l[a]}}return t}(p):!r.displayModeBar&&r.watermark?[]:function(e){var t=e._fullLayout,r=e._fullData,s=e._context;function c(e,t){if(\"string\"==typeof t){if(t.toLowerCase()===e.toLowerCase())return!0}else{var r=t.name,n=t._cat||t.name;if(r===e||n===e.toLowerCase())return!0}return!1}var f=t.modebar.add;\"string\"==typeof f&&(f=[f]);var h=t.modebar.remove;\"string\"==typeof h&&(h=[h]);var p=s.modeBarButtonsToAdd.concat(f.filter((function(e){for(var t=0;t<s.modeBarButtonsToRemove.length;t++)if(c(e,s.modeBarButtonsToRemove[t]))return!1;return!0}))),d=s.modeBarButtonsToRemove.concat(h.filter((function(e){for(var t=0;t<s.modeBarButtonsToAdd.length;t++)if(c(e,s.modeBarButtonsToAdd[t]))return!1;return!0}))),v=t._has(\"cartesian\"),g=t._has(\"gl3d\"),m=t._has(\"geo\"),y=t._has(\"pie\"),x=t._has(\"funnelarea\"),b=t._has(\"gl2d\"),_=t._has(\"ternary\"),w=t._has(\"mapbox\"),k=t._has(\"polar\"),T=t._has(\"smith\"),M=t._has(\"sankey\"),A=function(e){for(var t=n.list({_fullLayout:e},null,!0),r=0;r<t.length;r++)if(!t[r].fixedrange)return!1;return!0}(t),S=o(t.hovermode),E=[];function C(e){if(e.length){for(var t=[],r=0;r<e.length;r++){for(var n=e[r],i=l[n],a=i.name.toLowerCase(),o=(i._cat||i.name).toLowerCase(),s=!1,u=0;u<d.length;u++){var c=d[u].toLowerCase();if(c===a||c===o){s=!0;break}}s||t.push(l[n])}E.push(t)}}var L=[\"toImage\"];s.showEditInChartStudio?L.push(\"editInChartStudio\"):s.showSendToCloud&&L.push(\"sendDataToCloud\"),C(L);var P=[],O=[],I=[],D=[];(v||b||y||x||_)+m+g+w+k+T>1?(O=[\"toggleHover\"],I=[\"resetViews\"]):m?(P=[\"zoomInGeo\",\"zoomOutGeo\"],O=[\"hoverClosestGeo\"],I=[\"resetGeo\"]):g?(O=[\"hoverClosest3d\"],I=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):w?(P=[\"zoomInMapbox\",\"zoomOutMapbox\"],O=[\"toggleHover\"],I=[\"resetViewMapbox\"]):b?O=[\"hoverClosestGl2d\"]:y?O=[\"hoverClosestPie\"]:M?(O=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],I=[\"resetViewSankey\"]):O=[\"toggleHover\"],v&&(O=[\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"]),(function(e){for(var t=0;t<e.length;t++)if(!a.traceIs(e[t],\"noHover\"))return!1;return!0}(r)||S)&&(O=[]),!v&&!b||A||(P=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],\"resetViews\"!==I[0]&&(I=[\"resetScale2d\"])),g?D=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:(v||b)&&!A||_?D=[\"zoom2d\",\"pan2d\"]:w||m?D=[\"pan2d\"]:k&&(D=[\"zoom2d\"]),function(e){for(var t=!1,r=0;r<e.length&&!t;r++){var n=e[r];n._module&&n._module.selectPoints&&(a.traceIs(n,\"scatter-like\")?(i.hasMarkers(n)||i.hasText(n))&&(t=!0):a.traceIs(n,\"box-violin\")&&\"all\"!==n.boxpoints&&\"all\"!==n.points||(t=!0))}return t}(r)&&D.push(\"select2d\",\"lasso2d\");var z=[],R=function(e){-1===z.indexOf(e)&&-1!==O.indexOf(e)&&z.push(e)};if(Array.isArray(p)){for(var F=[],B=0;B<p.length;B++){var N=p[B];\"string\"==typeof N?(N=N.toLowerCase(),-1!==u.indexOf(N)?(t._has(\"mapbox\")||t._has(\"cartesian\"))&&D.push(N):\"togglespikelines\"===N?R(\"toggleSpikelines\"):\"togglehover\"===N?R(\"toggleHover\"):\"hovercompare\"===N?R(\"hoverCompareCartesian\"):\"hoverclosest\"===N?(R(\"hoverClosestCartesian\"),R(\"hoverClosestGeo\"),R(\"hoverClosest3d\"),R(\"hoverClosestGl2d\"),R(\"hoverClosestPie\")):\"v1hovermode\"===N&&(R(\"toggleHover\"),R(\"hoverClosestCartesian\"),R(\"hoverCompareCartesian\"),R(\"hoverClosestGeo\"),R(\"hoverClosest3d\"),R(\"hoverClosestGl2d\"),R(\"hoverClosestPie\"))):F.push(N)}p=F}return C(D),C(P.concat(I)),C(z),function(e,t){if(t.length)if(Array.isArray(t[0]))for(var r=0;r<t.length;r++)e.push(t[r]);else e.push(t);return e}(E,p)}(e),f?f.update(e,h):t._modeBar=s(e,h)}else f&&(f.destroy(),delete t._modeBar)}},37676:function(e,t,r){\"use strict\";var n=r(39898),i=r(92770),a=r(71828),o=r(24255),s=r(11506).version,l=new DOMParser;function u(e){this.container=e.container,this.element=document.createElement(\"div\"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var c=u.prototype;c.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i=\"modebar-\"+n._uid;this.element.setAttribute(\"id\",i),this._uid=i,this.element.className=\"modebar\",\"hover\"===r.displayModeBar&&(this.element.className+=\" modebar--hover ease-bg\"),\"v\"===n.modebar.orientation&&(this.element.className+=\" vertical\",t=t.reverse());var o=n.modebar,s=\"hover\"===r.displayModeBar?\".js-plotly-plot .plotly:hover \":\"\";a.deleteRelatedStyleRule(i),a.addRelatedStyleRule(i,s+\"#\"+i+\" .modebar-group\",\"background-color: \"+o.bgcolor),a.addRelatedStyleRule(i,\"#\"+i+\" .modebar-btn .icon path\",\"fill: \"+o.color),a.addRelatedStyleRule(i,\"#\"+i+\" .modebar-btn:hover .icon path\",\"fill: \"+o.activecolor),a.addRelatedStyleRule(i,\"#\"+i+\" .modebar-btn.active .icon path\",\"fill: \"+o.activecolor);var l=!this.hasButtons(t),u=this.hasLogo!==r.displaylogo,c=this.locale!==r.locale;if(this.locale=r.locale,(l||u||c)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var f=this.getLogo();r.watermark&&(f.className=f.className+\" watermark\"),\"v\"===n.modebar.orientation?this.element.insertBefore(f,this.element.childNodes[0]):this.element.appendChild(f),this.hasLogo=!0}this.updateActiveButton()},c.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach((function(e){var r=t.createGroup();e.forEach((function(e){var n=e.name;if(!n)throw new Error(\"must provide button 'name' in button config\");if(-1!==t.buttonsNames.indexOf(n))throw new Error(\"button name '\"+n+\"' is taken\");t.buttonsNames.push(n);var i=t.createButton(e);t.buttonElements.push(i),r.appendChild(i)})),t.element.appendChild(r)}))},c.createGroup=function(){var e=document.createElement(\"div\");return e.className=\"modebar-group\",e},c.createButton=function(e){var t=this,r=document.createElement(\"a\");r.setAttribute(\"rel\",\"tooltip\"),r.className=\"modebar-btn\";var i=e.title;void 0===i?i=e.name:\"function\"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&r.setAttribute(\"data-title\",i),void 0!==e.attr&&r.setAttribute(\"data-attr\",e.attr);var a=e.val;if(void 0!==a&&(\"function\"==typeof a&&(a=a(this.graphInfo)),r.setAttribute(\"data-val\",a)),\"function\"!=typeof e.click)throw new Error(\"must provide button 'click' function in button config\");r.addEventListener(\"click\",(function(r){e.click(t.graphInfo,r),t.updateActiveButton(r.currentTarget)})),r.setAttribute(\"data-toggle\",e.toggle||!1),e.toggle&&n.select(r).classed(\"active\",!0);var s=e.icon;return\"function\"==typeof s?r.appendChild(s()):r.appendChild(this.createIcon(s||o.question)),r.setAttribute(\"data-gravity\",e.gravity||\"n\"),r},c.createIcon=function(e){var t,r=i(e.height)?Number(e.height):e.ascent-e.descent,n=\"http://www.w3.org/2000/svg\";if(e.path){(t=document.createElementNS(n,\"svg\")).setAttribute(\"viewBox\",[0,0,e.width,r].join(\" \")),t.setAttribute(\"class\",\"icon\");var a=document.createElementNS(n,\"path\");a.setAttribute(\"d\",e.path),e.transform?a.setAttribute(\"transform\",e.transform):void 0!==e.ascent&&a.setAttribute(\"transform\",\"matrix(1 0 0 -1 0 \"+e.ascent+\")\"),t.appendChild(a)}return e.svg&&(t=l.parseFromString(e.svg,\"application/xml\").childNodes[0]),t.setAttribute(\"height\",\"1em\"),t.setAttribute(\"width\",\"1em\"),t},c.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=void 0!==e?e.getAttribute(\"data-attr\"):null;this.buttonElements.forEach((function(e){var i=e.getAttribute(\"data-val\")||!0,o=e.getAttribute(\"data-attr\"),s=\"true\"===e.getAttribute(\"data-toggle\"),l=n.select(e);if(s)o===r&&l.classed(\"active\",!l.classed(\"active\"));else{var u=null===o?o:a.nestedProperty(t,o).get();l.classed(\"active\",u===i)}}))},c.hasButtons=function(e){var t=this.buttons;if(!t)return!1;if(e.length!==t.length)return!1;for(var r=0;r<e.length;++r){if(e[r].length!==t[r].length)return!1;for(var n=0;n<e[r].length;n++)if(e[r][n].name!==t[r][n].name)return!1}return!0},c.getLogo=function(){var e=this.createGroup(),t=document.createElement(\"a\");return t.href=\"https://plotly.com/\",t.target=\"_blank\",t.setAttribute(\"data-title\",a._(this.graphInfo,\"Produced with Plotly.js\")+\" (v\"+s+\")\"),t.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",t.appendChild(this.createIcon(o.newplotlylogo)),e.appendChild(t),e},c.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},c.destroy=function(){a.removeElement(this.container.querySelector(\".modebar\")),a.deleteRelatedStyleRule(this._uid)},e.exports=function(e,t){var r=e._fullLayout,i=new u({graphInfo:e,container:r._modebardiv.node(),buttons:t});return r._privateplot&&n.select(i.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),i}},37113:function(e,t,r){\"use strict\";var n=r(41940),i=r(22399),a=(0,r(44467).templatedArray)(\"button\",{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\",editType:\"plot\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\",editType:\"plot\"},count:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},label:{valType:\"string\",editType:\"plot\"},editType:\"plot\"});e.exports={visible:{valType:\"boolean\",editType:\"plot\"},buttons:a,x:{valType:\"number\",min:-2,max:3,editType:\"plot\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"plot\"},y:{valType:\"number\",min:-2,max:3,editType:\"plot\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\",editType:\"plot\"},font:n({editType:\"plot\"}),bgcolor:{valType:\"color\",dflt:i.lightLine,editType:\"plot\"},activecolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:i.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"}},89573:function(e){\"use strict\";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},28674:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901),a=r(44467),o=r(85501),s=r(37113),l=r(89573);function u(e,t,r,i){var a=i.calendar;function o(r,i){return n.coerce(e,t,s.buttons,r,i)}if(o(\"visible\")){var l=o(\"step\");\"all\"!==l&&(!a||\"gregorian\"===a||\"month\"!==l&&\"year\"!==l?o(\"stepmode\"):t.stepmode=\"backward\",o(\"count\")),o(\"label\")}}e.exports=function(e,t,r,c,f){var h=e.rangeselector||{},p=a.newContainer(t,\"rangeselector\");function d(e,t){return n.coerce(h,p,s,e,t)}if(d(\"visible\",o(h,p,{name:\"buttons\",handleItemDefaults:u,calendar:f}).length>0)){var v=function(e,t,r){for(var n=r.filter((function(r){return t[r].anchor===e._id})),i=0,a=0;a<n.length;a++){var o=t[n[a]].domain;o&&(i=Math.max(o[1],i))}return[e.domain[0],i+l.yPad]}(t,r,c);d(\"x\",v[0]),d(\"y\",v[1]),n.noneOrAll(e,t,[\"x\",\"y\"]),d(\"xanchor\"),d(\"yanchor\"),n.coerceFont(d,\"font\",r.font);var g=d(\"bgcolor\");d(\"activecolor\",i.contrast(g,l.lightAmount,l.darkAmount)),d(\"bordercolor\"),d(\"borderwidth\")}}},21598:function(e,t,r){\"use strict\";var n=r(39898),i=r(73972),a=r(74875),o=r(7901),s=r(91424),l=r(71828),u=l.strTranslate,c=r(63893),f=r(41675),h=r(18783),p=h.LINE_SPACING,d=h.FROM_TL,v=h.FROM_BR,g=r(89573),m=r(70565);function y(e){return e._id}function x(e,t,r){var n=l.ensureSingle(e,\"rect\",\"selector-rect\",(function(e){e.attr(\"shape-rendering\",\"crispEdges\")}));n.attr({rx:g.rx,ry:g.ry}),n.call(o.stroke,t.bordercolor).call(o.fill,function(e,t){return t._isActive||t._isHovered?e.activecolor:e.bgcolor}(t,r)).style(\"stroke-width\",t.borderwidth+\"px\")}function b(e,t,r,n){var i,a;l.ensureSingle(e,\"text\",\"selector-text\",(function(e){e.attr(\"text-anchor\",\"middle\")})).call(s.font,t.font).text((i=r,a=n._fullLayout._meta,i.label?a?l.templateString(i.label,a):i.label:\"all\"===i.step?\"all\":i.count+i.step.charAt(0))).call((function(e){c.convertToTspans(e,n)}))}e.exports=function(e){var t=e._fullLayout._infolayer.selectAll(\".rangeselector\").data(function(e){for(var t=f.list(e,\"x\",!0),r=[],n=0;n<t.length;n++){var i=t[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}(e),y);t.enter().append(\"g\").classed(\"rangeselector\",!0),t.exit().remove(),t.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),t.each((function(t){var r=n.select(this),o=t,f=o.rangeselector,h=r.selectAll(\"g.button\").data(l.filterVisible(f.buttons));h.enter().append(\"g\").classed(\"button\",!0),h.exit().remove(),h.each((function(t){var r=n.select(this),a=m(o,t);t._isActive=function(e,t,r){if(\"all\"===t.step)return!0===e.autorange;var n=Object.keys(r);return e.range[0]===r[n[0]]&&e.range[1]===r[n[1]]}(o,t,a),r.call(x,f,t),r.call(b,f,t,e),r.on(\"click\",(function(){e._dragged||i.call(\"_guiRelayout\",e,a)})),r.on(\"mouseover\",(function(){t._isHovered=!0,r.call(x,f,t)})),r.on(\"mouseout\",(function(){t._isHovered=!1,r.call(x,f,t)}))})),function(e,t,r,i,o){var f=0,h=0,m=r.borderwidth;t.each((function(){var e=n.select(this).select(\".selector-text\"),t=r.font.size*p,i=Math.max(t*c.lineCount(e),16)+3;h=Math.max(h,i)})),t.each((function(){var e=n.select(this),t=e.select(\".selector-rect\"),i=e.select(\".selector-text\"),a=i.node()&&s.bBox(i.node()).width,o=r.font.size*p,l=c.lineCount(i),d=Math.max(a+10,g.minButtonWidth);e.attr(\"transform\",u(m+f,m)),t.attr({x:0,y:0,width:d,height:h}),c.positionText(i,d/2,h/2-(l-1)*o/2+3),f+=d+5}));var y=e._fullLayout._size,x=y.l+y.w*r.x,b=y.t+y.h*(1-r.y),_=\"left\";l.isRightAnchor(r)&&(x-=f,_=\"right\"),l.isCenterAnchor(r)&&(x-=f/2,_=\"center\");var w=\"top\";l.isBottomAnchor(r)&&(b-=h,w=\"bottom\"),l.isMiddleAnchor(r)&&(b-=h/2,w=\"middle\"),f=Math.ceil(f),h=Math.ceil(h),x=Math.round(x),b=Math.round(b),a.autoMargin(e,i+\"-range-selector\",{x:r.x,y:r.y,l:f*d[_],r:f*v[_],b:h*v[w],t:h*d[w]}),o.attr(\"transform\",u(x,b))}(e,h,f,o._name,r)}))}},70565:function(e,t,r){\"use strict\";var n=r(81041),i=r(71828).titleCase;e.exports=function(e,t){var r=e._name,a={};if(\"all\"===t.step)a[r+\".autorange\"]=!0;else{var o=function(e,t){var r,a=e.range,o=new Date(e.r2l(a[1])),s=t.step,l=n[\"utc\"+i(s)],u=t.count;switch(t.stepmode){case\"backward\":r=e.l2r(+l.offset(o,-u));break;case\"todate\":var c=l.offset(o,-u);r=e.l2r(+l.ceil(c))}return[r,a[1]]}(e,t);a[r+\".range[0]\"]=o[0],a[r+\".range[1]\"]=o[1]}return a}},97218:function(e,t,r){\"use strict\";e.exports={moduleType:\"component\",name:\"rangeselector\",schema:{subplots:{xaxis:{rangeselector:r(37113)}}},layoutAttributes:r(37113),handleDefaults:r(28674),draw:r(21598)}},75148:function(e,t,r){\"use strict\";var n=r(22399);e.exports={bgcolor:{valType:\"color\",dflt:n.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:n.defaultLine,editType:\"plot\"},borderwidth:{valType:\"integer\",dflt:0,min:0,editType:\"plot\"},autorange:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}}],editType:\"calc\",impliedEdits:{autorange:!1}},thickness:{valType:\"number\",dflt:.15,min:0,max:1,editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"}},88443:function(e,t,r){\"use strict\";var n=r(41675).list,i=r(71739).getAutoRange,a=r(73251);e.exports=function(e){for(var t=n(e,\"x\",!0),r=0;r<t.length;r++){var o=t[r],s=o[a.name];s&&s.visible&&s.autorange&&(s._input.autorange=!0,s._input.range=s.range=i(e,o))}}},73251:function(e){\"use strict\";e.exports={name:\"rangeslider\",containerClassName:\"rangeslider-container\",bgClassName:\"rangeslider-bg\",rangePlotClassName:\"rangeslider-rangeplot\",maskMinClassName:\"rangeslider-mask-min\",maskMaxClassName:\"rangeslider-mask-max\",slideBoxClassName:\"rangeslider-slidebox\",grabberMinClassName:\"rangeslider-grabber-min\",grabAreaMinClassName:\"rangeslider-grabarea-min\",handleMinClassName:\"rangeslider-handle-min\",grabberMaxClassName:\"rangeslider-grabber-max\",grabAreaMaxClassName:\"rangeslider-grabarea-max\",handleMaxClassName:\"rangeslider-handle-max\",maskMinOppAxisClassName:\"rangeslider-mask-min-opp-axis\",maskMaxOppAxisClassName:\"rangeslider-mask-max-opp-axis\",maskColor:\"rgba(0,0,0,0.4)\",maskOppAxisColor:\"rgba(0,0,0,0.2)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},26377:function(e,t,r){\"use strict\";var n=r(71828),i=r(44467),a=r(41675),o=r(75148),s=r(47850);e.exports=function(e,t,r){var l=e[r],u=t[r];if(l.rangeslider||t._requestRangeslider[u._id]){n.isPlainObject(l.rangeslider)||(l.rangeslider={});var c,f,h=l.rangeslider,p=i.newContainer(u,\"rangeslider\");if(_(\"visible\")){_(\"bgcolor\",t.plot_bgcolor),_(\"bordercolor\"),_(\"borderwidth\"),_(\"thickness\"),_(\"autorange\",!u.isValidRange(h.range)),_(\"range\");var d=t._subplots;if(d)for(var v=d.cartesian.filter((function(e){return e.substr(0,e.indexOf(\"y\"))===a.name2id(r)})).map((function(e){return e.substr(e.indexOf(\"y\"),e.length)})),g=n.simpleMap(v,a.id2name),m=0;m<g.length;m++){var y=g[m];c=h[y]||{},f=i.newContainer(p,y,\"yaxis\");var x,b=t[y];c.range&&b.isValidRange(c.range)&&(x=\"fixed\"),\"match\"!==w(\"rangemode\",x)&&w(\"range\",b.range.slice())}p._input=h}}function _(e,t){return n.coerce(h,p,o,e,t)}function w(e,t){return n.coerce(c,f,s,e,t)}}},72413:function(e,t,r){\"use strict\";var n=r(39898),i=r(73972),a=r(74875),o=r(71828),s=o.strTranslate,l=r(91424),u=r(7901),c=r(92998),f=r(93612),h=r(41675),p=r(28569),d=r(6964),v=r(73251);function g(e,t,r,n){var i=o.ensureSingle(e,\"rect\",v.bgClassName,(function(e){e.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})})),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,c=-n._offsetShift,f=l.crispRound(t,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(c,c),\"stroke-width\":f}).call(u.stroke,n.bordercolor).call(u.fill,n.bgcolor)}function m(e,t,r,n){var i=t._fullLayout;o.ensureSingleById(i._topdefs,\"clipPath\",n._clipId,(function(e){e.append(\"rect\").attr({x:0,y:0})})).select(\"rect\").attr({width:n._width,height:n._height})}function y(e,t,r,i){var s,u=t.calcdata,c=e.selectAll(\"g.\"+v.rangePlotClassName).data(r._subplotsWith,o.identity);c.enter().append(\"g\").attr(\"class\",(function(e){return v.rangePlotClassName+\" \"+e})).call(l.setClipUrl,i._clipId,t),c.order(),c.exit().remove(),c.each((function(e,o){var l=n.select(this),c=0===o,p=h.getFromId(t,e,\"y\"),d=p._name,v=i[d],g={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:t._context};r.rangebreaks&&(g.layout.xaxis.rangebreaks=r.rangebreaks),g.layout[d]={type:p.type,domain:[0,1],range:\"match\"!==v.rangemode?v.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(g.layout[d].rangebreaks=p.rangebreaks),a.supplyDefaults(g);var m=g._fullLayout.xaxis,y=g._fullLayout[d];m.clearCalc(),m.setScale(),y.clearCalc(),y.setScale();var x={id:e,plotgroup:l,xaxis:m,yaxis:y,isRangePlot:!0};c?s=x:(x.mainplot=\"xy\",x.mainplotinfo=s),f.rangePlot(t,x,function(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n],a=i[0].trace;a.xaxis+a.yaxis===t&&r.push(i)}return r}(u,e))}))}function x(e,t,r,n,i){o.ensureSingle(e,\"rect\",v.maskMinClassName,(function(e){e.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})})).attr(\"height\",n._height).call(u.fill,v.maskColor),o.ensureSingle(e,\"rect\",v.maskMaxClassName,(function(e){e.attr({y:0,\"shape-rendering\":\"crispEdges\"})})).attr(\"height\",n._height).call(u.fill,v.maskColor),\"match\"!==i.rangemode&&(o.ensureSingle(e,\"rect\",v.maskMinOppAxisClassName,(function(e){e.attr({y:0,\"shape-rendering\":\"crispEdges\"})})).attr(\"width\",n._width).call(u.fill,v.maskOppAxisColor),o.ensureSingle(e,\"rect\",v.maskMaxOppAxisClassName,(function(e){e.attr({y:0,\"shape-rendering\":\"crispEdges\"})})).attr(\"width\",n._width).style(\"border-top\",v.maskOppBorder).call(u.fill,v.maskOppAxisColor))}function b(e,t,r,n){t._context.staticPlot||o.ensureSingle(e,\"rect\",v.slideBoxClassName,(function(e){e.attr({y:0,cursor:v.slideBoxCursor,\"shape-rendering\":\"crispEdges\"})})).attr({height:n._height,fill:v.slideBoxFill})}function _(e,t,r,n){var i=o.ensureSingle(e,\"g\",v.grabberMinClassName),a=o.ensureSingle(e,\"g\",v.grabberMaxClassName),s={x:0,width:v.handleWidth,rx:v.handleRadius,fill:u.background,stroke:u.defaultLine,\"stroke-width\":v.handleStrokeWidth,\"shape-rendering\":\"crispEdges\"},l={y:Math.round(n._height/4),height:Math.round(n._height/2)};o.ensureSingle(i,\"rect\",v.handleMinClassName,(function(e){e.attr(s)})).attr(l),o.ensureSingle(a,\"rect\",v.handleMaxClassName,(function(e){e.attr(s)})).attr(l);var c={width:v.grabAreaWidth,x:0,y:0,fill:v.grabAreaFill,cursor:t._context.staticPlot?void 0:v.grabAreaCursor};o.ensureSingle(i,\"rect\",v.grabAreaMinClassName,(function(e){e.attr(c)})).attr(\"height\",n._height),o.ensureSingle(a,\"rect\",v.grabAreaMaxClassName,(function(e){e.attr(c)})).attr(\"height\",n._height)}e.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,a=0;a<r.length;a++){var l=r[a][v.name];l._clipId=l._id+\"-\"+t._uid}var u=t._infolayer.selectAll(\"g.\"+v.containerClassName).data(r,(function(e){return e._name}));u.exit().each((function(e){var r=e[v.name];t._topdefs.select(\"#\"+r._clipId).remove()})).remove(),0!==r.length&&(u.enter().append(\"g\").classed(v.containerClassName,!0).attr(\"pointer-events\",\"all\"),u.each((function(r){var a=n.select(this),l=r[v.name],u=t[h.id2name(r.anchor)],f=l[h.id2name(r.anchor)];if(l.range){var w,k=o.simpleMap(l.range,r.r2l),T=o.simpleMap(r.range,r.r2l);w=T[0]<T[1]?[Math.min(k[0],T[0]),Math.max(k[1],T[1])]:[Math.max(k[0],T[0]),Math.min(k[1],T[1])],l.range=l._input.range=o.simpleMap(w,r.l2r)}r.cleanRange(\"rangeslider.range\");var M=t._size,A=r.domain;l._width=M.w*(A[1]-A[0]);var S=Math.round(M.l+M.w*A[0]),E=Math.round(M.t+M.h*(1-r._counterDomainMin)+(\"bottom\"===r.side?r._depth:0)+l._offsetShift+v.extraPad);a.attr(\"transform\",s(S,E)),l._rl=o.simpleMap(l.range,r.r2l);var C=l._rl[0],L=l._rl[1],P=L-C;if(l.p2d=function(e){return e/l._width*P+C},l.d2p=function(e){return(e-C)/P*l._width},r.rangebreaks){var O=r.locateBreaks(C,L);if(O.length){var I,D,z=0;for(I=0;I<O.length;I++)z+=(D=O[I]).max-D.min;var R=l._width/(L-C-z),F=[-R*C];for(I=0;I<O.length;I++)D=O[I],F.push(F[F.length-1]-R*(D.max-D.min));for(l.d2p=function(e){for(var t=F[0],r=0;r<O.length;r++){var n=O[r];if(e>=n.max)t=F[r+1];else if(e<n.min)break}return t+R*e},I=0;I<O.length;I++)(D=O[I]).pmin=l.d2p(D.min),D.pmax=l.d2p(D.max);l.p2d=function(e){for(var t=F[0],r=0;r<O.length;r++){var n=O[r];if(e>=n.pmax)t=F[r+1];else if(e<n.pmin)break}return(e-t)/R}}}if(\"match\"!==f.rangemode){var B=u.r2l(f.range[0]),N=u.r2l(f.range[1])-B;l.d2pOppAxis=function(e){return(e-B)/N*l._height}}a.call(g,e,r,l).call(m,e,r,l).call(y,e,r,l).call(x,e,r,l,f).call(b,e,r,l).call(_,e,r,l),function(e,t,r,a){if(!t._context.staticPlot){var s=e.select(\"rect.\"+v.slideBoxClassName).node(),l=e.select(\"rect.\"+v.grabAreaMinClassName).node(),u=e.select(\"rect.\"+v.grabAreaMaxClassName).node();e.on(\"mousedown\",c),e.on(\"touchstart\",c)}function c(){var c=n.event,f=c.target,h=c.clientX||c.touches[0].clientX,v=h-e.node().getBoundingClientRect().left,g=a.d2p(r._rl[0]),m=a.d2p(r._rl[1]),y=p.coverSlip();function x(e){var c,p,x,b=+(e.clientX||e.touches[0].clientX)-h;switch(f){case s:if(x=\"ew-resize\",g+b>r._length||m+b<0)return;c=g+b,p=m+b;break;case l:if(x=\"col-resize\",g+b>r._length)return;c=g+b,p=m;break;case u:if(x=\"col-resize\",m+b<0)return;c=g,p=m+b;break;default:x=\"ew-resize\",c=v,p=v+b}if(p<c){var _=p;p=c,c=_}a._pixelMin=c,a._pixelMax=p,d(n.select(y),x),function(e,t,r,n){function a(e){return r.l2r(o.constrain(e,n._rl[0],n._rl[1]))}var s=a(n.p2d(n._pixelMin)),l=a(n.p2d(n._pixelMax));window.requestAnimationFrame((function(){i.call(\"_guiRelayout\",t,r._name+\".range\",[s,l])}))}(0,t,r,a)}function b(){y.removeEventListener(\"mousemove\",x),y.removeEventListener(\"mouseup\",b),this.removeEventListener(\"touchmove\",x),this.removeEventListener(\"touchend\",b),o.removeElement(y)}this.addEventListener(\"touchmove\",x),this.addEventListener(\"touchend\",b),y.addEventListener(\"mousemove\",x),y.addEventListener(\"mouseup\",b)}}(a,e,r,l),function(e,t,r,n,i,a){var l=v.handleWidth/2;function u(e){return o.constrain(e,0,n._width)}function c(e){return o.constrain(e,0,n._height)}function f(e){return o.constrain(e,-l,n._width+l)}var h=u(n.d2p(r._rl[0])),p=u(n.d2p(r._rl[1]));if(e.select(\"rect.\"+v.slideBoxClassName).attr(\"x\",h).attr(\"width\",p-h),e.select(\"rect.\"+v.maskMinClassName).attr(\"width\",h),e.select(\"rect.\"+v.maskMaxClassName).attr(\"x\",p).attr(\"width\",n._width-p),\"match\"!==a.rangemode){var d=n._height-c(n.d2pOppAxis(i._rl[1])),g=n._height-c(n.d2pOppAxis(i._rl[0]));e.select(\"rect.\"+v.maskMinOppAxisClassName).attr(\"x\",h).attr(\"height\",d).attr(\"width\",p-h),e.select(\"rect.\"+v.maskMaxOppAxisClassName).attr(\"x\",h).attr(\"y\",g).attr(\"height\",n._height-g).attr(\"width\",p-h),e.select(\"rect.\"+v.slideBoxClassName).attr(\"y\",d).attr(\"height\",g-d)}var m=.5,y=Math.round(f(h-l))-m,x=Math.round(f(p-l))+m;e.select(\"g.\"+v.grabberMinClassName).attr(\"transform\",s(y,m)),e.select(\"g.\"+v.grabberMaxClassName).attr(\"transform\",s(x,m))}(a,0,r,l,u,f),\"bottom\"===r.side&&c.draw(e,r._id+\"title\",{propContainer:r,propName:r._name+\".title\",placeholder:t._dfltTitle.x,attributes:{x:r._offset+r._length/2,y:E+l._height+l._offsetShift+10+1.5*r.title.font.size,\"text-anchor\":\"middle\"}})})))}},549:function(e,t,r){\"use strict\";var n=r(41675),i=r(63893),a=r(73251),o=r(18783).LINE_SPACING,s=a.name;function l(e){var t=e&&e[s];return t&&t.visible}t.isVisible=l,t.makeData=function(e){var t=n.list({_fullLayout:e},\"x\",!0),r=e.margin,i=[];if(!e._has(\"gl2d\"))for(var a=0;a<t.length;a++){var o=t[a];if(l(o)){i.push(o);var u=o[s];u._id=s+o._id,u._height=(e.height-r.b-r.t)*u.thickness,u._offsetShift=Math.floor(u.borderwidth/2)}}e._rangeSliderData=i},t.autoMarginOpts=function(e,t){var r=e._fullLayout,n=t[s],l=t._id.charAt(0),u=0,c=0;return\"bottom\"===t.side&&(u=t._depth,t.title.text!==r._dfltTitle[l]&&(c=1.5*t.title.font.size+10+n._offsetShift,c+=(t.title.text.match(i.BR_TAG_ALL)||[]).length*t.title.font.size*o)),{x:0,y:t._counterDomainMin,l:0,r:0,t:0,b:n._height+u+Math.max(r.margin.b,c),pad:a.extraPad+2*n._offsetShift}}},13137:function(e,t,r){\"use strict\";var n=r(71828),i=r(75148),a=r(47850),o=r(549);e.exports={moduleType:\"component\",name:\"rangeslider\",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},i,{yaxis:a})}}},layoutAttributes:r(75148),handleDefaults:r(26377),calcAutorange:r(88443),draw:r(72413),isVisible:o.isVisible,makeData:o.makeData,autoMarginOpts:o.autoMarginOpts}},47850:function(e){\"use strict\";e.exports={_isSubplotObj:!0,rangemode:{valType:\"enumerated\",values:[\"auto\",\"fixed\",\"match\"],dflt:\"match\",editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},editType:\"calc\"}},8389:function(e,t,r){\"use strict\";var n=r(50215),i=r(82196).line,a=r(79952).P,o=r(1426).extendFlat,s=r(30962).overrideAll,l=r(44467).templatedArray;r(24695),e.exports=s(l(\"selection\",{type:{valType:\"enumerated\",values:[\"rect\",\"path\"]},xref:o({},n.xref,{}),yref:o({},n.yref,{}),x0:{valType:\"any\"},x1:{valType:\"any\"},y0:{valType:\"any\"},y1:{valType:\"any\"},path:{valType:\"string\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:.7,editType:\"arraydraw\"},line:{color:i.color,width:o({},i.width,{min:1,dflt:1}),dash:o({},a,{dflt:\"dot\"})}}),\"arraydraw\",\"from-root\")},34122:function(e){\"use strict\";e.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:\"-select\"}},59402:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298),a=r(85501),o=r(8389),s=r(30477);function l(e,t,r){function a(r,i){return n.coerce(e,t,o,r,i)}var l=a(\"path\"),u=\"path\"!==a(\"type\",l?\"path\":\"rect\");u&&delete t.path,a(\"opacity\"),a(\"line.color\"),a(\"line.width\"),a(\"line.dash\");for(var c=[\"x\",\"y\"],f=0;f<2;f++){var h,p,d,v=c[f],g={_fullLayout:r},m=i.coerceRef(e,t,g,v);if((h=i.getFromId(g,m))._selectionIndices.push(t._index),d=s.rangeToShapePosition(h),p=s.shapePositionToRange(h),u){var y=v+\"0\",x=v+\"1\",b=e[y],_=e[x];e[y]=p(e[y],!0),e[x]=p(e[x],!0),i.coercePosition(t,g,a,m,y),i.coercePosition(t,g,a,m,x);var w=t[y],k=t[x];void 0!==w&&void 0!==k&&(t[y]=d(w),t[x]=d(k),e[y]=b,e[x]=_)}}u&&n.noneOrAll(e,t,[\"x0\",\"x1\",\"y0\",\"y1\"])}e.exports=function(e,t){a(e,t,{name:\"selections\",handleItemDefaults:l});for(var r=t.selections,n=0;n<r.length;n++){var i=r[n];i&&void 0===i.path&&(void 0!==i.x0&&void 0!==i.x1&&void 0!==i.y0&&void 0!==i.y1||(t.selections[n]=null))}}},32485:function(e,t,r){\"use strict\";var n=r(60165).readPaths,i=r(42359),a=r(51873).clearOutlineControllers,o=r(7901),s=r(91424),l=r(44467).arrayEditor,u=r(30477),c=u.getPathString;function f(e){var t=e._fullLayout;for(var r in a(e),t._selectionLayer.selectAll(\"path\").remove(),t._plots){var n=t._plots[r].selectionLayer;n&&n.selectAll(\"path\").remove()}for(var i=0;i<t.selections.length;i++)p(e,i)}function h(e){return e._context.editSelection}function p(e,t){e._fullLayout._paperdiv.selectAll('.selectionlayer [data-index=\"'+t+'\"]').remove();var r=u.makeSelectionsOptionsAndPlotinfo(e,t),a=r.options,p=r.plotinfo;a._input&&function(r){var u=c(e,a),g={\"data-index\":t,\"fill-rule\":\"evenodd\",d:u},m=a.opacity,y=\"rgba(0,0,0,0)\",x=a.line.color||o.contrast(e._fullLayout.plot_bgcolor),b=a.line.width,_=a.line.dash;b||(b=5,_=\"solid\");var w=h(e)&&e._fullLayout._activeSelectionIndex===t;w&&(y=e._fullLayout.activeselection.fillcolor,m=e._fullLayout.activeselection.opacity);for(var k=[],T=1;T>=0;T--){var M=r.append(\"path\").attr(g).style(\"opacity\",T?.1:m).call(o.stroke,x).call(o.fill,y).call(s.dashLine,T?\"solid\":_,T?4+b:b);if(d(M,e,a),w){var A=l(e.layout,\"selections\",a);M.style({cursor:\"move\"});var S={element:M.node(),plotinfo:p,gd:e,editHelpers:A,isActiveSelection:!0},E=n(u,e);i(E,M,S)}else M.style(\"pointer-events\",T?\"all\":\"none\");k[T]=M}var C=k[0];k[1].node().addEventListener(\"click\",(function(){return function(e,t){if(h(e)){var r=+t.node().getAttribute(\"data-index\");if(r>=0){if(r===e._fullLayout._activeSelectionIndex)return void v(e);e._fullLayout._activeSelectionIndex=r,e._fullLayout._deactivateSelection=v,f(e)}}}(e,C)}))}(e._fullLayout._selectionLayer)}function d(e,t,r){var n=r.xref+r.yref;s.setClipUrl(e,\"clip\"+t._fullLayout._uid+n,t)}function v(e){h(e)&&e._fullLayout._activeSelectionIndex>=0&&(a(e),delete e._fullLayout._activeSelectionIndex,f(e))}e.exports={draw:f,drawOne:p,activateLastSelection:function(e){if(h(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=v,f(e)}}}},53777:function(e,t,r){\"use strict\";var n=r(79952).P,i=r(1426).extendFlat;e.exports={newselection:{mode:{valType:\"enumerated\",values:[\"immediate\",\"gradual\"],dflt:\"immediate\",editType:\"none\"},line:{color:{valType:\"color\",editType:\"none\"},width:{valType:\"number\",min:1,dflt:1,editType:\"none\"},dash:i({},n,{dflt:\"dot\",editType:\"none\"}),editType:\"none\"},editType:\"none\"},activeselection:{fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"none\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"none\"},editType:\"none\"}}},90849:function(e){\"use strict\";e.exports=function(e,t,r){r(\"newselection.mode\"),r(\"newselection.line.width\")&&(r(\"newselection.line.color\"),r(\"newselection.line.dash\")),r(\"activeselection.fillcolor\"),r(\"activeselection.opacity\")}},35855:function(e,t,r){\"use strict\";var n=r(64505).selectMode,i=r(51873).clearOutline,a=r(60165),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;e.exports=function(e,t){if(e.length){var r=e[0][0];if(r){var a=r.getAttribute(\"d\"),u=t.gd,c=u._fullLayout.newselection,f=t.plotinfo,h=f.xaxis,p=f.yaxis,d=t.isActiveSelection,v=t.dragmode,g=(u.layout||{}).selections||[];if(!n(v)&&void 0!==d){var m=u._fullLayout._activeSelectionIndex;if(m<g.length)switch(u._fullLayout.selections[m].type){case\"rect\":v=\"select\";break;case\"path\":v=\"lasso\"}}var y,x=o(a,u,f,d),b={xref:h._id,yref:p._id,opacity:c.opacity,line:{color:c.line.color,width:c.line.width,dash:c.line.dash}};1===x.length&&(y=x[0]),y&&5===y.length&&\"select\"===v?(b.type=\"rect\",b.x0=y[0][1],b.y0=y[0][2],b.x1=y[2][1],b.y1=y[2][2]):(b.type=\"path\",h&&p&&l(x,h,p),b.path=s(x),y=null),i(u);for(var _=t.editHelpers,w=(_||{}).modifyItem,k=[],T=0;T<g.length;T++){var M=u._fullLayout.selections[T];if(M){if(k[T]=M._input,void 0!==d&&T===u._fullLayout._activeSelectionIndex){var A=b;switch(M.type){case\"rect\":w(\"x0\",A.x0),w(\"x1\",A.x1),w(\"y0\",A.y0),w(\"y1\",A.y1);break;case\"path\":w(\"path\",A.path)}}}else k[T]=M}return void 0===d?(k.push(b),k):_?_.getUpdateObj():{}}}}},75549:function(e,t,r){\"use strict\";var n=r(71828).strTranslate;function i(e,t){switch(e.type){case\"log\":return e.p2d(t);case\"date\":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}e.exports={p2r:i,r2p:function(e,t){switch(e.type){case\"log\":return e.d2p(t);case\"date\":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}},axValue:function(e){var t=\"y\"===e._id.charAt(0)?1:0;return function(r){return i(e,r[t])}},getTransform:function(e){return n(e.xaxis._offset,e.yaxis._offset)}}},47322:function(e,t,r){\"use strict\";var n=r(32485),i=r(3937);e.exports={moduleType:\"component\",name:\"selections\",layoutAttributes:r(8389),supplyLayoutDefaults:r(59402),supplyDrawNewSelectionDefaults:r(90849),includeBasePlot:r(76325)(\"selections\"),draw:n.draw,drawOne:n.drawOne,reselect:i.reselect,prepSelect:i.prepSelect,clearOutline:i.clearOutline,clearSelectionsCache:i.clearSelectionsCache,selectOnClick:i.selectOnClick}},3937:function(e,t,r){\"use strict\";var n=r(52142),i=r(38258),a=r(73972),o=r(91424).dashStyle,s=r(7901),l=r(30211),u=r(23469).makeEventData,c=r(64505),f=c.freeMode,h=c.rectMode,p=c.drawMode,d=c.openMode,v=c.selectMode,g=r(30477),m=r(21459),y=r(42359),x=r(51873).clearOutline,b=r(60165),_=b.handleEllipse,w=b.readPaths,k=r(90551).newShapes,T=r(35855),M=r(32485).activateLastSelection,A=r(71828),S=A.sorterAsc,E=r(61082),C=r(79990),L=r(41675).getFromId,P=r(33306),O=r(61549).redrawReglTraces,I=r(34122),D=I.MINSELECT,z=E.filter,R=E.tester,F=r(75549),B=F.p2r,N=F.axValue,j=F.getTransform;function U(e){return void 0!==e.subplot}function V(e,t,r,n,i,a,o){var s,l,u,c,f,h,p,v,g,m=t._hoverdata,x=t._fullLayout.clickmode.indexOf(\"event\")>-1,b=[];if(function(e){return e&&Array.isArray(e)&&!0!==e[0].hoverOnBox}(m)){Y(e,t,a);var _=function(e,t){var r,n,i=e[0],a=-1,o=[];for(n=0;n<t.length;n++)if(r=t[n],i.fullData._expandedIndex===r.cd[0].trace._expandedIndex){if(!0===i.hoverOnBox)break;void 0!==i.pointNumber?a=i.pointNumber:void 0!==i.binNumber&&(a=i.binNumber,o=i.pointNumbers);break}return{pointNumber:a,pointNumbers:o,searchInfo:r}}(m,s=X(t,r,n,i));if(_.pointNumbers.length>0?function(e,t){var r,n,i,a=[];for(i=0;i<e.length;i++)(r=e[i]).cd[0].trace.selectedpoints&&r.cd[0].trace.selectedpoints.length>0&&a.push(r);if(1===a.length&&a[0]===t.searchInfo&&(n=t.searchInfo.cd[0].trace).selectedpoints.length===t.pointNumbers.length){for(i=0;i<t.pointNumbers.length;i++)if(n.selectedpoints.indexOf(t.pointNumbers[i])<0)return!1;return!0}return!1}(s,_):function(e){var t,r,n=0;for(r=0;r<e.length;r++)if((t=e[r].cd[0].trace).selectedpoints){if(t.selectedpoints.length>1)return!1;if((n+=t.selectedpoints.length)>1)return!1}return 1===n}(s)&&(h=J(_))){for(o&&o.remove(),g=0;g<s.length;g++)(l=s[g])._module.selectPoints(l,!1);$(t,s),W(a),x&&he(t)}else{for(p=e.shiftKey&&(void 0!==h?h:J(_)),u=function(e,t,r){return{pointNumber:e,searchInfo:t,subtract:!!r}}(_.pointNumber,_.searchInfo,p),c=G(a.selectionDefs.concat([u])),g=0;g<s.length;g++)if(f=ee(s[g]._module.selectPoints(s[g],c),s[g]),b.length)for(var w=0;w<f.length;w++)b.push(f[w]);else b=f;if($(t,s,v={points:b}),u&&a&&a.selectionDefs.push(u),o){var k=a.mergedPolygons,T=d(a.dragmode);y(te(k,T),o,a)}x&&fe(t,v)}}}function H(e){return\"pointNumber\"in e&&\"searchInfo\"in e}function q(e){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(t,r,n,i){var a=e.searchInfo.cd[0].trace._expandedIndex;return i.cd[0].trace._expandedIndex===a&&n===e.pointNumber},isRect:!1,degenerate:!1,subtract:!!e.subtract}}function G(e){if(e.length){for(var t=[],r=H(e[0])?0:e[0][0][0],n=r,i=H(e[0])?0:e[0][0][1],a=i,o=0;o<e.length;o++)if(H(e[o]))t.push(q(e[o]));else{var s=R(e[o]);s.subtract=!!e[o].subtract,t.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:function(e,r,n,i){for(var a=!1,o=0;o<t.length;o++)t[o].contains(e,r,n,i)&&(a=!t[o].subtract);return a},isRect:!1,degenerate:!1}}}function Y(e,t,r){var n=t._fullLayout,i=r.plotinfo,a=r.dragmode,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===i.id,s=(e.shiftKey||e.altKey)&&!(p(a)&&d(a));o&&s&&i.selection&&i.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=i.selection.selectionDefs,r.mergedPolygons=i.selection.mergedPolygons):s&&i.selection||W(r),o||(x(t),n._lastSelectedSubplot=i.id)}function W(e,t){var r=e.dragmode,n=e.plotinfo,i=e.gd;(function(e){return e._fullLayout._activeShapeIndex>=0})(i)&&i._fullLayout._deactivateShape(i),function(e){return e._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=v(r);if(s||l){var u,c,f=o.selectAll(\".select-outline-\"+n.id);f&&i._fullLayout._outlining&&(s&&(u=k(f,e)),u&&a.call(\"_guiRelayout\",i,{shapes:u}),l&&!U(e)&&(c=T(f,e)),c&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call(\"_guiRelayout\",i,{selections:c}).then((function(){t&&M(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function Z(e){return e._id}function X(e,t,r,n){if(!e.calcdata)return[];var i,a,o,s=[],l=t.map(Z),u=r.map(Z);for(o=0;o<e.calcdata.length;o++)if(!0===(a=(i=e.calcdata[o])[0].trace).visible&&a._module&&a._module.selectPoints)if(!U({subplot:n})||a.subplot!==n&&a.geo!==n)if(\"splom\"===a.type){if(a._xaxes[l[0]]&&a._yaxes[u[0]]){var c=K(a._module,i,t[0],r[0]);c.scene=e._fullLayout._splomScenes[a.uid],s.push(c)}}else if(\"sankey\"===a.type){var f=K(a._module,i,t[0],r[0]);s.push(f)}else{if(-1===l.indexOf(a.xaxis))continue;if(-1===u.indexOf(a.yaxis))continue;s.push(K(a._module,i,L(e,a.xaxis),L(e,a.yaxis)))}else s.push(K(a._module,i,t[0],r[0]));return s}function K(e,t,r,n){return{_module:e,cd:t,xaxis:r,yaxis:n}}function J(e){var t=e.searchInfo.cd[0].trace,r=e.pointNumber,n=e.pointNumbers,i=n.length>0?n[0]:r;return!!t.selectedpoints&&t.selectedpoints.indexOf(i)>-1}function $(e,t,r){var n,i;for(n=0;n<t.length;n++){var o=t[n].cd[0].trace._fullInput,s=e._fullLayout._tracePreGUI[o.uid]||{};void 0===s.selectedpoints&&(s.selectedpoints=o._input.selectedpoints||null)}if(r){var l=r.points||[];for(n=0;n<t.length;n++)(i=t[n].cd[0].trace)._input.selectedpoints=i._fullInput.selectedpoints=[],i._fullInput!==i&&(i.selectedpoints=[]);for(var u=0;u<l.length;u++){var c=l[u],f=c.data,h=c.fullData,p=c.pointIndex,d=c.pointIndices;d?([].push.apply(f.selectedpoints,d),i._fullInput!==i&&[].push.apply(h.selectedpoints,d)):(f.selectedpoints.push(p),i._fullInput!==i&&h.selectedpoints.push(p))}}else for(n=0;n<t.length;n++)delete(i=t[n].cd[0].trace).selectedpoints,delete i._input.selectedpoints,i._fullInput!==i&&delete i._fullInput.selectedpoints;!function(e,t){for(var r=!1,n=0;n<t.length;n++){var i=t[n],o=i.cd;a.traceIs(o[0].trace,\"regl\")&&(r=!0);var s=i._module,l=s.styleOnSelect||s.style;l&&(l(e,o,o[0].node3),o[0].nodeRangePlot3&&l(e,o,o[0].nodeRangePlot3))}r&&(P(e),O(e))}(e,t)}function Q(e,t,r){for(var i=(r?n.difference:n.union)({regions:e},{regions:[t]}).regions.reverse(),a=0;a<i.length;a++){var o=i[a];o.subtract=se(o,i.slice(0,a))}return i}function ee(e,t){if(Array.isArray(e))for(var r=t.cd,n=t.cd[0].trace,i=0;i<e.length;i++)e[i]=u(e[i],n,r);return e}function te(e,t){for(var r=[],n=0;n<e.length;n++){r[n]=[];for(var i=0;i<e[n].length;i++){r[n][i]=[],r[n][i][0]=i?\"L\":\"M\";for(var a=0;a<e[n][i].length;a++)r[n][i].push(e[n][i][a])}t||r[n].push([\"Z\",r[n][0][1],r[n][0][2]])}return r}function re(e,t){for(var r,n,i=[],a=[],o=0;o<t.length;o++){var s=t[o];n=s._module.selectPoints(s,e),a.push(n),r=ee(n,s),i=i.concat(r)}return i}function ne(e,t,r,n,i){var a,o,s,l=!!n;i&&(a=i.plotinfo,o=i.xaxes[0]._id,s=i.yaxes[0]._id);var u=[],c=[],f=oe(e),h=e._fullLayout;if(a){var d=h._zoomlayer,g=h.dragmode,m=p(g),y=v(g);if(m||y){var x=L(e,o,\"x\"),b=L(e,s,\"y\");if(x&&b){var _=d.selectAll(\".select-outline-\"+a.id);if(_&&e._fullLayout._outlining&&_.length){for(var k=_[0][0].getAttribute(\"d\"),T=w(k,e,a),M=[],A=0;A<T.length;A++){for(var S=T[A],E=[],C=0;C<S.length;C++)E.push([le(x,S[C][1]),le(b,S[C][2])]);E.xref=o,E.yref=s,E.subtract=se(E,M),M.push(E)}f=f.concat(M)}}}}var P=o&&s?[o+s]:h._subplots.cartesian;!function(e){var t=e.calcdata;if(t)for(var r=0;r<t.length;r++){var n=t[r][0].trace,i=e._fullLayout._splomScenes;if(i){var a=i[n.uid];a&&(a.selectBatch=[])}}}(e);for(var O={},I=0;I<P.length;I++){var D=P[I],z=D.indexOf(\"y\"),R=D.slice(0,z),F=D.slice(z),B=o&&s?r:void 0;if(B=ae(f,R,F,B)){var N=n;if(!l){var j=L(e,R,\"x\"),U=L(e,F,\"y\");N=X(e,[j],[U],D);for(var V=0;V<N.length;V++){var H=N[V],q=H.cd[0],G=q.trace;if(\"scattergl\"===H._module.name&&!q.t.xpx){var Y=G.x,W=G.y,Z=G._length;q.t.xpx=[],q.t.ypx=[];for(var K=0;K<Z;K++)q.t.xpx[K]=j.c2p(Y[K]),q.t.ypx[K]=U.c2p(W[K])}\"splom\"===H._module.name&&(O[G.uid]||(O[G.uid]=!0))}}var J=re(B,N);u=u.concat(J),c=c.concat(N)}}var Q={points:u};$(e,c,Q);var ee=h.clickmode.indexOf(\"event\")>-1&&t;if(!a&&t){var te=oe(e,!0);if(te.length){var ne=te[0].xref,pe=te[0].yref;if(ne&&pe){var de=ue(te);ce([L(e,ne,\"x\"),L(e,pe,\"y\")])(Q,de)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ee&&fe(e,Q),h._reselect=!1}if(!a&&h._deselect){var ve=h._deselect;(function(e,t,r){for(var n=0;n<r.length;n++){var i=r[n];if(i.xaxis&&i.xaxis._id===e&&i.yaxis&&i.yaxis._id===t)return!0}return!1})(o=ve.xref,s=ve.yref,c)||ie(e,o,s,n),ee&&(Q.points.length?fe(e,Q):he(e)),h._deselect=!1}return{eventData:Q,selectionTesters:r}}function ie(e,t,r,n){n=X(e,[L(e,t,\"x\")],[L(e,r,\"y\")],t+r);for(var i=0;i<n.length;i++){var a=n[i];a._module.selectPoints(a,!1)}$(e,n)}function ae(e,t,r,n){for(var i,a=0;a<e.length;a++){var o=e[a];t===o.xref&&r===o.yref&&(i?n=G(i=Q(i,o,!!o.subtract)):(i=[o],n=R(o)))}return n}function oe(e,t){for(var r=[],n=e._fullLayout,i=n.selections,a=i.length,o=0;o<a;o++)if(!t||o===n._activeSelectionIndex){var s=i[o];if(s){var l,u,c,f,h,p=s.xref,d=s.yref,v=L(e,p,\"x\"),y=L(e,d,\"y\");if(\"rect\"===s.type){h=[];var x=le(v,s.x0),b=le(v,s.x1),_=le(y,s.y0),w=le(y,s.y1);h=[[x,_],[x,w],[b,w],[b,_]],l=Math.min(x,b),u=Math.max(x,b),c=Math.min(_,w),f=Math.max(_,w),h.xmin=l,h.xmax=u,h.ymin=c,h.ymax=f,h.xref=p,h.yref=d,h.subtract=!1,h.isRect=!0,r.push(h)}else if(\"path\"===s.type)for(var k=s.path.split(\"Z\"),T=[],M=0;M<k.length;M++){var A=k[M];if(A){A+=\"Z\";var S=g.extractPathCoords(A,m.paramIsX,\"raw\"),E=g.extractPathCoords(A,m.paramIsY,\"raw\");l=1/0,u=-1/0,c=1/0,f=-1/0,h=[];for(var C=0;C<S.length;C++){var P=le(v,S[C]),O=le(y,E[C]);h.push([P,O]),l=Math.min(P,l),u=Math.max(P,u),c=Math.min(O,c),f=Math.max(O,f)}h.xmin=l,h.xmax=u,h.ymin=c,h.ymax=f,h.xref=p,h.yref=d,h.subtract=se(h,T),T.push(h),r.push(h)}}}}return r}function se(e,t){for(var r=!1,n=0;n<t.length;n++)for(var a=t[n],o=0;o<e.length;o++)if(i(e[o],a)){r=!r;break}return r}function le(e,t){return\"date\"===e.type&&(t=t.replace(\"_\",\" \")),\"log\"===e.type?e.c2p(t):e.r2p(t,null,e.calendar)}function ue(e){for(var t=e.length,r=[],n=0;n<t;n++){var i=e[n];r=(r=r.concat(i)).concat([i[0]])}return(a=r).isRect=5===a.length&&a[0][0]===a[4][0]&&a[0][1]===a[4][1]&&a[0][0]===a[1][0]&&a[2][0]===a[3][0]&&a[0][1]===a[3][1]&&a[1][1]===a[2][1]||a[0][1]===a[1][1]&&a[2][1]===a[3][1]&&a[0][0]===a[3][0]&&a[1][0]===a[2][0],a.isRect&&(a.xmin=Math.min(a[0][0],a[2][0]),a.xmax=Math.max(a[0][0],a[2][0]),a.ymin=Math.min(a[0][1],a[2][1]),a.ymax=Math.max(a[0][1],a[2][1])),a;var a}function ce(e){return function(t,r){for(var n,i,a=0;a<e.length;a++){var o=e[a],s=o._id,l=s.charAt(0);if(r.isRect){n||(n={});var u=r[l+\"min\"],c=r[l+\"max\"];void 0!==u&&void 0!==c&&(n[s]=[B(o,u),B(o,c)].sort(S))}else i||(i={}),i[s]=r.map(N(o))}n&&(t.range=n),i&&(t.lassoPoints=i)}}function fe(e,t){t&&(t.selections=(e.layout||{}).selections||[]),e.emit(\"plotly_selected\",t)}function he(e){e.emit(\"plotly_deselect\",null)}e.exports={reselect:ne,prepSelect:function(e,t,r,n,i){var u=!U(n),c=f(i),g=h(i),m=d(i),x=p(i),b=v(i),w=\"drawcircle\"===i,k=\"drawline\"===i||w,T=n.gd,M=T._fullLayout,S=b&&\"immediate\"===M.newselection.mode&&u,E=M._zoomlayer,L=n.element.getBoundingClientRect(),P=n.plotinfo,O=j(P),F=t-L.left,B=r-L.top;M._calcInverseTransform(T);var N=A.apply3DTransform(M._invTransform)(F,B);F=N[0],B=N[1];var H,q,Z,K,J,ee,ae,oe=M._invScaleX,se=M._invScaleY,le=F,pe=B,de=\"M\"+F+\",\"+B,ve=n.xaxes[0],ge=n.yaxes[0],me=ve._length,ye=ge._length,xe=e.altKey&&!(p(i)&&m);Y(e,T,n),c&&(H=z([[F,B]],I.BENDPX));var be=E.selectAll(\"path.select-outline-\"+P.id).data([1]),_e=x?M.newshape:M.newselection;x&&(n.hasText=_e.label.text||_e.label.texttemplate);var we=x&&!m?_e.fillcolor:\"rgba(0,0,0,0)\",ke=_e.line.color||(u?s.contrast(T._fullLayout.plot_bgcolor):\"#7f7f7f\");be.enter().append(\"path\").attr(\"class\",\"select-outline select-outline-\"+P.id).style({opacity:x?_e.opacity/2:1,\"stroke-dasharray\":o(_e.line.dash,_e.line.width),\"stroke-width\":_e.line.width+\"px\",\"shape-rendering\":\"crispEdges\"}).call(s.stroke,ke).call(s.fill,we).attr(\"fill-rule\",\"evenodd\").classed(\"cursor-move\",!!x).attr(\"transform\",O).attr(\"d\",de+\"Z\");var Te=E.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:s.background,stroke:s.defaultLine,\"stroke-width\":1}).attr(\"transform\",O).attr(\"d\",\"M0,0Z\");if(x&&n.hasText){var Me=E.select(\".label-temp\");Me.empty()&&(Me=E.append(\"g\").classed(\"label-temp\",!0).classed(\"select-outline\",!0).style({opacity:.8}))}var Ae=M._uid+I.SELECTID,Se=[],Ee=X(T,n.xaxes,n.yaxes,n.subplot);S&&!e.shiftKey&&(n._clearSubplotSelections=function(){if(u){var e=ve._id,t=ge._id;ie(T,e,t,Ee);for(var r=(T.layout||{}).selections||[],n=[],i=!1,o=0;o<r.length;o++){var s=M.selections[o];s.xref!==e||s.yref!==t?n.push(r[o]):i=!0}i&&(T._fullLayout._noEmitSelectedAtStart=!0,a.call(\"_guiRelayout\",T,{selections:n}))}});var Ce=function(e){return e.plotinfo.fillRangeItems||ce(e.xaxes.concat(e.yaxes))}(n);n.moveFn=function(e,t){n._clearSubplotSelections&&(n._clearSubplotSelections(),n._clearSubplotSelections=void 0),le=Math.max(0,Math.min(me,oe*e+F)),pe=Math.max(0,Math.min(ye,se*t+B));var r=Math.abs(le-F),i=Math.abs(pe-B);if(g){var a,o,s;if(b){var l=M.selectdirection;switch(a=\"any\"===l?i<Math.min(.6*r,D)?\"h\":r<Math.min(.6*i,D)?\"v\":\"d\":l){case\"h\":o=w?ye/2:0,s=ye;break;case\"v\":o=w?me/2:0,s=me}}if(x)switch(M.newshape.drawdirection){case\"vertical\":a=\"h\",o=w?ye/2:0,s=ye;break;case\"horizontal\":a=\"v\",o=w?me/2:0,s=me;break;case\"ortho\":r<i?(a=\"h\",o=B,s=pe):(a=\"v\",o=F,s=le);break;default:a=\"d\"}\"h\"===a?((K=k?_(w,[le,o],[le,s]):[[F,o],[F,s],[le,s],[le,o]]).xmin=k?le:Math.min(F,le),K.xmax=k?le:Math.max(F,le),K.ymin=Math.min(o,s),K.ymax=Math.max(o,s),Te.attr(\"d\",\"M\"+K.xmin+\",\"+(B-D)+\"h-4v\"+2*D+\"h4ZM\"+(K.xmax-1)+\",\"+(B-D)+\"h4v\"+2*D+\"h-4Z\")):\"v\"===a?((K=k?_(w,[o,pe],[s,pe]):[[o,B],[o,pe],[s,pe],[s,B]]).xmin=Math.min(o,s),K.xmax=Math.max(o,s),K.ymin=k?pe:Math.min(B,pe),K.ymax=k?pe:Math.max(B,pe),Te.attr(\"d\",\"M\"+(F-D)+\",\"+K.ymin+\"v-4h\"+2*D+\"v4ZM\"+(F-D)+\",\"+(K.ymax-1)+\"v4h\"+2*D+\"v-4Z\")):\"d\"===a&&((K=k?_(w,[F,B],[le,pe]):[[F,B],[F,pe],[le,pe],[le,B]]).xmin=Math.min(F,le),K.xmax=Math.max(F,le),K.ymin=Math.min(B,pe),K.ymax=Math.max(B,pe),Te.attr(\"d\",\"M0,0Z\"))}else c&&(H.addPt([le,pe]),K=H.filtered);if(n.selectionDefs&&n.selectionDefs.length?(Z=Q(n.mergedPolygons,K,xe),K.subtract=xe,q=G(n.selectionDefs.concat([K]))):(Z=[K],q=R(K)),y(te(Z,m),be,n),b){var u,f=ne(T,!1),h=f.eventData?f.eventData.points.slice():[];f=ne(T,!1,q,Ee,n),q=f.selectionTesters,ae=f.eventData,u=H?H.filtered:ue(Z),C.throttle(Ae,I.SELECTDELAY,(function(){for(var e=(Se=re(q,Ee)).slice(),t=0;t<h.length;t++){for(var r=h[t],n=!1,i=0;i<e.length;i++)if(e[i].curveNumber===r.curveNumber&&e[i].pointNumber===r.pointNumber){n=!0;break}n||e.push(r)}e.length&&(ae||(ae={}),ae.points=e),Ce(ae,u),function(e,t){e.emit(\"plotly_selecting\",t)}(T,ae)}))}},n.clickFn=function(e,t){if(Te.remove(),T._fullLayout._activeShapeIndex>=0)T._fullLayout._deactivateShape(T);else if(!x){var r=M.clickmode;C.done(Ae).then((function(){if(C.clear(Ae),2===e){for(be.remove(),J=0;J<Ee.length;J++)(ee=Ee[J])._module.selectPoints(ee,!1);if($(T,Ee),W(n),he(T),Ee.length){var i=Ee[0].xaxis,o=Ee[0].yaxis;if(i&&o){for(var s=[],u=T._fullLayout.selections,c=0;c<u.length;c++){var f=u[c];f&&(f.xref===i._id&&f.yref===o._id||s.push(f))}s.length<u.length&&(T._fullLayout._noEmitSelectedAtStart=!0,a.call(\"_guiRelayout\",T,{selections:s}))}}}else r.indexOf(\"select\")>-1&&V(t,T,n.xaxes,n.yaxes,n.subplot,n,be),\"event\"===r&&fe(T,void 0);l.click(T,t)})).catch(A.error)}},n.doneFn=function(){Te.remove(),C.done(Ae).then((function(){C.clear(Ae),!S&&K&&n.selectionDefs&&(K.subtract=xe,n.selectionDefs.push(K),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,Z)),(S||x)&&W(n,S),n.doneFnCompleted&&n.doneFnCompleted(Se),b&&fe(T,ae)})).catch(A.error)}},clearOutline:x,clearSelectionsCache:W,selectOnClick:V}},89827:function(e,t,r){\"use strict\";var n=r(50215),i=r(41940),a=r(82196).line,o=r(79952).P,s=r(1426).extendFlat,l=r(44467).templatedArray,u=(r(24695),r(9012)),c=r(5386).R,f=r(37281);e.exports=l(\"shape\",{visible:s({},u.visible,{editType:\"calc+arraydraw\"}),showlegend:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},legend:s({},u.legend,{editType:\"calc+arraydraw\"}),legendgroup:s({},u.legendgroup,{editType:\"calc+arraydraw\"}),legendgrouptitle:{text:s({},u.legendgrouptitle.text,{editType:\"calc+arraydraw\"}),font:i({editType:\"calc+arraydraw\"}),editType:\"calc+arraydraw\"},legendrank:s({},u.legendrank,{editType:\"calc+arraydraw\"}),legendwidth:s({},u.legendwidth,{editType:\"calc+arraydraw\"}),type:{valType:\"enumerated\",values:[\"circle\",\"rect\",\"path\",\"line\"],editType:\"calc+arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},xref:s({},n.xref,{}),xsizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},xanchor:{valType:\"any\",editType:\"calc+arraydraw\"},x0:{valType:\"any\",editType:\"calc+arraydraw\"},x1:{valType:\"any\",editType:\"calc+arraydraw\"},yref:s({},n.yref,{}),ysizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},yanchor:{valType:\"any\",editType:\"calc+arraydraw\"},y0:{valType:\"any\",editType:\"calc+arraydraw\"},y1:{valType:\"any\",editType:\"calc+arraydraw\"},path:{valType:\"string\",editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},line:{color:s({},a.color,{editType:\"arraydraw\"}),width:s({},a.width,{editType:\"calc+arraydraw\"}),dash:s({},o,{editType:\"arraydraw\"}),editType:\"calc+arraydraw\"},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\",editType:\"arraydraw\"},editable:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},label:{text:{valType:\"string\",dflt:\"\",editType:\"arraydraw\"},texttemplate:c({},{keys:Object.keys(f)}),font:i({editType:\"calc+arraydraw\",colorEditType:\"arraydraw\"}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\",\"start\",\"middle\",\"end\"],editType:\"arraydraw\"},textangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calc+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],editType:\"calc+arraydraw\"},padding:{valType:\"number\",dflt:3,min:0,editType:\"arraydraw\"},editType:\"arraydraw\"},editType:\"arraydraw\"})},5627:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298),a=r(21459),o=r(30477);function s(e){return u(e.line.width,e.xsizemode,e.x0,e.x1,e.path,!1)}function l(e){return u(e.line.width,e.ysizemode,e.y0,e.y1,e.path,!0)}function u(e,t,r,i,s,l){var u=e/2,c=l;if(\"pixel\"===t){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+u:u,v=h>0?h+u:u;return{ppad:u,ppadplus:c?d:v,ppadminus:c?v:d}}return{ppad:u}}function c(e,t,r,n,i){var s=\"category\"===e.type||\"multicategory\"===e.type?e.r2c:e.d2c;if(void 0!==t)return[s(t),s(r)];if(n){var l,u,c,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for(\"date\"===e.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(u=i[d[l].charAt(0)].drawn)&&(!(c=d[l].substr(1).match(a.paramRE))||c.length<u||((f=s(c[u]))<h&&(h=f),f>p&&(p=f)));return p>=h?[h,p]:void 0}}e.exports=function(e){var t=e._fullLayout,r=n.filterVisible(t.shapes);if(r.length&&e._fullData.length)for(var o=0;o<r.length;o++){var u,f,h=r[o];h._extremes={};var p=i.getRefType(h.xref),d=i.getRefType(h.yref);if(\"paper\"!==h.xref&&\"domain\"!==p){var v=\"pixel\"===h.xsizemode?h.xanchor:h.x0,g=\"pixel\"===h.xsizemode?h.xanchor:h.x1;(f=c(u=i.getFromId(e,h.xref),v,g,h.path,a.paramIsX))&&(h._extremes[u._id]=i.findExtremes(u,f,s(h)))}if(\"paper\"!==h.yref&&\"domain\"!==d){var m=\"pixel\"===h.ysizemode?h.yanchor:h.y0,y=\"pixel\"===h.ysizemode?h.yanchor:h.y1;(f=c(u=i.getFromId(e,h.yref),m,y,h.path,a.paramIsY))&&(h._extremes[u._id]=i.findExtremes(u,f,l(h)))}}}},21459:function(e){\"use strict\";e.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},84726:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298),a=r(85501),o=r(89827),s=r(30477);function l(e,t,r){function a(r,i){return n.coerce(e,t,o,r,i)}if(t._isShape=!0,a(\"visible\")){a(\"showlegend\")&&(a(\"legend\"),a(\"legendwidth\"),a(\"legendgroup\"),a(\"legendgrouptitle.text\"),n.coerceFont(a,\"legendgrouptitle.font\"),a(\"legendrank\"));var l=a(\"path\"),u=a(\"type\",l?\"path\":\"rect\"),c=\"path\"!==u;c&&delete t.path,a(\"editable\"),a(\"layer\"),a(\"opacity\"),a(\"fillcolor\"),a(\"fillrule\"),a(\"line.width\")&&(a(\"line.color\"),a(\"line.dash\"));for(var f=a(\"xsizemode\"),h=a(\"ysizemode\"),p=[\"x\",\"y\"],d=0;d<2;d++){var v,g,m,y=p[d],x=y+\"anchor\",b=\"x\"===y?f:h,_={_fullLayout:r},w=i.coerceRef(e,t,_,y,void 0,\"paper\");if(\"range\"===i.getRefType(w)?((v=i.getFromId(_,w))._shapeIndices.push(t._index),m=s.rangeToShapePosition(v),g=s.shapePositionToRange(v)):g=m=n.identity,c){var k=y+\"0\",T=y+\"1\",M=e[k],A=e[T];e[k]=g(e[k],!0),e[T]=g(e[T],!0),\"pixel\"===b?(a(k,0),a(T,10)):(i.coercePosition(t,_,a,w,k,.25),i.coercePosition(t,_,a,w,T,.75)),t[k]=m(t[k]),t[T]=m(t[T]),e[k]=M,e[T]=A}if(\"pixel\"===b){var S=e[x];e[x]=g(e[x],!0),i.coercePosition(t,_,a,w,x,.25),t[x]=m(t[x]),e[x]=S}}c&&n.noneOrAll(e,t,[\"x0\",\"x1\",\"y0\",\"y1\"]);var E,C,L=\"line\"===u;if(c&&(E=a(\"label.texttemplate\")),E||(C=a(\"label.text\")),C||E){a(\"label.textangle\");var P=a(\"label.textposition\",L?\"middle\":\"middle center\");a(\"label.xanchor\"),a(\"label.yanchor\",function(e,t){return e?\"bottom\":-1!==t.indexOf(\"top\")?\"top\":-1!==t.indexOf(\"bottom\")?\"bottom\":\"middle\"}(L,P)),a(\"label.padding\"),n.coerceFont(a,\"label.font\",r.font)}}}e.exports=function(e,t){a(e,t,{name:\"shapes\",handleItemDefaults:l})}},48100:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298),a=r(63893),o=r(91424),s=r(60165).readPaths,l=r(30477),u=l.getPathString,c=r(37281),f=r(18783).FROM_TL;e.exports=function(e,t,r,h){if(h.selectAll(\".shape-label\").remove(),r.label.text||r.label.texttemplate){var p;if(r.label.texttemplate){var d={};if(\"path\"!==r.type){var v=i.getFromId(e,r.xref),g=i.getFromId(e,r.yref);for(var m in c){var y=c[m](r,v,g);void 0!==y&&(d[m]=y)}}p=n.texttemplateStringForShapes(r.label.texttemplate,{},e._fullLayout._d3locale,d)}else p=r.label.text;var x,b,_,w,k={\"data-index\":t},T=r.label.font,M=h.append(\"g\").attr(k).classed(\"shape-label\",!0).append(\"text\").attr({\"data-notex\":1}).classed(\"shape-label-text\",!0).text(p);if(r.path){var A=u(e,r),S=s(A,e);x=1/0,_=1/0,b=-1/0,w=-1/0;for(var E=0;E<S.length;E++)for(var C=0;C<S[E].length;C++)for(var L=S[E][C],P=1;P<L.length;P+=2){var O=L[P],I=L[P+1];x=Math.min(x,O),b=Math.max(b,O),_=Math.min(_,I),w=Math.max(w,I)}}else{var D=i.getFromId(e,r.xref),z=i.getRefType(r.xref),R=i.getFromId(e,r.yref),F=i.getRefType(r.yref),B=l.getDataToPixel(e,D,!1,z),N=l.getDataToPixel(e,R,!0,F);x=B(r.x0),b=B(r.x1),_=N(r.y0),w=N(r.y1)}var j=r.label.textangle;\"auto\"===j&&(j=\"line\"===r.type?function(e,t,r,n){var i,a;return a=Math.abs(r-e),i=r>=e?t-n:n-t,-180/Math.PI*Math.atan2(i,a)}(x,_,b,w):0),M.call((function(t){return t.call(o.font,T).attr({}),a.convertToTspans(t,e),t}));var U=function(e,t,r,n,i,a,o){var s,l,u,c,h=i.label.textposition,p=i.label.textangle,d=i.label.padding,v=i.type,g=Math.PI/180*a,m=Math.sin(g),y=Math.cos(g),x=i.label.xanchor,b=i.label.yanchor;if(\"line\"===v){\"start\"===h?(s=e,l=t):\"end\"===h?(s=r,l=n):(s=(e+r)/2,l=(t+n)/2),\"auto\"===x&&(x=\"start\"===h?\"auto\"===p?r>e?\"left\":r<e?\"right\":\"center\":r>e?\"right\":r<e?\"left\":\"center\":\"end\"===h?\"auto\"===p?r>e?\"right\":r<e?\"left\":\"center\":r>e?\"left\":r<e?\"right\":\"center\":\"center\");var _={bottom:-1,middle:0,top:1};if(\"auto\"===p){var w=_[b];u=-d*m*w,c=d*y*w}else u=d*{left:1,center:0,right:-1}[x],c=d*_[b];s+=u,l+=c}else u=d+3,-1!==h.indexOf(\"right\")?(s=Math.max(e,r)-u,\"auto\"===x&&(x=\"right\")):-1!==h.indexOf(\"left\")?(s=Math.min(e,r)+u,\"auto\"===x&&(x=\"left\")):(s=(e+r)/2,\"auto\"===x&&(x=\"center\")),l=-1!==h.indexOf(\"top\")?Math.min(t,n):-1!==h.indexOf(\"bottom\")?Math.max(t,n):(t+n)/2,c=d,\"bottom\"===b?l-=c:\"top\"===b&&(l+=c);var k=f[b],T=i.label.font.size,M=o.height;return{textx:s+(M*k-T)*m,texty:l+-(M*k-T)*y,xanchor:x}}(x,_,b,w,r,j,o.bBox(M.node())),V=U.textx,H=U.texty,q=U.xanchor;M.attr({\"text-anchor\":{left:\"start\",center:\"middle\",right:\"end\"}[q],y:H,x:V,transform:\"rotate(\"+j+\",\"+V+\",\"+H+\")\"}).call(a.positionText,V,H)}}},42359:function(e,t,r){\"use strict\";var n=r(71828).strTranslate,i=r(28569),a=r(64505),o=a.drawMode,s=a.selectMode,l=r(73972),u=r(7901),c=r(89995),f=c.i000,h=c.i090,p=c.i180,d=c.i270,v=r(51873).clearOutlineControllers,g=r(60165),m=g.pointsOnRectangle,y=g.pointsOnEllipse,x=g.writePaths,b=r(90551).newShapes,_=r(90551).createShapeObj,w=r(35855),k=r(48100);function T(e,t){var r,n,i,a=e[t][1],o=e[t][2],s=e.length;return n=e[r=(t+1)%s][1],i=e[r][2],n===a&&i===o&&(n=e[r=(t+2)%s][1],i=e[r][2]),[r,n,i]}e.exports=function e(t,r,a,c){c||(c=0);var g=a.gd;function M(){e(t,r,a,c++),(y(t[0])||a.hasText)&&A({redrawing:!0})}function A(e){var t={};void 0!==a.isActiveShape&&(a.isActiveShape=!1,t=b(r,a)),void 0!==a.isActiveSelection&&(a.isActiveSelection=!1,t=w(r,a),g._fullLayout._reselect=!0),Object.keys(t).length&&l.call((e||{}).redrawing?\"relayout\":\"_guiRelayout\",g,t)}var S,E,C,L,P,O=g._fullLayout._zoomlayer,I=a.dragmode,D=o(I),z=s(I);if((D||z)&&(g._fullLayout._outlining=!0),v(g),r.attr(\"d\",x(t)),c||!a.isActiveShape&&!a.isActiveSelection||(P=function(e,t){for(var r=0;r<t.length;r++){var n=t[r];e[r]=[];for(var i=0;i<n.length;i++){e[r][i]=[];for(var a=0;a<n[i].length;a++)e[r][i][a]=n[i][a]}}return e}([],t),function(e){S=[];for(var r=0;r<t.length;r++){var o=t[r],s=m(o),l=!s&&y(o);S[r]=[];for(var c=o.length,v=0;v<c;v++)if(\"Z\"!==o[v][0]&&(!l||v===f||v===h||v===p||v===d)){var x,b=s&&a.isActiveSelection;b&&(x=T(o,v));var _=o[v][1],w=o[v][2],k=e.append(b?\"rect\":\"circle\").attr(\"data-i\",r).attr(\"data-j\",v).style({fill:u.background,stroke:u.defaultLine,\"stroke-width\":1,\"shape-rendering\":\"crispEdges\"});if(b){var M=x[1]-_,A=x[2]-w,E=A?5:Math.max(Math.min(25,Math.abs(M)-5),5),C=M?5:Math.max(Math.min(25,Math.abs(A)-5),5);k.classed(A?\"cursor-ew-resize\":\"cursor-ns-resize\",!0).attr(\"width\",E).attr(\"height\",C).attr(\"x\",_-E/2).attr(\"y\",w-C/2).attr(\"transform\",n(M/2,A/2))}else k.classed(\"cursor-grab\",!0).attr(\"r\",5).attr(\"cx\",_).attr(\"cy\",w);S[r][v]={element:k.node(),gd:g,prepFn:B,doneFn:j,clickFn:U},i.init(S[r][v])}}}(O.append(\"g\").attr(\"class\",\"outline-controllers\")),function(){if(E=[],t.length){E[0]={element:r[0][0],gd:g,prepFn:H,doneFn:q,clickFn:G},i.init(E[0])}}()),D&&a.hasText){var R=O.select(\".label-temp\"),F=_(r,a,a.dragmode);k(g,\"label-temp\",F,R)}function B(e){C=+e.srcElement.getAttribute(\"data-i\"),L=+e.srcElement.getAttribute(\"data-j\"),S[C][L].moveFn=N}function N(e,r){if(t.length){var n=P[C][L][1],i=P[C][L][2],o=t[C],s=o.length;if(m(o)){var l=e,u=r;a.isActiveSelection&&(T(o,L)[1]===o[L][1]?u=0:l=0);for(var c=0;c<s;c++)if(c!==L){var f=o[c];f[1]===o[L][1]&&(f[1]=n+l),f[2]===o[L][2]&&(f[2]=i+u)}if(o[L][1]=n+l,o[L][2]=i+u,!m(o))for(var h=0;h<s;h++)for(var p=0;p<o[h].length;p++)o[h][p]=P[C][h][p]}else o[L][1]=n+e,o[L][2]=i+r;M()}}function j(){A()}function U(e,r){if(2===e){C=+r.srcElement.getAttribute(\"data-i\"),L=+r.srcElement.getAttribute(\"data-j\");var n=t[C];m(n)||y(n)||function(){if(t.length&&t[C]&&t[C].length){for(var e=[],r=0;r<t[C].length;r++)r!==L&&e.push(t[C][r]);e.length>1&&(2!==e.length||\"Z\"!==e[1][0])&&(0===L&&(e[0][0]=\"M\"),t[C]=e,M(),A())}}()}}function V(e,r){!function(e,r){if(t.length)for(var n=0;n<t.length;n++)for(var i=0;i<t[n].length;i++)for(var a=0;a+2<t[n][i].length;a+=2)t[n][i][a+1]=P[n][i][a+1]+e,t[n][i][a+2]=P[n][i][a+2]+r}(e,r),M()}function H(e){(C=+e.srcElement.getAttribute(\"data-i\"))||(C=0),E[C].moveFn=V}function q(){A()}function G(e){2===e&&function(e){if(s(e._fullLayout.dragmode)){v(e);var t=e._fullLayout._activeSelectionIndex,r=(e.layout||{}).selections||[];if(t<r.length){for(var n=[],i=0;i<r.length;i++)i!==t&&n.push(r[i]);delete e._fullLayout._activeSelectionIndex;var a=e._fullLayout.selections[t];e._fullLayout._deselect={xref:a.xref,yref:a.yref},l.call(\"_guiRelayout\",e,{selections:n})}}}(g)}}},34031:function(e,t,r){\"use strict\";var n=r(39898),i=r(73972),a=r(71828),o=r(89298),s=r(60165).readPaths,l=r(42359),u=r(48100),c=r(51873).clearOutlineControllers,f=r(7901),h=r(91424),p=r(44467).arrayEditor,d=r(28569),v=r(6964),g=r(21459),m=r(30477),y=m.getPathString;function x(e){var t=e._fullLayout;for(var r in t._shapeUpperLayer.selectAll(\"path\").remove(),t._shapeLowerLayer.selectAll(\"path\").remove(),t._shapeUpperLayer.selectAll(\"text\").remove(),t._shapeLowerLayer.selectAll(\"text\").remove(),t._plots){var n=t._plots[r].shapelayer;n&&(n.selectAll(\"path\").remove(),n.selectAll(\"text\").remove())}for(var i=0;i<t.shapes.length;i++)!0===t.shapes[i].visible&&w(e,i)}function b(e){return!!e._fullLayout._outlining}function _(e){return!e._context.edits.shapePosition}function w(e,t){e._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"'+t+'\"]').remove();var r=m.makeShapesOptionsAndPlotinfo(e,t),c=r.options,w=r.plotinfo;function A(r){var A=y(e,c),S={\"data-index\":t,\"fill-rule\":c.fillrule,d:A},E=c.opacity,C=c.fillcolor,L=c.line.width?c.line.color:\"rgba(0,0,0,0)\",P=c.line.width,O=c.line.dash;P||!0!==c.editable||(P=5,O=\"solid\");var I=\"Z\"!==A[A.length-1],D=_(e)&&c.editable&&e._fullLayout._activeShapeIndex===t;D&&(C=I?\"rgba(0,0,0,0)\":e._fullLayout.activeshape.fillcolor,E=e._fullLayout.activeshape.opacity);var z,R=r.append(\"g\").classed(\"shape-group\",!0).attr({\"data-index\":t}),F=R.append(\"path\").attr(S).style(\"opacity\",E).call(f.stroke,L).call(f.fill,C).call(h.dashLine,O,P);if(k(R,e,c),u(e,t,c,R),(D||e._context.edits.shapePosition)&&(z=p(e.layout,\"shapes\",c)),D){F.style({cursor:\"move\"});var B={element:F.node(),plotinfo:w,gd:e,editHelpers:z,hasText:c.label.text||c.label.texttemplate,isActiveShape:!0},N=s(A,e);l(N,F,B)}else e._context.edits.shapePosition?function(e,t,r,s,l,c){var f,p,x,_,w,M,A,S,E,C,L,P,O,I,D,z,R=10,F=10,B=\"pixel\"===r.xsizemode,N=\"pixel\"===r.ysizemode,j=\"line\"===r.type,U=\"path\"===r.type,V=c.modifyItem,H=n.select(t.node().parentNode),q=o.getFromId(e,r.xref),G=o.getRefType(r.xref),Y=o.getFromId(e,r.yref),W=o.getRefType(r.yref),Z=m.getDataToPixel(e,q,!1,G),X=m.getDataToPixel(e,Y,!0,W),K=m.getPixelToData(e,q,!1,G),J=m.getPixelToData(e,Y,!0,W),$=j?function(){var e=10,n=Math.max(r.line.width,e),i=l.append(\"g\").attr(\"data-index\",s).attr(\"drag-helper\",!0);i.append(\"path\").attr(\"d\",t.attr(\"d\")).style({cursor:\"move\",\"stroke-width\":n,\"stroke-opacity\":\"0\"});var a={\"fill-opacity\":\"0\"},o=Math.max(n/2,e);return i.append(\"circle\").attr({\"data-line-point\":\"start-point\",cx:B?Z(r.xanchor)+r.x0:Z(r.x0),cy:N?X(r.yanchor)-r.y0:X(r.y0),r:o}).style(a).classed(\"cursor-grab\",!0),i.append(\"circle\").attr({\"data-line-point\":\"end-point\",cx:B?Z(r.xanchor)+r.x1:Z(r.x1),cy:N?X(r.yanchor)-r.y1:X(r.y1),r:o}).style(a).classed(\"cursor-grab\",!0),i}():t,Q={element:$.node(),gd:e,prepFn:function(n){b(e)||(B&&(w=Z(r.xanchor)),N&&(M=X(r.yanchor)),\"path\"===r.type?D=r.path:(f=B?r.x0:Z(r.x0),p=N?r.y0:X(r.y0),x=B?r.x1:Z(r.x1),_=N?r.y1:X(r.y1)),f<x?(E=f,O=\"x0\",C=x,I=\"x1\"):(E=x,O=\"x1\",C=f,I=\"x0\"),!N&&p<_||N&&p>_?(A=p,L=\"y0\",S=_,P=\"y1\"):(A=_,L=\"y1\",S=p,P=\"y0\"),ee(n),ne(l,r),function(e,t,r){var n=t.xref,i=t.yref,a=o.getFromId(r,n),s=o.getFromId(r,i),l=\"\";\"paper\"===n||a.autorange||(l+=n),\"paper\"===i||s.autorange||(l+=i),h.setClipUrl(e,l?\"clip\"+r._fullLayout._uid+l:null,r)}(t,r,e),Q.moveFn=\"move\"===z?te:re,Q.altKey=n.altKey)},doneFn:function(){b(e)||(v(t),ie(l),k(t,e,r),i.call(\"_guiRelayout\",e,c.getUpdateObj()))},clickFn:function(){b(e)||ie(l)}};function ee(r){if(b(e))z=null;else if(j)z=\"path\"===r.target.tagName?\"move\":\"start-point\"===r.target.attributes[\"data-line-point\"].value?\"resize-over-start-point\":\"resize-over-end-point\";else{var n=Q.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!U&&i>R&&a>F&&!r.shiftKey?d.getCursor(o/i,1-s/a):\"move\";v(t,l),z=l.split(\"-\")[0]}}function te(n,i){if(\"path\"===r.type){var a=function(e){return e},o=a,c=a;B?V(\"xanchor\",r.xanchor=K(w+n)):(o=function(e){return K(Z(e)+n)},q&&\"date\"===q.type&&(o=m.encodeDate(o))),N?V(\"yanchor\",r.yanchor=J(M+i)):(c=function(e){return J(X(e)+i)},Y&&\"date\"===Y.type&&(c=m.encodeDate(c))),V(\"path\",r.path=T(D,o,c))}else B?V(\"xanchor\",r.xanchor=K(w+n)):(V(\"x0\",r.x0=K(f+n)),V(\"x1\",r.x1=K(x+n))),N?V(\"yanchor\",r.yanchor=J(M+i)):(V(\"y0\",r.y0=J(p+i)),V(\"y1\",r.y1=J(_+i)));t.attr(\"d\",y(e,r)),ne(l,r),u(e,s,r,H)}function re(n,i){if(U){var a=function(e){return e},o=a,c=a;B?V(\"xanchor\",r.xanchor=K(w+n)):(o=function(e){return K(Z(e)+n)},q&&\"date\"===q.type&&(o=m.encodeDate(o))),N?V(\"yanchor\",r.yanchor=J(M+i)):(c=function(e){return J(X(e)+i)},Y&&\"date\"===Y.type&&(c=m.encodeDate(c))),V(\"path\",r.path=T(D,o,c))}else if(j){if(\"resize-over-start-point\"===z){var h=f+n,d=N?p-i:p+i;V(\"x0\",r.x0=B?h:K(h)),V(\"y0\",r.y0=N?d:J(d))}else if(\"resize-over-end-point\"===z){var v=x+n,g=N?_-i:_+i;V(\"x1\",r.x1=B?v:K(v)),V(\"y1\",r.y1=N?g:J(g))}}else{var b=function(e){return-1!==z.indexOf(e)},k=b(\"n\"),G=b(\"s\"),W=b(\"w\"),$=b(\"e\"),Q=k?A+i:A,ee=G?S+i:S,te=W?E+n:E,re=$?C+n:C;N&&(k&&(Q=A-i),G&&(ee=S-i)),(!N&&ee-Q>F||N&&Q-ee>F)&&(V(L,r[L]=N?Q:J(Q)),V(P,r[P]=N?ee:J(ee))),re-te>R&&(V(O,r[O]=B?te:K(te)),V(I,r[I]=B?re:K(re)))}t.attr(\"d\",y(e,r)),ne(l,r),u(e,s,r,H)}function ne(e,t){(B||N)&&function(){var r=\"path\"!==t.type,n=e.selectAll(\".visual-cue\").data([0]);n.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":1}).classed(\"visual-cue\",!0);var i=Z(B?t.xanchor:a.midRange(r?[t.x0,t.x1]:m.extractPathCoords(t.path,g.paramIsX))),o=X(N?t.yanchor:a.midRange(r?[t.y0,t.y1]:m.extractPathCoords(t.path,g.paramIsY)));if(i=m.roundPositionForSharpStrokeRendering(i,1),o=m.roundPositionForSharpStrokeRendering(o,1),B&&N){var s=\"M\"+(i-1-1)+\",\"+(o-1-1)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";n.attr(\"d\",s)}else if(B){var l=\"M\"+(i-1-1)+\",\"+(o-9-1)+\"v18 h2 v-18 Z\";n.attr(\"d\",l)}else{var u=\"M\"+(i-9-1)+\",\"+(o-1-1)+\"h18 v2 h-18 Z\";n.attr(\"d\",u)}}()}function ie(e){e.selectAll(\".visual-cue\").remove()}d.init(Q),$.node().onmousemove=ee}(e,F,c,t,r,z):!0===c.editable&&F.style(\"pointer-events\",I||f.opacity(C)*E<=.5?\"stroke\":\"all\");F.node().addEventListener(\"click\",(function(){return function(e,t){if(_(e)){var r=+t.node().getAttribute(\"data-index\");if(r>=0){if(r===e._fullLayout._activeShapeIndex)return void M(e);e._fullLayout._activeShapeIndex=r,e._fullLayout._deactivateShape=M,x(e)}}}(e,F)}))}c._input&&!0===c.visible&&(\"below\"!==c.layer?A(e._fullLayout._shapeUpperLayer):\"paper\"===c.xref||\"paper\"===c.yref?A(e._fullLayout._shapeLowerLayer):w._hadPlotinfo?A((w.mainplotinfo||w).shapelayer):A(e._fullLayout._shapeLowerLayer))}function k(e,t,r){var n=(r.xref+r.yref).replace(/paper/g,\"\").replace(/[xyz][1-9]* *domain/g,\"\");h.setClipUrl(e,n?\"clip\"+t._fullLayout._uid+n:null,t)}function T(e,t,r){return e.replace(g.segmentRE,(function(e){var n=0,i=e.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+e.substr(1).replace(g.paramRE,(function(e){return n>=s||(a[n]?e=t(e):o[n]&&(e=r(e)),n++),e}))}))}function M(e){_(e)&&e._fullLayout._activeShapeIndex>=0&&(c(e),delete e._fullLayout._activeShapeIndex,x(e))}e.exports={draw:x,drawOne:w,eraseActiveShape:function(e){if(_(e)){c(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t<r.length){for(var n=[],a=0;a<r.length;a++)a!==t&&n.push(r[a]);return delete e._fullLayout._activeShapeIndex,i.call(\"_guiRelayout\",e,{shapes:n})}}},drawLabel:u}},29241:function(e,t,r){\"use strict\";var n=r(30962).overrideAll,i=r(9012),a=r(41940),o=r(79952).P,s=r(1426).extendFlat,l=r(5386).R,u=r(37281);e.exports=n({newshape:{visible:s({},i.visible,{}),showlegend:{valType:\"boolean\",dflt:!1},legend:s({},i.legend,{}),legendgroup:s({},i.legendgroup,{}),legendgrouptitle:{text:s({},i.legendgrouptitle.text,{}),font:a({})},legendrank:s({},i.legendrank,{}),legendwidth:s({},i.legendwidth,{}),line:{color:{valType:\"color\"},width:{valType:\"number\",min:0,dflt:4},dash:s({},o,{dflt:\"solid\"})},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\"},drawdirection:{valType:\"enumerated\",values:[\"ortho\",\"horizontal\",\"vertical\",\"diagonal\"],dflt:\"diagonal\"},name:s({},i.name,{}),label:{text:{valType:\"string\",dflt:\"\"},texttemplate:l({newshape:!0},{keys:Object.keys(u)}),font:a({}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\",\"start\",\"middle\",\"end\"]},textangle:{valType:\"angle\",dflt:\"auto\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},padding:{valType:\"number\",dflt:3,min:0}}},activeshape:{fillcolor:{valType:\"color\",dflt:\"rgb(255,0,255)\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5}}},\"none\",\"from-root\")},89995:function(e){\"use strict\";e.exports={CIRCLE_SIDES:32,i000:0,i090:8,i180:16,i270:24,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}},45547:function(e,t,r){\"use strict\";var n=r(7901),i=r(71828);e.exports=function(e,t,r){if(r(\"newshape.visible\"),r(\"newshape.name\"),r(\"newshape.showlegend\"),r(\"newshape.legend\"),r(\"newshape.legendwidth\"),r(\"newshape.legendgroup\"),r(\"newshape.legendgrouptitle.text\"),i.coerceFont(r,\"newshape.legendgrouptitle.font\"),r(\"newshape.legendrank\"),r(\"newshape.drawdirection\"),r(\"newshape.layer\"),r(\"newshape.fillcolor\"),r(\"newshape.fillrule\"),r(\"newshape.opacity\"),r(\"newshape.line.width\")){var a=(e||{}).plot_bgcolor||\"#FFF\";r(\"newshape.line.color\",n.contrast(a)),r(\"newshape.line.dash\")}var o=\"drawline\"===e.dragmode,s=r(\"newshape.label.text\"),l=r(\"newshape.label.texttemplate\");if(s||l){r(\"newshape.label.textangle\");var u=r(\"newshape.label.textposition\",o?\"middle\":\"middle center\");r(\"newshape.label.xanchor\"),r(\"newshape.label.yanchor\",function(e,t){return e?\"bottom\":-1!==t.indexOf(\"top\")?\"top\":-1!==t.indexOf(\"bottom\")?\"bottom\":\"middle\"}(o,u)),r(\"newshape.label.padding\"),i.coerceFont(r,\"newshape.label.font\",t.font)}r(\"activeshape.fillcolor\"),r(\"activeshape.opacity\")}},60165:function(e,t,r){\"use strict\";var n=r(95616),i=r(89995),a=i.CIRCLE_SIDES,o=i.SQRT2,s=r(75549),l=s.p2r,u=s.r2p,c=[0,3,4,5,6,1,2],f=[0,3,4,1,2];function h(e,t){return Math.abs(e-t)<=1e-6}function p(e,t){var r=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(r*r+n*n)}t.writePaths=function(e){var t=e.length;if(!t)return\"M0,0Z\";for(var r=\"\",n=0;n<t;n++)for(var i=e[n].length,a=0;a<i;a++){var o=e[n][a][0];if(\"Z\"===o)r+=\"Z\";else for(var s=e[n][a].length,l=0;l<s;l++){var u=l;\"Q\"===o||\"S\"===o?u=f[l]:\"C\"===o&&(u=c[l]),r+=e[n][a][u],l>0&&l<s-1&&(r+=\",\")}}return r},t.readPaths=function(e,t,r,i){var o,s,c,f=n(e),h=[],p=-1,d=0,v=0,g=function(){s=d,c=v};g();for(var m=0;m<f.length;m++){var y,x,b,_,w=[],k=f[m][0],T=k;switch(k){case\"M\":h[++p]=[],d=+f[m][1],v=+f[m][2],w.push([T,d,v]),g();break;case\"Q\":case\"S\":y=+f[m][1],b=+f[m][2],d=+f[m][3],v=+f[m][4],w.push([T,d,v,y,b]);break;case\"C\":y=+f[m][1],b=+f[m][2],x=+f[m][3],_=+f[m][4],d=+f[m][5],v=+f[m][6],w.push([T,d,v,y,b,x,_]);break;case\"T\":case\"L\":d=+f[m][1],v=+f[m][2],w.push([T,d,v]);break;case\"H\":T=\"L\",d=+f[m][1],w.push([T,d,v]);break;case\"V\":T=\"L\",v=+f[m][1],w.push([T,d,v]);break;case\"A\":T=\"L\";var M=+f[m][1],A=+f[m][2];+f[m][4]||(M=-M,A=-A);var S=d-M,E=v;for(o=1;o<=a/2;o++){var C=2*Math.PI*o/a;w.push([T,S+M*Math.cos(C),E+A*Math.sin(C)])}break;case\"Z\":d===s&&v===c||(d=s,v=c,w.push([T,d,v]))}for(var L=(r||{}).domain,P=t._fullLayout._size,O=r&&\"pixel\"===r.xsizemode,I=r&&\"pixel\"===r.ysizemode,D=!1===i,z=0;z<w.length;z++){for(o=0;o+2<7;o+=2){var R=w[z][o+1],F=w[z][o+2];void 0!==R&&void 0!==F&&(d=R,v=F,r&&(r.xaxis&&r.xaxis.p2r?(D&&(R-=r.xaxis._offset),R=O?u(r.xaxis,r.xanchor)+R:l(r.xaxis,R)):(D&&(R-=P.l),L?R=L.x[0]+R/P.w:R/=P.w),r.yaxis&&r.yaxis.p2r?(D&&(F-=r.yaxis._offset),F=I?u(r.yaxis,r.yanchor)-F:l(r.yaxis,F)):(D&&(F-=P.t),F=L?L.y[1]-F/P.h:1-F/P.h)),w[z][o+1]=R,w[z][o+2]=F)}h[p].push(w[z].slice())}}return h},t.pointsOnRectangle=function(e){if(5!==e.length)return!1;for(var t=1;t<3;t++){if(!h(e[0][t]-e[1][t],e[3][t]-e[2][t]))return!1;if(!h(e[0][t]-e[3][t],e[1][t]-e[2][t]))return!1}return!(!h(e[0][1],e[1][1])&&!h(e[0][1],e[3][1])||!(p(e[0],e[1])*p(e[0],e[3])))},t.pointsOnEllipse=function(e){var t=e.length;if(t!==a+1)return!1;t=a;for(var r=0;r<t;r++){var n=(2*t-r)%t,i=(t/2+n)%t,o=(t/2+r)%t;if(!h(p(e[r],e[o]),p(e[n],e[i])))return!1}return!0},t.handleEllipse=function(e,r,n){if(!e)return[r,n];var i=t.ellipseOver({x0:r[0],y0:r[1],x1:n[0],y1:n[1]}),s=(i.x1+i.x0)/2,l=(i.y1+i.y0)/2,u=(i.x1-i.x0)/2,c=(i.y1-i.y0)/2;u||(u=c/=o),c||(c=u/=o);for(var f=[],h=0;h<a;h++){var p=2*h*Math.PI/a;f.push([s+u*Math.cos(p),l+c*Math.sin(p)])}return f},t.ellipseOver=function(e){var t=e.x0,r=e.y0,n=e.x1,i=e.y1,a=n-t,s=i-r,l=((t-=a)+n)/2,u=((r-=s)+i)/2;return{x0:l-(a*=o),y0:u-(s*=o),x1:l+a,y1:u+s}},t.fixDatesForPaths=function(e,t,r){var n=\"date\"===t.type,i=\"date\"===r.type;if(!n&&!i)return e;for(var a=0;a<e.length;a++)for(var o=0;o<e[a].length;o++)for(var s=0;s+2<e[a][o].length;s+=2)n&&(e[a][o][s+1]=e[a][o][s+1].replace(\" \",\"_\")),i&&(e[a][o][s+2]=e[a][o][s+2].replace(\" \",\"_\"));return e}},90551:function(e,t,r){\"use strict\";var n=r(64505),i=n.drawMode,a=n.openMode,o=r(89995),s=o.i000,l=o.i090,u=o.i180,c=o.i270,f=o.cos45,h=o.sin45,p=r(75549),d=p.p2r,v=p.r2p,g=r(51873).clearOutline,m=r(60165),y=m.readPaths,x=m.writePaths,b=m.ellipseOver,_=m.fixDatesForPaths;function w(e,t,r){var n,i=e[0][0],o=t.gd,p=i.getAttribute(\"d\"),g=o._fullLayout.newshape,m=t.plotinfo,w=t.isActiveShape,k=m.xaxis,T=m.yaxis,M=!!m.domain||!m.xaxis,A=!!m.domain||!m.yaxis,S=a(r),E=y(p,o,m,w),C={editable:!0,visible:g.visible,name:g.name,showlegend:g.showlegend,legend:g.legend,legendwidth:g.legendwidth,legendgroup:g.legendgroup,legendgrouptitle:{text:g.legendgrouptitle.text,font:g.legendgrouptitle.font},legendrank:g.legendrank,label:g.label,xref:M?\"paper\":k._id,yref:A?\"paper\":T._id,layer:g.layer,opacity:g.opacity,line:{color:g.line.color,width:g.line.width,dash:g.line.dash}};if(S||(C.fillcolor=g.fillcolor,C.fillrule=g.fillrule),1===E.length&&(n=E[0]),n&&5===n.length&&\"drawrect\"===r)C.type=\"rect\",C.x0=n[0][1],C.y0=n[0][2],C.x1=n[2][1],C.y1=n[2][2];else if(n&&\"drawline\"===r)C.type=\"line\",C.x0=n[0][1],C.y0=n[0][2],C.x1=n[1][1],C.y1=n[1][2];else if(n&&\"drawcircle\"===r){C.type=\"circle\";var L=n[s][1],P=n[l][1],O=n[u][1],I=n[c][1],D=n[s][2],z=n[l][2],R=n[u][2],F=n[c][2],B=m.xaxis&&(\"date\"===m.xaxis.type||\"log\"===m.xaxis.type),N=m.yaxis&&(\"date\"===m.yaxis.type||\"log\"===m.yaxis.type);B&&(L=v(m.xaxis,L),P=v(m.xaxis,P),O=v(m.xaxis,O),I=v(m.xaxis,I)),N&&(D=v(m.yaxis,D),z=v(m.yaxis,z),R=v(m.yaxis,R),F=v(m.yaxis,F));var j=(P+I)/2,U=(D+R)/2,V=b({x0:j,y0:U,x1:j+(I-P+O-L)/2*f,y1:U+(F-z+R-D)/2*h});B&&(V.x0=d(m.xaxis,V.x0),V.x1=d(m.xaxis,V.x1)),N&&(V.y0=d(m.yaxis,V.y0),V.y1=d(m.yaxis,V.y1)),C.x0=V.x0,C.y0=V.y0,C.x1=V.x1,C.y1=V.y1}else C.type=\"path\",k&&T&&_(E,k,T),C.path=x(E),n=null;return C}e.exports={newShapes:function(e,t){if(e.length&&e[0][0]){var r=t.gd,n=t.isActiveShape,a=t.dragmode,o=(r.layout||{}).shapes||[];if(!i(a)&&void 0!==n){var s=r._fullLayout._activeShapeIndex;if(s<o.length)switch(r._fullLayout.shapes[s].type){case\"rect\":a=\"drawrect\";break;case\"circle\":a=\"drawcircle\";break;case\"line\":a=\"drawline\";break;case\"path\":var l=o[s].path||\"\";a=\"Z\"===l[l.length-1]?\"drawclosedpath\":\"drawopenpath\"}}var u=w(e,t,a);g(r);for(var c=t.editHelpers,f=(c||{}).modifyItem,h=[],p=0;p<o.length;p++){var d=r._fullLayout.shapes[p];if(h[p]=d._input,void 0!==n&&p===r._fullLayout._activeShapeIndex){var v=u;switch(d.type){case\"line\":case\"rect\":case\"circle\":f(\"x0\",v.x0),f(\"x1\",v.x1),f(\"y0\",v.y0),f(\"y1\",v.y1);break;case\"path\":f(\"path\",v.path)}}}return void 0===n?(h.push(u),h):c?c.getUpdateObj():{}}},createShapeObj:w}},51873:function(e){\"use strict\";e.exports={clearOutlineControllers:function(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".outline-controllers\").remove()},clearOutline:function(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".select-outline\").remove(),e._fullLayout._outlining=!1}}},30477:function(e,t,r){\"use strict\";var n=r(21459),i=r(71828),a=r(89298);t.rangeToShapePosition=function(e){return\"log\"===e.type?e.r2d:function(e){return e}},t.shapePositionToRange=function(e){return\"log\"===e.type?e.d2r:function(e){return e}},t.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace(\"_\",\" \")),e(t)}},t.encodeDate=function(e){return function(t){return e(t).replace(\" \",\"_\")}},t.extractPathCoords=function(e,t,r){var a=[];return e.match(n.segmentRE).forEach((function(e){var o=t[e.charAt(0)].drawn;if(void 0!==o){var s=e.substr(1).match(n.paramRE);if(s&&!(s.length<o)){var l=s[o],u=r?l:i.cleanNumber(l);a.push(u)}}})),a},t.getDataToPixel=function(e,r,n,i){var a,o=e._fullLayout._size;if(r)if(\"domain\"===i)a=function(e){return r._length*(n?1-e:e)+r._offset};else{var s=t.shapePositionToRange(r);a=function(e){return r._offset+r.r2p(s(e,!0))},\"date\"===r.type&&(a=t.decodeDate(a))}else a=n?function(e){return o.t+o.h*(1-e)}:function(e){return o.l+o.w*e};return a},t.getPixelToData=function(e,r,n,i){var a,o=e._fullLayout._size;if(r)if(\"domain\"===i)a=function(e){var t=(e-r._offset)/r._length;return n?1-t:t};else{var s=t.rangeToShapePosition(r);a=function(e){return s(r.p2r(e-r._offset))}}else a=n?function(e){return 1-(e-o.t)/o.h}:function(e){return(e-o.l)/o.w};return a},t.roundPositionForSharpStrokeRendering=function(e,t){var r=1===Math.round(t%2),n=Math.round(e);return r?n+.5:n},t.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},n=e._fullLayout._plots[r.xref+r.yref];return n?n._hadPlotinfo=!0:(n={},r.xref&&\"paper\"!==r.xref&&(n.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&\"paper\"!==r.yref&&(n.yaxis=e._fullLayout[r.yref+\"axis\"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}},t.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},n=e._fullLayout._plots[r.xref+r.yref];return n?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&(n.yaxis=e._fullLayout[r.yref+\"axis\"])),{options:r,plotinfo:n}},t.getPathString=function(e,r){var o,s,l,u,c,f,h,p,d=r.type,v=a.getRefType(r.xref),g=a.getRefType(r.yref),m=a.getFromId(e,r.xref),y=a.getFromId(e,r.yref),x=e._fullLayout._size;if(m?\"domain\"===v?s=function(e){return m._offset+m._length*e}:(o=t.shapePositionToRange(m),s=function(e){return m._offset+m.r2p(o(e,!0))}):s=function(e){return x.l+x.w*e},y?\"domain\"===g?u=function(e){return y._offset+y._length*(1-e)}:(l=t.shapePositionToRange(y),u=function(e){return y._offset+y.r2p(l(e,!0))}):u=function(e){return x.t+x.h*(1-e)},\"path\"===d)return m&&\"date\"===m.type&&(s=t.decodeDate(s)),y&&\"date\"===y.type&&(u=t.decodeDate(u)),function(e,t,r){var a=e.path,o=e.xsizemode,s=e.ysizemode,l=e.xanchor,u=e.yanchor;return a.replace(n.segmentRE,(function(e){var a=0,c=e.charAt(0),f=n.paramIsX[c],h=n.paramIsY[c],p=n.numParams[c],d=e.substr(1).replace(n.paramRE,(function(e){return f[a]?e=\"pixel\"===o?t(l)+Number(e):t(e):h[a]&&(e=\"pixel\"===s?r(u)-Number(e):r(e)),++a>p&&(e=\"X\"),e}));return a>p&&(d=d.replace(/[\\s,]*X.*/,\"\"),i.log(\"Ignoring extra params in segment \"+e)),c+d}))}(r,s,u);if(\"pixel\"===r.xsizemode){var b=s(r.xanchor);c=b+r.x0,f=b+r.x1}else c=s(r.x0),f=s(r.x1);if(\"pixel\"===r.ysizemode){var _=u(r.yanchor);h=_-r.y0,p=_-r.y1}else h=u(r.y0),p=u(r.y1);if(\"line\"===d)return\"M\"+c+\",\"+h+\"L\"+f+\",\"+p;if(\"rect\"===d)return\"M\"+c+\",\"+h+\"H\"+f+\"V\"+p+\"H\"+c+\"Z\";var w=(c+f)/2,k=(h+p)/2,T=Math.abs(w-c),M=Math.abs(k-h),A=\"A\"+T+\",\"+M,S=w+T+\",\"+k;return\"M\"+S+A+\" 0 1,1 \"+w+\",\"+(k-M)+A+\" 0 0,1 \"+S+\"Z\"}},89853:function(e,t,r){\"use strict\";var n=r(34031);e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:r(89827),supplyLayoutDefaults:r(84726),supplyDrawNewShapeDefaults:r(45547),includeBasePlot:r(76325)(\"shapes\"),calcAutorange:r(5627),draw:n.draw,drawOne:n.drawOne}},37281:function(e){\"use strict\";function t(e,t){return t?t.d2l(e):e}function r(e,t){return t?t.l2d(e):e}function n(e,r){return t(e.x1,r)-t(e.x0,r)}function i(e,r,n){return t(e.y1,n)-t(e.y0,n)}e.exports={x0:function(e){return e.x0},x1:function(e){return e.x1},y0:function(e){return e.y0},y1:function(e){return e.y1},slope:function(e,t,r){return\"line\"!==e.type?void 0:i(e,0,r)/n(e,t)},dx:n,dy:i,width:function(e,t){return Math.abs(n(e,t))},height:function(e,t,r){return Math.abs(i(e,0,r))},length:function(e,t,r){return\"line\"!==e.type?void 0:Math.sqrt(Math.pow(n(e,t),2)+Math.pow(i(e,0,r),2))},xcenter:function(e,n){return r((t(e.x1,n)+t(e.x0,n))/2,n)},ycenter:function(e,n,i){return r((t(e.y1,i)+t(e.y0,i))/2,i)}}},75067:function(e,t,r){\"use strict\";var n=r(41940),i=r(35025),a=r(1426).extendDeepAll,o=r(30962).overrideAll,s=r(85594),l=r(44467).templatedArray,u=r(98292),c=l(\"step\",{visible:{valType:\"boolean\",dflt:!0},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\"},value:{valType:\"string\"},execute:{valType:\"boolean\",dflt:!0}});e.exports=o(l(\"slider\",{visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:c,lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",min:-2,max:3,dflt:0},pad:a(i({editType:\"arraydraw\"}),{},{t:{dflt:20}}),xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3,dflt:0},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},transition:{duration:{valType:\"number\",min:0,dflt:150},easing:{valType:\"enumerated\",values:s.transition.easing.values,dflt:\"cubic-in-out\"}},currentvalue:{visible:{valType:\"boolean\",dflt:!0},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},offset:{valType:\"number\",dflt:10},prefix:{valType:\"string\"},suffix:{valType:\"string\"},font:n({})},font:n({}),activebgcolor:{valType:\"color\",dflt:u.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:u.railBgColor},bordercolor:{valType:\"color\",dflt:u.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:u.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:u.tickLength},tickcolor:{valType:\"color\",dflt:u.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:u.minorTickLength}}),\"arraydraw\",\"from-root\")},98292:function(e){\"use strict\";e.exports={name:\"sliders\",containerClassName:\"slider-container\",groupClassName:\"slider-group\",inputAreaClass:\"slider-input-area\",railRectClass:\"slider-rail-rect\",railTouchRectClass:\"slider-rail-touch-rect\",gripRectClass:\"slider-grip-rect\",tickRectClass:\"slider-tick-rect\",inputProxyClass:\"slider-input-proxy\",labelsClass:\"slider-labels\",labelGroupClass:\"slider-label-group\",labelClass:\"slider-label\",currentValueClass:\"slider-current-value\",railHeight:5,menuIndexAttrName:\"slider-active-index\",autoMarginIdRoot:\"slider-\",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:\"#bec8d9\",railBgColor:\"#f8fafc\",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:\"#bec8d9\",gripBgColor:\"#f6f8fa\",gripBgActiveColor:\"#dbdde0\",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:\"#333\",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:\"#333\",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},12343:function(e,t,r){\"use strict\";var n=r(71828),i=r(85501),a=r(75067),o=r(98292).name,s=a.steps;function l(e,t,r){function o(r,i){return n.coerce(e,t,a,r,i)}for(var s=i(e,t,{name:\"steps\",handleItemDefaults:u}),l=0,c=0;c<s.length;c++)s[c].visible&&l++;if(l<2?t.visible=!1:o(\"visible\")){t._stepCount=l;var f=t._visibleSteps=n.filterVisible(s);(s[o(\"active\")]||{}).visible||(t.active=f[0]._index),o(\"x\"),o(\"y\"),n.noneOrAll(e,t,[\"x\",\"y\"]),o(\"xanchor\"),o(\"yanchor\"),o(\"len\"),o(\"lenmode\"),o(\"pad.t\"),o(\"pad.r\"),o(\"pad.b\"),o(\"pad.l\"),n.coerceFont(o,\"font\",r.font),o(\"currentvalue.visible\")&&(o(\"currentvalue.xanchor\"),o(\"currentvalue.prefix\"),o(\"currentvalue.suffix\"),o(\"currentvalue.offset\"),n.coerceFont(o,\"currentvalue.font\",t.font)),o(\"transition.duration\"),o(\"transition.easing\"),o(\"bgcolor\"),o(\"activebgcolor\"),o(\"bordercolor\"),o(\"borderwidth\"),o(\"ticklen\"),o(\"tickwidth\"),o(\"tickcolor\"),o(\"minorticklen\")}}function u(e,t){function r(r,i){return n.coerce(e,t,s,r,i)}if(\"skip\"===e.method||Array.isArray(e.args)?r(\"visible\"):t.visible=!1){r(\"method\"),r(\"args\");var i=r(\"label\",\"step-\"+t._index);r(\"value\",i),r(\"execute\")}}e.exports=function(e,t){i(e,t,{name:o,handleItemDefaults:l})}},44504:function(e,t,r){\"use strict\";var n=r(39898),i=r(74875),a=r(7901),o=r(91424),s=r(71828),l=s.strTranslate,u=r(63893),c=r(44467).arrayEditor,f=r(98292),h=r(18783),p=h.LINE_SPACING,d=h.FROM_TL,v=h.FROM_BR;function g(e){return f.autoMarginIdRoot+e._index}function m(e){return e._index}function y(e,t){var r=o.tester.selectAll(\"g.\"+f.labelGroupClass).data(t._visibleSteps);r.enter().append(\"g\").classed(f.labelGroupClass,!0);var a=0,l=0;r.each((function(e){var r=_(n.select(this),{step:e},t).node();if(r){var i=o.bBox(r);l=Math.max(l,i.height),a=Math.max(a,i.width)}})),r.remove();var c=t._dims={};c.inputAreaWidth=Math.max(f.railWidth,f.gripHeight);var h=e._fullLayout._size;c.lx=h.l+h.w*t.x,c.ly=h.t+h.h*(1-t.y),\"fraction\"===t.lenmode?c.outerLength=Math.round(h.w*t.len):c.outerLength=t.len,c.inputAreaStart=0,c.inputAreaLength=Math.round(c.outerLength-t.pad.l-t.pad.r);var p=(c.inputAreaLength-2*f.stepInset)/(t._stepCount-1),m=a+f.labelPadding;if(c.labelStride=Math.max(1,Math.ceil(m/p)),c.labelHeight=l,c.currentValueMaxWidth=0,c.currentValueHeight=0,c.currentValueTotalHeight=0,c.currentValueMaxLines=1,t.currentvalue.visible){var y=o.tester.append(\"g\");r.each((function(e){var r=x(y,t,e.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},i=u.lineCount(r);c.currentValueMaxWidth=Math.max(c.currentValueMaxWidth,Math.ceil(n.width)),c.currentValueHeight=Math.max(c.currentValueHeight,Math.ceil(n.height)),c.currentValueMaxLines=Math.max(c.currentValueMaxLines,i)})),c.currentValueTotalHeight=c.currentValueHeight+t.currentvalue.offset,y.remove()}c.height=c.currentValueTotalHeight+f.tickOffset+t.ticklen+f.labelOffset+c.labelHeight+t.pad.t+t.pad.b;var b=\"left\";s.isRightAnchor(t)&&(c.lx-=c.outerLength,b=\"right\"),s.isCenterAnchor(t)&&(c.lx-=c.outerLength/2,b=\"center\");var w=\"top\";s.isBottomAnchor(t)&&(c.ly-=c.height,w=\"bottom\"),s.isMiddleAnchor(t)&&(c.ly-=c.height/2,w=\"middle\"),c.outerLength=Math.ceil(c.outerLength),c.height=Math.ceil(c.height),c.lx=Math.round(c.lx),c.ly=Math.round(c.ly);var k={y:t.y,b:c.height*v[w],t:c.height*d[w]};\"fraction\"===t.lenmode?(k.l=0,k.xl=t.x-t.len*d[b],k.r=0,k.xr=t.x+t.len*v[b]):(k.x=t.x,k.l=c.outerLength*d[b],k.r=c.outerLength*v[b]),i.autoMargin(e,g(t),k)}function x(e,t,r){if(t.currentvalue.visible){var n,i,a=t._dims;switch(t.currentvalue.xanchor){case\"right\":n=a.inputAreaLength-f.currentValueInset-a.currentValueMaxWidth,i=\"left\";break;case\"center\":n=.5*a.inputAreaLength,i=\"middle\";break;default:n=f.currentValueInset,i=\"left\"}var l=s.ensureSingle(e,\"text\",f.labelClass,(function(e){e.attr({\"text-anchor\":i,\"data-notex\":1})})),c=t.currentvalue.prefix?t.currentvalue.prefix:\"\";if(\"string\"==typeof r)c+=r;else{var h=t.steps[t.active].label,d=t._gd._fullLayout._meta;d&&(h=s.templateString(h,d)),c+=h}t.currentvalue.suffix&&(c+=t.currentvalue.suffix),l.call(o.font,t.currentvalue.font).text(c).call(u.convertToTspans,t._gd);var v=u.lineCount(l),g=(a.currentValueMaxLines+1-v)*t.currentvalue.font.size*p;return u.positionText(l,n,g),l}}function b(e,t,r){s.ensureSingle(e,\"rect\",f.gripRectClass,(function(n){n.call(M,t,e,r).style(\"pointer-events\",\"all\")})).attr({width:f.gripWidth,height:f.gripHeight,rx:f.gripRadius,ry:f.gripRadius}).call(a.stroke,r.bordercolor).call(a.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function _(e,t,r){var n=s.ensureSingle(e,\"text\",f.labelClass,(function(e){e.attr({\"text-anchor\":\"middle\",\"data-notex\":1})})),i=t.step.label,a=r._gd._fullLayout._meta;return a&&(i=s.templateString(i,a)),n.call(o.font,r.font).text(i).call(u.convertToTspans,r._gd),n}function w(e,t){var r=s.ensureSingle(e,\"g\",f.labelsClass),i=t._dims,a=r.selectAll(\"g.\"+f.labelGroupClass).data(i.labelSteps);a.enter().append(\"g\").classed(f.labelGroupClass,!0),a.exit().remove(),a.each((function(e){var r=n.select(this);r.call(_,e,t),o.setTranslate(r,E(t,e.fraction),f.tickOffset+t.ticklen+t.font.size*p+f.labelOffset+i.currentValueTotalHeight)}))}function k(e,t,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&T(e,t,r,o,!0,i)}function T(e,t,r,n,a,o){var s=r.active;r.active=n,c(e.layout,f.name,r).applyUpdate(\"active\",n);var l=r.steps[r.active];t.call(S,r,o),t.call(x,r),e.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&&l.method&&a&&(t._nextMethod?(t._nextMethod.step=l,t._nextMethod.doCallback=a,t._nextMethod.doTransition=o):(t._nextMethod={step:l,doCallback:a,doTransition:o},t._nextMethodRaf=window.requestAnimationFrame((function(){var r=t._nextMethod.step;r.method&&(r.execute&&i.executeAPICommand(e,r.method,r.args),t._nextMethod=null,t._nextMethodRaf=null)}))))}function M(e,t,r){if(!t._context.staticPlot){var i=r.node(),o=n.select(t);e.on(\"mousedown\",l),e.on(\"touchstart\",l)}function s(){return r.data()[0]}function l(){var e=s();t.emit(\"plotly_sliderstart\",{slider:e});var l=r.select(\".\"+f.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(a.fill,e.activebgcolor);var u=C(e,n.mouse(i)[0]);function c(){var e=s(),a=C(e,n.mouse(i)[0]);k(t,r,e,a,!1)}function h(){var e=s();e._dragging=!1,l.call(a.fill,e.bgcolor),o.on(\"mouseup\",null),o.on(\"mousemove\",null),o.on(\"touchend\",null),o.on(\"touchmove\",null),t.emit(\"plotly_sliderend\",{slider:e,step:e.steps[e.active]})}k(t,r,e,u,!0),e._dragging=!0,o.on(\"mousemove\",c),o.on(\"touchmove\",c),o.on(\"mouseup\",h),o.on(\"touchend\",h)}}function A(e,t){var r=e.selectAll(\"rect.\"+f.tickRectClass).data(t._visibleSteps),i=t._dims;r.enter().append(\"rect\").classed(f.tickRectClass,!0),r.exit().remove(),r.attr({width:t.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),r.each((function(e,r){var s=r%i.labelStride==0,l=n.select(this);l.attr({height:s?t.ticklen:t.minorticklen}).call(a.fill,t.tickcolor),o.setTranslate(l,E(t,r/(t._stepCount-1))-.5*t.tickwidth,(s?f.tickOffset:f.minorTickOffset)+i.currentValueTotalHeight)}))}function S(e,t,r){for(var n=e.select(\"rect.\"+f.gripRectClass),i=0,a=0;a<t._stepCount;a++)if(t._visibleSteps[a]._index===t.active){i=a;break}var o=E(t,i/(t._stepCount-1));if(!t._invokingCommand){var s=n;r&&t.transition.duration>0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr(\"transform\",l(o-.5*f.gripWidth,t._dims.currentValueTotalHeight))}}function E(e,t){var r=e._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,t))}function C(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function L(e,t,r){var n=r._dims,i=s.ensureSingle(e,\"rect\",f.railTouchRectClass,(function(n){n.call(M,t,e,r).style(\"pointer-events\",\"all\")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr(\"opacity\",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function P(e,t){var r=t._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(e,\"rect\",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,\"shape-rendering\":\"crispEdges\"}).call(a.stroke,t.bordercolor).call(a.fill,t.bgcolor).style(\"stroke-width\",t.borderwidth+\"px\"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}e.exports=function(e){var t=e._context.staticPlot,r=e._fullLayout,a=function(e,t){for(var r=e[f.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=t,n.push(a))}return n}(r,e),s=r._infolayer.selectAll(\"g.\"+f.containerClassName).data(a.length>0?[0]:[]);function l(t){t._commandObserver&&(t._commandObserver.remove(),delete t._commandObserver),i.autoMargin(e,g(t))}if(s.enter().append(\"g\").classed(f.containerClassName,!0).style(\"cursor\",t?null:\"ew-resize\"),s.exit().each((function(){n.select(this).selectAll(\"g.\"+f.groupClassName).each(l)})).remove(),0!==a.length){var u=s.selectAll(\"g.\"+f.groupClassName).data(a,m);u.enter().append(\"g\").classed(f.groupClassName,!0),u.exit().each(l).remove();for(var c=0;c<a.length;c++){var h=a[c];y(e,h)}u.each((function(t){var r=n.select(this);!function(e){var t=e._dims;t.labelSteps=[];for(var r=e._stepCount,n=0;n<r;n+=t.labelStride)t.labelSteps.push({fraction:n/(r-1),step:e._visibleSteps[n]})}(t),i.manageCommandObserver(e,t,t._visibleSteps,(function(t){var n=r.data()[0];n.active!==t.index&&(n._dragging||T(e,r,n,t.index,!1,!0))})),function(e,t,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index),t.call(x,r).call(P,r).call(w,r).call(A,r).call(L,e,r).call(b,e,r);var n=r._dims;o.setTranslate(t,n.lx+r.pad.l,n.ly+r.pad.t),t.call(S,r,!1),t.call(x,r)}(e,n.select(this),t)}))}}},23243:function(e,t,r){\"use strict\";var n=r(98292);e.exports={moduleType:\"component\",name:n.name,layoutAttributes:r(75067),supplyLayoutDefaults:r(12343),draw:r(44504)}},92998:function(e,t,r){\"use strict\";var n=r(39898),i=r(92770),a=r(74875),o=r(73972),s=r(71828),l=s.strTranslate,u=r(91424),c=r(7901),f=r(63893),h=r(37822),p=r(18783).OPPOSITE_SIDE,d=/ [XY][0-9]* /;e.exports={draw:function(e,t,r){var v,g=r.propContainer,m=r.propName,y=r.placeholder,x=r.traceIndex,b=r.avoid||{},_=r.attributes,w=r.transform,k=r.containerGroup,T=e._fullLayout,M=1,A=!1,S=g.title,E=(S&&S.text?S.text:\"\").trim(),C=S&&S.font?S.font:{},L=C.family,P=C.size,O=C.color;\"title.text\"===m?v=\"titleText\":-1!==m.indexOf(\"axis\")?v=\"axisTitleText\":m.indexOf(!0)&&(v=\"colorbarTitleText\");var I=e._context.edits[v];\"\"===E?M=0:E.replace(d,\" % \")===y.replace(d,\" % \")&&(M=.2,A=!0,I||(E=\"\")),r._meta?E=s.templateString(E,r._meta):T._meta&&(E=s.templateString(E,T._meta));var D,z=E||I;k||(k=s.ensureSingle(T._infolayer,\"g\",\"g-\"+t),D=T._hColorbarMoveTitle);var R=k.selectAll(\"text\").data(z?[0]:[]);if(R.enter().append(\"text\"),R.text(E).attr(\"class\",t),R.exit().remove(),!z)return k;function F(e){s.syncOrAsync([B,N],e)}function B(t){var r;return!w&&D&&(w={}),w?(r=\"\",w.rotate&&(r+=\"rotate(\"+[w.rotate,_.x,_.y]+\")\"),(w.offset||D)&&(r+=l(0,(w.offset||0)-(D||0)))):r=null,t.attr(\"transform\",r),t.style({\"font-family\":L,\"font-size\":n.round(P,2)+\"px\",fill:c.rgb(O),opacity:M*c.opacity(O),\"font-weight\":a.fontWeight}).attr(_).call(f.convertToTspans,e),a.previousPromises(e)}function N(t){var r=n.select(t.node().parentNode);if(b&&b.selection&&b.side&&E){r.attr(\"transform\",null);var a=p[b.side],o=\"left\"===b.side||\"top\"===b.side?-1:1,c=i(b.pad)?b.pad:2,f=u.bBox(r.node()),h={t:0,b:0,l:0,r:0},d=e._fullLayout._reservedMargin;for(var v in d)for(var m in d[v]){var y=d[v][m];h[m]=Math.max(h[m],y)}var x={left:h.l,top:h.t,right:T.width-h.r,bottom:T.height-h.b},_=b.maxShift||o*(x[b.side]-f[b.side]),w=0;if(_<0)w=_;else{var k=b.offsetLeft||0,M=b.offsetTop||0;f.left-=k,f.right-=k,f.top-=M,f.bottom-=M,b.selection.each((function(){var e=u.bBox(this);s.bBoxIntersect(f,e,c)&&(w=Math.max(w,o*(e[b.side]-f[a])+c))})),w=Math.min(_,w),g._titleScoot=Math.abs(w)}if(w>0||_<0){var A={left:[-w,0],right:[w,0],top:[0,-w],bottom:[0,w]}[b.side];r.attr(\"transform\",l(A[0],A[1]))}}}return R.call(F),I&&(E?R.on(\".opacity\",null):(M=0,A=!0,R.text(y).on(\"mouseover.opacity\",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style(\"opacity\",1)})).on(\"mouseout.opacity\",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style(\"opacity\",0)}))),R.call(f.makeEditable,{gd:e}).on(\"edit\",(function(t){void 0!==x?o.call(\"_guiRestyle\",e,m,t,x):o.call(\"_guiRelayout\",e,m,t)})).on(\"cancel\",(function(){this.text(this.attr(\"data-unformatted\")).call(F)})).on(\"input\",(function(e){this.text(e||\" \").call(f.positionText,_.x,_.y)}))),R.classed(\"js-placeholder\",A),k}}},7163:function(e,t,r){\"use strict\";var n=r(41940),i=r(22399),a=r(1426).extendFlat,o=r(30962).overrideAll,s=r(35025),l=r(44467).templatedArray,u=l(\"button\",{visible:{valType:\"boolean\"},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},args2:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\",dflt:\"\"},execute:{valType:\"boolean\",dflt:!0}});e.exports=o(l(\"updatemenu\",{_arrayAttrRegexps:[/^updatemenus\\[(0|[1-9][0-9]+)\\]\\.buttons/],visible:{valType:\"boolean\"},type:{valType:\"enumerated\",values:[\"dropdown\",\"buttons\"],dflt:\"dropdown\"},direction:{valType:\"enumerated\",values:[\"left\",\"right\",\"up\",\"down\"],dflt:\"down\"},active:{valType:\"integer\",min:-1,dflt:0},showactive:{valType:\"boolean\",dflt:!0},buttons:u,x:{valType:\"number\",min:-2,max:3,dflt:-.05},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"right\"},y:{valType:\"number\",min:-2,max:3,dflt:1},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},pad:a(s({editType:\"arraydraw\"}),{}),font:n({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:i.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")},75909:function(e){\"use strict\";e.exports={name:\"updatemenus\",containerClassName:\"updatemenu-container\",headerGroupClassName:\"updatemenu-header-group\",headerClassName:\"updatemenu-header\",headerArrowClassName:\"updatemenu-header-arrow\",dropdownButtonGroupClassName:\"updatemenu-dropdown-button-group\",dropdownButtonClassName:\"updatemenu-dropdown-button\",buttonClassName:\"updatemenu-button\",itemRectClassName:\"updatemenu-item-rect\",itemTextClassName:\"updatemenu-item-text\",menuIndexAttrName:\"updatemenu-active-index\",autoMarginIdRoot:\"updatemenu-\",blankHeaderOpts:{label:\"  \"},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\",arrowSymbol:{left:\"◄\",right:\"►\",up:\"▲\",down:\"▼\"}}},64897:function(e,t,r){\"use strict\";var n=r(71828),i=r(85501),a=r(7163),o=r(75909).name,s=a.buttons;function l(e,t,r){function o(r,i){return n.coerce(e,t,a,r,i)}o(\"visible\",i(e,t,{name:\"buttons\",handleItemDefaults:u}).length>0)&&(o(\"active\"),o(\"direction\"),o(\"type\"),o(\"showactive\"),o(\"x\"),o(\"y\"),n.noneOrAll(e,t,[\"x\",\"y\"]),o(\"xanchor\"),o(\"yanchor\"),o(\"pad.t\"),o(\"pad.r\"),o(\"pad.b\"),o(\"pad.l\"),n.coerceFont(o,\"font\",r.font),o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\"),o(\"borderwidth\"))}function u(e,t){function r(r,i){return n.coerce(e,t,s,r,i)}r(\"visible\",\"skip\"===e.method||Array.isArray(e.args))&&(r(\"method\"),r(\"args\"),r(\"args2\"),r(\"label\"),r(\"execute\"))}e.exports=function(e,t){i(e,t,{name:o,handleItemDefaults:l})}},13689:function(e,t,r){\"use strict\";var n=r(39898),i=r(74875),a=r(7901),o=r(91424),s=r(71828),l=r(63893),u=r(44467).arrayEditor,c=r(18783).LINE_SPACING,f=r(75909),h=r(25849);function p(e){return e._index}function d(e,t){return+e.attr(f.menuIndexAttrName)===t._index}function v(e,t,r,n,i,a,o,s){t.active=o,u(e.layout,f.name,t).applyUpdate(\"active\",o),\"buttons\"===t.type?m(e,n,null,null,t):\"dropdown\"===t.type&&(i.attr(f.menuIndexAttrName,\"-1\"),g(e,n,i,a,t),s||m(e,n,i,a,t))}function g(e,t,r,n,i){var a=s.ensureSingle(t,\"g\",f.headerClassName,(function(e){e.style(\"pointer-events\",\"all\")})),l=i._dims,u=i.active,c=i.buttons[u]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(y,i,c,e).call(A,i,h,p),s.ensureSingle(t,\"text\",f.headerArrowClassName,(function(e){e.attr(\"text-anchor\",\"end\").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on(\"click\",(function(){r.call(S,String(d(r,i)?-1:i._index)),m(e,t,r,n,i)})),a.on(\"mouseover\",(function(){a.call(w)})),a.on(\"mouseout\",(function(){a.call(k,i)})),o.setTranslate(t,l.lx,l.ly)}function m(e,t,r,a,o){r||(r=t).attr(\"pointer-events\",\"all\");var l=function(e){return-1==+e.attr(f.menuIndexAttrName)}(r)&&\"buttons\"!==o.type?[]:o.buttons,u=\"dropdown\"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll(\"g.\"+u).data(s.filterVisible(l)),h=c.enter().append(\"g\").classed(u,!0),p=c.exit();\"dropdown\"===o.type?(h.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),p.transition().attr(\"opacity\",\"0\").remove()):p.remove();var d=0,g=0,m=o._dims,x=-1!==[\"up\",\"down\"].indexOf(o.direction);\"dropdown\"===o.type&&(x?g=m.headerHeight+f.gapButtonHeader:d=m.headerWidth+f.gapButtonHeader),\"dropdown\"===o.type&&\"up\"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-m.openHeight),\"dropdown\"===o.type&&\"left\"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-m.openWidth);var b={x:m.lx+d+o.pad.l,y:m.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},T={l:b.x+o.borderwidth,t:b.y+o.borderwidth};c.each((function(s,l){var u=n.select(this);u.call(y,o,s,e).call(A,o,b),u.on(\"click\",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(v(e,o,0,t,r,a,-1),i.executeAPICommand(e,s.method,s.args2)):(v(e,o,0,t,r,a,l),i.executeAPICommand(e,s.method,s.args))),e.emit(\"plotly_buttonclicked\",{menu:o,button:s,active:o.active}))})),u.on(\"mouseover\",(function(){u.call(w)})),u.on(\"mouseout\",(function(){u.call(k,o),c.call(_,o)}))})),c.call(_,o),x?(T.w=Math.max(m.openWidth,m.headerWidth),T.h=b.y-T.t):(T.w=b.x-T.l,T.h=Math.max(m.openHeight,m.headerHeight)),T.direction=o.direction,a&&(c.size()?function(e,t,r,n,i,a){var o,s,l,u=i.direction,c=\"up\"===u||\"down\"===u,h=i._dims,p=i.active;if(c)for(s=0,l=0;l<p;l++)s+=h.heights[l]+f.gapButton;else for(o=0,l=0;l<p;l++)o+=h.widths[l]+f.gapButton;n.enable(a,o,s),n.hbar&&n.hbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),n.vbar&&n.vbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\")}(0,0,0,a,o,T):function(e){var t=!!e.hbar,r=!!e.vbar;t&&e.hbar.transition().attr(\"opacity\",\"0\").each(\"end\",(function(){t=!1,r||e.disable()})),r&&e.vbar.transition().attr(\"opacity\",\"0\").each(\"end\",(function(){r=!1,t||e.disable()}))}(a))}function y(e,t,r,n){e.call(x,t).call(b,t,r,n)}function x(e,t){s.ensureSingle(e,\"rect\",f.itemRectClassName,(function(e){e.attr({rx:f.rx,ry:f.ry,\"shape-rendering\":\"crispEdges\"})})).call(a.stroke,t.bordercolor).call(a.fill,t.bgcolor).style(\"stroke-width\",t.borderwidth+\"px\")}function b(e,t,r,n){var i=s.ensureSingle(e,\"text\",f.itemTextClassName,(function(e){e.attr({\"text-anchor\":\"start\",\"data-notex\":1})})),a=r.label,u=n._fullLayout._meta;u&&(a=s.templateString(a,u)),i.call(o.font,t.font).text(a).call(l.convertToTspans,n)}function _(e,t){var r=t.active;e.each((function(e,i){var o=n.select(this);i===r&&t.showactive&&o.select(\"rect.\"+f.itemRectClassName).call(a.fill,f.activeColor)}))}function w(e){e.select(\"rect.\"+f.itemRectClassName).call(a.fill,f.hoverColor)}function k(e,t){e.select(\"rect.\"+f.itemRectClassName).call(a.fill,t.bgcolor)}function T(e,t){var r=t._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},a=o.tester.selectAll(\"g.\"+f.dropdownButtonClassName).data(s.filterVisible(t.buttons));a.enter().append(\"g\").classed(f.dropdownButtonClassName,!0);var u=-1!==[\"up\",\"down\"].indexOf(t.direction);a.each((function(i,a){var s=n.select(this);s.call(y,t,i,e);var h=s.select(\".\"+f.itemTextClassName),p=h.node()&&o.bBox(h.node()).width,d=Math.max(p+f.textPadX,f.minWidth),v=t.font.size*c,g=l.lineCount(h),m=Math.max(v*g,f.minHeight)+f.textOffsetY;m=Math.ceil(m),d=Math.ceil(d),r.widths[a]=d,r.heights[a]=m,r.height1=Math.max(r.height1,m),r.width1=Math.max(r.width1,d),u?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=m+f.gapButton,r.openHeight+=m+f.gapButton):(r.totalWidth+=d+f.gapButton,r.openWidth+=d+f.gapButton,r.totalHeight=Math.max(r.totalHeight,m),r.openHeight=r.totalHeight)})),u?r.totalHeight-=f.gapButton:r.totalWidth-=f.gapButton,r.headerWidth=r.width1+f.arrowPadX,r.headerHeight=r.height1,\"dropdown\"===t.type&&(u?(r.width1+=f.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=f.arrowPadX),a.remove();var h=r.totalWidth+t.pad.l+t.pad.r,p=r.totalHeight+t.pad.t+t.pad.b,d=e._fullLayout._size;r.lx=d.l+d.w*t.x,r.ly=d.t+d.h*(1-t.y);var v=\"left\";s.isRightAnchor(t)&&(r.lx-=h,v=\"right\"),s.isCenterAnchor(t)&&(r.lx-=h/2,v=\"center\");var g=\"top\";s.isBottomAnchor(t)&&(r.ly-=p,g=\"bottom\"),s.isMiddleAnchor(t)&&(r.ly-=p/2,g=\"middle\"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),i.autoMargin(e,M(t),{x:t.x,y:t.y,l:h*({right:1,center:.5}[v]||0),r:h*({left:1,center:.5}[v]||0),b:p*({top:1,middle:.5}[g]||0),t:p*({bottom:1,middle:.5}[g]||0)})}function M(e){return f.autoMarginIdRoot+e._index}function A(e,t,r,n){n=n||{};var i=e.select(\".\"+f.itemRectClassName),a=e.select(\".\"+f.itemTextClassName),s=t.borderwidth,u=r.index,h=t._dims;o.setTranslate(e,s+r.x,s+r.y);var p=-1!==[\"up\",\"down\"].indexOf(t.direction),d=n.height||(p?h.heights[u]:h.height1);i.attr({x:0,y:0,width:n.width||(p?h.width1:h.widths[u]),height:d});var v=t.font.size*c,g=(l.lineCount(a)-1)*v/2;l.positionText(a,f.textOffsetX,d/2-g+f.textOffsetY),p?r.y+=h.heights[u]+r.yPad:r.x+=h.widths[u]+r.xPad,r.index++}function S(e,t){e.attr(f.menuIndexAttrName,t||\"-1\").selectAll(\"g.\"+f.dropdownButtonClassName).remove()}e.exports=function(e){var t=e._fullLayout,r=s.filterVisible(t[f.name]);function a(t){i.autoMargin(e,M(t))}var o=t._menulayer.selectAll(\"g.\"+f.containerClassName).data(r.length>0?[0]:[]);if(o.enter().append(\"g\").classed(f.containerClassName,!0).style(\"cursor\",\"pointer\"),o.exit().each((function(){n.select(this).selectAll(\"g.\"+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll(\"g.\"+f.headerGroupClassName).data(r,p);l.enter().append(\"g\").classed(f.headerGroupClassName,!0);for(var u=s.ensureSingle(o,\"g\",f.dropdownButtonGroupClassName,(function(e){e.style(\"pointer-events\",\"all\")})),c=0;c<r.length;c++){var y=r[c];T(e,y)}var x=\"updatemenus\"+t._uid,b=new h(e,u,x);l.enter().size()&&(u.node().parentNode.appendChild(u.node()),u.call(S)),l.exit().each((function(e){u.call(S),a(e)})).remove(),l.each((function(t){var r=n.select(this),a=\"dropdown\"===t.type?u:null;i.manageCommandObserver(e,t,t.buttons,(function(n){v(e,t,t.buttons[n.index],r,a,b,n.index,!0)})),\"dropdown\"===t.type?(g(e,r,u,b,t),d(u,t)&&m(e,r,u,b,t)):m(e,r,null,null,t)}))}}},20763:function(e,t,r){\"use strict\";var n=r(75909);e.exports={moduleType:\"component\",name:n.name,layoutAttributes:r(7163),supplyLayoutDefaults:r(64897),draw:r(13689)}},25849:function(e,t,r){\"use strict\";e.exports=s;var n=r(39898),i=r(7901),a=r(91424),o=r(71828);function s(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll(\"rect.scrollbox-bg\").data([0]),this.bg.exit().on(\".drag\",null).on(\"wheel\",null).remove(),this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\",!0).style(\"pointer-events\",\"all\").attr({opacity:0,x:0,y:0,width:0,height:0})}s.barWidth=2,s.barLength=20,s.barRadius=2,s.barPad=1,s.barColor=\"#808BA4\",s.prototype.enable=function(e,t,r){var o=this.gd._fullLayout,l=o.width,u=o.height;this.position=e;var c,f,h,p,d=this.position.l,v=this.position.w,g=this.position.t,m=this.position.h,y=this.position.direction,x=\"down\"===y,b=\"left\"===y,_=\"up\"===y,w=v,k=m;x||b||\"right\"===y||_||(this.position.direction=\"down\",x=!0),x||_?(f=(c=d)+w,x?(h=g,k=(p=Math.min(h+k,u))-h):k=(p=g+k)-(h=Math.max(p-k,0))):(p=(h=g)+k,b?w=(f=d+w)-(c=Math.max(f-w,0)):(c=d,w=(f=Math.min(c+w,l))-c)),this._box={l:c,t:h,w,h:k};var T=v>w,M=s.barLength+2*s.barPad,A=s.barWidth+2*s.barPad,S=d,E=g+m;E+A>u&&(E=u-A);var C=this.container.selectAll(\"rect.scrollbar-horizontal\").data(T?[0]:[]);C.exit().on(\".drag\",null).remove(),C.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(i.fill,s.barColor),T?(this.hbar=C.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:M,height:A}),this._hbarXMin=S+M/2,this._hbarTranslateMax=w-M):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=m>k,P=s.barWidth+2*s.barPad,O=s.barLength+2*s.barPad,I=d+v,D=g;I+P>l&&(I=l-P);var z=this.container.selectAll(\"rect.scrollbar-vertical\").data(L?[0]:[]);z.exit().on(\".drag\",null).remove(),z.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(i.fill,s.barColor),L?(this.vbar=z.attr({rx:s.barRadius,ry:s.barRadius,x:I,y:D,width:P,height:O}),this._vbarYMin=D+O/2,this._vbarTranslateMax=k-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=c-.5,B=L?f+P+.5:f+.5,N=h-.5,j=T?p+A+.5:p+.5,U=o._topdefs.selectAll(\"#\"+R).data(T||L?[0]:[]);if(U.exit().remove(),U.enter().append(\"clipPath\").attr(\"id\",R).append(\"rect\"),T||L?(this._clipRect=U.select(\"rect\").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:v,height:m})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),T||L){var V=n.behavior.drag().on(\"dragstart\",(function(){n.event.sourceEvent.preventDefault()})).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(V);var H=n.behavior.drag().on(\"dragstart\",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on(\"drag\",this._onBarDrag.bind(this));T&&this.hbar.on(\".drag\",null).call(H),L&&this.vbar.on(\".drag\",null).call(H)}this.setTranslate(t,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(\".drag\",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(\".drag\",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var e=this.translateX,t=this.translateY;this.hbar&&(e-=n.event.dx),this.vbar&&(t-=n.event.dy),this.setTranslate(e,t)},s.prototype._onBoxWheel=function(){var e=this.translateX,t=this.translateY;this.hbar&&(e+=n.event.deltaY),this.vbar&&(t+=n.event.deltaY),this.setTranslate(e,t)},s.prototype._onBarDrag=function(){var e=this.translateX,t=this.translateY;if(this.hbar){var r=e+this._hbarXMin,i=r+this._hbarTranslateMax;e=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=t+this._vbarYMin,s=a+this._vbarTranslateMax;t=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(e,t)},s.prototype.setTranslate=function(e,t){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(e=o.constrain(e||0,0,r),t=o.constrain(t||0,0,n),this.translateX=e,this.translateY=t,this.container.call(a.setTranslate,this._box.l-this.position.l-e,this._box.t-this.position.t-t),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+e-.5),y:Math.floor(this.position.t+t-.5)}),this.hbar){var i=e/r;this.hbar.call(a.setTranslate,e+i*this._hbarTranslateMax,t)}if(this.vbar){var s=t/n;this.vbar.call(a.setTranslate,e,t+s*this._vbarTranslateMax)}}},18783:function(e){\"use strict\";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}}},24695:function(e){\"use strict\";e.exports={axisRefDescription:function(e,t,r){return[\"If set to a\",e,\"axis id (e.g. *\"+e+\"* or\",\"*\"+e+\"2*), the `\"+e+\"` position refers to a\",e,\"coordinate. If set to *paper*, the `\"+e+\"`\",\"position refers to the distance from the\",t,\"of the plotting\",\"area in normalized coordinates where *0* (*1*) corresponds to the\",t,\"(\"+r+\"). If set to a\",e,\"axis ID followed by\",\"*domain* (separated by a space), the position behaves like for\",\"*paper*, but refers to the distance in fractions of the domain\",\"length from the\",t,\"of the domain of that axis: e.g.,\",\"*\"+e+\"2 domain* refers to the domain of the second\",e,\" axis and a\",e,\"position of 0.5 refers to the\",\"point between the\",t,\"and the\",r,\"of the domain of the\",\"second\",e,\"axis.\"].join(\" \")}}},22372:function(e){\"use strict\";e.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"▲\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"▼\"}}},31562:function(e){\"use strict\";e.exports={FORMAT_LINK:\"https://github.com/d3/d3-format/tree/v1.4.5#d3-format\",DATE_FORMAT_LINK:\"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format\"}},74808:function(e){\"use strict\";e.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}},29659:function(e){\"use strict\";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},87381:function(e){\"use strict\";e.exports={circle:\"●\",\"circle-open\":\"○\",square:\"■\",\"square-open\":\"□\",diamond:\"◆\",\"diamond-open\":\"◇\",cross:\"+\",x:\"❌\"}},37822:function(e){\"use strict\";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},50606:function(e){\"use strict\";e.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:\"−\"}},32396:function(e,t){\"use strict\";t.CSS_DECLARATIONS=[[\"image-rendering\",\"optimizeSpeed\"],[\"image-rendering\",\"-moz-crisp-edges\"],[\"image-rendering\",\"-o-crisp-edges\"],[\"image-rendering\",\"-webkit-optimize-contrast\"],[\"image-rendering\",\"optimize-contrast\"],[\"image-rendering\",\"crisp-edges\"],[\"image-rendering\",\"pixelated\"]],t.STYLE=t.CSS_DECLARATIONS.map((function(e){return e.join(\": \")+\"; \"})).join(\"\")},77922:function(e,t){\"use strict\";t.xmlns=\"http://www.w3.org/2000/xmlns/\",t.svg=\"http://www.w3.org/2000/svg\",t.xlink=\"http://www.w3.org/1999/xlink\",t.svgAttrs={xmlns:t.svg,\"xmlns:xlink\":t.xlink}},8729:function(e,t,r){\"use strict\";t.version=r(11506).version,r(7417),r(98847);for(var n=r(73972),i=t.register=n.register,a=r(10641),o=Object.keys(a),s=0;s<o.length;s++){var l=o[s];\"_\"!==l.charAt(0)&&(t[l]=a[l]),i({moduleType:\"apiMethod\",name:l,fn:a[l]})}i(r(67368)),i([r(32745),r(2468),r(47322),r(89853),r(68804),r(20763),r(23243),r(13137),r(97218),r(83312),r(37369),r(21081),r(12311),r(2199),r(30211),r(64168)]),i([r(92177),r(37815)]),window.PlotlyLocales&&Array.isArray(window.PlotlyLocales)&&(i(window.PlotlyLocales),delete window.PlotlyLocales),t.Icons=r(24255);var u=r(30211),c=r(74875);t.Plots={resize:c.resize,graphJson:c.graphJson,sendDataToCloud:c.sendDataToCloud},t.Fx={hover:u.hover,unhover:u.unhover,loneHover:u.loneHover,loneUnhover:u.loneUnhover},t.Snapshot=r(44511),t.PlotSchema=r(86281)},24255:function(e){\"use strict\";e.exports={undo:{width:857.1,height:1e3,path:\"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",transform:\"matrix(1 0 0 -1 0 850)\"},home:{width:928.6,height:1e3,path:\"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"camera-retro\":{width:1e3,height:1e3,path:\"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoombox:{width:1e3,height:1e3,path:\"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",transform:\"matrix(1 0 0 -1 0 850)\"},pan:{width:1e3,height:1e3,path:\"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_plus:{width:875,height:1e3,path:\"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_minus:{width:875,height:1e3,path:\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},autoscale:{width:1e3,height:1e3,path:\"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_basic:{width:1500,height:1e3,path:\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_compare:{width:1125,height:1e3,path:\"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",transform:\"matrix(1 0 0 -1 0 850)\"},plotlylogo:{width:1542,height:1e3,path:\"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"z-axis\":{width:1e3,height:1e3,path:\"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"3d_rotate\":{width:1e3,height:1e3,path:\"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",transform:\"matrix(1 0 0 -1 0 850)\"},camera:{width:1e3,height:1e3,path:\"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",transform:\"matrix(1 0 0 -1 0 850)\"},movie:{width:1e3,height:1e3,path:\"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",transform:\"matrix(1 0 0 -1 0 850)\"},question:{width:857.1,height:1e3,path:\"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",transform:\"matrix(1 0 0 -1 0 850)\"},disk:{width:857.1,height:1e3,path:\"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawopenpath:{width:70,height:70,path:\"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawclosedpath:{width:90,height:90,path:\"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z\",transform:\"matrix(1 0 0 1 -5 -5)\"},lasso:{width:1031,height:1e3,path:\"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",transform:\"matrix(1 0 0 -1 0 850)\"},selectbox:{width:1e3,height:1e3,path:\"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawline:{width:70,height:70,path:\"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawrect:{width:80,height:80,path:\"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},drawcircle:{width:80,height:80,path:\"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},eraseshape:{width:80,height:80,path:\"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},spikeline:{width:1e3,height:1e3,path:\"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",transform:\"matrix(1.5 0 0 -1.5 0 850)\"},pencil:{width:1792,height:1792,path:\"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z\",transform:\"matrix(1 0 0 1 0 1)\"},newplotlylogo:{name:\"newplotlylogo\",svg:[\"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'>\",\"<defs>\",\" <style>\",\"  .cls-0{fill:#000;}\",\"  .cls-1{fill:#FFF;}\",\"  .cls-2{fill:#F26;}\",\"  .cls-3{fill:#D69;}\",\"  .cls-4{fill:#BAC;}\",\"  .cls-5{fill:#9EF;}\",\" </style>\",\"</defs>\",\" <title>plotly-logomark</title>\",\" <g id='symbol'>\",\"  <rect class='cls-0' x='0' y='0' width='132' height='132' rx='18' ry='18'/>\",\"  <circle class='cls-5' cx='102' cy='30' r='6'/>\",\"  <circle class='cls-4' cx='78' cy='30' r='6'/>\",\"  <circle class='cls-4' cx='78' cy='54' r='6'/>\",\"  <circle class='cls-3' cx='54' cy='30' r='6'/>\",\"  <circle class='cls-2' cx='30' cy='30' r='6'/>\",\"  <circle class='cls-2' cx='30' cy='54' r='6'/>\",\"  <path class='cls-1' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/>\",\"  <path class='cls-1' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/>\",\"  <path class='cls-1' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/>\",\"  <path class='cls-1' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/>\",\" </g>\",\"</svg>\"].join(\"\")}}},99863:function(e,t){\"use strict\";t.isLeftAnchor=function(e){return\"left\"===e.xanchor||\"auto\"===e.xanchor&&e.x<=1/3},t.isCenterAnchor=function(e){return\"center\"===e.xanchor||\"auto\"===e.xanchor&&e.x>1/3&&e.x<2/3},t.isRightAnchor=function(e){return\"right\"===e.xanchor||\"auto\"===e.xanchor&&e.x>=2/3},t.isTopAnchor=function(e){return\"top\"===e.yanchor||\"auto\"===e.yanchor&&e.y>=2/3},t.isMiddleAnchor=function(e){return\"middle\"===e.yanchor||\"auto\"===e.yanchor&&e.y>1/3&&e.y<2/3},t.isBottomAnchor=function(e){return\"bottom\"===e.yanchor||\"auto\"===e.yanchor&&e.y<=1/3}},26348:function(e,t,r){\"use strict\";var n=r(64872),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(e){return Math.abs(e[1]-e[0])>s-1e-14}function u(e,t){return a(t-e,s)}function c(e,t){if(l(t))return!0;var r,n;t[0]<t[1]?(r=t[0],n=t[1]):(r=t[1],n=t[0]),(r=i(r,s))>(n=i(n,s))&&(n+=s);var a=i(e,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(e,t,r,n,i,a,u){i=i||0,a=a||0;var c,f,h,p,d,v=l([r,n]);function g(e,t){return[e*Math.cos(t)+i,a-e*Math.sin(t)]}v?(c=0,f=o,h=s):r<n?(c=r,h=n):(c=n,h=r),e<t?(p=e,d=t):(p=t,d=e);var m,y=Math.abs(h-c)<=o?0:1;function x(e,t,r){return\"A\"+[e,e]+\" \"+[0,y,r]+\" \"+g(e,t)}return v?m=null===p?\"M\"+g(d,c)+x(d,f,0)+x(d,h,0)+\"Z\":\"M\"+g(p,c)+x(p,f,0)+x(p,h,0)+\"ZM\"+g(d,c)+x(d,f,1)+x(d,h,1)+\"Z\":null===p?(m=\"M\"+g(d,c)+x(d,h,0),u&&(m+=\"L0,0Z\")):m=\"M\"+g(p,c)+\"L\"+g(d,c)+x(d,h,0)+\"L\"+g(p,h)+x(p,c,1)+\"Z\",m}e.exports={deg2rad:function(e){return e/180*o},rad2deg:function(e){return e/o*180},angleDelta:u,angleDist:function(e,t){return Math.abs(u(e,t))},isFullCircle:l,isAngleInsideSector:c,isPtInsideSector:function(e,t,r,n){return!!c(t,n)&&(r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),e>=i&&e<=a);var i,a},pathArc:function(e,t,r,n,i){return f(null,e,t,r,n,i,0)},pathSector:function(e,t,r,n,i){return f(null,e,t,r,n,i,1)},pathAnnulus:function(e,t,r,n,i,a){return f(e,t,r,n,i,a,1)}}},73627:function(e,t){\"use strict\";var r=Array.isArray,n=ArrayBuffer,i=DataView;function a(e){return n.isView(e)&&!(e instanceof i)}function o(e){return r(e)||a(e)}function s(e,t,r){if(o(e)){if(o(e[0])){for(var n=r,i=0;i<e.length;i++)n=t(n,e[i].length);return n}return e.length}return 0}t.isTypedArray=a,t.isArrayOrTypedArray=o,t.isArray1D=function(e){return!o(e[0])},t.ensureArray=function(e,t){return r(e)||(e=[]),e.length=t,e},t.concat=function(){var e,t,n,i,a,o,s,l,u=[],c=!0,f=0;for(n=0;n<arguments.length;n++)(o=(i=arguments[n]).length)&&(t?u.push(i):(t=i,a=o),r(i)?e=!1:(c=!1,f?e!==i.constructor&&(e=!1):e=i.constructor),f+=o);if(!f)return[];if(!u.length)return t;if(c)return t.concat.apply(t,u);if(e){for((s=new e(f)).set(t),n=0;n<u.length;n++)i=u[n],s.set(i,a),a+=i.length;return s}for(s=new Array(f),l=0;l<t.length;l++)s[l]=t[l];for(n=0;n<u.length;n++){for(i=u[n],l=0;l<i.length;l++)s[a+l]=i[l];a+=l}return s},t.maxRowLength=function(e){return s(e,Math.max,0)},t.minRowLength=function(e){return s(e,Math.min,1/0)}},95218:function(e,t,r){\"use strict\";var n=r(92770),i=r(50606).BADNUM,a=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;e.exports=function(e){return\"string\"==typeof e&&(e=e.replace(a,\"\")),n(e)?Number(e):i}},33306:function(e){\"use strict\";e.exports=function(e){var t=e._fullLayout;t._glcanvas&&t._glcanvas.size()&&t._glcanvas.each((function(e){e.regl&&e.regl.clear({color:!0,depth:!0})}))}},86367:function(e){\"use strict\";e.exports=function(e){e._responsiveChartHandler&&(window.removeEventListener(\"resize\",e._responsiveChartHandler),delete e._responsiveChartHandler)}},96554:function(e,t,r){\"use strict\";var n=r(92770),i=r(84267),a=r(9012),o=r(63282),s=r(7901),l=r(37822).DESELECTDIM,u=r(65487),c=r(30587).counter,f=r(64872).modHalf,h=r(73627).isArrayOrTypedArray;function p(e,r){var n=t.valObjectMeta[r.valType];if(r.arrayOk&&h(e))return!0;if(n.validateFunction)return n.validateFunction(e,r);var i={},a=i,o={set:function(e){a=e}};return n.coerceFunction(e,o,i,r),a!==i}t.valObjectMeta={data_array:{coerceFunction:function(e,t,r){h(e)?t.set(e):void 0!==r&&t.set(r)}},enumerated:{coerceFunction:function(e,t,r,n){n.coerceNumber&&(e=+e),-1===n.values.indexOf(e)?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,n=0;n<r.length;n++){var i=String(r[n]);if(\"/\"===i.charAt(0)&&\"/\"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.length-2)).test(e))return!0}else if(e===r[n])return!0}return!1}},boolean:{coerceFunction:function(e,t,r){!0===e||!1===e?t.set(e):t.set(r)}},number:{coerceFunction:function(e,t,r,i){!n(e)||void 0!==i.min&&e<i.min||void 0!==i.max&&e>i.max?t.set(r):t.set(+e)}},integer:{coerceFunction:function(e,t,r,i){e%1||!n(e)||void 0!==i.min&&e<i.min||void 0!==i.max&&e>i.max?t.set(r):t.set(+e)}},string:{coerceFunction:function(e,t,r,n){if(\"string\"!=typeof e){var i=\"number\"==typeof e;!0!==n.strict&&i?t.set(String(e)):t.set(r)}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,r){i(e).isValid()?t.set(e):t.set(r)}},colorlist:{coerceFunction:function(e,t,r){Array.isArray(e)&&e.length&&e.every((function(e){return i(e).isValid()}))?t.set(e):t.set(r)}},colorscale:{coerceFunction:function(e,t,r){t.set(o.get(e,r))}},angle:{coerceFunction:function(e,t,r){\"auto\"===e?t.set(\"auto\"):n(e)?t.set(f(+e,360)):t.set(r)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||c(r);\"string\"==typeof e&&i.test(e)?t.set(e):t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r||\"string\"==typeof e&&!!c(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if(-1===(n.extras||[]).indexOf(e))if(\"string\"==typeof e){for(var i=e.split(\"+\"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?t.set(i.join(\"+\")):t.set(r)}else t.set(r);else t.set(e)}},any:{coerceFunction:function(e,t,r){void 0===e?t.set(r):t.set(e)}},info_array:{coerceFunction:function(e,r,n,i){function a(e,r,n){var i,a={set:function(e){i=e}};return void 0===n&&(n=r.dflt),t.valObjectMeta[r.valType].coerceFunction(e,a,n,r),i}var o=2===i.dimensions||\"1-2\"===i.dimensions&&Array.isArray(e)&&Array.isArray(e[0]);if(Array.isArray(e)){var s,l,u,c,f,h,p=i.items,d=[],v=Array.isArray(p),g=v&&o&&Array.isArray(p[0]),m=o&&v&&!g,y=v&&!m?p.length:e.length;if(n=Array.isArray(n)?n:[],o)for(s=0;s<y;s++)for(d[s]=[],u=Array.isArray(e[s])?e[s]:[],f=m?p.length:v?p[s].length:u.length,l=0;l<f;l++)c=m?p[l]:v?p[s][l]:p,void 0!==(h=a(u[l],c,(n[s]||[])[l]))&&(d[s][l]=h);else for(s=0;s<y;s++)void 0!==(h=a(e[s],v?p[s]:p,n[s]))&&(d[s]=h);r.set(d)}else r.set(n)},validateFunction:function(e,t){if(!Array.isArray(e))return!1;var r=t.items,n=Array.isArray(r),i=2===t.dimensions;if(!t.freeLength&&e.length!==r.length)return!1;for(var a=0;a<e.length;a++)if(i){if(!Array.isArray(e[a])||!t.freeLength&&e[a].length!==r[a].length)return!1;for(var o=0;o<e[a].length;o++)if(!p(e[a][o],n?r[a][o]:r))return!1}else if(!p(e[a],n?r[a]:r))return!1;return!0}}},t.coerce=function(e,r,n,i,a){var o=u(n,i).get(),s=u(e,i),l=u(r,i),c=s.get(),f=r._template;if(void 0===c&&f&&(c=u(f,i).get(),f=0),void 0===a&&(a=o.dflt),o.arrayOk&&h(c))return l.set(c),c;var d=t.valObjectMeta[o.valType].coerceFunction;d(c,l,a,o);var v=l.get();return f&&v===a&&!p(c,o)&&(d(c=u(f,i).get(),l,a,o),v=l.get()),v},t.coerce2=function(e,r,n,i,a){var o=u(e,i),s=t.coerce(e,r,n,i,a);return null!=o.get()&&s},t.coerceFont=function(e,t,r){var n={};return r=r||{},n.family=e(t+\".family\",r.family),n.size=e(t+\".size\",r.size),n.color=e(t+\".color\",r.color),n},t.coercePattern=function(e,t,r,n){if(e(t+\".shape\")){e(t+\".solidity\"),e(t+\".size\");var i=\"overlay\"===e(t+\".fillmode\");if(!n){var a=e(t+\".bgcolor\",i?r:void 0);e(t+\".fgcolor\",i?s.contrast(a):r)}e(t+\".fgopacity\",i?.5:1)}},t.coerceHoverinfo=function(e,r,n){var i,o=r._module.attributes,s=o.hoverinfo?o:a,l=s.hoverinfo;if(1===n._dataLength){var u=\"all\"===l.dflt?l.flags.slice():l.dflt.split(\"+\");u.splice(u.indexOf(\"name\"),1),i=u.join(\"+\")}return t.coerce(e,r,s,\"hoverinfo\",i)},t.coerceSelectionMarkerOpacity=function(e,t){if(e.marker){var r,n,i=e.marker.opacity;void 0!==i&&(h(i)||e.selected||e.unselected||(r=i,n=l*i),t(\"selected.marker.opacity\",r),t(\"unselected.marker.opacity\",n))}},t.validate=p},41631:function(e,t,r){\"use strict\";var n,i,a=r(84096).i$,o=r(92770),s=r(47769),l=r(64872).mod,u=r(50606),c=u.BADNUM,f=u.ONEDAY,h=u.ONEHOUR,p=u.ONEMIN,d=u.ONESEC,v=u.EPOCHJD,g=r(73972),m=r(84096).g0,y=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,x=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,b=(new Date).getFullYear()-70;function _(e){return e&&g.componentsRegistry.calendars&&\"string\"==typeof e&&\"gregorian\"!==e}function w(e,t){return String(e+Math.pow(10,t)).substr(1)}t.dateTick0=function(e,r){var n=function(e,t){return _(e)?t?g.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[e]:g.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[e]:t?\"2000-01-02\":\"2000-01-01\"}(e,!!r);if(r<2)return n;var i=t.dateTime2ms(n,e);return i+=f*(r-1),t.ms2DateTime(i,0,e)},t.dfltRange=function(e){return _(e)?g.getComponentMethod(\"calendars\",\"DFLTRANGE\")[e]:[\"2000-01-01\",\"2001-01-01\"]},t.isJSDate=function(e){return\"object\"==typeof e&&null!==e&&\"function\"==typeof e.getTime},t.dateTime2ms=function(e,r){if(t.isJSDate(e)){var a=e.getTimezoneOffset()*p,o=(e.getUTCMinutes()-e.getMinutes())*p+(e.getUTCSeconds()-e.getSeconds())*d+(e.getUTCMilliseconds()-e.getMilliseconds());if(o){var s=3*p;a=a-s/2+l(o-a+s/2,s)}return(e=Number(e)-a)>=n&&e<=i?e:c}if(\"string\"!=typeof e&&\"number\"!=typeof e)return c;e=String(e);var u=_(r),m=e.charAt(0);!u||\"G\"!==m&&\"g\"!==m||(e=e.substr(1),r=\"\");var w=u&&\"chinese\"===r.substr(0,7),k=e.match(w?x:y);if(!k)return c;var T=k[1],M=k[3]||\"1\",A=Number(k[5]||1),S=Number(k[7]||0),E=Number(k[9]||0),C=Number(k[11]||0);if(u){if(2===T.length)return c;var L;T=Number(T);try{var P=g.getComponentMethod(\"calendars\",\"getCal\")(r);if(w){var O=\"i\"===M.charAt(M.length-1);M=parseInt(M,10),L=P.newDate(T,P.toMonthIndex(T,M,O),A)}else L=P.newDate(T,Number(M),A)}catch(e){return c}return L?(L.toJD()-v)*f+S*h+E*p+C*d:c}T=2===T.length?(Number(T)+2e3-b)%100+b:Number(T),M-=1;var I=new Date(Date.UTC(2e3,M,A,S,E));return I.setUTCFullYear(T),I.getUTCMonth()!==M||I.getUTCDate()!==A?c:I.getTime()+C*d},n=t.MIN_MS=t.dateTime2ms(\"-9999\"),i=t.MAX_MS=t.dateTime2ms(\"9999-12-31 23:59:59.9999\"),t.isDateTime=function(e,r){return t.dateTime2ms(e,r)!==c};var k=90*f,T=3*h,M=5*p;function A(e,t,r,n,i){if((t||r||n||i)&&(e+=\" \"+w(t,2)+\":\"+w(r,2),(n||i)&&(e+=\":\"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;e+=\".\"+w(i,a)}return e}t.ms2DateTime=function(e,t,r){if(\"number\"!=typeof e||!(e>=n&&e<=i))return c;t||(t=0);var a,o,s,u,y,x,b=Math.floor(10*l(e+.05,1)),w=Math.round(e-b/10);if(_(r)){var S=Math.floor(w/f)+v,E=Math.floor(l(e,f));try{a=g.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(S).formatDate(\"yyyy-mm-dd\")}catch(e){a=m(\"G%Y-%m-%d\")(new Date(w))}if(\"-\"===a.charAt(0))for(;a.length<11;)a=\"-0\"+a.substr(1);else for(;a.length<10;)a=\"0\"+a;o=t<k?Math.floor(E/h):0,s=t<k?Math.floor(E%h/p):0,u=t<T?Math.floor(E%p/d):0,y=t<M?E%d*10+b:0}else x=new Date(w),a=m(\"%Y-%m-%d\")(x),o=t<k?x.getUTCHours():0,s=t<k?x.getUTCMinutes():0,u=t<T?x.getUTCSeconds():0,y=t<M?10*x.getUTCMilliseconds()+b:0;return A(a,o,s,u,y)},t.ms2DateTimeLocal=function(e){if(!(e>=n+f&&e<=i-f))return c;var t=Math.floor(10*l(e+.05,1)),r=new Date(Math.round(e-t/10));return A(a(\"%Y-%m-%d\")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+t)},t.cleanDate=function(e,r,n){if(e===c)return r;if(t.isJSDate(e)||\"number\"==typeof e&&isFinite(e)){if(_(n))return s.error(\"JS Dates and milliseconds are incompatible with world calendars\",e),r;if(!(e=t.ms2DateTimeLocal(+e))&&void 0!==r)return r}else if(!t.isDateTime(e,n))return s.error(\"unrecognized date\",e),r;return e};var S=/%\\d?f/g,E=/%h/g,C={1:\"1\",2:\"1\",3:\"2\",4:\"2\"};function L(e,t,r,n){e=e.replace(S,(function(e){var r=Math.min(+e.charAt(1)||6,6);return(t/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,\"\")||\"0\"}));var i=new Date(Math.floor(t+.05));if(e=e.replace(E,(function(){return C[r(\"%q\")(i)]})),_(n))try{e=g.getComponentMethod(\"calendars\",\"worldCalFmt\")(e,t,n)}catch(e){return\"Invalid\"}return r(e)(i)}var P=[59,59.9,59.99,59.999,59.9999];t.formatDate=function(e,t,r,n,i,a){if(i=_(i)&&i,!t)if(\"y\"===r)t=a.year;else if(\"m\"===r)t=a.month;else{if(\"d\"!==r)return function(e,t){var r=l(e+.05,f),n=w(Math.floor(r/h),2)+\":\"+w(l(Math.floor(r/p),60),2);if(\"M\"!==t){o(t)||(t=0);var i=(100+Math.min(l(e/d,60),P[t])).toFixed(t).substr(1);t>0&&(i=i.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+i}return n}(e,r)+\"\\n\"+L(a.dayMonthYear,e,n,i);t=a.dayMonth+\"\\n\"+a.year}return L(t,e,n,i)};var O=3*f;t.incrementMonth=function(e,t,r){r=_(r)&&r;var n=l(e,f);if(e=Math.round(e-n),r)try{var i=Math.round(e/f)+v,a=g.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return t%12?a.add(o,t,\"m\"):a.add(o,t/12,\"y\"),(o.toJD()-v)*f+n}catch(t){s.error(\"invalid ms \"+e+\" in calendar \"+r)}var u=new Date(e+O);return u.setUTCMonth(u.getUTCMonth()+t)+n-O},t.findExactDates=function(e,t){for(var r,n,i=0,a=0,s=0,l=0,u=_(t)&&g.getComponentMethod(\"calendars\",\"getCal\")(t),c=0;c<e.length;c++)if(n=e[c],o(n)){if(!(n%f))if(u)try{1===(r=u.fromJD(n/f+v)).day()?1===r.month()?i++:a++:s++}catch(e){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?i++:a++:s++}else l++;s+=a+=i;var h=e.length-l;return{exactYears:i/h,exactMonths:a/h,exactDays:s/h}}},24401:function(e,t,r){\"use strict\";var n=r(39898),i=r(47769),a=r(35657),o=r(79576);function s(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function l(e,t,r){var n=\"plotly.js-style-\"+e,a=document.getElementById(n);a||((a=document.createElement(\"style\")).setAttribute(\"id\",n),a.appendChild(document.createTextNode(\"\")),document.head.appendChild(a));var o=a.sheet;o.insertRule?o.insertRule(t+\"{\"+r+\"}\",0):o.addRule?o.addRule(t,r,0):i.warn(\"addStyleRule failed\")}function u(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue(\"-webkit-transform\")||t.getPropertyValue(\"-moz-transform\")||t.getPropertyValue(\"-ms-transform\")||t.getPropertyValue(\"-o-transform\")||t.getPropertyValue(\"transform\");return\"none\"===r?null:r.replace(\"matrix\",\"\").replace(\"3d\",\"\").slice(1,-1).split(\",\").map((function(e){return+e}))}function c(e){for(var t=[];f(e);)t.push(e),e=e.parentNode;return t}function f(e){return e&&(e instanceof Element||e instanceof HTMLElement)}e.exports={getGraphDiv:function(e){var t;if(\"string\"==typeof e){if(null===(t=document.getElementById(e)))throw new Error(\"No DOM element with id '\"+e+\"' exists on the page.\");return t}if(null==e)throw new Error(\"DOM element provided is null or undefined\");return e},isPlotDiv:function(e){var t=n.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed(\"js-plotly-plot\")},removeElement:s,addStyleRule:function(e,t){l(\"global\",e,t)},addRelatedStyleRule:l,deleteRelatedStyleRule:function(e){var t=\"plotly.js-style-\"+e,r=document.getElementById(t);r&&s(r)},getFullTransformMatrix:function(e){var t=c(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach((function(e){var t=u(e);if(t){var n=a.convertCssMatrix(t);r=o.multiply(r,r,n)}})),r},getElementTransformMatrix:u,getElementAndAncestors:c,equalDomRects:function(e,t){return e&&t&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}}},11086:function(e,t,r){\"use strict\";var n=r(15398).EventEmitter,i={init:function(e){if(e._ev instanceof n)return e;var t=new n,r=new n;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(n,i){\"undefined\"!=typeof jQuery&&jQuery(e).trigger(n,i),t.emit(n,i),r.emit(n,i)},e},triggerHandler:function(e,t,r){var n,i;\"undefined\"!=typeof jQuery&&(n=jQuery(e).triggerHandler(t,r));var a=e._ev;if(!a)return n;var o,s=a._events[t];if(!s)return n;function l(e){return e.listener?(a.removeListener(t,e.listener),e.fired?void 0:(e.fired=!0,e.listener.apply(a,[r]))):e.apply(a,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return i=l(s[o]),void 0!==n?n:i},purge:function(e){return delete e._ev,delete e.on,delete e.once,delete e.removeListener,delete e.removeAllListeners,delete e.emit,delete e._ev,delete e._internalEv,delete e._internalOn,delete e._internalOnce,delete e._removeInternalListener,delete e._removeAllInternalListeners,e}};e.exports=i},1426:function(e,t,r){\"use strict\";var n=r(41965),i=Array.isArray;function a(e,t,r,o){var s,l,u,c,f,h,p,d=e[0],v=e.length;if(2===v&&i(d)&&i(e[1])&&0===d.length){if(p=function(e,t){var r,n;for(r=0;r<e.length;r++){if(null!==(n=e[r])&&\"object\"==typeof n)return!1;void 0!==n&&(t[r]=n)}return!0}(e[1],d),p)return d;d.splice(0,d.length)}for(var g=1;g<v;g++)for(l in s=e[g])u=d[l],c=s[l],o&&i(c)?d[l]=c:t&&c&&(n(c)||(f=i(c)))?(f?(f=!1,h=u&&i(u)?u:[]):h=u&&n(u)?u:{},d[l]=a([h,c],t,r,o)):(void 0!==c||r)&&(d[l]=c);return d}t.extendFlat=function(){return a(arguments,!1,!1,!1)},t.extendDeep=function(){return a(arguments,!0,!1,!1)},t.extendDeepAll=function(){return a(arguments,!0,!0,!1)},t.extendDeepNoArrays=function(){return a(arguments,!0,!1,!0)}},75744:function(e){\"use strict\";e.exports=function(e){for(var t={},r=[],n=0,i=0;i<e.length;i++){var a=e[i];1!==t[a]&&(t[a]=1,r[n++]=a)}return r}},76756:function(e){\"use strict\";function t(e){return!0===e.visible}function r(e){var t=e[0].trace;return!0===t.visible&&0!==t._length}e.exports=function(e){for(var n,i=(n=e,Array.isArray(n)&&Array.isArray(n[0])&&n[0][0]&&n[0][0].trace?r:t),a=[],o=0;o<e.length;o++){var s=e[o];i(s)&&a.push(s)}return a}},41327:function(e,t,r){\"use strict\";var n=r(39898),i=r(24138),a=r(30774),o=r(29261),s=r(85268),l=r(23389),u=r(47769),c=r(41965),f=r(65487),h=r(61082),p=Object.keys(i),d={\"ISO-3\":l,\"USA-states\":l,\"country names\":function(e){for(var t=0;t<p.length;t++){var r=p[t];if(new RegExp(i[r]).test(e.trim().toLowerCase()))return r}return u.log(\"Unrecognized country name: \"+e+\".\"),!1}};function v(e){var t=e.geojson,r=window.PlotlyGeoAssets||{},n=\"string\"==typeof t?r[t]:t;return c(n)?n:(u.error(\"Oops ... something went wrong when fetching \"+t),!1)}e.exports={locationToFeature:function(e,t,r){if(!t||\"string\"!=typeof t)return!1;var n,i,a,o=d[e](t);if(o){if(\"USA-states\"===e)for(n=[],a=0;a<r.length;a++)(i=r[a]).properties&&i.properties.gu&&\"USA\"===i.properties.gu&&n.push(i);else n=r;for(a=0;a<n.length;a++)if((i=n[a]).id===o)return i;u.log([\"Location with id\",o,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1},feature2polygons:function(e){var t,r,n,i,a=e.geometry,o=a.coordinates,s=e.id,l=[];function u(e){for(var t=0;t<e.length-1;t++)if(e[t][0]>0&&e[t+1][0]<0)return t;return null}switch(t=\"RUS\"===s||\"FJI\"===s?function(e){var t;if(null===u(e))t=e;else for(t=new Array(e.length),i=0;i<e.length;i++)t[i]=[e[i][0]<0?e[i][0]+360:e[i][0],e[i][1]];l.push(h.tester(t))}:\"ATA\"===s?function(e){var t=u(e);if(null===t)return l.push(h.tester(e));var r=new Array(e.length+1),n=0;for(i=0;i<e.length;i++)i>t?r[n++]=[e[i][0]+360,e[i][1]]:i===t?(r[n++]=e[i],r[n++]=[e[i][0],-90]):r[n++]=e[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(e){l.push(h.tester(e))},a.type){case\"MultiPolygon\":for(r=0;r<o.length;r++)for(n=0;n<o[r].length;n++)t(o[r][n]);break;case\"Polygon\":for(r=0;r<o.length;r++)t(o[r])}return l},getTraceGeojson:v,extractTraceFeature:function(e){var t=e[0].trace,r=v(t);if(!r)return!1;var n,i={},s=[];for(n=0;n<t._length;n++){var l=e[n];(l.loc||0===l.loc)&&(i[l.loc]=l)}function c(e){var r=f(e,t.featureidkey||\"id\").get(),n=i[r];if(n){var l=e.geometry;if(\"Polygon\"===l.type||\"MultiPolygon\"===l.type){var c={type:\"Feature\",id:r,geometry:l,properties:{}};c.properties.ct=function(e){var t,r=e.geometry;if(\"MultiPolygon\"===r.type)for(var n=r.coordinates,i=0,s=0;s<n.length;s++){var l={type:\"Polygon\",coordinates:n[s]},u=a.default(l);u>i&&(i=u,t=l)}else t=r;return o.default(t).geometry.coordinates}(c),n.fIn=e,n.fOut=c,s.push(c)}else u.log([\"Location\",n.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete i[r]}switch(r.type){case\"FeatureCollection\":var h=r.features;for(n=0;n<h.length;n++)c(h[n]);break;case\"Feature\":c(r);break;default:return u.warn([\"Invalid GeoJSON type\",(r.type||\"none\")+\".\",\"Traces with locationmode *geojson-id* only support\",\"*FeatureCollection* and *Feature* types.\"].join(\" \")),!1}for(var p in i)u.log([\"Location *\"+p+\"*\",\"does not have a matching feature with id-key\",\"*\"+t.featureidkey+\"*.\"].join(\" \"));return s},fetchTraceGeoData:function(e){var t=window.PlotlyGeoAssets||{},r=[];function i(e){return new Promise((function(r,i){n.json(e,(function(n,a){if(n){delete t[e];var o=404===n.status?'GeoJSON at URL \"'+e+'\" does not exist.':\"Unexpected error while fetching from \"+e;return i(new Error(o))}return t[e]=a,r(a)}))}))}function a(e){return new Promise((function(r,n){var i=0,a=setInterval((function(){return t[e]&&\"pending\"!==t[e]?(clearInterval(a),r(t[e])):i>100?(clearInterval(a),n(\"Unexpected error while fetching from \"+e)):void i++}),50)}))}for(var o=0;o<e.length;o++){var s=e[o][0].trace.geojson;\"string\"==typeof s&&(t[s]?\"pending\"===t[s]&&r.push(a(s)):(t[s]=\"pending\",r.push(i(s))))}return r},computeBbox:function(e){return s.default(e)}}},18214:function(e,t,r){\"use strict\";var n=r(50606).BADNUM;t.calcTraceToLineCoords=function(e){for(var t=e[0].trace.connectgaps,r=[],i=[],a=0;a<e.length;a++){var o=e[a].lonlat;o[0]!==n?i.push(o):!t&&i.length>0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},t.makeLine=function(e){return 1===e.length?{type:\"LineString\",coordinates:e[0]}:{type:\"MultiLineString\",coordinates:e}},t.makePolygon=function(e){if(1===e.length)return{type:\"Polygon\",coordinates:e};for(var t=new Array(e.length),r=0;r<e.length;r++)t[r]=[e[r]];return{type:\"MultiPolygon\",coordinates:t}},t.makeBlank=function(){return{type:\"Point\",coordinates:[]}}},87642:function(e,t,r){\"use strict\";var n,i,a,o=r(64872).mod;function s(e,t,r,n,i,a,o,s){var l=r-e,u=i-e,c=o-i,f=n-t,h=a-t,p=s-a,d=l*p-c*f;if(0===d)return null;var v=(u*p-c*h)/d,g=(u*f-l*h)/d;return g<0||g>1||v<0||v>1?null:{x:e+l*v,y:t+f*v}}function l(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}var l=n*t-i*e;return l*l/r}t.segmentsIntersect=s,t.segmentDistance=function(e,t,r,n,i,a,o,u){if(s(e,t,r,n,i,a,o,u))return 0;var c=r-e,f=n-t,h=o-i,p=u-a,d=c*c+f*f,v=h*h+p*p,g=Math.min(l(c,f,d,i-e,a-t),l(c,f,d,o-e,u-t),l(h,p,v,e-i,t-a),l(h,p,v,r-i,n-a));return Math.sqrt(g)},t.getTextLocation=function(e,t,r,s){if(e===i&&s===a||(n={},i=e,a=s),n[r])return n[r];var l=e.getPointAtLength(o(r-s/2,t)),u=e.getPointAtLength(o(r+s/2,t)),c=Math.atan((u.y-l.y)/(u.x-l.x)),f=e.getPointAtLength(o(r,t)),h={x:(4*f.x+l.x+u.x)/6,y:(4*f.y+l.y+u.y)/6,theta:c};return n[r]=h,h},t.clearLocationCache=function(){i=null},t.getVisibleSegment=function(e,t,r){var n,i,a=t.left,o=t.right,s=t.top,l=t.bottom,u=0,c=e.getTotalLength(),f=c;function h(t){var r=e.getPointAtLength(t);0===t?n=r:t===c&&(i=r);var u=r.x<a?a-r.x:r.x>o?r.x-o:0,f=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(u*u+f*f)}for(var p=h(u);p;){if((u+=p+r)>f)return;p=h(u)}for(p=h(f);p;){if(u>(f-=p+r))return;p=h(f)}return{min:u,max:f,len:f-u,total:c,isClosed:0===u&&f===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},t.findPointOnPath=function(e,t,r,n){for(var i,a,o,s=(n=n||{}).pathLength||e.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=e.getPointAtLength(0)[r]>e.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f<u;){if(i=(h+p)/2,o=(a=e.getPointAtLength(i))[r]-t,Math.abs(o)<l)return a;c*o>0?p=i:h=i,f++}return a}},81697:function(e,t,r){\"use strict\";var n=r(92770),i=r(84267),a=r(25075),o=r(21081),s=r(22399).defaultLine,l=r(73627).isArrayOrTypedArray,u=a(s);function c(e,t){var r=e;return r[3]*=t,r}function f(e){if(n(e))return u;var t=a(e);return t.length?t:u}function h(e){return n(e)?e:1}e.exports={formatColor:function(e,t,r){var n,i,s,p,d,v=e.color,g=l(v),m=l(t),y=o.extractOpts(e),x=[];if(n=void 0!==y.colorscale?o.makeColorScaleFuncFromTrace(e):f,i=g?function(e,t){return void 0===e[t]?u:a(n(e[t]))}:f,s=m?function(e,t){return void 0===e[t]?1:h(e[t])}:h,g||m)for(var b=0;b<r;b++)p=i(v,b),d=s(t,b),x[b]=c(p,d);else x=c(a(v),t);return x},parseColorScale:function(e){var t=o.extractOpts(e),r=t.colorscale;return t.reversescale&&(r=o.flipScale(t.colorscale)),r.map((function(e){var t=e[0],r=i(e[1]).toRgb();return{index:t,rgb:[r.r,r.g,r.b,r.a]}}))}}},28984:function(e,t,r){\"use strict\";var n=r(23389);function i(e){return[e]}e.exports={keyFun:function(e){return e.key},repeat:i,descend:n,wrap:i,unwrap:function(e){return e[0]}}},23389:function(e){\"use strict\";e.exports=function(e){return e}},39240:function(e){\"use strict\";e.exports=function(e,t){if(!t)return e;var r=1/Math.abs(t),n=r>1?(r*e+r*t)/r:e+t,i=String(n).length;if(i>16){var a=String(t).length;if(i>=String(e).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf(\"e+\")&&(n=+o)}}return n}},71828:function(e,t,r){\"use strict\";var n=r(39898),i=r(84096).g0,a=r(60721).WU,o=r(92770),s=r(50606),l=s.FP_SAFE,u=-l,c=s.BADNUM,f=e.exports={};f.adjustFormat=function(e){return!e||/^\\d[.]\\df/.test(e)||/[.]\\d%/.test(e)?e:\"0.f\"===e?\"~f\":/^\\d%/.test(e)?\"~%\":/^\\ds/.test(e)?\"~s\":!/^[~,.0$]/.test(e)&&/[&fps]/.test(e)?\"~\"+e:e};var h={};f.warnBadFormat=function(e){var t=String(e);h[t]||(h[t]=1,f.warn('encountered bad format: \"'+t+'\"'))},f.noFormat=function(e){return String(e)},f.numberFormat=function(e){var t;try{t=a(f.adjustFormat(e))}catch(t){return f.warnBadFormat(e),f.noFormat}return t},f.nestedProperty=r(65487),f.keyedContainer=r(66636),f.relativeAttr=r(6962),f.isPlainObject=r(41965),f.toLogRange=r(58163),f.relinkPrivateKeys=r(51332);var p=r(73627);f.isTypedArray=p.isTypedArray,f.isArrayOrTypedArray=p.isArrayOrTypedArray,f.isArray1D=p.isArray1D,f.ensureArray=p.ensureArray,f.concat=p.concat,f.maxRowLength=p.maxRowLength,f.minRowLength=p.minRowLength;var d=r(64872);f.mod=d.mod,f.modHalf=d.modHalf;var v=r(96554);f.valObjectMeta=v.valObjectMeta,f.coerce=v.coerce,f.coerce2=v.coerce2,f.coerceFont=v.coerceFont,f.coercePattern=v.coercePattern,f.coerceHoverinfo=v.coerceHoverinfo,f.coerceSelectionMarkerOpacity=v.coerceSelectionMarkerOpacity,f.validate=v.validate;var g=r(41631);f.dateTime2ms=g.dateTime2ms,f.isDateTime=g.isDateTime,f.ms2DateTime=g.ms2DateTime,f.ms2DateTimeLocal=g.ms2DateTimeLocal,f.cleanDate=g.cleanDate,f.isJSDate=g.isJSDate,f.formatDate=g.formatDate,f.incrementMonth=g.incrementMonth,f.dateTick0=g.dateTick0,f.dfltRange=g.dfltRange,f.findExactDates=g.findExactDates,f.MIN_MS=g.MIN_MS,f.MAX_MS=g.MAX_MS;var m=r(65888);f.findBin=m.findBin,f.sorterAsc=m.sorterAsc,f.sorterDes=m.sorterDes,f.distinctVals=m.distinctVals,f.roundUp=m.roundUp,f.sort=m.sort,f.findIndexOfMin=m.findIndexOfMin,f.sortObjectKeys=r(78607);var y=r(80038);f.aggNums=y.aggNums,f.len=y.len,f.mean=y.mean,f.median=y.median,f.midRange=y.midRange,f.variance=y.variance,f.stdev=y.stdev,f.interp=y.interp;var x=r(35657);f.init2dArray=x.init2dArray,f.transposeRagged=x.transposeRagged,f.dot=x.dot,f.translationMatrix=x.translationMatrix,f.rotationMatrix=x.rotationMatrix,f.rotationXYMatrix=x.rotationXYMatrix,f.apply3DTransform=x.apply3DTransform,f.apply2DTransform=x.apply2DTransform,f.apply2DTransform2=x.apply2DTransform2,f.convertCssMatrix=x.convertCssMatrix,f.inverseTransformMatrix=x.inverseTransformMatrix;var b=r(26348);f.deg2rad=b.deg2rad,f.rad2deg=b.rad2deg,f.angleDelta=b.angleDelta,f.angleDist=b.angleDist,f.isFullCircle=b.isFullCircle,f.isAngleInsideSector=b.isAngleInsideSector,f.isPtInsideSector=b.isPtInsideSector,f.pathArc=b.pathArc,f.pathSector=b.pathSector,f.pathAnnulus=b.pathAnnulus;var _=r(99863);f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=r(87642);f.segmentsIntersect=w.segmentsIntersect,f.segmentDistance=w.segmentDistance,f.getTextLocation=w.getTextLocation,f.clearLocationCache=w.clearLocationCache,f.getVisibleSegment=w.getVisibleSegment,f.findPointOnPath=w.findPointOnPath;var k=r(1426);f.extendFlat=k.extendFlat,f.extendDeep=k.extendDeep,f.extendDeepAll=k.extendDeepAll,f.extendDeepNoArrays=k.extendDeepNoArrays;var T=r(47769);f.log=T.log,f.warn=T.warn,f.error=T.error;var M=r(30587);f.counterRegex=M.counter;var A=r(79990);f.throttle=A.throttle,f.throttleDone=A.done,f.clearThrottle=A.clear;var S=r(24401);function E(e){var t={};for(var r in e)for(var n=e[r],i=0;i<n.length;i++)t[n[i]]=+r;return t}f.getGraphDiv=S.getGraphDiv,f.isPlotDiv=S.isPlotDiv,f.removeElement=S.removeElement,f.addStyleRule=S.addStyleRule,f.addRelatedStyleRule=S.addRelatedStyleRule,f.deleteRelatedStyleRule=S.deleteRelatedStyleRule,f.getFullTransformMatrix=S.getFullTransformMatrix,f.getElementTransformMatrix=S.getElementTransformMatrix,f.getElementAndAncestors=S.getElementAndAncestors,f.equalDomRects=S.equalDomRects,f.clearResponsive=r(86367),f.preserveDrawingBuffer=r(45142),f.makeTraceGroups=r(77310),f._=r(15867),f.notifier=r(75046),f.filterUnique=r(75744),f.filterVisible=r(76756),f.pushUnique=r(75138),f.increment=r(39240),f.cleanNumber=r(95218),f.ensureNumber=function(e){return o(e)?(e=Number(e))>l||e<u?c:e:c},f.isIndex=function(e,t){return!(void 0!==t&&e>=t)&&o(e)&&e>=0&&e%1==0},f.noop=r(64213),f.identity=r(23389),f.repeat=function(e,t){for(var r=new Array(t),n=0;n<t;n++)r[n]=e;return r},f.swapAttrs=function(e,t,r,n){r||(r=\"x\"),n||(n=\"y\");for(var i=0;i<t.length;i++){var a=t[i],o=f.nestedProperty(e,a.replace(\"?\",r)),s=f.nestedProperty(e,a.replace(\"?\",n)),l=o.get();o.set(s.get()),s.set(l)}},f.raiseToTop=function(e){e.parentNode.appendChild(e)},f.cancelTransition=function(e){return e.transition().duration(0)},f.constrain=function(e,t,r){return t>r?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))},f.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r},f.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=new Array(a),s=0;s<a;s++)o[s]=t(e[s],r,n,i);return o},f.randstr=function e(t,r,n,i){if(n||(n=16),void 0===r&&(r=24),r<=0)return\"0\";var a,o,s=Math.log(Math.pow(2,r))/Math.log(n),l=\"\";for(a=2;s===1/0;a*=2)s=Math.log(Math.pow(2,r/a))/Math.log(n)*a;var u=s-Math.floor(s);for(a=0;a<Math.floor(s);a++)l=Math.floor(Math.random()*n).toString(n)+l;u&&(o=Math.pow(n,u),l=Math.floor(Math.random()*o).toString(n)+l);var c=parseInt(l,n);return t&&t[l]||c!==1/0&&c>=Math.pow(2,r)?i>10?(f.warn(\"randstr failed uniqueness\"),l):e(t,r,n,(i||0)+1):l},f.OptionControl=function(e,t){e||(e={}),t||(t=\"opt\");var r={optionList:[],_newoption:function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)}};return r[\"_\"+t]=e,r},f.smooth=function(e,t){if((t=Math.round(t)||0)<2)return e;var r,n,i,a,o=e.length,s=2*o,l=2*t-1,u=new Array(l),c=new Array(o);for(r=0;r<l;r++)u[r]=(1-Math.cos(Math.PI*(r+1)/t))/(2*t);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)(i=r+n+1-t)<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=e[i]*u[n];c[r]=a}return c},f.syncOrAsync=function(e,t,r){var n;function i(){return f.syncOrAsync(e,t,r)}for(;e.length;)if((n=(0,e.splice(0,1)[0])(t))&&n.then)return n.then(i);return r&&r(t)},f.stripTrailingSlash=function(e){return\"/\"===e.substr(-1)?e.substr(0,e.length-1):e},f.noneOrAll=function(e,t,r){if(e){var n,i=!1,a=!0;for(n=0;n<r.length;n++)null!=e[r[n]]?i=!0:a=!1;if(i&&!a)for(n=0;n<r.length;n++)e[r[n]]=t[r[n]]}},f.mergeArray=function(e,t,r,n){var i=\"function\"==typeof n;if(f.isArrayOrTypedArray(e))for(var a=Math.min(e.length,t.length),o=0;o<a;o++){var s=e[o];t[o][r]=i?n(s):s}},f.mergeArrayCastPositive=function(e,t,r){return f.mergeArray(e,t,r,(function(e){var t=+e;return isFinite(t)&&t>0?t:0}))},f.fillArray=function(e,t,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(e))for(var i=0;i<t.length;i++)t[i][r]=n(e[i])},f.castOption=function(e,t,r,n){n=n||f.identity;var i=f.nestedProperty(e,r).get();return f.isArrayOrTypedArray(i)?Array.isArray(t)&&f.isArrayOrTypedArray(i[t[0]])?n(i[t[0]][t[1]]):n(i[t]):i},f.extractOption=function(e,t,r,n){if(r in e)return e[r];var i=f.nestedProperty(t,n).get();return Array.isArray(i)?void 0:i},f.tagSelected=function(e,t,r){var n,i,a=t.selectedpoints,o=t._indexToPoints;o&&(n=E(o));for(var s=0;s<a.length;s++){var l=a[s];if(f.isIndex(l)||f.isArrayOrTypedArray(l)&&f.isIndex(l[0])&&f.isIndex(l[1])){var u=n?n[l]:l,c=r?r[u]:u;void 0!==(i=c)&&i<e.length&&(e[c].selected=1)}}},f.selIndices2selPoints=function(e){var t=e.selectedpoints,r=e._indexToPoints;if(r){for(var n=E(r),i=[],a=0;a<t.length;a++){var o=t[a];if(f.isIndex(o)){var s=n[o];f.isIndex(s)&&i.push(s)}}return i}return t},f.getTargetArray=function(e,t){var r=t.target;if(\"string\"==typeof r&&r){var n=f.nestedProperty(e,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},f.minExtend=function e(t,r,n){var i={};\"object\"!=typeof r&&(r={});var a,o,s,l=\"pieLike\"===n?-1:3,u=Object.keys(t);for(a=0;a<u.length;a++)s=t[o=u[a]],\"_\"!==o.charAt(0)&&\"function\"!=typeof s&&(\"module\"===o?i[o]=s:Array.isArray(s)?i[o]=\"colorscale\"===o||-1===l?s.slice():s.slice(0,l):f.isTypedArray(s)?i[o]=-1===l?s.subarray():s.subarray(0,l):i[o]=s&&\"object\"==typeof s?e(t[o],r[o],n):s);for(u=Object.keys(r),a=0;a<u.length;a++)\"object\"==typeof(s=r[o=u[a]])&&o in i&&\"object\"==typeof i[o]||(i[o]=s);return i},f.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substr(1)},f.containsAny=function(e,t){for(var r=0;r<t.length;r++)if(-1!==e.indexOf(t[r]))return!0;return!1},f.isIE=function(){return void 0!==window.navigator.msSaveBlob};var C=/Version\\/[\\d\\.]+.*Safari/;f.isSafari=function(){return C.test(window.navigator.userAgent)};var L=/iPad|iPhone|iPod/;f.isIOS=function(){return L.test(window.navigator.userAgent)};var P=/Firefox\\/(\\d+)\\.\\d+/;f.getFirefoxVersion=function(){var e=P.exec(window.navigator.userAgent);if(e&&2===e.length){var t=parseInt(e[1]);if(!isNaN(t))return t}return null},f.isD3Selection=function(e){return e instanceof n.selection},f.ensureSingle=function(e,t,r,n){var i=e.select(t+(r?\".\"+r:\"\"));if(i.size())return i;var a=e.append(t);return r&&a.classed(r,!0),n&&a.call(n),a},f.ensureSingleById=function(e,t,r,n){var i=e.select(t+\"#\"+r);if(i.size())return i;var a=e.append(t).attr(\"id\",r);return n&&a.call(n),a},f.objectFromPath=function(e,t){for(var r,n=e.split(\".\"),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\\[([0-9]+)\\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=t:r[s]={},r=r[s]):(a===n.length-1?r[o]=t:r[o]={},r=r[o])}return i};var O=/^([^\\[\\.]+)\\.(.+)?/,I=/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;function D(e){return\"__\"===e.slice(0,2)}f.expandObjectPaths=function(e){var t,r,n,i,a,o,s;if(\"object\"==typeof e&&!Array.isArray(e))for(r in e)if(e.hasOwnProperty(r))if(t=r.match(O)){if(i=e[r],D(n=t[1]))continue;delete e[r],e[n]=f.extendDeepNoArrays(e[n]||{},f.objectFromPath(r,f.expandObjectPaths(i))[n])}else if(t=r.match(I)){if(i=e[r],D(n=t[1]))continue;if(a=parseInt(t[2]),delete e[r],e[n]=e[n]||[],\".\"===t[3])s=t[4],o=e[n][a]=e[n][a]||{},f.extendDeepNoArrays(o,f.objectFromPath(s,f.expandObjectPaths(i)));else{if(D(n))continue;e[n][a]=f.expandObjectPaths(i)}}else{if(D(r))continue;e[r]=f.expandObjectPaths(e[r])}return e},f.numSeparate=function(e,t,r){if(r||(r=!1),\"string\"!=typeof t||0===t.length)throw new Error(\"Separator string required for formatting!\");\"number\"==typeof e&&(e=String(e));var n=/(\\d+)(\\d{3})/,i=t.charAt(0),a=t.charAt(1),o=e.split(\".\"),s=o[0],l=o.length>1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l},f.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var z=/^\\w*$/;f.templateString=function(e,t){var r={};return e.replace(f.TEMPLATE_STRING_REGEX,(function(e,n){var i;return z.test(n)?i=t[n]:(r[n]=r[n]||f.nestedProperty(t,n).get,i=r[n]()),f.isValidTextValue(i)?i:\"\"}))};var R={max:10,count:0,name:\"hovertemplate\"};f.hovertemplateString=function(){return U.apply(R,arguments)};var F={max:10,count:0,name:\"texttemplate\"};f.texttemplateString=function(){return U.apply(F,arguments)};var B=/^(\\S+)([\\*\\/])(-?\\d+(\\.\\d+)?)$/,N={max:10,count:0,name:\"texttemplate\",parseMultDiv:!0};f.texttemplateStringForShapes=function(){return U.apply(N,arguments)};var j=/^[:|\\|]/;function U(e,t,r){var n=this,a=arguments;t||(t={});var o={};return e.replace(f.TEMPLATE_STRING_REGEX,(function(e,s,l){var u=\"_xother\"===s||\"_yother\"===s,c=\"_xother_\"===s||\"_yother_\"===s,h=\"xother_\"===s||\"yother_\"===s,p=\"xother\"===s||\"yother\"===s||u||h||c,d=s;(u||c)&&(d=d.substring(1)),(h||c)&&(d=d.substring(0,d.length-1));var v,g,m,y=null,x=null;if(n.parseMultDiv){var b=function(e){var t=e.match(B);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}(d);d=b.key,y=b.op,x=b.number}if(p){if(void 0===(v=t[d]))return\"\"}else for(m=3;m<a.length;m++)if(g=a[m]){if(g.hasOwnProperty(d)){v=g[d];break}if(z.test(d)||(v=f.nestedProperty(g,d).get(),(v=o[d]||f.nestedProperty(g,d).get())&&(o[d]=v)),void 0!==v)break}if(void 0!==v&&(\"*\"===y&&(v*=x),\"/\"===y&&(v/=x)),void 0===v&&n)return n.count<n.max&&(f.warn(\"Variable '\"+d+\"' in \"+n.name+\" could not be found!\"),v=e),n.count===n.max&&f.warn(\"Too many \"+n.name+\" warnings - additional warnings will be suppressed\"),n.count++,e;if(l){var _;if(\":\"===l[0]&&(v=(_=r?r.numberFormat:f.numberFormat)(l.replace(j,\"\"))(v)),\"|\"===l[0]){_=r?r.timeFormat:i;var w=f.dateTime2ms(v);v=f.formatDate(w,l.replace(j,\"\"),!1,_)}}else{var k=d+\"Label\";t.hasOwnProperty(k)&&(v=t[k])}return p&&(v=\"(\"+v+\")\",(u||c)&&(v=\" \"+v),(h||c)&&(v+=\" \")),v}))}f.subplotSort=function(e,t){for(var r=Math.min(e.length,t.length)+1,n=0,i=0,a=0;a<r;a++){var o=e.charCodeAt(a)||0,s=t.charCodeAt(a)||0,l=o>=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var V=2e9;f.seedPseudoRandom=function(){V=2e9},f.pseudoRandom=function(){var e=V;return V=(69069*V+1)%4294967296,Math.abs(V-e)<429496729?f.pseudoRandom():V/4294967296},f.fillText=function(e,t,r){var n=Array.isArray(r)?function(e){r.push(e)}:function(e){r.text=e},i=f.extractOption(e,t,\"htx\",\"hovertext\");if(f.isValidTextValue(i))return n(i);var a=f.extractOption(e,t,\"tx\",\"text\");return f.isValidTextValue(a)?n(a):void 0},f.isValidTextValue=function(e){return e||0===e},f.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+\"%\",n=0;n<t;n++)-1!==r.indexOf(\".\")&&(r=(r=r.replace(\"0%\",\"%\")).replace(\".%\",\"%\"));return r},f.isHidden=function(e){var t=window.getComputedStyle(e).display;return!t||\"none\"===t},f.strTranslate=function(e,t){return e||t?\"translate(\"+e+\",\"+t+\")\":\"\"},f.strRotate=function(e){return e?\"rotate(\"+e+\")\":\"\"},f.strScale=function(e){return 1!==e?\"scale(\"+e+\")\":\"\"},f.getTextTransform=function(e){var t=e.noCenter,r=e.textX,n=e.textY,i=e.targetX,a=e.targetY,o=e.anchorX||0,s=e.anchorY||0,l=e.rotate,u=e.scale;return u?u>1&&(u=1):u=0,f.strTranslate(i-u*(r+o),a-u*(n+s))+f.strScale(u)+(l?\"rotate(\"+l+(t?\"\":\" \"+r+\" \"+n)+\")\":\"\")},f.setTransormAndDisplay=function(e,t){e.attr(\"transform\",f.getTextTransform(t)),e.style(\"display\",t.scale?null:\"none\")},f.ensureUniformFontSize=function(e,t){var r=f.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r},f.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)},f.bigFont=function(e){return Math.round(1.2*e)};var H=f.getFirefoxVersion(),q=null!==H&&H<86;f.getPositionFromD3Event=function(){return q?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},41965:function(e){\"use strict\";e.exports=function(e){return window&&window.process&&window.process.versions?\"[object Object]\"===Object.prototype.toString.call(e):\"[object Object]\"===Object.prototype.toString.call(e)&&Object.getPrototypeOf(e).hasOwnProperty(\"hasOwnProperty\")}},66636:function(e,t,r){\"use strict\";var n=r(65487),i=/^\\w*$/;e.exports=function(e,t,r,a){var o,s,l;r=r||\"name\",a=a||\"value\";var u={};t&&t.length?(l=n(e,t),s=l.get()):s=e,t=t||\"\";var c={};if(s)for(o=0;o<s.length;o++)c[s[o][r]]=o;var f=i.test(a),h={set:function(e,t){var i=null===t?4:0;if(!s){if(!l||4===i)return;s=[],l.set(s)}var o=c[e];if(void 0===o){if(4===i)return;i|=3,o=s.length,c[e]=o}else t!==(f?s[o][a]:n(s[o],a).get())&&(i|=2);var p=s[o]=s[o]||{};return p[r]=e,f?p[a]=t:n(p,a).set(t),null!==t&&(i&=-5),u[o]=u[o]|i,h},get:function(e){if(s){var t=c[e];return void 0===t?void 0:f?s[t][a]:n(s[t],a).get()}},rename:function(e,t){var n=c[e];return void 0===n||(u[n]=1|u[n],c[t]=n,delete c[e],s[n][r]=t),h},remove:function(e){var t=c[e];if(void 0===t)return h;var i=s[t];if(Object.keys(i).length>2)return u[t]=2|u[t],h.set(e,null);if(f){for(o=t;o<s.length;o++)u[o]=3|u[o];for(o=t;o<s.length;o++)c[s[o][r]]--;s.splice(t,1),delete c[e]}else n(i,a).set(null),u[t]=6|u[t];return h},constructUpdate:function(){for(var e,i,o={},l=Object.keys(u),c=0;c<l.length;c++)i=l[c],e=t+\"[\"+i+\"]\",s[i]?(1&u[i]&&(o[e+\".\"+r]=s[i][r]),2&u[i]&&(o[e+\".\"+a]=f?4&u[i]?null:s[i][a]:4&u[i]?null:n(s[i],a).get())):o[e]=null;return o}};return h}},15867:function(e,t,r){\"use strict\";var n=r(73972);e.exports=function(e,t){for(var r=e._context.locale,i=0;i<2;i++){for(var a=e._context.locales,o=0;o<2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[t];if(l)return l}a=n.localeRegistry}var u=r.split(\"-\")[0];if(u===r)break;r=u}return t}},47769:function(e,t,r){\"use strict\";var n=r(72075).dfltConfig,i=r(75046),a=e.exports={};a.log=function(){var e;if(n.logging>1){var t=[\"LOG:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(n.notifyOnLogging>1){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);i(r.join(\"<br>\"),\"long\")}},a.warn=function(){var e;if(n.logging>0){var t=[\"WARN:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(n.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);i(r.join(\"<br>\"),\"stick\")}},a.error=function(){var e;if(n.logging>0){var t=[\"ERROR:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.error.apply(console,t)}if(n.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);i(r.join(\"<br>\"),\"stick\")}}},77310:function(e,t,r){\"use strict\";var n=r(39898);e.exports=function(e,t,r){var i=e.selectAll(\"g.\"+r.replace(/\\s/g,\".\")).data(t,(function(e){return e[0].trace.uid}));i.exit().remove(),i.enter().append(\"g\").attr(\"class\",r),i.order();var a=e.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return i.each((function(e){e[0][a]=n.select(this)})),i}},35657:function(e,t,r){\"use strict\";var n=r(79576);t.init2dArray=function(e,t){for(var r=new Array(e),n=0;n<e;n++)r[n]=new Array(t);return r},t.transposeRagged=function(e){var t,r,n=0,i=e.length;for(t=0;t<i;t++)n=Math.max(n,e[t].length);var a=new Array(n);for(t=0;t<n;t++)for(a[t]=new Array(i),r=0;r<i;r++)a[t][r]=e[r][t];return a},t.dot=function(e,r){if(!e.length||!r.length||e.length!==r.length)return null;var n,i,a=e.length;if(e[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=t.dot(e[i],r);else if(r[0].length){var o=t.transposeRagged(r);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=t.dot(e,o[i])}else for(n=0,i=0;i<a;i++)n+=e[i]*r[i];return n},t.translationMatrix=function(e,t){return[[1,0,e],[0,1,t],[0,0,1]]},t.rotationMatrix=function(e){var t=e*Math.PI/180;return[[Math.cos(t),-Math.sin(t),0],[Math.sin(t),Math.cos(t),0],[0,0,1]]},t.rotationXYMatrix=function(e,r,n){return t.dot(t.dot(t.translationMatrix(r,n),t.rotationMatrix(e)),t.translationMatrix(-r,-n))},t.apply3DTransform=function(e){return function(){var r=arguments,n=1===arguments.length?r[0]:[r[0],r[1],r[2]||0];return t.dot(e,[n[0],n[1],n[2],1]).slice(0,3)}},t.apply2DTransform=function(e){return function(){var r=arguments;3===r.length&&(r=r[0]);var n=1===arguments.length?r[0]:[r[0],r[1]];return t.dot(e,[n[0],n[1],1]).slice(0,2)}},t.apply2DTransform2=function(e){var r=t.apply2DTransform(e);return function(e){return r(e.slice(0,2)).concat(r(e.slice(2,4)))}},t.convertCssMatrix=function(e){if(e){var t=e.length;if(16===t)return e;if(6===t)return[e[0],e[1],0,0,e[2],e[3],0,0,0,0,1,0,e[4],e[5],0,1]}return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},t.inverseTransformMatrix=function(e){var t=[];return n.invert(t,e),[[t[0],t[1],t[2],t[3]],[t[4],t[5],t[6],t[7]],[t[8],t[9],t[10],t[11]],[t[12],t[13],t[14],t[15]]]}},64872:function(e){\"use strict\";e.exports={mod:function(e,t){var r=e%t;return r<0?r+t:r},modHalf:function(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}}},65487:function(e,t,r){\"use strict\";var n=r(92770),i=r(73627).isArrayOrTypedArray;function a(e,t){return function(){var r,n,o,s,l,u=e;for(s=0;s<t.length-1;s++){if(-1===(r=t[s])){for(n=!0,o=[],l=0;l<u.length;l++)o[l]=a(u[l],t.slice(s+1))(),o[l]!==o[0]&&(n=!1);return n?o[0]:o}if(\"number\"==typeof r&&!i(u))return;if(\"object\"!=typeof(u=u[r])||null===u)return}if(\"object\"==typeof u&&null!==u&&null!==(o=u[t[s]]))return o}}e.exports=function(e,t){if(n(t))t=String(t);else if(\"string\"!=typeof t||\"[-1]\"===t.substr(t.length-4))throw\"bad property string\";var r,i,o,s,u=t.split(\".\");for(s=0;s<u.length;s++)if(\"__\"===String(u[s]).slice(0,2))throw\"bad property string\";for(s=0;s<u.length;){if(r=String(u[s]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/)){if(r[1])u[s]=r[1];else{if(0!==s)throw\"bad property string\";u.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split(\"][\"),o=0;o<i.length;o++)s++,u.splice(s,0,Number(i[o]))}s++}return\"object\"!=typeof e?function(e,t,r){return{set:function(){throw\"bad container\"},get:function(){},astr:t,parts:r,obj:e}}(e,t,u):{set:l(e,u,t),get:a(e,u),astr:t,parts:u,obj:e}};var o=/(^|\\.)args\\[/;function s(e,t){return void 0===e||null===e&&!t.match(o)}function l(e,t,r){return function(n){var a,o,l=e,h=\"\",p=[[e,h]],d=s(n,r);for(o=0;o<t.length-1;o++){if(\"number\"==typeof(a=t[o])&&!i(l))throw\"array index but container is not an array\";if(-1===a){if(d=!c(l,t.slice(o+1),n,r))break;return}if(!f(l,a,t[o+1],d))break;if(\"object\"!=typeof(l=l[a])||null===l)throw\"container is not an object\";h=u(h,a),p.push([l,h])}if(d){if(o===t.length-1&&(delete l[t[o]],Array.isArray(l)&&+t[o]==l.length-1))for(;l.length&&void 0===l[l.length-1];)l.pop()}else l[t[o]]=n}}function u(e,t){var r=t;return n(t)?r=\"[\"+t+\"]\":e&&(r=\".\"+t),e+r}function c(e,t,r,n){var a,o=i(r),u=!0,c=r,h=n.replace(\"-1\",0),p=!o&&s(r,h),d=t[0];for(a=0;a<e.length;a++)h=n.replace(\"-1\",a),o&&(p=s(c=r[a%r.length],h)),p&&(u=!1),f(e,a,d,p)&&l(e[a],t,n.replace(\"-1\",a))(c);return u}function f(e,t,r,n){if(void 0===e[t]){if(n)return!1;e[t]=\"number\"==typeof r?[]:{}}return!0}},64213:function(e){\"use strict\";e.exports=function(){}},75046:function(e,t,r){\"use strict\";var n=r(39898),i=r(92770),a=[];e.exports=function(e,t){if(-1===a.indexOf(e)){a.push(e);var r=1e3;i(t)?r=t:\"long\"===t&&(r=3e3);var o=n.select(\"body\").selectAll(\".plotly-notifier\").data([0]);o.enter().append(\"div\").classed(\"plotly-notifier\",!0),o.selectAll(\".notifier-note\").data(a).enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each((function(e){var i=n.select(this);i.append(\"button\").classed(\"notifier-close\",!0).html(\"&times;\").on(\"click\",(function(){i.transition().call(s)}));for(var a=i.append(\"p\"),o=e.split(/<br\\s*\\/?>/g),l=0;l<o.length;l++)l&&a.append(\"br\"),a.append(\"span\").text(o[l]);\"stick\"===t?i.transition().duration(350).style(\"opacity\",1):i.transition().duration(700).style(\"opacity\",1).transition().delay(r).call(s)}))}function s(e){e.duration(700).style(\"opacity\",0).each(\"end\",(function(e){var t=a.indexOf(e);-1!==t&&a.splice(t,1),n.select(this).remove()}))}}},39918:function(e,t,r){\"use strict\";var n=r(6964),i=\"data-savedcursor\";e.exports=function(e,t){var r=e.attr(i);if(t){if(!r){for(var a=(e.attr(\"class\")||\"\").split(\" \"),o=0;o<a.length;o++){var s=a[o];0===s.indexOf(\"cursor-\")&&e.attr(i,s.substr(7)).classed(s,!1)}e.attr(i)||e.attr(i,\"!!\")}n(e,t)}else r&&(e.attr(i,null),\"!!\"===r?n(e):n(e,r))}},61082:function(e,t,r){\"use strict\";var n=r(35657).dot,i=r(50606).BADNUM,a=e.exports={};a.tester=function(e){var t,r=e.slice(),n=r[0][0],a=n,o=r[0][1],s=o;for(r[r.length-1][0]===r[0][0]&&r[r.length-1][1]===r[0][1]||r.push(r[0]),t=1;t<r.length;t++)n=Math.min(n,r[t][0]),a=Math.max(a,r[t][0]),o=Math.min(o,r[t][1]),s=Math.max(s,r[t][1]);var l,u=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(u=!0,l=function(e){return e[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(u=!0,l=function(e){return e[1]===r[0][1]}));var c=!0,f=r[0];for(t=1;t<r.length;t++)if(f[0]!==r[t][0]||f[1]!==r[t][1]){c=!1;break}return{xmin:n,xmax:a,ymin:o,ymax:s,pts:r,contains:u?function(e,t){var r=e[0],u=e[1];return!(r===i||r<n||r>a||u===i||u<o||u>s||t&&l(e))}:function(e,t){var l=e[0],u=e[1];if(l===i||l<n||l>a||u===i||u<o||u>s)return!1;var c,f,h,p,d,v=r.length,g=r[0][0],m=r[0][1],y=0;for(c=1;c<v;c++)if(f=g,h=m,g=r[c][0],m=r[c][1],!(l<(p=Math.min(f,g))||l>Math.max(f,g)||u>Math.max(h,m)))if(u<Math.min(h,m))l!==p&&y++;else{if(u===(d=g===f?u:h+(l-f)*(m-h)/(g-f)))return 1!==c||!t;u<=d&&l!==p&&y++}return y%2==1},isRect:u,degenerate:c}},a.isSegmentBent=function(e,t,r,i){var a,o,s,l=e[t],u=[e[r][0]-l[0],e[r][1]-l[1]],c=n(u,u),f=Math.sqrt(c),h=[-u[1]/f,u[0]/f];for(a=t+1;a<r;a++)if(o=[e[a][0]-l[0],e[a][1]-l[1]],(s=n(o,u))<0||s>c||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(e,t){var r=[e[0]],n=0,i=0;function o(o){e.push(o);var s=r.length,l=n;r.splice(i+1);for(var u=l+1;u<e.length;u++)(u===e.length-1||a.isSegmentBent(e,l,u+1,t))&&(r.push(e[u]),r.length<s-2&&(n=u,i=r.length-1),l=u)}return e.length>1&&o(e.pop()),{addPt:o,raw:e,filtered:r}}},79749:function(e,t,r){\"use strict\";var n=r(58617),i=r(98580);e.exports=function(e,t,a){var o=e._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has(\"parcoords\")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:e._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:t||[],cachedCode:a||{}})}catch(e){s=!1}n.regl||(s=!1),s&&this.addEventListener(\"webglcontextlost\",(function(t){e&&e.emit&&e.emit(\"plotly_webglcontextlost\",{event:t,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},45142:function(e,t,r){\"use strict\";var n=r(92770),i=r(35791);e.exports=function(e){var t;if(\"string\"!=typeof(t=e&&e.hasOwnProperty(\"userAgent\")?e.userAgent:function(){var e;return\"undefined\"!=typeof navigator&&(e=navigator.userAgent),e&&e.headers&&\"string\"==typeof e.headers[\"user-agent\"]&&(e=e.headers[\"user-agent\"]),e}()))return!0;var r=i({ua:{headers:{\"user-agent\":t}},tablet:!0,featureDetect:!1});if(!r)for(var a=t.split(\" \"),o=1;o<a.length;o++)if(-1!==a[o].indexOf(\"Safari\"))for(var s=o-1;s>-1;s--){var l=a[s];if(\"Version/\"===l.substr(0,8)){var u=l.substr(8).split(\".\")[0];if(n(u)&&(u=+u),u>=13)return!0}}return r}},75138:function(e){\"use strict\";e.exports=function(e,t){if(t instanceof RegExp){for(var r=t.toString(),n=0;n<e.length;n++)if(e[n]instanceof RegExp&&e[n].toString()===r)return e;e.push(t)}else!t&&0!==t||-1!==e.indexOf(t)||e.push(t);return e}},10847:function(e,t,r){\"use strict\";var n=r(71828),i=r(72075).dfltConfig,a={add:function(e,t,r,n,a){var o,s;e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},s=e.undoQueue.index,e.autoplay?e.undoQueue.inSequence||(e.autoplay=!1):(!e.undoQueue.sequence||e.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},e.undoQueue.queue.splice(s,e.undoQueue.queue.length-s,o),e.undoQueue.index+=1):o=e.undoQueue.queue[s-1],e.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(t),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(a)),e.undoQueue.queue.length>i.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--))},startSequence:function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0},stopSequence:function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1},undo:function(e){var t,r;if(!(void 0===e.undoQueue||isNaN(e.undoQueue.index)||e.undoQueue.index<=0)){for(e.undoQueue.index--,t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,r=0;r<t.undo.calls.length;r++)a.plotDo(e,t.undo.calls[r],t.undo.args[r]);e.undoQueue.inSequence=!1,e.autoplay=!1}},redo:function(e){var t,r;if(!(void 0===e.undoQueue||isNaN(e.undoQueue.index)||e.undoQueue.index>=e.undoQueue.queue.length)){for(t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,r=0;r<t.redo.calls.length;r++)a.plotDo(e,t.redo.calls[r],t.redo.args[r]);e.undoQueue.inSequence=!1,e.autoplay=!1,e.undoQueue.index++}},plotDo:function(e,t,r){e.autoplay=!0,r=function(e,t){for(var r,i=[],a=0;a<t.length;a++)r=t[a],i[a]=r===e?r:\"object\"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(e,r),t.apply(null,r)}};e.exports=a},30587:function(e,t){\"use strict\";t.counter=function(e,t,r,n){var i=(t||\"\")+(r?\"\":\"$\"),a=!1===n?\"\":\"^\";return\"xy\"===e?new RegExp(a+\"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+i):new RegExp(a+e+\"([2-9]|[1-9][0-9]+)?\"+i)}},6962:function(e){\"use strict\";var t=/^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/,r=/^[^\\.\\[\\]]+$/;e.exports=function(e,n){for(;n;){var i=e.match(t);if(i)e=i[1];else{if(!e.match(r))throw new Error(\"bad relativeAttr call:\"+[e,n]);e=\"\"}if(\"^\"!==n.charAt(0))break;n=n.slice(1)}return e&&\"[\"!==n.charAt(0)?e+\".\"+n:e+n}},51332:function(e,t,r){\"use strict\";var n=r(73627).isArrayOrTypedArray,i=r(41965);e.exports=function e(t,r){for(var a in r){var o=r[a],s=t[a];if(s!==o)if(\"_\"===a.charAt(0)||\"function\"==typeof o){if(a in t)continue;t[a]=o}else if(n(o)&&n(s)&&i(o[0])){if(\"customdata\"===a||\"ids\"===a)continue;for(var l=Math.min(o.length,s.length),u=0;u<l;u++)s[u]!==o[u]&&i(o[u])&&i(s[u])&&e(s[u],o[u])}else i(o)&&i(s)&&(e(s,o),Object.keys(s).length||delete t[a])}}},65888:function(e,t,r){\"use strict\";var n=r(92770),i=r(47769),a=r(23389),o=r(50606).BADNUM,s=1e-9;function l(e,t){return e<t}function u(e,t){return e<=t}function c(e,t){return e>t}function f(e,t){return e>=t}t.findBin=function(e,t,r){if(n(t.start))return r?Math.ceil((e-t.start)/t.size-s)-1:Math.floor((e-t.start)/t.size+s);var a,o,h=0,p=t.length,d=0,v=p>1?(t[p-1]-t[0])/(p-1):1;for(o=v>=0?r?l:u:r?f:c,e+=v*s*(r?-1:1)*(v>=0?1:-1);h<p&&d++<100;)o(t[a=Math.floor((h+p)/2)],e)?h=a+1:p=a;return d>90&&i.log(\"Long binary search...\"),h-1},t.sorterAsc=function(e,t){return e-t},t.sorterDes=function(e,t){return t-e},t.distinctVals=function(e){var r,n=e.slice();for(n.sort(t.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],u=0;u<=r;u++){var c=n[u],f=c-i;void 0===i?(l.push(c),i=c):f>s&&(a=Math.min(a,f),l.push(c),i=c)}return{vals:l,minDiff:a}},t.roundUp=function(e,t,r){for(var n,i=0,a=t.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i<a&&o++<100;)t[n=u((i+a)/2)]<=e?i=n+s:a=n-l;return t[i]},t.sort=function(e,t){for(var r=0,n=0,i=1;i<e.length;i++){var a=t(e[i],e[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()},t.findIndexOfMin=function(e,t){t=t||a;for(var r,n=1/0,i=0;i<e.length;i++){var o=t(e[i]);o<n&&(n=o,r=i)}return r}},6964:function(e){\"use strict\";e.exports=function(e,t){(e.attr(\"class\")||\"\").split(\" \").forEach((function(t){0===t.indexOf(\"cursor-\")&&e.classed(t,!1)})),t&&e.classed(\"cursor-\"+t,!0)}},58617:function(e,t,r){\"use strict\";var n=r(7901),i=function(){};e.exports=function(e){for(var t in e)\"function\"==typeof e[t]&&(e[t]=i);e.destroy=function(){e.container.parentNode.removeChild(e.container)};var r=document.createElement(\"div\");r.className=\"no-webgl\",r.style.cursor=\"pointer\",r.style.fontSize=\"24px\",r.style.color=n.defaults[0],r.style.position=\"absolute\",r.style.left=r.style.top=\"0px\",r.style.width=r.style.height=\"100%\",r.style[\"background-color\"]=n.lightLine,r.style[\"z-index\"]=30;var a=document.createElement(\"p\");return a.textContent=\"WebGL is not supported by your browser - visit https://get.webgl.org for more info\",a.style.position=\"relative\",a.style.top=\"50%\",a.style.left=\"50%\",a.style.height=\"30%\",a.style.width=\"50%\",a.style.margin=\"-15% 0 0 -25%\",r.appendChild(a),e.container.appendChild(r),e.container.style.background=\"#FFFFFF\",e.container.onclick=function(){window.open(\"https://get.webgl.org\")},!1}},78607:function(e){\"use strict\";e.exports=function(e){return Object.keys(e).sort()}},80038:function(e,t,r){\"use strict\";var n=r(92770),i=r(73627).isArrayOrTypedArray;t.aggNums=function(e,r,a,o){var s,l;if((!o||o>a.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=t.aggNums(e,r,a[s]);a=l}for(s=0;s<o;s++)n(r)?n(a[s])&&(r=e(+r,+a[s])):r=a[s];return r},t.len=function(e){return t.aggNums((function(e){return e+1}),0,e)},t.mean=function(e,r){return r||(r=t.len(e)),t.aggNums((function(e,t){return e+t}),0,e)/r},t.midRange=function(e){if(void 0!==e&&0!==e.length)return(t.aggNums(Math.max,null,e)+t.aggNums(Math.min,null,e))/2},t.variance=function(e,r,i){return r||(r=t.len(e)),n(i)||(i=t.mean(e,r)),t.aggNums((function(e,t){return e+Math.pow(t-i,2)}),0,e)/r},t.stdev=function(e,r,n){return Math.sqrt(t.variance(e,r,n))},t.median=function(e){var r=e.slice().sort();return t.interp(r,.5)},t.interp=function(e,t){if(!n(t))throw\"n should be a finite number\";if((t=t*e.length-.5)<0)return e[0];if(t>e.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}},78614:function(e,t,r){\"use strict\";var n=r(25075);e.exports=function(e){return e?n(e):[0,0,0,1]}},3883:function(e,t,r){\"use strict\";var n=r(32396),i=r(91424),a=r(71828),o=null;e.exports=function(){if(null!==o)return o;o=!1;var e=a.isIE()||a.isSafari()||a.isIOS();if(window.navigator.userAgent&&!e){var t=Array.from(n.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(\"function\"==typeof r)o=t.some((function(e){return r.apply(null,e)}));else{var s=i.tester.append(\"image\").attr(\"style\",n.STYLE),l=window.getComputedStyle(s.node()).imageRendering;o=t.some((function(e){var t=e[1];return l===t||l===t.toLowerCase()})),s.remove()}}return o}},63893:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=i.strTranslate,o=r(77922),s=r(18783).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;t.convertToTspans=function(e,r,g){var S=e.text(),E=!e.attr(\"data-notex\")&&r&&r._context.typesetMath&&\"undefined\"!=typeof MathJax&&S.match(l),P=n.select(e.node().parentNode);if(!P.empty()){var O=e.attr(\"class\")?e.attr(\"class\").split(\" \")[0]:\"text\";return O+=\"-math\",P.selectAll(\"svg.\"+O).remove(),P.selectAll(\"g.\"+O+\"-group\").remove(),e.style(\"display\",null).attr({\"data-unformatted\":S,\"data-math\":\"N\"}),E?(r&&r._promises||[]).push(new Promise((function(t){e.style(\"display\",\"none\");var r=parseInt(e.node().style.fontSize,10),o={fontSize:r};!function(e,t,r){var a,o,s,l,h=parseInt((MathJax.version||\"\").split(\".\")[0]);if(2===h||3===h){var p=function(){var r=\"math-output-\"+i.randstr({},64),a=(l=n.select(\"body\").append(\"div\").attr({id:r}).style({visibility:\"hidden\",position:\"absolute\",\"font-size\":t.fontSize+\"px\"}).text(e.replace(u,\"\\\\lt \").replace(c,\"\\\\gt \"))).node();return 2===h?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var t=l.select(2===h?\".MathJax_SVG\":\".MathJax\"),a=!t.empty()&&l.select(\"svg\").node();if(a){var o,s=a.getBoundingClientRect();o=2===h?n.select(\"body\").select(\"#MathJax_SVG_glyphs\"):t.select(\"defs\"),r(t,o,s)}else i.log(\"There was an error in the tex syntax.\",e),r();l.remove()};2===h?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:f},displayAlign:\"left\"})}),(function(){if(\"SVG\"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer(\"SVG\")}),p,d,(function(){if(\"SVG\"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===h&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=f,\"svg\"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output=\"svg\"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),\"svg\"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn(\"No MathJax version:\",MathJax.version)}(E[2],o,(function(n,i,o){P.selectAll(\"svg.\"+O).remove(),P.selectAll(\"g.\"+O+\"-group\").remove();var s=n&&n.select(\"svg\");if(!s||!s.node())return I(),void t();var l=P.append(\"g\").classed(O+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":S,\"data-math\":\"Y\"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var u=o.width,c=o.height;s.attr({class:O,height:c,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var f=e.node().style.fill||\"black\",h=s.select(\"g\");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,v=p.height;(d>u||v>c)&&(s.style(\"overflow\",\"hidden\"),d=(p=s.node().getBoundingClientRect()).width,v=p.height);var m=+e.attr(\"x\"),y=+e.attr(\"y\"),x=-(r||e.node().getBoundingClientRect().height)/4;if(\"y\"===O[0])l.attr({transform:\"rotate(\"+[-90,m,y]+\")\"+a(-d/2,x-v/2)});else if(\"l\"===O[0])y=x-v/2;else if(\"a\"===O[0]&&0!==O.indexOf(\"atitle\"))m=0,y=x;else{var b=e.attr(\"text-anchor\");m-=d*(\"middle\"===b?.5:\"end\"===b?1:0),y=y+x-v/2}s.attr({x:m,y}),g&&g.call(e,l),t(l)}))}))):I(),e}function I(){P.empty()||(O=e.attr(\"class\")+\"-math\",P.select(\"svg.\"+O).remove()),e.text(\"\").style(\"white-space\",\"pre\");var r=function(e,t){t=t.replace(m,\" \");var r,a=!1,l=[],u=-1;function c(){u++;var t=document.createElementNS(o.svg,\"tspan\");n.select(t).attr({class:\"line\",dy:u*s+\"em\"}),e.appendChild(t),r=t;var i=l;if(l=[{node:t}],i.length>1)for(var a=1;a<i.length;a++)f(i[a])}function f(e){var t,i=e.type,a={};if(\"a\"===i){t=\"a\";var s=e.target,u=e.href,c=e.popup;u&&(a={\"xlink:xlink:show\":\"_blank\"===s||\"_\"!==s.charAt(0)?\"new\":\"replace\",target:s,\"xlink:xlink:href\":u},c&&(a.onclick='window.open(this.href.baseVal,this.target.baseVal,\"'+c+'\");return false;'))}else t=\"tspan\";e.style&&(a.style=e.style);var f=document.createElementNS(o.svg,t);if(\"sup\"===i||\"sub\"===i){g(r,v),r.appendChild(f);var h=document.createElementNS(o.svg,\"tspan\");g(h,v),n.select(h).attr(\"dy\",d[i]),a.dy=p[i],r.appendChild(f),r.appendChild(h)}else r.appendChild(f);n.select(f).attr(a),r=e.node=f,l.push(e)}function g(e,t){e.appendChild(document.createTextNode(t))}function S(e){if(1!==l.length){var n=l.pop();e!==n.type&&i.log(\"Start tag <\"+n.type+\"> doesnt match end tag <\"+e+\">. Pretending it did match.\",t),r=l[l.length-1].node}else i.log(\"Ignoring unexpected end tag </\"+e+\">.\",t)}b.test(t)?c():(r=e,l=[{node:e}]);for(var E=t.split(y),P=0;P<E.length;P++){var O=E[P],I=O.match(x),D=I&&I[2].toLowerCase(),z=h[D];if(\"br\"===D)c();else if(void 0===z)g(r,C(O));else if(I[1])S(D);else{var R=I[4],F={type:D},B=M(R,_);if(B?(B=B.replace(A,\"$1 fill:\"),z&&(B+=\";\"+z)):z&&(B=z),B&&(F.style=B),\"a\"===D){a=!0;var N=M(R,w);if(N){var j=L(N);j&&(F.href=j,F.target=M(R,k)||\"_blank\",F.popup=M(R,T))}}f(F)}}return a}(e.node(),S);r&&e.style(\"pointer-events\",\"all\"),t.positionText(e),g&&g.call(e)}};var u=/(<|&lt;|&#60;)/g,c=/(>|&gt;|&#62;)/g,f=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]],h={sup:\"font-size:70%\",sub:\"font-size:70%\",b:\"font-weight:bold\",i:\"font-style:italic\",a:\"cursor:pointer\",span:\"\",em:\"font-style:italic;font-weight:bold\"},p={sub:\"0.3em\",sup:\"-0.6em\"},d={sub:\"-0.21em\",sup:\"0.42em\"},v=\"​\",g=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],m=t.NEWLINES=/(\\r\\n?|\\n)/g,y=/(<[^<>]*>)/,x=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,b=/<br(\\s+.*)?>/i;t.BR_TAG_ALL=/<br(\\s+.*)?>/gi;var _=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,w=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,k=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,T=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function M(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&C(n)}var A=/(^|;)\\s*color:/;t.plainText=function(e,t){for(var r=void 0!==(t=t||{}).len&&-1!==t.len?t.len:1/0,n=void 0!==t.allowedTags?t.allowedTags:[\"br\"],i=e.split(y),a=[],o=\"\",s=0,l=0;l<i.length;l++){var u=i[l],c=u.match(x),f=c&&c[2].toLowerCase();if(f)-1!==n.indexOf(f)&&(a.push(u),o=f);else{var h=u.length;if(s+h<r)a.push(u),s+=h;else if(s<r){var p=r-s;o&&(\"br\"!==o||p<=3||h<=3)&&a.pop(),r>3?a.push(u.substr(0,p-3)+\"...\"):a.push(u.substr(0,p));break}o=\"\"}}return a.join(\"\")};var S={mu:\"μ\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\" \",times:\"×\",plusmn:\"±\",deg:\"°\"},E=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function C(e){return e.replace(E,(function(e,t){return(\"#\"===t.charAt(0)?function(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r(55232+(e>>10),e%1024+56320)}}(\"x\"===t.charAt(1)?parseInt(t.substr(2),16):parseInt(t.substr(1),10)):S[t])||e}))}function L(e){var t=encodeURI(decodeURI(e)),r=document.createElement(\"a\"),n=document.createElement(\"a\");r.href=e,n.href=t;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?t:\"\"}function P(e,t,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||\"top\",u=e.node().getBoundingClientRect(),c=t.node().getBoundingClientRect();return a=\"bottom\"===l?function(){return u.bottom-n.height}:\"middle\"===l?function(){return u.top+(u.height-n.height)/2}:function(){return u.top},o=\"right\"===s?function(){return u.right-n.width}:\"center\"===s?function(){return u.left+(u.width-n.width)/2}:function(){return u.left},function(){n=this.node().getBoundingClientRect();var e=o()-c.left,t=a()-c.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(e,t);e=l[0],t=l[1]}return this.style({top:t+\"px\",left:e+\"px\",\"z-index\":1e3}),this}}t.convertEntities=C,t.sanitizeHTML=function(e){e=e.replace(m,\" \");for(var t=document.createElement(\"p\"),r=t,i=[],a=e.split(y),o=0;o<a.length;o++){var s=a[o],l=s.match(x),u=l&&l[2].toLowerCase();if(u in h)if(l[1])i.length&&(r=i.pop());else{var c=l[4],f=M(c,_),p=f?{style:f}:{};if(\"a\"===u){var d=M(c,w);if(d){var v=L(d);if(v){p.href=v;var g=M(c,k);g&&(p.target=g)}}}var b=document.createElement(u);r.appendChild(b),n.select(b).attr(p),r=b,i.push(b)}else r.appendChild(document.createTextNode(C(s)))}return t.innerHTML},t.lineCount=function(e){return e.selectAll(\"tspan.line\").size()||1},t.positionText=function(e,t,r){return e.each((function(){var e=n.select(this);function i(t,r){return void 0===r?null===(r=e.attr(t))&&(e.attr(t,0),r=0):e.attr(t,r),r}var a=i(\"x\",t),o=i(\"y\",r);\"text\"===this.nodeName&&e.selectAll(\"tspan.line\").attr({x:a,y:o})}))};var O=\"1px \";t.makeTextShadow=function(e){return O+O+O+e+\", -\"+O+\"-\"+O+O+e+\", \"+O+\"-\"+O+O+e+\", -\"+O+O+O+e},t.makeEditable=function(e,t){var r=t.gd,i=t.delegate,a=n.dispatch(\"edit\",\"input\",\"cancel\"),o=i||e;if(e.style({\"pointer-events\":i?\"none\":\"all\"}),1!==e.size())throw new Error(\"boo\");function s(){var i,s,u,c,f;i=n.select(r).select(\".svg-container\"),s=i.append(\"div\"),u=e.node().style,c=parseFloat(u.fontSize||12),void 0===(f=t.text)&&(f=e.attr(\"data-unformatted\")),s.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":u.fontFamily||\"Arial\",\"font-size\":c,color:t.fill||u.fill||\"black\",opacity:1,\"background-color\":t.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-c/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(f).call(P(e,i,t)).on(\"blur\",(function(){r._editing=!1,e.text(this.textContent).style({opacity:1});var t,i=n.select(this).attr(\"class\");(t=i?\".\"+i.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&n.select(e.node().parentNode).select(t).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on(\"mouseup\",null),a.edit.call(e,o)})).on(\"focus\",(function(){var e=this;r._editing=!0,n.select(document).on(\"mouseup\",(function(){if(n.event.target===e)return!1;document.activeElement===s.node()&&s.node().blur()}))})).on(\"keyup\",(function(){27===n.event.which?(r._editing=!1,e.style({opacity:1}),n.select(this).style({opacity:0}).on(\"blur\",(function(){return!1})).transition().remove(),a.cancel.call(e,this.textContent)):(a.input.call(e,this.textContent),n.select(this).call(P(e,i,t)))})).on(\"keydown\",(function(){13===n.event.which&&this.blur()})).call(l),e.style({opacity:0});var h,p=o.attr(\"class\");(h=p?\".\"+p.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&n.select(e.node().parentNode).select(h).style({opacity:0})}function l(e){var t=e.node(),r=document.createRange();r.selectNodeContents(t);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),t.focus()}return t.immediate?s():o.on(\"click\",s),n.rebind(e,a,\"on\")}},79990:function(e,t){\"use strict\";var r={};function n(e){e&&null!==e.timer&&(clearTimeout(e.timer),e.timer=null)}t.throttle=function(e,t,i){var a=r[e],o=Date.now();if(!a){for(var s in r)r[s].ts<o-6e4&&delete r[s];a=r[e]={ts:0,timer:null}}function l(){i(),a.ts=Date.now(),a.onDone&&(a.onDone(),a.onDone=null)}n(a),o>a.ts+t?l():a.timer=setTimeout((function(){l(),a.timer=null}),t)},t.done=function(e){var t=r[e];return t&&t.timer?new Promise((function(e){var r=t.onDone;t.onDone=function(){r&&r(),e(),t.onDone=null}})):Promise.resolve()},t.clear=function(e){if(e)n(r[e]),delete r[e];else for(var i in r)t.clear(i)}},58163:function(e,t,r){\"use strict\";var n=r(92770);e.exports=function(e,t){if(e>0)return Math.log(e)/Math.LN10;var r=Math.log(Math.min(t[0],t[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(t[0],t[1]))/Math.LN10-6),r}},90973:function(e,t,r){\"use strict\";var n=e.exports={},i=r(78776).locationmodeToLayer,a=r(96892).zL;n.getTopojsonName=function(e){return[e.scope.replace(/ /g,\"-\"),\"_\",e.resolution.toString(),\"m\"].join(\"\")},n.getTopojsonPath=function(e,t){return e+t+\".json\"},n.getTopojsonFeatures=function(e,t){var r=i[e.locationmode],n=t.objects[r];return a(t,n).features}},37815:function(e){\"use strict\";e.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}},92177:function(e){\"use strict\";e.exports={moduleType:\"locale\",name:\"en\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colourscale title\"},format:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],periods:[\"AM\",\"PM\"],dateTime:\"%a %b %e %X %Y\",date:\"%d/%m/%Y\",time:\"%H:%M:%S\",decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],year:\"%Y\",month:\"%b %Y\",dayMonth:\"%b %-d\",dayMonthYear:\"%b %-d, %Y\"}}},14458:function(e,t,r){\"use strict\";var n=r(73972);e.exports=function(e){for(var t,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=e.split(\"[\")[0],s=0;s<a.length;s++)if((r=e.match(a[s]))&&0===r.index){t=r[0];break}if(t||(t=i[i.indexOf(o)]),!t)return!1;var l=e.substr(t.length);return l?!!(r=l.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/))&&{array:t,index:Number(r[1]),property:r[3]||\"\"}:{array:t,index:\"\",property:\"\"}}},30962:function(e,t,r){\"use strict\";var n=r(1426).extendFlat,i=r(41965),a={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"clearAxisTypes\",\"plot\",\"style\",\"markerSize\",\"colorbars\"]},o={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"plot\",\"legend\",\"ticks\",\"axrange\",\"layoutstyle\",\"modebar\",\"camera\",\"arraydraw\",\"colorbars\"]},s=a.flags.slice().concat([\"fullReplot\"]),l=o.flags.slice().concat(\"layoutReplot\");function u(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=!1;return t}function c(e,t,r){var a=n({},e);for(var o in a){var s=a[o];i(s)&&(a[o]=f(s,t,0,o))}return\"from-root\"===r&&(a.editType=t),a}function f(e,t,r,i){if(e.valType){var a=n({},e);if(a.editType=t,Array.isArray(e.items)){a.items=new Array(e.items.length);for(var o=0;o<e.items.length;o++)a.items[o]=f(e.items[o],t)}return a}return c(e,t,\"_\"===i.charAt(0)?\"nested\":\"from-root\")}e.exports={traces:a,layout:o,traceFlags:function(){return u(s)},layoutFlags:function(){return u(l)},update:function(e,t){var r=t.editType;if(r&&\"none\"!==r)for(var n=r.split(\"+\"),i=0;i<n.length;i++)e[n[i]]=!0},overrideAll:c}},58377:function(e,t,r){\"use strict\";var n=r(92770),i=r(27812),a=r(73972),o=r(71828),s=r(74875),l=r(41675),u=r(7901),c=l.cleanId,f=l.getFromTrace,h=a.traceIs;function p(e,t){var r=e[t],n=t.charAt(0);r&&\"paper\"!==r&&(e[t]=c(r,n,!0))}function d(e){function t(t,r){var n=e[t],i=e.title&&e.title[r];n&&!i&&(e.title||(e.title={}),e.title[r]=e[t],delete e[t])}e&&(\"string\"!=typeof e.title&&\"number\"!=typeof e.title||(e.title={text:e.title}),t(\"titlefont\",\"font\"),t(\"titleposition\",\"position\"),t(\"titleside\",\"side\"),t(\"titleoffset\",\"offset\"))}function v(e){if(!o.isPlainObject(e))return!1;var t=e.name;return delete e.name,delete e.showlegend,(\"string\"==typeof t||\"number\"==typeof t)&&String(t)}function g(e,t,r,n){if(r&&!n)return e;if(n&&!r)return t;if(!e.trim())return t;if(!t.trim())return e;var i,a=Math.min(e.length,t.length);for(i=0;i<a&&e.charAt(i)===t.charAt(i);i++);return e.substr(0,i).trim()}function m(e){var t=\"middle\",r=\"center\";return\"string\"==typeof e&&(-1!==e.indexOf(\"top\")?t=\"top\":-1!==e.indexOf(\"bottom\")&&(t=\"bottom\"),-1!==e.indexOf(\"left\")?r=\"left\":-1!==e.indexOf(\"right\")&&(r=\"right\")),t+\" \"+r}function y(e,t){return t in e&&\"object\"==typeof e[t]&&0===Object.keys(e[t]).length}t.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&o.log(\"Clearing previous rejected promises from queue.\"),e._promises=[]},t.cleanLayout=function(e){var r,n;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,v=Object.keys(e);for(r=0;r<v.length;r++){var g=v[r];if(a&&a.test(g)){var m=e[g];m.anchor&&\"free\"!==m.anchor&&(m.anchor=c(m.anchor)),m.overlaying&&(m.overlaying=c(m.overlaying)),m.type||(m.isdate?m.type=\"date\":m.islog?m.type=\"log\":!1===m.isdate&&!1===m.islog&&(m.type=\"linear\")),\"withzero\"!==m.autorange&&\"tozero\"!==m.autorange||(m.autorange=!0,m.rangemode=\"tozero\"),delete m.islog,delete m.isdate,delete m.categories,y(m,\"domain\")&&delete m.domain,void 0!==m.autotick&&(void 0===m.tickmode&&(m.tickmode=m.autotick?\"auto\":\"linear\"),delete m.autotick),d(m)}else if(l&&l.test(g))d(e[g].radialaxis);else if(f&&f.test(g)){var x=e[g];d(x.aaxis),d(x.baxis),d(x.caxis)}else if(h&&h.test(g)){var b=e[g],_=b.cameraposition;if(Array.isArray(_)&&4===_[0].length){var w=_[0],k=_[1],T=_[2],M=i([],w),A=[];for(n=0;n<3;++n)A[n]=k[n]+T*M[2+4*n];b.camera={eye:{x:A[0],y:A[1],z:A[2]},center:{x:k[0],y:k[1],z:k[2]},up:{x:0,y:0,z:1}},delete b.cameraposition}d(b.xaxis),d(b.yaxis),d(b.zaxis)}}var S=Array.isArray(e.annotations)?e.annotations.length:0;for(r=0;r<S;r++){var E=e.annotations[r];o.isPlainObject(E)&&(E.ref&&(\"paper\"===E.ref?(E.xref=\"paper\",E.yref=\"paper\"):\"data\"===E.ref&&(E.xref=\"x\",E.yref=\"y\"),delete E.ref),p(E,\"xref\"),p(E,\"yref\"))}var C=Array.isArray(e.shapes)?e.shapes.length:0;for(r=0;r<C;r++){var L=e.shapes[r];o.isPlainObject(L)&&(p(L,\"xref\"),p(L,\"yref\"))}var P=Array.isArray(e.images)?e.images.length:0;for(r=0;r<P;r++){var O=e.images[r];o.isPlainObject(O)&&(p(O,\"xref\"),p(O,\"yref\"))}var I=e.legend;return I&&(I.x>3?(I.x=1.02,I.xanchor=\"left\"):I.x<-2&&(I.x=-.02,I.xanchor=\"right\"),I.y>3?(I.y=1.02,I.yanchor=\"bottom\"):I.y<-2&&(I.y=-.02,I.yanchor=\"top\")),d(e),\"rotate\"===e.dragmode&&(e.dragmode=\"orbit\"),u.clean(e),e.template&&e.template.layout&&t.cleanLayout(e.template.layout),e},t.cleanData=function(e){for(var r=0;r<e.length;r++){var n,i=e[r];if(\"histogramy\"===i.type&&\"xbins\"in i&&!(\"ybins\"in i)&&(i.ybins=i.xbins,delete i.xbins),i.error_y&&\"opacity\"in i.error_y){var l=u.defaults,f=i.error_y.color||(h(i,\"bar\")?u.defaultLine:l[r%l.length]);i.error_y.color=u.addOpacity(u.rgb(f),u.opacity(f)*i.error_y.opacity),delete i.error_y.opacity}if(\"bardir\"in i&&(\"h\"!==i.bardir||!h(i,\"bar\")&&\"histogram\"!==i.type.substr(0,9)||(i.orientation=\"h\",t.swapXYData(i)),delete i.bardir),\"histogramy\"===i.type&&t.swapXYData(i),\"histogramx\"!==i.type&&\"histogramy\"!==i.type||(i.type=\"histogram\"),\"scl\"in i&&!(\"colorscale\"in i)&&(i.colorscale=i.scl,delete i.scl),\"reversescl\"in i&&!(\"reversescale\"in i)&&(i.reversescale=i.reversescl,delete i.reversescl),i.xaxis&&(i.xaxis=c(i.xaxis,\"x\")),i.yaxis&&(i.yaxis=c(i.yaxis,\"y\")),h(i,\"gl3d\")&&i.scene&&(i.scene=s.subplotsRegistry.gl3d.cleanId(i.scene)),!h(i,\"pie-like\")&&!h(i,\"bar-like\"))if(Array.isArray(i.textposition))for(n=0;n<i.textposition.length;n++)i.textposition[n]=m(i.textposition[n]);else i.textposition&&(i.textposition=m(i.textposition));var p=a.getModule(i);if(p&&p.colorbar){var x=p.colorbar.container,b=x?i[x]:i;b&&b.colorscale&&(\"YIGnBu\"===b.colorscale&&(b.colorscale=\"YlGnBu\"),\"YIOrRd\"===b.colorscale&&(b.colorscale=\"YlOrRd\"))}if(\"surface\"===i.type&&o.isPlainObject(i.contours)){var _=[\"x\",\"y\",\"z\"];for(n=0;n<_.length;n++){var w=i.contours[_[n]];o.isPlainObject(w)&&(w.highlightColor&&(w.highlightcolor=w.highlightColor,delete w.highlightColor),w.highlightWidth&&(w.highlightwidth=w.highlightWidth,delete w.highlightWidth))}}if(\"candlestick\"===i.type||\"ohlc\"===i.type){var k=!1!==(i.increasing||{}).showlegend,T=!1!==(i.decreasing||{}).showlegend,M=v(i.increasing),A=v(i.decreasing);if(!1!==M&&!1!==A){var S=g(M,A,k,T);S&&(i.name=S)}else!M&&!A||i.name||(i.name=M||A)}if(Array.isArray(i.transforms)){var E=i.transforms;for(n=0;n<E.length;n++){var C=E[n];if(o.isPlainObject(C))switch(C.type){case\"filter\":C.filtersrc&&(C.target=C.filtersrc,delete C.filtersrc),C.calendar&&(C.valuecalendar||(C.valuecalendar=C.calendar),delete C.calendar);break;case\"groupby\":if(C.styles=C.styles||C.style,C.styles&&!Array.isArray(C.styles)){var L=C.styles,P=Object.keys(L);C.styles=[];for(var O=0;O<P.length;O++)C.styles.push({target:P[O],value:L[P[O]]})}}}}y(i,\"line\")&&delete i.line,\"marker\"in i&&(y(i.marker,\"line\")&&delete i.marker.line,y(i,\"marker\")&&delete i.marker),u.clean(i),i.autobinx&&(delete i.autobinx,delete i.xbins),i.autobiny&&(delete i.autobiny,delete i.ybins),d(i),i.colorbar&&d(i.colorbar),i.marker&&i.marker.colorbar&&d(i.marker.colorbar),i.line&&i.line.colorbar&&d(i.line.colorbar),i.aaxis&&d(i.aaxis),i.baxis&&d(i.baxis)}},t.swapXYData=function(e){var t;if(o.swapAttrs(e,[\"?\",\"?0\",\"d?\",\"?bins\",\"nbins?\",\"autobin?\",\"?src\",\"error_?\"]),Array.isArray(e.z)&&Array.isArray(e.z[0])&&(e.transpose?delete e.transpose:e.transpose=!0),e.error_x&&e.error_y){var r=e.error_y,n=\"copy_ystyle\"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);o.swapAttrs(e,[\"error_?.copy_ystyle\"]),n&&o.swapAttrs(e,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(\"string\"==typeof e.hoverinfo){var i=e.hoverinfo.split(\"+\");for(t=0;t<i.length;t++)\"x\"===i[t]?i[t]=\"y\":\"y\"===i[t]&&(i[t]=\"x\");e.hoverinfo=i.join(\"+\")}},t.coerceTraceIndices=function(e,t){if(n(t))return[t];if(!Array.isArray(t)||!t.length)return e.data.map((function(e,t){return t}));if(Array.isArray(t)){for(var r=[],i=0;i<t.length;i++)o.isIndex(t[i],e.data.length)?r.push(t[i]):o.warn(\"trace index (\",t[i],\") is not a number or is out of bounds\");return r}return t},t.manageArrayContainers=function(e,t,r){var i=e.obj,a=e.parts,s=a.length,l=a[s-1],u=n(l);if(u&&null===t){var c=a.slice(0,s-1).join(\".\");o.nestedProperty(i,c).get().splice(l,1)}else u&&void 0===e.get()?(void 0===e.get()&&(r[e.astr]=null),e.set(t)):e.set(t)};var x=/(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;function b(e){var t=e.search(x);if(t>0)return e.substr(0,t)}t.hasParent=function(e,t){for(var r=b(t);r;){if(r in e)return!0;r=b(r)}return!1};var _=[\"x\",\"y\",\"z\"];t.clearAxisTypes=function(e,t,r){for(var n=0;n<t.length;n++)for(var i=e._fullData[n],a=0;a<3;a++){var s=f(e,i,_[a]);if(s&&\"log\"!==s.type){var l=s._name,u=s._id.substr(1);if(\"scene\"===u.substr(0,5)){if(void 0!==r[u])continue;l=u+\".\"+l}var c=l+\".type\";void 0===r[l]&&void 0===r[c]&&o.nestedProperty(e.layout,c).set(null)}}}},10641:function(e,t,r){\"use strict\";var n=r(72391);t._doPlot=n._doPlot,t.newPlot=n.newPlot,t.restyle=n.restyle,t.relayout=n.relayout,t.redraw=n.redraw,t.update=n.update,t._guiRestyle=n._guiRestyle,t._guiRelayout=n._guiRelayout,t._guiUpdate=n._guiUpdate,t._storeDirectGUIEdit=n._storeDirectGUIEdit,t.react=n.react,t.extendTraces=n.extendTraces,t.prependTraces=n.prependTraces,t.addTraces=n.addTraces,t.deleteTraces=n.deleteTraces,t.moveTraces=n.moveTraces,t.purge=n.purge,t.addFrames=n.addFrames,t.deleteFrames=n.deleteFrames,t.animate=n.animate,t.setPlotConfig=n.setPlotConfig;var i=r(24401).getGraphDiv,a=r(34031).eraseActiveShape;t.deleteActiveShape=function(e){return a(i(e))},t.toImage=r(403),t.validate=r(84936),t.downloadImage=r(7239);var o=r(96318);t.makeTemplate=o.makeTemplate,t.validateTemplate=o.validateTemplate},6611:function(e,t,r){\"use strict\";var n=r(41965),i=r(64213),a=r(47769),o=r(65888).sorterAsc,s=r(73972);t.containerArrayMatch=r(14458);var l=t.isAddVal=function(e){return\"add\"===e||n(e)},u=t.isRemoveVal=function(e){return null===e||\"remove\"===e};t.applyContainerArrayChanges=function(e,t,r,n,c){var f=t.astr,h=s.getComponentMethod(f,\"supplyLayoutDefaults\"),p=s.getComponentMethod(f,\"draw\"),d=s.getComponentMethod(f,\"drawOne\"),v=n.replot||n.recalc||h===i||p===i,g=e.layout,m=e._fullLayout;if(r[\"\"]){Object.keys(r).length>1&&a.warn(\"Full array edits are incompatible with other edits\",f);var y=r[\"\"][\"\"];if(u(y))t.set(null);else{if(!Array.isArray(y))return a.warn(\"Unrecognized full array edit value\",f,y),!0;t.set(y)}return!v&&(h(g,m),p(e),!0)}var x,b,_,w,k,T,M,A,S=Object.keys(r).map(Number).sort(o),E=t.get(),C=E||[],L=c(m,f).get(),P=[],O=-1,I=C.length;for(x=0;x<S.length;x++)if(w=r[_=S[x]],k=Object.keys(w),T=w[\"\"],M=l(T),_<0||_>C.length-(M?0:1))a.warn(\"index out of range\",f,_);else if(void 0!==T)k.length>1&&a.warn(\"Insertion & removal are incompatible with edits to the same index.\",f,_),u(T)?P.push(_):M?(\"add\"===T&&(T={}),C.splice(_,0,T),L&&L.splice(_,0,{})):a.warn(\"Unrecognized full object edit value\",f,_,T),-1===O&&(O=_);else for(b=0;b<k.length;b++)A=f+\"[\"+_+\"].\",c(C[_],k[b],A).set(w[k[b]]);for(x=P.length-1;x>=0;x--)C.splice(P[x],1),L&&L.splice(P[x],1);if(C.length?E||t.set(C):t.set(null),v)return!1;if(h(g,m),d!==i){var D;if(-1===O)D=S;else{for(I=Math.max(C.length,I),D=[],x=0;x<S.length&&!((_=S[x])>=O);x++)D.push(_);for(x=O;x<I;x++)D.push(x)}for(x=0;x<D.length;x++)d(e,D[x])}else p(e);return!0}},72391:function(e,t,r){\"use strict\";var n=r(39898),i=r(92770),a=r(57035),o=r(71828),s=o.nestedProperty,l=r(11086),u=r(10847),c=r(73972),f=r(86281),h=r(74875),p=r(89298),d=r(91424),v=r(7901),g=r(4305).initInteractions,m=r(77922),y=r(47322).clearOutline,x=r(72075).dfltConfig,b=r(6611),_=r(58377),w=r(61549),k=r(30962),T=r(85555).AX_NAME_PATTERN,M=0;function A(e){var t=e._fullLayout;t._redrawFromAutoMarginCount?t._redrawFromAutoMarginCount--:e.emit(\"plotly_afterplot\")}function S(e,t){try{e._fullLayout._paper.style(\"background\",t)}catch(e){o.error(e)}}function E(e,t){S(e,v.combine(t,\"white\"))}function C(e,t){if(!e._context){e._context=o.extendDeep({},x);var r=n.select(\"base\");e._context._baseUrl=r.size()&&r.attr(\"href\")?window.location.href.split(\"#\")[0]:\"\"}var i,s,l,u=e._context;if(t){for(s=Object.keys(t),i=0;i<s.length;i++)\"editable\"!==(l=s[i])&&\"edits\"!==l&&l in u&&(\"setBackground\"===l&&\"opaque\"===t[l]?u[l]=E:u[l]=t[l]);t.plot3dPixelRatio&&!u.plotGlPixelRatio&&(u.plotGlPixelRatio=u.plot3dPixelRatio);var c=t.editable;if(void 0!==c)for(u.editable=c,s=Object.keys(u.edits),i=0;i<s.length;i++)u.edits[s[i]]=c;if(t.edits)for(s=Object.keys(t.edits),i=0;i<s.length;i++)(l=s[i])in u.edits&&(u.edits[l]=t.edits[l]);u._exportedPlot=t._exportedPlot}u.staticPlot&&(u.editable=!1,u.edits={},u.autosizable=!1,u.scrollZoom=!1,u.doubleClick=!1,u.showTips=!1,u.showLink=!1,u.displayModeBar=!1),\"hover\"!==u.displayModeBar||a||(u.displayModeBar=!0),\"transparent\"!==u.setBackground&&\"function\"==typeof u.setBackground||(u.setBackground=S),u._hasZeroHeight=u._hasZeroHeight||0===e.clientHeight,u._hasZeroWidth=u._hasZeroWidth||0===e.clientWidth;var f=u.scrollZoom,h=u._scrollZoom={};if(!0===f)h.cartesian=1,h.gl3d=1,h.geo=1,h.mapbox=1;else if(\"string\"==typeof f){var p=f.split(\"+\");for(i=0;i<p.length;i++)h[p[i]]=1}else!1!==f&&(h.gl3d=1,h.geo=1,h.mapbox=1)}function L(e,t){var r,n,i=t+1,a=[];for(r=0;r<e.length;r++)(n=e[r])<0?a.push(i+n):a.push(n);return a}function P(e,t,r){var n,i;for(n=0;n<t.length;n++){if((i=t[n])!==parseInt(i,10))throw new Error(\"all values in \"+r+\" must be integers\");if(i>=e.data.length||i<-e.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function O(e,t,r){if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(void 0===t)throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(t)||(t=[t]),P(e,t,\"currentIndices\"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&P(e,r,\"newIndices\"),void 0!==r&&t.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function I(e,t,r,n,a){!function(e,t,r,n){var i=o.isPlainObject(n);if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array\");if(!o.isPlainObject(t))throw new Error(\"update must be a key:value object\");if(void 0===r)throw new Error(\"indices must be an integer or array of integers\");for(var a in P(e,r,\"indices\"),t){if(!Array.isArray(t[a])||t[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==t[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}(e,t,r,n);for(var l=function(e,t,r,n){var a,l,u,c,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=L(r,e.data.length-1),t)for(var v=0;v<r.length;v++){if(a=e.data[r[v]],l=(u=s(a,d)).get(),c=t[d][v],!o.isArrayOrTypedArray(c))throw new Error(\"attribute: \"+d+\" index: \"+v+\" must be an array\");if(!o.isArrayOrTypedArray(l))throw new Error(\"cannot extend missing or non-array attribute: \"+d);if(l.constructor!==c.constructor)throw new Error(\"cannot extend array with an array of a different type: \"+d);f=h?n[d][v]:n,i(f)||(f=-1),p.push({prop:u,target:l,insert:c,maxp:Math.floor(f)})}return p}(e,t,r,n),u={},c={},f=0;f<l.length;f++){var h=l[f].prop,p=l[f].maxp,d=a(l[f].target,l[f].insert,p);h.set(d[0]),Array.isArray(u[h.astr])||(u[h.astr]=[]),u[h.astr].push(d[1]),Array.isArray(c[h.astr])||(c[h.astr]=[]),c[h.astr].push(l[f].target.length)}return{update:u,maxPoints:c}}function D(e,t){var r=new e.constructor(e.length+t.length);return r.set(e),r.set(t,e.length),r}function z(e,r,n,i){e=o.getGraphDiv(e),_.clearPromiseQueue(e);var a={};if(\"string\"==typeof r)a[r]=n;else{if(!o.isPlainObject(r))return o.warn(\"Restyle fail.\",r,n,i),Promise.reject();a=o.extendFlat({},r),void 0===i&&(i=n)}Object.keys(a).length&&(e.changed=!0);var s=_.coerceTraceIndices(e,i),l=N(e,a,s),c=l.flags;c.calc&&(e.calcdata=void 0),c.clearAxisTypes&&_.clearAxisTypes(e,s,{});var f=[];c.fullReplot?f.push(t._doPlot):(f.push(h.previousPromises),h.supplyDefaults(e),c.markerSize&&(h.doCalcdata(e),H(f)),c.style&&f.push(w.doTraceStyle),c.colorbars&&f.push(w.doColorBars),f.push(A)),f.push(h.rehover,h.redrag,h.reselect),u.add(e,z,[e,l.undoit,l.traces],z,[e,l.redoit,l.traces]);var p=o.syncOrAsync(f,e);return p&&p.then||(p=Promise.resolve()),p.then((function(){return e.emit(\"plotly_restyle\",l.eventData),e}))}function R(e){return void 0===e?null:e}function F(e,t){return t?function(t,r,n){var i=s(t,r),a=i.set;return i.set=function(t){B((n||\"\")+r,i.get(),t,e),a(t)},i}:s}function B(e,t,r,n){if(Array.isArray(t)||Array.isArray(r))for(var i=Array.isArray(t)?t:[],a=Array.isArray(r)?r:[],s=Math.max(i.length,a.length),l=0;l<s;l++)B(e+\"[\"+l+\"]\",i[l],a[l],n);else if(o.isPlainObject(t)||o.isPlainObject(r)){var u=o.isPlainObject(t)?t:{},c=o.isPlainObject(r)?r:{},f=o.extendFlat({},u,c);for(var h in f)B(e+\".\"+h,u[h],c[h],n)}else void 0===n[e]&&(n[e]=R(t))}function N(e,t,r){var n,i=e._fullLayout,a=e._fullData,l=e.data,u=i._guiEditing,d=F(i._preGUI,u),v=o.extendDeepAll({},t);j(t);var g,m=k.traceFlags(),y={},x={};function b(){return r.map((function(){}))}function w(e){var t=p.id2name(e);-1===g.indexOf(t)&&g.push(t)}function T(e){return\"LAYOUT\"+e+\".autorange\"}function M(e){return\"LAYOUT\"+e+\".range\"}function A(e){for(var t=e;t<a.length;t++)if(a[t]._input===l[e])return a[t]}function S(n,a,o){if(Array.isArray(n))n.forEach((function(e){S(e,a,o)}));else if(!(n in t)&&!_.hasParent(t,n)){var s;if(\"LAYOUT\"===n.substr(0,6))s=d(e.layout,n.replace(\"LAYOUT\",\"\"));else{var c=r[o];s=F(i._tracePreGUI[A(c)._fullInput.uid],u)(l[c],n)}n in x||(x[n]=b()),void 0===x[n][o]&&(x[n][o]=R(s.get())),void 0!==a&&s.set(a)}}function E(e){return function(t){return a[t][e]}}function C(e){return function(t,n){return!1===t?a[r[n]][e]:null}}for(var L in t){if(_.hasParent(t,L))throw new Error(\"cannot set \"+L+\" and a parent attribute simultaneously\");var P,O,I,D,z,B,N=t[L];if(\"autobinx\"!==L&&\"autobiny\"!==L||(L=L.charAt(L.length-1)+\"bins\",N=Array.isArray(N)?N.map(C(L)):!1===N?r.map(E(L)):null),y[L]=N,\"LAYOUT\"!==L.substr(0,6)){for(x[L]=b(),n=0;n<r.length;n++)if(P=l[r[n]],O=A(r[n]),D=(I=F(i._tracePreGUI[O._fullInput.uid],u)(P,L)).get(),void 0!==(z=Array.isArray(N)?N[n%N.length]:N)){var U=I.parts[I.parts.length-1],V=L.substr(0,L.length-U.length-1),H=V?V+\".\":\"\",q=V?s(O,V).get():O;if((B=f.getTraceValObject(O,I.parts))&&B.impliedEdits&&null!==z)for(var G in B.impliedEdits)S(o.relativeAttr(L,G),B.impliedEdits[G],n);else if(\"thicknessmode\"!==U&&\"lenmode\"!==U||D===z||\"fraction\"!==z&&\"pixels\"!==z||!q){if(\"type\"===L&&(\"pie\"===z!=(\"pie\"===D)||\"funnelarea\"===z!=(\"funnelarea\"===D))){var Y=\"x\",W=\"y\";\"bar\"!==z&&\"bar\"!==D||\"h\"!==P.orientation||(Y=\"y\",W=\"x\"),o.swapAttrs(P,[\"?\",\"?src\"],\"labels\",Y),o.swapAttrs(P,[\"d?\",\"?0\"],\"label\",Y),o.swapAttrs(P,[\"?\",\"?src\"],\"values\",W),\"pie\"===D||\"funnelarea\"===D?(s(P,\"marker.color\").set(s(P,\"marker.colors\").get()),i._pielayer.selectAll(\"g.trace\").remove()):c.traceIs(P,\"cartesian\")&&s(P,\"marker.colors\").set(s(P,\"marker.color\").get())}}else{var Z=i._size,X=q.orient,K=\"top\"===X||\"bottom\"===X;if(\"thicknessmode\"===U){var J=K?Z.h:Z.w;S(H+\"thickness\",q.thickness*(\"fraction\"===z?1/J:J),n)}else{var $=K?Z.w:Z.h;S(H+\"len\",q.len*(\"fraction\"===z?1/$:$),n)}}if(x[L][n]=R(D),-1!==[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"].indexOf(L)){if(\"orientation\"===L){I.set(z);var Q=P.x&&!P.y?\"h\":\"v\";if((I.get()||Q)===O.orientation)continue}else\"orientationaxes\"===L&&(P.orientation={v:\"h\",h:\"v\"}[O.orientation]);_.swapXYData(P),m.calc=m.clearAxisTypes=!0}else-1!==h.dataArrayContainers.indexOf(I.parts[0])?(_.manageArrayContainers(I,z,x),m.calc=!0):(B?B.arrayOk&&!c.traceIs(O,\"regl\")&&(o.isArrayOrTypedArray(z)||o.isArrayOrTypedArray(D))?m.calc=!0:k.update(m,B):m.calc=!0,I.set(z))}if(-1!==[\"swapxyaxes\",\"orientationaxes\"].indexOf(L)&&p.swap(e,r),\"orientationaxes\"===L){var ee=s(e.layout,\"hovermode\"),te=ee.get();\"x\"===te?ee.set(\"y\"):\"y\"===te?ee.set(\"x\"):\"x unified\"===te?ee.set(\"y unified\"):\"y unified\"===te&&ee.set(\"x unified\")}if(-1!==[\"orientation\",\"type\"].indexOf(L)){for(g=[],n=0;n<r.length;n++){var re=l[r[n]];c.traceIs(re,\"cartesian\")&&(w(re.xaxis||\"x\"),w(re.yaxis||\"y\"))}S(g.map(T),!0,0),S(g.map(M),[0,1],0)}}else I=d(e.layout,L.replace(\"LAYOUT\",\"\")),x[L]=[R(I.get())],I.set(Array.isArray(N)?N[0]:N),m.calc=!0}return(m.calc||m.plot)&&(m.fullReplot=!0),{flags:m,undoit:x,redoit:y,traces:r,eventData:o.extendDeepNoArrays([],[v,r])}}function j(e){var t,r,n,i=o.counterRegex(\"axis\",\".title\",!1,!1),a=/colorbar\\.title$/,s=Object.keys(e);for(t=0;t<s.length;t++)r=s[t],n=e[r],\"title\"!==r&&!i.test(r)&&!a.test(r)||\"string\"!=typeof n&&\"number\"!=typeof n?r.indexOf(\"titlefont\")>-1&&-1===r.indexOf(\"grouptitlefont\")?l(r,r.replace(\"titlefont\",\"title.font\")):r.indexOf(\"titleposition\")>-1?l(r,r.replace(\"titleposition\",\"title.position\")):r.indexOf(\"titleside\")>-1?l(r,r.replace(\"titleside\",\"title.side\")):r.indexOf(\"titleoffset\")>-1&&l(r,r.replace(\"titleoffset\",\"title.offset\")):l(r,r.replace(\"title\",\"title.text\"));function l(t,r){e[r]=e[t],delete e[t]}}function U(e,t,r){e=o.getGraphDiv(e),_.clearPromiseQueue(e);var n={};if(\"string\"==typeof t)n[t]=r;else{if(!o.isPlainObject(t))return o.warn(\"Relayout fail.\",t,r),Promise.reject();n=o.extendFlat({},t)}Object.keys(n).length&&(e.changed=!0);var i=W(e,n),a=i.flags;a.calc&&(e.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(w.layoutReplot):Object.keys(n).length&&(V(e,a,i)||h.supplyDefaults(e),a.legend&&s.push(w.doLegend),a.layoutstyle&&s.push(w.layoutStyles),a.axrange&&H(s,i.rangesAltered),a.ticks&&s.push(w.doTicksRelayout),a.modebar&&s.push(w.doModeBar),a.camera&&s.push(w.doCamera),a.colorbars&&s.push(w.doColorBars),s.push(A)),s.push(h.rehover,h.redrag,h.reselect),u.add(e,U,[e,i.undoit],U,[e,i.redoit]);var l=o.syncOrAsync(s,e);return l&&l.then||(l=Promise.resolve(e)),l.then((function(){return e.emit(\"plotly_relayout\",i.eventData),e}))}function V(e,t,r){var n=e._fullLayout;if(!t.axrange)return!1;for(var i in t)if(\"axrange\"!==i&&t[i])return!1;for(var a in r.rangesAltered){var o=p.id2name(a),s=e.layout[o],l=n[o];l.autorange=s.autorange;var u=l._rangeInitial0,c=l._rangeInitial1;if(void 0===u&&void 0!==c||void 0!==u&&void 0===c)return!1;if(s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup)for(var f in l._matchGroup)if(f!==a){var h=n[p.id2name(f)];h.autorange=l.autorange,h.range=l.range.slice(),h._input.range=l.range.slice()}}return!0}function H(e,t){var r=t?function(e){var r=[];for(var n in t){var i=p.getFromId(e,n);if(r.push(n),-1!==(i.ticklabelposition||\"\").indexOf(\"inside\")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)t[a]||r.push(a)}return p.draw(e,r,{skipTitle:!0})}:function(e){return p.draw(e,\"redraw\")};e.push(y,w.doAutoRangeAndConstraints,r,w.drawData,w.finalDraw)}var q=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,G=/^[xyz]axis[0-9]*\\.autorange$/,Y=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function W(e,t){var r,n,i,a=e.layout,l=e._fullLayout,u=l._guiEditing,h=F(l._preGUI,u),d=Object.keys(t),v=p.list(e),g=o.extendDeepAll({},t),m={};for(j(t),d=Object.keys(t),n=0;n<d.length;n++)if(0===d[n].indexOf(\"allaxes\")){for(i=0;i<v.length;i++){var y=v[i]._id.substr(1),x=-1!==y.indexOf(\"scene\")?y+\".\":\"\",w=d[n].replace(\"allaxes\",x+v[i]._name);t[w]||(t[w]=t[d[n]])}delete t[d[n]]}var M=k.layoutFlags(),A={},S={};function E(e,r){if(Array.isArray(e))e.forEach((function(e){E(e,r)}));else if(!(e in t)&&!_.hasParent(t,e)){var n=h(a,e);e in S||(S[e]=R(n.get())),void 0!==r&&n.set(r)}}var C,L={};function P(e){var t=p.name2id(e.split(\".\")[0]);return L[t]=1,t}for(var O in t){if(_.hasParent(t,O))throw new Error(\"cannot set \"+O+\" and a parent attribute simultaneously\");for(var I=h(a,O),D=t[O],z=I.parts.length-1;z>0&&\"string\"!=typeof I.parts[z];)z--;var B=I.parts[z],N=I.parts[z-1]+\".\"+B,U=I.parts.slice(0,z).join(\".\"),V=s(e.layout,U).get(),H=s(l,U).get(),W=I.get();if(void 0!==D){A[O]=D,S[O]=\"reverse\"===B?D:R(W);var X=f.getLayoutValObject(l,I.parts);if(X&&X.impliedEdits&&null!==D)for(var K in X.impliedEdits)E(o.relativeAttr(O,K),X.impliedEdits[K]);if(-1!==[\"width\",\"height\"].indexOf(O))if(D){E(\"autosize\",null);var J=\"height\"===O?\"width\":\"height\";E(J,l[J])}else l[O]=e._initialAutoSize[O];else if(\"autosize\"===O)E(\"width\",D?null:l.width),E(\"height\",D?null:l.height);else if(N.match(q))P(N),s(l,U+\"._inputRange\").set(null);else if(N.match(G)){P(N),s(l,U+\"._inputRange\").set(null);var $=s(l,U).get();$._inputDomain&&($._input.domain=$._inputDomain.slice())}else N.match(Y)&&s(l,U+\"._inputDomain\").set(null);if(\"type\"===B){C=V;var Q=\"linear\"===H.type&&\"log\"===D,ee=\"log\"===H.type&&\"linear\"===D;if(Q||ee){if(C&&C.range)if(H.autorange)Q&&(C.range=C.range[1]>C.range[0]?[1,2]:[2,1]);else{var te=C.range[0],re=C.range[1];Q?(te<=0&&re<=0&&E(U+\".autorange\",!0),te<=0?te=re/1e6:re<=0&&(re=te/1e6),E(U+\".range[0]\",Math.log(te)/Math.LN10),E(U+\".range[1]\",Math.log(re)/Math.LN10)):(E(U+\".range[0]\",Math.pow(10,te)),E(U+\".range[1]\",Math.pow(10,re)))}else E(U+\".autorange\",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[I.parts[0]]&&\"radialaxis\"===I.parts[1]&&delete l[I.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],c.getComponentMethod(\"annotations\",\"convertCoords\")(e,H,D,E),c.getComponentMethod(\"images\",\"convertCoords\")(e,H,D,E)}else E(U+\".autorange\",!0),E(U+\".range\",null);s(l,U+\"._inputRange\").set(null)}else if(B.match(T)){var ne=s(l,O).get(),ie=(D||{}).type;ie&&\"-\"!==ie||(ie=\"linear\"),c.getComponentMethod(\"annotations\",\"convertCoords\")(e,ne,ie,E),c.getComponentMethod(\"images\",\"convertCoords\")(e,ne,ie,E)}var ae=b.containerArrayMatch(O);if(ae){r=ae.array,n=ae.index;var oe=ae.property,se=X||{editType:\"calc\"};\"\"!==n&&\"\"===oe&&(b.isAddVal(D)?S[O]=null:b.isRemoveVal(D)?S[O]=(s(a,r).get()||[])[n]:o.warn(\"unrecognized full object value\",t)),k.update(M,se),m[r]||(m[r]={});var le=m[r][n];le||(le=m[r][n]={}),le[oe]=D,delete t[O]}else\"reverse\"===B?(V.range?V.range.reverse():(E(U+\".autorange\",!0),V.range=[1,0]),H.autorange?M.calc=!0:M.plot=!0):(\"dragmode\"===O&&(!1===D&&!1!==W||!1!==D&&!1===W)||l._has(\"scatter-like\")&&l._has(\"regl\")&&\"dragmode\"===O&&(\"lasso\"===D||\"select\"===D)&&\"lasso\"!==W&&\"select\"!==W||l._has(\"gl2d\")?M.plot=!0:X?k.update(M,X):M.calc=!0,I.set(D))}}for(r in m)b.applyContainerArrayChanges(e,h(a,r),m[r],M,h)||(M.plot=!0);for(var ue in L){var ce=(C=p.getFromId(e,ue))&&C._constraintGroup;if(ce)for(var fe in M.calc=!0,ce)L[fe]||(p.getFromId(e,fe)._constraintShrinkable=!0)}(Z(e)||t.height||t.width)&&(M.plot=!0);var he=l.shapes;for(n=0;n<he.length;n++)if(he[n].showlegend){M.calc=!0;break}return(M.plot||M.calc)&&(M.layoutReplot=!0),{flags:M,rangesAltered:L,undoit:S,redoit:A,eventData:g}}function Z(e){var t=e._fullLayout,r=t.width,n=t.height;return e.layout.autosize&&h.plotAutoSize(e,e.layout,t),t.width!==r||t.height!==n}function X(e,r,n,i){e=o.getGraphDiv(e),_.clearPromiseQueue(e),o.isPlainObject(r)||(r={}),o.isPlainObject(n)||(n={}),Object.keys(r).length&&(e.changed=!0),Object.keys(n).length&&(e.changed=!0);var a=_.coerceTraceIndices(e,i),s=N(e,o.extendFlat({},r),a),l=s.flags,c=W(e,o.extendFlat({},n)),f=c.flags;(l.calc||f.calc)&&(e.calcdata=void 0),l.clearAxisTypes&&_.clearAxisTypes(e,a,n);var p=[];f.layoutReplot?p.push(w.layoutReplot):l.fullReplot?p.push(t._doPlot):(p.push(h.previousPromises),V(e,f,c)||h.supplyDefaults(e),l.style&&p.push(w.doTraceStyle),(l.colorbars||f.colorbars)&&p.push(w.doColorBars),f.legend&&p.push(w.doLegend),f.layoutstyle&&p.push(w.layoutStyles),f.axrange&&H(p,c.rangesAltered),f.ticks&&p.push(w.doTicksRelayout),f.modebar&&p.push(w.doModeBar),f.camera&&p.push(w.doCamera),p.push(A)),p.push(h.rehover,h.redrag,h.reselect),u.add(e,X,[e,s.undoit,c.undoit,s.traces],X,[e,s.redoit,c.redoit,s.traces]);var d=o.syncOrAsync(p,e);return d&&d.then||(d=Promise.resolve(e)),d.then((function(){return e.emit(\"plotly_update\",{data:s.eventData,layout:c.eventData}),e}))}function K(e){return function(t){t._fullLayout._guiEditing=!0;var r=e.apply(null,arguments);return t._fullLayout._guiEditing=!1,r}}var J=[{pattern:/^hiddenlabels/,attr:\"legend.uirevision\"},{pattern:/^((x|y)axis\\d*)\\.((auto)?range|title\\.text)/},{pattern:/axis\\d*\\.showspikes$/,attr:\"modebar.uirevision\"},{pattern:/(hover|drag)mode$/,attr:\"modebar.uirevision\"},{pattern:/^(scene\\d*)\\.camera/},{pattern:/^(geo\\d*)\\.(projection|center|fitbounds)/},{pattern:/^(ternary\\d*\\.[abc]axis)\\.(min|title\\.text)$/},{pattern:/^(polar\\d*\\.radialaxis)\\.((auto)?range|angle|title\\.text)/},{pattern:/^(polar\\d*\\.angularaxis)\\.rotation/},{pattern:/^(mapbox\\d*)\\.(center|zoom|bearing|pitch)/},{pattern:/^legend\\.(x|y)$/,attr:\"editrevision\"},{pattern:/^(shapes|annotations)/,attr:\"editrevision\"},{pattern:/^title\\.text$/,attr:\"editrevision\"}],$=[{pattern:/^selectedpoints$/,attr:\"selectionrevision\"},{pattern:/(^|value\\.)visible$/,attr:\"legend.uirevision\"},{pattern:/^dimensions\\[\\d+\\]\\.constraintrange/},{pattern:/^node\\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\\.)name$/},{pattern:/colorbar\\.title\\.text$/},{pattern:/colorbar\\.(x|y)$/,attr:\"editrevision\"}];function Q(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=e.match(n.pattern);if(i){var a=i[1]||\"\";return{head:a,tail:e.substr(a.length+1),attr:n.attr}}}}function ee(e,t){var r=s(t,e).get();if(void 0!==r)return r;var n=e.split(\".\");for(n.pop();n.length>1;)if(n.pop(),void 0!==(r=s(t,n.join(\".\")+\".uirevision\").get()))return r;return t.uirevision}function te(e,t){for(var r=0;r<t.length;r++)if(t[r]._fullInput.uid===e)return r;return-1}function re(e,t,r){for(var n=0;n<t.length;n++)if(t[n].uid===e)return n;return!t[r]||t[r].uid?-1:r}function ne(e,t){var r=o.isPlainObject(e),n=Array.isArray(e);return r||n?(r&&o.isPlainObject(t)||n&&Array.isArray(t))&&JSON.stringify(e)===JSON.stringify(t):e===t}function ie(e,t,r,n){var i,a,l,u=n.getValObject,c=n.flags,f=n.immutable,h=n.inArray,p=n.arrayIndex;function d(){var e=i.editType;h&&-1!==e.indexOf(\"arraydraw\")?o.pushUnique(c.arrays[h],p):(k.update(c,i),\"none\"!==e&&c.nChanges++,n.transition&&i.anim&&c.nChangesAnim++,(q.test(l)||G.test(l))&&(c.rangesAltered[r[0]]=1),Y.test(l)&&s(t,\"_inputDomain\").set(null),\"datarevision\"===a&&(c.newDataRevision=1))}function v(e){return\"data_array\"===e.valType||e.arrayOk}for(a in e){if(c.calc&&!n.transition)return;var g=e[a],m=t[a],y=r.concat(a);if(l=y.join(\".\"),\"_\"!==a.charAt(0)&&\"function\"!=typeof g&&g!==m){if((\"tick0\"===a||\"dtick\"===a)&&\"geo\"!==r[0]){var x=t.tickmode;if(\"auto\"===x||\"array\"===x||!x)continue}if((\"range\"!==a||!t.autorange)&&(\"zmin\"!==a&&\"zmax\"!==a||\"contourcarpet\"!==t.type)&&(i=u(y))&&(!i._compareAsJSON||JSON.stringify(g)!==JSON.stringify(m))){var b,_=i.valType,w=v(i),T=Array.isArray(g),M=Array.isArray(m);if(T&&M){var A=\"_input_\"+a,S=e[A],E=t[A];if(Array.isArray(S)&&S===E)continue}if(void 0===m)w&&T?c.calc=!0:d();else if(i._isLinkedToArray){var C=[],L=!1;h||(c.arrays[a]=C);var P=Math.min(g.length,m.length),O=Math.max(g.length,m.length);if(P!==O){if(\"arraydraw\"!==i.editType){d();continue}L=!0}for(b=0;b<P;b++)ie(g[b],m[b],y.concat(b),o.extendFlat({inArray:a,arrayIndex:b},n));if(L)for(b=P;b<O;b++)C.push(b)}else!_&&o.isPlainObject(g)?ie(g,m,y,n):w?T&&M?(f&&(c.calc=!0),(f||n.newDataRevision)&&d()):T!==M?c.calc=!0:d():T&&M&&g.length===m.length&&String(g)===String(m)||d()}}}for(a in t)if(!(a in e)&&\"_\"!==a.charAt(0)&&\"function\"!=typeof t[a]){if(v(i=u(r.concat(a)))&&Array.isArray(t[a]))return void(c.calc=!0);d()}}function ae(e,t){var r;for(r in e)if(\"_\"!==r.charAt(0)){var n=e[r],i=t[r];if(n!==i)if(o.isPlainObject(n)&&o.isPlainObject(i)){if(ae(n,i))return!0}else{if(!Array.isArray(n)||!Array.isArray(i))return!0;if(n.length!==i.length)return!0;for(var a=0;a<n.length;a++)if(n[a]!==i[a]){if(!o.isPlainObject(n[a])||!o.isPlainObject(i[a]))return!0;if(ae(n[a],i[a]))return!0}}}}function oe(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!o.equalDomRects(r,t._lastBBox)){var n=t._invTransform=o.inverseTransformMatrix(o.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),t._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),t._lastBBox=r}}t.animate=function(e,t,r){if(e=o.getGraphDiv(e),!o.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e+\". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/\");var n=e._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=h.supplyAnimationDefaults(r)).transition,a=r.frame;function s(e){return Array.isArray(i)?e>=i.length?i[0]:i[e]:i}function l(e){return Array.isArray(a)?e>=a.length?a[0]:a[e]:a}function u(e,t){var r=0;return function(){if(e&&++r===t)return e()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,c){function f(){e.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var t=function(){n._animationRaf=window.requestAnimationFrame(t),Date.now()-n._lastFrameAt>n._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var t=n._currentFrame=n._frameQueue.shift();if(t){var r=t.name?t.name.toString():null;e._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=t.frameOpts.duration,h.transition(e,t.frame.data,t.frame.layout,_.coerceTraceIndices(e,t.frame.traces),t.frameOpts,t.transitionOpts).then((function(){t.onComplete&&t.onComplete()})),e.emit(\"plotly_animatingframe\",{name:r,frame:t.frame,animation:{frame:t.frameOpts,transition:t.transitionOpts}})}else e.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};t()}var p,d,v=0;function g(e){return Array.isArray(i)?v>=i.length?e.transitionOpts=i[v]:e.transitionOpts=i[0]:e.transitionOpts=i,v++,e}var m=[],y=null==t,x=Array.isArray(t);if(y||x||!o.isPlainObject(t)){if(y||-1!==[\"string\",\"number\"].indexOf(typeof t))for(p=0;p<n._frames.length;p++)(d=n._frames[p])&&(y||String(d.group)===String(t))&&m.push({type:\"byname\",name:String(d.name),data:g({name:d.name})});else if(x)for(p=0;p<t.length;p++){var b=t[p];-1!==[\"number\",\"string\"].indexOf(typeof b)?(b=String(b),m.push({type:\"byname\",name:b,data:g({name:b})})):o.isPlainObject(b)&&m.push({type:\"object\",data:g(o.extendFlat({},b))})}}else m.push({type:\"object\",data:g(o.extendFlat({},t))});for(p=0;p<m.length;p++)if(\"byname\"===(d=m[p]).type&&!n._frameHash[d.data.name])return o.warn('animate failure: frame not found: \"'+d.data.name+'\"'),void c();-1!==[\"next\",\"immediate\"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var t=n._frameQueue.pop();t.onInterrupt&&t.onInterrupt()}e.emit(\"plotly_animationinterrupted\",[])}}(),\"reverse\"===r.direction&&m.reverse();var w=e._fullLayout._currentFrame;if(w&&r.fromcurrent){var k=-1;for(p=0;p<m.length;p++)if(\"byname\"===(d=m[p]).type&&d.name===w){k=p;break}if(k>0&&k<m.length-1){var T=[];for(p=0;p<m.length;p++)d=m[p],(\"byname\"!==m[p].type||p>k)&&T.push(d);m=T}}m.length>0?function(t){if(0!==t.length){for(var i=0;i<t.length;i++){var o;o=\"byname\"===t[i].type?h.computeFrame(e,t[i].name):t[i].data;var p=l(i),d=s(i);d.duration=Math.min(d.duration,p.duration);var v={frame:o,name:t[i].name,frameOpts:p,transitionOpts:d};i===t.length-1&&(v.onComplete=u(a,2),v.onInterrupt=c),n._frameQueue.push(v)}\"immediate\"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||f()}}(m):(e.emit(\"plotly_animated\"),a())}))},t.addFrames=function(e,t,r){if(e=o.getGraphDiv(e),null==t)return Promise.resolve();if(!o.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/\");var n,i,a,s,l=e._transitionData._frames,c=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+t);var f=l.length+2*t.length,p=[],d={};for(n=t.length-1;n>=0;n--)if(o.isPlainObject(t[n])){var v=t[n].name,g=(c[v]||d[v]||{}).name,m=t[n].name,y=c[g]||d[g];g&&m&&\"number\"==typeof m&&y&&M<5&&(M++,o.warn('addFrames: overwriting frame \"'+(c[g]||d[g]).name+'\" with a frame whose name of type \"number\" also equates to \"'+g+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===M&&o.warn(\"addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\")),d[v]={name:v},p.push({frame:h.supplyFrameDefaults(t[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(e,t){return e.index>t.index?-1:e.index<t.index?1:0}));var x=[],b=[],_=l.length;for(n=p.length-1;n>=0;n--){if(\"number\"==typeof(i=p[n].frame).name&&o.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!i.name)for(;c[i.name=\"frame \"+e._transitionData._counter++];);if(c[i.name]){for(a=0;a<l.length&&(l[a]||{}).name!==i.name;a++);x.push({type:\"replace\",index:a,value:i}),b.unshift({type:\"replace\",index:a,value:l[a]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:\"insert\",index:s,value:i}),b.unshift({type:\"delete\",index:s}),_++}var w=h.modifyFrames,k=h.modifyFrames,T=[e,b],A=[e,x];return u&&u.add(e,w,T,k,A),h.modifyFrames(e,x)},t.deleteFrames=function(e,t){if(e=o.getGraphDiv(e),!o.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e);var r,n,i=e._transitionData._frames,a=[],s=[];if(!t)for(t=[],r=0;r<i.length;r++)t.push(r);for((t=t.slice()).sort(),r=t.length-1;r>=0;r--)n=t[r],a.push({type:\"delete\",index:n}),s.unshift({type:\"insert\",index:n,value:i[n]});var l=h.modifyFrames,c=h.modifyFrames,f=[e,s],p=[e,a];return u&&u.add(e,l,f,c,p),h.modifyFrames(e,a)},t.addTraces=function e(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],c=t.deleteTraces,f=e,h=[r,l],p=[r,n];for(function(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(void 0===t)throw new Error(\"traces must be defined.\");for(Array.isArray(t)||(t=[t]),n=0;n<t.length;n++)if(\"object\"!=typeof(i=t[n])||Array.isArray(i)||null===i)throw new Error(\"all values in traces array must be non-array objects\");if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&r.length!==t.length)throw new Error(\"if indices is specified, traces.length must equal indices.length\")}(r,n,i),Array.isArray(n)||(n=[n]),n=n.map((function(e){return o.extendFlat({},e)})),_.cleanData(n),a=0;a<n.length;a++)r.data.push(n[a]);for(a=0;a<n.length;a++)l.push(-n.length+a);if(void 0===i)return s=t.redraw(r),u.add(r,c,h,f,p),s;Array.isArray(i)||(i=[i]);try{O(r,l,i)}catch(e){throw r.data.splice(r.data.length-n.length,n.length),e}return u.startSequence(r),u.add(r,c,h,f,p),s=t.moveTraces(r,l,i),u.stopSequence(r),s},t.deleteTraces=function e(r,n){r=o.getGraphDiv(r);var i,a,s=[],l=t.addTraces,c=e,f=[r,s,n],h=[r,n];if(void 0===n)throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(n)||(n=[n]),P(r,n,\"indices\"),(n=L(n,r.data.length-1)).sort(o.sorterDes),i=0;i<n.length;i+=1)a=r.data.splice(n[i],1)[0],s.push(a);var p=t.redraw(r);return u.add(r,l,f,c,h),p},t.extendTraces=function e(r,n,i,a){var s=I(r=o.getGraphDiv(r),n,i,a,(function(e,t,r){var n,i;if(o.isTypedArray(e))if(r<0){var a=new e.constructor(0),s=D(e,t);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new e.constructor(r),i=new e.constructor(e.length+t.length-r),r===t.length)n.set(t),i.set(e);else if(r<t.length){var l=t.length-r;n.set(t.subarray(l)),i.set(e),i.set(t.subarray(0,l),e.length)}else{var u=r-t.length,c=e.length-u;n.set(e.subarray(c)),n.set(t,u),i.set(e.subarray(0,c))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]})),l=t.redraw(r),c=[r,s.update,i,s.maxPoints];return u.add(r,t.prependTraces,c,e,arguments),l},t.moveTraces=function e(r,n,i){var a,s=[],l=[],c=e,f=e,h=[r=o.getGraphDiv(r),i,n],p=[r,n,i];if(O(r,n,i),n=Array.isArray(n)?n:[n],void 0===i)for(i=[],a=0;a<n.length;a++)i.push(-n.length+a);for(i=Array.isArray(i)?i:[i],n=L(n,r.data.length-1),i=L(i,r.data.length-1),a=0;a<r.data.length;a++)-1===n.indexOf(a)&&s.push(r.data[a]);for(a=0;a<n.length;a++)l.push({newIndex:i[a],trace:r.data[n[a]]});for(l.sort((function(e,t){return e.newIndex-t.newIndex})),a=0;a<l.length;a+=1)s.splice(l[a].newIndex,0,l[a].trace);r.data=s;var d=t.redraw(r);return u.add(r,c,h,f,p),d},t.prependTraces=function e(r,n,i,a){var s=I(r=o.getGraphDiv(r),n,i,a,(function(e,t,r){var n,i;if(o.isTypedArray(e))if(r<=0){var a=new e.constructor(0),s=D(t,e);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new e.constructor(r),i=new e.constructor(e.length+t.length-r),r===t.length)n.set(t),i.set(e);else if(r<t.length){var l=t.length-r;n.set(t.subarray(0,l)),i.set(t.subarray(l)),i.set(e,l)}else{var u=r-t.length;n.set(t),n.set(e.subarray(0,u),t.length),i.set(e.subarray(u))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]})),l=t.redraw(r),c=[r,s.update,i,s.maxPoints];return u.add(r,t.extendTraces,c,e,arguments),l},t.newPlot=function(e,r,n,i){return e=o.getGraphDiv(e),h.cleanPlot([],{},e._fullData||[],e._fullLayout||{}),h.purge(e),t._doPlot(e,r,n,i)},t._doPlot=function(e,r,i,a){var s;if(e=o.getGraphDiv(e),l.init(e),o.isPlainObject(r)){var u=r;r=u.data,i=u.layout,a=u.config,s=u.frames}if(!1===l.triggerHandler(e,\"plotly_beforeplot\",[r,i,a]))return Promise.reject();r||i||o.isPlotDiv(e)||o.warn(\"Calling _doPlot as if redrawing but this container doesn't yet have a plot.\",e),C(e,a),i||(i={}),n.select(e).classed(\"js-plotly-plot\",!0),d.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var f=0===(e.data||[]).length&&Array.isArray(r);Array.isArray(r)&&(_.cleanData(r),f?e.data=r:e.data.push.apply(e.data,r),e.empty=!1),e.layout&&!f||(e.layout=_.cleanLayout(i)),h.supplyDefaults(e);var v=e._fullLayout,y=v._has(\"cartesian\");v._replotting=!0,(f||v._shouldCreateBgLayer)&&(function(e){var t=n.select(e),r=e._fullLayout;if(r._calcInverseTransform=oe,r._calcInverseTransform(e),r._container=t.selectAll(\".plot-container\").data([0]),r._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0),r._paperdiv=r._container.selectAll(\".svg-container\").data([0]),r._paperdiv.enter().append(\"div\").classed(\"user-select-none\",!0).classed(\"svg-container\",!0).style(\"position\",\"relative\"),r._glcontainer=r._paperdiv.selectAll(\".gl-container\").data([{}]),r._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),r._paperdiv.selectAll(\".main-svg\").remove(),r._paperdiv.select(\".modebar-container\").remove(),r._paper=r._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),r._toppaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),r._modebardiv=r._paperdiv.append(\"div\"),delete r._modeBar,r._hoverpaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!r._uid){var i={};n.selectAll(\"defs\").each((function(){this.id&&(i[this.id.split(\"-\")[1]]=1)})),r._uid=o.randstr(i)}r._paperdiv.selectAll(\".main-svg\").attr(m.svgAttrs),r._defs=r._paper.append(\"defs\").attr(\"id\",\"defs-\"+r._uid),r._clips=r._defs.append(\"g\").classed(\"clips\",!0),r._topdefs=r._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+r._uid),r._topclips=r._topdefs.append(\"g\").classed(\"clips\",!0),r._bgLayer=r._paper.append(\"g\").classed(\"bglayer\",!0),r._draggers=r._paper.append(\"g\").classed(\"draglayer\",!0);var a=r._paper.append(\"g\").classed(\"layer-below\",!0);r._imageLowerLayer=a.append(\"g\").classed(\"imagelayer\",!0),r._shapeLowerLayer=a.append(\"g\").classed(\"shapelayer\",!0),r._cartesianlayer=r._paper.append(\"g\").classed(\"cartesianlayer\",!0),r._polarlayer=r._paper.append(\"g\").classed(\"polarlayer\",!0),r._smithlayer=r._paper.append(\"g\").classed(\"smithlayer\",!0),r._ternarylayer=r._paper.append(\"g\").classed(\"ternarylayer\",!0),r._geolayer=r._paper.append(\"g\").classed(\"geolayer\",!0),r._funnelarealayer=r._paper.append(\"g\").classed(\"funnelarealayer\",!0),r._pielayer=r._paper.append(\"g\").classed(\"pielayer\",!0),r._iciclelayer=r._paper.append(\"g\").classed(\"iciclelayer\",!0),r._treemaplayer=r._paper.append(\"g\").classed(\"treemaplayer\",!0),r._sunburstlayer=r._paper.append(\"g\").classed(\"sunburstlayer\",!0),r._indicatorlayer=r._toppaper.append(\"g\").classed(\"indicatorlayer\",!0),r._glimages=r._paper.append(\"g\").classed(\"glimages\",!0);var s=r._toppaper.append(\"g\").classed(\"layer-above\",!0);r._imageUpperLayer=s.append(\"g\").classed(\"imagelayer\",!0),r._shapeUpperLayer=s.append(\"g\").classed(\"shapelayer\",!0),r._selectionLayer=r._toppaper.append(\"g\").classed(\"selectionlayer\",!0),r._infolayer=r._toppaper.append(\"g\").classed(\"infolayer\",!0),r._menulayer=r._toppaper.append(\"g\").classed(\"menulayer\",!0),r._zoomlayer=r._toppaper.append(\"g\").classed(\"zoomlayer\",!0),r._hoverlayer=r._hoverpaper.append(\"g\").classed(\"hoverlayer\",!0),r._modebardiv.classed(\"modebar-container\",!0).style(\"position\",\"absolute\").style(\"top\",\"0px\").style(\"right\",\"0px\"),e.emit(\"plotly_framework\")}(e),v._shouldCreateBgLayer&&delete v._shouldCreateBgLayer),d.initGradients(e),d.initPatterns(e),f&&p.saveShowSpikeInitial(e);var x=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;x&&h.doCalcdata(e);for(var b=0;b<e.calcdata.length;b++)e.calcdata[b][0].trace=e._fullData[b];e._context.responsive?e._responsiveChartHandler||(e._responsiveChartHandler=function(){o.isHidden(e)||h.resize(e)},window.addEventListener(\"resize\",e._responsiveChartHandler)):o.clearResponsive(e);var k=o.extendFlat({},v._size),T=0;function M(){if(h.clearAutoMarginIds(e),w.drawMarginPushers(e),p.allowAutoMargin(e),e._fullLayout.title.text&&e._fullLayout.title.automargin&&h.allowAutoMargin(e,\"title.automargin\"),v._has(\"pie\"))for(var t=e._fullData,r=0;r<t.length;r++){var n=t[r];\"pie\"===n.type&&n.automargin&&h.allowAutoMargin(e,\"pie.\"+n.uid+\".automargin\")}return h.doAutoMargin(e),h.previousPromises(e)}function S(){e._transitioning||(w.doAutoRangeAndConstraints(e),f&&p.saveRangeInitial(e),c.getComponentMethod(\"rangeslider\",\"calcAutorange\")(e))}var E=[h.previousPromises,function(){if(s)return t.addFrames(e,s)},function t(){for(var r=v._basePlotModules,n=0;n<r.length;n++)r[n].drawFramework&&r[n].drawFramework(e);!v._glcanvas&&v._has(\"gl\")&&(v._glcanvas=v._glcontainer.selectAll(\".gl-canvas\").data([{key:\"contextLayer\",context:!0,pick:!1},{key:\"focusLayer\",context:!1,pick:!1},{key:\"pickLayer\",context:!1,pick:!0}],(function(e){return e.key})),v._glcanvas.enter().append(\"canvas\").attr(\"class\",(function(e){return\"gl-canvas gl-canvas-\"+e.key.replace(\"Layer\",\"\")})).style({position:\"absolute\",top:0,left:0,overflow:\"visible\",\"pointer-events\":\"none\"}));var i=e._context.plotGlPixelRatio;if(v._glcanvas){v._glcanvas.attr(\"width\",v.width*i).attr(\"height\",v.height*i).style(\"width\",v.width+\"px\").style(\"height\",v.height+\"px\");var a=v._glcanvas.data()[0].regl;if(a&&(Math.floor(v.width*i)!==a._gl.drawingBufferWidth||Math.floor(v.height*i)!==a._gl.drawingBufferHeight)){var s=\"WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.\";if(!T)return o.log(s+\" Clearing graph and plotting again.\"),h.cleanPlot([],{},e._fullData,v),h.supplyDefaults(e),v=e._fullLayout,h.doCalcdata(e),T++,t();o.error(s)}}return\"h\"===v.modebar.orientation?v._modebardiv.style(\"height\",null).style(\"width\",\"100%\"):v._modebardiv.style(\"width\",null).style(\"height\",v.height+\"px\"),h.previousPromises(e)},M,function(){if(h.didMarginChange(k,v._size))return o.syncOrAsync([M,w.layoutStyles],e)}];y&&E.push((function(){if(x)return o.syncOrAsync([c.getComponentMethod(\"shapes\",\"calcAutorange\"),c.getComponentMethod(\"annotations\",\"calcAutorange\"),S],e);S()})),E.push(w.layoutStyles),y&&E.push((function(){return p.draw(e,f?\"\":\"redraw\")}),(function(e){e._fullLayout._insideTickLabelsAutorange&&U(e,e._fullLayout._insideTickLabelsAutorange).then((function(){e._fullLayout._insideTickLabelsAutorange=void 0}))})),E.push(w.drawData,w.finalDraw,g,h.addLinks,h.rehover,h.redrag,h.reselect,h.doAutoMargin,(function(e){e._fullLayout._insideTickLabelsAutorange&&f&&p.saveRangeInitial(e,!0)}),h.previousPromises);var L=o.syncOrAsync(E,e);return L&&L.then||(L=Promise.resolve()),L.then((function(){return A(e),e}))},t.purge=function(e){var t=(e=o.getGraphDiv(e))._fullLayout||{},r=e._fullData||[];return h.cleanPlot([],{},r,t),h.purge(e),l.purge(e),t._container&&t._container.remove(),delete e._context,e},t.react=function(e,r,n,i){var a,l;e=o.getGraphDiv(e),_.clearPromiseQueue(e);var u=e._fullData,p=e._fullLayout;if(o.isPlotDiv(e)&&u&&p){if(o.isPlainObject(r)){var d=r;r=d.data,n=d.layout,i=d.config,a=d.frames}var v=!1;if(i){var g=o.extendDeep({},e._context);e._context=void 0,C(e,i),v=ae(g,e._context)}e.data=r||[],_.cleanData(e.data),e.layout=n||{},_.cleanLayout(e.layout),function(e,t,r,n){var i,a,l,u,c,f,h,p,d,v,g=n._preGUI,m=[],y={},x={};for(i in g){if(c=Q(i,J)){if(d=c.head,v=c.tail,a=c.attr||d+\".uirevision\",(u=(l=s(n,a).get())&&ee(a,t))&&u===l){if(null===(f=g[i])&&(f=void 0),ne(p=(h=s(t,i)).get(),f)){void 0===p&&\"autorange\"===v&&m.push(d),h.set(R(s(n,i).get()));continue}if(\"autorange\"===v||\"range[\"===v.substr(0,6)){var b=g[d+\".range[0]\"],_=g[d+\".range[1]\"],w=g[d+\".autorange\"];if(w||null===w&&null===b&&null===_){if(!(d in y)){var k=s(t,d).get();y[d]=k&&(k.autorange||!1!==k.autorange&&(!k.range||2!==k.range.length))}if(y[d]){h.set(R(s(n,i).get()));continue}}}}}else o.warn(\"unrecognized GUI edit: \"+i);delete g[i],c&&\"range[\"===c.tail.substr(0,6)&&(x[c.head]=1)}for(var T=0;T<m.length;T++){var M=m[T];if(x[M]){var A=s(t,M).get();A&&delete A.autorange}}var S=n._tracePreGUI;for(var E in S){var C,L=S[E],P=null;for(i in L){if(!P){var O=te(E,r);if(O<0){delete S[E];break}var I=re(E,e,(C=r[O]._fullInput).index);if(I<0){delete S[E];break}P=e[I]}if(c=Q(i,$)){if(c.attr?u=(l=s(n,c.attr).get())&&ee(c.attr,t):(l=C.uirevision,void 0===(u=P.uirevision)&&(u=t.uirevision)),u&&u===l&&(null===(f=L[i])&&(f=void 0),ne(p=(h=s(P,i)).get(),f))){h.set(R(s(C,i).get()));continue}}else o.warn(\"unrecognized GUI edit: \"+i+\" in trace uid \"+E);delete L[i]}}}(e.data,e.layout,u,p),h.supplyDefaults(e,{skipUpdateCalc:!0});var m=e._fullData,y=e._fullLayout,x=void 0===y.datarevision,b=y.transition,T=function(e,t,r,n,i){var a=k.layoutFlags();return a.arrays={},a.rangesAltered={},a.nChanges=0,a.nChangesAnim=0,ie(t,r,[],{getValObject:function(e){return f.getLayoutValObject(r,e)},flags:a,immutable:n,transition:i,gd:e}),(a.plot||a.calc)&&(a.layoutReplot=!0),i&&a.nChanges&&a.nChangesAnim&&(a.anim=a.nChanges===a.nChangesAnim?\"all\":\"some\"),a}(e,p,y,x,b),M=T.newDataRevision,S=function(e,t,r,n,i,a){var o=t.length===r.length;if(!i&&!o)return{fullReplot:!0,calc:!0};var s,l,u=k.traceFlags();u.arrays={},u.nChanges=0,u.nChangesAnim=0;var c={getValObject:function(e){var t=f.getTraceValObject(l,e);return!l._module.animatable&&t.anim&&(t.anim=!1),t},flags:u,immutable:n,transition:i,newDataRevision:a,gd:e},p={};for(s=0;s<t.length;s++)if(r[s]){if(l=r[s]._fullInput,h.hasMakesDataTransform(l)&&(l=r[s]),p[l.uid])continue;p[l.uid]=1,ie(t[s]._fullInput,l,[],c)}return(u.calc||u.plot)&&(u.fullReplot=!0),i&&u.nChanges&&u.nChangesAnim&&(u.anim=u.nChanges===u.nChangesAnim&&o?\"all\":\"some\"),u}(e,u,m,x,b,M);if(Z(e)&&(T.layoutReplot=!0),S.calc||T.calc){e.calcdata=void 0;for(var E=Object.getOwnPropertyNames(y),L=0;L<E.length;L++){var P=E[L],O=P.substring(0,5);if(\"xaxis\"===O||\"yaxis\"===O){var I=y[P]._emptyCategories;I&&I()}}}else h.supplyDefaultsUpdateCalc(e.calcdata,m);var D=[];if(a&&(e._transitionData={},h.createTransitionData(e),D.push((function(){return t.addFrames(e,a)}))),y.transition&&!v&&(S.anim||T.anim))T.ticks&&D.push(w.doTicksRelayout),h.doCalcdata(e),w.doAutoRangeAndConstraints(e),D.push((function(){return h.transitionFromReact(e,S,T,p)}));else if(S.fullReplot||T.layoutReplot||v)e._fullLayout._skipDefaults=!0,D.push(t._doPlot);else{for(var z in T.arrays){var F=T.arrays[z];if(F.length){var B=c.getComponentMethod(z,\"drawOne\");if(B!==o.noop)for(var N=0;N<F.length;N++)B(e,F[N]);else{var j=c.getComponentMethod(z,\"draw\");if(j===o.noop)throw new Error(\"cannot draw components: \"+z);j(e)}}}D.push(h.previousPromises),S.style&&D.push(w.doTraceStyle),(S.colorbars||T.colorbars)&&D.push(w.doColorBars),T.legend&&D.push(w.doLegend),T.layoutstyle&&D.push(w.layoutStyles),T.axrange&&H(D),T.ticks&&D.push(w.doTicksRelayout),T.modebar&&D.push(w.doModeBar),T.camera&&D.push(w.doCamera),D.push(A)}D.push(h.rehover,h.redrag,h.reselect),(l=o.syncOrAsync(D,e))&&l.then||(l=Promise.resolve(e))}else l=t.newPlot(e,r,n,i);return l.then((function(){return e.emit(\"plotly_react\",{data:r,layout:n}),e}))},t.redraw=function(e){if(e=o.getGraphDiv(e),!o.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e);return _.cleanData(e.data),_.cleanLayout(e.layout),e.calcdata=void 0,t._doPlot(e).then((function(){return e.emit(\"plotly_redraw\"),e}))},t.relayout=U,t.restyle=z,t.setPlotConfig=function(e){return o.extendFlat(x,e)},t.update=X,t._guiRelayout=K(U),t._guiRestyle=K(z),t._guiUpdate=K(X),t._storeDirectGUIEdit=function(e,t,r){for(var n in r)B(n,s(e,n).get(),r[n],t)}},72075:function(e){\"use strict\";var t={staticPlot:{valType:\"boolean\",dflt:!1},typesetMath:{valType:\"boolean\",dflt:!0},plotlyServerURL:{valType:\"string\",dflt:\"\"},editable:{valType:\"boolean\",dflt:!1},edits:{annotationPosition:{valType:\"boolean\",dflt:!1},annotationTail:{valType:\"boolean\",dflt:!1},annotationText:{valType:\"boolean\",dflt:!1},axisTitleText:{valType:\"boolean\",dflt:!1},colorbarPosition:{valType:\"boolean\",dflt:!1},colorbarTitleText:{valType:\"boolean\",dflt:!1},legendPosition:{valType:\"boolean\",dflt:!1},legendText:{valType:\"boolean\",dflt:!1},shapePosition:{valType:\"boolean\",dflt:!1},titleText:{valType:\"boolean\",dflt:!1}},editSelection:{valType:\"boolean\",dflt:!0},autosizable:{valType:\"boolean\",dflt:!1},responsive:{valType:\"boolean\",dflt:!1},fillFrame:{valType:\"boolean\",dflt:!1},frameMargins:{valType:\"number\",dflt:0,min:0,max:.5},scrollZoom:{valType:\"flaglist\",flags:[\"cartesian\",\"gl3d\",\"geo\",\"mapbox\"],extras:[!0,!1],dflt:\"gl3d+geo+mapbox\"},doubleClick:{valType:\"enumerated\",values:[!1,\"reset\",\"autosize\",\"reset+autosize\"],dflt:\"reset+autosize\"},doubleClickDelay:{valType:\"number\",dflt:300,min:0},showAxisDragHandles:{valType:\"boolean\",dflt:!0},showAxisRangeEntryBoxes:{valType:\"boolean\",dflt:!0},showTips:{valType:\"boolean\",dflt:!0},showLink:{valType:\"boolean\",dflt:!1},linkText:{valType:\"string\",dflt:\"Edit chart\",noBlank:!0},sendData:{valType:\"boolean\",dflt:!0},showSources:{valType:\"any\",dflt:!1},displayModeBar:{valType:\"enumerated\",values:[\"hover\",!0,!1],dflt:\"hover\"},showSendToCloud:{valType:\"boolean\",dflt:!1},showEditInChartStudio:{valType:\"boolean\",dflt:!1},modeBarButtonsToRemove:{valType:\"any\",dflt:[]},modeBarButtonsToAdd:{valType:\"any\",dflt:[]},modeBarButtons:{valType:\"any\",dflt:!1},toImageButtonOptions:{valType:\"any\",dflt:{}},displaylogo:{valType:\"boolean\",dflt:!0},watermark:{valType:\"boolean\",dflt:!1},plotGlPixelRatio:{valType:\"number\",dflt:2,min:1,max:4},setBackground:{valType:\"any\",dflt:\"transparent\"},topojsonURL:{valType:\"string\",noBlank:!0,dflt:\"https://cdn.plot.ly/\"},mapboxAccessToken:{valType:\"string\",dflt:null},logging:{valType:\"integer\",min:0,max:2,dflt:1},notifyOnLogging:{valType:\"integer\",min:0,max:2,dflt:0},queueLength:{valType:\"integer\",min:0,dflt:0},globalTransforms:{valType:\"any\",dflt:[]},locale:{valType:\"string\",dflt:\"en-US\"},locales:{valType:\"any\",dflt:{}}},r={};!function e(t,r){for(var n in t){var i=t[n];i.valType?r[n]=i.dflt:(r[n]||(r[n]={}),e(i,r[n]))}}(t,r),e.exports={configAttributes:t,dfltConfig:r}},86281:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828),a=r(9012),o=r(10820),s=r(31391),l=r(85594),u=r(72075).configAttributes,c=r(30962),f=i.extendDeepAll,h=i.isPlainObject,p=i.isArrayOrTypedArray,d=i.nestedProperty,v=i.valObjectMeta,g=\"_isSubplotObj\",m=\"_isLinkedToArray\",y=\"_deprecated\",x=[g,m,\"_arrayAttrRegexps\",y];function b(e,t,r){if(!e)return!1;if(e._isLinkedToArray)if(_(t[r]))r++;else if(r<t.length)return!1;for(;r<t.length;r++){var n=e[t[r]];if(!h(n))break;if(e=n,r===t.length-1)break;if(e._isLinkedToArray){if(!_(t[++r]))return!1}else if(\"info_array\"===e.valType){var i=t[++r];if(!_(i))return!1;var a=e.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===e.dimensions){if(r++,t.length===r)return e;var o=t[r];if(!_(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function _(e){return e===Math.round(e)&&e>=0}function w(){var e,t,r={};for(e in f(r,o),n.subplotsRegistry)if((t=n.subplotsRegistry[e]).layoutAttributes)if(Array.isArray(t.attr))for(var i=0;i<t.attr.length;i++)T(r,t,t.attr[i]);else T(r,t,\"subplot\"===t.attr?t.name:t.attr);for(e in n.componentsRegistry){var a=(t=n.componentsRegistry[e]).schema;if(a&&(a.subplots||a.layout)){var s=a.subplots;if(s&&s.xaxis&&!s.yaxis)for(var l in s.xaxis)delete r.yaxis[l];delete r.xaxis.shift,delete r.xaxis.autoshift}else\"colorscale\"===t.name?f(r,t.layoutAttributes):t.layoutAttributes&&M(r,t.layoutAttributes,t.name)}return{layoutAttributes:k(r)}}function k(e){return function(e){t.crawl(e,(function(e,r,n){t.isValObject(e)?!0!==e.arrayOk&&\"data_array\"!==e.valType||(n[r+\"src\"]={valType:\"string\",editType:\"none\"}):h(e)&&(e.role=\"object\")}))}(e),function(e){t.crawl(e,(function(e,t,r){if(e){var n=e[m];n&&(delete e[m],r[t]={items:{}},r[t].items[n]=e,r[t].role=\"object\")}}))}(e),function(e){!function e(t){for(var r in t)if(h(t[r]))e(t[r]);else if(Array.isArray(t[r]))for(var n=0;n<t[r].length;n++)e(t[r][n]);else t[r]instanceof RegExp&&(t[r]=t[r].toString())}(e)}(e),e}function T(e,t,r){var n=d(e,r),i=f({},t.layoutAttributes);i[g]=!0,n.set(i)}function M(e,t,r){var n=d(e,r);n.set(f(n.get()||{},t))}t.IS_SUBPLOT_OBJ=g,t.IS_LINKED_TO_ARRAY=m,t.DEPRECATED=y,t.UNDERSCORE_ATTRS=x,t.get=function(){var e={};n.allTypes.forEach((function(r){e[r]=function(e){var r,i;i=(r=n.modules[e]._module).basePlotModule;var o={type:null},s=f({},a),l=f({},r.attributes);t.crawl(l,(function(e,t,r,n,i){d(s,i).set(void 0),void 0===e&&d(l,i).set(void 0)})),f(o,s),n.traceIs(e,\"noOpacity\")&&delete o.opacity,n.traceIs(e,\"showLegend\")||(delete o.showlegend,delete o.legendgroup),n.traceIs(e,\"noHover\")&&(delete o.hoverinfo,delete o.hoverlabel),r.selectPoints||delete o.selectedpoints,f(o,l),i.attributes&&f(o,i.attributes),o.type=e;var u={meta:r.meta||{},categories:r.categories||{},animatable:Boolean(r.animatable),type:e,attributes:k(o)};if(r.layoutAttributes){var c={};f(c,r.layoutAttributes),u.layoutAttributes=k(c)}return r.animatable||t.crawl(u,(function(e){t.isValObject(e)&&\"anim\"in e&&delete e.anim})),u}(r)}));var r,i={};return Object.keys(n.transformsRegistry).forEach((function(e){i[e]=function(e){var t=n.transformsRegistry[e],r=f({},t.attributes);return Object.keys(n.componentsRegistry).forEach((function(t){var i=n.componentsRegistry[t];i.schema&&i.schema.transforms&&i.schema.transforms[e]&&Object.keys(i.schema.transforms[e]).forEach((function(t){M(r,i.schema.transforms[e][t],t)}))})),{attributes:k(r)}}(e)})),{defs:{valObjects:v,metaKeys:x.concat([\"description\",\"role\",\"editType\",\"impliedEdits\"]),editType:{traces:c.traces,layout:c.layout},impliedEdits:{}},traces:e,layout:w(),transforms:i,frames:(r={frames:f({},s)},k(r),r.frames),animation:k(l),config:k(u)}},t.crawl=function(e,r,n,i){var a=n||0;i=i||\"\",Object.keys(e).forEach((function(n){var o=e[n];if(-1===x.indexOf(n)){var s=(i?i+\".\":\"\")+n;r(o,n,e,a,s),t.isValObject(o)||h(o)&&\"impliedEdits\"!==n&&t.crawl(o,r,a+1,s)}}))},t.isValObject=function(e){return e&&void 0!==e.valType},t.findArrayAttributes=function(e){var r,n,i=[],o=[],s=[];function l(e,t,n,i){o=o.slice(0,i).concat([t]),s=s.slice(0,i).concat([e&&e._isLinkedToArray]),e&&(\"data_array\"===e.valType||!0===e.arrayOk)&&(\"colorbar\"!==o[i-1]||\"ticktext\"!==t&&\"tickvals\"!==t)&&u(r,0,\"\")}function u(e,t,r){var a=e[o[t]],l=r+o[t];if(t===o.length-1)p(a)&&i.push(n+l);else if(s[t]){if(Array.isArray(a))for(var c=0;c<a.length;c++)h(a[c])&&u(a[c],t+1,l+\"[\"+c+\"].\")}else h(a)&&u(a,t+1,l+\".\")}r=e,n=\"\",t.crawl(a,l),e._module&&e._module.attributes&&t.crawl(e._module.attributes,l);var c=e.transforms;if(c)for(var f=0;f<c.length;f++){var d=c[f],v=d._module;v&&(n=\"transforms[\"+f+\"].\",r=d,t.crawl(v.attributes,l))}return i},t.getTraceValObject=function(e,t){var r,i,o=t[0],s=1;if(\"transforms\"===o){if(1===t.length)return a.transforms;var l=e.transforms;if(!Array.isArray(l)||!l.length)return!1;var u=t[1];if(!_(u)||u>=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[t[2]],s=3}else{var c=e._module;if(c||(c=(n.modules[e.type||a.type.dflt]||{})._module),!c)return!1;if(!(i=(r=c.attributes)&&r[o])){var f=c.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return b(i,t,s)},t.getLayoutValObject=function(e,t){var r=function(e,t){var r,i,a,s,l=e._basePlotModules;if(l){var u;for(r=0;r<l.length;r++){if((a=l[r]).attrRegex&&a.attrRegex.test(t)){if(a.layoutAttrOverrides)return a.layoutAttrOverrides;!u&&a.layoutAttributes&&(u=a.layoutAttributes)}var c=a.baseLayoutAttrOverrides;if(c&&t in c)return c[t]}if(u)return u}var f=e._modules;if(f)for(r=0;r<f.length;r++)if((s=f[r].layoutAttributes)&&t in s)return s[t];for(i in n.componentsRegistry){if(\"colorscale\"===(a=n.componentsRegistry[i]).name&&0===t.indexOf(\"coloraxis\"))return a.layoutAttributes[t];if(!a.schema&&t===a.name)return a.layoutAttributes}return t in o&&o[t]}(e,t[0]);return b(r,t,1)}},44467:function(e,t,r){\"use strict\";var n=r(71828),i=r(9012),a=\"templateitemname\",o={name:{valType:\"string\",editType:\"none\"}};function s(e){return e&&\"string\"==typeof e}function l(e){var t=e.length-1;return\"s\"!==e.charAt(t)&&n.warn(\"bad argument to arrayDefaultKey: \"+e),e.substr(0,e.length-1)+\"defaults\"}o[a]={valType:\"string\",editType:\"calc\"},t.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=o.name,t[a]=o[a],t},t.traceTemplater=function(e){var t,r,a={};for(t in e)r=e[t],Array.isArray(r)&&r.length&&(a[t]=0);return{newTrace:function(o){var s={type:t=n.coerce(o,{},i,\"type\"),_template:null};if(t in a){r=e[t];var l=a[t]%r.length;a[t]++,s._template=r[l]}return s}}},t.newContainer=function(e,t,r){var i=e._template,a=i&&(i[t]||r&&i[r]);return n.isPlainObject(a)||(a=null),e[t]={_template:a}},t.arrayTemplater=function(e,t,r){var n=e._template,i=n&&n[l(t)],o=n&&n[t];Array.isArray(o)&&o.length||(o=[]);var u={};return{newItem:function(e){var t={name:e.name,_input:e},n=t[a]=e[a];if(!s(n))return t._template=i,t;for(var l=0;l<o.length;l++){var c=o[l];if(c.name===n)return u[n]=1,t._template=c,t}return t[r]=e[r]||!1,t._template=!1,t},defaultItems:function(){for(var e=[],t=0;t<o.length;t++){var r=o[t],n=r.name;if(s(n)&&!u[n]){var i={_template:r,name:n,_input:{_templateitemname:n}};i[a]=r[a],e.push(i),u[n]=1}}return e}}},t.arrayDefaultKey=l,t.arrayEditor=function(e,t,r){var i=(n.nestedProperty(e,t).get()||[]).length,o=r._index,s=o>=i&&(r._input||{})._templateitemname;s&&(o=i);var l,u=t+\"[\"+o+\"]\";function c(){l={},s&&(l[u]={},l[u][a]=s)}function f(e,t){s?n.nestedProperty(l[u],e).set(t):l[u+\".\"+e]=t}function h(){var e=l;return c(),e}return c(),{modifyBase:function(e,t){l[e]=t},modifyItem:f,getUpdateObj:h,applyUpdate:function(t,r){t&&f(t,r);var i=h();for(var a in i)n.nestedProperty(e,a).set(i[a])}}}},61549:function(e,t,r){\"use strict\";var n=r(39898),i=r(73972),a=r(74875),o=r(71828),s=r(63893),l=r(33306),u=r(7901),c=r(91424),f=r(92998),h=r(64168),p=r(89298),d=r(18783),v=r(99082),g=v.enforce,m=v.clean,y=r(71739).doAutoRange,x=\"start\";function b(e,t,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=e[1]||i[1]<=e[0])&&a[0]<t[1]&&a[1]>t[0])return!0}return!1}function _(e){var r,i,s,l,f,v,g=e._fullLayout,m=g._size,y=m.p,x=p.list(e,\"\",!0);if(g._paperdiv.style({width:e._context.responsive&&g.autosize&&!e._context._hasZeroWidth&&!e.layout.width?\"100%\":g.width+\"px\",height:e._context.responsive&&g.autosize&&!e._context._hasZeroHeight&&!e.layout.height?\"100%\":g.height+\"px\"}).selectAll(\".main-svg\").call(c.setSize,g.width,g.height),e._context.setBackground(e,g.paper_bgcolor),t.drawMainTitle(e),h.manage(e),!g._has(\"cartesian\"))return a.previousPromises(e);function _(e,t,r){var n=e._lw/2;return\"x\"===e._id.charAt(0)?t?\"top\"===r?t._offset-y-n:t._offset+t._length+y+n:m.t+m.h*(1-(e.position||0))+n%1:t?\"right\"===r?t._offset+t._length+y+n:t._offset-y-n:m.l+m.w*(e.position||0)+n%1}for(r=0;r<x.length;r++){var k=(l=x[r])._anchorAxis;l._linepositions={},l._lw=c.crispRound(e,l.linewidth,1),l._mainLinePosition=_(l,k,l.side),l._mainMirrorPosition=l.mirror&&k?_(l,k,d.OPPOSITE_SIDE[l.side]):null}var M=[],A=[],S=[],E=1===u.opacity(g.paper_bgcolor)&&1===u.opacity(g.plot_bgcolor)&&g.paper_bgcolor===g.plot_bgcolor;for(i in g._plots)if((s=g._plots[i]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var C=s.xaxis.domain,L=s.yaxis.domain,P=s.plotgroup;if(b(C,L,S)){var O=P.node(),I=s.bg=o.ensureSingle(P,\"rect\",\"bg\");O.insertBefore(I.node(),O.childNodes[0]),A.push(i)}else P.select(\"rect.bg\").remove(),S.push([C,L]),E||(M.push(i),A.push(i))}var D,z,R,F,B,N,j,U,V,H,q,G,Y,W=g._bgLayer.selectAll(\".bg\").data(M);for(W.enter().append(\"rect\").classed(\"bg\",!0),W.exit().remove(),W.each((function(e){g._plots[e].bg=n.select(this)})),r=0;r<A.length;r++)s=g._plots[A[r]],f=s.xaxis,v=s.yaxis,s.bg&&void 0!==f._offset&&void 0!==v._offset&&s.bg.call(c.setRect,f._offset-y,v._offset-y,f._length+2*y,v._length+2*y).call(u.fill,g.plot_bgcolor).style(\"stroke-width\",0);if(!g._hasOnlyLargeSploms)for(i in g._plots){s=g._plots[i],f=s.xaxis,v=s.yaxis;var Z,X,K=s.clipId=\"clip\"+g._uid+i+\"plot\",J=o.ensureSingleById(g._clips,\"clipPath\",K,(function(e){e.classed(\"plotclip\",!0).append(\"rect\")}));s.clipRect=J.select(\"rect\").attr({width:f._length,height:v._length}),c.setTranslate(s.plot,f._offset,v._offset),s._hasClipOnAxisFalse?(Z=null,X=K):(Z=K,X=null),c.setClipUrl(s.plot,Z,e),s.layerClipId=X}function $(e){return\"M\"+D+\",\"+e+\"H\"+z}function Q(e){return\"M\"+f._offset+\",\"+e+\"h\"+f._length}function ee(e){return\"M\"+e+\",\"+U+\"V\"+j}function te(e){return void 0!==v._shift&&(e+=v._shift),\"M\"+e+\",\"+v._offset+\"v\"+v._length}function re(e,t,r){if(!e.showline||i!==e._mainSubplot)return\"\";if(!e._anchorAxis)return r(e._mainLinePosition);var n=t(e._mainLinePosition);return e.mirror&&(n+=t(e._mainMirrorPosition)),n}for(i in g._plots){s=g._plots[i],f=s.xaxis,v=s.yaxis;var ne=\"M0,0\";w(f,i)&&(B=T(f,\"left\",v,x),D=f._offset-(B?y+B:0),N=T(f,\"right\",v,x),z=f._offset+f._length+(N?y+N:0),R=_(f,v,\"bottom\"),F=_(f,v,\"top\"),!(Y=!f._anchorAxis||i!==f._mainSubplot)||\"allticks\"!==f.mirror&&\"all\"!==f.mirror||(f._linepositions[i]=[R,F]),ne=re(f,$,Q),Y&&f.showline&&(\"all\"===f.mirror||\"allticks\"===f.mirror)&&(ne+=$(R)+$(F)),s.xlines.style(\"stroke-width\",f._lw+\"px\").call(u.stroke,f.showline?f.linecolor:\"rgba(0,0,0,0)\")),s.xlines.attr(\"d\",ne);var ie=\"M0,0\";w(v,i)&&(q=T(v,\"bottom\",f,x),j=v._offset+v._length+(q?y:0),G=T(v,\"top\",f,x),U=v._offset-(G?y:0),V=_(v,f,\"left\"),H=_(v,f,\"right\"),!(Y=!v._anchorAxis||i!==v._mainSubplot)||\"allticks\"!==v.mirror&&\"all\"!==v.mirror||(v._linepositions[i]=[V,H]),ie=re(v,ee,te),Y&&v.showline&&(\"all\"===v.mirror||\"allticks\"===v.mirror)&&(ie+=ee(V)+ee(H)),s.ylines.style(\"stroke-width\",v._lw+\"px\").call(u.stroke,v.showline?v.linecolor:\"rgba(0,0,0,0)\")),s.ylines.attr(\"d\",ie)}return p.makeClipPaths(e),a.previousPromises(e)}function w(e,t){return(e.ticks||e.showline)&&(t===e._mainSubplot||\"all\"===e.mirror||\"allticks\"===e.mirror)}function k(e,t,r){if(!r.showline||!r._lw)return!1;if(\"all\"===r.mirror||\"allticks\"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=d.FROM_BL[t];return r.side===t?n.domain[i]===e.domain[i]:r.mirror&&n.domain[1-i]===e.domain[1-i]}function T(e,t,r,n){if(k(e,t,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&k(e,t,a))return a._lw}return 0}t.layoutStyles=function(e){return o.syncOrAsync([a.doAutoMargin,_],e)},t.drawMainTitle=function(e){var t,r=e._fullLayout.title,i=e._fullLayout,l=function(e){var t=e.title,r=\"middle\";return o.isRightAnchor(t)?r=\"end\":o.isLeftAnchor(t)&&(r=x),r}(i),u=function(e){var t=e.title,r=\"0em\";return o.isTopAnchor(t)?r=d.CAP_SHIFT+\"em\":o.isMiddleAnchor(t)&&(r=d.MID_SHIFT+\"em\"),r}(i),h=function(e,t){var r=e.title,n=e._size,i=0;return\"0em\"!==t&&t?t===d.CAP_SHIFT+\"em\"&&(i=r.pad.t):i=-r.pad.b,\"auto\"===r.y?n.t/2:\"paper\"===r.yref?n.t+n.h-n.h*r.y+i:e.height-e.height*r.y+i}(i,u),p=function(e,t){var r=e.title,n=e._size,i=0;return t===x?i=r.pad.l:\"end\"===t&&(i=-r.pad.r),\"paper\"===r.xref?n.l+n.w*r.x+i:e.width*r.x+i}(i,l);if(f.draw(e,\"gtitle\",{propContainer:i,propName:\"title.text\",placeholder:i._dfltTitle.plot,attributes:{x:p,y:h,\"text-anchor\":l,dy:u}}),r.text&&r.automargin){var v=n.selectAll(\".gtitle\"),g=c.bBox(v.node()).height,m=function(e,t,r){var n=t.y,i=t.yanchor,a=n>.5?\"t\":\"b\",o=e._fullLayout.margin[a],s=0;return\"paper\"===t.yref?s=r+t.pad.t+t.pad.b:\"container\"===t.yref&&(s=function(e,t,r,n,i){var a=0;return\"middle\"===r&&(a+=i/2),\"t\"===e?(\"top\"===r&&(a+=i),a+=n-t*n):(\"bottom\"===r&&(a+=i),a+=t*n),a}(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}(e,r,g);m>0&&(function(e,t,r,n){var i=\"title.automargin\",s=e._fullLayout.title,l=s.y>.5?\"t\":\"b\",u={x:s.x,y:s.y,t:0,b:0},c={};\"paper\"===s.yref&&function(e,t,r,n,i){var a=\"paper\"===t.yref?e._fullLayout._size.h:e._fullLayout.height,s=o.isTopAnchor(t)?n:n-i,l=\"b\"===r?a-s:s;return!(o.isTopAnchor(t)&&\"t\"===r||o.isBottomAnchor(t)&&\"b\"===r)&&l<i}(e,s,l,t,n)?u[l]=r:\"container\"===s.yref&&(c[l]=r,e._fullLayout._reservedMargin[i]=c),a.allowAutoMargin(e,i),a.autoMargin(e,i,u)}(e,h,m,g),v.attr({x:p,y:h,\"text-anchor\":l,dy:(t=r.yanchor,\"top\"===t?d.CAP_SHIFT+.3+\"em\":\"bottom\"===t?\"-0.3em\":d.MID_SHIFT+\"em\")}).call(s.positionText,p,h))}},t.doTraceStyle=function(e){var r,n=e.calcdata,o=[];for(r=0;r<n.length;r++){var s=n[r],u=s[0]||{},c=u.trace||{},f=c._module||{},h=f.arraysToCalcdata;h&&h(s,c);var p=f.editStyle;p&&o.push({fn:p,cd0:u})}if(o.length){for(r=0;r<o.length;r++){var d=o[r];d.fn(e,d.cd0)}l(e),t.redrawReglTraces(e)}return a.style(e),i.getComponentMethod(\"legend\",\"draw\")(e),a.previousPromises(e)},t.doColorBars=function(e){return i.getComponentMethod(\"colorbar\",\"draw\")(e),a.previousPromises(e)},t.layoutReplot=function(e){var t=e.layout;return e.layout=void 0,i.call(\"_doPlot\",e,\"\",t)},t.doLegend=function(e){return i.getComponentMethod(\"legend\",\"draw\")(e),a.previousPromises(e)},t.doTicksRelayout=function(e){return p.draw(e,\"redraw\"),e._fullLayout._hasOnlyLargeSploms&&(i.subplotsRegistry.splom.updateGrid(e),l(e),t.redrawReglTraces(e)),t.drawMainTitle(e),a.previousPromises(e)},t.doModeBar=function(e){var t=e._fullLayout;h.manage(e);for(var r=0;r<t._basePlotModules.length;r++){var n=t._basePlotModules[r].updateFx;n&&n(e)}return a.previousPromises(e)},t.doCamera=function(e){for(var t=e._fullLayout,r=t._subplots.gl3d,n=0;n<r.length;n++){var i=t[r[n]];i._scene.setViewport(i)}},t.drawData=function(e){var r=e._fullLayout;l(e);for(var n=r._basePlotModules,o=0;o<n.length;o++)n[o].plot(e);return t.redrawReglTraces(e),a.style(e),i.getComponentMethod(\"selections\",\"draw\")(e),i.getComponentMethod(\"shapes\",\"draw\")(e),i.getComponentMethod(\"annotations\",\"draw\")(e),i.getComponentMethod(\"images\",\"draw\")(e),r._replotting=!1,a.previousPromises(e)},t.redrawReglTraces=function(e){var t=e._fullLayout;if(t._has(\"regl\")){var r,n,i=e._fullData,a=[],s=[];for(t._hasOnlyLargeSploms&&t._splomGrid.draw(),r=0;r<i.length;r++){var l=i[r];!0===l.visible&&0!==l._length&&(\"splom\"===l.type?t._splomScenes[l.uid].draw():\"scattergl\"===l.type?o.pushUnique(a,l.xaxis+l.yaxis):\"scatterpolargl\"===l.type&&o.pushUnique(s,l.subplot))}for(r=0;r<a.length;r++)(n=t._plots[a[r]])._scene&&n._scene.draw();for(r=0;r<s.length;r++)(n=t[s[r]]._subplot)._scene&&n._scene.draw()}},t.doAutoRangeAndConstraints=function(e){for(var t,r=p.list(e,\"\",!0),n={},i=0;i<r.length;i++)if(!n[(t=r[i])._id]){n[t._id]=1,m(e,t),y(e,t);var a=t._matchGroup;if(a)for(var o in a){var s=p.getFromId(e,o);y(e,s,t.range),n[o]=1}}g(e)},t.finalDraw=function(e){i.getComponentMethod(\"rangeslider\",\"draw\")(e),i.getComponentMethod(\"rangeselector\",\"draw\")(e)},t.drawMarginPushers=function(e){i.getComponentMethod(\"legend\",\"draw\")(e),i.getComponentMethod(\"rangeselector\",\"draw\")(e),i.getComponentMethod(\"sliders\",\"draw\")(e),i.getComponentMethod(\"updatemenus\",\"draw\")(e),i.getComponentMethod(\"colorbar\",\"draw\")(e)}},96318:function(e,t,r){\"use strict\";var n=r(71828),i=n.isPlainObject,a=r(86281),o=r(74875),s=r(9012),l=r(44467),u=r(72075).dfltConfig;function c(e,t){e=n.extendDeep({},e);var r,a,o=Object.keys(e).sort();function s(t,r,n){if(i(r)&&i(t))c(t,r);else if(Array.isArray(r)&&Array.isArray(t)){var o=l.arrayTemplater({_template:e},n);for(a=0;a<r.length;a++){var s=r[a],u=o.newItem(s)._template;u&&c(u,s)}var f=o.defaultItems();for(a=0;a<f.length;a++)r.push(f[a]._template);for(a=0;a<r.length;a++)delete r[a].templateitemname}}for(r=0;r<o.length;r++){var u=o[r],h=e[u];if(u in t?s(h,t[u],u):t[u]=h,f(u)===u)for(var p in t){var d=f(p);p===d||d!==u||p in e||s(h,t[p],u)}}}function f(e){return e.replace(/[0-9]+$/,\"\")}function h(e,t,r,a,o){var s=o&&r(o);for(var u in e){var c=e[u],p=v(e,u,a),d=v(e,u,o),g=r(d);if(!g){var m=f(u);m!==u&&(g=r(d=v(e,m,o)))}if(!(s&&s===g||!g||g._noTemplating||\"data_array\"===g.valType||g.arrayOk&&Array.isArray(c)))if(!g.valType&&i(c))h(c,t,r,p,d);else if(g._isLinkedToArray&&Array.isArray(c))for(var y=!1,x=0,b={},_=0;_<c.length;_++){var w=c[_];if(i(w)){var k=w.name;if(k)b[k]||(h(w,t,r,v(c,x,p),v(c,x,d)),x++,b[k]=1);else if(!y){var T=v(e,l.arrayDefaultKey(u),a),M=v(c,x,p);h(w,t,r,M,v(c,x,d));var A=n.nestedProperty(t,M);n.nestedProperty(t,T).set(A.get()),A.set(null),y=!0}}}else n.nestedProperty(t,p).set(c)}}function p(e,t){return a.getLayoutValObject(e,n.nestedProperty({},t).parts)}function d(e,t){return a.getTraceValObject(e,n.nestedProperty({},t).parts)}function v(e,t,r){return r?Array.isArray(e)?r+\"[\"+t+\"]\":r+\".\"+t:t}function g(e){for(var t=0;t<e.length;t++)if(i(e[t]))return!0}function m(e){var t;switch(e.code){case\"data\":t=\"The template has no key data.\";break;case\"layout\":t=\"The template has no key layout.\";break;case\"missing\":t=e.path?\"There are no templates for item \"+e.path+\" with name \"+e.templateitemname:\"There are no templates for trace \"+e.index+\", of type \"+e.traceType+\".\";break;case\"unused\":t=e.path?\"The template item at \"+e.path+\" was not used in constructing the plot.\":e.dataCount?\"Some of the templates of type \"+e.traceType+\" were not used. The template has \"+e.templateCount+\" traces, the data only has \"+e.dataCount+\" of this type.\":\"The template has \"+e.templateCount+\" traces of type \"+e.traceType+\" but there are none in the data.\";break;case\"reused\":t=\"Some of the templates of type \"+e.traceType+\" were used more than once. The template has \"+e.templateCount+\" traces, the data has \"+e.dataCount+\" of this type.\"}return e.msg=t,e}t.makeTemplate=function(e){e=n.isPlainObject(e)?e:n.getGraphDiv(e),e=n.extendDeep({_context:u},{data:e.data,layout:e.layout}),o.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var a={data:{},layout:{}};t.forEach((function(e){var t={};h(e,t,d.bind(null,e));var r=n.coerce(e,{},s,\"type\"),i=a.data[r];i||(i=a.data[r]=[]),i.push(t)})),h(r,a.layout,p.bind(null,r)),delete a.layout.template;var l=r.template;if(i(l)){var f,v,g,m,y,x,b=l.layout;i(b)&&c(b,a.layout);var _=l.data;if(i(_)){for(v in a.data)if(g=_[v],Array.isArray(g)){for(x=(y=a.data[v]).length,m=g.length,f=0;f<x;f++)c(g[f%m],y[f]);for(f=x;f<m;f++)y.push(n.extendDeep({},g[f]))}for(v in _)v in a.data||(a.data[v]=n.extendDeep([],_[v]))}}return a},t.validateTemplate=function(e,t){var r=n.extendDeep({},{_context:u,data:e.data,layout:e.layout}),a=r.layout||{};i(t)||(t=a.template||{});var s=t.layout,l=t.data,c=[];r.layout=a,r.layout.template=t,o.supplyDefaults(r);var h=r._fullLayout,p=r._fullData,d={};if(i(s)?(function e(t,r){for(var n in t)if(\"_\"!==n.charAt(0)&&i(t[n])){var a,o=f(n),s=[];for(a=0;a<r.length;a++)s.push(v(t,n,r[a])),o!==n&&s.push(v(t,o,r[a]));for(a=0;a<s.length;a++)d[s[a]]=1;e(t[n],s)}}(h,[\"layout\"]),function e(t,r){for(var n in t)if(-1===n.indexOf(\"defaults\")&&i(t[n])){var a=v(t,n,r);d[a]?e(t[n],a):c.push({code:\"unused\",path:a})}}(s,\"layout\")):c.push({code:\"layout\"}),i(l)){for(var y,x={},b=0;b<p.length;b++){var _=p[b];x[y=_.type]=(x[y]||0)+1,_._fullInput._template||c.push({code:\"missing\",index:_._fullInput.index,traceType:y})}for(y in l){var w=l[y].length,k=x[y]||0;w>k?c.push({code:\"unused\",traceType:y,templateCount:w,dataCount:k}):k>w&&c.push({code:\"reused\",traceType:y,templateCount:w,dataCount:k})}}else c.push({code:\"data\"});if(function e(t,r){for(var n in t)if(\"_\"!==n.charAt(0)){var a=t[n],o=v(t,n,r);i(a)?(Array.isArray(t)&&!1===a._template&&a.templateitemname&&c.push({code:\"missing\",path:o,templateitemname:a.templateitemname}),e(a,o)):Array.isArray(a)&&g(a)&&e(a,o)}}({data:p,layout:h},\"\"),c.length)return c.map(m)}},403:function(e,t,r){\"use strict\";var n=r(92770),i=r(72391),a=r(74875),o=r(71828),s=r(25095),l=r(5900),u=r(70942),c=r(11506).version,f={format:{valType:\"enumerated\",values:[\"png\",\"jpeg\",\"webp\",\"svg\",\"full-json\"],dflt:\"png\"},width:{valType:\"number\",min:1},height:{valType:\"number\",min:1},scale:{valType:\"number\",min:0,dflt:1},setBackground:{valType:\"any\",dflt:!1},imageDataOnly:{valType:\"boolean\",dflt:!1}};e.exports=function(e,t){var r,h,p,d;function v(e){return!(e in t)||o.validate(t[e],f[e])}if(t=t||{},o.isPlainObject(e)?(r=e.data||[],h=e.layout||{},p=e.config||{},d={}):(e=o.getGraphDiv(e),r=o.extendDeep([],e.data),h=o.extendDeep({},e.layout),p=e._context,d=e._fullLayout||{}),!v(\"width\")&&null!==t.width||!v(\"height\")&&null!==t.height)throw new Error(\"Height and width should be pixel values.\");if(!v(\"format\"))throw new Error(\"Export format is not \"+o.join2(f.format.values,\", \",\" or \")+\".\");var g={};function m(e,r){return o.coerce(t,g,f,e,r)}var y=m(\"format\"),x=m(\"width\"),b=m(\"height\"),_=m(\"scale\"),w=m(\"setBackground\"),k=m(\"imageDataOnly\"),T=document.createElement(\"div\");T.style.position=\"absolute\",T.style.left=\"-5000px\",document.body.appendChild(T);var M=o.extendFlat({},h);x?M.width=x:null===t.width&&n(d.width)&&(M.width=d.width),b?M.height=b:null===t.height&&n(d.height)&&(M.height=d.height);var A=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(T);function E(){return new Promise((function(e){setTimeout(e,s.getDelay(T._fullLayout))}))}function C(){return new Promise((function(e,t){var r=l(T,y,_),n=T._fullLayout.width,f=T._fullLayout.height;function h(){i.purge(T),document.body.removeChild(T)}if(\"full-json\"===y){var p=a.graphJson(T,!1,\"keepdata\",\"object\",!0,!0);return p.version=c,p=JSON.stringify(p),h(),e(k?p:s.encodeJSON(p))}if(h(),\"svg\"===y)return e(k?r:s.encodeSVG(r));var d=document.createElement(\"canvas\");d.id=o.randstr(),u({format:y,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(e).catch(t)}))}return new Promise((function(e,t){i.newPlot(T,r,M,A).then(S).then(E).then(C).then((function(t){e(function(e){return k?e.replace(s.IMAGE_URL_PREFIX,\"\"):e}(t))})).catch((function(e){t(e)}))}))}},84936:function(e,t,r){\"use strict\";var n=r(71828),i=r(74875),a=r(86281),o=r(72075).dfltConfig,s=n.isPlainObject,l=Array.isArray,u=n.isArrayOrTypedArray;function c(e,t,r,i,a,o){o=o||[];for(var f=Object.keys(e),h=0;h<f.length;h++){var g=f[h];if(\"transforms\"!==g){var m=o.slice();m.push(g);var y=e[g],x=t[g],b=v(r,g),_=(b||{}).valType,w=\"info_array\"===_,k=\"colorscale\"===_,T=(b||{}).items;if(d(r,g))if(s(y)&&s(x)&&\"any\"!==_)c(y,x,b,i,a,m);else if(w&&l(y)){y.length>x.length&&i.push(p(\"unused\",a,m.concat(x.length)));var M,A,S,E,C,L=x.length,P=Array.isArray(T);if(P&&(L=Math.min(L,T.length)),2===b.dimensions)for(A=0;A<L;A++)if(l(y[A])){y[A].length>x[A].length&&i.push(p(\"unused\",a,m.concat(A,x[A].length)));var O=x[A].length;for(M=0;M<(P?Math.min(O,T[A].length):O);M++)S=P?T[A][M]:T,E=y[A][M],C=x[A][M],n.validate(E,S)?C!==E&&C!==+E&&i.push(p(\"dynamic\",a,m.concat(A,M),E,C)):i.push(p(\"value\",a,m.concat(A,M),E))}else i.push(p(\"array\",a,m.concat(A),y[A]));else for(A=0;A<L;A++)S=P?T[A]:T,E=y[A],C=x[A],n.validate(E,S)?C!==E&&C!==+E&&i.push(p(\"dynamic\",a,m.concat(A),E,C)):i.push(p(\"value\",a,m.concat(A),E))}else if(b.items&&!w&&l(y)){var I,D,z=T[Object.keys(T)[0]],R=[];for(I=0;I<x.length;I++){var F=x[I]._index||I;if((D=m.slice()).push(F),s(y[F])&&s(x[I])){R.push(F);var B=y[F],N=x[I];s(B)&&!1!==B.visible&&!1===N.visible?i.push(p(\"invisible\",a,D)):c(B,N,z,i,a,D)}}for(I=0;I<y.length;I++)(D=m.slice()).push(I),s(y[I])?-1===R.indexOf(I)&&i.push(p(\"unused\",a,D)):i.push(p(\"object\",a,D,y[I]))}else!s(y)&&s(x)?i.push(p(\"object\",a,m,y)):u(y)||!u(x)||w||k?g in t?n.validate(y,b)?\"enumerated\"===b.valType&&(b.coerceNumber&&y!==+x||y!==x)&&i.push(p(\"dynamic\",a,m,y,x)):i.push(p(\"value\",a,m,y)):i.push(p(\"unused\",a,m,y)):i.push(p(\"array\",a,m,y));else i.push(p(\"schema\",a,m))}}return i}e.exports=function(e,t){void 0===e&&(e=[]),void 0===t&&(t={});var r,u,f=a.get(),h=[],d={_context:n.extendFlat({},o)};l(e)?(d.data=n.extendDeep([],e),r=e):(d.data=[],r=[],h.push(p(\"array\",\"data\"))),s(t)?(d.layout=n.extendDeep({},t),u=t):(d.layout={},u={},arguments.length>1&&h.push(p(\"object\",\"layout\"))),i.supplyDefaults(d);for(var v=d._fullData,g=r.length,m=0;m<g;m++){var y=r[m],x=[\"data\",m];if(s(y)){var b=v[m],_=b.type,w=f.traces[_].attributes;w.type={valType:\"enumerated\",values:[_]},!1===b.visible&&!1!==y.visible&&h.push(p(\"invisible\",x)),c(y,b,w,h,x);var k=y.transforms,T=b.transforms;if(k){l(k)||h.push(p(\"array\",x,[\"transforms\"])),x.push(\"transforms\");for(var M=0;M<k.length;M++){var A=[\"transforms\",M],S=k[M].type;if(s(k[M])){var E=f.transforms[S]?f.transforms[S].attributes:{};E.type={valType:\"enumerated\",values:Object.keys(f.transforms)},c(k[M],T[M],E,h,x,A)}else h.push(p(\"object\",x,A))}}}else h.push(p(\"object\",x))}var C=d._fullLayout,L=function(e,t){for(var r=e.layout.layoutAttributes,i=0;i<t.length;i++){var a=t[i],o=e.traces[a.type],s=o.layoutAttributes;s&&(a.subplot?n.extendFlat(r[o.attributes.subplot.dflt],s):n.extendFlat(r,s))}return r}(f,v);return c(u,C,L,h,\"layout\"),0===h.length?void 0:h};var f={object:function(e,t){return(\"layout\"===e&&\"\"===t?\"The layout argument\":\"data\"===e[0]&&\"\"===t?\"Trace \"+e[1]+\" in the data argument\":h(e)+\"key \"+t)+\" must be linked to an object container\"},array:function(e,t){return(\"data\"===e?\"The data argument\":h(e)+\"key \"+t)+\" must be linked to an array container\"},schema:function(e,t){return h(e)+\"key \"+t+\" is not part of the schema\"},unused:function(e,t,r){var n=s(r)?\"container\":\"key\";return h(e)+n+\" \"+t+\" did not get coerced\"},dynamic:function(e,t,r,n){return[h(e)+\"key\",t,\"(set to '\"+r+\"')\",\"got reset to\",\"'\"+n+\"'\",\"during defaults.\"].join(\" \")},invisible:function(e,t){return(t?h(e)+\"item \"+t:\"Trace \"+e[1])+\" got defaulted to be not visible\"},value:function(e,t,r){return[h(e)+\"key \"+t,\"is set to an invalid value (\"+r+\")\"].join(\" \")}};function h(e){return l(e)?\"In data trace \"+e[1]+\", \":\"In \"+e+\", \"}function p(e,t,r,i,a){var o,s;r=r||\"\",l(t)?(o=t[0],s=t[1]):(o=t,s=null);var u=function(e){if(!l(e))return String(e);for(var t=\"\",r=0;r<e.length;r++){var n=e[r];\"number\"==typeof n?t=t.substr(0,t.length-1)+\"[\"+n+\"]\":t+=n,r<e.length-1&&(t+=\".\")}return t}(r),c=f[e](t,u,i,a);return n.log(c),{code:e,container:o,trace:s,path:r,astr:u,msg:c}}function d(e,t){var r=m(t),n=r.keyMinusId,i=r.id;return!!(n in e&&e[n]._isSubplotObj&&i)||t in e}function v(e,t){return t in e?e[t]:e[m(t).keyMinusId]}var g=n.counterRegex(\"([a-z]+)\");function m(e){var t=e.match(g);return{keyMinusId:t&&t[1],id:t&&t[2]}}},85594:function(e){\"use strict\";e.exports={mode:{valType:\"enumerated\",dflt:\"afterall\",values:[\"immediate\",\"next\",\"afterall\"]},direction:{valType:\"enumerated\",values:[\"forward\",\"reverse\"],dflt:\"forward\"},fromcurrent:{valType:\"boolean\",dflt:!1},frame:{duration:{valType:\"number\",min:0,dflt:500},redraw:{valType:\"boolean\",dflt:!0}},transition:{duration:{valType:\"number\",min:0,dflt:500,editType:\"none\"},easing:{valType:\"enumerated\",dflt:\"cubic-in-out\",values:[\"linear\",\"quad\",\"cubic\",\"sin\",\"exp\",\"circle\",\"elastic\",\"back\",\"bounce\",\"linear-in\",\"quad-in\",\"cubic-in\",\"sin-in\",\"exp-in\",\"circle-in\",\"elastic-in\",\"back-in\",\"bounce-in\",\"linear-out\",\"quad-out\",\"cubic-out\",\"sin-out\",\"exp-out\",\"circle-out\",\"elastic-out\",\"back-out\",\"bounce-out\",\"linear-in-out\",\"quad-in-out\",\"cubic-in-out\",\"sin-in-out\",\"exp-in-out\",\"circle-in-out\",\"elastic-in-out\",\"back-in-out\",\"bounce-in-out\"],editType:\"none\"},ordering:{valType:\"enumerated\",values:[\"layout first\",\"traces first\"],dflt:\"layout first\",editType:\"none\"}}}},85501:function(e,t,r){\"use strict\";var n=r(71828),i=r(44467);e.exports=function(e,t,r){var a,o,s=r.name,l=r.inclusionAttr||\"visible\",u=t[s],c=n.isArrayOrTypedArray(e[s])?e[s]:[],f=t[s]=[],h=i.arrayTemplater(t,s,l);for(a=0;a<c.length;a++){var p=c[a];n.isPlainObject(p)?o=h.newItem(p):(o=h.newItem({}))[l]=!1,o._index=a,!1!==o[l]&&r.handleItemDefaults(p,o,t,r),f.push(o)}var d=h.defaultItems();for(a=0;a<d.length;a++)(o=d[a])._index=f.length,r.handleItemDefaults({},o,t,r,{}),f.push(o);if(n.isArrayOrTypedArray(u)){var v=Math.min(u.length,f.length);for(a=0;a<v;a++)n.relinkPrivateKeys(f[a],u[a])}return f}},9012:function(e,t,r){\"use strict\";var n=r(41940),i=r(77914);e.exports={type:{valType:\"enumerated\",values:[],dflt:\"scatter\",editType:\"calc+clearAxisTypes\",_noTemplating:!0},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0,editType:\"calc\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},legend:{valType:\"subplotid\",dflt:\"legend\",editType:\"style\"},legendgroup:{valType:\"string\",dflt:\"\",editType:\"style\"},legendgrouptitle:{text:{valType:\"string\",dflt:\"\",editType:\"style\"},font:n({editType:\"style\"}),editType:\"style\"},legendrank:{valType:\"number\",dflt:1e3,editType:\"style\"},legendwidth:{valType:\"number\",min:0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"style\"},name:{valType:\"string\",editType:\"style\"},uid:{valType:\"string\",editType:\"plot\",anim:!0},ids:{valType:\"data_array\",editType:\"calc\",anim:!0},customdata:{valType:\"data_array\",editType:\"calc\"},meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},selectedpoints:{valType:\"any\",editType:\"calc\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],arrayOk:!0,dflt:\"all\",editType:\"none\"},hoverlabel:i.hoverlabel,stream:{token:{valType:\"string\",noBlank:!0,strict:!0,editType:\"calc\"},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500,editType:\"calc\"},editType:\"calc\"},transforms:{_isLinkedToArray:\"transform\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"}}},42973:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828),a=i.dateTime2ms,o=i.incrementMonth,s=r(50606).ONEAVGMONTH;e.exports=function(e,t,r,i){if(\"date\"!==t.type)return{vals:i};var l=e[r+\"periodalignment\"];if(!l)return{vals:i};var u,c=e[r+\"period\"];if(n(c)){if((c=+c)<=0)return{vals:i}}else if(\"string\"==typeof c&&\"M\"===c.charAt(0)){var f=+c.substring(1);if(!(f>0&&Math.round(f)===f))return{vals:i};u=f}for(var h=t.calendar,p=\"start\"===l,d=\"end\"===l,v=e[r+\"period0\"],g=a(v,h)||0,m=[],y=[],x=[],b=i.length,_=0;_<b;_++){var w,k,T,M=i[_];if(u){for(w=Math.round((M-g)/(u*s)),T=o(g,u*w,h);T>M;)T=o(T,-u,h);for(;T<=M;)T=o(T,u,h);k=o(T,-u,h)}else{for(T=g+(w=Math.round((M-g)/c))*c;T>M;)T-=c;for(;T<=M;)T+=c;k=T-c}m[_]=p?k:d?T:(k+T)/2,y[_]=k,x[_]=T}return{vals:m,starts:y,ends:x}}},89502:function(e){\"use strict\";e.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}},71739:function(e,t,r){\"use strict\";var n=r(39898),i=r(92770),a=r(71828),o=r(50606).FP_SAFE,s=r(73972),l=r(91424),u=r(41675),c=u.getFromId,f=u.isLinked;function h(e,t){var r,n,i=[],o=e._fullLayout,s=d(o,t,0),l=d(o,t,1),u=g(e,t),c=u.min,f=u.max;if(0===c.length||0===f.length)return a.simpleMap(t.range,t.r2l);var h=c[0].val,v=f[0].val;for(r=1;r<c.length&&h===v;r++)h=Math.min(h,c[r].val);for(r=1;r<f.length&&h===v;r++)v=Math.max(v,f[r].val);var m=t.autorange,y=\"reversed\"===m||\"min reversed\"===m||\"max reversed\"===m;if(!y&&t.range){var x=a.simpleMap(t.range,t.r2l);y=x[1]<x[0]}\"reversed\"===t.autorange&&(t.autorange=!0);var b,_,w,k,M,A,S=t.rangemode,E=\"tozero\"===S,C=\"nonnegative\"===S,L=t._length,P=L/10,O=0;for(r=0;r<c.length;r++)for(b=c[r],n=0;n<f.length;n++)(A=(_=f[n]).val-b.val-p(t,b.val,_.val))>0&&((M=L-s(b)-l(_))>P?A/M>O&&(w=b,k=_,O=A/M):A/L>O&&(w={val:b.val,nopad:1},k={val:_.val,nopad:1},O=A/L));if(h===v){var I=h-1,D=h+1;if(E)if(0===h)i=[0,1];else{var z=(h>0?f:c).reduce((function(e,t){return Math.max(e,l(t))}),0),R=h/(1-Math.min(.5,z/L));i=h>0?[0,R]:[R,0]}else i=C?[Math.max(0,I),Math.max(1,D)]:[I,D]}else E?(w.val>=0&&(w={val:0,nopad:1}),k.val<=0&&(k={val:0,nopad:1})):C&&(w.val-O*s(w)<0&&(w={val:0,nopad:1}),k.val<=0&&(k={val:1,nopad:1})),O=(k.val-w.val-p(t,b.val,_.val))/(L-s(w)-l(k)),i=[w.val-O*s(w),k.val+O*l(k)];return i=T(i,t),t.limitRange&&t.limitRange(),y&&i.reverse(),a.simpleMap(i,t.l2r||Number)}function p(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a<i.length;a++){var o=i[a];n+=o.max-o.min}return n}function d(e,t,r){var i=.05*t._length,o=t._anchorAxis||{};if(-1!==(t.ticklabelposition||\"\").indexOf(\"inside\")||-1!==(o.ticklabelposition||\"\").indexOf(\"inside\")){var s=t.isReversed();if(!s){var u=a.simpleMap(t.range,t.r2l);s=u[1]<u[0]}s&&(r=!r)}var c=0;return f(e,t._id)||(c=function(e,t,r){var i=0,o=\"x\"===t._id.charAt(0);for(var s in e._plots){var u=e._plots[s];if(t._id===u.xaxis._id||t._id===u.yaxis._id){var c=(o?u.yaxis:u.xaxis)||{};if(-1!==(c.ticklabelposition||\"\").indexOf(\"inside\")&&(!r&&(\"left\"===c.side||\"bottom\"===c.side)||r&&(\"top\"===c.side||\"right\"===c.side))){if(c._vals){var f=a.deg2rad(c._tickAngles[c._id+\"tick\"]||0),h=Math.abs(Math.cos(f)),p=Math.abs(Math.sin(f));if(!c._vals[0].bb){var d=c._id+\"tick\";c._selections[d].each((function(e){var t=n.select(this);t.select(\".text-math-group\").empty()&&(e.bb=l.bBox(t.node()))}))}for(var g=0;g<c._vals.length;g++){var m=c._vals[g].bb;if(m){var y=2*v+m.width,x=2*v+m.height;i=Math.max(i,o?Math.max(y*h,x*p):Math.max(x*h,y*p))}}}\"inside\"===c.ticks&&\"inside\"===c.ticklabelposition&&(i+=c.ticklen||0)}}}return i}(e,t,r)),i=Math.max(c,i),\"domain\"===t.constrain&&t._inputDomain&&(i*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(e){return e.nopad?0:e.pad+(e.extrapad?i:c)}}e.exports={applyAutorangeOptions:T,getAutoRange:h,makePadFn:d,doAutoRange:function(e,t,r){if(t.setScale(),t.autorange){t.range=r?r.slice():h(e,t),t._r=t.range.slice(),t._rl=a.simpleMap(t._r,t.r2l);var n=t._input,i={};i[t._attr+\".range\"]=t.range,i[t._attr+\".autorange\"]=t.autorange,s.call(\"_storeDirectGUIEdit\",e.layout,e._fullLayout._preGUI,i),n.range=t.range.slice(),n.autorange=t.autorange}var o=t._anchorAxis;if(o&&o.rangeslider){var l=o.rangeslider[t._name];l&&\"auto\"===l.rangemode&&(l.range=h(e,t)),o._input.rangeslider[t._name]=a.extendFlat({},l)}},findExtremes:function(e,t,r){r||(r={}),e._m||e.setScale();var n,a,s,l,u,c,f,h,p,d=[],v=[],g=t.length,x=r.padded||!1,_=r.tozero&&(\"linear\"===e.type||\"-\"===e.type),w=\"log\"===e.type,k=!1,T=r.vpadLinearized||!1;function M(e){if(Array.isArray(e))return k=!0,function(t){return Math.max(Number(e[t]||0),0)};var t=Math.max(Number(e||0),0);return function(){return t}}var A=M((e._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=M((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=M(r.vpadplus||r.vpad),C=M(r.vpadminus||r.vpad);if(!k){if(h=1/0,p=-1/0,w)for(n=0;n<g;n++)(a=t[n])<h&&a>0&&(h=a),a>p&&a<o&&(p=a);else for(n=0;n<g;n++)(a=t[n])<h&&a>-o&&(h=a),a>p&&a<o&&(p=a);t=[h,p],g=2}var L={tozero:_,extrapad:x};function P(r){s=t[r],i(s)&&(c=A(r),f=S(r),T?(l=e.c2l(s)-C(r),u=e.c2l(s)+E(r)):(h=s-C(r),p=s+E(r),w&&h<p/10&&(h=p/10),l=e.c2l(h),u=e.c2l(p)),_&&(l=Math.min(0,l),u=Math.max(0,u)),b(l)&&m(d,l,f,L),b(u)&&y(v,u,c,L))}var O=Math.min(6,g);for(n=0;n<O;n++)P(n);for(n=g-1;n>=O;n--)P(n);return{min:d,max:v,opts:r}},concatExtremes:g};var v=3;function g(e,t,r){var n,i,a,o=t._id,s=e._fullData,l=e._fullLayout,u=[],f=[];function h(e,t){for(n=0;n<t.length;n++){var r=e[t[n]],s=(r._extremes||{})[o];if(!0===r.visible&&s){for(i=0;i<s.min.length;i++)a=s.min[i],m(u,a.val,a.pad,{extrapad:a.extrapad});for(i=0;i<s.max.length;i++)a=s.max[i],y(f,a.val,a.pad,{extrapad:a.extrapad})}}}if(h(s,t._traceIndices),h(l.annotations||[],t._annIndices||[]),h(l.shapes||[],t._shapeIndices||[]),t._matchGroup&&!r)for(var p in t._matchGroup)if(p!==t._id){var d=c(e,p),v=g(e,d,!0),x=t._length/d._length;for(i=0;i<v.min.length;i++)a=v.min[i],m(u,a.val,a.pad*x,{extrapad:a.extrapad});for(i=0;i<v.max.length;i++)a=v.max[i],y(f,a.val,a.pad*x,{extrapad:a.extrapad})}return{min:u,max:f}}function m(e,t,r,n){x(e,t,r,n,_)}function y(e,t,r,n){x(e,t,r,n,w)}function x(e,t,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<e.length&&s;l++){var u=e[l];if(i(u.val,t)&&u.pad>=r&&(u.extrapad||!o)){s=!1;break}i(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=a&&0===t;e.push({val:t,pad:c?0:r,extrapad:!c&&o})}}function b(e){return i(e)&&Math.abs(e)<o}function _(e,t){return e<=t}function w(e,t){return e>=t}function k(e,t,r){return void 0===t||void 0===r||(t=e.d2l(t))<e.d2l(r)}function T(e,t){if(!t||!t.autorangeoptions)return e;var r=e[0],n=e[1],i=t.autorangeoptions.include;if(void 0!==i){var o=t.d2l(r),s=t.d2l(n);a.isArrayOrTypedArray(i)||(i=[i]);for(var l=0;l<i.length;l++){var u=t.d2l(i[l]);o>=u&&(o=u,r=u),s<=u&&(s=u,n=u)}}return r=function(e,t){var r=t.autorangeoptions;return r&&void 0!==r.minallowed&&k(t,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&k(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}(r,t),n=function(e,t){var r=t.autorangeoptions;return r&&void 0!==r.maxallowed&&k(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&k(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}(n,t),[r,n]}},23074:function(e){\"use strict\";e.exports=function(e,t,r){var n,i;if(r){var a=\"reversed\"===t||\"min reversed\"===t||\"max reversed\"===t;n=r[a?1:0],i=r[a?0:1]}var o=e(\"autorangeoptions.minallowed\",null===i?n:void 0),s=e(\"autorangeoptions.maxallowed\",null===n?i:void 0);void 0===o&&e(\"autorangeoptions.clipmin\"),void 0===s&&e(\"autorangeoptions.clipmax\"),e(\"autorangeoptions.include\")}},89298:function(e,t,r){\"use strict\";var n=r(39898),i=r(92770),a=r(74875),o=r(73972),s=r(71828),l=s.strTranslate,u=r(63893),c=r(92998),f=r(7901),h=r(91424),p=r(13838),d=r(66287),v=r(50606),g=v.ONEMAXYEAR,m=v.ONEAVGYEAR,y=v.ONEMINYEAR,x=v.ONEMAXQUARTER,b=v.ONEAVGQUARTER,_=v.ONEMINQUARTER,w=v.ONEMAXMONTH,k=v.ONEAVGMONTH,T=v.ONEMINMONTH,M=v.ONEWEEK,A=v.ONEDAY,S=A/2,E=v.ONEHOUR,C=v.ONEMIN,L=v.ONESEC,P=v.MINUS_SIGN,O=v.BADNUM,I={K:\"zeroline\"},D={K:\"gridline\",L:\"path\"},z={K:\"minor-gridline\",L:\"path\"},R={K:\"tick\",L:\"path\"},F={K:\"tick\",L:\"text\"},B={width:[\"x\",\"r\",\"l\",\"xl\",\"xr\"],height:[\"y\",\"t\",\"b\",\"yt\",\"yb\"],right:[\"r\",\"xr\"],left:[\"l\",\"xl\"],top:[\"t\",\"yt\"],bottom:[\"b\",\"yb\"]},N=r(18783),j=N.MID_SHIFT,U=N.CAP_SHIFT,V=N.LINE_SPACING,H=N.OPPOSITE_SIDE,q=e.exports={};q.setConvert=r(21994);var G=r(4322),Y=r(41675),W=Y.idSort,Z=Y.isLinked;q.id2name=Y.id2name,q.name2id=Y.name2id,q.cleanId=Y.cleanId,q.list=Y.list,q.listIds=Y.listIds,q.getFromId=Y.getFromId,q.getFromTrace=Y.getFromTrace;var X=r(71739);q.getAutoRange=X.getAutoRange,q.findExtremes=X.findExtremes;var K=1e-4;function J(e){var t=(e[1]-e[0])*K;return[e[0]-t,e[1]+t]}q.coerceRef=function(e,t,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+\"axis\"],u=n+\"ref\",c={};return i||(i=l[0]||(\"string\"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(e){return e+\" domain\"}))),c[u]={valType:\"enumerated\",values:l.concat(a?\"string\"==typeof a?[a]:a:[]),dflt:i},s.coerce(e,t,c,u)},q.getRefType=function(e){return void 0===e?e:\"paper\"===e?\"paper\":\"pixel\"===e?\"pixel\":/( domain)$/.test(e)?\"domain\":\"range\"},q.coercePosition=function(e,t,r,n,i,a){var o,l;if(\"range\"!==q.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var u=q.getFromId(t,n);l=r(i,a=u.fraction2r(a)),o=u.cleanPos}e[i]=o(l)},q.cleanPosition=function(e,t,r){return(\"paper\"===r||\"pixel\"===r?s.ensureNumber:q.getFromId(t,r).cleanPos)(e)},q.redrawComponents=function(e,t){t=t||q.listIds(e);var r=e._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),u={},c=0;c<t.length;c++)for(var f=r[q.id2name(t[c])][a],h=0;h<f.length;h++){var p=f[h];if(!u[p]&&(l(e,p),u[p]=1,s))return}}n(\"annotations\",\"drawOne\",\"_annIndices\"),n(\"shapes\",\"drawOne\",\"_shapeIndices\"),n(\"images\",\"draw\",\"_imgIndices\",!0),n(\"selections\",\"drawOne\",\"_selectionIndices\")};var $=q.getDataConversions=function(e,t,r,n){var i,a=\"x\"===r||\"y\"===r||\"z\"===r?r:n;if(Array.isArray(a)){if(i={type:G(n,void 0,{autotypenumbers:e._fullLayout.autotypenumbers}),_categories:[]},q.setConvert(i),\"category\"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=q.getFromTrace(e,t,a);return i?{d2c:i.d2c,c2d:i.c2d}:\"ids\"===a?{d2c:ee,c2d:ee}:{d2c:Q,c2d:Q}};function Q(e){return+e}function ee(e){return String(e)}function te(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function re(e,t){return Math.abs(e/t-1)<.001}function ne(e){return+e.substring(1)}function ie(e,t){return e.rangebreaks&&(t=t.filter((function(t){return e.maskBreaks(t.x)!==O}))),t}function ae(e){var t=e._mainAxis,r=[];if(t._vals)for(var n=0;n<t._vals.length;n++)if(!t._vals[n].noTick){var i=t.l2p(t._vals[n].x),a=e.p2l(i),o=q.tickText(e,a);t._vals[n].minor&&(o.minor=!0,o.text=\"\"),r.push(o)}return ie(e,r)}function oe(e){var t=J(s.simpleMap(e.range,e.r2l)),r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]),i=\"category\"===e.type?e.d2l_noadd:e.d2l;\"log\"===e.type&&\"L\"!==String(e.dtick).charAt(0)&&(e.dtick=\"L\"+Math.pow(10,Math.floor(Math.min(e.range[0],e.range[1]))-1));for(var a=[],o=0;o<=1;o++)if(!o||e.minor){var l=o?e.minor.tickvals:e.tickvals,u=o?[]:e.ticktext;if(l){Array.isArray(u)||(u=[]);for(var c=0;c<l.length;c++){var f=i(l[c]);if(f>r&&f<n){var h=void 0===u[c]?q.tickText(e,f):ge(e,f,String(u[c]));o&&(h.minor=!0,h.text=\"\"),a.push(h)}}}}return ie(e,a)}q.getDataToCoordFunc=function(e,t,r,n){return $(e,t,r,n).d2c},q.counterLetter=function(e){var t=e.charAt(0);return\"x\"===t?\"y\":\"y\"===t?\"x\":void 0},q.minDtick=function(e,t,r,n){-1===[\"log\",\"category\",\"multicategory\"].indexOf(e.type)&&n?void 0===e._minDtick?(e._minDtick=t,e._forceTick0=r):e._minDtick&&((e._minDtick/t+1e-6)%1<2e-6&&((r-e._forceTick0)/t%1+1.000001)%1<2e-6?(e._minDtick=t,e._forceTick0=r):((t/e._minDtick+1e-6)%1>2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0)):e._minDtick=0},q.saveRangeInitial=function(e,t){for(var r=q.list(e,\"\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial0&&void 0===a._rangeInitial1,s=o||a.range[0]!==a._rangeInitial0||a.range[1]!==a._rangeInitial1,l=a.autorange;(o&&!0!==l||t&&s)&&(a._rangeInitial0=\"min\"===l||\"max reversed\"===l?void 0:a.range[0],a._rangeInitial1=\"max\"===l||\"min reversed\"===l?void 0:a.range[1],a._autorangeInitial=l,n=!0)}return n},q.saveShowSpikeInitial=function(e,t){for(var r=q.list(e,\"\",!0),n=!1,i=\"on\",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||t&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),\"on\"!==i||o.showspikes||(i=\"off\")}return e._fullLayout._cartesianSpikesEnabled=i,n},q.autoBin=function(e,t,r,n,a,o){var l,u=s.aggNums(Math.min,null,e),c=s.aggNums(Math.max,null,e);if(\"category\"===t.type||\"multicategory\"===t.type)return{start:u-.5,end:c+.5,size:Math.max(1,Math.round(o)||1),_dataSpan:c-u};if(a||(a=t.calendar),l=\"log\"===t.type?{type:\"linear\",range:[u,c]}:{type:t.type,range:s.simpleMap([u,c],t.c2r,0,a),calendar:a},q.setConvert(l),o=o&&d.dtick(o,l.type))l.dtick=o,l.tick0=d.tick0(void 0,l.type,a);else{var f;if(r)f=(c-u)/r;else{var h=s.distinctVals(e),p=Math.pow(10,Math.floor(Math.log(h.minDiff)/Math.LN10)),v=p*s.roundUp(h.minDiff/p,[.9,1.9,4.9,9.9],!0);f=Math.max(v,2*s.stdev(e)/Math.pow(e.length,n?.25:.4)),i(f)||(f=1)}q.autoTicks(l,f)}var g,m=l.dtick,y=q.tickIncrement(q.tickFirst(l),m,\"reverse\",a);if(\"number\"==typeof m)y=function(e,t,r,n,a){var o=0,s=0,l=0,u=0;function c(t){return(1+100*(t-e)/r.dtick)%100<2}for(var f=0;f<t.length;f++)t[f]%1==0?l++:i(t[f])||u++,c(t[f])&&o++,c(t[f]+r.dtick/2)&&s++;var h=t.length-u;if(l===h&&\"date\"!==r.type)r.dtick<1?e=n-.5*r.dtick:(e-=.5)+r.dtick<n&&(e+=r.dtick);else if(s<.1*h&&(o>.3*h||c(n)||c(a))){var p=r.dtick/2;e+=e+p<n?p:-p}return e}(y,e,l,u,c),g=y+(1+Math.floor((c-y)/m))*m;else for(\"M\"===l.dtick.charAt(0)&&(y=function(e,t,r,n,i){var a=s.findExactDates(t,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?e=q.tickIncrement(e,\"M6\",\"reverse\")+1.5*A:a.exactMonths>.8?e=q.tickIncrement(e,\"M1\",\"reverse\")+15.5*A:e-=S;var l=q.tickIncrement(e,r);if(l<=n)return l}return e}(y,e,m,u,a)),g=y;g<=c;)g=q.tickIncrement(g,m,!1,a);return{start:t.c2r(y,0,a),end:t.c2r(g,0,a),size:m,_dataSpan:c-u}},q.prepMinorTicks=function(e,t,r){if(!t.minor.dtick){delete e.dtick;var n,a=t.dtick&&i(t._tmin);if(a){var o=q.tickIncrement(t._tmin,t.dtick,!0);n=[t._tmin,.99*o+.01*t._tmin]}else{var l=s.simpleMap(t.range,t.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(e.range=s.simpleMap(n,t.l2r),e._isMinor=!0,q.prepTicks(e,r),a){var u=i(t.dtick),c=i(e.dtick),f=u?t.dtick:+t.dtick.substring(1),h=c?e.dtick:+e.dtick.substring(1);u&&c?te(f,h)?f===2*M&&h===2*A&&(e.dtick=M):f===2*M&&h===3*A?e.dtick=M:f!==M||(t._input.minor||{}).nticks?re(f/h,2.5)?e.dtick=f/2:e.dtick=f:e.dtick=A:\"M\"===String(t.dtick).charAt(0)?c?e.dtick=\"M1\":te(f,h)?f>=12&&2===h&&(e.dtick=\"M3\"):e.dtick=t.dtick:\"L\"===String(e.dtick).charAt(0)?\"L\"===String(t.dtick).charAt(0)?te(f,h)||(e.dtick=re(f/h,2.5)?t.dtick/2:t.dtick):e.dtick=\"D1\":\"D2\"===e.dtick&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}void 0===t.minor._tick0Init&&(e.tick0=t.tick0)},q.prepTicks=function(e,t){var r=s.simpleMap(e.range,e.r2l,void 0,void 0,t);if(\"auto\"===e.tickmode||!e.dtick){var n,a=e.nticks;a||(\"category\"===e.type||\"multicategory\"===e.type?(n=e.tickfont?s.bigFont(e.tickfont.size||12):15,a=e._length/n):(n=\"y\"===e._id.charAt(0)?40:80,a=s.constrain(e._length/n,4,9)+1),\"radialaxis\"===e._name&&(a*=2)),e.minor&&\"array\"!==e.minor.tickmode||\"array\"===e.tickmode&&(a*=100),e._roughDTick=Math.abs(r[1]-r[0])/a,q.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick<2*e._minDtick&&(e.dtick=e._minDtick,e.tick0=e.l2r(e._forceTick0))}\"period\"===e.ticklabelmode&&function(e){var t;function r(){return!(i(e.dtick)||\"M\"!==e.dtick.charAt(0))}var n=r(),a=q.getTickFormat(e);if(a){var o=e._dtickInit!==e.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(t=E,o&&!n&&e.dtick<E&&(e.dtick=E)):/%p/.test(a)?(t=S,o&&!n&&e.dtick<S&&(e.dtick=S)):/%[Aadejuwx]/.test(a)?(t=A,o&&!n&&e.dtick<A&&(e.dtick=A)):/%[UVW]/.test(a)?(t=M,o&&!n&&e.dtick<M&&(e.dtick=M)):/%[Bbm]/.test(a)?(t=k,o&&(n?ne(e.dtick)<1:e.dtick<T)&&(e.dtick=\"M1\")):/%[q]/.test(a)?(t=b,o&&(n?ne(e.dtick)<3:e.dtick<_)&&(e.dtick=\"M3\")):/%[Yy]/.test(a)&&(t=m,o&&(n?ne(e.dtick)<12:e.dtick<y)&&(e.dtick=\"M12\")))}(n=r())&&e.tick0===e._dowTick0&&(e.tick0=e._rawTick0),e._definedDelta=t}(e),e.tick0||(e.tick0=\"date\"===e.type?\"2000-01-01\":0),\"date\"===e.type&&e.dtick<.1&&(e.dtick=.1),ve(e)},q.calcTicks=function(e,t){for(var r,n,a=e.type,o=e.calendar,l=e.ticklabelstep,u=\"period\"===e.ticklabelmode,c=s.simpleMap(e.range,e.r2l,void 0,void 0,t),f=c[1]<c[0],h=Math.min(c[0],c[1]),p=Math.max(c[0],c[1]),d=Math.max(1e3,e._length||0),v=[],C=[],L=[],P=[],I=e.minor&&(e.minor.ticks||e.minor.showgrid),D=1;D>=(I?0:1);D--){var z=!D;D?(e._dtickInit=e.dtick,e._tick0Init=e.tick0):(e.minor._dtickInit=e.minor.dtick,e.minor._tick0Init=e.minor.tick0);var R=D?e:s.extendFlat({},e,e.minor);if(z?q.prepMinorTicks(R,e,t):q.prepTicks(R,t),\"array\"!==R.tickmode)if(\"sync\"!==R.tickmode){var F=J(c),B=F[0],N=F[1],j=i(R.dtick),U=\"log\"===a&&!(j||\"L\"===R.dtick.charAt(0)),V=q.tickFirst(R,t);if(D){if(e._tmin=V,V<B!==f)break;\"category\"!==a&&\"multicategory\"!==a||(N=f?Math.max(-.5,N):Math.min(e._categories.length-.5,N))}var H,G,Y=null,W=V;D&&(j?G=e.dtick:\"date\"===a?\"string\"==typeof e.dtick&&\"M\"===e.dtick.charAt(0)&&(G=k*e.dtick.substring(1)):G=e._roughDTick,H=Math.round((e.r2l(W)-e.r2l(e.tick0))/G)-1);var Z=R.dtick;for(R.rangebreaks&&R._tick0Init!==R.tick0&&(W=ze(W,e),f||(W=q.tickIncrement(W,Z,!f,o))),D&&u&&(W=q.tickIncrement(W,Z,!f,o),H--);f?W>=N:W<=N;W=q.tickIncrement(W,Z,f,o)){if(D&&H++,R.rangebreaks&&!f){if(W<B)continue;if(R.maskBreaks(W)===O&&ze(W,R)>=p)break}if(L.length>d||W===Y)break;Y=W;var X={value:W};D?(U&&W!==(0|W)&&(X.simpleLabel=!0),l>1&&H%l&&(X.skipLabel=!0),L.push(X)):(X.minor=!0,P.push(X))}}else L=[],v=ae(e);else D?(L=[],v=oe(e)):(P=[],C=oe(e))}if(I&&!(\"inside\"===e.minor.ticks&&\"outside\"===e.ticks||\"outside\"===e.minor.ticks&&\"inside\"===e.ticks)){for(var K=L.map((function(e){return e.value})),$=[],Q=0;Q<P.length;Q++){var ee=P[Q],te=ee.value;if(-1===K.indexOf(te)){for(var re=!1,ne=0;!re&&ne<L.length;ne++)1e7+L[ne].value===1e7+te&&(re=!0);re||$.push(ee)}}P=$}if(u&&function(e,t,r){for(var n=0;n<e.length;n++){var i=e[n].value,a=n,o=n+1;n<e.length-1?(a=n,o=n+1):n>0?(a=n-1,o=n):(a=n,o=n);var s,l=e[a].value,u=e[o].value,c=Math.abs(u-l),f=r||c,h=0;f>=y?h=c>=y&&c<=g?c:m:r===b&&f>=_?h=c>=_&&c<=x?c:b:f>=T?h=c>=T&&c<=w?c:k:r===M&&f>=M?h=M:f>=A?h=A:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=c&&(h=c,s=!0);var p=i+h;if(t.rangebreaks&&h>0){for(var d=0,v=0;v<84;v++){var C=(v+.5)/84;t.maskBreaks(i*(1-C)+C*p)!==O&&d++}(h*=d/84)||(e[n].drop=!0),s&&c>M&&(h=c)}(h>0||0===n)&&(e[n].periodX=i+h/2)}}(L,e,e._definedDelta),e.rangebreaks){var ie=\"y\"===e._id.charAt(0),se=1;\"auto\"===e.tickmode&&(se=e.tickfont?e.tickfont.size:12);var le=NaN;for(r=L.length-1;r>-1;r--)if(L[r].drop)L.splice(r,1);else{L[r].value=ze(L[r].value,e);var ue=e.c2p(L[r].value);(ie?le>ue-se:le<ue+se)?L.splice(f?r+1:r,1):le=ue}}De(e)&&360===Math.abs(c[1]-c[0])&&L.pop(),e._tmax=(L[L.length-1]||{}).value,e._prevDateHead=\"\",e._inCalcTicks=!0;var ce,fe,he=function(t){t.text=\"\",e._prevDateHead=n};for(L=L.concat(P),r=0;r<L.length;r++){var pe=L[r].minor,de=L[r].value;pe?C.push({x:de,minor:!0}):(n=e._prevDateHead,ce=q.tickText(e,de,!1,L[r].simpleLabel),void 0!==(fe=L[r].periodX)&&(ce.periodX=fe,(fe>p||fe<h)&&(fe>p&&(ce.periodX=p),fe<h&&(ce.periodX=h),he(ce))),L[r].skipLabel&&he(ce),v.push(ce))}return v=v.concat(C),e._inCalcTicks=!1,u&&v.length&&(v[0].noTick=!0),v};var se=[2,5,10],le=[1,2,3,6,12],ue=[1,2,5,10,15,30],ce=[1,2,3,7,14],fe=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],he=[-.301,0,.301,.699,1],pe=[15,30,45,90,180];function de(e,t,r){return t*s.roundUp(e/t,r)}function ve(e){var t=e.dtick;if(e._tickexponent=0,i(t)||\"string\"==typeof t||(t=1),\"category\"!==e.type&&\"multicategory\"!==e.type||(e._tickround=null),\"date\"===e.type){var r=e.r2l(e.tick0),n=e.l2r(r).replace(/(^-|i)/g,\"\"),a=n.length;if(\"M\"===String(t).charAt(0))a>10||\"01-01\"!==n.substr(5)?e._tickround=\"d\":e._tickround=+t.substr(1)%12==0?\"y\":\"m\";else if(t>=A&&a<=10||t>=15*A)e._tickround=\"d\";else if(t>=C&&a<=16||t>=E)e._tickround=\"M\";else if(t>=L&&a<=19||t>=C)e._tickround=\"S\";else{var o=e.l2r(r+t).replace(/^-/,\"\").length;e._tickround=Math.max(a,o)-20,e._tickround<0&&(e._tickround=4)}}else if(i(t)||\"L\"===t.charAt(0)){var s=e.range.map(e.r2d||Number);i(t)||(t=Number(t.substr(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),u=Math.floor(Math.log(l)/Math.LN10+.01),c=void 0===e.minexponent?3:e.minexponent;Math.abs(u)>c&&(ye(e.exponentformat)&&!xe(u)?e._tickexponent=3*Math.round((u-1)/3):e._tickexponent=u)}else e._tickround=null}function ge(e,t,r){var n=e.tickfont||{};return{x:t,dx:0,dy:0,text:r||\"\",fontSize:n.size,font:n.family,fontColor:n.color}}q.autoTicks=function(e,t,r){var n;function a(e){return Math.pow(e,Math.floor(Math.log(t)/Math.LN10))}if(\"date\"===e.type){e.tick0=s.dateTick0(e.calendar,0);var o=2*t;if(o>m)t/=m,n=a(10),e.dtick=\"M\"+12*de(t,n,se);else if(o>k)t/=k,e.dtick=\"M\"+de(t,1,le);else if(o>A){if(e.dtick=de(t,A,e._hasDayOfWeekBreaks?[1,2,7,14]:ce),!r){var l=q.getTickFormat(e),u=\"period\"===e.ticklabelmode;u&&(e._rawTick0=e.tick0),/%[uVW]/.test(l)?e.tick0=s.dateTick0(e.calendar,2):e.tick0=s.dateTick0(e.calendar,1),u&&(e._dowTick0=e.tick0)}}else o>E?e.dtick=de(t,E,le):o>C?e.dtick=de(t,C,ue):o>L?e.dtick=de(t,L,ue):(n=a(10),e.dtick=de(t,n,se))}else if(\"log\"===e.type){e.tick0=0;var c=s.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(c[1]-c[0])<1){var f=1.5*Math.abs((c[1]-c[0])/t);t=Math.abs(Math.pow(10,c[1])-Math.pow(10,c[0]))/f,n=a(10),e.dtick=\"L\"+de(t,n,se)}else e.dtick=t>.3?\"D2\":\"D1\"}else\"category\"===e.type||\"multicategory\"===e.type?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):De(e)?(e.tick0=0,n=1,e.dtick=de(t,n,pe)):(e.tick0=0,n=a(10),e.dtick=de(t,n,se));if(0===e.dtick&&(e.dtick=1),!i(e.dtick)&&\"string\"!=typeof e.dtick){var h=e.dtick;throw e.dtick=1,\"ax.dtick error: \"+String(h)}},q.tickIncrement=function(e,t,r,a){var o=r?-1:1;if(i(t))return s.increment(e,o*t);var l=t.charAt(0),u=o*Number(t.substr(1));if(\"M\"===l)return s.incrementMonth(e,u,a);if(\"L\"===l)return Math.log(Math.pow(10,e)+u)/Math.LN10;if(\"D\"===l){var c=\"D2\"===t?he:fe,f=e+.01*o,h=s.roundUp(s.mod(f,1),c,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw\"unrecognized dtick \"+String(t)},q.tickFirst=function(e,t){var r=e.r2l||Number,a=s.simpleMap(e.range,r,void 0,void 0,t),o=a[1]<a[0],l=o?Math.floor:Math.ceil,u=J(a)[0],c=e.dtick,f=r(e.tick0);if(i(c)){var h=l((u-f)/c)*c+f;return\"category\"!==e.type&&\"multicategory\"!==e.type||(h=s.constrain(h,0,e._categories.length-1)),h}var p=c.charAt(0),d=Number(c.substr(1));if(\"M\"===p){for(var v,g,m,y=0,x=f;y<10;){if(((v=q.tickIncrement(x,c,o,e.calendar))-u)*(x-u)<=0)return o?Math.min(x,v):Math.max(x,v);g=(u-(x+v)/2)/(v-x),m=p+(Math.abs(Math.round(g))||1)*d,x=q.tickIncrement(x,m,g<0?!o:o,e.calendar),y++}return s.error(\"tickFirst did not converge\",e),x}if(\"L\"===p)return Math.log(l((Math.pow(10,u)-f)/d)*d+f)/Math.LN10;if(\"D\"===p){var b=\"D2\"===c?he:fe,_=s.roundUp(s.mod(u,1),b,o);return Math.floor(u)+Math.log(n.round(Math.pow(10,_),1))/Math.LN10}throw\"unrecognized dtick \"+String(c)},q.tickText=function(e,t,r,n){var a,o=ge(e,t),l=\"array\"===e.tickmode,u=r||l,c=e.type,f=\"category\"===c?e.d2l_noadd:e.d2l;if(l&&Array.isArray(e.ticktext)){var h=s.simpleMap(e.range,e.r2l),p=(Math.abs(h[1]-h[0])-(e._lBreaks||0))/1e4;for(a=0;a<e.ticktext.length&&!(Math.abs(t-f(e.tickvals[a]))<p);a++);if(a<e.ticktext.length)return o.text=String(e.ticktext[a]),o}function d(n){if(void 0===n)return!0;if(r)return\"none\"===n;var i={first:e._tmin,last:e._tmax}[n];return\"all\"!==n&&t!==i}var v=r?\"never\":\"none\"!==e.exponentformat&&d(e.showexponent)?\"hide\":\"\";if(\"date\"===c?function(e,t,r,n){var a=e._tickround,o=r&&e.hoverformat||q.getTickFormat(e);n&&(a=i(a)?4:{y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:4}[a]);var l,u=s.formatDate(t.x,o,a,e._dateFormat,e.calendar,e._extraFormat),c=u.indexOf(\"\\n\");if(-1!==c&&(l=u.substr(c+1),u=u.substr(0,c)),n&&(\"00:00:00\"===u||\"00:00\"===u?(u=l,l=\"\"):8===u.length&&(u=u.replace(/:00$/,\"\"))),l)if(r)\"d\"===a?u+=\", \"+l:u=l+(u?\", \"+u:\"\");else if(e._inCalcTicks&&e._prevDateHead===l){var f=Re(e),h=e._trueSide||e.side;(!f&&\"top\"===h||f&&\"bottom\"===h)&&(u+=\"<br> \")}else e._prevDateHead=l,u+=\"<br>\"+l;t.text=u}(e,o,r,u):\"log\"===c?function(e,t,r,n,a){var o=e.dtick,l=t.x,u=e.tickformat,c=\"string\"==typeof o&&o.charAt(0);if(\"never\"===a&&(a=\"\"),n&&\"L\"!==c&&(o=\"L3\",c=\"L\"),u||\"L\"===c)t.text=be(Math.pow(10,l),e,a,n);else if(i(o)||\"D\"===c&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=e.exponentformat;\"power\"===p||ye(p)&&xe(f)?(t.text=0===f?1:1===f?\"10\":\"10<sup>\"+(f>1?\"\":P)+h+\"</sup>\",t.fontSize*=1.25):(\"e\"===p||\"E\"===p)&&h>2?t.text=\"1\"+p+(f>0?\"+\":P)+h:(t.text=be(Math.pow(10,l),e,\"\",\"fakehover\"),\"D1\"===o&&\"y\"===e._id.charAt(0)&&(t.dy-=t.fontSize/6))}else{if(\"D\"!==c)throw\"unrecognized dtick \"+String(o);t.text=String(Math.round(Math.pow(10,s.mod(l,1)))),t.fontSize*=.75}if(\"D1\"===e.dtick){var d=String(t.text).charAt(0);\"0\"!==d&&\"1\"!==d||(\"y\"===e._id.charAt(0)?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(l<0?.5:.25)))}}(e,o,0,u,v):\"category\"===c?function(e,t){var r=e._categories[Math.round(t.x)];void 0===r&&(r=\"\"),t.text=String(r)}(e,o):\"multicategory\"===c?function(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=void 0===i[1]?\"\":String(i[1]),o=void 0===i[0]?\"\":String(i[0]);r?t.text=o+\" - \"+a:(t.text=a,t.text2=o)}(e,o,r):De(e)?function(e,t,r,n,i){if(\"radians\"!==e.thetaunit||r)t.text=be(t.x,e,i,n);else{var a=t.x/180;if(0===a)t.text=\"0\";else{var o=function(e){function t(e,t){return Math.abs(e-t)<=1e-6}var r=function(e){for(var r=1;!t(Math.round(e*r)/r,e);)r*=10;return r}(e),n=e*r,i=Math.abs(function e(r,n){return t(n,0)?r:e(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)t.text=be(s.deg2rad(t.x),e,i,n);else{var l=t.x<0;1===o[1]?1===o[0]?t.text=\"π\":t.text=o[0]+\"π\":t.text=[\"<sup>\",o[0],\"</sup>\",\"⁄\",\"<sub>\",o[1],\"</sub>\",\"π\"].join(\"\"),l&&(t.text=P+t.text)}}}}(e,o,r,u,v):function(e,t,r,n,i){\"never\"===i?i=\"\":\"all\"===e.showexponent&&Math.abs(t.x/e.dtick)<1e-6&&(i=\"hide\"),t.text=be(t.x,e,i,n)}(e,o,0,u,v),n||(e.tickprefix&&!d(e.showtickprefix)&&(o.text=e.tickprefix+o.text),e.ticksuffix&&!d(e.showticksuffix)&&(o.text+=e.ticksuffix)),e.labelalias&&e.labelalias.hasOwnProperty(o.text)){var g=e.labelalias[o.text];\"string\"==typeof g&&(o.text=g)}if(\"boundaries\"===e.tickson||e.showdividers){var m=function(t){var r=e.l2p(t);return r>=0&&r<=e._length?t:null};o.xbnd=[m(o.x-.5),m(o.x+e.dtick-.5)]}return o},q.hoverLabelText=function(e,t,r){r&&(e=s.extendFlat({},e,{hoverformat:r}));var n=Array.isArray(t)?t[0]:t,i=Array.isArray(t)?t[1]:void 0;if(void 0!==i&&i!==n)return q.hoverLabelText(e,n,r)+\" - \"+q.hoverLabelText(e,i,r);var a=\"log\"===e.type&&n<=0,o=q.tickText(e,e.c2l(a?-n:n),\"hover\").text;return a?0===n?\"0\":P+o:o};var me=[\"f\",\"p\",\"n\",\"μ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function ye(e){return\"SI\"===e||\"B\"===e}function xe(e){return e>14||e<-15}function be(e,t,r,n){var a=e<0,o=t._tickround,l=r||t.exponentformat||\"B\",u=t._tickexponent,c=q.getTickFormat(t),f=t.separatethousands;if(n){var h={exponentformat:l,minexponent:t.minexponent,dtick:\"none\"===t.showexponent?t.dtick:i(e)&&Math.abs(e)||1,range:\"none\"===t.showexponent?t.range.map(t.r2d):[0,e||1]};ve(h),o=(Number(h._tickround)||0)+4,u=h._tickexponent,t.hoverformat&&(c=t.hoverformat)}if(c)return t._numFormat(c)(e).replace(/-/g,P);var p,d=Math.pow(10,-o)/2;if(\"none\"===l&&(u=0),(e=Math.abs(e))<d)e=\"0\",a=!1;else{if(e+=d,u&&(e*=Math.pow(10,-u),o+=u),0===o)e=String(Math.floor(e));else if(o<0){e=(e=String(Math.round(e))).substr(0,e.length+o);for(var v=o;v<0;v++)e+=\"0\"}else{var g=(e=String(e)).indexOf(\".\")+1;g&&(e=e.substr(0,g+o).replace(/\\.?0+$/,\"\"))}e=s.numSeparate(e,t._separators,f)}return u&&\"hide\"!==l&&(ye(l)&&xe(u)&&(l=\"power\"),p=u<0?P+-u:\"power\"!==l?\"+\"+u:String(u),\"e\"===l||\"E\"===l?e+=l+p:\"power\"===l?e+=\"×10<sup>\"+p+\"</sup>\":\"B\"===l&&9===u?e+=\"B\":ye(l)&&(e+=me[u/3+5])),a?P+e:e}function _e(e,t){if(e){var r=Object.keys(B).reduce((function(e,r){return-1!==t.indexOf(r)&&B[r].forEach((function(t){e[t]=1})),e}),{});Object.keys(e).forEach((function(t){r[t]||(1===t.length?e[t]=0:delete e[t])}))}}function we(e,t){for(var r=[],n={},i=0;i<t.length;i++){var a=t[i];n[a.text2]?n[a.text2].push(a.x):n[a.text2]=[a.x]}for(var o in n)r.push(ge(e,s.interp(n[o],.5),o));return r}function ke(e){return void 0!==e.periodX?e.periodX:e.x}function Te(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join(\"_\")}function Me(e){var t=e.title.font.size,r=(e.title.text.match(u.BR_TAG_ALL)||[]).length;return e.title.hasOwnProperty(\"standoff\")?r?t*(U+r*V):t*U:r?t*(r+1)*V:t}function Ae(e,t){var r=e.l2p(t);return r>1&&r<e._length-1}function Se(e){var t=n.select(e),r=t.select(\".text-math-group\");return r.empty()?t.select(\"text\"):r}function Ee(e){return e._id+\".automargin\"}function Ce(e){return Ee(e)+\".mirror\"}function Le(e){return e._id+\".rangeslider\"}function Pe(e,t){for(var r=0;r<t.length;r++)-1===e.indexOf(t[r])&&e.push(t[r])}function Oe(e,t,r){var n,i,a=[],o=[],l=e.layout;for(n=0;n<t.length;n++)a.push(q.getFromId(e,t[n]));for(n=0;n<r.length;n++)o.push(q.getFromId(e,r[n]));var u=Object.keys(p),c=[\"anchor\",\"domain\",\"overlaying\",\"position\",\"side\",\"tickangle\",\"editType\"],f=[\"linear\",\"log\"];for(n=0;n<u.length;n++){var h=u[n],d=a[0][h],v=o[0][h],g=!0,m=!1,y=!1;if(\"_\"!==h.charAt(0)&&\"function\"!=typeof d&&-1===c.indexOf(h)){for(i=1;i<a.length&&g;i++){var x=a[i][h];\"type\"===h&&-1!==f.indexOf(d)&&-1!==f.indexOf(x)&&d!==x?m=!0:x!==d&&(g=!1)}for(i=1;i<o.length&&g;i++){var b=o[i][h];\"type\"===h&&-1!==f.indexOf(v)&&-1!==f.indexOf(b)&&v!==b?y=!0:o[i][h]!==v&&(g=!1)}g&&(m&&(l[a[0]._name].type=\"linear\"),y&&(l[o[0]._name].type=\"linear\"),Ie(l,h,a,o,e._fullLayout._dfltTitle))}}for(n=0;n<e._fullLayout.annotations.length;n++){var _=e._fullLayout.annotations[n];-1!==t.indexOf(_.xref)&&-1!==r.indexOf(_.yref)&&s.swapAttrs(l.annotations[n],[\"?\"])}}function Ie(e,t,r,n,i){var a,o=s.nestedProperty,l=o(e[r[0]._name],t).get(),u=o(e[n[0]._name],t).get();for(\"title\"===t&&(l&&l.text===i.x&&(l.text=i.y),u&&u.text===i.y&&(u.text=i.x)),a=0;a<r.length;a++)o(e,r[a]._name+\".\"+t).set(u);for(a=0;a<n.length;a++)o(e,n[a]._name+\".\"+t).set(l)}function De(e){return\"angularaxis\"===e._id}function ze(e,t){for(var r=t._rangebreaks.length,n=0;n<r;n++){var i=t._rangebreaks[n];if(e>=i.min&&e<i.max)return i.max}return e}function Re(e){return-1!==(e.ticklabelposition||\"\").indexOf(\"inside\")}function Fe(e,t){Re(e._anchorAxis||{})&&e._hideCounterAxisInsideTickLabels&&e._hideCounterAxisInsideTickLabels(t)}function Be(e,t,r,n){var i,a=\"free\"===e.anchor||void 0!==e.overlaying&&!1!==e.overlaying?e.overlaying:e._id;i=n?\"right\"===e.side?t:-t:t,a in r||(r[a]={}),e.side in r[a]||(r[a][e.side]=0),r[a][e.side]+=i}q.getTickFormat=function(e){var t,r,n,i,a,o,s,l;function u(e){return\"string\"!=typeof e?e:Number(e.replace(\"M\",\"\"))*k}function c(e,t){var r=[\"L\",\"D\"];if(typeof e==typeof t){if(\"number\"==typeof e)return e-t;var n=r.indexOf(e.charAt(0)),i=r.indexOf(t.charAt(0));return n===i?Number(e.replace(/(L|D)/g,\"\"))-Number(t.replace(/(L|D)/g,\"\")):n-i}return\"number\"==typeof e?1:-1}function f(e,t){var r=null===t[0],n=null===t[1],i=c(e,t[0])>=0,a=c(e,t[1])<=0;return(r||i)&&(n||a)}if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case\"date\":case\"linear\":for(t=0;t<e.tickformatstops.length;t++)if((n=e.tickformatstops[t]).enabled&&(i=e.dtick,a=n.dtickrange,o=void 0,s=void 0,l=void 0,o=u||function(e){return e},s=a[0],l=a[1],(!s&&\"number\"!=typeof s||o(s)<=o(i))&&(!l&&\"number\"!=typeof l||o(l)>=o(i)))){r=n;break}break;case\"log\":for(t=0;t<e.tickformatstops.length;t++)if((n=e.tickformatstops[t]).enabled&&f(e.dtick,n.dtickrange)){r=n;break}}return r?r.value:e.tickformat},q.getSubplots=function(e,t){var r=e._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=t?q.findSubplotsWithAxis(n,t):n;return i.sort((function(e,t){var r=e.substr(1).split(\"y\"),n=t.substr(1).split(\"y\");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]})),i},q.findSubplotsWithAxis=function(e,t){for(var r=new RegExp(\"x\"===t._id.charAt(0)?\"^\"+t._id+\"y\":t._id+\"$\"),n=[],i=0;i<e.length;i++){var a=e[i];r.test(a)&&n.push(a)}return n},q.makeClipPaths=function(e){var t=e._fullLayout;if(!t._hasOnlyLargeSploms){var r,i,a={_offset:0,_length:t.width,_id:\"\"},o={_offset:0,_length:t.height,_id:\"\"},s=q.list(e,\"x\",!0),l=q.list(e,\"y\",!0),u=[];for(r=0;r<s.length;r++)for(u.push({x:s[r],y:o}),i=0;i<l.length;i++)0===r&&u.push({x:a,y:l[i]}),u.push({x:s[r],y:l[i]});var c=t._clips.selectAll(\".axesclip\").data(u,(function(e){return e.x._id+e.y._id}));c.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",(function(e){return\"clip\"+t._uid+e.x._id+e.y._id})).append(\"rect\"),c.exit().remove(),c.each((function(e){n.select(this).select(\"rect\").attr({x:e.x._offset||0,y:e.y._offset||0,width:e.x._length||1,height:e.y._length||1})}))}},q.draw=function(e,t,r){var n=e._fullLayout;\"redraw\"===t&&n._paper.selectAll(\"g.subplot\").each((function(e){var t=e[0],r=n._plots[t];if(r){var i=r.xaxis,a=r.yaxis;r.xaxislayer.selectAll(\".\"+i._id+\"tick\").remove(),r.yaxislayer.selectAll(\".\"+a._id+\"tick\").remove(),r.xaxislayer.selectAll(\".\"+i._id+\"tick2\").remove(),r.yaxislayer.selectAll(\".\"+a._id+\"tick2\").remove(),r.xaxislayer.selectAll(\".\"+i._id+\"divider\").remove(),r.yaxislayer.selectAll(\".\"+a._id+\"divider\").remove(),r.minorGridlayer&&r.minorGridlayer.selectAll(\"path\").remove(),r.gridlayer&&r.gridlayer.selectAll(\"path\").remove(),r.zerolinelayer&&r.zerolinelayer.selectAll(\"path\").remove(),n._infolayer.select(\".g-\"+i._id+\"title\").remove(),n._infolayer.select(\".g-\"+a._id+\"title\").remove()}}));var i=t&&\"redraw\"!==t?t:q.listIds(e),a=q.list(e).filter((function(e){return e.autoshift})).map((function(e){return e.overlaying}));i.map((function(t){var r=q.getFromId(e,t);if(\"sync\"===r.tickmode&&r.overlaying){var n=i.findIndex((function(e){return e===r.overlaying}));n>=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(t){return function(){if(t){var n=q.getFromId(e,t);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=q.drawOne(e,n,r);return n._shiftPusher&&Be(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},q.drawOne=function(e,t,r){var n,i,l,u=(r=r||{}).axShifts||{},p=r.overlayingShiftedAx||[];t.setScale();var d=e._fullLayout,v=t._id,g=v.charAt(0),m=q.counterLetter(v),y=d._plots[t._mainSubplot];if(y){if(t._shiftPusher=t.autoshift||-1!==p.indexOf(t._id)||-1!==p.indexOf(t.overlaying),t._shiftPusher&\"free\"===t.anchor){var x=t.linewidth/2||0;\"inside\"===t.ticks&&(x+=t.ticklen),Be(t,x,u,!0),Be(t,t.shift||0,u,!1)}!0===r.skipTitle&&void 0!==t._shift||(t._shift=function(e,t){return e.autoshift?t[e.overlaying][e.side]:e.shift||0}(t,u));var b=y[g+\"axislayer\"],_=t._mainLinePosition,w=_+=t._shift,k=t._mainMirrorPosition,T=t._vals=q.calcTicks(t),M=[t.mirror,w,k].join(\"_\");for(n=0;n<T.length;n++)T[n].axInfo=M;t._selections={},t._tickAngles&&(t._prevTickAngles=t._tickAngles),t._tickAngles={},t._depth=null;var A={};if(t.visible){var S,E,C=q.makeTransTickFn(t),L=q.makeTransTickLabelFn(t),P=\"inside\"===t.ticks,O=\"outside\"===t.ticks;if(\"boundaries\"===t.tickson){var I=function(e,t){var r,n=[],i=function(e,t){var r=e.xbnd[t];null!==r&&n.push(s.extendFlat({},e,{x:r}))};if(t.length){for(r=0;r<t.length;r++)i(t[r],0);i(t[r-1],1)}return n}(0,T);E=q.clipEnds(t,I),S=P?E:I}else E=q.clipEnds(t,T),S=P&&\"period\"!==t.ticklabelmode?E:T;var D,z=t._gridVals=E,R=function(e,t){var r,n,i=[],a=t.length&&t[t.length-1].x<t[0].x,o=function(e,t){var r=e.xbnd[t];null!==r&&i.push(s.extendFlat({},e,{x:r}))};if(e.showdividers&&t.length){for(r=0;r<t.length;r++){var l=t[r];l.text2!==n&&o(l,a?1:0),n=l.text2}o(t[r-1],a?0:1)}return i}(t,T);if(!d._hasOnlyLargeSploms){var F=t._subplotsWith,B={};for(n=0;n<F.length;n++){i=F[n];var N=(l=d._plots[i])[m+\"axis\"],j=N._mainAxis._id;if(!B[j]){B[j]=1;var U=\"x\"===g?\"M0,\"+N._offset+\"v\"+N._length:\"M\"+N._offset+\",0h\"+N._length;q.drawGrid(e,t,{vals:z,counterAxis:N,layer:l.gridlayer.select(\".\"+v),minorLayer:l.minorGridlayer.select(\".\"+v),path:U,transFn:C}),q.drawZeroLine(e,t,{counterAxis:N,layer:l.zerolinelayer,path:U,transFn:C})}}}var G=q.getTickSigns(t),Y=q.getTickSigns(t,\"minor\");if(t.ticks||t.minor&&t.minor.ticks){var W,Z,X,K,J=q.makeTickPath(t,w,G[2]),$=q.makeTickPath(t,w,Y[2],{minor:!0});if(t._anchorAxis&&t.mirror&&!0!==t.mirror?(W=q.makeTickPath(t,k,G[3]),Z=q.makeTickPath(t,k,Y[3],{minor:!0}),X=J+W,K=$+Z):(W=\"\",Z=\"\",X=J,K=$),t.showdividers&&O&&\"boundaries\"===t.tickson){var Q={};for(n=0;n<R.length;n++)Q[R[n].x]=1;D=function(e){return Q[e.x]?W:X}}else D=function(e){return e.minor?K:X}}if(q.drawTicks(e,t,{vals:S,layer:b,path:D,transFn:C}),\"allticks\"===t.mirror){var ee=Object.keys(t._linepositions||{});for(n=0;n<ee.length;n++){i=ee[n],l=d._plots[i];var te=t._linepositions[i]||[],re=te[0],ne=te[1],ie=te[2],ae=q.makeTickPath(t,re,ie?G[0]:Y[0],{minor:ie})+q.makeTickPath(t,ne,ie?G[1]:Y[1],{minor:ie});q.drawTicks(e,t,{vals:S,layer:l[g+\"axislayer\"],path:ae,transFn:C})}}var oe=[];if(oe.push((function(){return q.drawLabels(e,t,{vals:T,layer:b,plotinfo:l,transFn:L,labelFns:q.makeLabelFns(t,w)})})),\"multicategory\"===t.type){var se={x:2,y:10}[g];oe.push((function(){var r={x:\"height\",y:\"width\"}[g],n=ue()[r]+se+(t._tickAngles[v+\"tick\"]?t.tickfont.size*V:0);return q.drawLabels(e,t,{vals:we(t,T),layer:b,cls:v+\"tick2\",repositionOnUpdate:!0,secondary:!0,transFn:C,labelFns:q.makeLabelFns(t,w+n*G[4])})})),oe.push((function(){return t._depth=G[4]*(ue(\"tick2\")[t.side]-w),function(e,t,r){var n=t._id+\"divider\",i=r.vals,a=r.layer.selectAll(\"path.\"+n).data(i,Te);a.exit().remove(),a.enter().insert(\"path\",\":first-child\").classed(n,1).classed(\"crisp\",1).call(f.stroke,t.dividercolor).style(\"stroke-width\",h.crispRound(e,t.dividerwidth,1)+\"px\"),a.attr(\"transform\",r.transFn).attr(\"d\",r.path)}(e,t,{vals:R,layer:b,path:q.makeTickPath(t,w,G[4],{len:t._depth}),transFn:C})}))}else t.title.hasOwnProperty(\"standoff\")&&oe.push((function(){t._depth=G[4]*(ue()[t.side]-w)}));var le=o.getComponentMethod(\"rangeslider\",\"isVisible\")(t);return r.skipTitle||le&&\"bottom\"===t.side||oe.push((function(){return function(e,t){var r,n=e._fullLayout,i=t._id,a=i.charAt(0),o=t.title.font.size;if(t.title.hasOwnProperty(\"standoff\"))r=t._depth+t.title.standoff+Me(t);else{var s=Re(t);if(\"multicategory\"===t.type)r=t._depth;else{var l=1.5*o;s&&(l=.5*o,\"outside\"===t.ticks&&(l+=t.ticklen)),r=10+l+(t.linewidth?t.linewidth-1:0)}s||(r+=\"x\"===a?\"top\"===t.side?o*(t.showticklabels?1:0):o*(t.showticklabels?1.5:.5):\"right\"===t.side?o*(t.showticklabels?1:.5):o*(t.showticklabels?.5:0))}var u,f,p,d,v=q.getPxPosition(e,t);if(\"x\"===a?(f=t._offset+t._length/2,p=\"top\"===t.side?v-r:v+r):(p=t._offset+t._length/2,f=\"right\"===t.side?v+r:v-r,u={rotate:\"-90\",offset:0}),\"multicategory\"!==t.type){var g=t._selections[t._id+\"tick\"];if(d={selection:g,side:t.side},g&&g.node()&&g.node().parentNode){var m=h.getTranslate(g.node().parentNode);d.offsetLeft=m.x,d.offsetTop=m.y}t.title.hasOwnProperty(\"standoff\")&&(d.pad=0)}return t._titleStandoff=r,c.draw(e,i+\"title\",{propContainer:t,propName:t._name+\".title.text\",placeholder:n._dfltTitle[a],avoid:d,transform:u,attributes:{x:f,y:p,\"text-anchor\":\"middle\"}})}(e,t)})),oe.push((function(){var r,n,i,s,l=t.side.charAt(0),u=H[t.side].charAt(0),c=q.getPxPosition(e,t),f=O?t.ticklen:0;(t.automargin||le||t._shiftPusher)&&(\"multicategory\"===t.type?r=ue(\"tick2\"):(r=ue(),\"x\"===g&&\"b\"===l&&(t._depth=Math.max(r.width>0?r.bottom-c:0,f))));var h=0,p=0;if(t._shiftPusher&&(h=Math.max(f,r.height>0?\"l\"===l?c-r.left:r.right-c:0),t.title.text!==d._dfltTitle[g]&&(p=(t._titleStandoff||0)+(t._titleScoot||0),\"l\"===l&&(p+=Me(t))),t._fullDepth=Math.max(h,p)),t.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var v=[0,1],y=\"number\"==typeof t._shift?t._shift:0;if(\"x\"===g){if(\"b\"===l?n[l]=t._depth:(n[l]=t._depth=Math.max(r.width>0?c-r.top:0,f),v.reverse()),r.width>0){var x=r.right-(t._offset+t._length);x>0&&(n.xr=1,n.r=x);var b=t._offset-r.left;b>0&&(n.xl=0,n.l=b)}}else if(\"l\"===l?(t._depth=Math.max(r.height>0?c-r.left:0,f),n[l]=t._depth-y):(t._depth=Math.max(r.height>0?r.right-c:0,f),n[l]=t._depth+y,v.reverse()),r.height>0){var _=r.bottom-(t._offset+t._length);_>0&&(n.yb=0,n.b=_);var w=t._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[m]=\"free\"===t.anchor?t.position:t._anchorAxis.domain[v[0]],t.title.text!==d._dfltTitle[g]&&(n[l]+=Me(t)+(t.title.standoff||0)),t.mirror&&\"free\"!==t.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=t.linewidth,t.mirror&&!0!==t.mirror&&(i[u]+=f),!0===t.mirror||\"ticks\"===t.mirror?i[m]=t._anchorAxis.domain[v[1]]:\"all\"!==t.mirror&&\"allticks\"!==t.mirror||(i[m]=[t._counterDomainMin,t._counterDomainMax][v[1]]))}le&&(s=o.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(e,t)),\"string\"==typeof t.automargin&&(_e(n,t.automargin),_e(i,t.automargin)),a.autoMargin(e,Ee(t),n),a.autoMargin(e,Ce(t),i),a.autoMargin(e,Le(t),s)})),s.syncOrAsync(oe)}}function ue(e){var r=v+(e||\"tick\");return A[r]||(A[r]=function(e,t){var r,n,i,a;return e._selections[t].size()?(r=1/0,n=-1/0,i=1/0,a=-1/0,e._selections[t].each((function(){var e=Se(this),t=h.bBox(e.node().parentNode);r=Math.min(r,t.top),n=Math.max(n,t.bottom),i=Math.min(i,t.left),a=Math.max(a,t.right)}))):(r=0,n=0,i=0,a=0),{top:r,bottom:n,left:i,right:a,height:n-r,width:a-i}}(t,r)),A[r]}},q.getTickSigns=function(e,t){var r=e._id.charAt(0),n={x:\"top\",y:\"right\"}[r],i=e.side===n?1:-1,a=[-1,1,i,-i];return\"inside\"!==(t?(e.minor||{}).ticks:e.ticks)==(\"x\"===r)&&(a=a.map((function(e){return-e}))),e.side&&a.push({l:-1,t:-1,r:1,b:1}[e.side.charAt(0)]),a},q.makeTransTickFn=function(e){return\"x\"===e._id.charAt(0)?function(t){return l(e._offset+e.l2p(t.x),0)}:function(t){return l(0,e._offset+e.l2p(t.x))}},q.makeTransTickLabelFn=function(e){var t=function(e){var t=e.ticklabelposition||\"\",r=function(e){return-1!==t.indexOf(e)},n=r(\"top\"),i=r(\"left\"),a=r(\"right\"),o=r(\"bottom\"),s=r(\"inside\"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=e.side,c=l?(e.tickwidth||0)/2:0,f=3,h=e.tickfont?e.tickfont.size:12;return(o||n)&&(c+=h*U,f+=(e.linewidth||0)/2),(i||a)&&(c+=(e.linewidth||0)/2,f+=3),s&&\"top\"===u&&(f-=h*(1-U)),(i||n)&&(c=-c),\"bottom\"!==u&&\"right\"!==u||(f=-f),[l?c:0,s?f:0]}(e),r=t[0],n=t[1];return\"x\"===e._id.charAt(0)?function(t){return l(r+e._offset+e.l2p(ke(t)),n)}:function(t){return l(n,r+e._offset+e.l2p(ke(t)))}},q.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return\"\";var a=void 0!==n.len?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return\"x\"===o?\"M0,\"+(t+s*r)+\"v\"+a*r:\"M\"+(t+s*r)+\",0h\"+a*r},q.makeLabelFns=function(e,t,r){var n=e.ticklabelposition||\"\",a=function(e){return-1!==n.indexOf(e)},o=a(\"top\"),l=a(\"left\"),u=a(\"right\"),c=a(\"bottom\")||l||o||u,f=a(\"inside\"),h=\"inside\"===n&&\"inside\"===e.ticks||!f&&\"outside\"===e.ticks&&\"boundaries\"!==e.tickson,p=0,d=0,v=h?e.ticklen:0;if(f?v*=-1:c&&(v=0),h&&(p+=v,r)){var g=s.deg2rad(r);p=v*Math.cos(g)+1,d=v*Math.sin(g)}e.showticklabels&&(h||e.showline)&&(p+=.2*e.tickfont.size);var m,y,x,b,_,w={labelStandoff:p+=(e.linewidth||1)/2*(f?-1:1),labelShift:d},k=0,T=e.side,M=e._id.charAt(0),A=e.tickangle;if(\"x\"===M)b=(_=!f&&\"bottom\"===T||f&&\"top\"===T)?1:-1,f&&(b*=-1),m=d*b,y=t+p*b,x=_?1:-.2,90===Math.abs(A)&&(f?x+=j:x=-90===A&&\"bottom\"===T?U:90===A&&\"top\"===T?j:.5,k=j/2*(A/90)),w.xFn=function(e){return e.dx+m+k*e.fontSize},w.yFn=function(e){return e.dy+y+e.fontSize*x},w.anchorFn=function(e,t){if(c){if(l)return\"end\";if(u)return\"start\"}return i(t)&&0!==t&&180!==t?t*b<0!==f?\"end\":\"start\":\"middle\"},w.heightFn=function(t,r,n){return r<-60||r>60?-.5*n:\"top\"===e.side!==f?-n:0};else if(\"y\"===M){if(b=(_=!f&&\"left\"===T||f&&\"right\"===T)?1:-1,f&&(b*=-1),m=p,y=d*b,x=0,f||90!==Math.abs(A)||(x=-90===A&&\"left\"===T||90===A&&\"right\"===T?U:.5),f){var S=i(A)?+A:0;if(0!==S){var E=s.deg2rad(S);k=Math.abs(Math.sin(E))*U*b,x=0}}w.xFn=function(e){return e.dx+t-(m+e.fontSize*x)*b+k*e.fontSize},w.yFn=function(e){return e.dy+y+e.fontSize*j},w.anchorFn=function(e,t){return i(t)&&90===Math.abs(t)?\"middle\":_?\"end\":\"start\"},w.heightFn=function(t,r,n){return\"right\"===e.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},q.drawTicks=function(e,t,r){r=r||{};var i=t._id+\"tick\",a=[].concat(t.minor&&t.minor.ticks?r.vals.filter((function(e){return e.minor&&!e.noTick})):[]).concat(t.ticks?r.vals.filter((function(e){return!e.minor&&!e.noTick})):[]),o=r.layer.selectAll(\"path.\"+i).data(a,Te);o.exit().remove(),o.enter().append(\"path\").classed(i,1).classed(\"ticks\",1).classed(\"crisp\",!1!==r.crisp).each((function(e){return f.stroke(n.select(this),e.minor?t.minor.tickcolor:t.tickcolor)})).style(\"stroke-width\",(function(r){return h.crispRound(e,r.minor?t.minor.tickwidth:t.tickwidth,1)+\"px\"})).attr(\"d\",r.path).style(\"display\",null),Fe(t,[R]),o.attr(\"transform\",r.transFn)},q.drawGrid=function(e,t,r){if(r=r||{},\"sync\"!==t.tickmode){var i=t._id+\"grid\",a=t.minor&&t.minor.showgrid,o=a?r.vals.filter((function(e){return e.minor})):[],s=t.showgrid?r.vals.filter((function(e){return!e.minor})):[],l=r.counterAxis;if(l&&q.shouldShowZeroLine(e,t,l))for(var u=\"array\"===t.tickmode,c=0;c<s.length;c++){var p=s[c].x;if(u?!p:Math.abs(p)<t.dtick/100){if(s=s.slice(0,c).concat(s.slice(c+1)),!u)break;c--}}t._gw=h.crispRound(e,t.gridwidth,1);for(var d=a?h.crispRound(e,t.minor.gridwidth,1):0,v=r.layer,g=r.minorLayer,m=1;m>=0;m--){var y=m?v:g;if(y){var x=y.selectAll(\"path.\"+i).data(m?s:o,Te);x.exit().remove(),x.enter().append(\"path\").classed(i,1).classed(\"crisp\",!1!==r.crisp),x.attr(\"transform\",r.transFn).attr(\"d\",r.path).each((function(e){return f.stroke(n.select(this),e.minor?t.minor.gridcolor:t.gridcolor||\"#ddd\")})).style(\"stroke-dasharray\",(function(e){return h.dashStyle(e.minor?t.minor.griddash:t.griddash,e.minor?t.minor.gridwidth:t.gridwidth)})).style(\"stroke-width\",(function(e){return(e.minor?d:t._gw)+\"px\"})).style(\"display\",null),\"function\"==typeof r.path&&x.attr(\"d\",r.path)}}Fe(t,[D,z])}},q.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+\"zl\",i=q.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll(\"path.\"+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"zl\",1).classed(\"crisp\",!1!==r.crisp).each((function(){r.layer.selectAll(\"path\").sort((function(e,t){return W(e.id,t.id)}))})),a.attr(\"transform\",r.transFn).attr(\"d\",r.path).call(f.stroke,t.zerolinecolor||f.defaultLine).style(\"stroke-width\",h.crispRound(e,t.zerolinewidth,t._gw||1)+\"px\").style(\"display\",null),Fe(t,[I])},q.drawLabels=function(e,t,r){r=r||{};var a=e._fullLayout,o=t._id,c=o.charAt(0),f=r.cls||o+\"tick\",p=r.vals.filter((function(e){return e.text})),d=r.labelFns,v=r.secondary?0:t.tickangle,g=(t._prevTickAngles||{})[f],m=r.layer.selectAll(\"g.\"+f).data(t.showticklabels?p:[],Te),y=[];function x(e,a){e.each((function(e){var o=n.select(this),s=o.select(\".text-math-group\"),c=d.anchorFn(e,a),f=r.transFn.call(o.node(),e)+(i(a)&&0!=+a?\" rotate(\"+a+\",\"+d.xFn(e)+\",\"+(d.yFn(e)-e.fontSize/2)+\")\":\"\"),p=u.lineCount(o),v=V*e.fontSize,g=d.heightFn(e,i(a)?+a:0,(p-1)*v);if(g&&(f+=l(0,g)),s.empty()){var m=o.select(\"text\");m.attr({transform:f,\"text-anchor\":c}),m.style(\"opacity\",1),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var y=h.bBox(s.node()).width*{end:-.5,start:.5}[c];s.attr(\"transform\",f+l(y,0))}}))}m.enter().append(\"g\").classed(f,1).append(\"text\").attr(\"text-anchor\",\"middle\").each((function(t){var r=n.select(this),i=e._promises.length;r.call(u.positionText,d.xFn(t),d.yFn(t)).call(h.font,t.font,t.fontSize,t.fontColor).text(t.text).call(u.convertToTspans,e),e._promises[i]?y.push(e._promises.pop().then((function(){x(r,v)}))):x(r,v)})),Fe(t,[F]),m.exit().remove(),r.repositionOnUpdate&&m.each((function(e){n.select(this).select(\"text\").call(u.positionText,d.xFn(e),d.yFn(e))})),t._adjustTickLabelsOverflow=function(){var r=t.ticklabeloverflow;if(r&&\"allow\"!==r){var i=-1!==r.indexOf(\"hide\"),o=\"x\"===t._id.charAt(0),l=0,u=o?e._fullLayout.width:e._fullLayout.height;if(-1!==r.indexOf(\"domain\")){var c=s.simpleMap(t.range,t.r2l);l=t.l2p(c[0])+t._offset,u=t.l2p(c[1])+t._offset}var f=Math.min(l,u),p=Math.max(l,u),d=t.side,v=1/0,g=-1/0;for(var y in m.each((function(e){var r=n.select(this);if(r.select(\".text-math-group\").empty()){var a=h.bBox(r.node()),s=0;o?(a.right>p||a.left<f)&&(s=1):(a.bottom>p||a.top+(t.tickangle?0:e.fontSize/4)<f)&&(s=1);var l=r.select(\"text\");s?i&&l.style(\"opacity\",0):(l.style(\"opacity\",1),v=\"bottom\"===d||\"right\"===d?Math.min(v,o?a.top:a.left):-1/0,g=\"top\"===d||\"left\"===d?Math.max(g,o?a.bottom:a.right):1/0)}})),a._plots){var x=a._plots[y];if(t._id===x.xaxis._id||t._id===x.yaxis._id){var b=o?x.yaxis:x.xaxis;b&&(b[\"_visibleLabelMin_\"+t._id]=v,b[\"_visibleLabelMax_\"+t._id]=g)}}}},t._hideCounterAxisInsideTickLabels=function(e){var r=\"x\"===t._id.charAt(0),i=[];for(var o in a._plots){var s=a._plots[o];t._id!==s.xaxis._id&&t._id!==s.yaxis._id||i.push(r?s.yaxis:s.xaxis)}i.forEach((function(r,i){r&&Re(r)&&(e||[I,z,D,R,F]).forEach((function(e){var o=\"tick\"===e.K&&\"text\"===e.L&&\"period\"===t.ticklabelmode,s=a._plots[t._mainSubplot];(e.K===I.K?s.zerolinelayer.selectAll(\".\"+t._id+\"zl\"):e.K===z.K?s.minorGridlayer.selectAll(\".\"+t._id):e.K===D.K?s.gridlayer.selectAll(\".\"+t._id):s[t._id.charAt(0)+\"axislayer\"]).each((function(){var a=n.select(this);e.L&&(a=a.selectAll(e.L)),a.each((function(a){var s=t.l2p(o?ke(a):a.x)+t._offset,l=n.select(this);s<t[\"_visibleLabelMax_\"+r._id]&&s>t[\"_visibleLabelMin_\"+r._id]?l.style(\"display\",\"none\"):\"tick\"!==e.K||i||l.style(\"display\",null)}))}))}))}))},x(m,g+1?g:v);var b=null;t._selections&&(t._selections[f]=m);var _=[function(){return y.length&&Promise.all(y)}];t.automargin&&a._redrawFromAutoMarginCount&&90===g?(b=90,_.push((function(){x(m,g)}))):_.push((function(){if(x(m,v),p.length&&\"x\"===c&&!i(v)&&(\"log\"!==t.type||\"D\"!==String(t.dtick).charAt(0))){b=0;var e,n=0,a=[];if(m.each((function(e){n=Math.max(n,e.fontSize);var r=t.l2p(e.x),i=Se(this),o=h.bBox(i.node());a.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})})),\"boundaries\"!==t.tickson&&!t.showdividers||r.secondary){var o=p.length,l=Math.abs((p[o-1].x-p[0].x)*t._m)/(o-1),u=t.ticklabelposition||\"\",f=function(e){return-1!==u.indexOf(e)},d=f(\"top\"),g=f(\"left\"),y=f(\"right\"),_=f(\"bottom\")||g||d||y?(t.tickwidth||0)+6:0,w=l<2.5*n||\"multicategory\"===t.type||\"realaxis\"===t._name;for(e=0;e<a.length-1;e++)if(s.bBoxIntersect(a[e],a[e+1],_)){b=w?90:30;break}}else{var k=2;for(t.ticks&&(k+=t.tickwidth/2),e=0;e<a.length;e++){var T=p[e].xbnd,M=a[e];if(null!==T[0]&&M.left-t.l2p(T[0])<k||null!==T[1]&&t.l2p(T[1])-M.right<k){b=90;break}}}b&&x(m,b)}})),t._tickAngles&&_.push((function(){t._tickAngles[f]=null===b?i(v)?v:0:b}));var w=t._anchorAxis;w&&w.autorange&&Re(t)&&!Z(a,t._id)&&(a._insideTickLabelsAutorange||(a._insideTickLabelsAutorange={}),a._insideTickLabelsAutorange[w._name+\".autorange\"]=w.autorange,_.push((function(){m.each((function(e,r){var n=Se(this);n.select(\".text-math-group\").empty()&&(t._vals[r].bb=h.bBox(n.node()))}))})));var k=s.syncOrAsync(_);return k&&k.then&&e._promises.push(k),k},q.getPxPosition=function(e,t){var r,n=e._fullLayout._size,i=t._id.charAt(0),a=t.side;return\"free\"!==t.anchor?r=t._anchorAxis:\"x\"===i?r={_offset:n.t+(1-(t.position||0))*n.h,_length:0}:\"y\"===i&&(r={_offset:n.l+(t.position||0)*n.w+t._shift,_length:0}),\"top\"===a||\"left\"===a?r._offset:\"bottom\"===a||\"right\"===a?r._offset+r._length:void 0},q.shouldShowZeroLine=function(e,t,r){var n=s.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&(\"linear\"===t.type||\"-\"===t.type)&&!(t.rangebreaks&&t.maskBreaks(0)===O)&&(Ae(t,0)||!function(e,t,r,n){var i=r._mainAxis;if(i){var a=e._fullLayout,o=t._id.charAt(0),s=q.counterLetter(t._id),l=t._offset+(Math.abs(n[0])<Math.abs(n[1])==(\"x\"===o)?0:t._length),u=a._plots[r._mainSubplot];if(!(u.mainplotinfo||u).overlays.length)return p(r);for(var c=q.list(e,s),f=0;f<c.length;f++){var h=c[f];if(h._mainAxis===i&&p(h))return!0}}function p(e){if(!e.showline||!e.linewidth)return!1;var r=Math.max((e.linewidth+t.zerolinewidth)/2,1);function n(e){return\"number\"==typeof e&&Math.abs(e-l)<r}if(n(e._mainLinePosition)||n(e._mainMirrorPosition))return!0;var i=e._linepositions||{};for(var a in i)if(n(i[a][0])||n(i[a][1]))return!0}}(e,t,r,n)||function(e,t){for(var r=e._fullData,n=t._mainSubplot,i=t._id.charAt(0),a=0;a<r.length;a++){var s=r[a];if(!0===s.visible&&s.xaxis+s.yaxis===n){if(o.traceIs(s,\"bar-like\")&&s.orientation==={x:\"h\",y:\"v\"}[i])return!0;if(s.fill&&s.fill.charAt(s.fill.length-1)===i)return!0}}return!1}(e,t))},q.clipEnds=function(e,t){return t.filter((function(t){return Ae(e,t.x)}))},q.allowAutoMargin=function(e){for(var t=q.list(e,\"\",!0),r=0;r<t.length;r++){var n=t[r];n.automargin&&(a.allowAutoMargin(e,Ee(n)),n.mirror&&a.allowAutoMargin(e,Ce(n))),o.getComponentMethod(\"rangeslider\",\"isVisible\")(n)&&a.allowAutoMargin(e,Le(n))}},q.swap=function(e,t){for(var r=function(e,t){var r,n,i=[];for(r=0;r<t.length;r++){var a=[],o=e._fullData[t[r]].xaxis,s=e._fullData[t[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,u=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],Pe(u.x,l.x),Pe(u.y,l.y);Pe(u.x,[o]),Pe(u.y,[s])}else i.push({x:[o],y:[s]})}}return i}(e,t),n=0;n<r.length;n++)Oe(e,r[n].x,r[n].y)}},4322:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828),a=r(50606).BADNUM,o=i.isArrayOrTypedArray,s=i.isDateTime,l=i.cleanNumber,u=Math.round;function c(e,t){return t?n(e):\"number\"==typeof e}function f(e){return Math.max(1,(e-1)/1e3)}e.exports=function(e,t,r){var i=e,h=r.noMultiCategory;if(o(i)&&!i.length)return\"-\";if(!h&&function(e){return o(e[0])&&o(e[1])}(i))return\"multicategory\";if(h&&Array.isArray(i[0])){for(var p=[],d=0;d<i.length;d++)if(o(i[d]))for(var v=0;v<i[d].length;v++)p.push(i[d][v]);i=p}if(function(e,t){for(var r=e.length,i=f(r),a=0,o=0,l={},c=0;c<r;c+=i){var h=e[u(c)],p=String(h);l[p]||(l[p]=1,s(h,t)&&a++,n(h)&&o++)}return a>2*o}(i,t))return\"date\";var g=\"strict\"!==r.autotypenumbers;return function(e,t){for(var r=e.length,n=f(r),i=0,o=0,s={},c=0;c<r;c+=n){var h=e[u(c)],p=String(h);if(!s[p]){s[p]=1;var d=typeof h;\"boolean\"===d?o++:(t?l(h)!==a:\"number\"===d)?i++:\"string\"===d&&o++}}return o>2*i}(i,g)?\"category\":function(e,t){for(var r=e.length,n=0;n<r;n++)if(c(e[n],t))return!0;return!1}(i,g)?\"linear\":\"-\"}},71453:function(e,t,r){\"use strict\";var n=r(92770),i=r(73972),a=r(71828),o=r(44467),s=r(85501),l=r(13838),u=r(26218),c=r(38701),f=r(96115),h=r(89426),p=r(15258),d=r(92128),v=r(23074),g=r(21994),m=r(85555).WEEKDAY_PATTERN,y=r(85555).HOUR_PATTERN;function x(e,t,r){function i(r,n){return a.coerce(e,t,l.rangebreaks,r,n)}if(i(\"enabled\")){var o=i(\"bounds\");if(o&&o.length>=2){var s,u,c=\"\";if(2===o.length)for(s=0;s<2;s++)if(u=_(o[s])){c=m;break}var f=i(\"pattern\",c);if(f===m)for(s=0;s<2;s++)(u=_(o[s]))&&(t.bounds[s]=o[s]=u-1);if(f)for(s=0;s<2;s++)switch(u=o[s],f){case m:if(!n(u))return void(t.enabled=!1);if((u=+u)!==Math.floor(u)||u<0||u>=7)return void(t.enabled=!1);t.bounds[s]=o[s]=u;break;case y:if(!n(u))return void(t.enabled=!1);if((u=+u)<0||u>24)return void(t.enabled=!1);t.bounds[s]=o[s]=u}if(!1===r.autorange){var h=r.range;if(h[0]<h[1]){if(o[0]<h[0]&&o[1]>h[1])return void(t.enabled=!1)}else if(o[0]>h[0]&&o[1]<h[1])return void(t.enabled=!1)}}else{var p=i(\"values\");if(!p||!p.length)return void(t.enabled=!1);i(\"dvalue\")}}}e.exports=function(e,t,r,n,y){var b,_=n.letter,w=n.font||{},k=n.splomStash||{},T=r(\"visible\",!n.visibleDflt),M=t._template||{},A=t.type||M.type||\"-\";\"date\"===A&&(i.getComponentMethod(\"calendars\",\"handleDefaults\")(e,t,\"calendar\",n.calendar),n.noTicklabelmode||(b=r(\"ticklabelmode\")));var S=\"\";n.noTicklabelposition&&\"multicategory\"!==A||(S=a.coerce(e,t,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:\"period\"===b?[\"outside\",\"inside\"]:\"x\"===_?[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]}},\"ticklabelposition\")),n.noTicklabeloverflow||r(\"ticklabeloverflow\",-1!==S.indexOf(\"inside\")?\"hide past domain\":\"category\"===A||\"multicategory\"===A?\"allow\":\"hide past div\"),g(t,y),r(\"minallowed\"),r(\"maxallowed\");var E,C=r(\"range\"),L=t.getAutorangeDflt(C,n),P=r(\"autorange\",L);!C||(null!==C[0]||null!==C[1])&&(null!==C[0]&&null!==C[1]||\"reversed\"!==P&&!0!==P)&&(null===C[0]||\"min\"!==P&&\"max reversed\"!==P)&&(null===C[1]||\"max\"!==P&&\"min reversed\"!==P)||(C=void 0,delete t.range,t.autorange=!0,E=!0),E||(P=r(\"autorange\",L=t.getAutorangeDflt(C,n))),P&&(v(r,P,C),\"linear\"!==A&&\"-\"!==A||r(\"rangemode\")),t.cleanRange(),p(e,t,r,n),\"category\"===A||n.noHover||r(\"hoverformat\");var O=r(\"color\"),I=O!==l.color.dflt?O:w.color,D=k.label||y._dfltTitle[_];if(h(e,t,r,A,n),!T)return t;r(\"title.text\",D),a.coerceFont(r,\"title.font\",{family:w.family,size:a.bigFont(w.size),color:I}),u(e,t,r,A);var z=n.hasMinor;if(z&&(o.newContainer(t,\"minor\"),u(e,t,r,A,{isMinor:!0})),f(e,t,r,A,n),c(e,t,r,n),z){var R=n.isMinor;n.isMinor=!0,c(e,t,r,n),n.isMinor=R}d(e,t,r,{dfltColor:O,bgColor:n.bgColor,showGrid:n.showGrid,hasMinor:z,attributes:l}),!z||t.minor.ticks||t.minor.showgrid||delete t.minor,(t.showline||t.ticks)&&r(\"mirror\");var F,B=\"multicategory\"===A;if(n.noTickson||\"category\"!==A&&!B||!t.ticks&&!t.showgrid||(B&&(F=\"boundaries\"),\"boundaries\"===r(\"tickson\",F)&&delete t.ticklabelposition),B&&r(\"showdividers\")&&(r(\"dividercolor\"),r(\"dividerwidth\")),\"date\"===A)if(s(e,t,{name:\"rangebreaks\",inclusionAttr:\"enabled\",handleItemDefaults:x}),t.rangebreaks.length){for(var N=0;N<t.rangebreaks.length;N++)if(t.rangebreaks[N].pattern===m){t._hasDayOfWeekBreaks=!0;break}if(g(t,y),y._has(\"scattergl\")||y._has(\"splom\"))for(var j=0;j<n.data.length;j++){var U=n.data[j];\"scattergl\"!==U.type&&\"splom\"!==U.type||(U.visible=!1,a.warn(U.type+\" traces do not work on axes with rangebreaks. Setting trace \"+U.index+\" to `visible: false`.\"))}}else delete t.rangebreaks;return t};var b={sun:1,mon:2,tue:3,wed:4,thu:5,fri:6,sat:7};function _(e){if(\"string\"==typeof e)return b[e.substr(0,3).toLowerCase()]}},12663:function(e,t,r){\"use strict\";var n=r(31562),i=n.FORMAT_LINK,a=n.DATE_FORMAT_LINK;function o(e,t){return[\"Sets the \"+e+\" formatting rule\"+(t?\"for `\"+t+\"` \":\"\"),\"using d3 formatting mini-languages\",\"which are very similar to those in Python. For numbers, see: \"+i+\".\"].join(\" \")}function s(e,t){return o(e,t)+[\" And for dates see: \"+a+\".\",\"We add two items to d3's date formatter:\",\"*%h* for half of the year as a decimal number as well as\",\"*%{n}f* for fractional seconds\",\"with n digits. For example, *2016-10-13 09:15:23.456* with tickformat\",\"*%H~%M~%S.%2f* would display *09~15~23.46*\"].join(\" \")}e.exports={axisHoverFormat:function(e,t){return{valType:\"string\",dflt:\"\",editType:\"none\",description:(t?o:s)(\"hover text\",e)+[\"By default the values are formatted using \"+(t?\"generic number format\":\"`\"+e+\"axis.hoverformat`\")+\".\"].join(\" \")}},descriptionOnlyNumbers:o,descriptionWithDates:s}},41675:function(e,t,r){\"use strict\";var n=r(73972),i=r(85555);function a(e,t){if(t&&t.length)for(var r=0;r<t.length;r++)if(t[r][e])return!0;return!1}t.id2name=function(e){if(\"string\"==typeof e&&e.match(i.AX_ID_PATTERN)){var t=e.split(\" \")[0].substr(1);return\"1\"===t&&(t=\"\"),e.charAt(0)+\"axis\"+t}},t.name2id=function(e){if(e.match(i.AX_NAME_PATTERN)){var t=e.substr(5);return\"1\"===t&&(t=\"\"),e.charAt(0)+t}},t.cleanId=function(e,t,r){var n=/( domain)$/.test(e);if(\"string\"==typeof e&&e.match(i.AX_ID_PATTERN)&&(!t||e.charAt(0)===t)&&(!n||r)){var a=e.split(\" \")[0].substr(1).replace(/^0+/,\"\");return\"1\"===a&&(a=\"\"),e.charAt(0)+a+(n&&r?\" domain\":\"\")}},t.list=function(e,r,n){var i=e._fullLayout;if(!i)return[];var a,o=t.listIds(e,r),s=new Array(o.length);for(a=0;a<o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+\"axis\"+l.substr(1)]}if(!n){var u=i._subplots.gl3d||[];for(a=0;a<u.length;a++){var c=i[u[a]];r?s.push(c[r+\"axis\"]):s.push(c.xaxis,c.yaxis,c.zaxis)}}return s},t.listIds=function(e,t){var r=e._fullLayout;if(!r)return[];var n=r._subplots;return t?n[t+\"axis\"]:n.xaxis.concat(n.yaxis)},t.getFromId=function(e,r,n){var i=e._fullLayout;return r=void 0===r||\"string\"!=typeof r?r:r.replace(\" domain\",\"\"),\"x\"===n?r=r.replace(/y[0-9]*/,\"\"):\"y\"===n&&(r=r.replace(/x[0-9]*/,\"\")),i[t.id2name(r)]},t.getFromTrace=function(e,r,i){var a=e._fullLayout,o=null;if(n.traceIs(r,\"gl3d\")){var s=r.scene;\"scene\"===s.substr(0,5)&&(o=a[s][i+\"axis\"])}else o=t.getFromId(e,r[i+\"axis\"]||i);return o},t.idSort=function(e,t){var r=e.charAt(0),n=t.charAt(0);return r!==n?r>n?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)},t.ref2id=function(e){return!!/^[xyz]/.test(e)&&e.split(\" \")[0]},t.isLinked=function(e,t){return a(t,e._axisMatchGroups)||a(t,e._axisConstraintGroups)}},15258:function(e){\"use strict\";e.exports=function(e,t,r,n){if(\"category\"===t.type){var i,a=e.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i=\"array\");var s,l=r(\"categoryorder\",i);\"array\"===l&&(s=r(\"categoryarray\")),o||\"array\"!==l||(l=t.categoryorder=\"trace\"),\"trace\"===l?t._initialCategories=[]:\"array\"===l?t._initialCategories=s.slice():(s=function(e,t){var r,n,i,a=t.dataAttr||e._id.charAt(0),o={};if(t.axData)r=t.axData;else for(r=[],n=0;n<t.data.length;n++){var s=t.data[n];s[a+\"axis\"]===e._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][a];for(i=0;i<l.length;i++){var u=l[i];null!=u&&(o[u]=1)}}return Object.keys(o)}(t,n).sort(),\"category ascending\"===l?t._initialCategories=s:\"category descending\"===l&&(t._initialCategories=s.reverse()))}}},66287:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828),a=r(50606),o=a.ONEDAY,s=a.ONEWEEK;t.dtick=function(e,t){var r=\"log\"===t,i=\"date\"===t,a=\"category\"===t,s=i?o:1;if(!e)return s;if(n(e))return(e=Number(e))<=0?s:a?Math.max(1,Math.round(e)):i?Math.max(.1,e):e;if(\"string\"!=typeof e||!i&&!r)return s;var l=e.charAt(0),u=e.substr(1);return(u=n(u)?Number(u):0)<=0||!(i&&\"M\"===l&&u===Math.round(u)||r&&\"L\"===l||r&&\"D\"===l&&(1===u||2===u))?s:e},t.tick0=function(e,t,r,a){return\"date\"===t?i.cleanDate(e,i.dateTick0(r,a%s==0?1:0)):\"D1\"!==a&&\"D2\"!==a?n(e)?Number(e):0:void 0}},85555:function(e,t,r){\"use strict\";var n=r(30587).counter;e.exports={idRegex:{x:n(\"x\",\"( domain)?\"),y:n(\"y\",\"( domain)?\")},attrRegex:n(\"[xy]axis\"),xAxisMatch:n(\"xaxis\"),yAxisMatch:n(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:\"hour\",WEEKDAY_PATTERN:\"day of week\",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\"imagelayer\",\"heatmaplayer\",\"contourcarpetlayer\",\"contourlayer\",\"funnellayer\",\"waterfalllayer\",\"barlayer\",\"carpetlayer\",\"violinlayer\",\"boxlayer\",\"ohlclayer\",\"scattercarpetlayer\",\"scatterlayer\"],clipOnAxisFalseQuery:[\".scatterlayer\",\".barlayer\",\".funnellayer\",\".waterfalllayer\"],layerValue2layerClass:{\"above traces\":\"above\",\"below traces\":\"below\"}}},99082:function(e,t,r){\"use strict\";var n=r(71828),i=r(71739),a=r(41675).id2name,o=r(13838),s=r(42449),l=r(21994),u=r(50606).ALMOST_EQUAL,c=r(18783).FROM_BL;function f(e,t,r){var i=r.axIds,s=r.layoutOut,l=r.hasImage,u=s._axisConstraintGroups,c=s._axisMatchGroups,f=t._id,v=f.charAt(0),g=((s._splomAxes||{})[v]||{})[f]||{},m=t._id,y=\"x\"===m.charAt(0);function x(r,i){return n.coerce(e,t,o,r,i)}t._matchGroup=null,t._constraintGroup=null,x(\"constrain\",l?\"domain\":\"range\"),n.coerce(e,t,{constraintoward:{valType:\"enumerated\",values:y?[\"left\",\"center\",\"right\"]:[\"bottom\",\"middle\",\"top\"],dflt:y?\"center\":\"middle\"}},\"constraintoward\");var b,_,w=t.type,k=[];for(b=0;b<i.length;b++)(_=i[b])!==m&&s[a(_)].type===w&&k.push(_);var T=p(u,m);if(T){var M=[];for(b=0;b<k.length;b++)T[_=k[b]]||M.push(_);k=M}var A,S,E=k.length;E&&(e.matches||g.matches)&&(A=n.coerce(e,t,{matches:{valType:\"enumerated\",values:k,dflt:-1!==k.indexOf(g.matches)?g.matches:void 0}},\"matches\"));var C=l&&!y?t.anchor:void 0;if(E&&!A&&(e.scaleanchor||C)&&(S=n.coerce(e,t,{scaleanchor:{valType:\"enumerated\",values:k.concat([!1])}},\"scaleanchor\",C)),A){t._matchGroup=d(c,m,A,1);var L=s[a(A)],P=h(s,t)/h(s,L);y!==(\"x\"===A.charAt(0))&&(P=(y?\"x\":\"y\")+P),d(u,m,A,P)}else e.matches&&-1!==i.indexOf(e.matches)&&n.warn(\"ignored \"+t._name+'.matches: \"'+e.matches+'\" to avoid an infinite loop');if(S){var O=x(\"scaleratio\");O||(O=t.scaleratio=1),d(u,m,S,O)}else e.scaleanchor&&-1!==i.indexOf(e.scaleanchor)&&n.warn(\"ignored \"+t._name+'.scaleanchor: \"'+e.scaleanchor+'\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.')}function h(e,t){var r=t.domain;return r||(r=e[a(t.overlaying)].domain),r[1]-r[0]}function p(e,t){for(var r=0;r<e.length;r++)if(e[r][t])return e[r];return null}function d(e,t,r,n){var i,a,o,s,l,u=p(e,t);null===u?((u={})[t]=1,l=e.length,e.push(u)):l=e.indexOf(u);var c=Object.keys(u);for(i=0;i<e.length;i++)if(o=e[i],i!==l&&o[r]){var f=o[r];for(a=0;a<c.length;a++)o[s=c[a]]=v(f,v(n,u[s]));return void e.splice(l,1)}if(1!==n)for(a=0;a<c.length;a++){var h=c[a];u[h]=v(n,u[h])}u[r]=1}function v(e,t){var r,n,i=\"\",a=\"\";\"string\"==typeof e&&(r=(i=e.match(/^[xy]*/)[0]).length,e=+e.substr(r)),\"string\"==typeof t&&(n=(a=t.match(/^[xy]*/)[0]).length,t=+t.substr(n));var o=e*t;return r||n?r&&n&&i.charAt(0)!==a.charAt(0)?r===n?o:(r>n?i.substr(n):a.substr(r))+o:i+a+e*t:o}function g(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;o<a.length;o++){var s=a[o],l=e[s];if(\"string\"==typeof l){var u=l.match(/^[xy]*/)[0],c=u.length;l=+l.substr(c);for(var f=\"y\"===u.charAt(0)?n:1/n,h=0;h<c;h++)l*=f}i[s]=l}return i}function m(e,t){var r=e._inputDomain,n=c[e.constraintoward],i=r[0]+(r[1]-r[0])*n;e.domain=e._input.domain=[i+(r[0]-i)/t,i+(r[1]-i)/t],e.setScale()}t.handleDefaults=function(e,t,r){var i,o,s,u,c,h,p,d,v=r.axIds,g=r.axHasImage,m=t._axisConstraintGroups=[],y=t._axisMatchGroups=[];for(i=0;i<v.length;i++)f(c=e[u=a(v[i])],h=t[u],{axIds:v,layoutOut:t,hasImage:g[u]});function x(e,r){for(i=0;i<e.length;i++)for(s in o=e[i])t[a(s)][r]=o}for(x(y,\"_matchGroup\"),i=0;i<m.length;i++)for(s in o=m[i])if((h=t[a(s)]).fixedrange){for(var b in o){var _=a(b);!1===(e[_]||{}).fixedrange&&n.warn(\"fixedrange was specified as false for axis \"+_+\" but was overridden because another axis in its constraint group has fixedrange true\"),t[_].fixedrange=!0}break}for(i=0;i<m.length;){for(s in o=m[i]){(h=t[a(s)])._matchGroup&&Object.keys(h._matchGroup).length===Object.keys(o).length&&(m.splice(i,1),i--);break}i++}x(m,\"_constraintGroup\");var w=[\"constrain\",\"range\",\"autorange\",\"rangemode\",\"rangebreaks\",\"categoryorder\",\"categoryarray\"],k=!1,T=!1;function M(){d=h[p],\"rangebreaks\"===p&&(T=h._hasDayOfWeekBreaks)}for(i=0;i<y.length;i++){o=y[i];for(var A=0;A<w.length;A++){var S;for(s in p=w[A],d=null,o)if(c=e[u=a(s)],h=t[u],p in h){if(!h.matches&&(S=h,p in c)){M();break}null===d&&p in c&&M()}if(\"range\"===p&&d&&c.range&&2===c.range.length&&null!==c.range[0]&&null!==c.range[1]&&(k=!0),\"autorange\"===p&&null===d&&k&&(d=!1),null===d&&p in S&&(d=S[p]),null!==d)for(s in o)(h=t[a(s)])[p]=\"range\"===p?d.slice():d,\"rangebreaks\"===p&&(h._hasDayOfWeekBreaks=T,l(h,t))}}},t.enforce=function(e){var t,r,n,o,l,c,f,h,p=e._fullLayout,d=p._axisConstraintGroups||[];for(t=0;t<d.length;t++){n=g(d[t],p);var v=Object.keys(n),y=1/0,x=0,b=1/0,_={},w={},k=!1;for(r=0;r<v.length;r++)w[o=v[r]]=l=p[a(o)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),_[o]=c=Math.abs(l._m)/n[o],y=Math.min(y,c),\"domain\"!==l.constrain&&l._constraintShrinkable||(b=Math.min(b,c)),delete l._constraintShrinkable,x=Math.max(x,c),\"domain\"===l.constrain&&(k=!0);if(!(y>u*x)||k)for(r=0;r<v.length;r++)if(c=_[o=v[r]],f=(l=w[o]).constrain,c!==b||\"domain\"===f)if(h=c/b,\"range\"===f)s(l,h);else{var T=l._inputDomain,M=(l.domain[1]-l.domain[0])/(T[1]-T[0]),A=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if((h/=M)*A<1){l.domain=l._input.domain=T.slice(),s(l,h);continue}if(A<1&&(l.range=l._input.range=l._inputRange.slice(),h*=A),l.autorange){var S=l.r2l(l.range[0]),E=l.r2l(l.range[1]),C=(S+E)/2,L=C,P=C,O=Math.abs(E-C),I=C-O*h*1.0001,D=C+O*h*1.0001,z=i.makePadFn(p,l,0),R=i.makePadFn(p,l,1);m(l,h);var F,B,N=Math.abs(l._m),j=i.concatExtremes(e,l),U=j.min,V=j.max;for(B=0;B<U.length;B++)(F=U[B].val-z(U[B])/N)>I&&F<L&&(L=F);for(B=0;B<V.length;B++)(F=V[B].val+R(V[B])/N)<D&&F>P&&(P=F);h/=(P-L)/(2*O),L=l.l2r(L),P=l.l2r(P),l.range=l._input.range=S<E?[L,P]:[P,L]}m(l,h)}}},t.getAxisGroup=function(e,t){for(var r=e._axisMatchGroups,n=0;n<r.length;n++)if(r[n][t])return\"g\"+n;return t},t.clean=function(e,t){if(t._inputDomain){for(var r=!1,n=t._id,i=e._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&\"domain\"===t.constrain||(t._input.domain=t.domain=t._inputDomain,delete t._inputDomain)}}},29323:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(84267),s=r(38520),l=r(73972),u=i.strTranslate,c=r(63893),f=r(7901),h=r(91424),p=r(30211),d=r(89298),v=r(6964),g=r(28569),m=r(64505),y=m.selectingOrDrawing,x=m.freeMode,b=r(18783).FROM_TL,_=r(33306),w=r(61549).redrawReglTraces,k=r(74875),T=r(41675).getFromId,M=r(47322).prepSelect,A=r(47322).clearOutline,S=r(47322).selectOnClick,E=r(42449),C=r(85555),L=C.MINDRAG,P=C.MINZOOM,O=!0;function I(e,t,r,n){var a=i.ensureSingle(e.draglayer,t,r,(function(t){t.classed(\"drag\",!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",e.id)}));return a.call(v,n),a.node()}function D(e,t,r,i,a,o,s){var l=I(e,\"rect\",t,r);return n.select(l).call(h.setRect,i,a,o,s),l}function z(e,t){for(var r=0;r<e.length;r++)if(!e[r].fixedrange)return t;return\"\"}function R(e,t,r,n,i){for(var a=0;a<e.length;a++){var o=e[a];if(!o.fixedrange)if(o.rangebreaks){var s=\"y\"===o._id.charAt(0),l=s?1-t:t,u=s?1-r:r;n[o._name+\".range[0]\"]=o.l2r(o.p2l(l*o._length)),n[o._name+\".range[1]\"]=o.l2r(o.p2l(u*o._length))}else{var c=o._rl[0],f=o._rl[1]-c;n[o._name+\".range[0]\"]=o.l2r(c+f*t),n[o._name+\".range[1]\"]=o.l2r(c+f*r)}}if(i&&i.length){var h=(t+(1-r))/2;R(i,h,1-h,n,[])}}function F(e,t){for(var r=0;r<e.length;r++){var n=e[r];if(!n.fixedrange){if(n.rangebreaks){var i=n._length,a=(n.p2l(0+t)-n.p2l(0)+(n.p2l(i+t)-n.p2l(i)))/2;n.range=[n.l2r(n._rl[0]-a),n.l2r(n._rl[1]-a)]}else n.range=[n.l2r(n._rl[0]-t/n._m),n.l2r(n._rl[1]-t/n._m)];n.limitRange&&n.limitRange()}}}function B(e){return 1-(e>=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function N(e,t,r,n,i){return e.append(\"path\").attr(\"class\",\"zoombox\").style({fill:t>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",u(r,n)).attr(\"d\",i+\"Z\")}function j(e,t,r){return e.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:f.background,stroke:f.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",u(t,r)).attr(\"d\",\"M0,0Z\")}function U(e,t,r,n,i,a){e.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),V(e,t,i,a)}function V(e,t,r,n){r||(e.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),t.transition().style(\"opacity\",1).duration(200))}function H(e){n.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function q(e){O&&e.data&&e._context.showTips&&(i.notifier(i._(e,\"Double-click to zoom back out\"),\"long\"),O=!1)}function G(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,P)/2);return\"M\"+(e.l-3.5)+\",\"+(e.t-.5+t)+\"h3v\"+-t+\"h\"+t+\"v-3h-\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.t-.5+t)+\"h-3v\"+-t+\"h\"+-t+\"v-3h\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.b+.5-t)+\"h-3v\"+t+\"h\"+-t+\"v3h\"+(t+3)+\"ZM\"+(e.l-3.5)+\",\"+(e.b+.5-t)+\"h3v\"+t+\"h\"+t+\"v3h-\"+(t+3)+\"Z\"}function Y(e,t,r,n,a){for(var o,s,l,u,c=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,v=0;v<t.length;v++){var g=t[v];for(o in r)if(g[o]){for(l in g)a&&(p[l]||d[l])||(\"x\"===l.charAt(0)?r:n)[l]||(f[l]=o);for(s in n)a&&(p[s]||d[s])||!g[s]||(c=!0)}for(s in n)if(g[s])for(u in g)a&&(p[u]||d[u])||(\"x\"===u.charAt(0)?r:n)[u]||(h[u]=s)}c&&(i.extendFlat(f,h),h={});var m={},y=[];for(l in f){var x=T(e,l);y.push(x),m[x._id]=x}var b={},_=[];for(u in h){var w=T(e,u);_.push(w),b[w._id]=w}return{xaHash:m,yaHash:b,xaxes:y,yaxes:_,xLinks:f,yLinks:h,isSubplotConstrained:c}}function W(e,t){if(s){var r=void 0!==e.onwheel?\"wheel\":\"mousewheel\";e._onwheel&&e.removeEventListener(r,e._onwheel),e._onwheel=t,e.addEventListener(r,t,{passive:!1})}else void 0!==e.onwheel?e.onwheel=t:void 0!==e.onmousewheel?e.onmousewheel=t:e.isAddedWheelEvent||(e.isAddedWheelEvent=!0,e.addEventListener(\"wheel\",t,{passive:!1}))}function Z(e){var t=[];for(var r in e)t.push(e[r]);return t}e.exports={makeDragBox:function(e,t,r,s,u,f,v,m){var O,I,V,X,K,J,$,Q,ee,te,re,ne,ie,ae,oe,se,le,ue,ce,fe,he,pe,de,ve=e._fullLayout._zoomlayer,ge=v+m===\"nsew\",me=1===(v+m).length;function ye(){if(O=t.xaxis,I=t.yaxis,ee=O._length,te=I._length,$=O._offset,Q=I._offset,(V={})[O._id]=O,(X={})[I._id]=I,v&&m)for(var r=t.overlays,n=0;n<r.length;n++){var i=r[n].xaxis;V[i._id]=i;var a=r[n].yaxis;X[a._id]=a}K=Z(V),J=Z(X),ie=z(K,m),ae=z(J,v),oe=!ae&&!ie,ne=Y(e,e._fullLayout._axisMatchGroups,V,X);var o=(re=Y(e,e._fullLayout._axisConstraintGroups,V,X,ne)).isSubplotConstrained||ne.isSubplotConstrained;se=m||o,le=v||o;var s=e._fullLayout;ue=s._has(\"scattergl\"),ce=s._has(\"splom\"),fe=s._has(\"svg\")}r+=t.yaxis._shift,ye();var xe=function(e,t,r){return e?\"nsew\"===e?r?\"\":\"pan\"===t?\"move\":\"crosshair\":e.toLowerCase()+\"-resize\":\"pointer\"}(ae+ie,e._fullLayout.dragmode,ge),be=D(t,v+m+\"drag\",xe,r,s,u,f);if(oe&&!ge)return be.onmousedown=null,be.style.pointerEvents=\"none\",be;var _e,we,ke,Te,Me,Ae,Se,Ee,Ce,Le,Pe={element:be,gd:e,plotinfo:t};function Oe(){Pe.plotinfo.selection=!1,A(e)}function Ie(e,r){var i=Pe.gd;if(i._fullLayout._activeShapeIndex>=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(H(i),2!==e||me||qe(),ge)o.indexOf(\"select\")>-1&&S(r,i,K,J,t.id,Pe),o.indexOf(\"event\")>-1&&p.click(i,r,t.id);else if(1===e&&me){var s=v?I:O,u=\"s\"===v||\"w\"===m?0:1,f=s._name+\".range[\"+u+\"]\",h=function(e,t){var r,n=e.range[t],i=Math.abs(n-e.range[1-t]);return\"date\"===e.type?n:\"log\"===e.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a(\".\"+r+\"g\")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a(\".\"+String(r)+\"g\")(n))}(s,u),d=\"left\",g=\"middle\";if(s.fixedrange)return;v?(g=\"n\"===v?\"top\":\"bottom\",\"right\"===s.side&&(d=\"right\")):\"e\"===m&&(d=\"right\"),i._context.showAxisRangeEntryBoxes&&n.select(be).call(c.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:\"#444\",horizontalAlign:d,verticalAlign:g}).on(\"edit\",(function(e){var t=s.d2r(e);void 0!==t&&l.call(\"_guiRelayout\",i,f,t)}))}}}function De(t,r){if(e._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(ee,pe*t+_e)),i=Math.max(0,Math.min(te,de*r+we)),a=Math.abs(n-_e),o=Math.abs(i-we);function s(){Se=\"\",ke.r=ke.l,ke.t=ke.b,Ce.attr(\"d\",\"M0,0Z\")}if(ke.l=Math.min(_e,n),ke.r=Math.max(_e,n),ke.t=Math.min(we,i),ke.b=Math.max(we,i),re.isSubplotConstrained)a>P||o>P?(Se=\"xy\",a/ee>o/te?(o=a*te/ee,we>i?ke.t=we-o:ke.b=we+o):(a=o*ee/te,_e>n?ke.l=_e-a:ke.r=_e+a),Ce.attr(\"d\",G(ke))):s();else if(ne.isSubplotConstrained)if(a>P||o>P){Se=\"xy\";var l=Math.min(ke.l/ee,(te-ke.b)/te),u=Math.max(ke.r/ee,(te-ke.t)/te);ke.l=l*ee,ke.r=u*ee,ke.b=(1-l)*te,ke.t=(1-u)*te,Ce.attr(\"d\",G(ke))}else s();else!ae||o<Math.min(Math.max(.6*a,L),P)?a<L||!ie?s():(ke.t=0,ke.b=te,Se=\"x\",Ce.attr(\"d\",function(e,t){return\"M\"+(e.l-.5)+\",\"+(t-P-.5)+\"h-3v\"+(2*P+1)+\"h3ZM\"+(e.r+.5)+\",\"+(t-P-.5)+\"h3v\"+(2*P+1)+\"h-3Z\"}(ke,we))):!ie||a<Math.min(.6*o,P)?(ke.l=0,ke.r=ee,Se=\"y\",Ce.attr(\"d\",function(e,t){return\"M\"+(t-P-.5)+\",\"+(e.t-.5)+\"v-3h\"+(2*P+1)+\"v3ZM\"+(t-P-.5)+\",\"+(e.b+.5)+\"v3h\"+(2*P+1)+\"v-3Z\"}(ke,_e))):(Se=\"xy\",Ce.attr(\"d\",G(ke)));ke.w=ke.r-ke.l,ke.h=ke.b-ke.t,Se&&(Le=!0),e._dragged=Le,U(Ee,Ce,ke,Me,Ae,Te),ze(),e.emit(\"plotly_relayouting\",he),Ae=!0}function ze(){he={},\"xy\"!==Se&&\"x\"!==Se||(R(K,ke.l/ee,ke.r/ee,he,re.xaxes),Ve(\"x\",he)),\"xy\"!==Se&&\"y\"!==Se||(R(J,(te-ke.b)/te,(te-ke.t)/te,he,re.yaxes),Ve(\"y\",he))}function Re(){ze(),H(e),Ge(),q(e)}Pe.prepFn=function(t,r,n){var a=Pe.dragmode,s=e._fullLayout.dragmode;s!==a&&(Pe.dragmode=s),ye(),pe=e._fullLayout._invScaleX,de=e._fullLayout._invScaleY,oe||(ge?t.shiftKey?\"pan\"===s?s=\"zoom\":y(s)||(s=\"pan\"):t.ctrlKey&&(s=\"pan\"):s=\"pan\"),x(s)?Pe.minDrag=1:Pe.minDrag=void 0,y(s)?(Pe.xaxes=K,Pe.yaxes=J,M(t,r,n,Pe,s)):(Pe.clickFn=Ie,y(a)&&Oe(),oe||(\"zoom\"===s?(Pe.moveFn=De,Pe.doneFn=Re,Pe.minDrag=1,function(t,r,n){var a=be.getBoundingClientRect();_e=r-a.left,we=n-a.top,e._fullLayout._calcInverseTransform(e);var s=i.apply3DTransform(e._fullLayout._invTransform)(_e,we);_e=s[0],we=s[1],ke={l:_e,r:_e,w:0,t:we,b:we,h:0},Te=e._hmpixcount?e._hmlumcount/e._hmpixcount:o(e._fullLayout.plot_bgcolor).getLuminance(),Ae=!1,Se=\"xy\",Le=!1,Ee=N(ve,Te,$,Q,Me=\"M0,0H\"+ee+\"V\"+te+\"H0V0\"),Ce=j(ve,$,Q)}(0,r,n)):\"pan\"===s&&(Pe.moveFn=Ue,Pe.doneFn=Ge))),e._fullLayout._redrag=function(){var t=e._dragdata;if(t&&t.element===be){var r=e._fullLayout.dragmode;y(r)||(ye(),Ye([0,0,ee,te]),Pe.moveFn(t.dx,t.dy))}}},g.init(Pe);var Fe=[0,0,ee,te],Be=null,Ne=C.REDRAWDELAY,je=t.mainplot?e._fullLayout._plots[t.mainplot]:t;function Ue(t,r){if(t*=pe,r*=de,!e._transitioningWithDuration){if(e._fullLayout._replotting=!0,\"ew\"===ie||\"ns\"===ae){var n=ie?-t:0,i=ae?-r:0;if(ne.isSubplotConstrained){if(ie&&ae){var a=(t/ee-r/te)/2;n=-(t=a*ee),i=-(r=-a*te)}ae?n=-i*ee/te:i=-n*te/ee}return ie&&(F(K,t),Ve(\"x\")),ae&&(F(J,r),Ve(\"y\")),Ye([n,i,ee,te]),He(),void e.emit(\"plotly_relayouting\",he)}var o,s,l=\"w\"===ie==(\"n\"===ae)?1:-1;if(ie&&ae&&(re.isSubplotConstrained||ne.isSubplotConstrained)){var u=(t/ee+l*r/te)/2;t=u*ee,r=l*u*te}if(\"w\"===ie?t=p(K,0,t):\"e\"===ie?t=p(K,1,-t):ie||(t=0),\"n\"===ae?r=p(J,1,r):\"s\"===ae?r=p(J,0,-r):ae||(r=0),o=\"w\"===ie?t:0,s=\"n\"===ae?r:0,re.isSubplotConstrained&&!ne.isSubplotConstrained||ne.isSubplotConstrained&&ie&&ae&&l>0){var c;if(ne.isSubplotConstrained||!ie&&1===ae.length){for(c=0;c<K.length;c++)K[c].range=K[c]._r.slice(),E(K[c],1-r/te);o=(t=r*ee/te)/2}if(ne.isSubplotConstrained||!ae&&1===ie.length){for(c=0;c<J.length;c++)J[c].range=J[c]._r.slice(),E(J[c],1-t/ee);s=(r=t*te/ee)/2}}ne.isSubplotConstrained&&ae||Ve(\"x\"),ne.isSubplotConstrained&&ie||Ve(\"y\");var f=ee-t,h=te-r;!ne.isSubplotConstrained||ie&&ae||(ie?(s=o?0:t*te/ee,h=f*te/ee):(o=s?0:r*ee/te,f=h*ee/te)),Ye([o,s,f,h]),He(),e.emit(\"plotly_relayouting\",he)}function p(e,t,r){for(var n,i,a=1-t,o=0;o<e.length;o++){var s=e[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[t]-s._rl[a])/B(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[t]=l)}}return n._length*(n._rl[t]-i)/(n._rl[t]-n._rl[a])}}function Ve(e,t){for(var r=ne.isSubplotConstrained?{x:J,y:K}[e]:ne[e+\"axes\"],n=ne.isSubplotConstrained?{x:K,y:J}[e]:[],i=0;i<r.length;i++){var a=r[i],o=a._id,s=ne.xLinks[o]||ne.yLinks[o],l=n[0]||V[s]||X[s];l&&(t?(t[a._name+\".range[0]\"]=t[l._name+\".range[0]\"],t[a._name+\".range[1]\"]=t[l._name+\".range[1]\"]):a.range=l.range.slice())}}function He(){var r,n=[];function i(e){for(r=0;r<e.length;r++)e[r].fixedrange||n.push(e[r]._id)}function a(e,t){for(r=0;r<e.length;r++){var i=e[r],a=i[t];i.fixedrange||\"sync\"!==a.tickmode||n.push(a._id)}}for(se&&(i(K),i(re.xaxes),i(ne.xaxes),a(t.overlays,\"xaxis\")),le&&(i(J),i(re.yaxes),i(ne.yaxes),a(t.overlays,\"yaxis\")),he={},r=0;r<n.length;r++){var o=n[r],s=T(e,o);d.drawOne(e,s,{skipTitle:!0}),he[s._name+\".range[0]\"]=s.range[0],he[s._name+\".range[1]\"]=s.range[1]}d.redrawComponents(e,n)}function qe(){if(!e._transitioningWithDuration){var t=e._context.doubleClick,r=[];ie&&(r=r.concat(K)),ae&&(r=r.concat(J)),ne.xaxes&&(r=r.concat(ne.xaxes)),ne.yaxes&&(r=r.concat(ne.yaxes));var n,i,a={};if(\"reset+autosize\"===t)for(t=\"autosize\",i=0;i<r.length;i++){var o=(n=r[i])._rangeInitial0,s=n._rangeInitial1,u=void 0!==o||void 0!==s;if(u&&(void 0!==o&&o!==n.range[0]||void 0!==s&&s!==n.range[1])||!u&&!0!==n.autorange){t=\"reset\";break}}if(\"autosize\"===t)for(i=0;i<r.length;i++)(n=r[i]).fixedrange||(a[n._name+\".autorange\"]=!0);else if(\"reset\"===t)for((ie||re.isSubplotConstrained)&&(r=r.concat(re.xaxes)),ae&&!re.isSubplotConstrained&&(r=r.concat(re.yaxes)),re.isSubplotConstrained&&(ie?ae||(r=r.concat(J)):r=r.concat(K)),i=0;i<r.length;i++)if(!(n=r[i]).fixedrange){var c=n._name,f=n._autorangeInitial;void 0===n._rangeInitial0&&void 0===n._rangeInitial1?a[c+\".autorange\"]=!0:void 0===n._rangeInitial0?(a[c+\".autorange\"]=f,a[c+\".range\"]=[null,n._rangeInitial1]):void 0===n._rangeInitial1?(a[c+\".range\"]=[n._rangeInitial0,null],a[c+\".autorange\"]=f):a[c+\".range\"]=[n._rangeInitial0,n._rangeInitial1]}e.emit(\"plotly_doubleclick\",null),l.call(\"_guiRelayout\",e,a)}}function Ge(){Ye([0,0,ee,te]),i.syncOrAsync([k.previousPromises,function(){e._fullLayout._replotting=!1,l.call(\"_guiRelayout\",e,he)}],e)}function Ye(t){var r,n,a,o,s=e._fullLayout,u=s._plots,c=s._subplots.cartesian;if(ce&&l.subplotsRegistry.splom.drag(e),ue)for(r=0;r<c.length;r++)if(a=(n=u[c[r]]).xaxis,o=n.yaxis,n._scene){var f=i.simpleMap(a.range,a.r2l),p=i.simpleMap(o.range,o.r2l);a.limitRange&&a.limitRange(),o.limitRange&&o.limitRange(),f=a.range,p=o.range,n._scene.update({range:[f[0],p[0],f[1],p[1]]})}if((ce||ue)&&(_(e),w(e)),fe){var d=t[2]/O._length,g=t[3]/I._length;for(r=0;r<c.length;r++){a=(n=u[c[r]]).xaxis,o=n.yaxis;var y,x,b,k,T=(se||ne.isSubplotConstrained)&&!a.fixedrange&&V[a._id],M=(le||ne.isSubplotConstrained)&&!o.fixedrange&&X[o._id];if(T?(y=d,b=m||ne.isSubplotConstrained?t[0]:Xe(a,y)):ne.xaHash[a._id]?(y=d,b=t[0]*a._length/O._length):ne.yaHash[a._id]?(y=g,b=\"ns\"===ae?-t[1]*a._length/I._length:Xe(a,y,{n:\"top\",s:\"bottom\"}[ae])):b=Ze(a,y=We(a,d,g)),y>1&&(void 0!==a.maxallowed&&se===(a.range[0]<a.range[1]?\"e\":\"w\")||void 0!==a.minallowed&&se===(a.range[0]<a.range[1]?\"w\":\"e\"))&&(y=1,b=0),M?(x=g,k=v||ne.isSubplotConstrained?t[1]:Xe(o,x)):ne.yaHash[o._id]?(x=g,k=t[1]*o._length/I._length):ne.xaHash[o._id]?(x=d,k=\"ew\"===ie?-t[0]*o._length/O._length:Xe(o,x,{e:\"right\",w:\"left\"}[ie])):k=Ze(o,x=We(o,d,g)),x>1&&(void 0!==o.maxallowed&&le===(o.range[0]<o.range[1]?\"n\":\"s\")||void 0!==o.minallowed&&le===(o.range[0]<o.range[1]?\"s\":\"n\"))&&(x=1,k=0),y||x){y||(y=1),x||(x=1);var A=a._offset-b/y,S=o._offset-k/x;n.clipRect.call(h.setTranslate,b,k).call(h.setScale,y,x),n.plot.call(h.setTranslate,A,S).call(h.setScale,1/y,1/x),y===n.xScaleFactor&&x===n.yScaleFactor||(h.setPointGroupScale(n.zoomScalePts,y,x),h.setTextPointsScale(n.zoomScaleTxt,y,x)),h.hideOutsideRangePoints(n.clipOnAxisFalseTraces,n),n.xScaleFactor=y,n.yScaleFactor=x}}}}function We(e,t,r){return e.fixedrange?0:se&&re.xaHash[e._id]?t:le&&(re.isSubplotConstrained?re.xaHash:re.yaHash)[e._id]?r:0}function Ze(e,t){return t?(e.range=e._r.slice(),E(e,t),Xe(e,t)):0}function Xe(e,t,r){return e._length*(1-t)*b[r||e.constraintoward||\"middle\"]}return v.length*m.length!=1&&W(be,(function(t){if(e._context._scrollZoom.cartesian||e._fullLayout._enablescrollzoom){if(Oe(),e._transitioningWithDuration)return t.preventDefault(),void t.stopPropagation();ye(),clearTimeout(Be);var r=-t.deltaY;if(isFinite(r)||(r=t.wheelDelta/10),isFinite(r)){var n,a=Math.exp(-Math.min(Math.max(r,-20),20)/200),o=je.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),s=(t.clientX-o.left)/o.width,l=(o.bottom-t.clientY)/o.height;if(se){for(m||(s=.5),n=0;n<K.length;n++)u(K[n],s,a);Ve(\"x\"),Fe[2]*=a,Fe[0]+=Fe[2]*s*(1/a-1)}if(le){for(v||(l=.5),n=0;n<J.length;n++)u(J[n],l,a);Ve(\"y\"),Fe[3]*=a,Fe[1]+=Fe[3]*(1-l)*(1/a-1)}Ye(Fe),He(),e.emit(\"plotly_relayouting\",he),Be=setTimeout((function(){e._fullLayout&&(Fe=[0,0,ee,te],Ge())}),Ne),t.preventDefault()}else i.log(\"Did not find wheel motion attributes: \",t)}function u(e,t,r){if(!e.fixedrange){var n=i.simpleMap(e.range,e.r2l),a=n[0]+(n[1]-n[0])*t;e.range=n.map((function(t){return e.l2r(a+(t-a)*r)}))}}})),be},makeDragger:I,makeRectDragger:D,makeZoombox:N,makeCorners:j,updateZoombox:U,xyCorners:G,transitionZoombox:V,removeZoombox:H,showDoubleClickNotifier:q,attachWheelEventHandler:W}},4305:function(e,t,r){\"use strict\";var n=r(39898),i=r(30211),a=r(28569),o=r(6964),s=r(29323).makeDragBox,l=r(85555).DRAGGERSIZE;t.initInteractions=function(e){var r=e._fullLayout;if(e._context.staticPlot)n.select(e).selectAll(\".drag\").remove();else if(r._has(\"cartesian\")||r._has(\"splom\")){Object.keys(r._plots||{}).sort((function(e,t){if((r._plots[e].mainplot&&!0)===(r._plots[t].mainplot&&!0)){var n=e.split(\"y\"),i=t.split(\"y\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return r._plots[e].mainplot?1:-1})).forEach((function(t){var n=r._plots[t],o=n.xaxis,u=n.yaxis;if(!n.mainplot){var c=s(e,n,o._offset,u._offset,o._length,u._length,\"ns\",\"ew\");c.onmousemove=function(r){e._fullLayout._rehover=function(){e._fullLayout._hoversubplot===t&&e._fullLayout._plots[t]&&i.hover(e,r,t)},i.hover(e,r,t),e._fullLayout._lasthover=c,e._fullLayout._hoversubplot=t},c.onmouseout=function(t){e._dragging||(e._fullLayout._hoversubplot=null,a.unhover(e,t))},e._context.showAxisDragHandles&&(s(e,n,o._offset-l,u._offset-l,l,l,\"n\",\"w\"),s(e,n,o._offset+o._length,u._offset-l,l,l,\"n\",\"e\"),s(e,n,o._offset-l,u._offset+u._length,l,l,\"s\",\"w\"),s(e,n,o._offset+o._length,u._offset+u._length,l,l,\"s\",\"e\"))}if(e._context.showAxisDragHandles){if(t===o._mainSubplot){var f=o._mainLinePosition;\"top\"===o.side&&(f-=l),s(e,n,o._offset+.1*o._length,f,.8*o._length,l,\"\",\"ew\"),s(e,n,o._offset,f,.1*o._length,l,\"\",\"w\"),s(e,n,o._offset+.9*o._length,f,.1*o._length,l,\"\",\"e\")}if(t===u._mainSubplot){var h=u._mainLinePosition;\"right\"!==u.side&&(h-=l),s(e,n,h,u._offset+.1*u._length,l,.8*u._length,\"ns\",\"\"),s(e,n,h,u._offset+.9*u._length,l,.1*u._length,\"s\",\"\"),s(e,n,h,u._offset,l,.1*u._length,\"n\",\"\")}}}));var o=r._hoverlayer.node();o.onmousemove=function(t){t.target=e._fullLayout._lasthover,i.hover(e,t,r._hoversubplot)},o.onclick=function(t){t.target=e._fullLayout._lasthover,i.click(e,t)},o.onmousedown=function(t){e._fullLayout._lasthover.onmousedown(t)},t.updateFx(e)}},t.updateFx=function(e){var t=e._fullLayout,r=\"pan\"===t.dragmode?\"move\":\"crosshair\";o(t._draggers,r)}},76325:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828),a=r(41675);e.exports=function(e){return function(t,r){var o=t[e];if(Array.isArray(o))for(var s=n.subplotsRegistry.cartesian,l=s.idRegex,u=r._subplots,c=u.xaxis,f=u.yaxis,h=u.cartesian,p=r._has(\"cartesian\")||r._has(\"gl2d\"),d=0;d<o.length;d++){var v=o[d];if(i.isPlainObject(v)){var g=a.cleanId(v.xref,\"x\",!1),m=a.cleanId(v.yref,\"y\",!1),y=l.x.test(g),x=l.y.test(m);if(y||x){p||i.pushUnique(r._basePlotModules,s);var b=!1;y&&-1===c.indexOf(g)&&(c.push(g),b=!0),x&&-1===f.indexOf(m)&&(f.push(m),b=!0),b&&y&&x&&h.push(g+m)}}}}}},93612:function(e,t,r){\"use strict\";var n=r(39898),i=r(73972),a=r(71828),o=r(74875),s=r(91424),l=r(27659).a0,u=r(41675),c=r(85555),f=r(77922),h=a.ensureSingle;function p(e,t,r){return a.ensureSingle(e,t,r,(function(e){e.datum(r)}))}function d(e,t,r,a,o){for(var u,f,h,p=c.traceLayerClasses,d=e._fullLayout,v=d._modules,g=[],m=[],y=0;y<v.length;y++){var x=(u=v[y]).name,b=i.modules[x].categories;if(b.svg){var _=u.layerName||x+\"layer\",w=u.plot;h=(f=l(r,w))[0],r=f[1],h.length&&g.push({i:p.indexOf(_),className:_,plotMethod:w,cdModule:h}),b.zoomScale&&m.push(\".\"+_)}}g.sort((function(e,t){return e.i-t.i}));var k=t.plot.selectAll(\"g.mlayer\").data(g,(function(e){return e.className}));if(k.enter().append(\"g\").attr(\"class\",(function(e){return e.className})).classed(\"mlayer\",!0).classed(\"rangeplot\",t.isRangePlot),k.exit().remove(),k.order(),k.each((function(r){var i=n.select(this),l=r.className;r.plotMethod(e,t,r.cdModule,i,a,o),-1===c.clipOnAxisFalseQuery.indexOf(\".\"+l)&&s.setClipUrl(i,t.layerClipId,e)})),d._has(\"scattergl\")&&(u=i.getModule(\"scattergl\"),h=l(r,u)[0],u.plot(e,t,h)),!e._context.staticPlot&&(t._hasClipOnAxisFalse&&(t.clipOnAxisFalseTraces=t.plot.selectAll(c.clipOnAxisFalseQuery.join(\",\")).selectAll(\".trace\")),m.length)){var T=t.plot.selectAll(m.join(\",\")).selectAll(\".trace\");t.zoomScalePts=T.selectAll(\"path.point\"),t.zoomScaleTxt=T.selectAll(\".textpoint\")}}function v(e,t){var r=t.plotgroup,n=t.id,i=c.layerValue2layerClass[t.xaxis.layer],a=c.layerValue2layerClass[t.yaxis.layer],o=e._fullLayout._hasOnlyLargeSploms;if(t.mainplot){var s=t.mainplotinfo,l=s.plotgroup,f=n+\"-x\",d=n+\"-y\";t.minorGridlayer=s.minorGridlayer,t.gridlayer=s.gridlayer,t.zerolinelayer=s.zerolinelayer,h(s.overlinesBelow,\"path\",f),h(s.overlinesBelow,\"path\",d),h(s.overaxesBelow,\"g\",f),h(s.overaxesBelow,\"g\",d),t.plot=h(s.overplot,\"g\",n),h(s.overlinesAbove,\"path\",f),h(s.overlinesAbove,\"path\",d),h(s.overaxesAbove,\"g\",f),h(s.overaxesAbove,\"g\",d),t.xlines=l.select(\".overlines-\"+i).select(\".\"+f),t.ylines=l.select(\".overlines-\"+a).select(\".\"+d),t.xaxislayer=l.select(\".overaxes-\"+i).select(\".\"+f),t.yaxislayer=l.select(\".overaxes-\"+a).select(\".\"+d)}else if(o)t.xlines=h(r,\"path\",\"xlines-above\"),t.ylines=h(r,\"path\",\"ylines-above\"),t.xaxislayer=h(r,\"g\",\"xaxislayer-above\"),t.yaxislayer=h(r,\"g\",\"yaxislayer-above\");else{var v=h(r,\"g\",\"layer-subplot\");t.shapelayer=h(v,\"g\",\"shapelayer\"),t.imagelayer=h(v,\"g\",\"imagelayer\"),t.minorGridlayer=h(r,\"g\",\"minor-gridlayer\"),t.gridlayer=h(r,\"g\",\"gridlayer\"),t.zerolinelayer=h(r,\"g\",\"zerolinelayer\"),h(r,\"path\",\"xlines-below\"),h(r,\"path\",\"ylines-below\"),t.overlinesBelow=h(r,\"g\",\"overlines-below\"),h(r,\"g\",\"xaxislayer-below\"),h(r,\"g\",\"yaxislayer-below\"),t.overaxesBelow=h(r,\"g\",\"overaxes-below\"),t.plot=h(r,\"g\",\"plot\"),t.overplot=h(r,\"g\",\"overplot\"),t.xlines=h(r,\"path\",\"xlines-above\"),t.ylines=h(r,\"path\",\"ylines-above\"),t.overlinesAbove=h(r,\"g\",\"overlines-above\"),h(r,\"g\",\"xaxislayer-above\"),h(r,\"g\",\"yaxislayer-above\"),t.overaxesAbove=h(r,\"g\",\"overaxes-above\"),t.xlines=r.select(\".xlines-\"+i),t.ylines=r.select(\".ylines-\"+a),t.xaxislayer=r.select(\".xaxislayer-\"+i),t.yaxislayer=r.select(\".yaxislayer-\"+a)}o||(p(t.minorGridlayer,\"g\",t.xaxis._id),p(t.minorGridlayer,\"g\",t.yaxis._id),t.minorGridlayer.selectAll(\"g\").map((function(e){return e[0]})).sort(u.idSort),p(t.gridlayer,\"g\",t.xaxis._id),p(t.gridlayer,\"g\",t.yaxis._id),t.gridlayer.selectAll(\"g\").map((function(e){return e[0]})).sort(u.idSort)),t.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),t.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0)}function g(e,t){if(e){var r={};for(var i in e.each((function(e){var i=e[0];n.select(this).remove(),m(i,t),r[i]=!0})),t._plots)for(var a=t._plots[i].overlays||[],o=0;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(\".trace\").remove()}}}function m(e,t){t._draggers.selectAll(\"g.\"+e).remove(),t._defs.select(\"#clip\"+t._uid+e+\"plot\").remove()}t.name=\"cartesian\",t.attr=[\"xaxis\",\"yaxis\"],t.idRoot=[\"x\",\"y\"],t.idRegex=c.idRegex,t.attrRegex=c.attrRegex,t.attributes=r(89502),t.layoutAttributes=r(13838),t.supplyLayoutDefaults=r(86763),t.transitionAxes=r(66847),t.finalizeSubplots=function(e,t){var r,n,i,o=t._subplots,s=o.xaxis,l=o.yaxis,f=o.cartesian,h=f.concat(o.gl2d||[]),p={},d={};for(r=0;r<h.length;r++){var v=h[r].split(\"y\");p[v[0]]=1,d[\"y\"+v[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(i=(e[u.id2name(n)]||{}).anchor,c.idRegex.y.test(i)||(i=\"y\"),f.push(n+i),h.push(n+i),d[i]||(d[i]=1,a.pushUnique(l,i)));for(r=0;r<l.length;r++)d[i=l[r]]||(n=(e[u.id2name(i)]||{}).anchor,c.idRegex.x.test(n)||(n=\"x\"),f.push(n+i),h.push(n+i),p[n]||(p[n]=1,a.pushUnique(s,n)));if(!h.length){for(var g in n=\"\",i=\"\",e)c.attrRegex.test(g)&&(\"x\"===g.charAt(0)?(!n||+g.substr(5)<+n.substr(5))&&(n=g):(!i||+g.substr(5)<+i.substr(5))&&(i=g));n=n?u.name2id(n):\"x\",i=i?u.name2id(i):\"y\",s.push(n),l.push(i),f.push(n+i)}},t.plot=function(e,t,r,n){var i,a=e._fullLayout,o=a._subplots.cartesian,s=e.calcdata;if(!Array.isArray(t))for(t=[],i=0;i<s.length;i++)t.push(i);for(i=0;i<o.length;i++){for(var l,u=o[i],c=a._plots[u],f=[],h=0;h<s.length;h++){var p=s[h],v=p[0].trace;v.xaxis+v.yaxis===u&&((-1!==t.indexOf(v.index)||v.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===u&&-1!==[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(v.fill)&&-1===f.indexOf(l)&&f.push(l),f.push(p)),l=p)}d(e,c,f,r,n)}},t.clean=function(e,t,r,n){var i,a,o,s=n._plots||{},l=t._plots||{},c=n._subplots||{};if(n._hasOnlyLargeSploms&&!t._hasOnlyLargeSploms)for(o in s)(i=s[o]).plotgroup&&i.plotgroup.remove();var f=n._has&&n._has(\"gl\"),h=t._has&&t._has(\"gl\");if(f&&!h)for(o in s)(i=s[o])._scene&&i._scene.destroy();if(c.xaxis&&c.yaxis){var p=u.listIds({_fullLayout:n});for(a=0;a<p.length;a++){var d=p[a];t[u.id2name(d)]||n._infolayer.selectAll(\".g-\"+d+\"title\").remove()}}var v=n._has&&n._has(\"cartesian\"),y=t._has&&t._has(\"cartesian\");if(v&&!y)g(n._cartesianlayer.selectAll(\".subplot\"),n),n._defs.selectAll(\".axesclip\").remove(),delete n._axisConstraintGroups,delete n._axisMatchGroups;else if(c.cartesian)for(a=0;a<c.cartesian.length;a++){var x=c.cartesian[a];if(!l[x]){var b=\".\"+x+\",.\"+x+\"-x,.\"+x+\"-y\";n._cartesianlayer.selectAll(b).remove(),m(x,n)}}},t.drawFramework=function(e){var t=e._fullLayout,r=function(e){var t,r,n,i,a,o,s=e._fullLayout,l=s._subplots.cartesian,u=l.length,c=[],f=[];for(t=0;t<u;t++){n=l[t],a=(i=s._plots[n]).xaxis,o=i.yaxis;var h=a._mainAxis,p=o._mainAxis,d=h._id+p._id,v=s._plots[d];i.overlays=[],d!==n&&v?(i.mainplot=d,i.mainplotinfo=v,f.push(n)):(i.mainplot=void 0,i.mainplotinfo=void 0,c.push(n))}for(t=0;t<f.length;t++)n=f[t],(i=s._plots[n]).mainplotinfo.overlays.push(i);var g=c.concat(f),m=new Array(u);for(t=0;t<u;t++){n=g[t],a=(i=s._plots[n]).xaxis,o=i.yaxis;var y=[n,a.layer,o.layer,a.overlaying||\"\",o.overlaying||\"\"];for(r=0;r<i.overlays.length;r++)y.push(i.overlays[r].id);m[t]=y}return m}(e),i=t._cartesianlayer.selectAll(\".subplot\").data(r,String);i.enter().append(\"g\").attr(\"class\",(function(e){return\"subplot \"+e[0]})),i.order(),i.exit().call(g,t),i.each((function(r){var i=r[0],a=t._plots[i];a.plotgroup=n.select(this),v(e,a),a.draglayer=h(t._draggers,\"g\",i)}))},t.rangePlot=function(e,t,r){v(e,t),d(e,t,r),o.style(e)},t.toSVG=function(e){var t=e._fullLayout._glimages,r=n.select(e).selectAll(\".svg-container\");r.filter((function(e,t){return t===r.size()-1})).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each((function(){var e=this,r=e.toDataURL(\"image/png\");t.append(\"svg:image\").attr({xmlns:f.svg,\"xlink:href\":r,preserveAspectRatio:\"none\",x:0,y:0,width:e.style.width,height:e.style.height})}))},t.updateFx=r(4305).updateFx},13838:function(e,t,r){\"use strict\";var n=r(41940),i=r(22399),a=r(79952).P,o=r(1426).extendFlat,s=r(44467).templatedArray,l=r(12663).descriptionWithDates,u=r(50606).ONEDAY,c=r(85555),f=c.HOUR_PATTERN,h=c.WEEKDAY_PATTERN,p={valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"],editType:\"ticks\",impliedEdits:{tick0:void 0,dtick:void 0}},d=o({},p,{values:p.values.slice().concat([\"sync\"])});function v(e){return{valType:\"integer\",min:0,dflt:e?5:0,editType:\"ticks\"}}var g={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},m={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},y={valType:\"data_array\",editType:\"ticks\"},x={valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"],editType:\"ticks\"};function b(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=5),t}function _(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var w={valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},k={valType:\"color\",dflt:i.lightLine,editType:\"ticks\"};function T(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var M=o({},a,{editType:\"ticks\"}),A={valType:\"boolean\",editType:\"ticks\"};e.exports={visible:{valType:\"boolean\",editType:\"plot\"},color:{valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},title:{text:{valType:\"string\",editType:\"ticks\"},font:n({editType:\"ticks\"}),standoff:{valType:\"number\",min:0,editType:\"ticks\"},editType:\"ticks\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\",\"multicategory\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\",\"min reversed\",\"max reversed\",\"min\",\"max\"],dflt:!0,editType:\"axrange\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},autorangeoptions:{minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmin:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmax:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},include:{valType:\"any\",arrayOk:!0,editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},editType:\"plot\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0},{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0}],editType:\"axrange\",impliedEdits:{autorange:!1},anim:!0},minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},scaleanchor:{valType:\"enumerated\",values:[c.idRegex.x.toString(),c.idRegex.y.toString(),!1],editType:\"plot\"},scaleratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},constrain:{valType:\"enumerated\",values:[\"range\",\"domain\"],editType:\"plot\"},constraintoward:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\",\"top\",\"middle\",\"bottom\"],editType:\"plot\"},matches:{valType:\"enumerated\",values:[c.idRegex.x.toString(),c.idRegex.y.toString()],editType:\"calc\"},rangebreaks:s(\"rangebreak\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},bounds:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},pattern:{valType:\"enumerated\",values:[h,f,\"\"],editType:\"calc\"},values:{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"any\",editType:\"calc\"}},dvalue:{valType:\"number\",editType:\"calc\",min:0,dflt:u},editType:\"calc\"}),tickmode:d,nticks:v(),tick0:g,dtick:m,ticklabelstep:{valType:\"integer\",min:1,dflt:1,editType:\"ticks\"},tickvals:y,ticktext:{valType:\"data_array\",editType:\"ticks\"},ticks:x,tickson:{valType:\"enumerated\",values:[\"labels\",\"boundaries\"],dflt:\"labels\",editType:\"ticks\"},ticklabelmode:{valType:\"enumerated\",values:[\"instant\",\"period\"],dflt:\"instant\",editType:\"ticks\"},ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\",editType:\"calc\"},ticklabeloverflow:{valType:\"enumerated\",values:[\"allow\",\"hide past div\",\"hide past domain\"],editType:\"calc\"},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1,editType:\"ticks+layoutstyle\"},ticklen:b(),tickwidth:_(),tickcolor:w,showticklabels:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},labelalias:{valType:\"any\",dflt:!1,editType:\"ticks\"},automargin:{valType:\"flaglist\",flags:[\"height\",\"width\",\"left\",\"right\",\"top\",\"bottom\"],extras:[!0,!1],dflt:!1,editType:\"ticks\"},showspikes:{valType:\"boolean\",dflt:!1,editType:\"modebar\"},spikecolor:{valType:\"color\",dflt:null,editType:\"none\"},spikethickness:{valType:\"number\",dflt:3,editType:\"none\"},spikedash:o({},a,{dflt:\"dash\",editType:\"none\"}),spikemode:{valType:\"flaglist\",flags:[\"toaxis\",\"across\",\"marker\"],dflt:\"toaxis\",editType:\"none\"},spikesnap:{valType:\"enumerated\",values:[\"data\",\"cursor\",\"hovered data\"],dflt:\"hovered data\",editType:\"none\"},tickfont:n({editType:\"ticks\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"ticks\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"ticks\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"ticks\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"ticks\",description:l(\"tick label\")},tickformatstops:s(\"tickformatstop\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dtickrange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"ticks\"},{valType:\"any\",editType:\"ticks\"}],editType:\"ticks\"},value:{valType:\"string\",dflt:\"\",editType:\"ticks\"},editType:\"ticks\"}),hoverformat:{valType:\"string\",dflt:\"\",editType:\"none\",description:l(\"hover text\")},showline:{valType:\"boolean\",dflt:!1,editType:\"ticks+layoutstyle\"},linecolor:{valType:\"color\",dflt:i.defaultLine,editType:\"layoutstyle\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks+layoutstyle\"},showgrid:A,gridcolor:k,gridwidth:T(),griddash:M,zeroline:{valType:\"boolean\",editType:\"ticks\"},zerolinecolor:{valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},zerolinewidth:{valType:\"number\",dflt:1,editType:\"ticks\"},showdividers:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dividercolor:{valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},dividerwidth:{valType:\"number\",dflt:1,editType:\"ticks\"},anchor:{valType:\"enumerated\",values:[\"free\",c.idRegex.x.toString(),c.idRegex.y.toString()],editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],editType:\"plot\"},overlaying:{valType:\"enumerated\",values:[\"free\",c.idRegex.x.toString(),c.idRegex.y.toString()],editType:\"plot\"},minor:{tickmode:p,nticks:v(\"minor\"),tick0:g,dtick:m,tickvals:y,ticks:x,ticklen:b(\"minor\"),tickwidth:_(\"minor\"),tickcolor:w,gridcolor:k,gridwidth:T(\"minor\"),griddash:M,showgrid:A,editType:\"ticks\"},layer:{valType:\"enumerated\",values:[\"above traces\",\"below traces\"],dflt:\"above traces\",editType:\"plot\"},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1,editType:\"plot\"},{valType:\"number\",min:0,max:1,editType:\"plot\"}],dflt:[0,1],editType:\"plot\"},position:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},autoshift:{valType:\"boolean\",dflt:!1,editType:\"plot\"},shift:{valType:\"number\",editType:\"plot\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\",\"total ascending\",\"total descending\",\"min ascending\",\"min descending\",\"max ascending\",\"max descending\",\"sum ascending\",\"sum descending\",\"mean ascending\",\"mean descending\",\"median ascending\",\"median descending\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\",_deprecated:{autotick:{valType:\"boolean\",editType:\"ticks\"},title:{valType:\"string\",editType:\"ticks\"},titlefont:n({editType:\"ticks\"})}}},86763:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901),a=r(23469).isUnifiedHover,o=r(98212),s=r(44467),l=r(10820),u=r(13838),c=r(951),f=r(71453),h=r(99082),p=r(52830),d=r(41675),v=d.id2name,g=d.name2id,m=r(85555).AX_ID_PATTERN,y=r(73972),x=y.traceIs,b=y.getComponentMethod;function _(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}e.exports=function(e,t,r){var y,w,k=t.autotypenumbers,T={},M={},A={},S={},E={},C={},L={},P={},O={},I={};for(y=0;y<r.length;y++){var D=r[y];if(x(D,\"cartesian\")||x(D,\"gl2d\")){var z,R;if(D.xaxis)z=v(D.xaxis),_(T,z,D);else if(D.xaxes)for(w=0;w<D.xaxes.length;w++)_(T,v(D.xaxes[w]),D);if(D.yaxis)R=v(D.yaxis),_(T,R,D);else if(D.yaxes)for(w=0;w<D.yaxes.length;w++)_(T,v(D.yaxes[w]),D);\"funnel\"===D.type?\"h\"===D.orientation?(z&&(M[z]=!0),R&&(L[R]=!0)):R&&(A[R]=!0):\"image\"===D.type?(R&&(P[R]=!0),z&&(P[z]=!0)):(R&&(E[R]=!0,C[R]=!0),x(D,\"carpet\")&&(\"carpet\"!==D.type||D._cheater)||z&&(S[z]=!0)),\"carpet\"===D.type&&D._cheater&&z&&(M[z]=!0),x(D,\"2dMap\")&&(O[z]=!0,O[R]=!0),x(D,\"oriented\")&&(I[\"h\"===D.orientation?R:z]=!0)}}var F=t._subplots,B=F.xaxis,N=F.yaxis,j=n.simpleMap(B,v),U=n.simpleMap(N,v),V=j.concat(U),H=i.background;B.length&&N.length&&(H=n.coerce(e,t,l,\"plot_bgcolor\"));var q,G,Y,W,Z,X=i.combine(H,t.paper_bgcolor);function K(){var e=T[q]||[];Z._traceIndices=e.map((function(e){return e._expandedIndex})),Z._annIndices=[],Z._shapeIndices=[],Z._selectionIndices=[],Z._imgIndices=[],Z._subplotsWith=[],Z._counterAxes=[],Z._name=Z._attr=q,Z._id=G}function J(e,t){return n.coerce(W,Z,u,e,t)}function $(e,t){return n.coerce2(W,Z,u,e,t)}function Q(e){return\"x\"===e?N:B}function ee(t,r){for(var n=\"x\"===t?j:U,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(e[o]||{}).overlaying||i.push(g(o))}return i}var te={x:Q(\"x\"),y:Q(\"y\")},re=te.x.concat(te.y),ne={},ie=[];function ae(){var e=W.matches;m.test(e)&&-1===re.indexOf(e)&&(ne[e]=W.type,ie=Object.keys(ne))}var oe=o(e,t),se=a(oe);for(y=0;y<V.length;y++){q=V[y],G=g(q),Y=q.charAt(0),n.isPlainObject(e[q])||(e[q]={}),W=e[q],Z=s.newContainer(t,q,Y+\"axis\"),K();var le=\"x\"===Y&&!S[q]&&M[q]||\"y\"===Y&&!E[q]&&A[q],ue=\"y\"===Y&&(!C[q]&&L[q]||P[q]),ce={hasMinor:!0,letter:Y,font:t.font,outerTicks:O[q],showGrid:!I[q],data:T[q]||[],bgColor:X,calendar:t.calendar,automargin:!0,visibleDflt:le,reverseDflt:ue,autotypenumbersDflt:k,splomStash:((t._splomAxes||{})[Y]||{})[G]};J(\"uirevision\",t.uirevision),c(W,Z,J,ce),f(W,Z,J,ce,t);var fe=se&&Y===oe.charAt(0),he=$(\"spikecolor\",se?Z.color:void 0),pe=$(\"spikethickness\",se?1.5:void 0),de=$(\"spikedash\",se?\"dot\":void 0),ve=$(\"spikemode\",se?\"across\":void 0),ge=$(\"spikesnap\");J(\"showspikes\",!!(fe||he||pe||de||ve||ge))||(delete Z.spikecolor,delete Z.spikethickness,delete Z.spikedash,delete Z.spikemode,delete Z.spikesnap);var me=v(W.overlaying),ye=[0,1];if(void 0!==t[me]){var xe=v(t[me].anchor);void 0!==t[xe]&&(ye=t[xe].domain)}p(W,Z,J,{letter:Y,counterAxes:te[Y],overlayableAxes:ee(Y,q),grid:t.grid,overlayingDomain:ye}),J(\"title.standoff\"),ae(),Z._input=W}for(y=0;y<ie.length;){G=ie[y++],Y=(q=v(G)).charAt(0),n.isPlainObject(e[q])||(e[q]={}),W=e[q],Z=s.newContainer(t,q,Y+\"axis\"),K();var be={letter:Y,font:t.font,outerTicks:O[q],showGrid:!I[q],data:[],bgColor:X,calendar:t.calendar,automargin:!0,visibleDflt:!1,reverseDflt:!1,autotypenumbersDflt:k,splomStash:((t._splomAxes||{})[Y]||{})[G]};J(\"uirevision\",t.uirevision),Z.type=ne[G]||\"linear\",f(W,Z,J,be,t),p(W,Z,J,{letter:Y,counterAxes:te[Y],overlayableAxes:ee(Y,q),grid:t.grid}),J(\"fixedrange\"),ae(),Z._input=W}var _e=b(\"rangeslider\",\"handleDefaults\"),we=b(\"rangeselector\",\"handleDefaults\");for(y=0;y<j.length;y++)q=j[y],W=e[q],Z=t[q],_e(e,t,q),\"date\"===Z.type&&we(W,Z,t,U,Z.calendar),J(\"fixedrange\");for(y=0;y<U.length;y++){q=U[y],W=e[q],Z=t[q];var ke=t[v(Z.anchor)];J(\"fixedrange\",b(\"rangeslider\",\"isVisible\")(ke))}h.handleDefaults(e,t,{axIds:re.concat(ie).sort(d.idSort),axHasImage:P})}},92128:function(e,t,r){\"use strict\";var n=r(84267).mix,i=r(22399),a=r(71828);e.exports=function(e,t,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return a.coerce2(e,t,o.attributes,r,n)}var u=l(\"linecolor\",s),c=l(\"linewidth\");r(\"showline\",o.showLine||!!u||!!c)||(delete t.linecolor,delete t.linewidth);var f=l(\"gridcolor\",n(s,o.bgColor,o.blend||i.lightFraction).toRgbString()),h=l(\"gridwidth\"),p=l(\"griddash\");if(r(\"showgrid\",o.showGrid||!!f||!!h||!!p)||(delete t.gridcolor,delete t.gridwidth,delete t.griddash),o.hasMinor){var d=l(\"minor.gridcolor\",n(t.gridcolor,o.bgColor,67).toRgbString()),v=l(\"minor.gridwidth\",t.gridwidth||1),g=l(\"minor.griddash\",t.griddash||\"solid\");r(\"minor.showgrid\",!!d||!!v||!!g)||(delete t.minor.gridcolor,delete t.minor.gridwidth,delete t.minor.griddash)}if(!o.noZeroLine){var m=l(\"zerolinecolor\",s),y=l(\"zerolinewidth\");r(\"zeroline\",o.showGrid||!!m||!!y)||(delete t.zerolinecolor,delete t.zerolinewidth)}}},52830:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828);e.exports=function(e,t,r,a){var o,s,l,u,c,f,h=a.counterAxes||[],p=a.overlayableAxes||[],d=a.letter,v=a.grid,g=a.overlayingDomain;v&&(s=v._domains[d][v._axisMap[t._id]],o=v._anchors[t._id],s&&(l=v[d+\"side\"].split(\" \")[0],u=v.domain[d][\"right\"===l||\"top\"===l?1:0])),s=s||[0,1],o=o||(n(e.position)?\"free\":h[0]||\"free\"),l=l||(\"x\"===d?\"bottom\":\"left\"),u=u||0,c=0,f=!1;var m=i.coerce(e,t,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(h),dflt:o}},\"anchor\"),y=i.coerce(e,t,{side:{valType:\"enumerated\",values:\"x\"===d?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:l}},\"side\");\"free\"===m&&(\"y\"===d&&(r(\"autoshift\")&&(u=\"left\"===y?g[0]:g[1],f=!t.automargin||t.automargin,c=\"left\"===y?-3:3),r(\"shift\",c)),r(\"position\",u)),r(\"automargin\",f);var x=!1;if(p.length&&(x=i.coerce(e,t,{overlaying:{valType:\"enumerated\",values:[!1].concat(p),dflt:!1}},\"overlaying\")),!x){var b=r(\"domain\",s);b[0]>b[1]-1/4096&&(t.domain=s),i.noneOrAll(e.domain,t.domain,s),\"sync\"===t.tickmode&&(t.tickmode=\"auto\")}return r(\"layer\"),t}},89426:function(e,t,r){\"use strict\";var n=r(59652);e.exports=function(e,t,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(e);r(\"tickprefix\")&&r(\"showtickprefix\",s),r(\"ticksuffix\",o)&&r(\"showticksuffix\",s)}},42449:function(e,t,r){\"use strict\";var n=r(18783).FROM_BL;e.exports=function(e,t,r){void 0===r&&(r=n[e.constraintoward||\"center\"]);var i=[e.r2l(e.range[0]),e.r2l(e.range[1])],a=i[0]+(i[1]-i[0])*r;e.range=e._input.range=[e.l2r(a+(i[0]-a)*t),e.l2r(a+(i[1]-a)*t)],e.setScale()}},21994:function(e,t,r){\"use strict\";var n=r(39898),i=r(84096).g0,a=r(71828),o=a.numberFormat,s=r(92770),l=a.cleanNumber,u=a.ms2DateTime,c=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=r(50606),d=p.FP_SAFE,v=p.BADNUM,g=p.LOG_CLIP,m=p.ONEWEEK,y=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=r(41675),k=r(85555),T=k.HOUR_PATTERN,M=k.WEEKDAY_PATTERN;function A(e){return Math.pow(10,e)}function S(e){return null!=e}e.exports=function(e,t){t=t||{};var r=e._id||\"x\",p=r.charAt(0);function E(t,r){if(t>0)return Math.log(t)/Math.LN10;if(t<=0&&r&&e.range&&2===e.range.length){var n=e.range[0],i=e.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return v}function C(t,r,n,i){if((i||{}).msUTC&&s(t))return+t;var o=c(t,n||e.calendar);if(o===v){if(!s(t))return v;t=+t;var l=Math.floor(10*a.mod(t+.05,1)),u=Math.round(t-l/10);o=c(new Date(u))+l/10}return o}function L(t,r,n){return u(t,r,n||e.calendar)}function P(t){return e._categories[Math.round(t)]}function O(t){if(S(t)){if(void 0===e._categoriesMap&&(e._categoriesMap={}),void 0!==e._categoriesMap[t])return e._categoriesMap[t];e._categories.push(\"number\"==typeof t?String(t):t);var r=e._categories.length-1;return e._categoriesMap[t]=r,r}return v}function I(t){if(e._categoriesMap)return e._categoriesMap[t]}function D(e){var t=I(e);return void 0!==t?t:s(e)?+e:void 0}function z(e){return s(e)?+e:I(e)}function R(e,t,r){return n.round(r+t*e,2)}function F(e,t,r){return(e-r)/t}var B=function(t){return s(t)?R(t,e._m,e._b):v},N=function(t){return F(t,e._m,e._b)};if(e.rangebreaks){var j=\"y\"===p;B=function(t){if(!s(t))return v;var r=e._rangebreaks.length;if(!r)return R(t,e._m,e._b);var n=j;e.range[0]>e.range[1]&&(n=!n);for(var i=n?-1:1,a=i*t,o=0,l=0;l<r;l++){var u=i*e._rangebreaks[l].min,c=i*e._rangebreaks[l].max;if(a<u)break;if(!(a>c)){o=a<(u+c)/2?l:l+1;break}o=l+1}var f=e._B[o]||0;return isFinite(f)?R(t,e._m2,f):0},N=function(t){var r=e._rangebreaks.length;if(!r)return F(t,e._m,e._b);for(var n=0,i=0;i<r&&!(t<e._rangebreaks[i].pmin);i++)t>e._rangebreaks[i].pmax&&(n=i+1);return F(t,e._m2,e._B[n])}}e.c2l=\"log\"===e.type?E:f,e.l2c=\"log\"===e.type?A:f,e.l2p=B,e.p2l=N,e.c2p=\"log\"===e.type?function(e,t){return B(E(e,t))}:B,e.p2c=\"log\"===e.type?function(e){return A(N(e))}:N,-1!==[\"linear\",\"-\"].indexOf(e.type)?(e.d2r=e.r2d=e.d2c=e.r2c=e.d2l=e.r2l=l,e.c2d=e.c2r=e.l2d=e.l2r=f,e.d2p=e.r2p=function(t){return e.l2p(l(t))},e.p2d=e.p2r=N,e.cleanPos=f):\"log\"===e.type?(e.d2r=e.d2l=function(e,t){return E(l(e),t)},e.r2d=e.r2c=function(e){return A(l(e))},e.d2c=e.r2l=l,e.c2d=e.l2r=f,e.c2r=E,e.l2d=A,e.d2p=function(t,r){return e.l2p(e.d2r(t,r))},e.p2d=function(e){return A(N(e))},e.r2p=function(t){return e.l2p(l(t))},e.p2r=N,e.cleanPos=f):\"date\"===e.type?(e.d2r=e.r2d=a.identity,e.d2c=e.r2c=e.d2l=e.r2l=C,e.c2d=e.c2r=e.l2d=e.l2r=L,e.d2p=e.r2p=function(t,r,n){return e.l2p(C(t,0,n))},e.p2d=e.p2r=function(e,t,r){return L(N(e),t,r)},e.cleanPos=function(t){return a.cleanDate(t,v,e.calendar)}):\"category\"===e.type?(e.d2c=e.d2l=O,e.r2d=e.c2d=e.l2d=P,e.d2r=e.d2l_noadd=D,e.r2c=function(t){var r=z(t);return void 0!==r?r:e.fraction2r(.5)},e.l2r=e.c2r=f,e.r2l=z,e.d2p=function(t){return e.l2p(e.r2c(t))},e.p2d=function(e){return P(N(e))},e.r2p=e.d2p,e.p2r=N,e.cleanPos=function(e){return\"string\"==typeof e&&\"\"!==e?e:f(e)}):\"multicategory\"===e.type&&(e.r2d=e.c2d=e.l2d=P,e.d2r=e.d2l_noadd=D,e.r2c=function(t){var r=D(t);return void 0!==r?r:e.fraction2r(.5)},e.r2c_just_indices=I,e.l2r=e.c2r=f,e.r2l=D,e.d2p=function(t){return e.l2p(e.r2c(t))},e.p2d=function(e){return P(N(e))},e.r2p=e.d2p,e.p2r=N,e.cleanPos=function(e){return Array.isArray(e)||\"string\"==typeof e&&\"\"!==e?e:f(e)},e.setupMultiCategory=function(n){var i,o,s=e._traceIndices,l=e._matchGroup;if(l&&0===e._categories.length)for(var u in l)if(u!==r){var c=t[w.id2name(u)];s=s.concat(c._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;i<s.length;i++){var v=n[s[i]];if(p in v){var g=v[p],m=v._length||a.minRowLength(g);if(h(g[0])&&h(g[1]))for(o=0;o<m;o++){var y=g[0][o],x=g[1][o];S(y)&&S(x)&&(d.push([y,x]),y in f[0][1]||(f[0][1][y]=f[0][0]++),x in f[1][1]||(f[1][1][x]=f[1][0]++))}}}for(d.sort((function(e,t){var r=f[0][1],n=r[e[0]]-r[t[0]];if(n)return n;var i=f[1][1];return i[e[1]]-i[t[1]]})),i=0;i<d.length;i++)O(d[i])}),e.fraction2r=function(t){var r=e.r2l(e.range[0]),n=e.r2l(e.range[1]);return e.l2r(r+t*(n-r))},e.r2fraction=function(t){var r=e.r2l(e.range[0]),n=e.r2l(e.range[1]);return(e.r2l(t)-r)/(n-r)},e.limitRange=function(t){var r=e.minallowed,n=e.maxallowed;if(void 0!==r||void 0!==n){t||(t=\"range\");var i=a.nestedProperty(e,t).get(),o=a.simpleMap(i,e.r2l),s=o[1]<o[0];s&&o.reverse();var l=a.simpleMap([r,n],e.r2l);void 0!==r&&o[0]<l[0]&&(i[s?1:0]=r),void 0!==n&&o[1]>l[1]&&(i[s?0:1]=n)}},e.cleanRange=function(t,r){e._cleanRange(t,r),e.limitRange(t)},e._cleanRange=function(t,r){r||(r={}),t||(t=\"range\");var n,i,o=a.nestedProperty(e,t).get();if(i=(i=\"date\"===e.type?a.dfltRange(e.calendar):\"y\"===p?k.DFLTRANGEY:\"realaxis\"===e._name?[0,1]:r.dfltRange||k.DFLTRANGEX).slice(),\"tozero\"!==e.rangemode&&\"nonnegative\"!==e.rangemode||(i[0]=0),o&&2===o.length){var l=null===o[0],u=null===o[1];for(\"date\"!==e.type||e.autorange||(o[0]=a.cleanDate(o[0],v,e.calendar),o[1]=a.cleanDate(o[1],v,e.calendar)),n=0;n<2;n++)if(\"date\"===e.type){if(!a.isDateTime(o[n],e.calendar)){e[t]=i;break}if(e.r2l(o[0])===e.r2l(o[1])){var c=a.constrain(e.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=e.l2r(c-1e3),o[1]=e.l2r(c+1e3);break}}else{if(!s(o[n])){if(l||u||!s(o[1-n])){e[t]=i;break}o[n]=o[1-n]*(n?10:.1)}if(o[n]<-d?o[n]=-d:o[n]>d&&(o[n]=d),o[0]===o[1]){var f=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=f,o[1]+=f}}}else a.nestedProperty(e,t).set(i)},e.setScale=function(r){var n=t._size;if(e.overlaying){var i=w.getFromId({_fullLayout:t},e.overlaying);e.domain=i.domain}var a=r&&e._r?\"_r\":\"range\",o=e.calendar;e.cleanRange(a);var s,l,u=e.r2l(e[a][0],o),c=e.r2l(e[a][1],o),f=\"y\"===p;if(f?(e._offset=n.t+(1-e.domain[1])*n.h,e._length=n.h*(e.domain[1]-e.domain[0]),e._m=e._length/(u-c),e._b=-e._m*c):(e._offset=n.l+e.domain[0]*n.w,e._length=n.w*(e.domain[1]-e.domain[0]),e._m=e._length/(c-u),e._b=-e._m*u),e._rangebreaks=[],e._lBreaks=0,e._m2=0,e._B=[],e.rangebreaks&&(e._rangebreaks=e.locateBreaks(Math.min(u,c),Math.max(u,c)),e._rangebreaks.length)){for(s=0;s<e._rangebreaks.length;s++)l=e._rangebreaks[s],e._lBreaks+=Math.abs(l.max-l.min);var h=f;u>c&&(h=!h),h&&e._rangebreaks.reverse();var d=h?-1:1;for(e._m2=d*e._length/(Math.abs(c-u)-e._lBreaks),e._B.push(-e._m2*(f?c:u)),s=0;s<e._rangebreaks.length;s++)l=e._rangebreaks[s],e._B.push(e._B[e._B.length-1]-d*e._m2*(l.max-l.min));for(s=0;s<e._rangebreaks.length;s++)(l=e._rangebreaks[s]).pmin=B(l.min),l.pmax=B(l.max)}if(!isFinite(e._m)||!isFinite(e._b)||e._length<0)throw t._replotting=!1,new Error(\"Something went wrong with axis scaling\")},e.maskBreaks=function(t){var r,n,i,o,s,u=e.rangebreaks||[];u._cachedPatterns||(u._cachedPatterns=u.map((function(t){return t.enabled&&t.bounds?a.simpleMap(t.bounds,t.pattern?l:e.d2c):null}))),u._cachedValues||(u._cachedValues=u.map((function(t){return t.enabled&&t.values?a.simpleMap(t.values,e.d2c).sort(a.sorterAsc):null})));for(var c=0;c<u.length;c++){var f=u[c];if(f.enabled)if(f.bounds){var h=f.pattern;switch(n=(r=u._cachedPatterns[c])[0],i=r[1],h){case M:o=(s=new Date(t)).getUTCDay(),n>i&&(i+=7,o<n&&(o+=7));break;case T:o=(s=new Date(t)).getUTCHours()+(s.getUTCMinutes()/60+s.getUTCSeconds()/3600+s.getUTCMilliseconds()/36e5),n>i&&(i+=24,o<n&&(o+=24));break;case\"\":o=t}if(o>=n&&o<i)return v}else for(var p=u._cachedValues[c],d=0;d<p.length;d++)if(i=(n=p[d])+f.dvalue,t>=n&&t<i)return v}return t},e.locateBreaks=function(t,r){var n,i,o,s,u=[];if(!e.rangebreaks)return u;var c=e.rangebreaks.slice().sort((function(e,t){return e.pattern===M&&t.pattern===T?-1:t.pattern===M&&e.pattern===T?1:0})),f=function(e,n){if((e=a.constrain(e,t,r))!==(n=a.constrain(n,t,r))){for(var i=!0,o=0;o<u.length;o++){var s=u[o];e<s.max&&n>=s.min&&(e<s.min&&(s.min=e),n>s.max&&(s.max=n),i=!1)}i&&u.push({min:e,max:n})}};for(n=0;n<c.length;n++){var h=c[n];if(h.enabled)if(h.bounds){var p=t,d=r;h.pattern&&(p=Math.floor(p)),o=(i=a.simpleMap(h.bounds,h.pattern?l:e.r2l))[0],s=i[1];var v,g,w=new Date(p);switch(h.pattern){case M:g=m,v=(s-o+(s<o?7:0))*y,p+=o*y-(w.getUTCDay()*y+w.getUTCHours()*x+w.getUTCMinutes()*b+w.getUTCSeconds()*_+w.getUTCMilliseconds());break;case T:g=y,v=(s-o+(s<o?24:0))*x,p+=o*x-(w.getUTCHours()*x+w.getUTCMinutes()*b+w.getUTCSeconds()*_+w.getUTCMilliseconds());break;default:p=Math.min(i[0],i[1]),v=g=(d=Math.max(i[0],i[1]))-p}for(var k=p;k<d;k+=g)f(k,k+v)}else for(var A=a.simpleMap(h.values,e.d2c),S=0;S<A.length;S++)f(o=A[S],s=o+h.dvalue)}return u.sort((function(e,t){return e.min-t.min})),u},e.makeCalcdata=function(t,r,n){var i,o,s,l,u=e.type,c=\"date\"===u&&t[r+\"calendar\"];if(r in t){if(i=t[r],l=t._length||a.minRowLength(i),a.isTypedArray(i)&&(\"linear\"===u||\"log\"===u)){if(l===i.length)return i;if(i.subarray)return i.subarray(0,l)}if(\"multicategory\"===u)return function(e,t){for(var r=new Array(t),n=0;n<t;n++){var i=(e[0]||[])[n],a=(e[1]||[])[n];r[n]=I([i,a])}return r}(i,l);for(o=new Array(l),s=0;s<l;s++)o[s]=e.d2c(i[s],0,c,n)}else{var f=r+\"0\"in t?e.d2c(t[r+\"0\"],0,c):0,h=t[\"d\"+r]?Number(t[\"d\"+r]):1;for(i=t[{x:\"y\",y:\"x\"}[r]],l=t._length||i.length,o=new Array(l),s=0;s<l;s++)o[s]=f+s*h}if(e.rangebreaks)for(s=0;s<l;s++)o[s]=e.maskBreaks(o[s]);return o},e.isValidRange=function(t,r){return Array.isArray(t)&&2===t.length&&(r&&null===t[0]||s(e.r2l(t[0])))&&(r&&null===t[1]||s(e.r2l(t[1])))},e.getAutorangeDflt=function(t,r){var n=!e.isValidRange(t,\"nullOk\");return n&&r&&r.reverseDflt?n=\"reversed\":t&&(null===t[0]&&null===t[1]?n=!0:null===t[0]&&null!==t[1]?n=\"min\":null!==t[0]&&null===t[1]&&(n=\"max\")),n},e.isReversed=function(){var t=e.autorange;return\"reversed\"===t||\"min reversed\"===t||\"max reversed\"===t},e.isPtWithinRange=function(t,r){var n=e.c2l(t[p],null,r),i=e.r2l(e.range[0]),a=e.r2l(e.range[1]);return i<a?i<=n&&n<=a:a<=n&&n<=i},e._emptyCategories=function(){e._categories=[],e._categoriesMap={}},e.clearCalc=function(){var r=e._matchGroup;if(r){var n=null,i=null;for(var a in r){var o=t[w.id2name(a)];if(o._categories){n=o._categories,i=o._categoriesMap;break}}n&&i?(e._categories=n,e._categoriesMap=i):e._emptyCategories()}else e._emptyCategories();if(e._initialCategories)for(var s=0;s<e._initialCategories.length;s++)O(e._initialCategories[s])},e.sortByInitialCategories=function(){var n=[];if(e._emptyCategories(),e._initialCategories)for(var i=0;i<e._initialCategories.length;i++)O(e._initialCategories[i]);n=n.concat(e._traceIndices);var a=e._matchGroup;for(var o in a)if(r!==o){var s=t[w.id2name(o)];s._categories=e._categories,s._categoriesMap=e._categoriesMap,n=n.concat(s._traceIndices)}return n};var U=t._d3locale;\"date\"===e.type&&(e._dateFormat=U?U.timeFormat:i,e._extraFormat=t._extraFormat),e._separators=t.separators,e._numFormat=U?U.numberFormat:o,delete e._minDtick,delete e._forceTick0}},59652:function(e){\"use strict\";e.exports=function(e){var t=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"].filter((function(t){return void 0!==e[t]}));if(t.every((function(r){return e[r]===e[t[0]]}))||1===t.length)return e[t[0]]}},96115:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901).contrast,a=r(13838),o=r(59652),s=r(85501);function l(e,t){function r(r,i){return n.coerce(e,t,a.tickformatstops,r,i)}r(\"enabled\")&&(r(\"dtickrange\"),r(\"value\"))}e.exports=function(e,t,r,u,c){c||(c={});var f=r(\"labelalias\");n.isPlainObject(f)||delete t.labelalias;var h=o(e);if(r(\"showticklabels\")){var p=c.font||{},d=t.color,v=-1!==(t.ticklabelposition||\"\").indexOf(\"inside\")?i(c.bgColor):d&&d!==a.color.dflt?d:p.color;if(n.coerceFont(r,\"tickfont\",{family:p.family,size:p.size,color:v}),c.noTicklabelstep||\"multicategory\"===u||\"log\"===u||r(\"ticklabelstep\"),c.noAng||r(\"tickangle\"),\"category\"!==u){var g=r(\"tickformat\");s(e,t,{name:\"tickformatstops\",inclusionAttr:\"enabled\",handleItemDefaults:l}),t.tickformatstops.length||delete t.tickformatstops,c.noExp||g||\"date\"===u||(r(\"showexponent\",h),r(\"exponentformat\"),r(\"minexponent\"),r(\"separatethousands\"))}}}},38701:function(e,t,r){\"use strict\";var n=r(71828),i=r(13838);e.exports=function(e,t,r,a){var o=a.isMinor,s=o?e.minor||{}:e,l=o?t.minor:t,u=o?i.minor:i,c=o?\"minor.\":\"\",f=n.coerce2(s,l,u,\"ticklen\",o?.6*(t.ticklen||5):void 0),h=n.coerce2(s,l,u,\"tickwidth\",o?t.tickwidth||1:void 0),p=n.coerce2(s,l,u,\"tickcolor\",(o?t.tickcolor:void 0)||l.color);r(c+\"ticks\",!o&&a.outerTicks||f||h||p?\"outside\":\"\")||(delete l.ticklen,delete l.tickwidth,delete l.tickcolor)}},26218:function(e,t,r){\"use strict\";var n=r(66287),i=r(71828).isArrayOrTypedArray;e.exports=function(e,t,r,a,o){o||(o={});var s=o.isMinor,l=s?e.minor||{}:e,u=s?t.minor:t,c=s?\"minor.\":\"\";function f(e){var t=l[e];return void 0!==t?t:(u._template||{})[e]}var h=f(\"tick0\"),p=f(\"dtick\"),d=f(\"tickvals\"),v=r(c+\"tickmode\",i(d)?\"array\":p?\"linear\":\"auto\");if(\"auto\"===v||\"sync\"===v)r(c+\"nticks\");else if(\"linear\"===v){var g=u.dtick=n.dtick(p,a);u.tick0=n.tick0(h,a,t.calendar,g)}else\"multicategory\"!==a&&(void 0===r(c+\"tickvals\")?u.tickmode=\"auto\":s||r(\"ticktext\"))}},66847:function(e,t,r){\"use strict\";var n=r(39898),i=r(73972),a=r(71828),o=r(91424),s=r(89298);e.exports=function(e,t,r,l){var u=e._fullLayout;if(0!==t.length){var c,f,h,p;l&&(c=l());var d=n.ease(r.easing);return e._transitionData._interruptCallbacks.push((function(){return window.cancelAnimationFrame(p),p=null,function(){for(var r={},n=0;n<t.length;n++){var a=t[n],o=a.plotinfo.xaxis,s=a.plotinfo.yaxis;a.xr0&&(r[o._name+\".range\"]=a.xr0.slice()),a.yr0&&(r[s._name+\".range\"]=a.yr0.slice())}return i.call(\"relayout\",e,r).then((function(){for(var e=0;e<t.length;e++)v(t[e].plotinfo)}))}()})),f=Date.now(),p=window.requestAnimationFrame((function n(){h=Date.now();for(var a=Math.min(1,(h-f)/r.duration),o=d(a),s=0;s<t.length;s++)g(t[s],o);h-f>r.duration?(function(){for(var r={},n=0;n<t.length;n++){var a=t[n],o=a.plotinfo.xaxis,s=a.plotinfo.yaxis;a.xr1&&(r[o._name+\".range\"]=a.xr1.slice()),a.yr1&&(r[s._name+\".range\"]=a.yr1.slice())}c&&c(),i.call(\"relayout\",e,r).then((function(){for(var e=0;e<t.length;e++)v(t[e].plotinfo)}))}(),p=window.cancelAnimationFrame(n)):p=window.requestAnimationFrame(n)})),Promise.resolve()}function v(e){var t=e.xaxis,r=e.yaxis;u._defs.select(\"#\"+e.clipId+\"> rect\").call(o.setTranslate,0,0).call(o.setScale,1,1),e.plot.call(o.setTranslate,t._offset,r._offset).call(o.setScale,1,1);var n=e.plot.selectAll(\".scatterlayer .trace\");n.selectAll(\".point\").call(o.setPointGroupScale,1,1),n.selectAll(\".textpoint\").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,e)}function g(t,r){var n=t.plotinfo,i=n.xaxis,l=n.yaxis,u=i._length,c=l._length,f=!!t.xr1,h=!!t.yr1,p=[];if(f){var d=a.simpleMap(t.xr0,i.r2l),v=a.simpleMap(t.xr1,i.r2l),g=d[1]-d[0],m=v[1]-v[0];p[0]=(d[0]*(1-r)+r*v[0]-d[0])/(d[1]-d[0])*u,p[2]=u*(1-r+r*m/g),i.range[0]=i.l2r(d[0]*(1-r)+r*v[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*v[1])}else p[0]=0,p[2]=u;if(h){var y=a.simpleMap(t.yr0,l.r2l),x=a.simpleMap(t.yr1,l.r2l),b=y[1]-y[0],_=x[1]-x[0];p[1]=(y[1]*(1-r)+r*x[1]-y[1])/(y[0]-y[1])*c,p[3]=c*(1-r+r*_/b),l.range[0]=i.l2r(y[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(y[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=c;s.drawOne(e,i,{skipTitle:!0}),s.drawOne(e,l,{skipTitle:!0}),s.redrawComponents(e,[i._id,l._id]);var w=f?u/p[2]:1,k=h?c/p[3]:1,T=f?p[0]:0,M=h?p[1]:0,A=f?p[0]/p[2]*u:0,S=h?p[1]/p[3]*c:0,E=i._offset-A,C=l._offset-S;n.clipRect.call(o.setTranslate,T,M).call(o.setScale,1/w,1/k),n.plot.call(o.setTranslate,E,C).call(o.setScale,w,k),o.setPointGroupScale(n.zoomScalePts,1/w,1/k),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/k)}s.redrawComponents(e)}},951:function(e,t,r){\"use strict\";var n=r(73972).traceIs,i=r(4322);function a(e){return{v:\"x\",h:\"y\"}[e.orientation||\"v\"]}function o(e,t){var r=a(e),i=n(e,\"box-violin\"),o=n(e._fullInput||{},\"candlestick\");return i&&!o&&t===r&&void 0===e[r]&&void 0===e[r+\"0\"]}e.exports=function(e,t,r,s){r(\"autotypenumbers\",s.autotypenumbersDflt),\"-\"===r(\"type\",(s.splomStash||{}).type)&&(function(e,t){if(\"-\"===e.type){var r,s=e._id,l=s.charAt(0);-1!==s.indexOf(\"scene\")&&(s=l);var u=function(e,t,r){for(var n=0;n<e.length;n++){var i=e[n];if(\"splom\"===i.type&&i._length>0&&(i[\"_\"+r+\"axes\"]||{})[t])return i;if((i[r+\"axis\"]||r)===t){if(o(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}(t,s,l);if(u)if(\"histogram\"!==u.type||l!=={v:\"y\",h:\"x\"}[u.orientation||\"v\"]){var c=l+\"calendar\",f=u[c],h={noMultiCategory:!n(u,\"cartesian\")||n(u,\"noMultiCategory\")};if(\"box\"===u.type&&u._hasPreCompStats&&l==={h:\"x\",v:\"y\"}[u.orientation||\"v\"]&&(h.noMultiCategory=!0),h.autotypenumbers=e.autotypenumbers,o(u,l)){var p=a(u),d=[];for(r=0;r<t.length;r++){var v=t[r];n(v,\"box-violin\")&&(v[l+\"axis\"]||l)===s&&(void 0!==v[p]?d.push(v[p][0]):void 0!==v.name?d.push(v.name):d.push(\"text\"),v[c]!==f&&(f=void 0))}e.type=i(d,f,h)}else if(\"splom\"===u.type){var g=u.dimensions[u._axesDim[s]];g.visible&&(e.type=i(g.values,f,h))}else e.type=i(u[l]||[u[l+\"0\"]],f,h)}else e.type=\"linear\"}}(t,s.data),\"-\"===t.type?t.type=\"linear\":e.type=t.type)}},31137:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828);function a(e,t,r){var n,a,o,s=!1;if(\"data\"===t.type)n=e._fullData[null!==t.traces?t.traces[0]:0];else{if(\"layout\"!==t.type)return!1;n=e._fullLayout}return a=i.nestedProperty(n,t.prop).get(),(o=r[t.type]=r[t.type]||{}).hasOwnProperty(t.prop)&&o[t.prop]!==a&&(s=!0),o[t.prop]=a,{changed:s,value:a}}function o(e,t){var r=[],n=t[0],a={};if(\"string\"==typeof n)a[n]=t[1];else{if(!i.isPlainObject(n))return r;a=n}return l(a,(function(e,t,n){r.push({type:\"layout\",prop:e,value:n})}),\"\",0),r}function s(e,t){var r,n,a,o,s=[];if(n=t[0],a=t[1],r=t[2],o={},\"string\"==typeof n)o[n]=a;else{if(!i.isPlainObject(n))return s;o=n,void 0===r&&(r=a)}return void 0===r&&(r=null),l(o,(function(t,n,i){var a,o;if(Array.isArray(i)){o=i.slice();var l=Math.min(o.length,e.data.length);r&&(l=Math.min(l,r.length)),a=[];for(var u=0;u<l;u++)a[u]=r?r[u]:u}else o=i,a=r?r.slice():null;if(null===a)Array.isArray(o)&&(o=o[0]);else if(Array.isArray(a)){if(!Array.isArray(o)){var c=o;o=[];for(var f=0;f<a.length;f++)o[f]=c}o.length=Math.min(a.length,o.length)}s.push({type:\"data\",prop:t,traces:a,value:o})}),\"\",0),s}function l(e,t,r,n){Object.keys(e).forEach((function(a){var o=e[a];if(\"_\"!==a[0]){var s=r+(n>0?\".\":\"\")+a;i.isPlainObject(o)?l(o,t,s,n+1):t(s,a,o)}}))}t.manageCommandObserver=function(e,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var u=t.hasSimpleAPICommandBindings(e,n,s.lookupTable);if(r&&r._commandObserver){if(u)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(u){a(e,u,s.cache),s.check=function(){if(l){var t=a(e,u,s.cache);return t.changed&&o&&void 0!==s.lookupTable[t.value]&&(s.disable(),Promise.resolve(o({value:t.value,type:u.type,prop:u.prop,traces:u.traces,index:s.lookupTable[t.value]})).then(s.enable,s.enable)),t.changed}};for(var c=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],f=0;f<c.length;f++)e._internalOn(c[f],s.check);s.remove=function(){for(var t=0;t<c.length;t++)e._removeInternalListener(c[t],s.check)}}else i.log(\"Unable to automatically bind plot updates to API command\"),s.lookupTable={},s.remove=function(){};return s.disable=function(){l=!1},s.enable=function(){l=!0},r&&(r._commandObserver=s),s},t.hasSimpleAPICommandBindings=function(e,r,n){var i,a,o=r.length;for(i=0;i<o;i++){var s,l=r[i],u=l.method,c=l.args;if(Array.isArray(c)||(c=[]),!u)return!1;var f=t.computeAPICommandBindings(e,u,c);if(1!==f.length)return!1;if(a){if((s=f[0]).type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var h=0;h<a.traces.length;h++)if(a.traces[h]!==s.traces[h])return!1}else if(s.prop!==a.prop)return!1}else a=f[0],Array.isArray(a.traces)&&a.traces.sort();var p=(s=f[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=i)}return a},t.executeAPICommand=function(e,t,r){if(\"skip\"===t)return Promise.resolve();var a=n.apiMethodRegistry[t],o=[e];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return a.apply(null,o).catch((function(e){return i.warn(\"API call to Plotly.\"+t+\" rejected.\",e),Promise.reject(e)}))},t.computeAPICommandBindings=function(e,t,r){var n;switch(Array.isArray(r)||(r=[]),t){case\"restyle\":n=s(e,r);break;case\"relayout\":n=o(0,r);break;case\"update\":n=s(e,[r[0],r[2]]).concat(o(0,[r[1]]));break;case\"animate\":n=function(e,t){return Array.isArray(t[0])&&1===t[0].length&&-1!==[\"string\",\"number\"].indexOf(typeof t[0][0])?[{type:\"layout\",prop:\"_currentFrame\",value:t[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},27670:function(e,t,r){\"use strict\";var n=r(1426).extendFlat;t.Y=function(e,t){t=t||{};var r={valType:\"info_array\",editType:(e=e||{}).editType,items:[{valType:\"number\",min:0,max:1,editType:e.editType},{valType:\"number\",min:0,max:1,editType:e.editType}],dflt:[0,1]},i=(e.name&&e.name,e.trace,t.description&&t.description,{x:n({},r,{}),y:n({},r,{}),editType:e.editType});return e.noGridCell||(i.row={valType:\"integer\",min:0,dflt:0,editType:e.editType},i.column={valType:\"integer\",min:0,dflt:0,editType:e.editType}),i},t.c=function(e,t,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=t.grid;if(o){var s=r(\"domain.column\");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete e.domain.column);var l=r(\"domain.row\");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete e.domain.row)}var u=r(\"domain.x\",i),c=r(\"domain.y\",a);u[0]<u[1]||(e.domain.x=i.slice()),c[0]<c[1]||(e.domain.y=a.slice())}},41940:function(e){\"use strict\";e.exports=function(e){var t=e.editType,r=e.colorEditType;void 0===r&&(r=t);var n={family:{valType:\"string\",noBlank:!0,strict:!0,editType:t},size:{valType:\"number\",min:1,editType:t},color:{valType:\"color\",editType:r},editType:t};return e.autoSize&&(n.size.dflt=\"auto\"),e.autoColor&&(n.color.dflt=\"auto\"),e.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},31391:function(e){\"use strict\";e.exports={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}}},78776:function(e,t){\"use strict\";t.projNames={airy:\"airy\",aitoff:\"aitoff\",\"albers usa\":\"albersUsa\",albers:\"albers\",august:\"august\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",baker:\"baker\",bertin1953:\"bertin1953\",boggs:\"boggs\",bonne:\"bonne\",bottomley:\"bottomley\",bromley:\"bromley\",collignon:\"collignon\",\"conic conformal\":\"conicConformal\",\"conic equal area\":\"conicEqualArea\",\"conic equidistant\":\"conicEquidistant\",craig:\"craig\",craster:\"craster\",\"cylindrical equal area\":\"cylindricalEqualArea\",\"cylindrical stereographic\":\"cylindricalStereographic\",eckert1:\"eckert1\",eckert2:\"eckert2\",eckert3:\"eckert3\",eckert4:\"eckert4\",eckert5:\"eckert5\",eckert6:\"eckert6\",eisenlohr:\"eisenlohr\",\"equal earth\":\"equalEarth\",equirectangular:\"equirectangular\",fahey:\"fahey\",\"foucaut sinusoidal\":\"foucautSinusoidal\",foucaut:\"foucaut\",ginzburg4:\"ginzburg4\",ginzburg5:\"ginzburg5\",ginzburg6:\"ginzburg6\",ginzburg8:\"ginzburg8\",ginzburg9:\"ginzburg9\",gnomonic:\"gnomonic\",\"gringorten quincuncial\":\"gringortenQuincuncial\",gringorten:\"gringorten\",guyou:\"guyou\",hammer:\"hammer\",hill:\"hill\",homolosine:\"homolosine\",hufnagel:\"hufnagel\",hyperelliptical:\"hyperelliptical\",kavrayskiy7:\"kavrayskiy7\",lagrange:\"lagrange\",larrivee:\"larrivee\",laskowski:\"laskowski\",loximuthal:\"loximuthal\",mercator:\"mercator\",miller:\"miller\",mollweide:\"mollweide\",\"mt flat polar parabolic\":\"mtFlatPolarParabolic\",\"mt flat polar quartic\":\"mtFlatPolarQuartic\",\"mt flat polar sinusoidal\":\"mtFlatPolarSinusoidal\",\"natural earth\":\"naturalEarth\",\"natural earth1\":\"naturalEarth1\",\"natural earth2\":\"naturalEarth2\",\"nell hammer\":\"nellHammer\",nicolosi:\"nicolosi\",orthographic:\"orthographic\",patterson:\"patterson\",\"peirce quincuncial\":\"peirceQuincuncial\",polyconic:\"polyconic\",\"rectangular polyconic\":\"rectangularPolyconic\",robinson:\"robinson\",satellite:\"satellite\",\"sinu mollweide\":\"sinuMollweide\",sinusoidal:\"sinusoidal\",stereographic:\"stereographic\",times:\"times\",\"transverse mercator\":\"transverseMercator\",\"van der grinten\":\"vanDerGrinten\",\"van der grinten2\":\"vanDerGrinten2\",\"van der grinten3\":\"vanDerGrinten3\",\"van der grinten4\":\"vanDerGrinten4\",wagner4:\"wagner4\",wagner6:\"wagner6\",wiechel:\"wiechel\",\"winkel tripel\":\"winkel3\",winkel3:\"winkel3\"},t.axesNames=[\"lonaxis\",\"lataxis\"],t.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360},t.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180},t.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]}},t.clipPad=.001,t.precision=.1,t.landColor=\"#F0DC82\",t.waterColor=\"#3399FF\",t.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"},t.sphereSVG={type:\"Sphere\"},t.fillLayers={ocean:1,land:1,lakes:1},t.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},t.layers=[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"],t.layersForChoropleth=[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"],t.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}},69082:function(e,t,r){\"use strict\";var n=r(39898),i=r(27362),a=i.geoPath,o=i.geoDistance,s=r(65704),l=r(73972),u=r(71828),c=u.strTranslate,f=r(7901),h=r(91424),p=r(30211),d=r(74875),v=r(89298),g=r(71739).getAutoRange,m=r(28569),y=r(47322).prepSelect,x=r(47322).clearOutline,b=r(47322).selectOnClick,_=r(74455),w=r(78776),k=r(41327),T=r(90973),M=r(96892).zL;function A(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var S=A.prototype;function E(e,t){var r=w.clipPad,n=e[0]+r,i=e[1]-r,a=t[0]+r,o=t[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}e.exports=function(e){return new A(e)},S.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if(\"frame\"!==l&&a[\"show\"+l]){s=!0;break}for(var u=!1,c=0;c<e.length;c++){var f=e[0][0].trace;f._geo=i,f.locationmode&&(s=!0);var h=f.marker;if(h){var p=h.angle,d=h.angleref;(p||\"north\"===d||\"previous\"===d)&&(u=!0)}}if(this._hasMarkerAngles=u,s){var v=T.getTopojsonName(a);null!==i.topojson&&v===i.topojsonName||(i.topojsonName=v,void 0===PlotlyGeoAssets.topojson[i.topojsonName]&&o.push(i.fetchTopojson()))}o=o.concat(k.fetchTraceGeoData(e)),r.push(new Promise((function(r,n){Promise.all(o).then((function(){i.topojson=PlotlyGeoAssets.topojson[i.topojsonName],i.update(e,t),r()})).catch(n)})))},S.fetchTopojson=function(){var e=this,t=T.getTopojsonPath(e.topojsonURL,e.topojsonName);return new Promise((function(r,i){n.json(t,(function(n,a){if(n)return 404===n.status?i(new Error([\"plotly.js could not find topojson file at\",t+\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \"))):i(new Error([\"unexpected error while fetching topojson file at\",t].join(\" \")));PlotlyGeoAssets.topojson[e.topojsonName]=a,r()}))}))},S.update=function(e,t,r){var n=t[this.id];this.hasChoropleth=!1;for(var i=0;i<e.length;i++){var a=e[i],o=a[0].trace;\"choropleth\"===o.type&&(this.hasChoropleth=!0),!0===o.visible&&o._length>0&&o._module.calcGeoJSON(a,t)}if(!r){if(this.updateProjection(e,t))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),d.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var s=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=s.selectAll(\".point\"),this.dataPoints.text=s.selectAll(\"text\"),this.dataPaths.line=s.selectAll(\".js-line\");var l=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=l.selectAll(\"path\"),this._render()},S.updateProjection=function(e,t){var r=this.graphDiv,n=t[this.id],l=t._size,c=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,v=p._ax,m=this.projection=function(e){var t=e.projection,r=t.type,n=w.projNames[r];n=\"geo\"+u.titleCase(n);for(var l=(i[n]||s[n])(),c=e._isSatellite?180*Math.acos(1/t.distance)/Math.PI:e._isClipped?w.lonaxisSpan[r]/2:null,f=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],h=function(e){return e?l:[]},p=0;p<f.length;p++){var d=f[p];\"function\"!=typeof l[d]&&(l[d]=h)}return l.isLonLatOverEdges=function(e){if(null===l(e))return!0;if(c){var t=l.rotate();return o(e,[-t[0],-t[1]])>c*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(e){return l.getPath().bounds(e)},l.precision(w.precision),e._isSatellite&&l.tilt(t.tilt).distance(t.distance),c&&l.clipAngle(c-w.clipPad),l}(n),y=[[l.l+l.w*c.x[0],l.t+l.h*(1-c.y[1])],[l.l+l.w*c.x[1],l.t+l.h*(1-c.y[0])]],x=n.center||{},b=f.rotation||{},_=h.range||[],k=p.range||[];if(n.fitbounds){d._length=y[1][0]-y[0][0],v._length=y[1][1]-y[0][1],d.range=g(r,d),v.range=g(r,v);var T=(d.range[0]+d.range[1])/2,M=(v.range[0]+v.range[1])/2;if(n._isScoped)x={lon:T,lat:M};else if(n._isClipped){x={lon:T,lat:M},b={lon:T,lat:M,roll:b.roll};var A=f.type,S=w.lonaxisSpan[A]/2||180,C=w.lataxisSpan[A]/2||90;_=[T-S,T+S],k=[M-C,M+C]}else x={lon:T,lat:M},b={lon:T,lat:b.lat,roll:b.roll}}m.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var L=E(_,k);m.fitExtent(y,L);var P=this.bounds=m.getBounds(L),O=this.fitScale=m.scale(),I=m.translate();if(n.fitbounds){var D=m.getBounds(E(d.range,v.range)),z=Math.min((P[1][0]-P[0][0])/(D[1][0]-D[0][0]),(P[1][1]-P[0][1])/(D[1][1]-D[0][1]));isFinite(z)?m.scale(z*O):u.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else m.scale(f.scale*O);var R=this.midPt=[(P[0][0]+P[1][0])/2,(P[0][1]+P[1][1])/2];if(m.translate([I[0]+(R[0]-I[0]),I[1]+(R[1]-I[1])]).clipExtent(P),n._isAlbersUsa){var F=m([x.lon,x.lat]),B=m.translate();m.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(e,t){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(e){return\"lonaxis\"===e||\"lataxis\"===e}function l(e){return Boolean(w.lineLayers[e])}function u(e){return Boolean(w.fillLayers[e])}var c=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(e){return l(e)||u(e)?t[\"show\"+e]:!s(e)||t[e].showgrid})),p=r.framework.selectAll(\".layer\").data(c,String);p.exit().each((function(e){delete a[e],delete o[e],n.select(this).remove()})),p.enter().append(\"g\").attr(\"class\",(function(e){return\"layer \"+e})).each((function(e){var t=a[e]=n.select(this);\"bg\"===e?r.bgRect=t.append(\"rect\").style(\"pointer-events\",\"all\"):s(e)?o[e]=t.append(\"path\").style(\"fill\",\"none\"):\"backplot\"===e?t.append(\"g\").classed(\"choroplethlayer\",!0):\"frontplot\"===e?t.append(\"g\").classed(\"scatterlayer\",!0):l(e)?o[e]=t.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):u(e)&&(o[e]=t.append(\"path\").style(\"stroke\",\"none\"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];\"frame\"===r?n.datum(w.sphereSVG):l(r)||u(r)?n.datum(M(i,i.objects[r])):s(r)&&n.datum(function(e,t,r){var n,i,a,o=t[e],s=w.scopeDefaults[t.scope];\"lonaxis\"===e?(n=s.lonaxisRange,i=s.lataxisRange,a=function(e,t){return[e,t]}):\"lataxis\"===e&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(e,t){return[t,e]});var l={type:\"linear\",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};v.setConvert(l,r);var u=v.calcTicks(l);t.isScoped||\"lonaxis\"!==e||u.pop();for(var c=u.length,f=new Array(c),h=0;h<c;h++)for(var p=u[h].x,d=f[h]=[],g=i[0];g<i[1]+2.5;g+=2.5)d.push(a(p,g));return{type:\"MultiLineString\",coordinates:f}}(r,t,e)).call(f.stroke,t[r].gridcolor).call(h.dashLine,t[r].griddash,t[r].gridwidth),l(r)?n.call(f.stroke,t[a+\"color\"]).call(h.dashLine,\"\",t[a+\"width\"]):u(r)&&n.call(f.fill,t[a+\"color\"])}))},S.updateDims=function(e,t){var r=this.bounds,n=(t.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;h.setRect(this.clipRect,i,a,o,s),this.bgRect.call(h.setRect,i,a,o,s).call(f.fill,t.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s},S.updateFx=function(e,t){var r=this,i=r.graphDiv,a=r.bgRect,o=e.dragmode,s=e.clickmode;if(!r.isStatic){var c={element:r.bgRect.node(),gd:i,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:function(e,t){t.isRect?(e.range={})[r.id]=[f([t.xmin,t.ymin]),f([t.xmax,t.ymax])]:(e.lassoPoints={})[r.id]=t.map(f)}},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(e){2===e&&x(i)}};\"pan\"===o?(a.node().onmousedown=null,a.call(_(r,t)),a.on(\"dblclick.zoom\",(function(){var e=r.viewInitial,t={};for(var n in e)t[r.id+\".\"+n]=e[n];l.call(\"_guiRelayout\",i,t),i.emit(\"plotly_doubleclick\",null)})),i._context._scrollZoom.geo||a.on(\"wheel.zoom\",null)):\"select\"!==o&&\"lasso\"!==o||(a.on(\".zoom\",null),c.prepFn=function(e,t,r){y(e,t,r,c,o)},m.init(c)),a.on(\"mousemove\",(function(){var e=r.projection.invert(u.getPositionFromD3Event());if(!e)return m.unhover(i,n.event);r.xaxis.p2c=function(){return e[0]},r.yaxis.p2c=function(){return e[1]},p.hover(i,n.event,r.id)})),a.on(\"mouseout\",(function(){i._dragging||m.unhover(i,n.event)})),a.on(\"click\",(function(){\"select\"!==o&&\"lasso\"!==o&&(s.indexOf(\"select\")>-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,c),s.indexOf(\"event\")>-1&&p.click(i,n.event))}))}function f(e){return r.projection.invert([e[0]+r.xaxis._offset,e[1]+r.yaxis._offset])}},S.makeFramework=function(){var e=this,t=e.graphDiv,r=t._fullLayout,i=\"clip\"+r._uid+e.id;e.clipDef=r._clips.append(\"clipPath\").attr(\"id\",i),e.clipRect=e.clipDef.append(\"rect\"),e.framework=n.select(e.container).append(\"g\").attr(\"class\",\"geo \"+e.id).call(h.setClipUrl,i,t),e.project=function(t){var r=e.projection(t);return r?[r[0]-e.xaxis._offset,r[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:\"x\",c2p:function(t){return e.project(t)[0]}},e.yaxis={_id:\"y\",c2p:function(t){return e.project(t)[1]}},e.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},v.setConvert(e.mockAxis,r)},S.saveViewInitial=function(e){var t,r=e.center||{},n=e.projection,i=n.rotation||{};this.viewInitial={fitbounds:e.fitbounds,\"projection.scale\":n.scale},t=e._isScoped?{\"center.lon\":r.lon,\"center.lat\":r.lat}:e._isClipped?{\"projection.rotation.lon\":i.lon,\"projection.rotation.lat\":i.lat}:{\"center.lon\":r.lon,\"center.lat\":r.lat,\"projection.rotation.lon\":i.lon},u.extendFlat(this.viewInitial,t)},S.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var e,t=this.projection,r=t.getPath();function n(e){var r=t(e.lonlat);return r?c(r[0],r[1]):null}function i(e){return t.isLonLatOverEdges(e.lonlat)?\"none\":null}for(e in this.basePaths)this.basePaths[e].attr(\"d\",r);for(e in this.dataPaths)this.dataPaths[e].attr(\"d\",(function(e){return r(e.geojson)}));for(e in this.dataPoints)this.dataPoints[e].attr(\"display\",i).attr(\"transform\",n)}},44622:function(e,t,r){\"use strict\";var n=r(27659).AU,i=r(71828).counterRegex,a=r(69082),o=\"geo\",s=i(o),l={};l[o]={valType:\"subplotid\",dflt:o,editType:\"calc\"},e.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(77519),supplyLayoutDefaults:r(82161),plot:function(e){for(var t=e._fullLayout,r=e.calcdata,i=t._subplots[o],s=0;s<i.length;s++){var l=i[s],u=n(r,o,l),c=t[l]._subplot;c||(c=a({id:l,graphDiv:e,container:t._geolayer.node(),topojsonURL:e._context.topojsonURL,staticPlot:e._context.staticPlot}),t[l]._subplot=c),c.plot(u,t,e._promises)}},updateFx:function(e){for(var t=e._fullLayout,r=t._subplots[o],n=0;n<r.length;n++){var i=t[r[n]];i._subplot.updateFx(t,i)}},clean:function(e,t,r,n){for(var i=n._subplots[o]||[],a=0;a<i.length;a++){var s=i[a],l=n[s]._subplot;!t[s]&&l&&(l.framework.remove(),l.clipDef.remove())}}}},77519:function(e,t,r){\"use strict\";var n=r(22399),i=r(27670).Y,a=r(79952).P,o=r(78776),s=r(30962).overrideAll,l=r(78607),u={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\",dflt:0},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:n.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1},griddash:a};(e.exports=s({domain:i({name:\"geo\"},{}),fitbounds:{valType:\"enumerated\",values:[!1,\"locations\",\"geojson\"],dflt:!1,editType:\"plot\"},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:l(o.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:l(o.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},tilt:{valType:\"number\",dflt:0},distance:{valType:\"number\",min:1.001,dflt:2},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},visible:{valType:\"boolean\",dflt:!0},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:n.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:o.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:o.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:o.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:o.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:n.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:n.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:n.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:n.background},lonaxis:u,lataxis:u},\"plot\",\"from-root\")).uirevision={valType:\"any\",editType:\"none\"}},82161:function(e,t,r){\"use strict\";var n=r(71828),i=r(49119),a=r(27659).NG,o=r(78776),s=r(77519),l=o.axesNames;function u(e,t,r,i){var s=a(i.fullData,\"geo\",i.id).map((function(e){return e._expandedIndex})),u=r(\"resolution\"),c=r(\"scope\"),f=o.scopeDefaults[c],h=r(\"projection.type\",f.projType),p=t._isAlbersUsa=\"albers usa\"===h;p&&(c=t.scope=\"usa\");var d=t._isScoped=\"world\"!==c,v=t._isSatellite=\"satellite\"===h,g=t._isConic=-1!==h.indexOf(\"conic\")||\"albers\"===h,m=t._isClipped=!!o.lonaxisSpan[h];if(!1===e.visible){var y=n.extendDeep({},t._template);y.showcoastlines=!1,y.showcountries=!1,y.showframe=!1,y.showlakes=!1,y.showland=!1,y.showocean=!1,y.showrivers=!1,y.showsubunits=!1,y.lonaxis&&(y.lonaxis.showgrid=!1),y.lataxis&&(y.lataxis.showgrid=!1),t._template=y}for(var x=r(\"visible\"),b=0;b<l.length;b++){var _,w=l[b],k=[30,10][b];if(d)_=f[w+\"Range\"];else{var T=o[w+\"Span\"],M=(T[h]||T[\"*\"])/2,A=r(\"projection.rotation.\"+w.substr(0,3),f.projRotate[b]);_=[A-M,A+M]}var S=r(w+\".range\",_);r(w+\".tick0\"),r(w+\".dtick\",k),r(w+\".showgrid\",!!x&&void 0)&&(r(w+\".gridcolor\"),r(w+\".gridwidth\"),r(w+\".griddash\")),t[w]._ax={type:\"linear\",_id:w.slice(0,3),_traceIndices:s,setScale:n.identity,c2l:n.identity,r2l:n.identity,autorange:!0,range:S.slice(),_m:1,_input:{}}}var E=t.lonaxis.range,C=t.lataxis.range,L=E[0],P=E[1];L>0&&P<0&&(P+=360);var O,I,D,z=(L+P)/2;if(!p){var R=d?f.projRotate:[z,0,0];O=r(\"projection.rotation.lon\",R[0]),r(\"projection.rotation.lat\",R[1]),r(\"projection.rotation.roll\",R[2]),r(\"showcoastlines\",!d&&x)&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),r(\"showocean\",!!x&&void 0)&&r(\"oceancolor\")}p?(I=-96.6,D=38.7):(I=d?z:O,D=(C[0]+C[1])/2),r(\"center.lon\",I),r(\"center.lat\",D),v&&(r(\"projection.tilt\"),r(\"projection.distance\")),g&&r(\"projection.parallels\",f.projParallels||[0,60]),r(\"projection.scale\"),r(\"showland\",!!x&&void 0)&&r(\"landcolor\"),r(\"showlakes\",!!x&&void 0)&&r(\"lakecolor\"),r(\"showrivers\",!!x&&void 0)&&(r(\"rivercolor\"),r(\"riverwidth\")),r(\"showcountries\",d&&\"usa\"!==c&&x)&&(r(\"countrycolor\"),r(\"countrywidth\")),(\"usa\"===c||\"north america\"===c&&50===u)&&(r(\"showsubunits\",x),r(\"subunitcolor\"),r(\"subunitwidth\")),d||r(\"showframe\",x)&&(r(\"framecolor\"),r(\"framewidth\")),r(\"bgcolor\"),r(\"fitbounds\")&&(delete t.projection.scale,d?(delete t.center.lon,delete t.center.lat):m?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}e.exports=function(e,t,r){i(e,t,r,{type:\"geo\",attributes:s,handleDefaults:u,fullData:r,partition:\"y\"})}},74455:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(73972),o=Math.PI/180,s=180/Math.PI,l={cursor:\"pointer\"},u={cursor:\"auto\"};function c(e,t){return n.behavior.zoom().translate(t.translate()).scale(t.scale())}function f(e,t,r){var n=e.id,o=e.graphDiv,s=o.layout,l=s[n],u=o._fullLayout,c=u[n],f={},h={};function p(e,t){f[n+\".\"+e]=i.nestedProperty(l,e).get(),a.call(\"_storeDirectGUIEdit\",s,u._preGUI,f);var r=i.nestedProperty(c,e);r.get()!==t&&(r.set(t),i.nestedProperty(l,e).set(t),h[n+\".\"+e]=t)}r(p),p(\"projection.scale\",t.scale()/e.fitScale),p(\"fitbounds\",!1),o.emit(\"plotly_relayout\",h)}function h(e,t){var r=c(0,t);function i(r){var n=t.invert(e.midPt);r(\"center.lon\",n[0]),r(\"center.lat\",n[1])}return r.on(\"zoomstart\",(function(){n.select(this).style(l)})).on(\"zoom\",(function(){t.scale(n.event.scale).translate(n.event.translate),e.render(!0);var r=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":r[0],\"geo.center.lat\":r[1]})})).on(\"zoomend\",(function(){n.select(this).style(u),f(e,t,i)})),r}function p(e,t){var r,i,a,o,s,h,p,d,v,g=c(0,t);function m(e){return t.invert(e)}function y(r){var n=t.rotate(),i=t.invert(e.midPt);r(\"projection.rotation.lon\",-n[0]),r(\"center.lon\",i[0]),r(\"center.lat\",i[1])}return g.on(\"zoomstart\",(function(){n.select(this).style(l),r=n.mouse(this),i=t.rotate(),a=t.translate(),o=i,s=m(r)})).on(\"zoom\",(function(){if(h=n.mouse(this),function(e){var r=m(e);if(!r)return!0;var n=t(r);return Math.abs(n[0]-e[0])>2||Math.abs(n[1]-e[1])>2}(r))return g.scale(t.scale()),void g.translate(t.translate());t.scale(n.event.scale),t.translate([a[0],n.event.translate[1]]),s?m(h)&&(d=m(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],t.rotate(p),o=p):s=m(r=h),v=!0,e.render(!0);var l=t.rotate(),u=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":u[0],\"geo.center.lat\":u[1],\"geo.projection.rotation.lon\":-l[0]})})).on(\"zoomend\",(function(){n.select(this).style(u),v&&f(e,t,y)})),g}function d(e,t){var r,i={r:t.rotate(),k:t.scale()},a=c(0,t),h=function(e){for(var t=0,r=arguments.length,i=[];++t<r;)i.push(arguments[t]);var a=n.dispatch.apply(null,i);return a.of=function(t,r){return function(i){var o;try{o=i.sourceEvent=n.event,i.target=e,n.event=i,a[i.type].apply(t,r)}finally{n.event=o}}},a}(a,\"zoomstart\",\"zoom\",\"zoomend\"),p=0,d=a.on;function m(e){var r=t.rotate();e(\"projection.rotation.lon\",-r[0]),e(\"projection.rotation.lat\",-r[1])}return a.on(\"zoomstart\",(function(){n.select(this).style(l);var e,u,c,f,m,b,_,w,k,T,M,A=n.mouse(this),S=t.rotate(),E=S,C=t.translate(),L=(u=.5*(e=S)[0]*o,c=.5*e[1]*o,f=.5*e[2]*o,m=Math.sin(u),b=Math.cos(u),_=Math.sin(c),w=Math.cos(c),k=Math.sin(f),[b*w*(T=Math.cos(f))+m*_*k,m*w*T-b*_*k,b*_*T+m*w*k,b*w*k-m*_*T]);r=v(t,A),d.call(a,\"zoom\",(function(){var e,a,o,l,u,c,f,p,d,m,b=n.mouse(this);if(t.scale(i.k=n.event.scale),r){if(v(t,b)){t.rotate(S).translate(C);var _=v(t,b),w=function(e,t){if(e&&t){var r=function(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}(e,t),n=Math.sqrt(x(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,x(e,t)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}(r,_),k=function(e){return[Math.atan2(2*(e[0]*e[1]+e[2]*e[3]),1-2*(e[1]*e[1]+e[2]*e[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(e[0]*e[2]-e[3]*e[1]))))*s,Math.atan2(2*(e[0]*e[3]+e[1]*e[2]),1-2*(e[2]*e[2]+e[3]*e[3]))*s]}((o=(e=L)[0],l=e[1],u=e[2],c=e[3],[o*(f=(a=w)[0])-l*(p=a[1])-u*(d=a[2])-c*(m=a[3]),o*p+l*f+u*m-c*d,o*d-l*m+u*f+c*p,o*m+l*d-u*p+c*f])),T=i.r=function(e,t,r){var n=y(t,2,e[0]);n=y(n,1,e[1]),n=y(n,0,e[2]-r[2]);var i,a,o=t[0],l=t[1],u=t[2],c=n[0],f=n[1],h=n[2],p=Math.atan2(l,o)*s,d=Math.sqrt(o*o+l*l);Math.abs(f)>d?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var v=180-a-2*p,m=(Math.atan2(h,c)-Math.atan2(u,i))*s,x=(Math.atan2(h,c)-Math.atan2(u,-i))*s;return g(r[0],r[1],a,m)<=g(r[0],r[1],v,x)?[a,m,r[2]]:[v,x,r[2]]}(k,r,E);isFinite(T[0])&&isFinite(T[1])&&isFinite(T[2])||(T=E),t.rotate(T),E=T}}else r=v(t,A=b);h.of(this,arguments)({type:\"zoom\"})})),M=h.of(this,arguments),p++||M({type:\"zoomstart\"})})).on(\"zoomend\",(function(){var r;n.select(this).style(u),d.call(a,\"zoom\",null),r=h.of(this,arguments),--p||r({type:\"zoomend\"}),f(e,t,m)})).on(\"zoom.redraw\",(function(){e.render(!0);var r=t.rotate();e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.projection.rotation.lon\":-r[0],\"geo.projection.rotation.lat\":-r[1]})})),n.rebind(a,h,\"on\")}function v(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&function(e){var t=e[0]*o,r=e[1]*o,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}(r)}function g(e,t,r,n){var i=m(r-e),a=m(n-t);return Math.sqrt(i*i+a*a)}function m(e){return(e%360+540)%360-180}function y(e,t,r){var n=r*o,i=e.slice(),a=0===t?1:0,s=2===t?1:2,l=Math.cos(n),u=Math.sin(n);return i[a]=e[a]*l-e[s]*u,i[s]=e[s]*l+e[a]*u,i}function x(e,t){for(var r=0,n=0,i=e.length;n<i;++n)r+=e[n]*t[n];return r}e.exports=function(e,t){var r=e.projection;return(t._isScoped?h:t._isClipped?d:p)(e,r)}},27659:function(e,t,r){\"use strict\";var n=r(73972),i=r(85555).SUBPLOT_PATTERN;t.AU=function(e,t,r){var i=n.subplotsRegistry[t];if(!i)return[];for(var a=i.attr,o=[],s=0;s<e.length;s++){var l=e[s];l[0].trace[a]===r&&o.push(l)}return o},t.a0=function(e,t){var r,i=[],a=[];if(!(r=\"string\"==typeof t?n.getModule(t).plot:\"function\"==typeof t?t:t.plot))return[i,e];for(var o=0;o<e.length;o++){var s=e[o],l=s[0].trace;!0===l.visible&&0!==l._length&&(l._module&&l._module.plot===r?i.push(s):a.push(s))}return[i,a]},t.NG=function(e,t,r){if(!n.subplotsRegistry[t])return[];var a,o,s,l=n.subplotsRegistry[t].attr,u=[];if(\"gl2d\"===t){var c=r.match(i);o=\"x\"+c[1],s=\"y\"+c[2]}for(var f=0;f<e.length;f++)a=e[f],\"gl2d\"===t&&n.traceIs(a,\"gl2d\")?a[l[0]]===o&&a[l[1]]===s&&u.push(a):a[l]===r&&u.push(a);return u}},75071:function(e,t,r){\"use strict\";var n=r(16825),i=r(1195),a=r(48956),o=r(85555),s=r(38520);function l(e,t){this.element=e,this.plot=t,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}e.exports=function(e){var t=e.mouseContainer,r=e.glplot,u=new l(t,r);function c(){e.xaxis.autorange=!1,e.yaxis.autorange=!1}function f(t,n,i){var a,s,l=e.calcDataBox(),f=r.viewBox,h=u.lastPos[0],p=u.lastPos[1],d=o.MINDRAG*r.pixelRatio,v=o.MINZOOM*r.pixelRatio;function g(t,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(l[t]=i,l[t+2]=a,u.dataBox=l,e.setRanges(l)):(e.selectBox.selectBox=[0,0,1,1],e.glplot.setDirty())}switch(n*=r.pixelRatio,i*=r.pixelRatio,i=f[3]-f[1]-i,e.fullLayout.dragmode){case\"zoom\":if(t){var m=n/(f[2]-f[0])*(l[2]-l[0])+l[0],y=i/(f[3]-f[1])*(l[3]-l[1])+l[1];u.boxInited||(u.boxStart[0]=m,u.boxStart[1]=y,u.dragStart[0]=n,u.dragStart[1]=i),u.boxEnd[0]=m,u.boxEnd[1]=y,u.boxInited=!0,u.boxEnabled||u.boxStart[0]===u.boxEnd[0]&&u.boxStart[1]===u.boxEnd[1]||(u.boxEnabled=!0);var x=Math.abs(u.dragStart[0]-n)<v,b=Math.abs(u.dragStart[1]-i)<v;if(!function(){for(var t=e.graphDiv._fullLayout._axisConstraintGroups,r=e.xaxis._id,n=e.yaxis._id,i=0;i<t.length;i++)if(-1!==t[i][r]){if(-1!==t[i][n])return!0;break}return!1}()||x&&b)x&&(u.boxEnd[0]=u.boxStart[0]),b&&(u.boxEnd[1]=u.boxStart[1]);else{a=u.boxEnd[0]-u.boxStart[0],s=u.boxEnd[1]-u.boxStart[1];var _=(l[3]-l[1])/(l[2]-l[0]);Math.abs(a*_)>Math.abs(s)?(u.boxEnd[1]=u.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),u.boxEnd[1]<l[1]?(u.boxEnd[1]=l[1],u.boxEnd[0]=u.boxStart[0]+(l[1]-u.boxStart[1])/Math.abs(_)):u.boxEnd[1]>l[3]&&(u.boxEnd[1]=l[3],u.boxEnd[0]=u.boxStart[0]+(l[3]-u.boxStart[1])/Math.abs(_))):(u.boxEnd[0]=u.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),u.boxEnd[0]<l[0]?(u.boxEnd[0]=l[0],u.boxEnd[1]=u.boxStart[1]+(l[0]-u.boxStart[0])*Math.abs(_)):u.boxEnd[0]>l[2]&&(u.boxEnd[0]=l[2],u.boxEnd[1]=u.boxStart[1]+(l[2]-u.boxStart[0])*Math.abs(_)))}}else u.boxEnabled?(a=u.boxStart[0]!==u.boxEnd[0],s=u.boxStart[1]!==u.boxEnd[1],a||s?(a&&(g(0,u.boxStart[0],u.boxEnd[0]),e.xaxis.autorange=!1),s&&(g(1,u.boxStart[1],u.boxEnd[1]),e.yaxis.autorange=!1),e.relayoutCallback()):e.glplot.setDirty(),u.boxEnabled=!1,u.boxInited=!1):u.boxInited&&(u.boxInited=!1);break;case\"pan\":u.boxEnabled=!1,u.boxInited=!1,t?(u.panning||(u.dragStart[0]=n,u.dragStart[1]=i),Math.abs(u.dragStart[0]-n)<d&&(n=u.dragStart[0]),Math.abs(u.dragStart[1]-i)<d&&(i=u.dragStart[1]),a=(h-n)*(l[2]-l[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-i)*(l[3]-l[1])/(r.viewBox[3]-r.viewBox[1]),l[0]+=a,l[2]+=a,l[1]+=s,l[3]+=s,e.setRanges(l),u.panning=!0,u.lastInputTime=Date.now(),c(),e.cameraChanged(),e.handleAnnotations()):u.panning&&(u.panning=!1,e.relayoutCallback())}u.lastPos[0]=n,u.lastPos[1]=i}return u.mouseListener=n(t,f),t.addEventListener(\"touchstart\",(function(e){var r=a(e.changedTouches[0],t);f(0,r[0],r[1]),f(1,r[0],r[1]),e.preventDefault()}),!!s&&{passive:!1}),t.addEventListener(\"touchmove\",(function(e){e.preventDefault();var r=a(e.changedTouches[0],t);f(1,r[0],r[1]),e.preventDefault()}),!!s&&{passive:!1}),t.addEventListener(\"touchend\",(function(e){f(0,u.lastPos[0],u.lastPos[1]),e.preventDefault()}),!!s&&{passive:!1}),u.wheelListener=i(t,(function(t,n){if(!e.scrollZoom)return!1;var i=e.calcDataBox(),a=r.viewBox,o=u.lastPos[0],s=u.lastPos[1],l=Math.exp(5*n/(a[3]-a[1])),f=o/(a[2]-a[0])*(i[2]-i[0])+i[0],h=s/(a[3]-a[1])*(i[3]-i[1])+i[1];return i[0]=(i[0]-f)*l+f,i[2]=(i[2]-f)*l+f,i[1]=(i[1]-h)*l+h,i[3]=(i[3]-h)*l+h,e.setRanges(i),u.lastInputTime=Date.now(),c(),e.cameraChanged(),e.handleAnnotations(),e.relayoutCallback(),!0}),!0),u}},82961:function(e,t,r){\"use strict\";var n=r(89298),i=r(78614);function a(e){this.scene=e,this.gl=e.gl,this.pixelRatio=e.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=[\"x\",\"y\"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=[\"sans-serif\",\"sans-serif\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title=\"\",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont=\"sans-serif\",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var o=a.prototype,s=[\"xaxis\",\"yaxis\"];o.merge=function(e){var t,r,n,a,o,l,u,c,f,h,p;for(this.titleEnable=!1,this.backgroundColor=i(e.plot_bgcolor),h=0;h<2;++h){var d=(t=s[h]).charAt(0);for(n=(r=e[this.scene[t]._name]).title.text===this.scene.fullLayout._dfltTitle[d]?\"\":r.title.text,p=0;p<=2;p+=2)this.labelEnable[h+p]=!1,this.labels[h+p]=n,this.labelColor[h+p]=i(r.title.font.color),this.labelFont[h+p]=r.title.font.family,this.labelSize[h+p]=r.title.font.size,this.labelPad[h+p]=this.getLabelPad(t,r),this.tickEnable[h+p]=!1,this.tickColor[h+p]=i((r.tickfont||{}).color),this.tickAngle[h+p]=\"auto\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[h+p]=this.getTickPad(r),this.tickMarkLength[h+p]=0,this.tickMarkWidth[h+p]=r.tickwidth||0,this.tickMarkColor[h+p]=i(r.tickcolor),this.borderLineEnable[h+p]=!1,this.borderLineColor[h+p]=i(r.linecolor),this.borderLineWidth[h+p]=r.linewidth||0;u=this.hasSharedAxis(r),o=this.hasAxisInDfltPos(t,r)&&!u,l=this.hasAxisInAltrPos(t,r)&&!u,a=r.mirror||!1,c=u?-1!==String(a).indexOf(\"all\"):!!a,f=u?\"allticks\"===a:-1!==String(a).indexOf(\"ticks\"),o?this.labelEnable[h]=!0:l&&(this.labelEnable[h+2]=!0),o?this.tickEnable[h]=r.showticklabels:l&&(this.tickEnable[h+2]=r.showticklabels),(o||c)&&(this.borderLineEnable[h]=r.showline),(l||c)&&(this.borderLineEnable[h+2]=r.showline),(o||f)&&(this.tickMarkLength[h]=this.getTickMarkLength(r)),(l||f)&&(this.tickMarkLength[h+2]=this.getTickMarkLength(r)),this.gridLineEnable[h]=r.showgrid,this.gridLineColor[h]=i(r.gridcolor),this.gridLineWidth[h]=r.gridwidth,this.zeroLineEnable[h]=r.zeroline,this.zeroLineColor[h]=i(r.zerolinecolor),this.zeroLineWidth[h]=r.zerolinewidth}},o.hasSharedAxis=function(e){var t=this.scene,r=t.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,e).indexOf(t.id)},o.hasAxisInDfltPos=function(e,t){var r=t.side;return\"xaxis\"===e?\"bottom\"===r:\"yaxis\"===e?\"left\"===r:void 0},o.hasAxisInAltrPos=function(e,t){var r=t.side;return\"xaxis\"===e?\"top\"===r:\"yaxis\"===e?\"right\"===r:void 0},o.getLabelPad=function(e,t){var r=1.5,n=t.title.font.size,i=t.showticklabels;return\"xaxis\"===e?\"top\"===t.side?n*(r+(i?1:0))-10:n*(r+(i?.5:0))-10:\"yaxis\"===e?\"right\"===t.side?10+n*(r+(i?1:.5)):10+n*(r+(i?.5:0)):void 0},o.getTickPad=function(e){return\"outside\"===e.ticks?10+e.ticklen:15},o.getTickMarkLength=function(e){if(!e.ticks)return 0;var t=e.ticklen;return\"inside\"===e.ticks?-t:t},e.exports=function(e){return new a(e)}},4796:function(e,t,r){\"use strict\";var n=r(30962).overrideAll,i=r(92918),a=r(10820),o=r(77922),s=r(85555),l=r(93612),u=r(528),c=r(27659).NG;t.name=\"gl2d\",t.attr=[\"xaxis\",\"yaxis\"],t.idRoot=[\"x\",\"y\"],t.idRegex=s.idRegex,t.attrRegex=s.attrRegex,t.attributes=r(89502),t.supplyLayoutDefaults=function(e,t,r){t._has(\"cartesian\")||l.supplyLayoutDefaults(e,t,r)},t.layoutAttrOverrides=n(l.layoutAttributes,\"plot\",\"from-root\"),t.baseLayoutAttrOverrides=n({plot_bgcolor:a.plot_bgcolor,hoverlabel:u.hoverlabel},\"plot\",\"nested\"),t.plot=function(e){for(var t=e._fullLayout,r=e._fullData,n=t._subplots.gl2d,a=0;a<n.length;a++){var o=n[a],s=t._plots[o],l=c(r,\"gl2d\",o),u=s._scene2d;void 0===u&&(u=new i({id:o,graphDiv:e,container:e.querySelector(\".gl-container\"),staticPlot:e._context.staticPlot,plotGlPixelRatio:e._context.plotGlPixelRatio},t),s._scene2d=u),u.plot(l,e.calcdata,t,e.layout)}},t.clean=function(e,t,r,n){for(var i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];s._scene2d&&0===c(e,\"gl2d\",o).length&&(s._scene2d.destroy(),delete n._plots[o])}l.clean.apply(this,arguments)},t.drawFramework=function(e){e._context.staticPlot||l.drawFramework(e)},t.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots.gl2d,n=0;n<r.length;n++){var i=t._plots[r[n]]._scene2d,a=i.toImage(\"png\");t._glimages.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":a,x:0,y:0,width:\"100%\",height:\"100%\",preserveAspectRatio:\"none\"}),i.destroy()}},t.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots.gl2d,n=0;n<r.length;n++)t._plots[r[n]]._scene2d.updateFx(t.dragmode)}},92918:function(e,t,r){\"use strict\";var n,i,a=r(73972),o=r(89298),s=r(30211),l=r(9330).gl_plot2d,u=r(9330).gl_spikes2d,c=r(9330).gl_select_box,f=r(40372),h=r(82961),p=r(75071),d=r(58617),v=r(99082),g=v.enforce,m=v.clean,y=r(71739).doAutoRange,x=r(64505),b=x.drawMode,_=x.selectMode,w=[\"xaxis\",\"yaxis\"],k=r(85555).SUBPLOT_PATTERN;function T(e,t){this.container=e.container,this.graphDiv=e.graphDiv,this.pixelRatio=e.plotGlPixelRatio||window.devicePixelRatio,this.id=e.id,this.staticPlot=!!e.staticPlot,this.scrollZoom=this.graphDiv._context._scrollZoom.cartesian,this.fullData=null,this.updateRefs(t),this.makeFramework(),this.stopped||(this.glplotOptions=h(this),this.glplotOptions.merge(t),this.glplot=l(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=u(this.glplot),this.selectBox=c(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw())}e.exports=T;var M=T.prototype;M.makeFramework=function(){if(this.staticPlot){if(!(i||(n=document.createElement(\"canvas\"),i=f({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"Error creating static canvas/context for image server\");this.canvas=n,this.gl=i}else{var e=this.container.querySelector(\".gl-canvas-focus\"),t=f({canvas:e,preserveDrawingBuffer:!0,premultipliedAlpha:!0});if(!t)return d(this),void(this.stopped=!0);this.canvas=e,this.gl=t}var r=this.canvas;r.style.width=\"100%\",r.style.height=\"100%\",r.style.position=\"absolute\",r.style.top=\"0px\",r.style.left=\"0px\",r.style[\"pointer-events\"]=\"none\",this.updateSize(r);var a=this.svgContainer=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");a.style.position=\"absolute\",a.style.top=a.style.left=\"0px\",a.style.width=a.style.height=\"100%\",a.style[\"z-index\"]=20,a.style[\"pointer-events\"]=\"none\";var o=this.mouseContainer=document.createElement(\"div\");o.style.position=\"absolute\",o.style[\"pointer-events\"]=\"auto\",this.pickCanvas=this.container.querySelector(\".gl-canvas-pick\");var s=this.container;s.appendChild(a),s.appendChild(o);var l=this;o.addEventListener(\"mouseout\",(function(){l.isMouseOver=!1,l.unhover()})),o.addEventListener(\"mouseover\",(function(){l.isMouseOver=!0}))},M.toImage=function(e){e||(e=\"png\"),this.stopped=!0,this.staticPlot&&this.container.appendChild(n),this.updateSize(this.canvas);var t=this.glplot.gl,r=t.drawingBufferWidth,i=t.drawingBufferHeight;t.clearColor(1,1,1,0),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),t.bindFramebuffer(t.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);t.readPixels(0,0,r,i,t.RGBA,t.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var u=0;u<4;++u){var c=a[4*(r*o+l)+u];a[4*(r*o+l)+u]=a[4*(r*s+l)+u],a[4*(r*s+l)+u]=c}var f=document.createElement(\"canvas\");f.width=r,f.height=i;var h,p=f.getContext(\"2d\",{willReadFrequently:!0}),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),e){case\"jpeg\":h=f.toDataURL(\"image/jpeg\");break;case\"webp\":h=f.toDataURL(\"image/webp\");break;default:h=f.toDataURL(\"image/png\")}return this.staticPlot&&this.container.removeChild(n),h},M.updateSize=function(e){e||(e=this.canvas);var t=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(t*n),o=0|Math.ceil(t*i);return e.width===a&&e.height===o||(e.width=a,e.height=o),e},M.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var e=[o.calcTicks(this.xaxis),o.calcTicks(this.yaxis)],t=0;t<2;++t)for(var r=0;r<e[t].length;++r)e[t][r].text=e[t][r].text+\"\";return e},M.updateRefs=function(e){this.fullLayout=e;var t=this.id.match(k),r=\"xaxis\"+t[1],n=\"yaxis\"+t[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},M.relayoutCallback=function(){var e=this.graphDiv,t=this.xaxis,r=this.yaxis,n=e.layout,i={},o=i[t._name+\".range\"]=t.range.slice(),s=i[r._name+\".range\"]=r.range.slice();i[t._name+\".autorange\"]=t.autorange,i[r._name+\".autorange\"]=r.autorange,a.call(\"_storeDirectGUIEdit\",e.layout,e._fullLayout._preGUI,i);var l=n[t._name];l.range=o,l.autorange=t.autorange;var u=n[r._name];u.range=s,u.autorange=r.autorange,i.lastInputTime=this.camera.lastInputTime,e.emit(\"plotly_relayout\",i)},M.cameraChanged=function(){var e=this.camera;this.glplot.setDataBox(this.calcDataBox());var t=this.computeTickMarks();(function(e,t){for(var r=0;r<2;++r){var n=e[r],i=t[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].x)return!0}return!1})(t,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=t,this.glplotOptions.dataBox=e.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},M.handleAnnotations=function(){for(var e=this.graphDiv,t=this.fullLayout.annotations,r=0;r<t.length;r++){var n=t[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&a.getComponentMethod(\"annotations\",\"drawOne\")(e,r)}},M.destroy=function(){if(this.glplot){var e=this.traces;e&&Object.keys(e).map((function(t){e[t].dispose(),delete e[t]})),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=null}},M.plot=function(e,t,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(e,t),this.updateFx(r.dragmode);var i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:r._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis,_size:r._size}};m(s,this.xaxis),m(s,this.yaxis);var l,u,c=r._size,f=this.xaxis.domain,h=this.yaxis.domain;for(o.viewBox=[c.l+f[0]*c.w,c.b+h[0]*c.h,i-c.r-(1-f[1])*c.w,a-c.t-(1-h[1])*c.h],this.mouseContainer.style.width=c.w*(f[1]-f[0])+\"px\",this.mouseContainer.style.height=c.h*(h[1]-h[0])+\"px\",this.mouseContainer.height=c.h*(h[1]-h[0]),this.mouseContainer.style.left=c.l+f[0]*c.w+\"px\",this.mouseContainer.style.top=c.t+(1-h[1])*c.h+\"px\",u=0;u<2;++u)(l=this[w[u]])._length=o.viewBox[u+2]-o.viewBox[u],y(this.graphDiv,l),l.setScale();g(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},M.calcDataBox=function(){var e=this.xaxis,t=this.yaxis,r=e.range,n=t.range,i=e.r2l,a=t.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},M.setRanges=function(e){var t=this.xaxis,r=this.yaxis,n=t.l2r,i=r.l2r;t.range=[n(e[0]),n(e[2])],r.range=[i(e[1]),i(e[3])]},M.updateTraces=function(e,t){var r,n,i,a=Object.keys(this.traces);this.fullData=e;e:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<e.length;n++)if((i=e[n]).uid===o&&i.type===s.type)continue e;s.dispose(),delete this.traces[o]}for(r=0;r<e.length;r++){i=e[r];var l=t[r],u=this.traces[i.uid];u?u.update(i,l):(u=i._module.plot(this,i,l),this.traces[i.uid]=u)}this.glplot.objects.sort((function(e,t){return e._trace.index-t._trace.index}))},M.updateFx=function(e){_(e)||b(e)?(this.pickCanvas.style[\"pointer-events\"]=\"none\",this.mouseContainer.style[\"pointer-events\"]=\"none\"):(this.pickCanvas.style[\"pointer-events\"]=\"auto\",this.mouseContainer.style[\"pointer-events\"]=\"auto\"),this.mouseContainer.style.cursor=\"pan\"===e?\"move\":\"zoom\"===e?\"crosshair\":null},M.emitPointAction=function(e,t){for(var r,n=e.trace.uid,i=e.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:e.traceCoord[0],y:e.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,i),this.graphDiv.emit(t,{points:[o]})},M.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var e=this.glplot,t=this.camera,r=t.mouseListener,n=1===this.lastButtonState&&0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*e.pixelRatio,l=this.canvas.height-e.pixelRatio*r.y;if(t.boxEnabled&&\"zoom\"===i.dragmode){this.selectBox.enabled=!0;for(var u=this.selectBox.selectBox=[Math.min(t.boxStart[0],t.boxEnd[0]),Math.min(t.boxStart[1],t.boxEnd[1]),Math.max(t.boxStart[0],t.boxEnd[0]),Math.max(t.boxStart[1],t.boxEnd[1])],c=0;c<2;c++)t.boxStart[c]===t.boxEnd[c]&&(u[c]=e.dataBox[c],u[c+2]=e.dataBox[c+2]);e.setDirty()}else if(!t.panning&&this.isMouseOver){this.selectBox.enabled=!1;var f=i._size,h=this.xaxis.domain,p=this.yaxis.domain,d=(a=e.pick(o/e.pixelRatio+f.l+h[0]*f.w,l/e.pixelRatio-(f.t+(1-p[1])*f.h)))&&a.object._trace.handlePick(a);if(d&&n&&this.emitPointAction(d,\"plotly_click\"),a&&\"skip\"!==a.object._trace.hoverinfo&&i.hovermode&&d&&(!this.lastPickResult||this.lastPickResult.traceUid!==d.trace.uid||this.lastPickResult.dataCoord[0]!==d.dataCoord[0]||this.lastPickResult.dataCoord[1]!==d.dataCoord[1])){var v=d;this.lastPickResult={traceUid:d.trace?d.trace.uid:null,dataCoord:d.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),v.screenCoord=[((e.viewBox[2]-e.viewBox[0])*(a.dataCoord[0]-e.dataBox[0])/(e.dataBox[2]-e.dataBox[0])+e.viewBox[0])/e.pixelRatio,(this.canvas.height-(e.viewBox[3]-e.viewBox[1])*(a.dataCoord[1]-e.dataBox[1])/(e.dataBox[3]-e.dataBox[1])-e.viewBox[1])/e.pixelRatio],this.emitPointAction(d,\"plotly_hover\");var g=this.fullData[v.trace.index]||{},m=v.pointIndex,y=s.castHoverinfo(g,i,m);if(y&&\"all\"!==y){var x=y.split(\"+\");-1===x.indexOf(\"x\")&&(v.traceCoord[0]=void 0),-1===x.indexOf(\"y\")&&(v.traceCoord[1]=void 0),-1===x.indexOf(\"z\")&&(v.traceCoord[2]=void 0),-1===x.indexOf(\"text\")&&(v.textLabel=void 0),-1===x.indexOf(\"name\")&&(v.name=void 0)}s.loneHover({x:v.screenCoord[0],y:v.screenCoord[1],xLabel:this.hoverFormatter(\"xaxis\",v.traceCoord[0]),yLabel:this.hoverFormatter(\"yaxis\",v.traceCoord[1]),zLabel:v.traceCoord[2],text:v.textLabel,name:v.name,color:s.castHoverOption(g,m,\"bgcolor\")||v.color,borderColor:s.castHoverOption(g,m,\"bordercolor\"),fontFamily:s.castHoverOption(g,m,\"font.family\"),fontSize:s.castHoverOption(g,m,\"font.size\"),fontColor:s.castHoverOption(g,m,\"font.color\"),nameLength:s.castHoverOption(g,m,\"namelength\"),textAlign:s.castHoverOption(g,m,\"align\")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),e.draw()}},M.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\"plotly_unhover\"),s.loneUnhover(this.svgContainer))},M.hoverFormatter=function(e,t){if(void 0!==t){var r=this[e];return o.tickText(r,r.c2l(t),\"hover\").text}}},58547:function(e,t,r){\"use strict\";var n=r(30962).overrideAll,i=r(528),a=r(33539),o=r(27659).NG,s=r(71828),l=r(77922),u=\"gl3d\",c=\"scene\";t.name=u,t.attr=c,t.idRoot=c,t.idRegex=t.attrRegex=s.counterRegex(\"scene\"),t.attributes=r(59084),t.layoutAttributes=r(65500),t.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},\"plot\",\"nested\"),t.supplyLayoutDefaults=r(24682),t.plot=function(e){for(var t=e._fullLayout,r=e._fullData,n=t._subplots[u],i=0;i<n.length;i++){var s=n[i],l=o(r,u,s),c=t[s],f=c.camera,h=c._scene;h||(h=new a({id:s,graphDiv:e,container:e.querySelector(\".gl-container\"),staticPlot:e._context.staticPlot,plotGlPixelRatio:e._context.plotGlPixelRatio,camera:f},t),c._scene=h),h.viewInitial||(h.viewInitial={up:{x:f.up.x,y:f.up.y,z:f.up.z},eye:{x:f.eye.x,y:f.eye.y,z:f.eye.z},center:{x:f.center.x,y:f.center.y,z:f.center.z}}),h.plot(l,t,e.layout)}},t.clean=function(e,t,r,n){for(var i=n._subplots[u]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\".annotation-\"+o).remove())}},t.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[u],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._scene,c=s.toImage(\"png\");t._glimages.append(\"svg:image\").attr({xmlns:l.svg,\"xlink:href\":c,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}},t.cleanId=function(e){if(e.match(/^scene[0-9]*$/)){var t=e.substr(5);return\"1\"===t&&(t=\"\"),c+t}},t.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[u],n=0;n<r.length;n++)t[r[n]]._scene.updateFx(t.dragmode,t.hovermode)}},59084:function(e){\"use strict\";e.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}},77894:function(e,t,r){\"use strict\";var n=r(7901),i=r(13838),a=r(1426).extendFlat,o=r(30962).overrideAll;e.exports=o({visible:i.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:n.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:{text:i.title.text,font:i.title.font},type:a({},i.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:i.autotypenumbers,autorange:i.autorange,autorangeoptions:{minallowed:i.autorangeoptions.minallowed,maxallowed:i.autorangeoptions.maxallowed,clipmin:i.autorangeoptions.clipmin,clipmax:i.autorangeoptions.clipmax,include:i.autorangeoptions.include,editType:\"plot\"},rangemode:i.rangemode,minallowed:i.minallowed,maxallowed:i.maxallowed,range:a({},i.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],anim:!1}),tickmode:i.minor.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,labelalias:i.labelalias,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth,_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}},\"plot\",\"from-root\")},3277:function(e,t,r){\"use strict\";var n=r(84267).mix,i=r(71828),a=r(44467),o=r(77894),s=r(951),l=r(71453),u=[\"xaxis\",\"yaxis\",\"zaxis\"];e.exports=function(e,t,r){var c,f;function h(e,t){return i.coerce(c,f,o,e,t)}for(var p=0;p<u.length;p++){var d=u[p];c=e[d]||{},(f=a.newContainer(t,d))._id=d[0]+r.scene,f._name=d,s(c,f,h,r),l(c,f,h,{font:r.font,letter:d[0],data:r.data,showGrid:!0,noTickson:!0,noTicklabelmode:!0,noTicklabelstep:!0,noTicklabelposition:!0,noTicklabeloverflow:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),h(\"gridcolor\",n(f.color,r.bgColor,72.72727272727273).toRgbString()),h(\"title.text\",d[0]),f.setScale=i.noop,h(\"showspikes\")&&(h(\"spikesides\"),h(\"spikethickness\"),h(\"spikecolor\",f.color)),h(\"showaxeslabels\"),h(\"showbackground\")&&h(\"backgroundcolor\")}}},30422:function(e,t,r){\"use strict\";var n=r(78614),i=r(71828),a=[\"xaxis\",\"yaxis\",\"zaxis\"];function o(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}o.prototype.merge=function(e,t){for(var r=this,o=0;o<3;++o){var s=t[a[o]];s.visible?(r.labels[o]=e._meta?i.templateString(s.title.text,e._meta):s.title.text,\"font\"in s.title&&(s.title.font.color&&(r.labelColor[o]=n(s.title.font.color)),s.title.font.family&&(r.labelFont[o]=s.title.font.family),s.title.font.size&&(r.labelSize[o]=s.title.font.size)),\"showline\"in s&&(r.lineEnable[o]=s.showline),\"linecolor\"in s&&(r.lineColor[o]=n(s.linecolor)),\"linewidth\"in s&&(r.lineWidth[o]=s.linewidth),\"showgrid\"in s&&(r.gridEnable[o]=s.showgrid),\"gridcolor\"in s&&(r.gridColor[o]=n(s.gridcolor)),\"gridwidth\"in s&&(r.gridWidth[o]=s.gridwidth),\"log\"===s.type?r.zeroEnable[o]=!1:\"zeroline\"in s&&(r.zeroEnable[o]=s.zeroline),\"zerolinecolor\"in s&&(r.zeroLineColor[o]=n(s.zerolinecolor)),\"zerolinewidth\"in s&&(r.zeroLineWidth[o]=s.zerolinewidth),\"ticks\"in s&&s.ticks?r.lineTickEnable[o]=!0:r.lineTickEnable[o]=!1,\"ticklen\"in s&&(r.lineTickLength[o]=r._defaultLineTickLength[o]=s.ticklen),\"tickcolor\"in s&&(r.lineTickColor[o]=n(s.tickcolor)),\"tickwidth\"in s&&(r.lineTickWidth[o]=s.tickwidth),\"tickangle\"in s&&(r.tickAngle[o]=\"auto\"===s.tickangle?-3600:Math.PI*-s.tickangle/180),\"showticklabels\"in s&&(r.tickEnable[o]=s.showticklabels),\"tickfont\"in s&&(s.tickfont.color&&(r.tickColor[o]=n(s.tickfont.color)),s.tickfont.family&&(r.tickFont[o]=s.tickfont.family),s.tickfont.size&&(r.tickSize[o]=s.tickfont.size)),\"mirror\"in s?-1!==[\"ticks\",\"all\",\"allticks\"].indexOf(s.mirror)?(r.lineTickMirror[o]=!0,r.lineMirror[o]=!0):!0===s.mirror?(r.lineTickMirror[o]=!1,r.lineMirror[o]=!0):(r.lineTickMirror[o]=!1,r.lineMirror[o]=!1):r.lineMirror[o]=!1,\"showbackground\"in s&&!1!==s.showbackground?(r.backgroundEnable[o]=!0,r.backgroundColor[o]=n(s.backgroundcolor)):r.backgroundEnable[o]=!1):(r.tickEnable[o]=!1,r.labelEnable[o]=!1,r.lineEnable[o]=!1,r.lineTickEnable[o]=!1,r.gridEnable[o]=!1,r.zeroEnable[o]=!1,r.backgroundEnable[o]=!1)}},e.exports=function(e,t){var r=new o;return r.merge(e,t),r}},24682:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901),a=r(73972),o=r(49119),s=r(3277),l=r(65500),u=r(27659).NG,c=\"gl3d\";function f(e,t,r,n){for(var o=r(\"bgcolor\"),l=i.combine(o,n.paper_bgcolor),f=[\"up\",\"center\",\"eye\"],h=0;h<f.length;h++)r(\"camera.\"+f[h]+\".x\"),r(\"camera.\"+f[h]+\".y\"),r(\"camera.\"+f[h]+\".z\");r(\"camera.projection.type\");var p=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),d=r(\"aspectmode\",p?\"manual\":\"auto\");p||(e.aspectratio=t.aspectratio={x:1,y:1,z:1},\"manual\"===d&&(t.aspectmode=\"auto\"),e.aspectmode=t.aspectmode);var v=u(n.fullData,c,n.id);s(e,t,{font:n.font,scene:n.id,data:v,bgColor:l,calendar:n.calendar,autotypenumbersDflt:n.autotypenumbersDflt,fullLayout:n.fullLayout}),a.getComponentMethod(\"annotations3d\",\"handleDefaults\")(e,t,n);var g=n.getDfltFromLayout(\"dragmode\");if(!1!==g&&!g)if(g=\"orbit\",e.camera&&e.camera.up){var m=e.camera.up.x,y=e.camera.up.y,x=e.camera.up.z;0!==x&&(m&&y&&x?x/Math.sqrt(m*m+y*y+x*x)>.999&&(g=\"turntable\"):g=\"turntable\")}else g=\"turntable\";r(\"dragmode\",g),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}e.exports=function(e,t,r){var i=t._basePlotModules.length>1;o(e,t,r,{type:c,attributes:l,handleDefaults:f,fullLayout:t,font:t.font,fullData:r,getDfltFromLayout:function(t){if(!i)return n.validate(e[t],l[t])?e[t]:void 0},autotypenumbersDflt:t.autotypenumbers,paper_bgcolor:t.paper_bgcolor,calendar:t.calendar})}},65500:function(e,t,r){\"use strict\";var n=r(77894),i=r(27670).Y,a=r(1426).extendFlat,o=r(71828).counterRegex;function s(e,t,r){return{x:{valType:\"number\",dflt:e,editType:\"camera\"},y:{valType:\"number\",dflt:t,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}e.exports={_arrayAttrRegexps:[o(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:i({name:\"scene\",editType:\"plot\"}),aspectmode:{valType:\"enumerated\",values:[\"auto\",\"cube\",\"data\",\"manual\"],dflt:\"auto\",editType:\"plot\",impliedEdits:{\"aspectratio.x\":void 0,\"aspectratio.y\":void 0,\"aspectratio.z\":void 0}},aspectratio:{x:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},y:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},z:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},editType:\"plot\",impliedEdits:{aspectmode:\"manual\"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:\"enumerated\",values:[\"orbit\",\"turntable\",\"zoom\",\"pan\",!1],editType:\"plot\"},hovermode:{valType:\"enumerated\",values:[\"closest\",!1],dflt:\"closest\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"plot\",_deprecated:{cameraposition:{valType:\"info_array\",editType:\"camera\"}}}},13133:function(e,t,r){\"use strict\";var n=r(78614),i=[\"xaxis\",\"yaxis\",\"zaxis\"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(e){for(var t=0;t<3;++t){var r=e[i[t]];r.visible?(this.enabled[t]=r.showspikes,this.colors[t]=n(r.spikecolor),this.drawSides[t]=r.spikesides,this.lineWidth[t]=r.spikethickness):(this.enabled[t]=!1,this.drawSides[t]=!1)}},e.exports=function(e){var t=new a;return t.merge(e),t}},96085:function(e,t,r){\"use strict\";e.exports=function(e){for(var t=e.axesOptions,r=e.glplot.axesPixels,s=e.fullSceneLayout,l=[[],[],[]],u=0;u<3;++u){var c=s[a[u]];if(c._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/e.dataScale[u],Math.abs(c._length)===1/0||isNaN(c._length))l[u]=[];else{c._input_range=c.range.slice(),c.range[0]=r[u].lo/e.dataScale[u],c.range[1]=r[u].hi/e.dataScale[u],c._m=1/(e.dataScale[u]*r[u].pixelsPerDataUnit),c.range[0]===c.range[1]&&(c.range[0]-=1,c.range[1]+=1);var f=c.tickmode;if(\"auto\"===c.tickmode){c.tickmode=\"linear\";var h=c.nticks||i.constrain(c._length/40,4,9);n.autoTicks(c,Math.abs(c.range[1]-c.range[0])/h)}for(var p=n.calcTicks(c,{msUTC:!0}),d=0;d<p.length;++d)p[d].x=p[d].x*e.dataScale[u],\"date\"===c.type&&(p[d].text=p[d].text.replace(/\\<br\\>/g,\" \"));l[u]=p,c.tickmode=f}}for(t.ticks=l,u=0;u<3;++u)for(o[u]=.5*(e.glplot.bounds[0][u]+e.glplot.bounds[1][u]),d=0;d<2;++d)t.bounds[d][u]=e.glplot.bounds[d][u];e.contourLevels=function(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;t[r]=i}return t}(l)};var n=r(89298),i=r(71828),a=[\"xaxis\",\"yaxis\",\"zaxis\"],o=[0,0,0]},63538:function(e){\"use strict\";function t(e,t){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=e[4*r+n]*t[r];return i}e.exports=function(e,r){return t(e.projection,t(e.view,t(e.model,[r[0],r[1],r[2],1])))}},33539:function(e,t,r){\"use strict\";var n,i,a=r(9330).gl_plot3d,o=a.createCamera,s=a.createScene,l=r(40372),u=r(38520),c=r(73972),f=r(71828),h=f.preserveDrawingBuffer(),p=r(89298),d=r(30211),v=r(78614),g=r(58617),m=r(63538),y=r(30422),x=r(13133),b=r(96085),_=r(71739).applyAutorangeOptions,w=!1;function k(e,t){var r=document.createElement(\"div\"),n=e.container;this.graphDiv=e.graphDiv;var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\",r.appendChild(i),this.svgContainer=i,r.id=e.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=t,this.id=e.id||\"scene\",this.fullSceneLayout=t[this.id],this.plotArgs=[[],{},{}],this.axesOptions=y(t,t[this.id]),this.spikeOptions=x(t[this.id]),this.container=r,this.staticMode=!!e.staticPlot,this.pixelRatio=this.pixelRatio||e.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=c.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=c.getComponentMethod(\"annotations3d\",\"draw\"),this.initializeGLPlot()}var T=k.prototype;T.prepareOptions=function(){var e=this,t={canvas:e.canvas,gl:e.gl,glOptions:{preserveDrawingBuffer:h,premultipliedAlpha:!0,antialias:!0},container:e.container,axes:e.axesOptions,spikes:e.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e.camera,pixelRatio:e.pixelRatio};if(e.staticMode){if(!(i||(n=document.createElement(\"canvas\"),i=l({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"error creating static canvas/context for image server\");t.gl=i,t.canvas=n}return t};var M=!0;T.tryCreatePlot=function(){var e=this,t=e.prepareOptions(),r=!0;try{e.glplot=s(t)}catch(n){if(e.staticMode||!M||h)r=!1;else{f.warn([\"webgl setup failed possibly due to\",\"false preserveDrawingBuffer config.\",\"The mobile/tablet device may not be detected by is-mobile module.\",\"Enabling preserveDrawingBuffer in second attempt to create webgl scene...\"].join(\" \"));try{h=t.glOptions.preserveDrawingBuffer=!0,e.glplot=s(t)}catch(e){h=t.glOptions.preserveDrawingBuffer=!1,r=!1}}}return M=!1,r},T.initializeGLCamera=function(){var e=this,t=e.fullSceneLayout.camera,r=\"orthographic\"===t.projection.type;e.camera=o(e.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:r,zoomMin:.01,zoomMax:100,mode:\"orbit\"})},T.initializeGLPlot=function(){var e=this;if(e.initializeGLCamera(),!e.tryCreatePlot())return g(e);e.traces={},e.make4thDimension();var t=e.graphDiv,r=t.layout,n=function(){var t={};return e.isCameraChanged(r)&&(t[e.id+\".camera\"]=e.getCamera()),e.isAspectChanged(r)&&(t[e.id+\".aspectratio\"]=e.glplot.getAspectratio(),\"manual\"!==r[e.id].aspectmode&&(e.fullSceneLayout.aspectmode=r[e.id].aspectmode=t[e.id+\".aspectmode\"]=\"manual\")),t},i=function(e){if(!1!==e.fullSceneLayout.dragmode){var t=n();e.saveLayout(r),e.graphDiv.emit(\"plotly_relayout\",t)}};return e.glplot.canvas&&(e.glplot.canvas.addEventListener(\"mouseup\",(function(){i(e)})),e.glplot.canvas.addEventListener(\"touchstart\",(function(){w=!0})),e.glplot.canvas.addEventListener(\"wheel\",(function(r){if(t._context._scrollZoom.gl3d){if(e.camera._ortho){var n=r.deltaX>r.deltaY?1.1:1/1.1,a=e.glplot.getAspectratio();e.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(e)}}),!!u&&{passive:!1}),e.glplot.canvas.addEventListener(\"mousemove\",(function(){if(!1!==e.fullSceneLayout.dragmode&&0!==e.camera.mouseListener.buttons){var t=n();e.graphDiv.emit(\"plotly_relayouting\",t)}})),e.staticMode||e.glplot.canvas.addEventListener(\"webglcontextlost\",(function(r){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:r,layer:e.id})}),!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0},T.render=function(){var e,t=this,r=t.graphDiv,n=t.svgContainer,i=t.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,\"viewBox\",\"0 0 \"+s+\" \"+l),n.setAttributeNS(null,\"width\",s),n.setAttributeNS(null,\"height\",l),b(t),t.glplot.axes.update(t.axesOptions);for(var u=Object.keys(t.traces),c=null,h=t.glplot.selection,v=0;v<u.length;++v)\"skip\"!==(e=t.traces[u[v]]).data.hoverinfo&&e.handlePick(h)&&(c=e),e.setContourLevels&&e.setContourLevels();function g(e,r,n){var i=t.fullSceneLayout[e+\"axis\"];return\"log\"!==i.type&&(r=i.d2l(r)),p.hoverLabelText(i,r,n)}if(null!==c){var y=m(t.glplot.cameraParams,h.dataCoordinate);e=c.data;var x,_=r._fullData[e.index],k=h.index,T={xLabel:g(\"x\",h.traceCoordinate[0],e.xhoverformat),yLabel:g(\"y\",h.traceCoordinate[1],e.yhoverformat),zLabel:g(\"z\",h.traceCoordinate[2],e.zhoverformat)},M=d.castHoverinfo(_,t.fullLayout,k),A=(M||\"\").split(\"+\"),S=M&&\"all\"===M;_.hovertemplate||S||(-1===A.indexOf(\"x\")&&(T.xLabel=void 0),-1===A.indexOf(\"y\")&&(T.yLabel=void 0),-1===A.indexOf(\"z\")&&(T.zLabel=void 0),-1===A.indexOf(\"text\")&&(h.textLabel=void 0),-1===A.indexOf(\"name\")&&(c.name=void 0));var E=[];\"cone\"===e.type||\"streamtube\"===e.type?(T.uLabel=g(\"x\",h.traceCoordinate[3],e.uhoverformat),(S||-1!==A.indexOf(\"u\"))&&E.push(\"u: \"+T.uLabel),T.vLabel=g(\"y\",h.traceCoordinate[4],e.vhoverformat),(S||-1!==A.indexOf(\"v\"))&&E.push(\"v: \"+T.vLabel),T.wLabel=g(\"z\",h.traceCoordinate[5],e.whoverformat),(S||-1!==A.indexOf(\"w\"))&&E.push(\"w: \"+T.wLabel),T.normLabel=h.traceCoordinate[6].toPrecision(3),(S||-1!==A.indexOf(\"norm\"))&&E.push(\"norm: \"+T.normLabel),\"streamtube\"===e.type&&(T.divergenceLabel=h.traceCoordinate[7].toPrecision(3),(S||-1!==A.indexOf(\"divergence\"))&&E.push(\"divergence: \"+T.divergenceLabel)),h.textLabel&&E.push(h.textLabel),x=E.join(\"<br>\")):\"isosurface\"===e.type||\"volume\"===e.type?(T.valueLabel=p.hoverLabelText(t._mockAxis,t._mockAxis.d2l(h.traceCoordinate[3]),e.valuehoverformat),E.push(\"value: \"+T.valueLabel),h.textLabel&&E.push(h.textLabel),x=E.join(\"<br>\")):x=h.textLabel;var C={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:k};d.appendArrayPointValue(C,_,k),e._module.eventData&&(C=_._module.eventData(C,h,_,{},k));var L={points:[C]};if(t.fullSceneLayout.hovermode){var P=[];d.loneHover({trace:_,x:(.5+.5*y[0]/y[3])*s,y:(.5-.5*y[1]/y[3])*l,xLabel:T.xLabel,yLabel:T.yLabel,zLabel:T.zLabel,text:x,name:c.name,color:d.castHoverOption(_,k,\"bgcolor\")||c.color,borderColor:d.castHoverOption(_,k,\"bordercolor\"),fontFamily:d.castHoverOption(_,k,\"font.family\"),fontSize:d.castHoverOption(_,k,\"font.size\"),fontColor:d.castHoverOption(_,k,\"font.color\"),nameLength:d.castHoverOption(_,k,\"namelength\"),textAlign:d.castHoverOption(_,k,\"align\"),hovertemplate:f.castOption(_,k,\"hovertemplate\"),hovertemplateLabels:f.extendFlat({},C,T),eventData:[C]},{container:n,gd:r,inOut_bbox:P}),C.bbox=P[0]}h.distance<5&&(h.buttons||w)?r.emit(\"plotly_click\",L):r.emit(\"plotly_hover\",L),this.oldEventData=L}else d.loneUnhover(n),this.oldEventData&&r.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;t.drawAnnotations(t)},T.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){e.glplot.gl.isContextLost()?requestAnimationFrame(t):e.initializeGLPlot()?e.plot.apply(e,e.plotArgs):f.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\")};requestAnimationFrame(t)};var A=[\"xaxis\",\"yaxis\",\"zaxis\"];function S(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=A[i],o=a.charAt(0),s=n[a],l=t[o],u=t[o+\"calendar\"],c=t[\"_\"+o+\"length\"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(c||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;d<l[p].length;++d)h=s.d2l(l[p][d],0,u),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else h=s.d2l(l[p],0,u),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],c-1)}}T.plot=function(e,t,r){var n=this;if(n.plotArgs=[e,t,r],!n.glplot.contextLost){var i,a,o,s,l,u,c=t[n.id],f=r[n.id];n.fullLayout=t,n.fullSceneLayout=c,n.axesOptions.merge(t,c),n.spikeOptions.merge(c),n.setViewport(c),n.updateFx(c.dragmode,c.hovermode),n.camera.enableWheel=n.graphDiv._context._scrollZoom.gl3d,n.glplot.setClearColor(v(c.bgcolor)),n.setConvert(l),e?Array.isArray(e)||(e=[e]):e=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(o=0;o<e.length;++o)!0===(i=e[o]).visible&&0!==i._length&&S(this,i,h);!function(e,t){for(var r=e.fullSceneLayout,n=r.annotations||[],i=0;i<3;i++)for(var a=A[i],o=a.charAt(0),s=r[a],l=0;l<n.length;l++){var u=n[l];if(u.visible){var c=s.r2l(u[o]);!isNaN(c)&&isFinite(c)&&(t[0][i]=Math.min(t[0][i],c),t[1][i]=Math.max(t[1][i],c))}}}(this,h);var p=[1,1,1];for(s=0;s<3;++s)h[1][s]===h[0][s]?p[s]=1:p[s]=1/(h[1][s]-h[0][s]);for(n.dataScale=p,n.convertAnnotations(this),o=0;o<e.length;++o)!0===(i=e[o]).visible&&0!==i._length&&((a=n.traces[i.uid])?a.data.type===i.type?a.update(i):(a.dispose(),a=i._module.plot(this,i),n.traces[i.uid]=a):(a=i._module.plot(this,i),n.traces[i.uid]=a),a.name=i.name);var d=Object.keys(n.traces);e:for(o=0;o<d.length;++o){for(s=0;s<e.length;++s)if(e[s].uid===d[o]&&!0===e[s].visible&&0!==e[s]._length)continue e;(a=n.traces[d[o]]).dispose(),delete n.traces[d[o]]}n.glplot.objects.sort((function(e,t){return e._trace.data.index-t._trace.data.index}));var g,m=[[0,0,0],[0,0,0]],y=[],x={};for(o=0;o<3;++o){var b;if((u=(l=c[A[o]]).type)in x?(x[u].acc*=p[o],x[u].count+=1):x[u]={acc:p[o],count:1},l.autorange){m[0][o]=1/0,m[1][o]=-1/0;var w=n.glplot.objects,k=n.fullSceneLayout.annotations||[],T=l._name.charAt(0);for(s=0;s<w.length;s++){var M=w[s],E=M.bounds,C=M._trace.data._pad||0;\"ErrorBars\"===M.constructor.name&&l._lowerLogErrorBound?m[0][o]=Math.min(m[0][o],l._lowerLogErrorBound):m[0][o]=Math.min(m[0][o],E[0][o]/p[o]-C),m[1][o]=Math.max(m[1][o],E[1][o]/p[o]+C)}for(s=0;s<k.length;s++){var L=k[s];if(L.visible){var P=l.r2l(L[T]);m[0][o]=Math.min(m[0][o],P),m[1][o]=Math.max(m[1][o],P)}}if(\"rangemode\"in l&&\"tozero\"===l.rangemode&&(m[0][o]=Math.min(m[0][o],0),m[1][o]=Math.max(m[1][o],0)),m[0][o]>m[1][o])m[0][o]=-1,m[1][o]=1;else{var O=m[1][o]-m[0][o];m[0][o]-=O/32,m[1][o]+=O/32}if(b=[m[0][o],m[1][o]],b=_(b,l),m[0][o]=b[0],m[1][o]=b[1],l.isReversed()){var I=m[0][o];m[0][o]=m[1][o],m[1][o]=I}}else b=l.range,m[0][o]=l.r2l(b[0]),m[1][o]=l.r2l(b[1]);m[0][o]===m[1][o]&&(m[0][o]-=1,m[1][o]+=1),y[o]=m[1][o]-m[0][o],l.range=[m[0][o],m[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var D=c.aspectmode;if(\"cube\"===D)g=[1,1,1];else if(\"manual\"===D){var z=c.aspectratio;g=[z.x,z.y,z.z]}else{if(\"auto\"!==D&&\"data\"!==D)throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");var R=[1,1,1];for(o=0;o<3;++o){var F=x[u=(l=c[A[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}g=\"data\"===D||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}c.aspectratio.x=f.aspectratio.x=g[0],c.aspectratio.y=f.aspectratio.y=g[1],c.aspectratio.z=f.aspectratio.z=g[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var B=c.domain||null,N=t._size||null;if(B&&N){var j=n.container.style;j.position=\"absolute\",j.left=N.l+B.x[0]*N.w+\"px\",j.top=N.t+(1-B.y[1])*N.h+\"px\",j.width=N.w*(B.x[1]-B.x[0])+\"px\",j.height=N.h*(B.y[1]-B.y[0])+\"px\"}n.glplot.redraw()}},T.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener(\"wheel\",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)},T.getCamera=function(){var e,t=this;return t.camera.view.recalcMatrix(t.camera.view.lastT()),{up:{x:(e=t.camera).up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:!0===e._ortho?\"orthographic\":\"perspective\"}}},T.setViewport=function(e){var t,r=this,n=e.camera;r.camera.lookAt.apply(this,[[(t=n).eye.x,t.eye.y,t.eye.z],[t.center.x,t.center.y,t.center.z],[t.up.x,t.up.y,t.up.z]]),r.glplot.setAspectratio(e.aspectratio),\"orthographic\"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},T.isCameraChanged=function(e){var t=this.getCamera(),r=f.nestedProperty(e,this.id+\".camera\").get();function n(e,t,r,n){var i=[\"up\",\"center\",\"eye\"],a=[\"x\",\"y\",\"z\"];return t[i[r]]&&e[i[r]][a[n]]===t[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(t,r,a,o)){i=!0;break}(!r.projection||t.projection&&t.projection.type!==r.projection.type)&&(i=!0)}return i},T.isAspectChanged=function(e){var t=this.glplot.getAspectratio(),r=f.nestedProperty(e,this.id+\".aspectratio\").get();return void 0===r||r.x!==t.x||r.y!==t.y||r.z!==t.z},T.saveLayout=function(e){var t,r,n,i,a,o,s=this,l=s.fullLayout,u=s.isCameraChanged(e),h=s.isAspectChanged(e),p=u||h;if(p){var d={};u&&(t=s.getCamera(),n=(r=f.nestedProperty(e,s.id+\".camera\")).get(),d[s.id+\".camera\"]=n),h&&(i=s.glplot.getAspectratio(),o=(a=f.nestedProperty(e,s.id+\".aspectratio\")).get(),d[s.id+\".aspectratio\"]=o),c.call(\"_storeDirectGUIEdit\",e,l._preGUI,d),u&&(r.set(t),f.nestedProperty(l,s.id+\".camera\").set(t)),h&&(a.set(i),f.nestedProperty(l,s.id+\".aspectratio\").set(i),s.glplot.redraw())}return p},T.updateFx=function(e,t){var r=this,n=r.camera;if(n)if(\"orbit\"===e)n.mode=\"orbit\",n.keyBindingMode=\"rotate\";else if(\"turntable\"===e){n.up=[0,0,1],n.mode=\"turntable\",n.keyBindingMode=\"rotate\";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var h=r.id+\".camera.up\",p={x:0,y:0,z:1},d={};d[h]=p;var v=i.layout;c.call(\"_storeDirectGUIEdit\",v,a._preGUI,d),o.up=p,f.nestedProperty(v,h).set(p)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t},T.toImage=function(e){var t=this;e||(e=\"png\"),t.staticMode&&t.container.appendChild(n),t.glplot.redraw();var r=t.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(e,t,r){for(var n=0,i=r-1;n<i;++n,--i)for(var a=0;a<t;++a)for(var o=0;o<4;++o){var s=4*(t*n+a)+o,l=4*(t*i+a)+o,u=e[s];e[s]=e[l],e[l]=u}}(o,i,a),function(e,t,r){for(var n=0;n<r;++n)for(var i=0;i<t;++i){var a=4*(t*n+i),o=e[a+3];if(o>0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}(o,i,a);var s=document.createElement(\"canvas\");s.width=i,s.height=a;var l,u=s.getContext(\"2d\",{willReadFrequently:!0}),c=u.createImageData(i,a);switch(c.data.set(o),u.putImageData(c,0,0),e){case\"jpeg\":l=s.toDataURL(\"image/jpeg\");break;case\"webp\":l=s.toDataURL(\"image/webp\");break;default:l=s.toDataURL(\"image/png\")}return t.staticMode&&t.container.removeChild(n),l},T.setConvert=function(){for(var e=0;e<3;e++){var t=this.fullSceneLayout[A[e]];p.setConvert(t,this.fullLayout),t.setScale=f.noop}},T.make4thDimension=function(){var e=this,t=e.graphDiv._fullLayout;e._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},p.setConvert(e._mockAxis,t)},e.exports=k},90060:function(e){\"use strict\";e.exports=function(e,t,r,n){n=n||e.length;for(var i=new Array(n),a=0;a<n;a++)i[a]=[e[a],t[a],r[a]];return i}},10820:function(e,t,r){\"use strict\";var n=r(41940),i=r(85594),a=r(22399),o=r(29241),s=r(53777),l=r(35025),u=r(1426).extendFlat,c=n({editType:\"calc\"});c.family.dflt='\"Open Sans\", verdana, arial, sans-serif',c.size.dflt=12,c.color.dflt=a.defaultLine,e.exports={font:c,title:{text:{valType:\"string\",editType:\"layoutstyle\"},font:n({editType:\"layoutstyle\"}),xref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},x:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"layoutstyle\"},y:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"left\",\"center\",\"right\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"layoutstyle\"},pad:u(l({editType:\"layoutstyle\"}),{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},editType:\"layoutstyle\"},uniformtext:{mode:{valType:\"enumerated\",values:[!1,\"hide\",\"show\"],dflt:!1,editType:\"plot\"},minsize:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"},autosize:{valType:\"boolean\",dflt:!1,editType:\"none\"},width:{valType:\"number\",min:10,dflt:700,editType:\"plot\"},height:{valType:\"number\",min:10,dflt:450,editType:\"plot\"},minreducedwidth:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},minreducedheight:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},margin:{l:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},r:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},t:{valType:\"number\",min:0,dflt:100,editType:\"plot\"},b:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},autoexpand:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},computed:{valType:\"any\",editType:\"none\"},paper_bgcolor:{valType:\"color\",dflt:a.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:a.background,editType:\"layoutstyle\"},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:a.defaults,editType:\"calc\"},datarevision:{valType:\"any\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editrevision:{valType:\"any\",editType:\"none\"},selectionrevision:{valType:\"any\",editType:\"none\"},template:{valType:\"any\",editType:\"calc\"},newshape:o.newshape,activeshape:o.activeshape,newselection:s.newselection,activeselection:s.activeselection,meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},transition:u({},i.transition,{editType:\"none\"}),_deprecated:{title:{valType:\"string\",editType:\"layoutstyle\"},titlefont:n({editType:\"layoutstyle\"})}}},77734:function(e,t,r){\"use strict\";var n=r(78607),i=\"1.10.1\",a='© <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors',o=['© <a target=\"_blank\" href=\"https://carto.com/\">Carto</a>',a].join(\" \"),s=['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">ODbL</a>'].join(\" \"),l={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:a,tiles:[\"https://a.tile.openstreetmap.org/{z}/{x}/{y}.png\",\"https://b.tile.openstreetmap.org/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-osm-tiles\",type:\"raster\",source:\"plotly-osm-tiles\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-positron\":{id:\"carto-positron\",version:8,sources:{\"plotly-carto-positron\":{type:\"raster\",attribution:o,tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-positron\",type:\"raster\",source:\"plotly-carto-positron\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-darkmatter\":{id:\"carto-darkmatter\",version:8,sources:{\"plotly-carto-darkmatter\":{type:\"raster\",attribution:o,tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-darkmatter\",type:\"raster\",source:\"plotly-carto-darkmatter\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-terrain\":{id:\"stamen-terrain\",version:8,sources:{\"plotly-stamen-terrain\":{type:\"raster\",attribution:s,tiles:[\"https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-terrain\",type:\"raster\",source:\"plotly-stamen-terrain\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-toner\":{id:\"stamen-toner\",version:8,sources:{\"plotly-stamen-toner\":{type:\"raster\",attribution:s,tiles:[\"https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-toner\",type:\"raster\",source:\"plotly-stamen-toner\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-watercolor\":{id:\"stamen-watercolor\",version:8,sources:{\"plotly-stamen-watercolor\":{type:\"raster\",attribution:['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by-sa/3.0\">CC BY SA</a>'].join(\" \"),tiles:[\"https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-stamen-watercolor\",type:\"raster\",source:\"plotly-stamen-watercolor\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"}},u=n(l);e.exports={requiredVersion:i,styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:l,styleValuesNonMapbox:u,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install mapbox-gl@\"+i+\".\"].join(\"\\n\"),noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\"  Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });\",\"More info here: https://www.mapbox.com/help/define-access-token/\"].join(\"\\n\"),missingStyleErrorMsg:[\"No valid mapbox style found, please set `mapbox.style` to one of:\",u.join(\", \"),\"or register a Mapbox access token to use a Mapbox-served style.\"].join(\"\\n\"),multipleTokensErrorMsg:[\"Set multiple mapbox access token across different mapbox subplot,\",\"using first token found as mapbox-gl does not allow multipleaccess tokens on the same page.\"].join(\"\\n\"),mapOnErrorMsg:\"Mapbox error.\",mapboxLogo:{path0:\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\",path1:\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\",path2:\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\",polygon:\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34\"},styleRules:{map:\"overflow:hidden;position:relative;\",\"missing-css\":\"display:none;\",canary:\"background-color:salmon;\",\"ctrl-bottom-left\":\"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;\",\"ctrl-bottom-right\":\"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;\",ctrl:\"clear: both; pointer-events: auto; transform: translate(0, 0);\",\"ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner\":\"display: none;\",\"ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner\":\"display: block; margin-top:2px\",\"ctrl-attrib.mapboxgl-compact:hover\":\"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;\",\"ctrl-attrib.mapboxgl-compact::after\":'content: \"\"; cursor: pointer; position: absolute; background-image: url(\\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"%3E %3Cpath fill=\"%23333333\" fill-rule=\"evenodd\" d=\"M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0\"/%3E %3C/svg%3E\\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',\"ctrl-attrib.mapboxgl-compact\":\"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;\",\"ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; right: 0\",\"ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; left: 0\",\"ctrl-bottom-left .mapboxgl-ctrl\":\"margin: 0 0 10px 10px; float: left;\",\"ctrl-bottom-right .mapboxgl-ctrl\":\"margin: 0 10px 10px 0; float: right;\",\"ctrl-attrib\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a:hover\":\"color: inherit; text-decoration: underline;\",\"ctrl-attrib .mapbox-improve-map\":\"font-weight: bold; margin-left: 2px;\",\"attrib-empty\":\"display: none;\",\"ctrl-logo\":'display:block; width: 21px; height: 21px; background-image: url(\\'data:image/svg+xml;charset=utf-8,%3C?xml version=\"1.0\" encoding=\"utf-8\"?%3E %3Csvg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 21 21\" style=\"enable-background:new 0 0 21 21;\" xml:space=\"preserve\"%3E%3Cg transform=\"translate(0,0.01)\"%3E%3Cpath d=\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3Cpath d=\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpath d=\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpolygon points=\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 \" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3C/g%3E%3C/svg%3E\\')'}}},13056:function(e,t,r){\"use strict\";var n=r(71828);e.exports=function(e,t){var r=e.split(\" \"),i=r[0],a=r[1],o=n.isArrayOrTypedArray(t)?n.mean(t):t,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s}return{anchor:u[0]&&u[1]?u.join(\"-\"):u[0]?u[0]:u[1]?u[1]:\"center\",offset:c}}},50101:function(e,t,r){\"use strict\";var n=r(44517),i=r(71828),a=i.strTranslate,o=i.strScale,s=r(27659).AU,l=r(77922),u=r(39898),c=r(91424),f=r(63893),h=r(10481),p=\"mapbox\",d=t.constants=r(77734);function v(e){return\"string\"==typeof e&&(-1!==d.styleValuesMapbox.indexOf(e)||0===e.indexOf(\"mapbox://\"))}t.name=p,t.attr=\"subplot\",t.idRoot=p,t.idRegex=t.attrRegex=i.counterRegex(p),t.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}},t.layoutAttributes=r(23585),t.supplyLayoutDefaults=r(77882),t.plot=function(e){var t=e._fullLayout,r=e.calcdata,a=t._subplots[p];if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(e,t){var r=e._fullLayout;if(\"\"===e._context.mapboxAccessToken)return\"\";for(var n=[],a=[],o=!1,s=!1,l=0;l<t.length;l++){var u=r[t[l]],c=u.accesstoken;v(u.style)&&(c?i.pushUnique(n,c):(v(u._input.style)&&(i.error(\"Uses Mapbox map style, but did not set an access token.\"),o=!0),s=!0)),c&&i.pushUnique(a,c)}if(s){var f=o?d.noAccessTokenErrorMsg:d.missingStyleErrorMsg;throw i.error(f),new Error(f)}return n.length?(n.length>1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log([\"Listed mapbox access token(s)\",a.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}(e,a);n.accessToken=o;for(var l=0;l<a.length;l++){var u=a[l],c=s(r,p,u),f=t[u],g=f._subplot;g||(g=new h(e,u),t[u]._subplot=g),g.viewInitial||(g.viewInitial={center:i.extendFlat({},f.center),zoom:f.zoom,bearing:f.bearing,pitch:f.pitch}),g.plot(c,t,e._promises)}},t.clean=function(e,t,r,n){for(var i=n._subplots[p]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},t.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[p],n=t._size,i=0;i<r.length;i++){var s=t[r[i]],h=s.domain,v=s._subplot.toImage(\"png\");t._glimages.append(\"svg:image\").attr({xmlns:l.svg,\"xlink:href\":v,x:n.l+n.w*h.x[0],y:n.t+n.h*(1-h.y[1]),width:n.w*(h.x[1]-h.x[0]),height:n.h*(h.y[1]-h.y[0]),preserveAspectRatio:\"none\"});var g=u.select(s._subplot.div);if(null!==g.select(\".mapboxgl-ctrl-logo\").node().offsetParent){var m=t._glimages.append(\"g\");m.attr(\"transform\",a(n.l+n.w*h.x[0]+10,n.t+n.h*(1-h.y[0])-31)),m.append(\"path\").attr(\"d\",d.mapboxLogo.path0).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"}),m.append(\"path\").attr(\"d\",d.mapboxLogo.path1).style(\"opacity\",.35).style(\"enable-background\",\"new\"),m.append(\"path\").attr(\"d\",d.mapboxLogo.path2).style(\"opacity\",.35).style(\"enable-background\",\"new\"),m.append(\"polygon\").attr(\"points\",d.mapboxLogo.polygon).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"})}var y=g.select(\".mapboxgl-ctrl-attrib\").text().replace(\"Improve this map\",\"\"),x=t._glimages.append(\"g\"),b=x.append(\"text\");b.text(y).classed(\"static-attribution\",!0).attr({\"font-size\":12,\"font-family\":\"Arial\",color:\"rgba(0, 0, 0, 0.75)\",\"text-anchor\":\"end\",\"data-unformatted\":y});var _=c.bBox(b.node()),w=n.w*(h.x[1]-h.x[0]);if(_.width>w/2){var k=y.split(\"|\").join(\"<br>\");b.text(k).attr(\"data-unformatted\",k).call(f.convertToTspans,e),_=c.bBox(b.node())}b.attr(\"transform\",a(-3,8-_.height)),x.insert(\"rect\",\".static-attribution\").attr({x:-_.width-6,y:-_.height-3,width:_.width+6,height:_.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var T=1;_.width+6>w&&(T=w/(_.width+6));var M=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];x.attr(\"transform\",a(M[0],M[1])+o(T))}},t.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[p],n=0;n<r.length;n++)t[r[n]]._subplot.updateFx(t)}},67911:function(e,t,r){\"use strict\";var n=r(71828),i=r(63893).sanitizeHTML,a=r(13056),o=r(77734);function s(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=o.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var l=s.prototype;function u(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var r=0;r<t.length;r++)if(\"string\"!=typeof t[r]||0===t[r].length)return!1;return!0}return n.isPlainObject(t)||\"string\"==typeof t&&t.length>0}function c(e){var t={},r={};switch(e.type){case\"circle\":n.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":n.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":n.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var i=e.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(t,{\"icon-image\":i.icon+\"-15\",\"icon-size\":i.iconsize/10,\"text-field\":i.text,\"text-size\":i.textfont.size,\"text-anchor\":o.anchor,\"text-offset\":o.offset,\"symbol-placement\":i.placement}),n.extendFlat(r,{\"icon-color\":e.color,\"text-color\":i.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":n.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity})}return{layout:t,paint:r}}l.update=function(e){this.visible?this.needsNewImage(e)?this.updateImage(e):this.needsNewSource(e)?(this.removeLayer(),this.updateSource(e),this.updateLayer(e)):this.needsNewLayer(e)?this.updateLayer(e):this.updateStyle(e):(this.updateSource(e),this.updateLayer(e)),this.visible=u(e)},l.needsNewImage=function(e){return this.subplot.map.getSource(this.idSource)&&\"image\"===this.sourceType&&\"image\"===e.sourcetype&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))},l.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type},l.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]},l.updateImage=function(e){this.subplot.map.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var t=this.findFollowingMapboxLayerId(this.lookupBelow());null!==t&&this.subplot.map.moveLayer(this.idLayer,t)},l.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,u(e)){var r=function(e){var t,r=e.sourcetype,n=e.source,a={type:r};return\"geojson\"===r?t=\"data\":\"vector\"===r?t=\"string\"==typeof n?\"url\":\"tiles\":\"raster\"===r?(t=\"tiles\",a.tileSize=256):\"image\"===r&&(t=\"url\",a.coordinates=e.coordinates),a[t]=n,e.sourceattribution&&(a.attribution=i(e.sourceattribution)),a}(e);t.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(e){if(\"traces\"===e)for(var t=this.subplot.getMapLayers(),r=0;r<t.length;r++){var n=t[r].id;if(\"string\"==typeof n&&0===n.indexOf(o.traceLayerPrefix)){e=n;break}}return e},l.updateLayer=function(e){var t=this.subplot,r=c(e),n=this.lookupBelow(),i=this.findFollowingMapboxLayerId(n);this.removeLayer(),u(e)&&t.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":e.sourcelayer||\"\",type:e.type,minzoom:e.minzoom,maxzoom:e.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=e.type,this.below=n},l.updateStyle=function(e){if(u(e)){var t=c(e);this.subplot.setOptions(this.idLayer,\"setLayoutProperty\",t.layout),this.subplot.setOptions(this.idLayer,\"setPaintProperty\",t.paint)}},l.removeLayer=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer)},l.dispose=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),e.getSource(this.idSource)&&e.removeSource(this.idSource)},e.exports=function(e,t,r){var n=new s(e,t);return n.update(r),n}},23585:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901).defaultLine,a=r(27670).Y,o=r(41940),s=r(82196).textposition,l=r(30962).overrideAll,u=r(44467).templatedArray,c=r(77734),f=o({});f.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\",(e.exports=l({_arrayAttrRegexps:[n.counterRegex(\"mapbox\",\".layers\",!0)],domain:a({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:c.styleValuesMapbox.concat(c.styleValuesNonMapbox),dflt:c.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:u(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:i},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:i}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:f,textposition:n.extendFlat({},s,{arrayOk:!1})}})},\"plot\",\"from-root\")).uirevision={valType:\"any\",editType:\"none\"}},77882:function(e,t,r){\"use strict\";var n=r(71828),i=r(49119),a=r(85501),o=r(23585);function s(e,t,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var i=r(\"bounds.west\"),o=r(\"bounds.east\"),s=r(\"bounds.south\"),u=r(\"bounds.north\");void 0!==i&&void 0!==o&&void 0!==s&&void 0!==u||delete t.bounds,a(e,t,{name:\"layers\",handleItemDefaults:l}),t._input=e}function l(e,t){function r(r,i){return n.coerce(e,t,o.layers,r,i)}if(r(\"visible\")){var i,a=r(\"sourcetype\"),s=\"raster\"===a||\"image\"===a;r(\"source\"),r(\"sourceattribution\"),\"vector\"===a&&r(\"sourcelayer\"),\"image\"===a&&r(\"coordinates\"),s&&(i=\"raster\");var l=r(\"type\",i);s&&\"raster\"!==l&&(l=t.type=\"raster\",n.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),\"circle\"===l&&r(\"circle.radius\"),\"line\"===l&&(r(\"line.width\"),r(\"line.dash\")),\"fill\"===l&&r(\"fill.outlinecolor\"),\"symbol\"===l&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),n.coerceFont(r,\"symbol.textfont\"),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}e.exports=function(e,t,r){i(e,t,r,{type:\"mapbox\",attributes:o,handleDefaults:s,partition:\"y\",accessToken:t._mapboxAccessToken})}},10481:function(e,t,r){\"use strict\";var n=r(44517),i=r(71828),a=r(41327),o=r(73972),s=r(89298),l=r(28569),u=r(30211),c=r(64505),f=c.drawMode,h=c.selectMode,p=r(47322).prepSelect,d=r(47322).clearOutline,v=r(47322).clearSelectionsCache,g=r(47322).selectOnClick,m=r(77734),y=r(67911);function x(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var b=x.prototype;b.plot=function(e,t,r){var n,i=this,a=t[i.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash={},i.layerList=[]),n=i.map?new Promise((function(r,n){i.updateMap(e,t,r,n)})):new Promise((function(r,n){i.createMap(e,t,r,n)})),r.push(n)},b.createMap=function(e,t,r,i){var o=this,s=t[o.id],l=o.styleObj=w(s.style);o.accessToken=s.accesstoken;var u=s.bounds,c=u?[[u.west,u.south],[u.east,u.north]]:null,f=o.map=new n.Map({container:o.div,style:l.style,center:T(s.center),zoom:s.zoom,bearing:s.bearing,pitch:s.pitch,maxBounds:c,interactive:!o.isStatic,preserveDrawingBuffer:o.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new n.AttributionControl({compact:!0}));f._canvas.style.left=\"0px\",f._canvas.style.top=\"0px\",o.rejectOnError(i),o.isStatic||o.initFx(e,t);var h=[];h.push(new Promise((function(e){f.once(\"load\",e)}))),h=h.concat(a.fetchTraceGeoData(e)),Promise.all(h).then((function(){o.fillBelowLookup(e,t),o.updateData(e),o.updateLayout(t),o.resolveOnRender(r)})).catch(i)},b.updateMap=function(e,t,r,n){var i=this,o=i.map,s=t[this.id];i.rejectOnError(n);var l=[],u=w(s.style);JSON.stringify(i.styleObj)!==JSON.stringify(u)&&(i.styleObj=u,o.setStyle(u.style),i.traceHash={},l.push(new Promise((function(e){o.once(\"styledata\",e)})))),l=l.concat(a.fetchTraceGeoData(e)),Promise.all(l).then((function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)})).catch(n)},b.fillBelowLookup=function(e,t){var r,n,i=t[this.id].layers,a=this.belowLookup={},o=!1;for(r=0;r<e.length;r++){var s=e[r][0].trace,l=s._module;\"string\"==typeof s.below?n=s.below:l.getBelow&&(n=l.getBelow(s,this)),\"\"===n&&(o=!0),a[\"trace-\"+s.uid]=n||\"\"}for(r=0;r<i.length;r++){var u=i[r];n=\"string\"==typeof u.below?u.below:o?\"traces\":\"\",a[\"layout-\"+r]=n}var c,f,h={};for(c in a)h[n=a[c]]?h[n].push(c):h[n]=[c];for(n in h){var p=h[n];if(p.length>1)for(r=0;r<p.length;r++)0===(c=p[r]).indexOf(\"trace-\")?(f=c.split(\"trace-\")[1],this.traceHash[f]&&(this.traceHash[f].below=null)):0===c.indexOf(\"layout-\")&&(f=c.split(\"layout-\")[1],this.layerList[f]&&(this.layerList[f].below=null))}};var _={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};function w(e){var t={};return i.isPlainObject(e)?(t.id=e.id,t.style=e):\"string\"==typeof e?(t.id=e,-1!==m.styleValuesMapbox.indexOf(e)?t.style=k(e):m.stylesNonMapbox[e]?t.style=m.stylesNonMapbox[e]:t.style=e):(t.id=m.styleValueDflt,t.style=k(m.styleValueDflt)),t.transition={duration:0,delay:0},t}function k(e){return m.styleUrlPrefix+e+\"-\"+m.styleUrlSuffix}function T(e){return[e.lon,e.lat]}b.updateData=function(e){var t,r,n,i,a=this.traceHash,o=e.slice().sort((function(e,t){return _[e[0].trace.type]-_[t[0].trace.type]}));for(n=0;n<o.length;n++){var s=o[n],l=!1;(t=a[(r=s[0].trace).uid])&&(t.type===r.type?(t.update(s),l=!0):t.dispose()),!l&&r._module&&(a[r.uid]=r._module.plot(this,s))}var u=Object.keys(a);e:for(n=0;n<u.length;n++){var c=u[n];for(i=0;i<e.length;i++)if(c===(r=e[i][0].trace).uid)continue e;(t=a[c]).dispose(),delete a[c]}},b.updateLayout=function(e){var t=this.map,r=e[this.id];this.dragging||this.wheeling||(t.setCenter(T(r.center)),t.setZoom(r.zoom),t.setBearing(r.bearing),t.setPitch(r.pitch)),this.updateLayers(e),this.updateFramework(e),this.updateFx(e),this.map.resize(),this.gd._context._scrollZoom.mapbox?t.scrollZoom.enable():t.scrollZoom.disable()},b.resolveOnRender=function(e){var t=this.map;t.on(\"render\",(function r(){t.loaded()&&(t.off(\"render\",r),setTimeout(e,10))}))},b.rejectOnError=function(e){var t=this.map;function r(){e(new Error(m.mapOnErrorMsg))}t.once(\"error\",r),t.once(\"style.error\",r),t.once(\"source.error\",r),t.once(\"tile.error\",r),t.once(\"layer.error\",r)},b.createFramework=function(e){var t=this,r=t.div=document.createElement(\"div\");r.id=t.uid,r.style.position=\"absolute\",t.container.appendChild(r),t.xaxis={_id:\"x\",c2p:function(e){return t.project(e).x}},t.yaxis={_id:\"y\",c2p:function(e){return t.project(e).y}},t.updateFramework(e),t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},s.setConvert(t.mockAxis,e)},b.initFx=function(e,t){var r=this,n=r.gd,i=r.map;function a(){u.loneUnhover(t._hoverlayer)}function s(){var e=r.getView();n.emit(\"plotly_relayouting\",r.getViewEditsWithDerived(e))}i.on(\"moveend\",(function(e){if(r.map){var t=n._fullLayout;if(e.originalEvent||r.wheeling){var i=t[r.id];o.call(\"_storeDirectGUIEdit\",n.layout,t._preGUI,r.getViewEdits(i));var a=r.getView();i._input.center=i.center=a.center,i._input.zoom=i.zoom=a.zoom,i._input.bearing=i.bearing=a.bearing,i._input.pitch=i.pitch=a.pitch,n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(a))}e.originalEvent&&\"mouseup\"===e.originalEvent.type?r.dragging=!1:r.wheeling&&(r.wheeling=!1),t._rehover&&t._rehover()}})),i.on(\"wheel\",(function(){r.wheeling=!0})),i.on(\"mousemove\",(function(e){var t=r.div.getBoundingClientRect(),a=[e.originalEvent.offsetX,e.originalEvent.offsetY];e.target.getBoundingClientRect=function(){return t},r.xaxis.p2c=function(){return i.unproject(a).lng},r.yaxis.p2c=function(){return i.unproject(a).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&u.hover(n,e,r.id)},u.hover(n,e,r.id),n._fullLayout._hoversubplot=r.id})),i.on(\"dragstart\",(function(){r.dragging=!0,a()})),i.on(\"zoomstart\",a),i.on(\"mouseout\",(function(){n._fullLayout._hoversubplot=null})),i.on(\"drag\",s),i.on(\"zoom\",s),i.on(\"dblclick\",(function(){var e=n._fullLayout[r.id];o.call(\"_storeDirectGUIEdit\",n.layout,n._fullLayout._preGUI,r.getViewEdits(e));var t=r.viewInitial;i.setCenter(T(t.center)),i.setZoom(t.zoom),i.setBearing(t.bearing),i.setPitch(t.pitch);var a=r.getView();e._input.center=e.center=a.center,e._input.zoom=e.zoom=a.zoom,e._input.bearing=e.bearing=a.bearing,e._input.pitch=e.pitch=a.pitch,n.emit(\"plotly_doubleclick\",null),n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(a))})),r.clearOutline=function(){v(r.dragOptions),d(r.dragOptions.gd)},r.onClickInPanFn=function(e){return function(t){var i=n._fullLayout.clickmode;i.indexOf(\"select\")>-1&&g(t.originalEvent,n,[r.xaxis],[r.yaxis],r.id,e),i.indexOf(\"event\")>-1&&u.click(n,t.originalEvent)}}},b.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(!t.isStatic){var a,o=e.dragmode;a=function(e,r){r.isRect?(e.range={})[t.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]:(e.lassoPoints={})[t.id]=r.map(u)};var s=t.dragOptions;t.dragOptions=i.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:a},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),h(o)||f(o)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(e,r,n){p(e,r,n,t.dragOptions,o)},l.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))}function u(e){var r=t.map.unproject(e);return[r.lng,r.lat]}},b.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])},b.updateLayers=function(e){var t,r=e[this.id].layers,n=this.layerList;if(r.length!==n.length){for(t=0;t<n.length;t++)n[t].dispose();for(n=this.layerList=[],t=0;t<r.length;t++)n.push(y(this,t,r[t]))}else for(t=0;t<r.length;t++)n[t].update(r[t])},b.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},b.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},b.setOptions=function(e,t,r){for(var n in r)this.map[t](e,n,r[n])},b.getMapLayers=function(){return this.map.getStyle().layers},b.addLayer=function(e,t){var r=this.map;if(\"string\"==typeof t){if(\"\"===t)return void r.addLayer(e,t);for(var n=this.getMapLayers(),a=0;a<n.length;a++)if(t===n[a].id)return void r.addLayer(e,t);i.warn([\"Trying to add layer with *below* value\",t,\"referencing a layer that does not exist\",\"or that does not yet exist.\"].join(\" \"))}r.addLayer(e)},b.project=function(e){return this.map.project(new n.LngLat(e[0],e[1]))},b.getView=function(){var e=this.map,t=e.getCenter(),r={lon:t.lng,lat:t.lat},n=e.getCanvas(),i=parseInt(n.style.width),a=parseInt(n.style.height);return{center:r,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),_derived:{coordinates:[e.unproject([0,0]).toArray(),e.unproject([i,0]).toArray(),e.unproject([i,a]).toArray(),e.unproject([0,a]).toArray()]}}},b.getViewEdits=function(e){for(var t=this.id,r=[\"center\",\"zoom\",\"bearing\",\"pitch\"],n={},i=0;i<r.length;i++){var a=r[i];n[t+\".\"+a]=e[a]}return n},b.getViewEditsWithDerived=function(e){var t=this.id,r=this.getViewEdits(e);return r[t+\"._derived\"]=e._derived,r},e.exports=x},35025:function(e){\"use strict\";e.exports=function(e){var t=e.editType;return{t:{valType:\"number\",dflt:0,editType:t},r:{valType:\"number\",dflt:0,editType:t},b:{valType:\"number\",dflt:0,editType:t},l:{valType:\"number\",dflt:0,editType:t},editType:t}}},74875:function(e,t,r){\"use strict\";var n=r(39898),i=r(84096).Dq,a=r(60721).FF,o=r(92770),s=r(73972),l=r(86281),u=r(44467),c=r(71828),f=r(7901),h=r(50606).BADNUM,p=r(41675),d=r(51873).clearOutline,v=r(21479),g=r(85594),m=r(31391),y=r(27659).a0,x=c.relinkPrivateKeys,b=c._,_=e.exports={};c.extendFlat(_,s),_.attributes=r(9012),_.attributes.type.values=_.allTypes,_.fontAttrs=r(41940),_.layoutAttributes=r(10820),_.fontWeight=\"normal\";var w=_.transformsRegistry,k=r(31137);_.executeAPICommand=k.executeAPICommand,_.computeAPICommandBindings=k.computeAPICommandBindings,_.manageCommandObserver=k.manageCommandObserver,_.hasSimpleAPICommandBindings=k.hasSimpleAPICommandBindings,_.redrawText=function(e){return e=c.getGraphDiv(e),new Promise((function(t){setTimeout((function(){e._fullLayout&&(s.getComponentMethod(\"annotations\",\"draw\")(e),s.getComponentMethod(\"legend\",\"draw\")(e),s.getComponentMethod(\"colorbar\",\"draw\")(e),t(_.previousPromises(e)))}),300)}))},_.resize=function(e){var t;e=c.getGraphDiv(e);var r=new Promise((function(r,n){e&&!c.isHidden(e)||n(new Error(\"Resize must be passed a displayed plot div element.\")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=r,e._redrawTimer=setTimeout((function(){if(!e.layout||e.layout.width&&e.layout.height||c.isHidden(e))r(e);else{delete e.layout.width,delete e.layout.height;var t=e.changed;e.autoplay=!0,s.call(\"relayout\",e,{autosize:!0}).then((function(){e.changed=t,e._resolveResize===r&&(delete e._resolveResize,r(e))}))}}),100)}));return t&&t(r),r},_.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then((function(){e._promises=[]}))},_.addLinks=function(e){if(e._context.showLink||e._context.showSources){var t=e._fullLayout,r=c.ensureSingle(t._paper,\"text\",\"js-plot-link-container\",(function(e){e.style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:f.defaultLine,\"pointer-events\":\"all\"}).each((function(){var e=n.select(this);e.append(\"tspan\").classed(\"js-link-to-tool\",!0),e.append(\"tspan\").classed(\"js-link-spacer\",!0),e.append(\"tspan\").classed(\"js-sourcelinks\",!0)}))})),i=r.node(),a={y:t._paper.attr(\"height\")-9};document.body.contains(i)&&i.getComputedTextLength()>=t.width-20?(a[\"text-anchor\"]=\"start\",a.x=5):(a[\"text-anchor\"]=\"end\",a.x=t._paper.attr(\"width\")-7),r.attr(a);var o=r.select(\".js-link-to-tool\"),s=r.select(\".js-link-spacer\"),l=r.select(\".js-sourcelinks\");e._context.showSources&&e._context.showSources(e),e._context.showLink&&function(e,t){t.text(\"\");var r=t.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(e._context.linkText+\" \"+String.fromCharCode(187));if(e._context.sendData)r.on(\"click\",(function(){_.sendDataToCloud(e)}));else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}(e,o),s.text(o.text()&&l.text()?\" - \":\"\")}},_.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit(\"plotly_beforeexport\");var r=n.select(e).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),i=r.append(\"form\").attr({action:t+\"/external\",method:\"post\",target:\"_blank\"});return i.append(\"input\").attr({type:\"text\",name:\"data\"}).node().value=_.graphJson(e,!1,\"keepdata\"),i.node().submit(),r.remove(),e.emit(\"plotly_afterexport\"),!1}};var T=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],M=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];function A(e,t){var r=e._context.locale;r||(r=\"en-US\");var n=!1,i={};function a(e){for(var r=!0,a=0;a<t.length;a++){var o=t[a];i[o]||(e[o]?i[o]=e[o]:r=!1)}r&&(n=!0)}for(var o=0;o<2;o++){for(var l=e._context.locales,u=0;u<2;u++){var c=(l[r]||{}).format;if(c&&(a(c),n))break;l=s.localeRegistry}var f=r.split(\"-\")[0];if(n||f===r)break;r=f}return n||a(s.localeRegistry.en.format),i}function S(e,t){var r={_fullLayout:t},n=\"x\"===e._id.charAt(0),i=e._mainAxis._anchorAxis,a=\"\",o=\"\",s=\"\";if(i&&(s=i._mainAxis._id,a=n?e._id+s:s+e._id),!a||!t._plots[a]){a=\"\";for(var l=e._counterAxes,u=0;u<l.length;u++){var c=l[u],f=n?e._id+c:c+e._id;o||(o=f);var h=p.getFromId(r,c);if(s&&h.overlaying===s){a=f;break}}}return a||o}function E(e){var t=e.transforms;if(Array.isArray(t)&&t.length)for(var r=0;r<t.length;r++){var n=t[r],i=n._module||w[n.type];if(i&&i.makesData)return!0}return!1}function C(e,t,r,n){for(var i=e.transforms,a=[e],o=0;o<i.length;o++){var s=i[o],l=w[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:e,fullData:t,layout:r,fullLayout:n,transformIndex:o}))}return a}function L(e){return\"string\"==typeof e&&\"px\"===e.substr(e.length-2)&&parseFloat(e)}function P(e){var t=e.margin;if(!e._size){var r=e._size={l:Math.round(t.l),r:Math.round(t.r),t:Math.round(t.t),b:Math.round(t.b),p:Math.round(t.pad)};r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b}e._pushmargin||(e._pushmargin={}),e._pushmarginIds||(e._pushmarginIds={}),e._reservedMargin||(e._reservedMargin={})}_.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,n=e._fullLayout||{};if(n._skipDefaults)delete n._skipDefaults;else{var o,l=e._fullLayout={},u=e.layout||{},f=e._fullData||[],h=e._fullData=[],p=e.data||[],v=e.calcdata||[],g=e._context||{};e._transitionData||_.createTransitionData(e),l._dfltTitle={plot:b(e,\"Click to enter Plot title\"),x:b(e,\"Click to enter X axis title\"),y:b(e,\"Click to enter Y axis title\"),colorbar:b(e,\"Click to enter Colorscale title\"),annotation:b(e,\"new text\")},l._traceWord=b(e,\"trace\");var m=A(e,T);if(l._mapboxAccessToken=g.mapboxAccessToken,n._initialAutoSizeIsDone){var y=n.width,w=n.height;_.supplyLayoutGlobalDefaults(u,l,m),u.width||(l.width=y),u.height||(l.height=w),_.sanitizeMargins(l)}else{_.supplyLayoutGlobalDefaults(u,l,m);var k=!u.width||!u.height,S=l.autosize,E=g.autosizable;k&&(S||E)?_.plotAutoSize(e,u,l):k&&_.sanitizeMargins(l),!S&&k&&(u.width=l.width,u.height=l.height)}l._d3locale=function(e,t){return e.decimal=t.charAt(0),e.thousands=t.charAt(1),{numberFormat:function(t){try{t=a(e).format(c.adjustFormat(t))}catch(e){return c.warnBadFormat(t),c.noFormat}return t},timeFormat:i(e).utcFormat}}(m,l.separators),l._extraFormat=A(e,M),l._initialAutoSizeIsDone=!0,l._dataLength=p.length,l._modules=[],l._visibleModules=[],l._basePlotModules=[];var C=l._subplots=function(){var e,t,r=s.collectableSubplotTypes,n={};if(!r){r=[];var i=s.subplotsRegistry;for(var a in i){var o=i[a].attr;if(o&&(r.push(a),Array.isArray(o)))for(t=0;t<o.length;t++)c.pushUnique(r,o[t])}}for(e=0;e<r.length;e++)n[r[e]]=[];return n}(),L=l._splomAxes={x:{},y:{}},O=l._splomSubplots={};l._splomGridDflt={},l._scatterStackOpts={},l._firstScatter={},l._alignmentOpts={},l._colorAxes={},l._requestRangeslider={},l._traceUids=function(e,t){var r,n,i=t.length,a=[];for(r=0;r<e.length;r++){var o=e[r]._fullInput;o!==n&&a.push(o),n=o}var s=a.length,l=new Array(i),u={};function f(e,t){l[t]=e,u[e]=1}function h(e,t){if(e&&\"string\"==typeof e&&!u[e])return f(e,t),!0}for(r=0;r<i;r++){var p=t[r].uid;\"number\"==typeof p&&(p=String(p)),h(p,r)||r<s&&h(a[r].uid,r)||f(c.randstr(u),r)}return l}(f,p),l._globalTransforms=(e._context||{}).globalTransforms,_.supplyDataDefaults(p,h,u,l);var I=Object.keys(L.x),D=Object.keys(L.y);if(I.length>1&&D.length>1){for(s.getComponentMethod(\"grid\",\"sizeDefaults\")(u,l),o=0;o<I.length;o++)c.pushUnique(C.xaxis,I[o]);for(o=0;o<D.length;o++)c.pushUnique(C.yaxis,D[o]);for(var z in O)c.pushUnique(C.cartesian,z)}if(l._has=_._hasPlotType.bind(l),f.length===h.length)for(o=0;o<h.length;o++)x(h[o],f[o]);_.supplyLayoutModuleDefaults(u,l,h,e._transitionData);var R=l._visibleModules,F=[];for(o=0;o<R.length;o++){var B=R[o].crossTraceDefaults;B&&c.pushUnique(F,B)}for(o=0;o<F.length;o++)F[o](h,l);l._hasOnlyLargeSploms=1===l._basePlotModules.length&&\"splom\"===l._basePlotModules[0].name&&I.length>15&&D.length>15&&0===l.shapes.length&&0===l.images.length,_.linkSubplots(h,l,f,n),_.cleanPlot(h,l,f,n);var N=!(!n._has||!n._has(\"gl2d\")),j=!(!l._has||!l._has(\"gl2d\")),U=!(!n._has||!n._has(\"cartesian\"))||N,V=!(!l._has||!l._has(\"cartesian\"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(l._shouldCreateBgLayer=!0),n._zoomlayer&&!e._dragging&&d({_fullLayout:n}),function(e,t){var r,n=[];t.meta&&(r=t._meta={meta:t.meta,layout:{meta:t.meta}});for(var i=0;i<e.length;i++){var a=e[i];a.meta?n[a.index]=a._meta={meta:a.meta}:t.meta&&(a._meta={meta:t.meta}),t.meta&&(a._meta.layout={meta:t.meta})}n.length&&(r||(r=t._meta={}),r.data=n)}(h,l),x(l,n),s.getComponentMethod(\"colorscale\",\"crossTraceDefaults\")(h,l),l._preGUI||(l._preGUI={}),l._tracePreGUI||(l._tracePreGUI={});var H,q=l._tracePreGUI,G={};for(H in q)G[H]=\"old\";for(o=0;o<h.length;o++)G[H=h[o]._fullInput.uid]||(q[H]={}),G[H]=\"new\";for(H in G)\"old\"===G[H]&&delete q[H];P(l),s.getComponentMethod(\"rangeslider\",\"makeData\")(l),r||v.length!==h.length||_.supplyDefaultsUpdateCalc(v,h)}},_.supplyDefaultsUpdateCalc=function(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=(e[r]||[])[0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o,s,l,u=a._arrayAttrs;for(o=0;o<u.length;o++)s=u[o],l=c.nestedProperty(a,s).get().slice(),c.nestedProperty(n,s).set(l)}i.trace=n}}},_.createTransitionData=function(e){e._transitionData||(e._transitionData={}),e._transitionData._frames||(e._transitionData._frames=[]),e._transitionData._frameHash||(e._transitionData._frameHash={}),e._transitionData._counter||(e._transitionData._counter=0),e._transitionData._interruptCallbacks||(e._transitionData._interruptCallbacks=[])},_._hasPlotType=function(e){var t,r=this._basePlotModules||[];for(t=0;t<r.length;t++)if(r[t].name===e)return!0;var n=this._modules||[];for(t=0;t<n.length;t++){var i=n[t].name;if(i===e)return!0;var a=s.modules[i];if(a&&a.categories[e])return!0}return!1},_.cleanPlot=function(e,t,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(e,t,r,n)}var l=n._has&&n._has(\"gl\"),u=t._has&&t._has(\"gl\");l&&!u&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(\".gl-canvas\").remove(),n._glcontainer.selectAll(\".no-webgl\").remove(),n._glcanvas=null);var c=!!n._infolayer;e:for(i=0;i<r.length;i++){var f=r[i].uid;for(a=0;a<e.length;a++)if(f===e[a].uid)continue e;c&&n._infolayer.select(\".cb\"+f).remove()}},_.linkSubplots=function(e,t,r,n){var i,a,o=n._plots||{},l=t._plots={},u=t._subplots,f={_fullData:e,_fullLayout:t},h=u.cartesian.concat(u.gl2d||[]);for(i=0;i<h.length;i++){var d,v=h[i],g=o[v],m=p.getFromId(f,v,\"x\"),y=p.getFromId(f,v,\"y\");for(g?d=l[v]=g:(d=l[v]={}).id=v,m._counterAxes.push(y._id),y._counterAxes.push(m._id),m._subplotsWith.push(v),y._subplotsWith.push(v),d.xaxis=m,d.yaxis=y,d._hasClipOnAxisFalse=!1,a=0;a<e.length;a++){var x=e[a];if(x.xaxis===d.xaxis._id&&x.yaxis===d.yaxis._id&&!1===x.cliponaxis){d._hasClipOnAxisFalse=!0;break}}}var b,_=p.list(f,null,!0);for(i=0;i<_.length;i++){var w=null;(b=_[i]).overlaying&&(w=p.getFromId(f,b.overlaying))&&w.overlaying&&(b.overlaying=!1,w=null),b._mainAxis=w||b,w&&(b.domain=w.domain.slice()),b._anchorAxis=\"free\"===b.anchor?null:p.getFromId(f,b.anchor)}for(i=0;i<_.length;i++)if((b=_[i])._counterAxes.sort(p.idSort),b._subplotsWith.sort(c.subplotSort),b._mainSubplot=S(b,t),b._counterAxes.length&&(b.spikemode&&-1!==b.spikemode.indexOf(\"across\")||b.automargin&&b.mirror&&\"free\"!==b.anchor||s.getComponentMethod(\"rangeslider\",\"isVisible\")(b))){var k=1,T=0;for(a=0;a<b._counterAxes.length;a++){var M=p.getFromId(f,b._counterAxes[a]);k=Math.min(k,M.domain[0]),T=Math.max(T,M.domain[1])}k<T&&(b._counterDomainMin=k,b._counterDomainMax=T)}},_.clearExpandedTraceDefaultColors=function(e){var t,r,n;for(r=[],(t=e._module._colorAttrs)||(e._module._colorAttrs=t=[],l.crawl(e._module.attributes,(function(e,n,i,a){r[a]=n,r.length=a+1,\"color\"===e.valType&&void 0===e.dflt&&t.push(r.join(\".\"))}))),n=0;n<t.length;n++)c.nestedProperty(e,\"_input.\"+t[n]).get()||c.nestedProperty(e,t[n]).set(null)},_.supplyDataDefaults=function(e,t,r,n){var i,a,o,l=n._modules,f=n._visibleModules,h=n._basePlotModules,p=0,d=0;function v(e){t.push(e);var r=e._module;r&&(c.pushUnique(l,r),!0===e.visible&&c.pushUnique(f,r),c.pushUnique(h,e._module.basePlotModule),p++,!1!==e._input.visible&&d++)}n._transformModules=[];var g={},m=[],y=(r.template||{}).data||{},b=u.traceTemplater(y);for(i=0;i<e.length;i++){if(o=e[i],(a=b.newTrace(o)).uid=n._traceUids[i],_.supplyTraceDefaults(o,a,d,n,i),a.index=i,a._input=o,a._expandedIndex=p,a.transforms&&a.transforms.length)for(var w=!1!==o.visible&&!1===a.visible,k=C(a,t,r,n),T=0;T<k.length;T++){var M=k[T],A={_template:a._template,type:a.type,uid:a.uid+T};w&&!1===M.visible&&delete M.visible,_.supplyTraceDefaults(M,A,p,n,i),x(A,M),A.index=i,A._input=o,A._fullInput=a,A._expandedIndex=p,A._expandedInput=M,v(A)}else a._fullInput=a,a._expandedInput=a,v(a);s.traceIs(a,\"carpetAxis\")&&(g[a.carpet]=a),s.traceIs(a,\"carpetDependent\")&&m.push(i)}for(i=0;i<m.length;i++)if((a=t[m[i]]).visible){var S=g[a.carpet];a._carpet=S,S&&S.visible?(a.xaxis=S.xaxis,a.yaxis=S.yaxis):a.visible=!1}},_.supplyAnimationDefaults=function(e){var t;e=e||{};var r={};function n(t,n){return c.coerce(e||{},r,g,t,n)}if(n(\"mode\"),n(\"direction\"),n(\"fromcurrent\"),Array.isArray(e.frame))for(r.frame=[],t=0;t<e.frame.length;t++)r.frame[t]=_.supplyAnimationFrameDefaults(e.frame[t]||{});else r.frame=_.supplyAnimationFrameDefaults(e.frame||{});if(Array.isArray(e.transition))for(r.transition=[],t=0;t<e.transition.length;t++)r.transition[t]=_.supplyAnimationTransitionDefaults(e.transition[t]||{});else r.transition=_.supplyAnimationTransitionDefaults(e.transition||{});return r},_.supplyAnimationFrameDefaults=function(e){var t={};function r(r,n){return c.coerce(e||{},t,g.frame,r,n)}return r(\"duration\"),r(\"redraw\"),t},_.supplyAnimationTransitionDefaults=function(e){var t={};function r(r,n){return c.coerce(e||{},t,g.transition,r,n)}return r(\"duration\"),r(\"easing\"),t},_.supplyFrameDefaults=function(e){var t={};function r(r,n){return c.coerce(e,t,m,r,n)}return r(\"group\"),r(\"name\"),r(\"traces\"),r(\"baseframe\"),r(\"data\"),r(\"layout\"),t},_.supplyTraceDefaults=function(e,t,r,n,i){var a,o=n.colorway||f.defaults,l=o[r%o.length];function u(r,n){return c.coerce(e,t,_.attributes,r,n)}var h=u(\"visible\");u(\"type\"),u(\"name\",n._traceWord+\" \"+i),u(\"uirevision\",n.uirevision);var p=_.getModule(t);if(t._module=p,p){var d=p.basePlotModule,v=d.attr,g=d.attributes;if(v&&g){var m=n._subplots,y=\"\";if(h||\"gl2d\"!==d.name){if(Array.isArray(v))for(a=0;a<v.length;a++){var x=v[a],b=c.coerce(e,t,g,x);m[x]&&c.pushUnique(m[x],b),y+=b}else y=c.coerce(e,t,g,v);m[d.name]&&c.pushUnique(m[d.name],y)}}}return h&&(u(\"customdata\"),u(\"ids\"),u(\"meta\"),s.traceIs(t,\"showLegend\")?(c.coerce(e,t,p.attributes.showlegend?p.attributes:_.attributes,\"showlegend\"),u(\"legend\"),u(\"legendwidth\"),u(\"legendgroup\"),u(\"legendgrouptitle.text\"),u(\"legendrank\"),t._dfltShowLegend=!0):t._dfltShowLegend=!1,p&&p.supplyDefaults(e,t,l,n),s.traceIs(t,\"noOpacity\")||u(\"opacity\"),s.traceIs(t,\"notLegendIsolatable\")&&(t.visible=!!t.visible),s.traceIs(t,\"noHover\")||(t.hovertemplate||c.coerceHoverinfo(e,t,n),\"parcats\"!==t.type&&s.getComponentMethod(\"fx\",\"supplyDefaults\")(e,t,l,n)),p&&p.selectPoints&&u(\"selectedpoints\"),_.supplyTransformDefaults(e,t,n)),t},_.hasMakesDataTransform=E,_.supplyTransformDefaults=function(e,t,r){if(t._length||E(e)){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(e.transforms)||0!==n.length)for(var a=e.transforms||[],o=n.concat(a),s=t.transforms=[],l=0;l<o.length;l++){var u,f=o[l],h=f.type,p=w[h],d=!(f._module&&f._module===p),v=p&&\"function\"==typeof p.transform;p||c.warn(\"Unrecognized transform type \"+h+\".\"),p&&p.supplyDefaults&&(d||v)?((u=p.supplyDefaults(f,t,r,e)).type=h,u._module=p,c.pushUnique(i,p)):u=c.extendFlat({},f),s.push(u)}}},_.supplyLayoutGlobalDefaults=function(e,t,r){function n(r,n){return c.coerce(e,t,_.layoutAttributes,r,n)}var i=e.template;c.isPlainObject(i)&&(t.template=i,t._template=i.layout,t._dataTemplate=i.data),n(\"autotypenumbers\");var a=c.coerceFont(n,\"font\"),o=a.size;c.coerceFont(n,\"title.font\",c.extendFlat({},a,{size:Math.round(1.4*o)})),n(\"title.text\",t._dfltTitle.plot),n(\"title.xref\");var l=n(\"title.yref\");n(\"title.pad.t\"),n(\"title.pad.r\"),n(\"title.pad.b\"),n(\"title.pad.l\");var u=n(\"title.automargin\");n(\"title.x\"),n(\"title.xanchor\"),n(\"title.y\"),n(\"title.yanchor\"),u&&(\"paper\"===l&&(0!==t.title.y&&(t.title.y=1),\"auto\"===t.title.yanchor&&(t.title.yanchor=0===t.title.y?\"top\":\"bottom\")),\"container\"===l&&(\"auto\"===t.title.y&&(t.title.y=1),\"auto\"===t.title.yanchor&&(t.title.yanchor=t.title.y<.5?\"bottom\":\"top\"))),n(\"uniformtext.mode\")&&n(\"uniformtext.minsize\"),n(\"autosize\",!(e.width&&e.height)),n(\"width\"),n(\"height\"),n(\"minreducedwidth\"),n(\"minreducedheight\"),n(\"margin.l\"),n(\"margin.r\"),n(\"margin.t\"),n(\"margin.b\"),n(\"margin.pad\"),n(\"margin.autoexpand\"),e.width&&e.height&&_.sanitizeMargins(t),s.getComponentMethod(\"grid\",\"sizeDefaults\")(e,t),n(\"paper_bgcolor\"),n(\"separators\",r.decimal+r.thousands),n(\"hidesources\"),n(\"colorway\"),n(\"datarevision\");var f=n(\"uirevision\");n(\"editrevision\",f),n(\"selectionrevision\",f),s.getComponentMethod(\"modebar\",\"supplyLayoutDefaults\")(e,t),s.getComponentMethod(\"shapes\",\"supplyDrawNewShapeDefaults\")(e,t,n),s.getComponentMethod(\"selections\",\"supplyDrawNewSelectionDefaults\")(e,t,n),n(\"meta\"),c.isPlainObject(e.transition)&&(n(\"transition.duration\"),n(\"transition.easing\"),n(\"transition.ordering\")),s.getComponentMethod(\"calendars\",\"handleDefaults\")(e,t,\"calendar\"),s.getComponentMethod(\"fx\",\"supplyLayoutGlobalDefaults\")(e,t,n),c.coerce(e,t,v,\"scattermode\")},_.plotAutoSize=function(e,t,r){var n,i,a=e._context||{},s=a.frameMargins,l=c.isPlotDiv(e);if(l&&e.emit(\"plotly_autosize\"),a.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow=\"hidden\";else{var u=l?window.getComputedStyle(e):{};if(n=L(u.width)||L(u.maxWidth)||r.width,i=L(u.height)||L(u.maxHeight)||r.height,o(s)&&s>0){var f=1-2*s;n=Math.round(f*n),i=Math.round(f*i)}}var h=_.layoutAttributes.width.min,p=_.layoutAttributes.height.min;n<h&&(n=h),i<p&&(i=p);var d=!t.width&&Math.abs(r.width-n)>1,v=!t.height&&Math.abs(r.height-i)>1;(v||d)&&(d&&(r.width=n),v&&(r.height=i)),e._initialAutoSize||(e._initialAutoSize={width:n,height:i}),_.sanitizeMargins(r)},_.supplyLayoutModuleDefaults=function(e,t,r,n){var i,a,o,l=s.componentsRegistry,u=t._basePlotModules,f=s.subplotsRegistry.cartesian;for(i in l)(o=l[i]).includeBasePlot&&o.includeBasePlot(e,t);for(var h in u.length||u.push(f),t._has(\"cartesian\")&&(s.getComponentMethod(\"grid\",\"contentDefaults\")(e,t),f.finalizeSubplots(e,t)),t._subplots)t._subplots[h].sort(c.subplotSort);for(a=0;a<u.length;a++)(o=u[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(e,t,r);var p=t._modules;for(a=0;a<p.length;a++)(o=p[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(e,t,r);var d=t._transformModules;for(a=0;a<d.length;a++)(o=d[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(e,t,r,n);for(i in l)(o=l[i]).supplyLayoutDefaults&&o.supplyLayoutDefaults(e,t,r)},_.purge=function(e){var t=e._fullLayout||{};void 0!==t._glcontainer&&(t._glcontainer.selectAll(\".gl-canvas\").remove(),t._glcontainer.remove(),t._glcanvas=null),t._modeBar&&t._modeBar.destroy(),e._transitionData&&(e._transitionData._interruptCallbacks&&(e._transitionData._interruptCallbacks.length=0),e._transitionData._animationRaf&&window.cancelAnimationFrame(e._transitionData._animationRaf)),c.clearThrottle(),c.clearResponsive(e),delete e.data,delete e.layout,delete e._fullData,delete e._fullLayout,delete e.calcdata,delete e.empty,delete e.fid,delete e.undoqueue,delete e.undonum,delete e.autoplay,delete e.changed,delete e._promises,delete e._redrawTimer,delete e._hmlumcount,delete e._hmpixcount,delete e._transitionData,delete e._transitioning,delete e._initialAutoSize,delete e._transitioningWithDuration,delete e._dragging,delete e._dragged,delete e._dragdata,delete e._hoverdata,delete e._snapshotInProgress,delete e._editing,delete e._mouseDownTime,delete e._legendMouseDownTime,e.removeAllListeners&&e.removeAllListeners()},_.style=function(e){var t,r=e._fullLayout._visibleModules,n=[];for(t=0;t<r.length;t++){var i=r[t];i.style&&c.pushUnique(n,i.style)}for(t=0;t<n.length;t++)n[t](e)},_.sanitizeMargins=function(e){if(e&&e.margin){var t,r=e.width,n=e.height,i=e.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(t=(r-1)/(i.l+i.r),i.l=Math.floor(t*i.l),i.r=Math.floor(t*i.r)),o<0&&(t=(n-1)/(i.t+i.b),i.t=Math.floor(t*i.t),i.b=Math.floor(t*i.b))}},_.clearAutoMarginIds=function(e){e._fullLayout._pushmarginIds={}},_.allowAutoMargin=function(e,t){e._fullLayout._pushmarginIds[t]=1},_.autoMargin=function(e,t,r){var n=e._fullLayout,i=n.width,a=n.height,o=n.margin,s=n.minreducedwidth,l=n.minreducedheight,u=c.constrain(i-o.l-o.r,2,s),f=c.constrain(a-o.t-o.b,2,l),h=Math.max(0,i-u),p=Math.max(0,a-f),d=n._pushmargin,v=n._pushmarginIds;if(!1!==o.autoexpand){if(r){var g=r.pad;if(void 0===g&&(g=Math.min(12,o.l,o.r,o.t,o.b)),h){var m=(r.l+r.r)/h;m>1&&(r.l/=m,r.r/=m)}if(p){var y=(r.t+r.b)/p;y>1&&(r.t/=y,r.b/=y)}var x=void 0!==r.xl?r.xl:r.x,b=void 0!==r.xr?r.xr:r.x,w=void 0!==r.yt?r.yt:r.y,k=void 0!==r.yb?r.yb:r.y;d[t]={l:{val:x,size:r.l+g},r:{val:b,size:r.r+g},b:{val:k,size:r.b+g},t:{val:w,size:r.t+g}},v[t]=1}else delete d[t],delete v[t];if(!n._replotting)return _.doAutoMargin(e)}},_.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),P(t);var i=t._size,a=t.margin,l={t:0,b:0,l:0,r:0},u=c.extendFlat({},i),f=a.l,h=a.r,d=a.t,v=a.b,g=t._pushmargin,m=t._pushmarginIds,y=t.minreducedwidth,x=t.minreducedheight;if(!1!==a.autoexpand){for(var b in g)m[b]||delete g[b];var w=e._fullLayout._reservedMargin;for(var k in w)for(var T in w[k]){var M=w[k][T];l[T]=Math.max(l[T],M)}for(var A in g.base={l:{val:0,size:f},r:{val:1,size:h},t:{val:1,size:d},b:{val:0,size:v}},l){var S=0;for(var E in g)\"base\"!==E&&o(g[E][A].size)&&(S=g[E][A].size>S?g[E][A].size:S);var C=Math.max(0,a[A]-S);l[A]=Math.max(0,l[A]-C)}for(var L in g){var O=g[L].l||{},I=g[L].b||{},D=O.val,z=O.size,R=I.val,F=I.size,B=r-l.r-l.l,N=n-l.t-l.b;for(var j in g){if(o(z)&&g[j].r){var U=g[j].r.val,V=g[j].r.size;if(U>D){var H=(z*U+(V-B)*D)/(U-D),q=(V*(1-D)+(z-B)*(1-U))/(U-D);H+q>f+h&&(f=H,h=q)}}if(o(F)&&g[j].t){var G=g[j].t.val,Y=g[j].t.size;if(G>R){var W=(F*G+(Y-N)*R)/(G-R),Z=(Y*(1-R)+(F-N)*(1-G))/(G-R);W+Z>v+d&&(v=W,d=Z)}}}}}var X=c.constrain(r-a.l-a.r,2,y),K=c.constrain(n-a.t-a.b,2,x),J=Math.max(0,r-X),$=Math.max(0,n-K);if(J){var Q=(f+h)/J;Q>1&&(f/=Q,h/=Q)}if($){var ee=(v+d)/$;ee>1&&(v/=ee,d/=ee)}if(i.l=Math.round(f)+l.l,i.r=Math.round(h)+l.r,i.t=Math.round(d)+l.t,i.b=Math.round(v)+l.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!t._replotting&&(_.didMarginChange(u,i)||function(e){if(\"_redrawFromAutoMarginCount\"in e._fullLayout)return!1;var t=p.list(e,\"\",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}(e))){\"_redrawFromAutoMarginCount\"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var te=3*(1+Object.keys(m).length);if(t._redrawFromAutoMarginCount<te)return s.call(\"_doPlot\",e);t._size=u,c.warn(\"Too many auto-margin redraws.\")}!function(e){var t=p.list(e,\"\",!0);[\"_adjustTickLabelsOverflow\",\"_hideCounterAxisInsideTickLabels\"].forEach((function(e){for(var r=0;r<t.length;r++){var n=t[r][e];n&&n()}}))}(e)};var O=[\"l\",\"r\",\"t\",\"b\",\"p\",\"w\",\"h\"];function I(e,t,r){var n=!1,i=[_.previousPromises,function(){if(e._transitionData)return e._transitioning=!1,function(e){var t=Promise.resolve();if(!e)return t;for(;e.length;)t=t.then(e.shift());return t}(e._transitionData._interruptCallbacks)},r.prepareFn,_.rehover,_.reselect,function(){return e.emit(\"plotly_transitioning\",[]),new Promise((function(i){e._transitioning=!0,t.duration>0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&e._transitionData._interruptCallbacks.push((function(){return s.call(\"redraw\",e)})),e._transitionData._interruptCallbacks.push((function(){e.emit(\"plotly_transitioninterrupted\",[])}));var a=0,o=0;function l(){return a++,function(){var t;o++,n||o!==a||(t=i,e._transitionData&&(function(e){if(e)for(;e.length;)e.shift()}(e._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return s.call(\"redraw\",e)})).then((function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit(\"plotly_transitioned\",[])})).then(t)))}}r.runFn(l),setTimeout(l())}))}],a=c.syncOrAsync(i,e);return a&&a.then||(a=Promise.resolve()),a.then((function(){return e}))}_.didMarginChange=function(e,t){for(var r=0;r<O.length;r++){var n=O[r],i=e[n],a=t[n];if(!o(i)||Math.abs(a-i)>1)return!0}return!1},_.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&_.supplyDefaults(e);var o=i?e._fullData:e.data,s=i?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(e,t){if(\"function\"==typeof e)return t?\"_function_\":null;if(c.isPlainObject(e)){var n,i={};return Object.keys(e).sort().forEach((function(a){if(-1===[\"_\",\"[\"].indexOf(a.charAt(0)))if(\"function\"!=typeof e[a]){if(\"keepdata\"===r){if(\"src\"===a.substr(a.length-3))return}else if(\"keepstream\"===r){if(\"string\"==typeof(n=e[a+\"src\"])&&n.indexOf(\":\")>0&&!c.isPlainObject(e.stream))return}else if(\"keepall\"!==r&&\"string\"==typeof(n=e[a+\"src\"])&&n.indexOf(\":\")>0)return;i[a]=u(e[a],t)}else t&&(i[a]=\"_function\")})),i}return Array.isArray(e)?e.map((function(e){return u(e,t)})):c.isTypedArray(e)?c.simpleMap(e,c.identity):c.isJSDate(e)?c.ms2DateTimeLocal(+e):e}var f={data:(o||[]).map((function(e){var r=u(e);return t&&delete r.fit,r}))};if(!t&&(f.layout=u(s),i)){var h=s._size;f.layout.computed={margin:{b:h.b,l:h.l,r:h.r,t:h.t}}}return l&&(f.frames=u(l)),a&&(f.config=u(e._context,!0)),\"object\"===n?f:JSON.stringify(f)},_.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r<t.length;r++)switch((n=t[r]).type){case\"replace\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\"insert\":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case\"delete\":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},_.computeFrame=function(e,t){var r,n,i,a,o=e._transitionData._frameHash;if(!t)throw new Error(\"computeFrame must be given a string frame name\");var s=o[t.toString()];if(!s)return!1;for(var l=[s],u=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===u.indexOf(s.name);)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=_.extendLayout(c.layout,s.layout)),s.data){if(c.data||(c.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(c.traces||(c.traces=[]),r=0;r<s.data.length;r++)null!=(i=n[r])&&(-1===(a=c.traces.indexOf(i))&&(a=c.data.length,c.traces[a]=i),c.data[a]=_.extendTrace(c.data[a],s.data[r]))}return c},_.recomputeFrameHash=function(e){for(var t=e._transitionData._frameHash={},r=e._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(t[i.name]=i)}},_.extendObjectWithContainers=function(e,t,r){var n,i,a,o,s,l,u,f=c.extendDeepNoArrays({},t||{}),h=c.expandObjectPaths(f),p={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=c.nestedProperty(h,r[a])).get())?c.nestedProperty(p,r[a]).set(null):(n.set(null),c.nestedProperty(p,r[a]).set(i));if(e=c.extendDeepNoArrays(e||{},h),r&&r.length)for(a=0;a<r.length;a++)if(l=c.nestedProperty(p,r[a]).get()){for(u=(s=c.nestedProperty(e,r[a])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<l.length;o++){var d=l[o];u[o]=null===d?null:_.extendObjectWithContainers(u[o],d)}s.set(u)}return e},_.dataArrayContainers=[\"transforms\",\"dimensions\"],_.layoutArrayContainers=s.layoutArrayContainers,_.extendTrace=function(e,t){return _.extendObjectWithContainers(e,t,_.dataArrayContainers)},_.extendLayout=function(e,t){return _.extendObjectWithContainers(e,t,_.layoutArrayContainers)},_.transition=function(e,t,r,n,i,a){var o={redraw:i.redraw},s={},l=[];return o.prepareFn=function(){for(var i=Array.isArray(t)?t.length:0,a=n.slice(0,i),o=0;o<a.length;o++){var u=a[o],f=e._fullData[u]._module;if(f){if(f.animatable){var h=f.basePlotModule.name;s[h]||(s[h]=[]),s[h].push(u)}e.data[a[o]]=_.extendTrace(e.data[a[o]],t[o])}}var p=c.expandObjectPaths(c.extendDeepNoArrays({},r)),d=/^[xy]axis[0-9]*$/;for(var v in p)d.test(v)&&delete p[v].range;_.extendLayout(e.layout,p),delete e.calcdata,_.supplyDefaults(e),_.doCalcdata(e);var g=c.expandObjectPaths(r);if(g){var m=e._fullLayout._plots;for(var y in m){var x=m[y],b=x.xaxis,w=x.yaxis,k=b.range.slice(),T=w.range.slice(),M=null,A=null,S=null,E=null;Array.isArray(g[b._name+\".range\"])?M=g[b._name+\".range\"].slice():Array.isArray((g[b._name]||{}).range)&&(M=g[b._name].range.slice()),Array.isArray(g[w._name+\".range\"])?A=g[w._name+\".range\"].slice():Array.isArray((g[w._name]||{}).range)&&(A=g[w._name].range.slice()),k&&M&&(b.r2l(k[0])!==b.r2l(M[0])||b.r2l(k[1])!==b.r2l(M[1]))&&(S={xr0:k,xr1:M}),T&&A&&(w.r2l(T[0])!==w.r2l(A[0])||w.r2l(T[1])!==w.r2l(A[1]))&&(E={yr0:T,yr1:A}),(S||E)&&l.push(c.extendFlat({plotinfo:x},S,E))}}return Promise.resolve()},o.runFn=function(t){var n,i,o=e._fullLayout._basePlotModules,u=l.length;if(r)for(i=0;i<o.length;i++)o[i].transitionAxes&&o[i].transitionAxes(e,l,a,t);for(var f in u?((n=c.extendFlat({},a)).duration=0,delete s.cartesian):n=a,s){var h=s[f];e._fullData[h[0]]._module.basePlotModule.plot(e,h,n,t)}},I(e,a,o)},_.transitionFromReact=function(e,t,r,n){var i=e._fullLayout,a=i.transition,o={},s=[];return o.prepareFn=function(){var e=i._plots;for(var a in o.redraw=!1,\"some\"===t.anim&&(o.redraw=!0),\"some\"===r.anim&&(o.redraw=!0),e){var l=e[a],u=l.xaxis,f=l.yaxis,h=n[u._name].range.slice(),p=n[f._name].range.slice(),d=u.range.slice(),v=f.range.slice();u.setScale(),f.setScale();var g=null,m=null;u.r2l(h[0])===u.r2l(d[0])&&u.r2l(h[1])===u.r2l(d[1])||(g={xr0:h,xr1:d}),f.r2l(p[0])===f.r2l(v[0])&&f.r2l(p[1])===f.r2l(v[1])||(m={yr0:p,yr1:v}),(g||m)&&s.push(c.extendFlat({plotinfo:l},g,m))}return Promise.resolve()},o.runFn=function(r){for(var n,i,o,l=e._fullData,u=e._fullLayout._basePlotModules,f=[],h=0;h<l.length;h++)f.push(h);function p(){if(e._fullLayout)for(var t=0;t<u.length;t++)u[t].transitionAxes&&u[t].transitionAxes(e,s,n,r)}function d(){if(e._fullLayout)for(var t=0;t<u.length;t++)u[t].plot(e,o,i,r)}s.length&&t.anim?\"traces first\"===a.ordering?(n=c.extendFlat({},a,{duration:0}),o=f,i=a,setTimeout(p,a.duration),d()):(n=a,o=null,i=c.extendFlat({},a,{duration:0}),setTimeout(d,n.duration),p()):s.length?(n=a,p()):t.anim&&(o=f,i=a,d())},I(e,a,o)},_.doCalcdata=function(e,t){var r,n,i,a,o=p.list(e),u=e._fullData,f=e._fullLayout,d=new Array(u.length),v=(e.calcdata||[]).slice();for(e.calcdata=d,f._numBoxes=0,f._numViolins=0,f._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,f._piecolormap={},f._sunburstcolormap={},f._treemapcolormap={},f._iciclecolormap={},f._funnelareacolormap={},i=0;i<u.length;i++)Array.isArray(t)&&-1===t.indexOf(i)&&(d[i]=v[i]);for(i=0;i<u.length;i++)(r=u[i])._arrayAttrs=l.findArrayAttributes(r),r._extremes={};var g=f._subplots.polar||[];for(i=0;i<g.length;i++)o.push(f[g[i]].radialaxis,f[g[i]].angularaxis);for(var m in f._colorAxes){var y=f[m];!1!==y.cauto&&(delete y.cmin,delete y.cmax)}var x=!1;function b(t){if(r=u[t],n=r._module,!0===r.visible&&r.transforms){if(n&&n.calc){var i=n.calc(e,r);i[0]&&i[0].t&&i[0].t._scene&&delete i[0].t._scene.dirty}for(a=0;a<r.transforms.length;a++){var o=r.transforms[a];(n=w[o.type])&&n.calcTransform&&(r._hasCalcTransform=!0,x=!0,n.calcTransform(e,r,o))}}}function _(t,i){if(r=u[t],!!(n=r._module).isContainer===i){var o=[];if(!0===r.visible&&0!==r._length){delete r._indexToPoints;var s=r.transforms||[];for(a=s.length-1;a>=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(e,r))}Array.isArray(o)&&o[0]||(o=[{x:h,y:h}]),o[0].t||(o[0].t={}),o[0].trace=r,d[t]=o}}for(z(o,u,f),i=0;i<u.length;i++)_(i,!0);for(i=0;i<u.length;i++)b(i);for(x&&z(o,u,f),i=0;i<u.length;i++)_(i,!0);for(i=0;i<u.length;i++)_(i,!1);R(e);var k=function(e,t){var r,n,i,a,o,l=[];function u(e,r,n){var i=r._id.charAt(0);if(\"histogram2dcontour\"===e){var a=r._counterAxes[0],o=p.getFromId(t,a),s=\"x\"===i||\"x\"===a&&\"category\"===o.type,l=\"y\"===i||\"y\"===a&&\"category\"===o.type;return function(e,t){return 0===e||0===t||s&&e===n[t].length-1||l&&t===n.length-1?-1:(\"y\"===i?t:e)-1}}return function(e,t){return\"y\"===i?t:e}}var f={min:function(e){return c.aggNums(Math.min,null,e)},max:function(e){return c.aggNums(Math.max,null,e)},sum:function(e){return c.aggNums((function(e,t){return e+t}),null,e)},total:function(e){return c.aggNums((function(e,t){return e+t}),null,e)},mean:function(e){return c.mean(e)},median:function(e){return c.median(e)}};for(r=0;r<e.length;r++){var h=e[r];if(\"category\"===h.type){var d=h.categoryorder.match(D);if(d){var v=d[1],g=d[2],m=h._id.charAt(0),y=\"x\"===m,x=[];for(n=0;n<h._categories.length;n++)x.push([h._categories[n],[]]);for(n=0;n<h._traceIndices.length;n++){var b=h._traceIndices[n],_=t._fullData[b];if(!0===_.visible){var w=_.type;s.traceIs(_,\"histogram\")&&(delete _._xautoBinFinished,delete _._yautoBinFinished);var k=\"splom\"===w,T=\"scattergl\"===w,M=t.calcdata[b];for(i=0;i<M.length;i++){var A,S,E=M[i];if(k){var C=_._axesDim[h._id];if(!y){var L=_._diag[C][0];L&&(h=t._fullLayout[p.id2name(L)])}var P=E.trace.dimensions[C].values;for(a=0;a<P.length;a++)for(A=h._categoriesMap[P[a]],o=0;o<E.trace.dimensions.length;o++)if(o!==C){var O=E.trace.dimensions[o];x[A][1].push(O.values[a])}}else if(T){for(a=0;a<E.t.x.length;a++)y?(A=E.t.x[a],S=E.t.y[a]):(A=E.t.y[a],S=E.t.x[a]),x[A][1].push(S);E.t&&E.t._scene&&delete E.t._scene.dirty}else if(E.hasOwnProperty(\"z\")){S=E.z;var I=u(_.type,h,S);for(a=0;a<S.length;a++)for(o=0;o<S[a].length;o++)(A=I(o,a))+1&&x[A][1].push(S[a][o])}else for(void 0===(A=E.p)&&(A=E[m]),void 0===(S=E.s)&&(S=E.v),void 0===S&&(S=y?E.y:E.x),Array.isArray(S)||(S=void 0===S?[]:[S]),a=0;a<S.length;a++)x[A][1].push(S[a])}}}h._categoriesValue=x;var z=[];for(n=0;n<x.length;n++)z.push([x[n][0],f[v](x[n][1])]);z.sort((function(e,t){return e[1]-t[1]})),h._categoriesAggregatedValue=z,h._initialCategories=z.map((function(e){return e[0]})),\"descending\"===g&&h._initialCategories.reverse(),l=l.concat(h.sortByInitialCategories())}}}return l}(o,e);if(k.length){for(f._numBoxes=0,f._numViolins=0,i=0;i<k.length;i++)_(k[i],!0);for(i=0;i<k.length;i++)_(k[i],!1);R(e)}s.getComponentMethod(\"fx\",\"calc\")(e),s.getComponentMethod(\"errorbars\",\"calc\")(e)};var D=/(total|sum|min|max|mean|median) (ascending|descending)/;function z(e,t,r){var n={};function i(e){e.clearCalc(),\"multicategory\"===e.type&&e.setupMultiCategory(t),n[e._id]=1}c.simpleMap(e,i);for(var a=r._axisMatchGroups||[],o=0;o<a.length;o++)for(var s in a[o])n[s]||i(r[p.id2name(s)])}function R(e){var t,r,n,i=e._fullLayout,a=i._visibleModules,o={};for(r=0;r<a.length;r++){var s=a[r],l=s.crossTraceCalc;if(l){var u=s.basePlotModule.name;o[u]?c.pushUnique(o[u],l):o[u]=[l]}}for(n in o){var f=o[n],h=i._subplots[n];if(Array.isArray(h))for(t=0;t<h.length;t++){var p=h[t],d=\"cartesian\"===n?i._plots[p]:i[p];for(r=0;r<f.length;r++)f[r](e,d,p)}else for(r=0;r<f.length;r++)f[r](e)}}_.rehover=function(e){e._fullLayout._rehover&&e._fullLayout._rehover()},_.redrag=function(e){e._fullLayout._redrag&&e._fullLayout._redrag()},_.reselect=function(e){var t=e._fullLayout,r=(e.layout||{}).selections,n=t._previousSelections;t._previousSelections=r;var i=t._reselect||JSON.stringify(r)!==JSON.stringify(n);s.getComponentMethod(\"selections\",\"reselect\")(e,i)},_.generalUpdatePerTraceModule=function(e,t,r,n){var i,a=t.traceHash,o={};for(i=0;i<r.length;i++){var s=r[i],l=s[0].trace;l.visible&&(o[l.type]=o[l.type]||[],o[l.type].push(s))}for(var u in a)if(!o[u]){var f=a[u][0];f[0].trace.visible=!1,o[u]=[f]}for(var h in o){var p=o[h];p[0][0].trace._module.plot(e,t,c.filterVisible(p),n)}t.traceHash=o},_.plotBasePlot=function(e,t,r,n,i){var a=s.getModule(e),o=y(t.calcdata,a)[0];a.plot(t,o,n,i)},_.cleanBasePlot=function(e,t,r,n,i){var a=i._has&&i._has(e),o=r._has&&r._has(e);a&&!o&&i[\"_\"+e+\"layer\"].selectAll(\"g.trace\").remove()}},9813:function(e){\"use strict\";e.exports={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-line\",\"radial-line\",\"angular-axis\",\"radial-axis\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},10869:function(e,t,r){\"use strict\";var n=r(71828),i=r(61082).tester,a=n.findIndexOfMin,o=n.isAngleInsideSector,s=n.angleDelta,l=n.angleDist;function u(e,t,r,n){var i,a,o=n[0],s=n[1],l=f(Math.sin(t)-Math.sin(e)),u=f(Math.cos(t)-Math.cos(e)),c=Math.tan(r),h=f(1/c),p=l/u,d=s-p*o;return h?l&&u?a=c*(i=d/(c-p)):u?(i=s*h,a=s):(i=o,a=o*c):l&&u?(i=0,a=d):u?(i=0,a=s):i=a=NaN,[i,a]}function c(e,t,r,i){return n.isFullCircle([t,r])?function(e,t){var r,n=t.length,i=new Array(n+1);for(r=0;r<n;r++){var a=t[r];i[r]=[e*Math.cos(a),e*Math.sin(a)]}return i[r]=i[0].slice(),i}(e,i):function(e,t,r,i){var s,c,f=i.length,h=[];function p(t){return[e*Math.cos(t),e*Math.sin(t)]}function d(e,t,r){return u(e,t,r,p(e))}function v(e){return n.mod(e,f)}function g(e){return o(e,[t,r])}var m=a(i,(function(e){return g(e)?l(e,t):1/0})),y=d(i[m],i[v(m-1)],t);for(h.push(y),s=m,c=0;c<f;s++,c++){var x=i[v(s)];if(!g(x))break;h.push(p(x))}var b=a(i,(function(e){return g(e)?l(e,r):1/0})),_=d(i[b],i[v(b+1)],r);return h.push(_),h.push([0,0]),h.push(h[0].slice()),h}(e,t,r,i)}function f(e){return Math.abs(e)>1e-10?e:0}function h(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a<n;a++){var o=e[a];i[a]=[t+o[0],r-o[1]]}return i}e.exports={isPtInsidePolygon:function(e,t,r,n,a){if(!o(t,n))return!1;var s,l;r[0]<r[1]?(s=r[0],l=r[1]):(s=r[1],l=r[0]);var u=i(c(s,n[0],n[1],a)),f=i(c(l,n[0],n[1],a)),h=[e*Math.cos(t),e*Math.sin(t)];return f.contains(h)&&!u.contains(h)},findPolygonOffset:function(e,t,r,n){for(var i=1/0,a=1/0,o=c(e,t,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]},findEnclosingVertexAngles:function(e,t){var r=a(t,(function(t){var r=s(t,e);return r>0?r:1/0})),i=n.mod(r+1,t.length);return[t[r],t[i]]},findIntersectionXY:u,findXYatLength:function(e,t,r,n){var i=-t*r,a=t*t+1,o=2*(t*i-r),s=i*i+r*r-e*e,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,t*u+i+n],[c,t*c+i+n]]},clampTiny:f,pathPolygon:function(e,t,r,n,i,a){return\"M\"+h(c(e,t,r,n),i,a).join(\"L\")},pathPolygonAnnulus:function(e,t,r,n,i,a,o){var s,l;e<t?(s=e,l=t):(s=t,l=e);var u=h(c(s,r,n,i),a,o);return\"M\"+h(c(l,r,n,i),a,o).reverse().join(\"L\")+\"M\"+u.join(\"L\")}}},23580:function(e,t,r){\"use strict\";var n=r(27659).AU,i=r(71828).counterRegex,a=r(77997),o=r(9813),s=o.attr,l=o.name,u=i(l),c={};c[s]={valType:\"subplotid\",dflt:l,editType:\"calc\"},e.exports={attr:s,name:l,idRoot:l,idRegex:u,attrRegex:u,attributes:c,layoutAttributes:r(73812),supplyLayoutDefaults:r(68993),plot:function(e){for(var t=e._fullLayout,r=e.calcdata,i=t._subplots[l],o=0;o<i.length;o++){var s=i[o],u=n(r,l,s),c=t[s]._subplot;c||(c=a(e,s),t[s]._subplot=c),c.plot(u,t,e._promises)}},clean:function(e,t,r,n){for(var i=n._subplots[l]||[],a=n._has&&n._has(\"gl\"),o=t._has&&t._has(\"gl\"),s=a&&!o,u=0;u<i.length;u++){var c=i[u],f=n[c]._subplot;if(!t[c]&&f)for(var h in f.framework.remove(),f.layers[\"radial-axis-title\"].remove(),f.clipPaths)f.clipPaths[h].remove();s&&f._scene&&(f._scene.destroy(),f._scene=null)}},toSVG:r(93612).toSVG}},73812:function(e,t,r){\"use strict\";var n=r(22399),i=r(13838),a=r(27670).Y,o=r(71828).extendFlat,s=r(30962).overrideAll,l=s({color:i.color,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,griddash:i.griddash},\"plot\",\"from-root\"),u=s({tickmode:i.minor.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,ticklabelstep:i.ticklabelstep,showticklabels:i.showticklabels,labelalias:i.labelalias,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,layer:i.layer},\"plot\",\"from-root\"),c={visible:o({},i.visible,{dflt:!0}),type:o({},i.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:i.autotypenumbers,autorangeoptions:{minallowed:i.autorangeoptions.minallowed,maxallowed:i.autorangeoptions.maxallowed,clipmin:i.autorangeoptions.clipmin,clipmax:i.autorangeoptions.clipmax,include:i.autorangeoptions.include,editType:\"plot\"},autorange:o({},i.autorange,{editType:\"plot\"}),rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},minallowed:o({},i.minallowed,{editType:\"plot\"}),maxallowed:o({},i.maxallowed,{editType:\"plot\"}),range:o({},i.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot\"}),categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:{text:o({},i.title.text,{editType:\"plot\",dflt:\"\"}),font:o({},i.title.font,{editType:\"plot\"}),editType:\"plot\"},hoverformat:i.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\",_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}};o(c,l,u);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:i.autotypenumbers,categoryorder:i.categoryorder,categoryarray:i.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:i.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};o(f,l,u),e.exports={domain:a({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:n.background},radialaxis:c,angularaxis:f,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}},68993:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901),a=r(44467),o=r(49119),s=r(27659).NG,l=r(26218),u=r(38701),c=r(96115),f=r(89426),h=r(15258),p=r(92128),d=r(23074),v=r(4322),g=r(73812),m=r(12101),y=r(9813),x=y.axisNames;function b(e,t,r,o){var v=r(\"bgcolor\");o.bgColor=i.combine(v,o.paper_bgcolor);var b=r(\"sector\");r(\"hole\");var w,k=s(o.fullData,y.name,o.id),T=o.layoutOut;function M(e,t){return r(w+\".\"+e,t)}for(var A=0;A<x.length;A++){w=x[A],n.isPlainObject(e[w])||(e[w]={});var S=e[w],E=a.newContainer(t,w);E._id=E._name=w,E._attr=o.id+\".\"+w,E._traceIndices=k.map((function(e){return e._expandedIndex}));var C=y.axisName2dataArray[w],L=_(S,E,M,k,C,o);h(S,E,M,{axData:k,dataAttr:C});var P=M(\"visible\");switch(m(E,t,T),M(\"uirevision\",t.uirevision),E._m=1,w){case\"radialaxis\":M(\"minallowed\"),M(\"maxallowed\");var O,I=M(\"range\"),D=E.getAutorangeDflt(I),z=M(\"autorange\",D);!I||(null!==I[0]||null!==I[1])&&(null!==I[0]&&null!==I[1]||\"reversed\"!==z&&!0!==z)&&(null===I[0]||\"min\"!==z&&\"max reversed\"!==z)&&(null===I[1]||\"max\"!==z&&\"min reversed\"!==z)||(I=void 0,delete E.range,E.autorange=!0,O=!0),O||(z=M(\"autorange\",D=E.getAutorangeDflt(I))),S.autorange=z,z&&(d(M,z,I),\"linear\"!==L&&\"-\"!==L||M(\"rangemode\"),E.isReversed()&&(E._m=-1)),E.cleanRange(\"range\",{dfltRange:[0,1]});break;case\"angularaxis\":if(\"date\"===L){n.log(\"Polar plots do not support date angular axes yet.\");for(var R=0;R<k.length;R++)k[R].visible=!1;L=S.type=E.type=\"linear\"}M(\"linear\"===L?\"thetaunit\":\"period\");var F=M(\"direction\");M(\"rotation\",{counterclockwise:0,clockwise:90}[F])}if(f(S,E,M,E.type,{tickSuffixDflt:\"degrees\"===E.thetaunit?\"°\":void 0}),P){var B,N,j,U,V=o.font||{};N=(B=M(\"color\"))===S.color?B:V.color,j=V.size,U=V.family,l(S,E,M,E.type),c(S,E,M,E.type,{font:{color:N,size:j,family:U}}),u(S,E,M,{outerTicks:!0}),p(S,E,M,{dfltColor:B,bgColor:o.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:g[w]}),M(\"layer\"),\"radialaxis\"===w&&(M(\"side\"),M(\"angle\",b[0]),M(\"title.text\"),n.coerceFont(M,\"title.font\",{color:N,size:n.bigFont(j),family:U}))}\"category\"!==L&&M(\"hoverformat\"),E._input=S}\"category\"===t.angularaxis.type&&r(\"gridshape\")}function _(e,t,r,n,i,a){var o=r(\"autotypenumbers\",a.autotypenumbersDflt);if(\"-\"===r(\"type\")){for(var s,l=0;l<n.length;l++)if(n[l].visible){s=n[l];break}s&&s[i]&&(t.type=v(s[i],\"gregorian\",{noMultiCategory:!0,autotypenumbers:o})),\"-\"===t.type?t.type=\"linear\":e.type=t.type}return t.type}e.exports=function(e,t,r){o(e,t,r,{type:y.name,attributes:g,handleDefaults:b,font:t.font,autotypenumbersDflt:t.autotypenumbers,paper_bgcolor:t.paper_bgcolor,fullData:r,layoutOut:t})}},77997:function(e,t,r){\"use strict\";var n=r(39898),i=r(84267),a=r(73972),o=r(71828),s=o.strRotate,l=o.strTranslate,u=r(7901),c=r(91424),f=r(74875),h=r(89298),p=r(21994),d=r(12101),v=r(71739).doAutoRange,g=r(29323),m=r(28569),y=r(30211),x=r(92998),b=r(47322).prepSelect,_=r(47322).selectOnClick,w=r(47322).clearOutline,k=r(6964),T=r(33306),M=r(61549).redrawReglTraces,A=r(18783).MID_SHIFT,S=r(9813),E=r(10869),C=r(23893),L=C.smith,P=C.reactanceArc,O=C.resistanceArc,I=C.smithTransform,D=o._,z=o.mod,R=o.deg2rad,F=o.rad2deg;function B(e,t,r){this.isSmith=r||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=e._fullLayout,i=\"clip\"+n._uid+t;this.clipIds.forTraces=i+\"-for-traces\",this.clipPaths.forTraces=n._clips.append(\"clipPath\").attr(\"id\",this.clipIds.forTraces),this.clipPaths.forTraces.append(\"path\"),this.framework=n[\"_\"+(r?\"smith\":\"polar\")+\"layer\"].append(\"g\").attr(\"class\",t),this.getHole=function(e){return this.isSmith?0:e.hole},this.getSector=function(e){return this.isSmith?[0,360]:e.sector},this.getRadial=function(e){return this.isSmith?e.realaxis:e.radialaxis},this.getAngular=function(e){return this.isSmith?e.imaginaryaxis:e.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var N=B.prototype;function j(e){var t=e.ticks+String(e.ticklen)+String(e.showticklabels);return\"side\"in e&&(t+=e.side),t}function U(e,t){return t[o.findIndexOfMin(t,(function(t){return o.angleDist(e,t)}))]}function V(e,t,r){return t?(e.attr(\"display\",null),e.attr(r)):e&&e.attr(\"display\",\"none\"),e}e.exports=function(e,t,r){return new B(e,t,r)},N.plot=function(e,t){for(var r=this,n=t[r.id],i=!1,a=0;a<e.length;a++)if(!1===e[a][0].trace.cliponaxis){i=!0;break}r._hasClipOnAxisFalse=i,r.updateLayers(t,n),r.updateLayout(t,n),f.generalUpdatePerTraceModule(r.gd,r,e,n),r.updateFx(t,n),r.isSmith&&(delete n.realaxis.range,delete n.imaginaryaxis.range)},N.updateLayers=function(e,t){var r=this,i=r.isSmith,a=r.layers,o=r.getRadial(t),s=r.getAngular(t),l=S.layerNames,u=l.indexOf(\"frontplot\"),c=l.slice(0,u),f=\"below traces\"===s.layer,h=\"below traces\"===o.layer;f&&c.push(\"angular-line\"),h&&c.push(\"radial-line\"),f&&c.push(\"angular-axis\"),h&&c.push(\"radial-axis\"),c.push(\"frontplot\"),f||c.push(\"angular-line\"),h||c.push(\"radial-line\"),f||c.push(\"angular-axis\"),h||c.push(\"radial-axis\");var p=(i?\"smith\":\"polar\")+\"sublayer\",d=r.framework.selectAll(\".\"+p).data(c,String);d.enter().append(\"g\").attr(\"class\",(function(e){return p+\" \"+e})).each((function(e){var t=a[e]=n.select(this);switch(e){case\"frontplot\":i||t.append(\"g\").classed(\"barlayer\",!0),t.append(\"g\").classed(\"scatterlayer\",!0);break;case\"backplot\":t.append(\"g\").classed(\"maplayer\",!0);break;case\"plotbg\":a.bg=t.append(\"path\");break;case\"radial-grid\":case\"angular-grid\":t.style(\"fill\",\"none\");break;case\"radial-line\":t.append(\"line\").style(\"fill\",\"none\");break;case\"angular-line\":t.append(\"path\").style(\"fill\",\"none\")}})),d.order()},N.updateLayout=function(e,t){var r=this,n=r.layers,i=e._size,a=r.getRadial(t),o=r.getAngular(t),s=t.domain.x,f=t.domain.y;r.xOffset=i.l+i.w*s[0],r.yOffset=i.t+i.h*(1-f[1]);var h=r.xLength=i.w*(s[1]-s[0]),p=r.yLength=i.h*(f[1]-f[0]),d=r.getSector(t);r.sectorInRad=d.map(R);var v,g,m,y,x,b=r.sectorBBox=function(e){var t,r=e[0],n=e[1]-r,i=z(r,360),a=i+n,o=Math.cos(R(i)),s=Math.sin(R(i)),l=Math.cos(R(a)),u=Math.sin(R(a));return t=i<=90&&a>=90||i>90&&a>=450?1:s<=0&&u<=0?0:Math.max(s,u),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&u>=0?0:Math.min(s,u),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),t]}(d),_=b[2]-b[0],w=b[3]-b[1],k=p/h,T=Math.abs(w/_);k>T?(v=h,x=(p-(g=h*T))/i.h/2,m=[s[0],s[1]],y=[f[0]+x,f[1]-x]):(g=p,x=(h-(v=p/T))/i.w/2,m=[s[0]+x,s[1]-x],y=[f[0],f[1]]),r.xLength2=v,r.yLength2=g,r.xDomain2=m,r.yDomain2=y;var M,A=r.xOffset2=i.l+i.w*m[0],S=r.yOffset2=i.t+i.h*(1-y[1]),E=r.radius=v/_,C=r.innerRadius=r.getHole(t)*E,L=r.cx=A-E*b[0],P=r.cy=S+E*b[3],O=r.cxx=L-A,I=r.cyy=P-S,D=a.side;\"counterclockwise\"===D?(M=D,D=\"top\"):\"clockwise\"===D&&(M=D,D=\"bottom\"),r.radialAxis=r.mockAxis(e,t,a,{_id:\"x\",side:D,_trueSide:M,domain:[C/i.w,E/i.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:\"right\",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:\"x\",domain:m}),r.yaxis=r.mockCartesianAxis(e,t,{_id:\"y\",domain:y});var F=r.pathSubplot();r.clipPaths.forTraces.select(\"path\").attr(\"d\",F).attr(\"transform\",l(O,I)),n.frontplot.attr(\"transform\",l(A,S)).call(c.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr(\"d\",F).attr(\"transform\",l(L,P)).call(u.fill,t.bgcolor)},N.mockAxis=function(e,t,r,n){var i=o.extendFlat({},r,n);return d(i,t,e),i},N.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:\"linear\"},r);p(s,e);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var e=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(t));s.range=[e[r[0]]*o,e[r[1]]*o]},s.isPtWithinRange=\"x\"!==a||i?function(){return!0}:function(e){return n.isPtInside(e)},s.setRange(),s.setScale(),s},N.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);v(n,i);var o=i.range;a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,\"gregorian\"),i.r2l(o[1],null,\"gregorian\")]},N.updateRadialAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getRadial(t),v=z(r.getSector(t)[0],360),g=r.radialAxis,m=c<a,y=r.isSmith;y||(r.fillViewInitialKey(\"radialaxis.angle\",d.angle),r.fillViewInitialKey(\"radialaxis.range\",g.range.slice()),g.setGeometry()),\"auto\"===g.tickangle&&v>90&&v<=270&&(g.tickangle=180);var x=y?function(e){var t=I(r,L([e.x,0]));return l(t[0]-f,t[1]-p)}:function(e){return l(g.l2p(e.x)+c,0)},b=y?function(e){return O(r,e.x,-1/0,1/0)}:function(e){return r.pathArc(g.r2p(e.x)+c)},_=j(d);if(r.radialTickLayout!==_&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=_),m){g.setScale();var w=0,k=y?(g.tickvals||[]).filter((function(e){return e>=0})).map((function(e){return h.tickText(g,e,!0,!1)})):h.calcTicks(g),T=y?k:h.clipEnds(g,k),M=h.getTickSigns(g)[2];y&&((\"top\"===g.ticks&&\"bottom\"===g.side||\"bottom\"===g.ticks&&\"top\"===g.side)&&(M=-M),\"top\"===g.ticks&&\"top\"===g.side&&(w=-g.ticklen),\"bottom\"===g.ticks&&\"bottom\"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:k,layer:i[\"radial-axis\"],path:h.makeTickPath(g,0,M),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:T,layer:i[\"radial-grid\"],path:b,transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:k,layer:i[\"radial-axis\"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var A=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(f,p),E=S+s(-A);V(i[\"radial-axis\"],m&&(d.showticklabels||d.ticks),{transform:E}),V(i[\"radial-grid\"],m&&d.showgrid,{transform:y?\"\":S}),V(i[\"radial-line\"].select(\"line\"),m&&d.showline,{x1:y?-a:c,y1:0,x2:a,y2:0,transform:E}).attr(\"stroke-width\",d.linewidth).call(u.stroke,d.linecolor)},N.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+\"title\",f=0;if(l.title){var h=c.bBox(n.layers[\"radial-axis\"].node()).height,p=l.title.font.size,d=l.side;f=\"top\"===d?p:\"counterclockwise\"===d?-(h+.4*p):h+.8*p}var v=void 0!==r?r:n.radialAxisAngle,g=R(v),m=Math.cos(g),y=Math.sin(g),b=o+a/2*m+f*y,_=s-a/2*y+f*m;n.layers[\"radial-axis-title\"]=x.draw(i,u,{propContainer:l,propName:n.id+\".radialaxis.title\",placeholder:D(i,\"Click to enter radial axis title\"),attributes:{x:b,y:_,\"text-anchor\":\"middle\"},transform:{rotate:-v}})}},N.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(t),v=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey(\"angularaxis.rotation\",d.rotation),v.setGeometry(),v.setScale());var m=g?function(e){var t=I(r,L([0,e.x]));return Math.atan2(t[0]-f,t[1]-p)-Math.PI/2}:function(e){return v.t2g(e.x)};\"linear\"===v.type&&\"radians\"===v.thetaunit&&(v.tick0=F(v.tick0),v.dtick=F(v.dtick));var y=function(e){return l(f+a*Math.cos(e),p-a*Math.sin(e))},x=g?function(e){var t=I(r,L([0,e.x]));return l(t[0],t[1])}:function(e){return y(m(e))},b=g?function(e){var t=I(r,L([0,e.x])),n=Math.atan2(t[0]-f,t[1]-p)-Math.PI/2;return l(t[0],t[1])+s(-F(n))}:function(e){var t=m(e);return y(t)+s(-F(t))},_=g?function(e){return P(r,e.x,0,1/0)}:function(e){var t=m(e),r=Math.cos(t),n=Math.sin(t);return\"M\"+[f+c*r,p-c*n]+\"L\"+[f+a*r,p-a*n]},w=h.makeLabelFns(v,0).labelStandoff,k={xFn:function(e){var t=m(e);return Math.cos(t)*w},yFn:function(e){var t=m(e),r=Math.sin(t)>0?.2:1;return-Math.sin(t)*(w+e.fontSize*r)+Math.abs(Math.cos(t))*(e.fontSize*A)},anchorFn:function(e){var t=m(e),r=Math.cos(t);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},heightFn:function(e,t,r){var n=m(e);return-.5*(1+Math.sin(n))*r}},T=j(d);r.angularTickLayout!==T&&(i[\"angular-axis\"].selectAll(\".\"+v._id+\"tick\").remove(),r.angularTickLayout=T);var M,S=g?[1/0].concat(v.tickvals||[]).map((function(e){return h.tickText(v,e,!0,!1)})):h.calcTicks(v);if(g&&(S[0].text=\"∞\",S[0].fontSize*=1.75),\"linear\"===t.gridshape?(M=S.map(m),o.angleDelta(M[0],M[1])<0&&(M=M.slice().reverse())):M=null,r.vangles=M,\"category\"===v.type&&(S=S.filter((function(e){return o.isAngleInsideSector(m(e),r.sectorInRad)}))),v.visible){var E=\"inside\"===v.ticks?-1:1,C=(v.linewidth||1)/2;h.drawTicks(n,v,{vals:S,layer:i[\"angular-axis\"],path:\"M\"+E*C+\",0h\"+E*v.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,v,{vals:S,layer:i[\"angular-grid\"],path:_,transFn:o.noop,crisp:!1}),h.drawLabels(n,v,{vals:S,layer:i[\"angular-axis\"],repositionOnUpdate:!0,transFn:x,labelFns:k})}V(i[\"angular-line\"].select(\"path\"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr(\"stroke-width\",d.linewidth).call(u.stroke,d.linecolor)},N.updateFx=function(e,t){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e))},N.updateHoverAndMainDrag=function(e){var t,r,s=this,u=s.isSmith,c=s.gd,f=s.layers,h=e._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,v=s.radius,x=s.innerRadius,k=s.cx,T=s.cy,M=s.cxx,A=s.cyy,C=s.sectorInRad,L=s.vangles,P=s.radialAxis,O=E.clampTiny,I=E.findXYatLength,D=E.findEnclosingVertexAngles,z=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(f,\"path\",\"maindrag\",!1===e.dragmode?\"none\":\"crosshair\");n.select(F).attr(\"d\",s.pathSubplot()).attr(\"transform\",l(k,T)),F.onmousemove=function(e){y.hover(c,e,s.id),c._fullLayout._lasthover=F,c._fullLayout._hoversubplot=s.id},F.onmouseout=function(e){c._dragging||m.unhover(c,e)};var B,N,j,U,V,H,q,G,Y,W={element:F,gd:c,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function Z(e,t){return Math.sqrt(e*e+t*t)}function X(e,t){return Z(e-M,t-A)}function K(e,t){return Math.atan2(A-t,e-M)}function J(e,t){return[e*Math.cos(t),e*Math.sin(-t)]}function $(e,t){if(0===e)return s.pathSector(2*z);var r=R/e,n=t-r,i=t+r,a=Math.max(0,Math.min(e,v)),o=a-z,l=a+z;return\"M\"+J(o,n)+\"A\"+[o,o]+\" 0,0,0 \"+J(o,i)+\"L\"+J(l,i)+\"A\"+[l,l]+\" 0,0,1 \"+J(l,n)+\"Z\"}function Q(e,t,r){if(0===e)return s.pathSector(2*z);var n,i,a=J(e,t),o=J(e,r),l=O((a[0]+o[0])/2),u=O((a[1]+o[1])/2);if(l&&u){var c=u/l,f=-1/c,h=I(z,c,l,u);n=I(R,f,h[0][0],h[0][1]),i=I(R,f,h[1][0],h[1][1])}else{var p,d;u?(p=R,d=z):(p=z,d=R),n=[[l-p,u-d],[l+p,u-d]],i=[[l-p,u+d],[l+p,u+d]]}return\"M\"+n.join(\"L\")+\"L\"+i.reverse().join(\"L\")+\"Z\"}function ee(e,t){return t=Math.max(Math.min(t,v),x),e<d?e=0:v-e<d?e=v:t<d?t=0:v-t<d&&(t=v),Math.abs(t-e)>p?(e<t?(j=e,U=t):(j=t,U=e),!0):(j=null,U=null,!1)}function te(e,t){e=e||V,t=t||\"M0,0Z\",G.attr(\"d\",e),Y.attr(\"d\",t),g.transitionZoombox(G,Y,H,q),H=!0;var r={};oe(r),c.emit(\"plotly_relayouting\",r)}function re(e,n){var i,a,o=B+(e*=t),l=N+(n*=r),u=X(B,N),c=Math.min(X(o,l),v),f=K(B,N);ee(u,c)&&(i=V+s.pathSector(U),j&&(i+=s.pathSector(j)),a=$(j,f)+$(U,f)),te(i,a)}function ne(e,t,r,n){var i=E.findIntersectionXY(r,n,r,[e-M,A-t]);return Z(i[0],i[1])}function ie(e,t){var r,n,i=B+e,a=N+t,o=K(B,N),l=K(i,a),u=D(o,L),c=D(l,L);ee(ne(B,N,u[0],u[1]),Math.min(ne(i,a,c[0],c[1]),v))&&(r=V+s.pathSector(U),j&&(r+=s.pathSector(j)),n=[Q(j,u[0],u[1]),Q(U,u[0],u[1])].join(\" \")),te(r,n)}function ae(){if(g.removeZoombox(c),null!==j&&null!==U){var e={};oe(e),g.showDoubleClickNotifier(c),a.call(\"_guiRelayout\",c,e)}}function oe(e){var t=P._rl,r=(t[1]-t[0])/(1-x/v)/v,n=[t[0]+(j-x)*r,t[0]+(U-x)*r];e[s.id+\".radialaxis.range\"]=n}function se(e,t){var r=c._fullLayout.clickmode;if(g.removeZoombox(c),2===e){var n={};for(var i in s.viewInitial)n[s.id+\".\"+i]=s.viewInitial[i];c.emit(\"plotly_doubleclick\",null),a.call(\"_guiRelayout\",c,n)}r.indexOf(\"select\")>-1&&1===e&&_(t,c,[s.xaxis],[s.yaxis],s.id,W),r.indexOf(\"event\")>-1&&y.click(c,t,s.id)}W.prepFn=function(e,n,a){var l=c._fullLayout.dragmode,f=F.getBoundingClientRect();c._fullLayout._calcInverseTransform(c);var p=c._fullLayout._invTransform;t=c._fullLayout._invScaleX,r=c._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-f.left,a-f.top);if(B=d[0],N=d[1],L){var m=E.findPolygonOffset(v,C[0],C[1],L);B+=M+m[0],N+=A+m[1]}switch(l){case\"zoom\":W.clickFn=se,u||(W.moveFn=L?ie:re,W.doneFn=ae,function(){j=null,U=null,V=s.pathSubplot(),H=!1;var e=c._fullLayout[s.id];q=i(e.bgcolor).getLuminance(),(G=g.makeZoombox(h,q,k,T,V)).attr(\"fill-rule\",\"evenodd\"),Y=g.makeCorners(h,k,T),w(c)}());break;case\"select\":case\"lasso\":b(e,n,a,W,l)}},m.init(W)},N.updateRadialDrag=function(e,t,r){var i=this,u=i.gd,c=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,v=i.radialAxis,y=S.radialDragBoxSize,x=y/2;if(v.visible){var b,_,k,A=R(i.radialAxisAngle),E=v._rl,C=E[0],L=E[1],P=E[r],O=.75*(E[1]-E[0])/(1-i.getHole(t))/f;r?(b=p+(f+x)*Math.cos(A),_=d-(f+x)*Math.sin(A),k=\"radialdrag\"):(b=p+(h-x)*Math.cos(A),_=d-(h-x)*Math.sin(A),k=\"radialdrag-inner\");var I,D,z,B=g.makeRectDragger(c,k,\"crosshair\",-x,-x,y,y),N={element:B,gd:u};!1===e.dragmode&&(N.dragmode=!1),V(n.select(B),v.visible&&h<f,{transform:l(b,_)}),N.prepFn=function(){I=null,D=null,z=null,N.moveFn=j,N.doneFn=H,w(u)},N.clampFn=function(e,t){return Math.sqrt(e*e+t*t)<S.MINDRAG&&(e=0,t=0),[e,t]},m.init(N)}function j(e,t){if(I)I(e,t);else{var n=[e,-t],a=[Math.cos(A),Math.sin(A)],s=Math.abs(o.dot(n,a)/Math.sqrt(o.dot(n,n)));isNaN(s)||(I=s<.5?q:G)}var l={};!function(e){null!==D?e[i.id+\".radialaxis.angle\"]=D:null!==z&&(e[i.id+\".radialaxis.range[\"+r+\"]\"]=z)}(l),u.emit(\"plotly_relayouting\",l)}function H(){null!==D?a.call(\"_guiRelayout\",u,i.id+\".radialaxis.angle\",D):null!==z&&a.call(\"_guiRelayout\",u,i.id+\".radialaxis.range[\"+r+\"]\",z)}function q(e,t){if(0!==r){var n=b+e,a=_+t;D=Math.atan2(d-a,n-p),i.vangles&&(D=U(D,i.vangles)),D=F(D);var o=l(p,d)+s(-D);c[\"radial-axis\"].attr(\"transform\",o),c[\"radial-line\"].select(\"line\").attr(\"transform\",o);var u=i.gd._fullLayout,f=u[i.id];i.updateRadialAxisTitle(u,f,D)}}function G(e,t){var n=o.dot([e,-t],[Math.cos(A),Math.sin(A)]);if(z=P-O*n,O>0==(r?z>C:z<L)){var s=u._fullLayout,l=s[i.id];v.range[r]=z,v._rl[r]=z,i.updateRadialAxis(s,l),i.xaxis.setRange(),i.xaxis.setScale(),i.yaxis.setRange(),i.yaxis.setScale();var c=!1;for(var f in i.traceHash){var h=i.traceHash[f],p=o.filterVisible(h);h[0][0].trace._module.plot(u,i,p,l),a.traceIs(f,\"gl\")&&p.length&&(c=!0)}c&&(T(u),M(u))}else z=null}},N.updateAngularDrag=function(e){var t=this,r=t.gd,i=t.layers,u=t.radius,f=t.angularAxis,h=t.cx,p=t.cy,d=t.cxx,v=t.cyy,y=S.angularDragBoxSize,x=g.makeDragger(i,\"path\",\"angulardrag\",!1===e.dragmode?\"none\":\"move\"),b={element:x,gd:r};function _(e,t){return Math.atan2(v+y-t,e-d-y)}!1===e.dragmode?b.dragmode=!1:n.select(x).attr(\"d\",t.pathAnnulus(u,u+y)).attr(\"transform\",l(h,p)).call(k,\"move\");var A,E,C,L,P,O,I=i.frontplot.select(\".scatterlayer\").selectAll(\".trace\"),D=I.selectAll(\".point\"),z=I.selectAll(\".textpoint\");function R(u,g){var m=t.gd._fullLayout,y=m[t.id],x=_(A+u*e._invScaleX,E+g*e._invScaleY),b=F(x-O);if(L=C+b,i.frontplot.attr(\"transform\",l(t.xOffset2,t.yOffset2)+s([-b,d,v])),t.vangles){P=t.radialAxisAngle+b;var w=l(h,p)+s(-b),k=l(h,p)+s(-P);i.bg.attr(\"transform\",w),i[\"radial-grid\"].attr(\"transform\",w),i[\"radial-axis\"].attr(\"transform\",k),i[\"radial-line\"].select(\"line\").attr(\"transform\",k),t.updateRadialAxisTitle(m,y,P)}else t.clipPaths.forTraces.select(\"path\").attr(\"transform\",l(d,v)+s(b));D.each((function(){var e=n.select(this),t=c.getTranslate(e);e.attr(\"transform\",l(t.x,t.y)+s([b]))})),z.each((function(){var e=n.select(this),t=e.select(\"text\"),r=c.getTranslate(e);e.attr(\"transform\",s([b,t.attr(\"x\"),t.attr(\"y\")])+l(r.x,r.y))})),f.rotation=o.modHalf(L,360),t.updateAngularAxis(m,y),t._hasClipOnAxisFalse&&!o.isFullCircle(t.sectorInRad)&&I.call(c.hideOutsideRangePoints,t);var S=!1;for(var R in t.traceHash)if(a.traceIs(R,\"gl\")){var N=t.traceHash[R],j=o.filterVisible(N);N[0][0].trace._module.plot(r,t,j,y),j.length&&(S=!0)}S&&(T(r),M(r));var U={};B(U),r.emit(\"plotly_relayouting\",U)}function B(e){e[t.id+\".angularaxis.rotation\"]=L,t.vangles&&(e[t.id+\".radialaxis.angle\"]=P)}function N(){z.select(\"text\").attr(\"transform\",null);var e={};B(e),a.call(\"_guiRelayout\",r,e)}b.prepFn=function(n,i,a){var s=e[t.id];C=s.angularaxis.rotation;var l=x.getBoundingClientRect();A=i-l.left,E=a-l.top,r._fullLayout._calcInverseTransform(r);var u=o.apply3DTransform(e._invTransform)(A,E);A=u[0],E=u[1],O=_(A,E),b.moveFn=R,b.doneFn=N,w(r)},t.vangles&&!o.isFullCircle(t.sectorInRad)&&(b.prepFn=o.noop,k(n.select(x),null)),m.init(b)},N.isPtInside=function(e){if(this.isSmith)return!0;var t=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(e.theta),i=this.radialAxis,a=i.c2l(e.r),s=i._rl;return(r?E.isPtInsidePolygon:o.isPtInsideSector)(a,n,s,t,r)},N.pathArc=function(e){var t=this.sectorInRad,r=this.vangles;return(r?E.pathPolygon:o.pathArc)(e,t[0],t[1],r)},N.pathSector=function(e){var t=this.sectorInRad,r=this.vangles;return(r?E.pathPolygon:o.pathSector)(e,t[0],t[1],r)},N.pathAnnulus=function(e,t){var r=this.sectorInRad,n=this.vangles;return(n?E.pathPolygonAnnulus:o.pathAnnulus)(e,t,r[0],r[1],n)},N.pathSubplot=function(){var e=this.innerRadius,t=this.radius;return e?this.pathAnnulus(e,t):this.pathSector(t)},N.fillViewInitialKey=function(e,t){e in this.viewInitial||(this.viewInitial[e]=t)}},12101:function(e,t,r){\"use strict\";var n=r(71828),i=r(21994),a=n.deg2rad,o=n.rad2deg;e.exports=function(e,t,r){switch(i(e,r),e._id){case\"x\":case\"radialaxis\":!function(e,t){var r=t._subplot;e.setGeometry=function(){var t=e._rl[0],n=e._rl[1],i=r.innerRadius,a=(r.radius-i)/(n-t),o=i/a,s=t>n?function(e){return e<=0}:function(e){return e>=0};e.c2g=function(r){var n=e.c2l(r)-t;return(s(n)?n:0)+o},e.g2c=function(r){return e.l2c(r+t-o)},e.g2p=function(e){return e*a},e.c2p=function(t){return e.g2p(e.c2g(t))}}}(e,t);break;case\"angularaxis\":!function(e,t){var r=e.type;if(\"linear\"===r){var i=e.d2c,s=e.c2d;e.d2c=function(e,t){return function(e,t){return\"degrees\"===t?a(e):e}(i(e),t)},e.c2d=function(e,t){return s(function(e,t){return\"degrees\"===t?o(e):e}(e,t))}}e.makeCalcdata=function(t,i){var a,o,s=t[i],l=t._length,u=function(r){return e.d2c(r,t.thetaunit)};if(s){if(n.isTypedArray(s)&&\"linear\"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(a=new Array(l),o=0;o<l;o++)a[o]=u(s[o])}else{var c=i+\"0\",f=\"d\"+i,h=c in t?u(t[c]):0,p=t[f]?u(t[f]):(e.period||2*Math.PI)/l;for(a=new Array(l),o=0;o<l;o++)a[o]=h+o*p}return a},e.setGeometry=function(){var i,s,l,u,c=t.sector,f=c.map(a),h={clockwise:-1,counterclockwise:1}[e.direction],p=a(e.rotation),d=function(e){return h*e+p},v=function(e){return(e-p)/h};switch(r){case\"linear\":s=i=n.identity,u=a,l=o,e.range=n.isFullCircle(f)?[c[0],c[0]+360]:f.map(v).map(o);break;case\"category\":var g=e._categories.length,m=e.period?Math.max(e.period,g):g;0===m&&(m=1),s=u=function(e){return 2*e*Math.PI/m},i=l=function(e){return e*m/Math.PI/2},e.range=[0,m]}e.c2g=function(e){return d(s(e))},e.g2c=function(e){return i(v(e))},e.t2g=function(e){return d(u(e))},e.g2t=function(e){return l(v(e))}}}(e,t)}}},39779:function(e){\"use strict\";e.exports={attr:\"subplot\",name:\"smith\",axisNames:[\"realaxis\",\"imaginaryaxis\"],axisName2dataArray:{imaginaryaxis:\"imag\",realaxis:\"real\"}}},23893:function(e){\"use strict\";function t(e){return e<0?-1:e>0?1:0}function r(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function n(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function i(e,t){return t*e.radius}e.exports={smith:r,reactanceArc:function(e,t,a,o){var s=n(e,r([a,t])),l=s[0],u=s[1],c=n(e,r([o,t])),f=c[0],h=c[1];if(0===t)return[\"M\"+l+\",\"+u,\"L\"+f+\",\"+h].join(\" \");var p=i(e,1/Math.abs(t));return[\"M\"+l+\",\"+u,\"A\"+p+\",\"+p+\" 0 0,\"+(t<0?1:0)+\" \"+f+\",\"+h].join(\" \")},resistanceArc:function(e,a,o,s){var l=i(e,1/(a+1)),u=n(e,r([a,o])),c=u[0],f=u[1],h=n(e,r([a,s])),p=h[0],d=h[1];if(t(o)!==t(s)){var v=n(e,r([a,0]));return[\"M\"+c+\",\"+f,\"A\"+l+\",\"+l+\" 0 0,\"+(0<o?0:1)+\" \"+v[0]+\",\"+v[1],\"A\"+l+\",\"+l+\" 0 0,\"+(s<0?0:1)+p+\",\"+d].join(\" \")}return[\"M\"+c+\",\"+f,\"A\"+l+\",\"+l+\" 0 0,\"+(s<o?0:1)+\" \"+p+\",\"+d].join(\" \")},smithTransform:n}},7504:function(e,t,r){\"use strict\";var n=r(27659).AU,i=r(71828).counterRegex,a=r(77997),o=r(39779),s=o.attr,l=o.name,u=i(l),c={};c[s]={valType:\"subplotid\",dflt:l,editType:\"calc\"},e.exports={attr:s,name:l,idRoot:l,idRegex:u,attrRegex:u,attributes:c,layoutAttributes:r(33419),supplyLayoutDefaults:r(9558),plot:function(e){for(var t=e._fullLayout,r=e.calcdata,i=t._subplots[l],o=0;o<i.length;o++){var s=i[o],u=n(r,l,s),c=t[s]._subplot;c||(c=a(e,s,!0),t[s]._subplot=c),c.plot(u,t,e._promises)}},clean:function(e,t,r,n){for(var i=n._subplots[l]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!t[o]&&s)for(var u in s.framework.remove(),s.clipPaths)s.clipPaths[u].remove()}},toSVG:r(93612).toSVG}},33419:function(e,t,r){\"use strict\";var n=r(22399),i=r(13838),a=r(27670).Y,o=r(71828).extendFlat,s=r(30962).overrideAll,l=s({color:i.color,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,griddash:i.griddash},\"plot\",\"from-root\"),u=s({ticklen:i.ticklen,tickwidth:o({},i.tickwidth,{dflt:2}),tickcolor:i.tickcolor,showticklabels:i.showticklabels,labelalias:i.labelalias,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,tickfont:i.tickfont,tickformat:i.tickformat,hoverformat:i.hoverformat,layer:i.layer},\"plot\",\"from-root\"),c=o({visible:o({},i.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:\"data_array\",editType:\"plot\"},tickangle:o({},i.tickangle,{dflt:90}),ticks:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"\"],editType:\"ticks\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},editType:\"calc\"},l,u),f=o({visible:o({},i.visible,{dflt:!0}),tickvals:{valType:\"data_array\",editType:\"plot\"},ticks:i.ticks,editType:\"calc\"},l,u);e.exports={domain:a({name:\"smith\",editType:\"plot\"}),bgcolor:{valType:\"color\",editType:\"plot\",dflt:n.background},realaxis:c,imaginaryaxis:f,editType:\"calc\"}},9558:function(e,t,r){\"use strict\";var n,i,a,o=r(71828),s=r(7901),l=r(44467),u=r(49119),c=r(27659).NG,f=r(89426),h=r(96115),p=r(92128),d=r(21994),v=r(33419),g=r(39779),m=g.axisNames,y=(n=function(e){return e.slice().reverse().map((function(e){return-e})).concat([0]).concat(e)},i=String,a={},function(e){var t=i?i(e):e;if(t in a)return a[t];var r=n(e);return a[t]=r,r});function x(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=s.combine(i,n.paper_bgcolor);var a,u=c(n.fullData,g.name,n.id),x=n.layoutOut;function b(e,t){return r(a+\".\"+e,t)}for(var _=0;_<m.length;_++){a=m[_],o.isPlainObject(e[a])||(e[a]={});var w=e[a],k=l.newContainer(t,a);k._id=k._name=a,k._attr=n.id+\".\"+a,k._traceIndices=u.map((function(e){return e._expandedIndex}));var T=b(\"visible\");if(k.type=\"linear\",d(k,x),f(w,k,b,k.type),T){var M,A,S,E,C=\"realaxis\"===a;C&&b(\"side\"),C?b(\"tickvals\"):b(\"tickvals\",y(t.realaxis.tickvals||v.realaxis.tickvals.dflt));var L=n.font||{};T&&(A=(M=b(\"color\"))===w.color?M:L.color,S=L.size,E=L.family),h(w,k,b,k.type,{noTicklabelstep:!0,noAng:!C,noExp:!0,font:{color:A,size:S,family:E}}),o.coerce2(e,t,v,a+\".ticklen\"),o.coerce2(e,t,v,a+\".tickwidth\"),o.coerce2(e,t,v,a+\".tickcolor\",t.color),b(\"ticks\")||(delete t[a].ticklen,delete t[a].tickwidth,delete t[a].tickcolor),p(w,k,b,{dfltColor:M,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:v[a]}),b(\"layer\")}b(\"hoverformat\"),delete k.type,k._input=w}}e.exports=function(e,t,r){u(e,t,r,{noUirevision:!0,type:g.name,attributes:v,handleDefaults:x,font:t.font,paper_bgcolor:t.paper_bgcolor,fullData:r,layoutOut:t})}},49119:function(e,t,r){\"use strict\";var n=r(71828),i=r(44467),a=r(27670).c;e.exports=function(e,t,r,o){var s,l,u=o.type,c=o.attributes,f=o.handleDefaults,h=o.partition||\"x\",p=t._subplots[u],d=p.length,v=d&&p[0].replace(/\\d+$/,\"\");function g(e,t){return n.coerce(s,l,c,e,t)}for(var m=0;m<d;m++){var y=p[m];s=e[y]?e[y]:e[y]={},l=i.newContainer(t,y,v),o.noUirevision||g(\"uirevision\",t.uirevision);var x={};x[h]=[m/d,(m+1)/d],a(l,t,g,x),o.id=y,f(s,l,g,o)}}},5386:function(e,t,r){\"use strict\";var n=r(31562);function i(e){var t=e.description?\" \"+e.description:\"\",r=e.keys||[];if(r.length>0){for(var n=[],i=0;i<r.length;i++)n[i]=\"`\"+r[i]+\"`\";t+=\"Finally, the template string has access to \",t=1===r.length?t+\"variable \"+n[0]:t+\"variables \"+n.slice(0,-1).join(\", \")+\" and \"+n.slice(-1)+\".\"}return t}n.FORMAT_LINK,n.DATE_FORMAT_LINK,t.fF=function(e,t){e=e||{},i(t=t||{});var r={valType:\"string\",dflt:\"\",editType:e.editType||\"none\"};return!1!==e.arrayOk&&(r.arrayOk=!0),r},t.si=function(e,t){e=e||{},i(t=t||{});var r={valType:\"string\",dflt:\"\",editType:e.editType||\"calc\"};return!1!==e.arrayOk&&(r.arrayOk=!0),r},t.R=function(e,t){return t=t||{},(e=e||{}).newshape,i(t),{valType:\"string\",dflt:\"\",editType:e.editType||\"arraydraw\"}}},61639:function(e,t,r){\"use strict\";var n=r(64380),i=r(27659).AU,a=r(71828).counterRegex,o=\"ternary\";t.name=o;var s=t.attr=\"subplot\";t.idRoot=o,t.idRegex=t.attrRegex=a(o),(t.attributes={})[s]={valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"},t.layoutAttributes=r(81367),t.supplyLayoutDefaults=r(25369),t.plot=function(e){for(var t=e._fullLayout,r=e.calcdata,a=t._subplots[o],s=0;s<a.length;s++){var l=a[s],u=i(r,o,l),c=t[l]._subplot;c||(c=new n({id:l,graphDiv:e,container:t._ternarylayer.node()},t),t[l]._subplot=c),c.plot(u,t,e._promises)}},t.clean=function(e,t,r,n){for(var i=n._subplots[o]||[],a=0;a<i.length;a++){var s=i[a],l=n[s]._subplot;!t[s]&&l&&(l.plotContainer.remove(),l.clipDef.remove(),l.clipDefRelative.remove(),l.layers[\"a-title\"].remove(),l.layers[\"b-title\"].remove(),l.layers[\"c-title\"].remove())}}},81367:function(e,t,r){\"use strict\";var n=r(22399),i=r(27670).Y,a=r(13838),o=r(30962).overrideAll,s=r(1426).extendFlat,l={title:{text:a.title.text,font:a.title.font},color:a.color,tickmode:a.minor.tickmode,nticks:s({},a.nticks,{dflt:6,min:1}),tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,ticklabelstep:a.ticklabelstep,showticklabels:a.showticklabels,labelalias:a.labelalias,showtickprefix:a.showtickprefix,tickprefix:a.tickprefix,showticksuffix:a.showticksuffix,ticksuffix:a.ticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,minexponent:a.minexponent,separatethousands:a.separatethousands,tickfont:a.tickfont,tickangle:a.tickangle,tickformat:a.tickformat,tickformatstops:a.tickformatstops,hoverformat:a.hoverformat,showline:s({},a.showline,{dflt:!0}),linecolor:a.linecolor,linewidth:a.linewidth,showgrid:s({},a.showgrid,{dflt:!0}),gridcolor:a.gridcolor,gridwidth:a.gridwidth,griddash:a.griddash,layer:a.layer,min:{valType:\"number\",dflt:0,min:0},_deprecated:{title:a._deprecated.title,titlefont:a._deprecated.titlefont}},u=e.exports=o({domain:i({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:n.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:l,baxis:l,caxis:l},\"plot\",\"from-root\");u.uirevision={valType:\"any\",editType:\"none\"},u.aaxis.uirevision=u.baxis.uirevision=u.caxis.uirevision={valType:\"any\",editType:\"none\"}},25369:function(e,t,r){\"use strict\";var n=r(7901),i=r(44467),a=r(71828),o=r(49119),s=r(96115),l=r(89426),u=r(38701),c=r(26218),f=r(92128),h=r(81367),p=[\"aaxis\",\"baxis\",\"caxis\"];function d(e,t,r,a){var o,s,l,u=r(\"bgcolor\"),c=r(\"sum\");a.bgColor=n.combine(u,a.paper_bgcolor);for(var f=0;f<p.length;f++)s=e[o=p[f]]||{},(l=i.newContainer(t,o))._name=o,v(s,l,a,t);var h=t.aaxis,d=t.baxis,g=t.caxis;h.min+d.min+g.min>=c&&(h.min=0,d.min=0,g.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function v(e,t,r,n){var i=h[t._name];function o(r,n){return a.coerce(e,t,i,r,n)}o(\"uirevision\",n.uirevision),t.type=\"linear\";var p=o(\"color\"),d=p!==i.color.dflt?p:r.font.color,v=t._name.charAt(0).toUpperCase(),g=\"Component \"+v,m=o(\"title.text\",g);t._hovertitle=m===g?m:v,a.coerceFont(o,\"title.font\",{family:r.font.family,size:a.bigFont(r.font.size),color:d}),o(\"min\"),c(e,t,o,\"linear\"),l(e,t,o,\"linear\"),s(e,t,o,\"linear\"),u(e,t,o,{outerTicks:!0}),o(\"showticklabels\")&&(a.coerceFont(o,\"tickfont\",{family:r.font.family,size:r.font.size,color:d}),o(\"tickangle\"),o(\"tickformat\")),f(e,t,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o(\"hoverformat\"),o(\"layer\")}e.exports=function(e,t,r){o(e,t,r,{type:\"ternary\",attributes:h,handleDefaults:d,font:t.font,paper_bgcolor:t.paper_bgcolor})}},64380:function(e,t,r){\"use strict\";var n=r(39898),i=r(84267),a=r(73972),o=r(71828),s=o.strTranslate,l=o._,u=r(7901),c=r(91424),f=r(21994),h=r(1426).extendFlat,p=r(74875),d=r(89298),v=r(28569),g=r(30211),m=r(64505),y=m.freeMode,x=m.rectMode,b=r(92998),_=r(47322).prepSelect,w=r(47322).selectOnClick,k=r(47322).clearOutline,T=r(47322).clearSelectionsCache,M=r(85555);function A(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}e.exports=A;var S=A.prototype;S.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}},S.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;a<e.length;a++)if(!1===e[a][0].trace.cliponaxis){r._hasClipOnAxisFalse=!0;break}r.updateLayers(n),r.adjustLayout(n,i),p.generalUpdatePerTraceModule(r.graphDiv,r,e,n),r.layers.plotbg.select(\"path\").call(u.fill,n.bgcolor)},S.makeFramework=function(e){var t=this,r=t.graphDiv,n=e[t.id],i=t.clipId=\"clip\"+t.layoutId+t.id,a=t.clipIdRelative=\"clip-relative\"+t.layoutId+t.id;t.clipDef=o.ensureSingleById(e._clips,\"clipPath\",i,(function(e){e.append(\"path\").attr(\"d\",\"M0,0Z\")})),t.clipDefRelative=o.ensureSingleById(e._clips,\"clipPath\",a,(function(e){e.append(\"path\").attr(\"d\",\"M0,0Z\")})),t.plotContainer=o.ensureSingle(t.container,\"g\",t.id),t.updateLayers(n),c.setClipUrl(t.layers.backplot,i,r),c.setClipUrl(t.layers.grids,i,r)},S.updateLayers=function(e){var t=this.layers,r=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\"];\"below traces\"===e.aaxis.layer&&r.push(\"aaxis\",\"aline\"),\"below traces\"===e.baxis.layer&&r.push(\"baxis\",\"bline\"),\"below traces\"===e.caxis.layer&&r.push(\"caxis\",\"cline\"),r.push(\"frontplot\"),\"above traces\"===e.aaxis.layer&&r.push(\"aaxis\",\"aline\"),\"above traces\"===e.baxis.layer&&r.push(\"baxis\",\"bline\"),\"above traces\"===e.caxis.layer&&r.push(\"caxis\",\"cline\");var i=this.plotContainer.selectAll(\"g.toplevel\").data(r,String),a=[\"agrid\",\"bgrid\",\"cgrid\"];i.enter().append(\"g\").attr(\"class\",(function(e){return\"toplevel \"+e})).each((function(e){var r=n.select(this);t[e]=r,\"frontplot\"===e?r.append(\"g\").classed(\"scatterlayer\",!0):\"backplot\"===e?r.append(\"g\").classed(\"maplayer\",!0):\"plotbg\"===e?r.append(\"path\").attr(\"d\",\"M0,0Z\"):\"aline\"===e||\"bline\"===e||\"cline\"===e?r.append(\"path\"):\"grids\"===e&&a.forEach((function(e){t[e]=r.append(\"g\").classed(\"grid \"+e,!0)}))})),i.order()};var E=Math.sqrt(4/3);S.adjustLayout=function(e,t){var r,n,i,a,o,l,p=this,d=e.domain,v=(d.x[0]+d.x[1])/2,g=(d.y[0]+d.y[1])/2,m=d.x[1]-d.x[0],y=d.y[1]-d.y[0],x=m*t.w,b=y*t.h,_=e.sum,w=e.aaxis.min,k=e.baxis.min,T=e.caxis.min;x>E*b?i=(a=b)*E:a=(i=x)/E,o=m*i/x,l=y*a/b,r=t.l+t.w*v-i/2,n=t.t+t.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:\"linear\",range:[w+2*T-_,_-w-2*k],domain:[v-o/2,v+o/2],_id:\"x\"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(e){return e.a>=p.aaxis.range[0]&&e.a<=p.aaxis.range[1]&&e.b>=p.baxis.range[1]&&e.b<=p.baxis.range[0]&&e.c>=p.caxis.range[1]&&e.c<=p.caxis.range[0]},p.yaxis={type:\"linear\",range:[w,_-k-T],domain:[g-l/2,g+l/2],_id:\"y\"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var M=p.yaxis.domain[0],A=p.aaxis=h({},e.aaxis,{range:[w,_-k-T],side:\"left\",tickangle:(+e.aaxis.tickangle||0)-30,domain:[M,M+l*E],anchor:\"free\",position:0,_id:\"y\",_length:i});f(A,p.graphDiv._fullLayout),A.setScale();var S=p.baxis=h({},e.baxis,{range:[_-w-T,k],side:\"bottom\",domain:p.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var C=p.caxis=h({},e.caxis,{range:[_-w-k,T],side:\"right\",tickangle:(+e.caxis.tickangle||0)+30,domain:[M,M+l*E],anchor:\"free\",position:0,_id:\"y\",_length:i});f(C,p.graphDiv._fullLayout),C.setScale();var L=\"M\"+r+\",\"+(n+a)+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";p.clipDef.select(\"path\").attr(\"d\",L),p.layers.plotbg.select(\"path\").attr(\"d\",L);var P=\"M0,\"+a+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";p.clipDefRelative.select(\"path\").attr(\"d\",P);var O=s(r,n);p.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",O),p.clipDefRelative.select(\"path\").attr(\"transform\",null);var I=s(r-S._offset,n+a);p.layers.baxis.attr(\"transform\",I),p.layers.bgrid.attr(\"transform\",I);var D=s(r+i/2,n)+\"rotate(30)\"+s(0,-A._offset);p.layers.aaxis.attr(\"transform\",D),p.layers.agrid.attr(\"transform\",D);var z=s(r+i/2,n)+\"rotate(-30)\"+s(0,-C._offset);p.layers.caxis.attr(\"transform\",z),p.layers.cgrid.attr(\"transform\",z),p.drawAxes(!0),p.layers.aline.select(\"path\").attr(\"d\",A.showline?\"M\"+r+\",\"+(n+a)+\"l\"+i/2+\",-\"+a:\"M0,0\").call(u.stroke,A.linecolor||\"#000\").style(\"stroke-width\",(A.linewidth||0)+\"px\"),p.layers.bline.select(\"path\").attr(\"d\",S.showline?\"M\"+r+\",\"+(n+a)+\"h\"+i:\"M0,0\").call(u.stroke,S.linecolor||\"#000\").style(\"stroke-width\",(S.linewidth||0)+\"px\"),p.layers.cline.select(\"path\").attr(\"d\",C.showline?\"M\"+(r+i/2)+\",\"+n+\"l\"+i/2+\",\"+a:\"M0,0\").call(u.stroke,C.linecolor||\"#000\").style(\"stroke-width\",(C.linewidth||0)+\"px\"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.substr(7)+\"title\",i=t.layers,a=t.aaxis,o=t.baxis,s=t.caxis;if(t.drawAx(a),t.drawAx(o),t.drawAx(s),e){var u=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+(\"outside\"===s.ticks?.87*s.ticklen:0)),c=(o.showticklabels?o.tickfont.size:0)+(\"outside\"===o.ticks?o.ticklen:0)+3;i[\"a-title\"]=b.draw(r,\"a\"+n,{propContainer:a,propName:t.id+\".aaxis.title\",placeholder:l(r,\"Click to enter Component A title\"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-u,\"text-anchor\":\"middle\"}}),i[\"b-title\"]=b.draw(r,\"b\"+n,{propContainer:o,propName:t.id+\".baxis.title\",placeholder:l(r,\"Click to enter Component B title\"),attributes:{x:t.x0-c,y:t.y0+t.h+.83*o.title.font.size+c,\"text-anchor\":\"middle\"}}),i[\"c-title\"]=b.draw(r,\"c\"+n,{propContainer:s,propName:t.id+\".caxis.title\",placeholder:l(r,\"Click to enter Component C title\"),attributes:{x:t.x0+t.w+c,y:t.y0+t.h+.83*s.title.font.size+c,\"text-anchor\":\"middle\"}})}},S.drawAx=function(e){var t,r=this,n=r.graphDiv,i=e._name,a=i.charAt(0),s=e._id,l=r.layers[i],u=a+\"tickLayout\",c=(t=e).ticks+String(t.ticklen)+String(t.showticklabels);r[u]!==c&&(l.selectAll(\".\"+s+\"tick\").remove(),r[u]=c),e.setScale();var f=d.calcTicks(e),h=d.clipEnds(e,f),p=d.makeTransTickFn(e),v=d.getTickSigns(e)[2],g=o.deg2rad(30),m=v*(e.linewidth||1)/2,y=v*e.ticklen,x=r.w,b=r.h,_=\"b\"===a?\"M0,\"+m+\"l\"+Math.sin(g)*y+\",\"+Math.cos(g)*y:\"M\"+m+\",0l\"+Math.cos(g)*y+\",\"+-Math.sin(g)*y,w={a:\"M0,0l\"+b+\",-\"+x/2,b:\"M0,0l-\"+x/2+\",-\"+b,c:\"M0,0l-\"+b+\",\"+x/2}[a];d.drawTicks(n,e,{vals:\"inside\"===e.ticks?h:f,layer:l,path:_,transFn:p,crisp:!1}),d.drawGrid(n,e,{vals:h,layer:r.layers[a+\"grid\"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,e,{vals:f,layer:l,transFn:p,labelFns:d.makeLabelFns(e,0,30)})};var C=M.MINZOOM/2+.87,L=\"m-0.87,.5h\"+C+\"v3h-\"+(C+5.2)+\"l\"+(C/2+2.6)+\",-\"+(.87*C+4.5)+\"l2.6,1.5l-\"+C/2+\",\"+.87*C+\"Z\",P=\"m0.87,.5h-\"+C+\"v3h\"+(C+5.2)+\"l-\"+(C/2+2.6)+\",-\"+(.87*C+4.5)+\"l-2.6,1.5l\"+C/2+\",\"+.87*C+\"Z\",O=\"m0,1l\"+C/2+\",\"+.87*C+\"l2.6,-1.5l-\"+(C/2+2.6)+\",-\"+(.87*C+4.5)+\"l-\"+(C/2+2.6)+\",\"+(.87*C+4.5)+\"l2.6,1.5l\"+C/2+\",-\"+.87*C+\"Z\",I=!0;function D(e){n.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}S.clearOutline=function(){T(this.dragOptions),k(this.dragOptions.gd)},S.initInteractions=function(){var e,t,r,n,f,h,p,d,m,b,k,T,A=this,S=A.layers.plotbg.select(\"path\").node(),C=A.graphDiv,z=C._fullLayout._zoomlayer;function R(e){var t={};return t[A.id+\".aaxis.min\"]=e.a,t[A.id+\".baxis.min\"]=e.b,t[A.id+\".caxis.min\"]=e.c,t}function F(e,t){var r=C._fullLayout.clickmode;D(C),2===e&&(C.emit(\"plotly_doubleclick\",null),a.call(\"_guiRelayout\",C,R({a:0,b:0,c:0}))),r.indexOf(\"select\")>-1&&1===e&&w(t,C,[A.xaxis],[A.yaxis],A.id,A.dragOptions),r.indexOf(\"event\")>-1&&g.click(C,t,A.id)}function B(e,t){return 1-t/A.h}function N(e,t){return 1-(e+(A.h-t)/Math.sqrt(3))/A.w}function j(e,t){return(e-(A.h-t)/Math.sqrt(3))/A.w}function U(i,a){var o=r+i*e,s=n+a*t,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),u=Math.max(0,Math.min(1,N(r,n),N(o,s))),c=Math.max(0,Math.min(1,j(r,n),j(o,s))),v=(l/2+c)*A.w,g=(1-l/2-u)*A.w,y=(v+g)/2,x=g-v,_=(1-l)*A.h,w=_-x/E;x<M.MINZOOM?(p=f,k.attr(\"d\",m),T.attr(\"d\",\"M0,0Z\")):(p={a:f.a+l*h,b:f.b+u*h,c:f.c+c*h},k.attr(\"d\",m+\"M\"+v+\",\"+_+\"H\"+g+\"L\"+y+\",\"+w+\"L\"+v+\",\"+_+\"Z\"),T.attr(\"d\",\"M\"+r+\",\"+n+\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2ZM\"+v+\",\"+_+L+\"M\"+g+\",\"+_+P+\"M\"+y+\",\"+w+O)),b||(k.transition().style(\"fill\",d>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),T.transition().style(\"opacity\",1).duration(200),b=!0),C.emit(\"plotly_relayouting\",R(p))}function V(){D(C),p!==f&&(a.call(\"_guiRelayout\",C,R(p)),I&&C.data&&C._context.showTips&&(o.notifier(l(C,\"Double-click to zoom back out\"),\"long\"),I=!1))}function H(e,t){var r=e/A.xaxis._m,n=t/A.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),u=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[u]},t=(f.a-p.a)*A.yaxis._m,e=(f.c-p.c-f.b+p.b)*A.xaxis._m);var h=s(A.x0+e,A.y0+t);A.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",h);var d=s(-e,-t);A.clipDefRelative.select(\"path\").attr(\"transform\",d),A.aaxis.range=[p.a,A.sum-p.b-p.c],A.baxis.range=[A.sum-p.a-p.c,p.b],A.caxis.range=[A.sum-p.a-p.b,p.c],A.drawAxes(!1),A._hasClipOnAxisFalse&&A.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(c.hideOutsideRangePoints,A),C.emit(\"plotly_relayouting\",R(p))}function q(){a.call(\"_guiRelayout\",C,R(p))}this.dragOptions={element:S,gd:C,plotinfo:{id:A.id,domain:C._fullLayout[A.id].domain,xaxis:A.xaxis,yaxis:A.yaxis},subplot:A.id,prepFn:function(a,l,c){A.dragOptions.xaxes=[A.xaxis],A.dragOptions.yaxes=[A.yaxis],e=C._fullLayout._invScaleX,t=C._fullLayout._invScaleY;var v=A.dragOptions.dragmode=C._fullLayout.dragmode;y(v)?A.dragOptions.minDrag=1:A.dragOptions.minDrag=void 0,\"zoom\"===v?(A.dragOptions.moveFn=U,A.dragOptions.clickFn=F,A.dragOptions.doneFn=V,function(e,t,a){var l=S.getBoundingClientRect();r=t-l.left,n=a-l.top,C._fullLayout._calcInverseTransform(C);var c=C._fullLayout._invTransform,v=o.apply3DTransform(c)(r,n);r=v[0],n=v[1],f={a:A.aaxis.range[0],b:A.baxis.range[1],c:A.caxis.range[1]},p=f,h=A.aaxis.range[1]-f.a,d=i(A.graphDiv._fullLayout[A.id].bgcolor).getLuminance(),m=\"M0,\"+A.h+\"L\"+A.w/2+\", 0L\"+A.w+\",\"+A.h+\"Z\",b=!1,k=z.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",s(A.x0,A.y0)).style({fill:d>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",m),T=z.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",s(A.x0,A.y0)).style({fill:u.background,stroke:u.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),A.clearOutline(C)}(0,l,c)):\"pan\"===v?(A.dragOptions.moveFn=H,A.dragOptions.clickFn=F,A.dragOptions.doneFn=q,f={a:A.aaxis.range[0],b:A.baxis.range[1],c:A.caxis.range[1]},p=f,A.clearOutline(C)):(x(v)||y(v))&&_(a,l,c,A.dragOptions,v)}},S.onmousemove=function(e){g.hover(C,e,A.id),C._fullLayout._lasthover=S,C._fullLayout._hoversubplot=A.id},S.onmouseout=function(e){C._dragging||v.unhover(C,e)},v.init(this.dragOptions)}},73972:function(e,t,r){\"use strict\";var n=r(47769),i=r(64213),a=r(75138),o=r(41965),s=r(24401).addStyleRule,l=r(1426),u=r(9012),c=r(10820),f=l.extendFlat,h=l.extendDeepAll;function p(e){var r=e.name,i=e.categories,a=e.meta;if(t.modules[r])n.log(\"Type \"+r+\" already registered\");else{t.subplotsRegistry[e.basePlotModule.name]||function(e){var r=e.name;if(t.subplotsRegistry[r])n.log(\"Plot type \"+r+\" already registered.\");else for(var i in m(e),t.subplotsRegistry[r]=e,t.componentsRegistry)b(i,e.name)}(e.basePlotModule);for(var o={},l=0;l<i.length;l++)o[i[l]]=!0,t.allCategories[i[l]]=!0;for(var u in t.modules[r]={_module:e,categories:o},a&&Object.keys(a).length&&(t.modules[r].meta=a),t.allTypes.push(r),t.componentsRegistry)y(u,r);e.layoutAttributes&&f(t.traceLayoutAttributes,e.layoutAttributes);var c=e.basePlotModule,h=c.name;if(\"mapbox\"===h){var p=c.constants.styleRules;for(var d in p)s(\".js-plotly-plot .plotly .mapboxgl-\"+d,p[d])}\"geo\"!==h&&\"mapbox\"!==h||void 0!==window.PlotlyGeoAssets||(window.PlotlyGeoAssets={topojson:{}})}}function d(e){if(\"string\"!=typeof e.name)throw new Error(\"Component module *name* must be a string.\");var r=e.name;for(var n in t.componentsRegistry[r]=e,e.layoutAttributes&&(e.layoutAttributes._isLinkedToArray&&a(t.layoutArrayContainers,r),m(e)),t.modules)y(r,n);for(var i in t.subplotsRegistry)b(r,i);for(var o in t.transformsRegistry)x(r,o);e.schema&&e.schema.layout&&h(c,e.schema.layout)}function v(e){if(\"string\"!=typeof e.name)throw new Error(\"Transform module *name* must be a string.\");var r=\"Transform module \"+e.name,i=\"function\"==typeof e.transform,a=\"function\"==typeof e.calcTransform;if(!i&&!a)throw new Error(r+\" is missing a *transform* or *calcTransform* method.\");for(var s in i&&a&&n.log([r+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),o(e.attributes)||n.log(r+\" registered without an *attributes* object.\"),\"function\"!=typeof e.supplyDefaults&&n.log(r+\" registered without a *supplyDefaults* method.\"),t.transformsRegistry[e.name]=e,t.componentsRegistry)x(s,e.name)}function g(e){var r=e.name,n=r.split(\"-\")[0],i=e.dictionary,a=e.format,o=i&&Object.keys(i).length,s=a&&Object.keys(a).length,l=t.localeRegistry,u=l[r];if(u||(l[r]=u={}),n!==r){var c=l[n];c||(l[n]=c={}),o&&c.dictionary===u.dictionary&&(c.dictionary=i),s&&c.format===u.format&&(c.format=a)}o&&(u.dictionary=i),s&&(u.format=a)}function m(e){if(e.layoutAttributes){var r=e.layoutAttributes._arrayAttrRegexps;if(r)for(var n=0;n<r.length;n++)a(t.layoutArrayRegexes,r[n])}}function y(e,r){var n=t.componentsRegistry[e].schema;if(n&&n.traces){var i=n.traces[r];i&&h(t.modules[r]._module.attributes,i)}}function x(e,r){var n=t.componentsRegistry[e].schema;if(n&&n.transforms){var i=n.transforms[r];i&&h(t.transformsRegistry[r].attributes,i)}}function b(e,r){var n=t.componentsRegistry[e].schema;if(n&&n.subplots){var i=t.subplotsRegistry[r],a=i.layoutAttributes,o=\"subplot\"===i.attr?i.name:i.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];a&&s&&h(a,s)}}function _(e){return\"object\"==typeof e&&(e=e.type),e}t.modules={},t.allCategories={},t.allTypes=[],t.subplotsRegistry={},t.transformsRegistry={},t.componentsRegistry={},t.layoutArrayContainers=[],t.layoutArrayRegexes=[],t.traceLayoutAttributes={},t.localeRegistry={},t.apiMethodRegistry={},t.collectableSubplotTypes=null,t.register=function(e){if(t.collectableSubplotTypes=null,!e)throw new Error(\"No argument passed to Plotly.register.\");e&&!Array.isArray(e)&&(e=[e]);for(var r=0;r<e.length;r++){var n=e[r];if(!n)throw new Error(\"Invalid module was attempted to be registered!\");switch(n.moduleType){case\"trace\":p(n);break;case\"transform\":v(n);break;case\"component\":d(n);break;case\"locale\":g(n);break;case\"apiMethod\":var i=n.name;t.apiMethodRegistry[i]=n.fn;break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}},t.getModule=function(e){var r=t.modules[_(e)];return!!r&&r._module},t.traceIs=function(e,r){if(\"various\"===(e=_(e)))return!1;var i=t.modules[e];return i||(e&&n.log(\"Unrecognized trace type \"+e+\".\"),i=t.modules[u.type.dflt]),!!i.categories[r]},t.getTransformIndices=function(e,t){for(var r=[],n=e.transforms||[],i=0;i<n.length;i++)n[i].type===t&&r.push(i);return r},t.hasTransform=function(e,t){for(var r=e.transforms||[],n=0;n<r.length;n++)if(r[n].type===t)return!0;return!1},t.getComponentMethod=function(e,r){var n=t.componentsRegistry[e];return n&&n[r]||i},t.call=function(){var e=arguments[0],r=[].slice.call(arguments,1);return t.apiMethodRegistry[e].apply(null,r)}},61914:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828),a=i.extendFlat,o=i.extendDeep;function s(e){var t;switch(e){case\"themes__thumb\":t={autosize:!0,width:150,height:150,title:{text:\"\"},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\"thumbnail\":t={title:{text:\"\"},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\"\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}e.exports=function(e,t){var r,i,l=e.data,u=e.layout,c=o([],l),f=o({},u,s(t.tileClass)),h=e._context||{};if(t.width&&(f.width=t.width),t.height&&(f.height=t.height),\"thumbnail\"===t.tileClass||\"themes__thumb\"===t.tileClass){f.annotations=[];var p=Object.keys(f);for(r=0;r<p.length;r++)i=p[r],[\"xaxis\",\"yaxis\",\"zaxis\"].indexOf(i.slice(0,5))>-1&&(f[p[r]].title={text:\"\"});for(r=0;r<c.length;r++){var d=c[r];d.showscale=!1,d.marker&&(d.marker.showscale=!1),n.traceIs(d,\"pie-like\")&&(d.textposition=\"none\")}}if(Array.isArray(t.annotations))for(r=0;r<t.annotations.length;r++)f.annotations.push(t.annotations[r]);var v=Object.keys(f).filter((function(e){return e.match(/^scene\\d*$/)}));if(v.length){var g={};for(\"thumbnail\"===t.tileClass&&(g={title:{text:\"\"},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<v.length;r++){var m=f[v[r]];m.xaxis||(m.xaxis={}),m.yaxis||(m.yaxis={}),m.zaxis||(m.zaxis={}),a(m.xaxis,g),a(m.yaxis,g),a(m.zaxis,g),m._scene=null}}var y=document.createElement(\"div\");t.tileClass&&(y.className=t.tileClass);var x={gd:y,td:y,layout:f,data:c,config:{staticPlot:void 0===t.staticPlot||t.staticPlot,plotGlPixelRatio:void 0===t.plotGlPixelRatio?2:t.plotGlPixelRatio,displaylogo:t.displaylogo||!1,showLink:t.showLink||!1,showTips:t.showTips||!1,mapboxAccessToken:h.mapboxAccessToken}};return\"transparent\"!==t.setBackground&&(x.config.setBackground=t.setBackground||\"opaque\"),x.gd.defaultLayout=s(t.tileClass),x}},7239:function(e,t,r){\"use strict\";var n=r(71828),i=r(403),a=r(22435),o=r(25095);e.exports=function(e,t){var r;return n.isPlainObject(e)||(r=n.getGraphDiv(e)),(t=t||{}).format=t.format||\"png\",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise((function(s,l){r&&r._snapshotInProgress&&l(new Error(\"Snapshotting already in progress.\")),n.isIE()&&\"svg\"!==t.format&&l(new Error(o.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var u=i(e,t),c=t.filename||e.fn||\"newplot\";c+=\".\"+t.format.replace(\"-\",\".\"),u.then((function(e){return r&&(r._snapshotInProgress=!1),a(e,c,t.format)})).then((function(e){s(e)})).catch((function(e){r&&(r._snapshotInProgress=!1),l(e)}))}))}},22435:function(e,t,r){\"use strict\";var n=r(71828),i=r(25095);e.exports=function(e,t,r){var a=document.createElement(\"a\"),o=\"download\"in a;return new Promise((function(s,l){var u,c;if(n.isIE())return u=i.createBlob(e,\"svg\"),window.navigator.msSaveBlob(u,t),u=null,s(t);if(o)return u=i.createBlob(e,r),c=i.createObjectURL(u),a.href=c,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),i.revokeObjectURL(c),u=null,s(t);if(n.isSafari()){var f=\"svg\"===r?\",\":\";base64,\";return i.octetStream(f+encodeURIComponent(e)),s(t)}l(new Error(\"download error\"))}))}},25095:function(e,t,r){\"use strict\";var n=r(73972);t.getDelay=function(e){return e._has&&(e._has(\"gl3d\")||e._has(\"gl2d\")||e._has(\"mapbox\"))?500:0},t.getRedrawFunc=function(e){return function(){n.getComponentMethod(\"colorbar\",\"draw\")(e)}},t.encodeSVG=function(e){return\"data:image/svg+xml,\"+encodeURIComponent(e)},t.encodeJSON=function(e){return\"data:application/json,\"+encodeURIComponent(e)};var i=window.URL||window.webkitURL;t.createObjectURL=function(e){return i.createObjectURL(e)},t.revokeObjectURL=function(e){return i.revokeObjectURL(e)},t.createBlob=function(e,t){if(\"svg\"===t)return new window.Blob([e],{type:\"image/svg+xml;charset=utf-8\"});if(\"full-json\"===t)return new window.Blob([e],{type:\"application/json;charset=utf-8\"});var r=function(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i<t;i++)n[i]=e.charCodeAt(i);return r}(window.atob(e));return new window.Blob([r],{type:\"image/\"+t})},t.octetStream=function(e){document.location.href=\"data:application/octet-stream\"+e},t.IMAGE_URL_PREFIX=/^data:image\\/\\w+;base64,/,t.MSG_IE_BAD_FORMAT=\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\"},44511:function(e,t,r){\"use strict\";var n=r(25095),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:r(61914),toSVG:r(5900),svgToImg:r(70942),toImage:r(56395),downloadImage:r(7239)};e.exports=i},70942:function(e,t,r){\"use strict\";var n=r(71828),i=r(15398).EventEmitter,a=r(25095);e.exports=function(e){var t=e.emitter||new i,r=new Promise((function(i,o){var s=window.Image,l=e.svg,u=e.format||\"png\";if(n.isIE()&&\"svg\"!==u){var c=new Error(a.MSG_IE_BAD_FORMAT);return o(c),e.promise?r:t.emit(\"error\",c)}var f,h,p=e.canvas,d=e.scale||1,v=e.width||300,g=e.height||150,m=d*v,y=d*g,x=p.getContext(\"2d\",{willReadFrequently:!0}),b=new s;\"svg\"===u||n.isSafari()?h=a.encodeSVG(l):(f=a.createBlob(l,\"svg\"),h=a.createObjectURL(f)),p.width=m,p.height=y,b.onload=function(){var r;switch(f=null,a.revokeObjectURL(h),\"svg\"!==u&&x.drawImage(b,0,0,m,y),u){case\"jpeg\":r=p.toDataURL(\"image/jpeg\");break;case\"png\":r=p.toDataURL(\"image/png\");break;case\"webp\":r=p.toDataURL(\"image/webp\");break;case\"svg\":r=h;break;default:var n=\"Image format is not jpeg, png, svg or webp.\";if(o(new Error(n)),!e.promise)return t.emit(\"error\",n)}i(r),e.promise||t.emit(\"success\",r)},b.onerror=function(r){if(f=null,a.revokeObjectURL(h),o(r),!e.promise)return t.emit(\"error\",r)},b.src=h}));return e.promise?r:t}},56395:function(e,t,r){\"use strict\";var n=r(15398).EventEmitter,i=r(73972),a=r(71828),o=r(25095),s=r(61914),l=r(5900),u=r(70942);e.exports=function(e,t){var r=new n,c=s(e,{format:\"png\"}),f=c.gd;f.style.position=\"absolute\",f.style.left=\"-5000px\",document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.call(\"_doPlot\",f,c.data,c.layout,c.config).then(h).then((function(){var e=o.getDelay(f._fullLayout);setTimeout((function(){var e=l(f),n=document.createElement(\"canvas\");n.id=a.randstr(),(r=u({format:t.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:n,emitter:r,svg:e})).clean=function(){f&&document.body.removeChild(f)}}),e)})).catch((function(e){r.emit(\"error\",e)})),r}},5900:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(91424),o=r(7901),s=r(77922),l=/\"/g,u=\"TOBESTRIPPED\",c=new RegExp('(\"'+u+\")|(\"+u+'\")',\"g\");e.exports=function(e,t,r){var f,h=e._fullLayout,p=h._paper,d=h._toppaper,v=h.width,g=h.height;p.insert(\"rect\",\":first-child\").call(a.setRect,0,0,v,g).call(o.fill,h.paper_bgcolor);var m=h._basePlotModules||[];for(f=0;f<m.length;f++){var y=m[f];y.toSVG&&y.toSVG(e)}if(d){var x=d.node().childNodes,b=Array.prototype.slice.call(x);for(f=0;f<b.length;f++){var _=b[f];_.childNodes.length&&p.node().appendChild(_)}}h._draggers&&h._draggers.remove(),p.node().style.background=\"\",p.selectAll(\"text\").attr({\"data-unformatted\":null,\"data-math\":null}).each((function(){var e=n.select(this);if(\"hidden\"!==this.style.visibility&&\"none\"!==this.style.display){e.style({visibility:null,display:null});var t=this.style.fontFamily;t&&-1!==t.indexOf('\"')&&e.style(\"font-family\",t.replace(l,u))}else e.remove()})),p.selectAll(\".gradient_filled,.pattern_filled\").each((function(){var e=n.select(this),t=this.style.fill;t&&-1!==t.indexOf(\"url(\")&&e.style(\"fill\",t.replace(l,u));var r=this.style.stroke;r&&-1!==r.indexOf(\"url(\")&&e.style(\"stroke\",r.replace(l,u))})),\"pdf\"!==t&&\"eps\"!==t||p.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),p.node().setAttributeNS(s.xmlns,\"xmlns\",s.svg),p.node().setAttributeNS(s.xmlns,\"xmlns:xlink\",s.xlink),\"svg\"===t&&r&&(p.attr(\"width\",r*v),p.attr(\"height\",r*g),p.attr(\"viewBox\",\"0 0 \"+v+\" \"+g));var w=(new window.XMLSerializer).serializeToString(p.node());return w=(w=(w=function(e){var t=n.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),r=e.replace(/(&[^;]*;)/gi,(function(e){return\"&lt;\"===e?\"&#60;\":\"&rt;\"===e?\"&#62;\":-1!==e.indexOf(\"<\")||-1!==e.indexOf(\">\")?\"\":t.html(e).text()}));return t.remove(),r}(w)).replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&amp;\")).replace(c,\"'\"),i.isIE()&&(w=(w=(w=w.replace(/\"/gi,\"'\")).replace(/(\\('#)([^']*)('\\))/gi,'(\"#$2\")')).replace(/(\\\\')/gi,'\"')),w}},75341:function(e,t,r){\"use strict\";var n=r(71828);e.exports=function(e,t){for(var r=0;r<e.length;r++)e[r].i=r;n.mergeArray(t.text,e,\"tx\"),n.mergeArray(t.hovertext,e,\"htx\");var i=t.marker;if(i){n.mergeArray(i.opacity,e,\"mo\",!0),n.mergeArray(i.color,e,\"mc\");var a=i.line;a&&(n.mergeArray(a.color,e,\"mlc\"),n.mergeArrayCastPositive(a.width,e,\"mlw\"))}}},1486:function(e,t,r){\"use strict\";var n=r(82196),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(5386).si,s=r(50693),l=r(41940),u=r(97313),c=r(79952).u,f=r(1426).extendFlat,h=l({editType:\"calc\",arrayOk:!0,colorEditType:\"style\"}),p=f({},n.marker.line.width,{dflt:0}),d=f({width:p,editType:\"calc\"},s(\"marker.line\")),v=f({line:d,editType:\"calc\"},s(\"marker\"),{opacity:{valType:\"number\",arrayOk:!0,dflt:1,min:0,max:1,editType:\"style\"},pattern:c});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),text:n.text,texttemplate:o({editType:\"plot\"},{keys:u.eventDataKeys}),hovertext:n.hovertext,hovertemplate:a({},{keys:u.eventDataKeys}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"calc\"},insidetextanchor:{valType:\"enumerated\",values:[\"end\",\"middle\",\"start\"],dflt:\"end\",editType:\"plot\"},textangle:{valType:\"angle\",dflt:\"auto\",editType:\"plot\"},textfont:f({},h,{}),insidetextfont:f({},h,{}),outsidetextfont:f({},h,{}),constraintext:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"both\",\"none\"],dflt:\"both\",editType:\"calc\"},cliponaxis:f({},n.cliponaxis,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},base:{valType:\"any\",dflt:null,arrayOk:!0,editType:\"calc\"},offset:{valType:\"number\",dflt:null,arrayOk:!0,editType:\"calc\"},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0,editType:\"calc\"},marker:v,offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:\"style\"},textfont:n.selected.textfont,editType:\"style\"},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:\"style\"},textfont:n.unselected.textfont,editType:\"style\"},_deprecated:{bardir:{valType:\"enumerated\",editType:\"calc\",values:[\"v\",\"h\"]}}}},92290:function(e,t,r){\"use strict\";var n=r(89298),i=r(42973),a=r(52075).hasColorscale,o=r(78803),s=r(75341),l=r(66279);e.exports=function(e,t){var r,u,c,f,h,p,d=n.getFromId(e,t.xaxis||\"x\"),v=n.getFromId(e,t.yaxis||\"y\"),g={msUTC:!(!t.base&&0!==t.base)};\"h\"===t.orientation?(r=d.makeCalcdata(t,\"x\",g),c=v.makeCalcdata(t,\"y\"),f=i(t,v,\"y\",c),h=!!t.yperiodalignment,p=\"y\"):(r=v.makeCalcdata(t,\"y\",g),c=d.makeCalcdata(t,\"x\"),f=i(t,d,\"x\",c),h=!!t.xperiodalignment,p=\"x\"),u=f.vals;for(var m=Math.min(u.length,r.length),y=new Array(m),x=0;x<m;x++)y[x]={p:u[x],s:r[x]},h&&(y[x].orig_p=c[x],y[x][p+\"End\"]=f.ends[x],y[x][p+\"Start\"]=f.starts[x]),t.ids&&(y[x].id=String(t.ids[x]));return a(t,\"marker\")&&o(e,t,{vals:t.marker.color,containerStr:\"marker\",cLetter:\"c\"}),a(t,\"marker.line\")&&o(e,t,{vals:t.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),s(y,t),l(y,t),y}},97313:function(e){\"use strict\";e.exports={TEXTPAD:3,eventDataKeys:[\"value\",\"label\"]}},11661:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828).isArrayOrTypedArray,a=r(50606).BADNUM,o=r(73972),s=r(89298),l=r(99082).getAxisGroup,u=r(61546);function c(e,t,r,o,c){if(o.length){var b,_,w,k;switch(function(e,t){var r,a;for(r=0;r<t.length;r++){var o,s=t[r],l=s[0].trace,u=\"funnel\"===l.type?l._base:l.base,c=\"h\"===l.orientation?l.xcalendar:l.ycalendar,f=\"category\"===e.type||\"multicategory\"===e.type?function(){return null}:e.d2c;if(i(u)){for(a=0;a<Math.min(u.length,s.length);a++)o=f(u[a],0,c),n(o)?(s[a].b=+o,s[a].hasB=1):s[a].b=0;for(;a<s.length;a++)s[a].b=0}else{o=f(u,0,c);var h=n(o);for(o=h?o:0,a=0;a<s.length;a++)s[a].b=o,h&&(s[a].hasB=1)}}}(r,o),c.mode){case\"overlay\":f(t,r,o,c);break;case\"group\":for(b=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.offset?_.push(k):b.push(k);_.length&&function(e,t,r,n,i){var o=new u(n,{posAxis:t,sepNegVal:!1,overlapNoMerge:!i.norm});(function(e,t,r,n){for(var i=e._fullLayout,a=r.positions,o=r.distinctPositions,s=r.minDiff,u=r.traces,c=u.length,f=a.length!==o.length,h=s*(1-n.gap),g=l(i,t._id)+u[0][0].trace.orientation,m=i._alignmentOpts[g]||{},y=0;y<c;y++){var x,b,_=u[y],w=_[0].trace,k=m[w.alignmentgroup]||{},T=Object.keys(k.offsetGroups||{}).length,M=(x=T?h/T:f?h/c:h)*(1-(n.groupgap||0));b=T?((2*w._offsetIndex+1-T)*x-M)/2:f?((2*y+1-c)*x-M)/2:-M/2;var A=_[0].t;A.barwidth=M,A.poffset=b,A.bargroupwidth=h,A.bardelta=s}r.binWidth=u[0][0].t.barwidth/100,p(r),d(t,r),v(t,r,f)})(e,t,o,i),function(e,t){for(var r=e.traces,n=0;n<r.length;n++){var i=r[n];if(void 0===i[0].trace.base)for(var o=new u([i],{posAxis:t,sepNegVal:!0,overlapNoMerge:!0}),s=0;s<i.length;s++){var l=i[s];if(l.p!==a){var c=o.put(l.p,l.b+l.s);c&&(l.b=c)}}}}(o,t),i.norm?(m(o),y(r,o,i)):g(r,o)}(e,t,r,_,c),b.length&&f(t,r,b,c);break;case\"stack\":case\"relative\":for(b=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.base?_.push(k):b.push(k);_.length&&function(e,t,r,n,i){var o=new u(n,{posAxis:t,sepNegVal:\"relative\"===i.mode,overlapNoMerge:!(i.norm||\"stack\"===i.mode||\"relative\"===i.mode)});h(t,o,i),function(e,t,r){var n,i,o,l,u,c,f=x(e),h=t.traces;for(l=0;l<h.length;l++)if(\"funnel\"===(i=(n=h[l])[0].trace).type)for(u=0;u<n.length;u++)(c=n[u]).s!==a&&t.put(c.p,-.5*c.s);for(l=0;l<h.length;l++){o=\"funnel\"===(i=(n=h[l])[0].trace).type;var p=[];for(u=0;u<n.length;u++)if((c=n[u]).s!==a){var d;d=o?c.s:c.s+c.b;var v=t.put(c.p,d),g=v+d;c.b=v,c[f]=g,r.norm||(p.push(g),c.hasB&&p.push(v))}r.norm||(i._extremes[e._id]=s.findExtremes(e,p,{tozero:!0,padded:!0}))}}(r,o,i);for(var l=0;l<n.length;l++)for(var c=n[l],f=0;f<c.length;f++){var p=c[f];p.s!==a&&p.b+p.s===o.get(p.p,p.s)&&(p._outmost=!0)}i.norm&&y(r,o,i)}(0,t,r,_,c),b.length&&f(t,r,b,c)}!function(e,t){var r,i,a,o=x(t),s={},l=1/0,u=-1/0;for(r=0;r<e.length;r++)for(a=e[r],i=0;i<a.length;i++){var c=a[i].p;n(c)&&(l=Math.min(l,c),u=Math.max(u,c))}var f=1e4/(u-l),h=s.round=function(e){return String(Math.round(f*(e-l)))};for(r=0;r<e.length;r++){(a=e[r])[0].t.extents=s;var p=a[0].t.poffset,d=Array.isArray(p);for(i=0;i<a.length;i++){var v=a[i],g=v[o]-v.w/2;if(n(g)){var m=v[o]+v.w/2,y=h(v.p);s[y]?s[y]=[Math.min(g,s[y][0]),Math.max(m,s[y][1])]:s[y]=[g,m]}v.p0=v.p+(d?p[i]:p),v.p1=v.p0+v.w,v.s0=v.b,v.s1=v.s0+v.s}}}(o,t)}}function f(e,t,r,n){for(var i=0;i<r.length;i++){var a=r[i],o=new u([a],{posAxis:e,sepNegVal:!1,overlapNoMerge:!n.norm});h(e,o,n),n.norm?(m(o),y(t,o,n)):g(t,o)}}function h(e,t,r){for(var n=t.minDiff,i=t.traces,a=n*(1-r.gap),o=a*(1-(r.groupgap||0)),s=-o/2,l=0;l<i.length;l++){var u=i[l][0].t;u.barwidth=o,u.poffset=s,u.bargroupwidth=a,u.bardelta=n}t.binWidth=i[0][0].t.barwidth/100,p(t),d(e,t),v(e,t)}function p(e){var t,r,a=e.traces;for(t=0;t<a.length;t++){var o,s=a[t],l=s[0],u=l.trace,c=l.t,f=u._offset||u.offset,h=c.poffset;if(i(f)){for(o=Array.prototype.slice.call(f,0,s.length),r=0;r<o.length;r++)n(o[r])||(o[r]=h);for(r=o.length;r<s.length;r++)o.push(h);c.poffset=o}else void 0!==f&&(c.poffset=f);var p=u._width||u.width,d=c.barwidth;if(i(p)){var v=Array.prototype.slice.call(p,0,s.length);for(r=0;r<v.length;r++)n(v[r])||(v[r]=d);for(r=v.length;r<s.length;r++)v.push(d);if(c.barwidth=v,void 0===f){for(o=[],r=0;r<s.length;r++)o.push(h+(d-v[r])/2);c.poffset=o}}else void 0!==p&&(c.barwidth=p,void 0===f&&(c.poffset=h+(d-p)/2))}}function d(e,t){for(var r=t.traces,n=x(e),i=0;i<r.length;i++)for(var a=r[i],o=a[0].t,s=o.poffset,l=Array.isArray(s),u=o.barwidth,c=Array.isArray(u),f=0;f<a.length;f++){var h=a[f],p=h.w=c?u[f]:u;void 0===h.p&&(h.p=h[n],h[\"orig_\"+n]=h[n]);var d=(l?s[f]:s)+p/2;h[n]=h.p+d}}function v(e,t,r){var n=t.traces,i=t.minDiff/2;s.minDtick(e,t.minDiff,t.distinctPositions[0],r);for(var a=0;a<n.length;a++){var o,l,u,c,f=n[a],h=f[0],p=h.trace,d=[];for(c=0;c<f.length;c++)l=(o=f[c]).p-i,u=o.p+i,d.push(l,u);if(p.width||p.offset){var v=h.t,g=v.poffset,m=v.barwidth,y=Array.isArray(g),x=Array.isArray(m);for(c=0;c<f.length;c++){o=f[c];var b=y?g[c]:g,_=x?m[c]:m;u=(l=o.p+b)+_,d.push(l,u)}}p._extremes[e._id]=s.findExtremes(e,d,{padded:!1})}}function g(e,t){for(var r=t.traces,n=x(e),i=0;i<r.length;i++){for(var a=r[i],o=a[0].trace,l=\"scatter\"===o.type,u=\"v\"===o.orientation,c=[],f=!1,h=0;h<a.length;h++){var p=a[h],d=l?0:p.b,v=l?u?p.y:p.x:d+p.s;p[n]=v,c.push(v),p.hasB&&c.push(d),p.hasB&&p.b||(f=!0)}o._extremes[e._id]=s.findExtremes(e,c,{tozero:f,padded:!0})}}function m(e){for(var t=e.traces,r=0;r<t.length;r++)for(var n=t[r],i=0;i<n.length;i++){var o=n[i];o.s!==a&&e.put(o.p,o.b+o.s)}}function y(e,t,r){var i=t.traces,o=x(e),l=\"fraction\"===r.norm?1:100,u=l/1e9,c=e.l2c(e.c2l(0)),f=\"stack\"===r.mode?l:c;function h(t){return n(e.c2l(t))&&(t<c-u||t>f+u||!n(c))}for(var p=0;p<i.length;p++){for(var d=i[p],v=d[0].trace,g=[],m=!1,y=!1,b=0;b<d.length;b++){var _=d[b];if(_.s!==a){var w=Math.abs(l/t.get(_.p,_.s));_.b*=w,_.s*=w;var k=_.b,T=k+_.s;_[o]=T,g.push(T),y=y||h(T),_.hasB&&(g.push(k),y=y||h(k)),_.hasB&&_.b||(m=!0)}}v._extremes[e._id]=s.findExtremes(e,g,{tozero:m,padded:y})}}function x(e){return e._id.charAt(0)}e.exports={crossTraceCalc:function(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,s=e.calcdata,l=[],u=[],f=0;f<a.length;f++){var h=a[f];if(!0===h.visible&&o.traceIs(h,\"bar\")&&h.xaxis===r._id&&h.yaxis===n._id&&(\"h\"===h.orientation?l.push(s[f]):u.push(s[f]),h._computePh))for(var p=e.calcdata[f],d=0;d<p.length;d++)\"function\"==typeof p[d].ph0&&(p[d].ph0=p[d].ph0()),\"function\"==typeof p[d].ph1&&(p[d].ph1=p[d].ph1())}var v={xCat:\"category\"===r.type||\"multicategory\"===r.type,yCat:\"category\"===n.type||\"multicategory\"===n.type,mode:i.barmode,norm:i.barnorm,gap:i.bargap,groupgap:i.bargroupgap};c(e,r,n,u,v),c(e,n,r,l,v)},setGroupPositions:c}},90769:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901),a=r(73972),o=r(67513),s=r(73927),l=r(98340),u=r(26125),c=r(1486),f=n.coerceFont;function h(e,t,r,i,a,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),u=!(!1===o.moduleHasConstrain),c=!(!1===o.moduleHasCliponaxis),h=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,v=Array.isArray(a)||\"auto\"===a,g=v||\"inside\"===a,m=v||\"outside\"===a;if(g||m){var y=f(i,\"textfont\",r.font),x=n.extendFlat({},y),b=!(e.textfont&&e.textfont.color);if(b&&delete x.color,f(i,\"insidetextfont\",x),d){var _=n.extendFlat({},y);b&&delete _.color,f(i,\"pathbar.textfont\",_)}m&&f(i,\"outsidetextfont\",y),s&&i(\"selected.textfont.color\"),l&&i(\"unselected.textfont.color\"),u&&i(\"constraintext\"),c&&i(\"cliponaxis\"),h&&i(\"textangle\"),i(\"texttemplate\")}g&&p&&i(\"insidetextanchor\")}e.exports={supplyDefaults:function(e,t,r,u){function f(r,i){return n.coerce(e,t,c,r,i)}if(o(e,t,u,f)){s(e,t,u,f),f(\"xhoverformat\"),f(\"yhoverformat\"),f(\"orientation\",t.x&&!t.y?\"h\":\"v\"),f(\"base\"),f(\"offset\"),f(\"width\"),f(\"text\"),f(\"hovertext\"),f(\"hovertemplate\");var p=f(\"textposition\");h(e,0,u,f,p,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),l(e,t,f,r,u);var d=(t.marker.line||{}).color,v=a.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(e,t,d||i.defaultLine,{axis:\"y\"}),v(e,t,d||i.defaultLine,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(t,f)}else t.visible=!1},crossTraceDefaults:function(e,t){var r,i;function a(e){return n.coerce(i._input,i,c,e)}if(\"group\"===t.barmode)for(var o=0;o<e.length;o++)\"bar\"===(i=e[o]).type&&(r=i._input,u(r,i,t,a))},handleText:h}},58065:function(e){\"use strict\";e.exports=function(e,t,r){return e.x=\"xVal\"in t?t.xVal:t.x,e.y=\"yVal\"in t?t.yVal:t.y,t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),\"h\"===r.orientation?(e.label=e.y,e.value=e.x):(e.label=e.x,e.value=e.y),e}},69383:function(e,t,r){\"use strict\";var n=r(92770),i=r(84267),a=r(71828).isArrayOrTypedArray;t.coerceString=function(e,t,r){if(\"string\"==typeof t){if(t||!e.noBlank)return t}else if((\"number\"==typeof t||!0===t)&&!e.strict)return String(t);return void 0!==r?r:e.dflt},t.coerceNumber=function(e,t,r){if(n(t)){t=+t;var i=e.min,a=e.max;if(!(void 0!==i&&t<i||void 0!==a&&t>a))return t}return void 0!==r?r:e.dflt},t.coerceColor=function(e,t,r){return i(t).isValid()?t:void 0!==r?r:e.dflt},t.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),-1!==e.values.indexOf(t)?t:void 0!==r?r:e.dflt},t.getValue=function(e,t){var r;return Array.isArray(e)?t<e.length&&(r=e[t]):r=e,r},t.getLineWidth=function(e,t){return 0<t.mlw?t.mlw:a(e.marker.line.width)?0:e.marker.line.width}},95423:function(e,t,r){\"use strict\";var n=r(30211),i=r(73972),a=r(7901),o=r(71828).fillText,s=r(69383).getLineWidth,l=r(89298).hoverLabelText,u=r(50606).BADNUM;function c(e,t,r,i,a){var s,c,f,h,p,d,v,g=e.cd,m=g[0].trace,y=g[0].t,x=\"closest\"===i,b=\"waterfall\"===m.type,_=e.maxHoverDistance,w=e.maxSpikeDistance;\"h\"===m.orientation?(s=r,c=t,f=\"y\",h=\"x\",p=D,d=O):(s=t,c=r,f=\"x\",h=\"y\",d=D,p=O);var k=m[f+\"period\"],T=x||k;function M(e){return S(e,-1)}function A(e){return S(e,1)}function S(e,t){var r=e.w;return e[f]+t*r/2}function E(e){return e[f+\"End\"]-e[f+\"Start\"]}var C=x?M:k?function(e){return e.p-E(e)/2}:function(e){return Math.min(M(e),e.p-y.bardelta/2)},L=x?A:k?function(e){return e.p+E(e)/2}:function(e){return Math.max(A(e),e.p+y.bardelta/2)};function P(e,t,r){return a.finiteRange&&(r=0),n.inbox(e-s,t-s,r+Math.min(1,Math.abs(t-e)/v)-1)}function O(e){return P(C(e),L(e),_)}function I(e){var t=e[h];if(b){var r=Math.abs(e.rawS)||0;c>0?t+=r:c<0&&(t-=r)}return t}function D(e){var t=c,r=e.b,i=I(e);return n.inbox(r-t,i-t,_+(i-t)/(i-r)-1)}var z=e[f+\"a\"],R=e[h+\"a\"];v=Math.abs(z.r2c(z.range[1])-z.r2c(z.range[0]));var F=n.getDistanceFunction(i,p,d,(function(e){return(p(e)+d(e))/2}));if(n.getClosest(g,F,e),!1!==e.index&&g[e.index].p!==u){T||(C=function(e){return Math.min(M(e),e.p-y.bargroupwidth/2)},L=function(e){return Math.max(A(e),e.p+y.bargroupwidth/2)});var B=g[e.index],N=m.base?B.b+B.s:B.s;e[h+\"0\"]=e[h+\"1\"]=R.c2p(B[h],!0),e[h+\"LabelVal\"]=N;var j=y.extents[y.extents.round(B.p)];e[f+\"0\"]=z.c2p(x?C(B):j[0],!0),e[f+\"1\"]=z.c2p(x?L(B):j[1],!0);var U=void 0!==B.orig_p;return e[f+\"LabelVal\"]=U?B.orig_p:B.p,e.labelLabel=l(z,e[f+\"LabelVal\"],m[f+\"hoverformat\"]),e.valueLabel=l(R,e[h+\"LabelVal\"],m[h+\"hoverformat\"]),e.baseLabel=l(R,B.b,m[h+\"hoverformat\"]),e.spikeDistance=(function(e){var t=c,r=e.b,i=I(e);return n.inbox(r-t,i-t,w+(i-t)/(i-r)-1)}(B)+function(e){return P(M(e),A(e),w)}(B))/2,e[f+\"Spike\"]=z.c2p(B.p,!0),o(B,m,e),e.hovertemplate=m.hovertemplate,e}}function f(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,i=s(e,t);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}e.exports={hoverPoints:function(e,t,r,n,a){var o=c(e,t,r,n,a);if(o){var s=o.cd,l=s[0].trace,u=s[o.index];return o.color=f(l,u),i.getComponentMethod(\"errorbars\",\"hoverInfo\")(u,l,o),[o]}},hoverOnBars:c,getTraceColor:f}},60822:function(e,t,r){\"use strict\";e.exports={attributes:r(1486),layoutAttributes:r(43641),supplyDefaults:r(90769).supplyDefaults,crossTraceDefaults:r(90769).crossTraceDefaults,supplyLayoutDefaults:r(13957),calc:r(92290),crossTraceCalc:r(11661).crossTraceCalc,colorbar:r(4898),arraysToCalcdata:r(75341),plot:r(17295).plot,style:r(16688).style,styleOnSelect:r(16688).styleOnSelect,hoverPoints:r(95423).hoverPoints,eventData:r(58065),selectPoints:r(81974),moduleType:\"trace\",name:\"bar\",basePlotModule:r(93612),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],animatable:!0,meta:{}}},43641:function(e){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\",\"relative\"],dflt:\"group\",editType:\"calc\"},barnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},bargap:{valType:\"number\",min:0,max:1,editType:\"calc\"},bargroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},13957:function(e,t,r){\"use strict\";var n=r(73972),i=r(89298),a=r(71828),o=r(43641);e.exports=function(e,t,r){function s(r,n){return a.coerce(e,t,o,r,n)}for(var l=!1,u=!1,c=!1,f={},h=s(\"barmode\"),p=0;p<r.length;p++){var d=r[p];if(n.traceIs(d,\"bar\")&&d.visible){if(l=!0,\"group\"===h){var v=d.xaxis+d.yaxis;f[v]&&(c=!0),f[v]=!0}d.visible&&\"histogram\"===d.type&&\"category\"!==i.getFromId({_fullLayout:t},d[\"v\"===d.orientation?\"xaxis\":\"yaxis\"]).type&&(u=!0)}}l?(\"overlay\"!==h&&s(\"barnorm\"),s(\"bargap\",u&&!c?0:.2),s(\"bargroupgap\")):delete t.barmode}},17295:function(e,t,r){\"use strict\";var n=r(39898),i=r(92770),a=r(71828),o=r(63893),s=r(7901),l=r(91424),u=r(73972),c=r(89298).tickText,f=r(72597),h=f.recordMinTextSize,p=f.clearMinTextSize,d=r(16688),v=r(69383),g=r(97313),m=r(1486),y=m.text,x=m.textposition,b=r(23469).appendArrayPointValue,_=g.TEXTPAD;function w(e){return e.id}function k(e){if(e.ids)return w}function T(e,t){return e<t?1:-1}function M(e,t,r,n){var i;return!t.uniformtext.mode&&A(r)?(n&&(i=n()),e.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){i&&i()})).each(\"interrupt\",(function(){i&&i()}))):e}function A(e){return e&&e.duration>0}function S(e){return\"auto\"===e?0:e}function E(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function C(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor||\"end\",c=\"end\"===u,f=\"start\"===u,h=((a.leftToRight||0)+1)/2,p=1-h,d=i.width,v=i.height,g=Math.abs(t-e),m=Math.abs(n-r),y=g>2*_&&m>2*_?_:0;g-=2*y,m-=2*y;var x=S(l);\"auto\"!==l||d<=g&&v<=m||!(d>g||v>m)||(d>m||v>g)&&d<v==g<m||(x+=90);var b=E(i,x),w=1;s&&(w=Math.min(1,g/b.x,m/b.y));var k=i.left*p+i.right*h,M=(i.top+i.bottom)/2,A=(e+_)*p+(t-_)*h,C=(r+n)/2,L=0,P=0;if(f||c){var O=(o?b.x:b.y)/2,I=o?T(e,t):T(r,n);o?f?(A=e+I*y,L=-I*O):(A=t-I*y,L=I*O):f?(C=r+I*y,P=-I*O):(C=n-I*y,P=I*O)}return{textX:k,textY:M,targetX:A,targetY:C,anchorX:L,anchorY:P,scale:w,rotate:x}}e.exports={plot:function(e,t,r,f,g,m){var w=t.xaxis,L=t.yaxis,P=e._fullLayout,O=e._context.staticPlot;g||(g={mode:P.barmode,norm:P.barmode,gap:P.bargap,groupgap:P.bargroupgap},p(\"bar\",P));var I=a.makeTraceGroups(f,r,\"trace bars\").each((function(r){var u=n.select(this),f=r[0].trace,p=\"waterfall\"===f.type,I=\"funnel\"===f.type,D=\"bar\"===f.type||I,z=0;p&&f.connector.visible&&\"between\"===f.connector.mode&&(z=f.connector.line.width/2);var R=\"h\"===f.orientation,F=A(g),B=a.ensureSingle(u,\"g\",\"points\"),N=k(f),j=B.selectAll(\"g.point\").data(a.identity,N);j.enter().append(\"g\").classed(\"point\",!0),j.exit().remove(),j.each((function(u,p){var k,A,I=n.select(this),B=function(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),n?[i,a]:[a,i]}(u,w,L,R),N=B[0][0],j=B[0][1],U=B[1][0],V=B[1][1],H=0==(R?j-N:V-U);if(H&&D&&v.getLineWidth(f,u)&&(H=!1),H||(H=!(i(N)&&i(j)&&i(U)&&i(V))),u.isBlank=H,H&&(R?j=N:V=U),z&&!H&&(R?(N-=T(N,j)*z,j+=T(N,j)*z):(U-=T(U,V)*z,V+=T(U,V)*z)),\"waterfall\"===f.type){if(!H){var q=f[u.dir].marker;k=q.line.width,A=q.color}}else k=v.getLineWidth(f,u),A=u.mc||f.marker.color;function G(e){var t=n.round(k/2%1,2);return 0===g.gap&&0===g.groupgap?n.round(Math.round(e)-t,2):e}if(!e._context.staticPlot){var Y=s.opacity(A)<1||k>.01?G:function(e,t,r){return r&&e===t?e:Math.abs(e-t)>=2?G(e):e>t?Math.ceil(e):Math.floor(e)};N=Y(N,j,R),j=Y(j,N,R),U=Y(U,V,!R),V=Y(V,U,!R)}var W=M(a.ensureSingle(I,\"path\"),P,g,m);if(W.style(\"vector-effect\",O?\"none\":\"non-scaling-stroke\").attr(\"d\",isNaN((j-N)*(V-U))||H&&e._context.staticPlot?\"M0,0Z\":\"M\"+N+\",\"+U+\"V\"+V+\"H\"+j+\"V\"+U+\"Z\").call(l.setClipUrl,t.layerClipId,e),!P.uniformtext.mode&&F){var Z=l.makePointStyleFns(f);l.singlePointStyle(u,W,f,Z,e)}!function(e,t,r,n,i,s,u,f,p,g,m){var w,k=t.xaxis,A=t.yaxis,L=e._fullLayout;function P(t,r,n){return a.ensureSingle(t,\"text\").text(r).attr({class:\"bartext bartext-\"+w,\"text-anchor\":\"middle\",\"data-notex\":1}).call(l.font,n).call(o.convertToTspans,e)}var O=n[0].trace,I=\"h\"===O.orientation,D=function(e,t,r,n,i){var o,s=t[0].trace;return o=s.texttemplate?function(e,t,r,n,i){var o=t[0].trace,s=a.castOption(o,r,\"texttemplate\");if(!s)return\"\";var l,u,f,h,p=\"histogram\"===o.type,d=\"waterfall\"===o.type,v=\"funnel\"===o.type,g=\"h\"===o.orientation;function m(e){return c(h,h.c2l(e),!0).text}g?(l=\"y\",u=i,f=\"x\",h=n):(l=\"x\",u=n,f=\"y\",h=i);var y,x=t[r],_={};_.label=x.p,_.labelLabel=_[l+\"Label\"]=(y=x.p,c(u,u.c2l(y),!0).text);var w=a.castOption(o,x.i,\"text\");(0===w||w)&&(_.text=w),_.value=x.s,_.valueLabel=_[f+\"Label\"]=m(x.s);var k={};b(k,o,x.i),(p||void 0===k.x)&&(k.x=g?_.value:_.label),(p||void 0===k.y)&&(k.y=g?_.label:_.value),(p||void 0===k.xLabel)&&(k.xLabel=g?_.valueLabel:_.labelLabel),(p||void 0===k.yLabel)&&(k.yLabel=g?_.labelLabel:_.valueLabel),d&&(_.delta=+x.rawS||x.s,_.deltaLabel=m(_.delta),_.final=x.v,_.finalLabel=m(_.final),_.initial=_.final-_.delta,_.initialLabel=m(_.initial)),v&&(_.value=x.s,_.valueLabel=m(_.value),_.percentInitial=x.begR,_.percentInitialLabel=a.formatPercent(x.begR),_.percentPrevious=x.difR,_.percentPreviousLabel=a.formatPercent(x.difR),_.percentTotal=x.sumR,_.percenTotalLabel=a.formatPercent(x.sumR));var T=a.castOption(o,x.i,\"customdata\");return T&&(_.customdata=T),a.texttemplateString(s,_,e._d3locale,k,_,o._meta||{})}(e,t,r,n,i):s.textinfo?function(e,t,r,n){var i=e[0].trace,o=\"h\"===i.orientation,s=\"waterfall\"===i.type,l=\"funnel\"===i.type;function u(e){return c(o?r:n,+e,!0).text}var f,h,p=i.textinfo,d=e[t],v=p.split(\"+\"),g=[],m=function(e){return-1!==v.indexOf(e)};if(m(\"label\")&&g.push((h=e[t].p,c(o?n:r,h,!0).text)),m(\"text\")&&(0===(f=a.castOption(i,d.i,\"text\"))||f)&&g.push(f),s){var y=+d.rawS||d.s,x=d.v,b=x-y;m(\"initial\")&&g.push(u(b)),m(\"delta\")&&g.push(u(y)),m(\"final\")&&g.push(u(x))}if(l){m(\"value\")&&g.push(u(d.s));var _=0;m(\"percent initial\")&&_++,m(\"percent previous\")&&_++,m(\"percent total\")&&_++;var w=_>1;m(\"percent initial\")&&(f=a.formatPercent(d.begR),w&&(f+=\" of initial\"),g.push(f)),m(\"percent previous\")&&(f=a.formatPercent(d.difR),w&&(f+=\" of previous\"),g.push(f)),m(\"percent total\")&&(f=a.formatPercent(d.sumR),w&&(f+=\" of total\"),g.push(f))}return g.join(\"<br>\")}(t,r,n,i):v.getValue(s.text,r),v.coerceString(y,o)}(L,n,i,k,A);w=function(e,t){var r=v.getValue(e.textposition,t);return v.coerceEnumerated(x,r)}(O,i);var z=\"stack\"===g.mode||\"relative\"===g.mode,R=n[i],F=!z||R._outmost;if(D&&\"none\"!==w&&(!R.isBlank&&s!==u&&f!==p||\"auto\"!==w&&\"inside\"!==w)){var B=L.font,N=d.getBarColor(n[i],O),j=d.getInsideTextFont(O,i,B,N),U=d.getOutsideTextFont(O,i,B),V=r.datum();I?\"log\"===k.type&&V.s0<=0&&(s=k.range[0]<k.range[1]?0:k._length):\"log\"===A.type&&V.s0<=0&&(f=A.range[0]<A.range[1]?A._length:0);var H,q,G,Y,W,Z=Math.abs(u-s)-2*_,X=Math.abs(p-f)-2*_;if(\"outside\"===w&&(F||R.hasB||(w=\"inside\")),\"auto\"===w&&(F?(w=\"inside\",H=P(r,D,W=a.ensureUniformFontSize(e,j)),G=(q=l.bBox(H.node())).width,Y=q.height,G>0&&Y>0&&(G<=Z&&Y<=X||G<=X&&Y<=Z||(I?Z>=G*(X/Y):X>=Y*(Z/G)))?w=\"inside\":(w=\"outside\",H.remove(),H=null)):w=\"inside\"),!H){var K=(H=P(r,D,W=a.ensureUniformFontSize(e,\"outside\"===w?U:j))).attr(\"transform\");if(H.attr(\"transform\",\"\"),G=(q=l.bBox(H.node())).width,Y=q.height,H.attr(\"transform\",K),G<=0||Y<=0)return void H.remove()}var J,$=O.textangle;J=\"outside\"===w?function(e,t,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,u=a.angle||0,c=i.width,f=i.height,h=Math.abs(t-e),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/c));var v=S(u),g=E(i,v),m=(s?g.x:g.y)/2,y=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(e+t)/2,w=(r+n)/2,k=0,M=0,A=s?T(t,e):T(r,n);return s?(b=t-A*o,k=A*m):(w=n+A*o,M=-A*m),{textX:y,textY:x,targetX:b,targetY:w,anchorX:k,anchorY:M,scale:d,rotate:v}}(s,u,f,p,q,{isHorizontal:I,constrained:\"both\"===O.constraintext||\"outside\"===O.constraintext,angle:$}):C(s,u,f,p,q,{isHorizontal:I,constrained:\"both\"===O.constraintext||\"inside\"===O.constraintext,angle:$,anchor:O.insidetextanchor}),J.fontSize=W.size,h(\"histogram\"===O.type?\"bar\":O.type,J,L),R.transform=J;var Q=M(H,L,g,m);a.setTransormAndDisplay(Q,J)}else r.select(\"text\").remove()}(e,t,I,r,p,N,j,U,V,g,m),t.layerClipId&&l.hideOutsideRangePoint(u,I.select(\"text\"),w,L,f.xcalendar,f.ycalendar)}));var U=!1===f.cliponaxis;l.setClipUrl(u,U?null:t.layerClipId,e)}));u.getComponentMethod(\"errorbars\",\"plot\")(e,I,t,g)},toMoveInsideBar:C}},81974:function(e){\"use strict\";function t(e,t,r,n,i){var a=t.c2p(n?e.s0:e.p0,!0),o=t.c2p(n?e.s1:e.p1,!0),s=r.c2p(n?e.p0:e.s0,!0),l=r.c2p(n?e.p1:e.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}e.exports=function(e,r){var n,i=e.cd,a=e.xaxis,o=e.yaxis,s=i[0].trace,l=\"funnel\"===s.type,u=\"h\"===s.orientation,c=[];if(!1===r)for(n=0;n<i.length;n++)i[n].selected=0;else for(n=0;n<i.length;n++){var f=i[n],h=\"ct\"in f?f.ct:t(f,a,o,u,l);r.contains(h,!1,n,e)?(c.push({pointNumber:n,x:a.c2d(f.x),y:o.c2d(f.y)}),f.selected=1):f.selected=0}return c}},61546:function(e,t,r){\"use strict\";e.exports=i;var n=r(71828).distinctVals;function i(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,i=t.posAxis._id.charAt(0),a=[],o=0;o<e.length;o++){for(var s=e[o],l=0;l<s.length;l++){var u=s[l],c=u.p;void 0===c&&(c=u[i]),void 0!==c&&a.push(c)}s[0]&&s[0].width1&&(r=Math.min(s[0].width1,r))}this.positions=a;var f=n(a);this.distinctPositions=f.vals,1===f.vals.length&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(f.minDiff,r);var h=(t.posAxis||{}).type;\"category\"!==h&&\"multicategory\"!==h||(this.minDiff=1),this.binWidth=this.minDiff,this.bins={}}i.prototype.put=function(e,t){var r=this.getLabel(e,t),n=this.bins[r]||0;return this.bins[r]=n+t,n},i.prototype.get=function(e,t){var r=this.getLabel(e,t);return this.bins[r]||0},i.prototype.getLabel=function(e,t){return(t<0&&this.sepNegVal?\"v\":\"^\")+(this.overlapNoMerge?e:Math.round(e/this.binWidth))}},16688:function(e,t,r){\"use strict\";var n=r(39898),i=r(7901),a=r(91424),o=r(71828),s=r(73972),l=r(72597).resizeText,u=r(1486),c=u.textfont,f=u.insidetextfont,h=u.outsidetextfont,p=r(69383);function d(e,t,r){a.pointStyle(e.selectAll(\"path\"),t,r),v(e,t,r)}function v(e,t,r){e.selectAll(\"text\").each((function(e){var i=n.select(this),s=o.ensureUniformFontSize(r,g(i,e,t,r));a.font(i,s)}))}function g(e,t,r,n){var i=n._fullLayout.font,a=r.textfont;if(e.classed(\"bartext-inside\")){var o=_(t,r);a=y(r,t.i,i,o)}else e.classed(\"bartext-outside\")&&(a=x(r,t.i,i));return a}function m(e,t,r){return b(c,e.textfont,t,r)}function y(e,t,r,n){var a=m(e,t,r);return(void 0===e._input.textfont||void 0===e._input.textfont.color||Array.isArray(e.textfont.color)&&void 0===e.textfont.color[t])&&(a={color:i.contrast(n),family:a.family,size:a.size}),b(f,e.insidetextfont,t,a)}function x(e,t,r){var n=m(e,t,r);return b(h,e.outsidetextfont,t,n)}function b(e,t,r,n){t=t||{};var i=p.getValue(t.family,r),a=p.getValue(t.size,r),o=p.getValue(t.color,r);return{family:p.coerceString(e.family,i,n.family),size:p.coerceNumber(e.size,a,n.size),color:p.coerceColor(e.color,o,n.color)}}function _(e,t){return\"waterfall\"===t.type?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}e.exports={style:function(e){var t=n.select(e).selectAll(\"g.barlayer\").selectAll(\"g.trace\");l(e,t,\"bar\");var r=t.size(),i=e._fullLayout;t.style(\"opacity\",(function(e){return e[0].trace.opacity})).each((function(e){(\"stack\"===i.barmode&&r>1||0===i.bargap&&0===i.bargroupgap&&!e[0].trace.marker.line.width)&&n.select(this).attr(\"shape-rendering\",\"crispEdges\")})),t.selectAll(\"g.points\").each((function(t){d(n.select(this),t[0].trace,e)})),s.getComponentMethod(\"errorbars\",\"style\")(t)},styleTextPoints:v,styleOnSelect:function(e,t,r){var i=t[0].trace;i.selectedpoints?function(e,t,r){a.selectedPointStyle(e.selectAll(\"path\"),t),function(e,t,r){e.each((function(e){var i,s=n.select(this);if(e.selected){i=o.ensureUniformFontSize(r,g(s,e,t,r));var l=t.selected.textfont&&t.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,t)}))}(e.selectAll(\"text\"),t,r)}(r,i,e):(d(r,i,e),s.getComponentMethod(\"errorbars\",\"style\")(r))},getInsideTextFont:y,getOutsideTextFont:x,getBarColor:_,resizeText:l}},98340:function(e,t,r){\"use strict\";var n=r(7901),i=r(52075).hasColorscale,a=r(1586),o=r(71828).coercePattern;e.exports=function(e,t,r,s,l){var u=r(\"marker.color\",s),c=i(e,\"marker\");c&&a(e,t,l,r,{prefix:\"marker.\",cLetter:\"c\"}),r(\"marker.line.color\",n.defaultLine),i(e,\"marker.line\")&&a(e,t,l,r,{prefix:\"marker.line.\",cLetter:\"c\"}),r(\"marker.line.width\"),r(\"marker.opacity\"),o(r,\"marker.pattern\",u,c),r(\"selected.marker.color\"),r(\"unselected.marker.color\")}},72597:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828);function a(e){return\"_\"+e+\"Text_minsize\"}e.exports={recordMinTextSize:function(e,t,r){if(r.uniformtext.mode){var n=a(e),i=r.uniformtext.minsize,o=t.scale*t.fontSize;t.hide=o<i,r[n]=r[n]||1/0,t.hide||(r[n]=Math.min(r[n],Math.max(o,i)))}},clearMinTextSize:function(e,t){t[a(e)]=void 0},resizeText:function(e,t,r){var a=e._fullLayout,o=a[\"_\"+r+\"Text_minsize\"];if(o){var s,l=\"hide\"===a.uniformtext.mode;switch(r){case\"funnelarea\":case\"pie\":case\"sunburst\":s=\"g.slice\";break;case\"treemap\":case\"icicle\":s=\"g.slice, g.pathbar\";break;default:s=\"g.points > g.point\"}t.selectAll(s).each((function(e){var t=e.transform;if(t){t.scale=l&&t.hide?0:o/t.fontSize;var r=n.select(this).select(\"text\");i.setTransormAndDisplay(r,t)}}))}}}},55023:function(e,t,r){\"use strict\";var n=r(5386).fF,i=r(1426).extendFlat,a=r(81245),o=r(1486);e.exports={r:a.r,theta:a.theta,r0:a.r0,dr:a.dr,theta0:a.theta0,dtheta:a.dtheta,thetaunit:a.thetaunit,base:i({},o.base,{}),offset:i({},o.offset,{}),width:i({},o.width,{}),text:i({},o.text,{}),hovertext:i({},o.hovertext,{}),marker:o.marker,hoverinfo:a.hoverinfo,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},74692:function(e,t,r){\"use strict\";var n=r(52075).hasColorscale,i=r(78803),a=r(75341),o=r(11661).setGroupPositions,s=r(66279),l=r(73972).traceIs,u=r(71828).extendFlat;e.exports={calc:function(e,t){for(var r=e._fullLayout,o=t.subplot,l=r[o].radialaxis,u=r[o].angularaxis,c=l.makeCalcdata(t,\"r\"),f=u.makeCalcdata(t,\"theta\"),h=t._length,p=new Array(h),d=c,v=f,g=0;g<h;g++)p[g]={p:v[g],s:d[g]};function m(e){var r=t[e];void 0!==r&&(t[\"_\"+e]=Array.isArray(r)?u.makeCalcdata(t,e):u.d2c(r,t.thetaunit))}return\"linear\"===u.type&&(m(\"width\"),m(\"offset\")),n(t,\"marker\")&&i(e,t,{vals:t.marker.color,containerStr:\"marker\",cLetter:\"c\"}),n(t,\"marker.line\")&&i(e,t,{vals:t.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),a(p,t),s(p,t),p},crossTraceCalc:function(e,t,r){for(var n=e.calcdata,i=[],a=0;a<n.length;a++){var s=n[a],c=s[0].trace;!0===c.visible&&l(c,\"bar\")&&c.subplot===r&&i.push(s)}var f=u({},t.radialaxis,{_id:\"x\"}),h=t.angularaxis;o(e,h,f,i,{mode:t.barmode,norm:t.barnorm,gap:t.bargap,groupgap:t.bargroupgap})}}},6135:function(e,t,r){\"use strict\";var n=r(71828),i=r(22184).handleRThetaDefaults,a=r(98340),o=r(55023);e.exports=function(e,t,r,s){function l(r,i){return n.coerce(e,t,o,r,i)}i(e,t,s,l)?(l(\"thetaunit\"),l(\"base\"),l(\"offset\"),l(\"width\"),l(\"text\"),l(\"hovertext\"),l(\"hovertemplate\"),a(e,t,l,r,s),n.coerceSelectionMarkerOpacity(t,l)):t.visible=!1}},27379:function(e,t,r){\"use strict\";var n=r(30211),i=r(71828),a=r(95423).getTraceColor,o=i.fillText,s=r(59150).makeHoverPointText,l=r(10869).isPtInsidePolygon;e.exports=function(e,t,r){var u=e.cd,c=u[0].trace,f=e.subplot,h=f.radialAxis,p=f.angularAxis,d=f.vangles,v=d?l:i.isPtInsideSector,g=e.maxHoverDistance,m=p._period||2*Math.PI,y=Math.abs(h.g2p(Math.sqrt(t*t+r*r))),x=Math.atan2(r,t);if(h.range[0]>h.range[1]&&(x+=Math.PI),n.getClosest(u,(function(e){return v(y,x,[e.rp0,e.rp1],[e.thetag0,e.thetag1],d)?g+Math.min(1,Math.abs(e.thetag1-e.thetag0)/m)-1+(e.rp1-y)/(e.rp1-e.rp0)-1:1/0}),e),!1!==e.index){var b=u[e.index];e.x0=e.x1=b.ct[0],e.y0=e.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,c,e),s(_,c,f,e),e.hovertemplate=c.hovertemplate,e.color=a(c,b),e.xLabelVal=e.yLabelVal=void 0,b.s<0&&(e.idealAlign=\"left\"),[e]}}},23381:function(e,t,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:r(23580),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:r(55023),layoutAttributes:r(40151),supplyDefaults:r(6135),supplyLayoutDefaults:r(19860),calc:r(74692).calc,crossTraceCalc:r(74692).crossTraceCalc,plot:r(60173),colorbar:r(4898),formatLabels:r(98608),style:r(16688).style,styleOnSelect:r(16688).styleOnSelect,hoverPoints:r(27379),selectPoints:r(81974),meta:{}}},40151:function(e){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}},19860:function(e,t,r){\"use strict\";var n=r(71828),i=r(40151);e.exports=function(e,t,r){var a,o={};function s(r,o){return n.coerce(e[a]||{},t[a],i,r,o)}for(var l=0;l<r.length;l++){var u=r[l];\"barpolar\"===u.type&&!0===u.visible&&(o[a=u.subplot]||(s(\"barmode\"),s(\"bargap\"),o[a]=1))}}},60173:function(e,t,r){\"use strict\";var n=r(39898),i=r(92770),a=r(71828),o=r(91424),s=r(10869);e.exports=function(e,t,r){var l=e._context.staticPlot,u=t.xaxis,c=t.yaxis,f=t.radialAxis,h=t.angularAxis,p=function(e){var t=e.cxx,r=e.cyy;return e.vangles?function(n,i,o,l){var u,c;a.angleDelta(o,l)>0?(u=o,c=l):(u=l,c=o);var f=[s.findEnclosingVertexAngles(u,e.vangles)[0],(u+c)/2,s.findEnclosingVertexAngles(c,e.vangles)[1]];return s.pathPolygonAnnulus(n,i,u,c,f,t,r)}:function(e,n,i,o){return a.pathAnnulus(e,n,i,o,t,r)}}(t),d=t.layers.frontplot.select(\"g.barlayer\");a.makeTraceGroups(d,r,\"trace bars\").each((function(){var r=n.select(this),s=a.ensureSingle(r,\"g\",\"points\").selectAll(\"g.point\").data(a.identity);s.enter().append(\"g\").style(\"vector-effect\",l?\"none\":\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),s.exit().remove(),s.each((function(e){var t,r=n.select(this),o=e.rp0=f.c2p(e.s0),s=e.rp1=f.c2p(e.s1),l=e.thetag0=h.c2g(e.p0),d=e.thetag1=h.c2g(e.p1);if(i(o)&&i(s)&&i(l)&&i(d)&&o!==s&&l!==d){var v=f.c2g(e.s1),g=(l+d)/2;e.ct=[u.c2p(v*Math.cos(g)),c.c2p(v*Math.sin(g))],t=p(o,s,l,d)}else t=\"M0,0Z\";a.ensureSingle(r,\"path\").attr(\"d\",t)})),o.setClipUrl(r,t._hasClipOnAxisFalse?t.clipIds.forTraces:null,e)}))}},53522:function(e,t,r){\"use strict\";var n=r(82196),i=r(1486),a=r(22399),o=r(12663).axisHoverFormat,s=r(5386).fF,l=r(1426).extendFlat,u=n.marker,c=u.line;e.exports={y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",editType:\"calc\"},dy:{valType:\"number\",editType:\"calc\"},xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),name:{valType:\"string\",editType:\"calc+clearAxisTypes\"},q1:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},median:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},q3:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},lowerfence:{valType:\"data_array\",editType:\"calc\"},upperfence:{valType:\"data_array\",editType:\"calc\"},notched:{valType:\"boolean\",editType:\"calc\"},notchwidth:{valType:\"number\",min:0,max:.5,dflt:.25,editType:\"calc\"},notchspan:{valType:\"data_array\",editType:\"calc\"},boxpoints:{valType:\"enumerated\",values:[\"all\",\"outliers\",\"suspectedoutliers\",!1],editType:\"calc\"},jitter:{valType:\"number\",min:0,max:1,editType:\"calc\"},pointpos:{valType:\"number\",min:-2,max:2,editType:\"calc\"},sdmultiple:{valType:\"number\",min:0,editType:\"calc\",dflt:1},sizemode:{valType:\"enumerated\",values:[\"quartiles\",\"sd\"],editType:\"calc\",dflt:\"quartiles\"},boxmean:{valType:\"enumerated\",values:[!0,\"sd\",!1],editType:\"calc\"},mean:{valType:\"data_array\",editType:\"calc\"},sd:{valType:\"data_array\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},quartilemethod:{valType:\"enumerated\",values:[\"linear\",\"exclusive\",\"inclusive\"],dflt:\"linear\",editType:\"calc\"},width:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},marker:{outliercolor:{valType:\"color\",dflt:\"rgba(0, 0, 0, 0)\",editType:\"style\"},symbol:l({},u.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:l({},u.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),angle:l({},u.angle,{arrayOk:!1,editType:\"calc\"}),size:l({},u.size,{arrayOk:!1,editType:\"calc\"}),color:l({},u.color,{arrayOk:!1,editType:\"style\"}),line:{color:l({},c.color,{arrayOk:!1,dflt:a.defaultLine,editType:\"style\"}),width:l({},c.width,{arrayOk:!1,dflt:0,editType:\"style\"}),outliercolor:{valType:\"color\",editType:\"style\"},outlierwidth:{valType:\"number\",min:0,dflt:1,editType:\"style\"},editType:\"style\"},editType:\"plot\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:n.fillcolor,whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},showwhiskers:{valType:\"boolean\",editType:\"calc\"},offsetgroup:i.offsetgroup,alignmentgroup:i.alignmentgroup,selected:{marker:n.selected.marker,editType:\"style\"},unselected:{marker:n.unselected.marker,editType:\"style\"},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),hovertemplate:s({}),hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"}}},48518:function(e,t,r){\"use strict\";var n=r(92770),i=r(89298),a=r(42973),o=r(71828),s=r(50606).BADNUM,l=o._;e.exports=function(e,t){var r,u,y,x,b,_,w,k=e._fullLayout,T=i.getFromId(e,t.xaxis||\"x\"),M=i.getFromId(e,t.yaxis||\"y\"),A=[],S=\"violin\"===t.type?\"_numViolins\":\"_numBoxes\";\"h\"===t.orientation?(y=T,x=\"x\",b=M,_=\"y\",w=!!t.yperiodalignment):(y=M,x=\"y\",b=T,_=\"x\",w=!!t.xperiodalignment);var E,C,L,P,O,I,D=function(e,t,r,i){var s,l=t+\"0\"in e;if(t in e||l&&\"d\"+t in e){var u=r.makeCalcdata(e,t);return[a(e,r,t,u).vals,u]}s=l?e[t+\"0\"]:\"name\"in e&&(\"category\"===r.type||n(e.name)&&-1!==[\"linear\",\"log\"].indexOf(r.type)||o.isDateTime(e.name)&&\"date\"===r.type)?e.name:i;for(var c=\"multicategory\"===r.type?r.r2c_just_indices(s):r.d2c(s,0,e[t+\"calendar\"]),f=e._length,h=new Array(f),p=0;p<f;p++)h[p]=c;return[h]}(t,_,b,k[S]),z=D[0],R=D[1],F=o.distinctVals(z,b),B=F.vals,N=F.minDiff/2,j=\"all\"===(t.boxpoints||t.points)?o.identity:function(e){return e.v<E.lf||e.v>E.uf};if(t._hasPreCompStats){var U=t[x],V=function(e){return y.d2c((t[e]||[])[r])},H=1/0,q=-1/0;for(r=0;r<t._length;r++){var G=z[r];if(n(G)){if((E={}).pos=E[_]=G,w&&R&&(E.orig_p=R[r]),E.q1=V(\"q1\"),E.med=V(\"median\"),E.q3=V(\"q3\"),C=[],U&&o.isArrayOrTypedArray(U[r]))for(u=0;u<U[r].length;u++)(I=y.d2c(U[r][u]))!==s&&(c(O={v:I,i:[r,u]},t,[r,u]),C.push(O));if(E.pts=C.sort(f),P=(L=E[x]=C.map(h)).length,E.med!==s&&E.q1!==s&&E.q3!==s&&E.med>=E.q1&&E.q3>=E.med){var Y=V(\"lowerfence\");E.lf=Y!==s&&Y<=E.q1?Y:p(E,L,P);var W=V(\"upperfence\");E.uf=W!==s&&W>=E.q3?W:d(E,L,P);var Z=V(\"mean\");E.mean=Z!==s?Z:P?o.mean(L,P):(E.q1+E.q3)/2;var X=V(\"sd\");E.sd=Z!==s&&X>=0?X:P?o.stdev(L,P,E.mean):E.q3-E.q1,E.lo=v(E),E.uo=g(E);var K=V(\"notchspan\");K=K!==s&&K>0?K:m(E,P),E.ln=E.med-K,E.un=E.med+K;var J=E.lf,$=E.uf;t.boxpoints&&L.length&&(J=Math.min(J,L[0]),$=Math.max($,L[P-1])),t.notched&&(J=Math.min(J,E.ln),$=Math.max($,E.un)),E.min=J,E.max=$}else{var Q;o.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+E.q1,\"median = \"+E.med,\"q3 = \"+E.q3].join(\"\\n\")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}H=Math.min(H,E.min),q=Math.max(q,E.max),E.pts2=C.filter(j),A.push(E)}}t._extremes[y._id]=i.findExtremes(y,[H,q],{padded:!0})}else{var ee=y.makeCalcdata(t,x),te=function(e,t){for(var r=e.length,n=new Array(r+1),i=0;i<r;i++)n[i]=e[i]-t;return n[r]=e[r-1]+t,n}(B,N),re=B.length,ne=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=[];return t}(re);for(r=0;r<t._length;r++)if(I=ee[r],n(I)){var ie=o.findBin(z[r],te);ie>=0&&ie<re&&(c(O={v:I,i:r},t,r),ne[ie].push(O))}var ae=1/0,oe=-1/0,se=t.quartilemethod,le=\"exclusive\"===se,ue=\"inclusive\"===se;for(r=0;r<re;r++)if(ne[r].length>0){var ce,fe;(E={}).pos=E[_]=B[r],C=E.pts=ne[r].sort(f),P=(L=E[x]=C.map(h)).length,E.min=L[0],E.max=L[P-1],E.mean=o.mean(L,P),E.sd=o.stdev(L,P,E.mean)*t.sdmultiple,E.med=o.interp(L,.5),P%2&&(le||ue)?(le?(ce=L.slice(0,P/2),fe=L.slice(P/2+1)):ue&&(ce=L.slice(0,P/2+1),fe=L.slice(P/2)),E.q1=o.interp(ce,.5),E.q3=o.interp(fe,.5)):(E.q1=o.interp(L,.25),E.q3=o.interp(L,.75)),E.lf=p(E,L,P),E.uf=d(E,L,P),E.lo=v(E),E.uo=g(E);var he=m(E,P);E.ln=E.med-he,E.un=E.med+he,ae=Math.min(ae,E.ln),oe=Math.max(oe,E.un),E.pts2=C.filter(j),A.push(E)}t._extremes[y._id]=i.findExtremes(y,t.notched?ee.concat([ae,oe]):ee,{padded:!0})}return function(e,t){if(o.isArrayOrTypedArray(t.selectedpoints))for(var r=0;r<e.length;r++){for(var n=e[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;o.tagSelected(n,t,i)}}(A,t),A.length>0?(A[0].t={num:k[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(e,\"median:\"),min:l(e,\"min:\"),q1:l(e,\"q1:\"),q3:l(e,\"q3:\"),max:l(e,\"max:\"),mean:\"sd\"===t.boxmean||\"sd\"===t.sizemode?l(e,\"mean ± σ:\").replace(\"σ\",1===t.sdmultiple?\"σ\":t.sdmultiple+\"σ\"):l(e,\"mean:\"),lf:l(e,\"lower fence:\"),uf:l(e,\"upper fence:\")}},k[S]++,A):[{t:{empty:!0}}]};var u={text:\"tx\",hovertext:\"htx\"};function c(e,t,r){for(var n in u)o.isArrayOrTypedArray(t[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(t[n][r[0]])&&(e[u[n]]=t[n][r[0]][r[1]]):e[u[n]]=t[n][r])}function f(e,t){return e.v-t.v}function h(e){return e.v}function p(e,t,r){return 0===r?e.q1:Math.min(e.q1,t[Math.min(o.findBin(2.5*e.q1-1.5*e.q3,t,!0)+1,r-1)])}function d(e,t,r){return 0===r?e.q3:Math.max(e.q3,t[Math.max(o.findBin(2.5*e.q3-1.5*e.q1,t),0)])}function v(e){return 4*e.q1-3*e.q3}function g(e){return 4*e.q3-3*e.q1}function m(e,t){return 0===t?0:1.57*(e.q3-e.q1)/Math.sqrt(t)}},37188:function(e,t,r){\"use strict\";var n=r(89298),i=r(71828),a=r(99082).getAxisGroup,o=[\"v\",\"h\"];function s(e,t,r,o){var s,l,u,c=t.calcdata,f=t._fullLayout,h=o._id,p=h.charAt(0),d=[],v=0;for(s=0;s<r.length;s++)for(u=c[r[s]],l=0;l<u.length;l++)d.push(o.c2l(u[l].pos,!0)),v+=(u[l].pts2||[]).length;if(d.length){var g=i.distinctVals(d);\"category\"!==o.type&&\"multicategory\"!==o.type||(g.minDiff=1);var m=g.minDiff/2;n.minDtick(o,g.minDiff,g.vals[0],!0);var y=f[\"violin\"===e?\"_numViolins\":\"_numBoxes\"],x=\"group\"===f[e+\"mode\"]&&y>1,b=1-f[e+\"gap\"],_=1-f[e+\"groupgap\"];for(s=0;s<r.length;s++){var w,k,T,M,A,S,E=(u=c[r[s]])[0].trace,C=u[0].t,L=E.width,P=E.side;if(L)w=k=M=L/2,T=0;else if(w=m,x){var O=a(f,o._id)+E.orientation,I=(f._alignmentOpts[O]||{})[E.alignmentgroup]||{},D=Object.keys(I.offsetGroups||{}).length,z=D||y;k=w*b*_/z,T=2*w*(((D?E._offsetIndex:C.num)+.5)/z-.5)*b,M=w*b/z}else k=w*b*_,T=0,M=w;C.dPos=w,C.bPos=T,C.bdPos=k,C.wHover=M;var R,F,B,N,j,U,V=T+k,H=Boolean(L);if(\"positive\"===P?(A=w*(L?1:.5),R=V,S=R=T):\"negative\"===P?(A=R=T,S=w*(L?1:.5),F=V):(A=S=w,R=F=V),(E.boxpoints||E.points)&&v>0){var q=E.pointpos,G=E.jitter,Y=E.marker.size/2,W=0;q+G>=0&&((W=V*(q+G))>A?(H=!0,j=Y,B=W):W>R&&(j=Y,B=A)),W<=A&&(B=A);var Z=0;q-G<=0&&((Z=-V*(q-G))>S?(H=!0,U=Y,N=Z):Z>F&&(U=Y,N=S)),Z<=S&&(N=S)}else B=A,N=S;var X=new Array(u.length);for(l=0;l<u.length;l++)X[l]=u[l].pos;E._extremes[h]=n.findExtremes(o,X,{padded:H,vpadminus:N,vpadplus:B,vpadLinearized:!0,ppadminus:{x:U,y:j}[p],ppadplus:{x:j,y:U}[p]})}}}e.exports={crossTraceCalc:function(e,t){for(var r=e.calcdata,n=t.xaxis,i=t.yaxis,a=0;a<o.length;a++){for(var l=o[a],u=\"h\"===l?i:n,c=[],f=0;f<r.length;f++){var h=r[f],p=h[0].t,d=h[0].trace;!0!==d.visible||\"box\"!==d.type&&\"candlestick\"!==d.type||p.empty||(d.orientation||\"v\")!==l||d.xaxis!==n._id||d.yaxis!==i._id||c.push(f)}s(\"box\",e,c,u)}},setPositionOffset:s}},36411:function(e,t,r){\"use strict\";var n=r(71828),i=r(73972),a=r(7901),o=r(73927),s=r(26125),l=r(4322),u=r(53522);function c(e,t,r,a){function o(e){var t=0;return e&&e.length&&(t+=1,n.isArrayOrTypedArray(e[0])&&e[0].length&&(t+=1)),t}function s(t){return n.validate(e[t],u[t])}var c,f=r(\"y\"),h=r(\"x\");if(\"box\"===t.type){var p=r(\"q1\"),d=r(\"median\"),v=r(\"q3\");t._hasPreCompStats=p&&p.length&&d&&d.length&&v&&v.length,c=Math.min(n.minRowLength(p),n.minRowLength(d),n.minRowLength(v))}var g,m,y=o(f),x=o(h),b=y&&n.minRowLength(f),_=x&&n.minRowLength(h),w=a.calendar,k={autotypenumbers:a.autotypenumbers};if(t._hasPreCompStats)switch(String(x)+String(y)){case\"00\":var T=s(\"x0\")||s(\"dx\");g=!s(\"y0\")&&!s(\"dy\")||T?\"v\":\"h\",m=c;break;case\"10\":g=\"v\",m=Math.min(c,_);break;case\"20\":g=\"h\",m=Math.min(c,h.length);break;case\"01\":g=\"h\",m=Math.min(c,b);break;case\"02\":g=\"v\",m=Math.min(c,f.length);break;case\"12\":g=\"v\",m=Math.min(c,_,f.length);break;case\"21\":g=\"h\",m=Math.min(c,h.length,b);break;case\"11\":m=0;break;case\"22\":var M,A=!1;for(M=0;M<h.length;M++)if(\"category\"===l(h[M],w,k)){A=!0;break}if(A)g=\"v\",m=Math.min(c,_,f.length);else{for(M=0;M<f.length;M++)if(\"category\"===l(f[M],w,k)){A=!0;break}A?(g=\"h\",m=Math.min(c,h.length,b)):(g=\"v\",m=Math.min(c,_,f.length))}}else y>0?(g=\"v\",m=x>0?Math.min(_,b):Math.min(b)):x>0?(g=\"h\",m=Math.min(_)):m=0;if(m){t._length=m;var S=r(\"orientation\",g);t._hasPreCompStats?\"v\"===S&&0===x?(r(\"x0\",0),r(\"dx\",1)):\"h\"===S&&0===y&&(r(\"y0\",0),r(\"dy\",1)):\"v\"===S&&0===x?r(\"x0\"):\"h\"===S&&0===y&&r(\"y0\"),i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(e,t,[\"x\",\"y\"],a)}else t.visible=!1}function f(e,t,r,i){var a=i.prefix,o=n.coerce2(e,t,u,\"marker.outliercolor\"),s=r(\"marker.line.outliercolor\"),l=\"outliers\";t._hasPreCompStats?l=\"all\":(o||s)&&(l=\"suspectedoutliers\");var c=r(a+\"points\",l);c?(r(\"jitter\",\"all\"===c?.3:0),r(\"pointpos\",\"all\"===c?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.angle\"),r(\"marker.color\",t.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),\"suspectedoutliers\"===c&&(r(\"marker.line.outliercolor\",t.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\"),r(\"hovertext\")):delete t.marker;var f=r(\"hoveron\");\"all\"!==f&&-1===f.indexOf(\"points\")||r(\"hovertemplate\"),n.coerceSelectionMarkerOpacity(t,r)}e.exports={supplyDefaults:function(e,t,r,i){function s(r,i){return n.coerce(e,t,u,r,i)}if(c(e,t,s,i),!1!==t.visible){o(e,t,i,s),s(\"xhoverformat\"),s(\"yhoverformat\");var l=t._hasPreCompStats;l&&(s(\"lowerfence\"),s(\"upperfence\")),s(\"line.color\",(e.marker||{}).color||r),s(\"line.width\"),s(\"fillcolor\",a.addOpacity(t.line.color,.5));var h=!1;if(l){var p=s(\"mean\"),d=s(\"sd\");p&&p.length&&(h=!0,d&&d.length&&(h=\"sd\"))}s(\"whiskerwidth\");var v,g=s(\"sizemode\");\"quartiles\"===g&&(v=s(\"boxmean\",h)),s(\"showwhiskers\",\"quartiles\"===g),\"sd\"!==g&&\"sd\"!==v||s(\"sdmultiple\"),s(\"width\"),s(\"quartilemethod\");var m=!1;if(l){var y=s(\"notchspan\");y&&y.length&&(m=!0)}else n.validate(e.notchwidth,u.notchwidth)&&(m=!0);s(\"notched\",m)&&s(\"notchwidth\"),f(e,t,s,{prefix:\"box\"})}},crossTraceDefaults:function(e,t){var r,i;function a(e){return n.coerce(i._input,i,u,e)}for(var o=0;o<e.length;o++){var l=(i=e[o]).type;\"box\"!==l&&\"violin\"!==l||(r=i._input,\"group\"===t[l+\"mode\"]&&s(r,i,t,a))}},handleSampleDefaults:c,handlePointsDefaults:f}},74907:function(e){\"use strict\";e.exports=function(e,t){return t.hoverOnBox&&(e.hoverOnBox=t.hoverOnBox),\"xVal\"in t&&(e.x=t.xVal),\"yVal\"in t&&(e.y=t.yVal),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e}},41868:function(e,t,r){\"use strict\";var n=r(89298),i=r(71828),a=r(30211),o=r(7901),s=i.fillText;function l(e,t,r,s){var l,u,c,f,h,p,d,v,g,m,y,x,b,_,w=e.cd,k=e.xa,T=e.ya,M=w[0].trace,A=w[0].t,S=\"violin\"===M.type,E=A.bdPos,C=A.wHover,L=function(e){return c.c2l(e.pos)+A.bPos-c.c2l(p)};S&&\"both\"!==M.side?(\"positive\"===M.side&&(g=function(e){var t=L(e);return a.inbox(t,t+C,m)},x=E,b=0),\"negative\"===M.side&&(g=function(e){var t=L(e);return a.inbox(t-C,t,m)},x=0,b=E)):(g=function(e){var t=L(e);return a.inbox(t-C,t+C,m)},x=b=E),_=S?function(e){return a.inbox(e.span[0]-h,e.span[1]-h,m)}:function(e){return a.inbox(e.min-h,e.max-h,m)},\"h\"===M.orientation?(h=t,p=r,d=_,v=g,l=\"y\",c=T,u=\"x\",f=k):(h=r,p=t,d=g,v=_,l=\"x\",c=k,u=\"y\",f=T);var P=Math.min(1,E/Math.abs(c.r2c(c.range[1])-c.r2c(c.range[0])));function O(e){return(d(e)+v(e))/2}m=e.maxHoverDistance-P,y=e.maxSpikeDistance-P;var I=a.getDistanceFunction(s,d,v,O);if(a.getClosest(w,I,e),!1===e.index)return[];var D=w[e.index],z=M.line.color,R=(M.marker||{}).color;o.opacity(z)&&M.line.width?e.color=z:o.opacity(R)&&M.boxpoints?e.color=R:e.color=M.fillcolor,e[l+\"0\"]=c.c2p(D.pos+A.bPos-b,!0),e[l+\"1\"]=c.c2p(D.pos+A.bPos+x,!0),e[l+\"LabelVal\"]=void 0!==D.orig_p?D.orig_p:D.pos;var F=l+\"Spike\";e.spikeDistance=O(D)*y/m,e[F]=c.c2p(D.pos,!0);var B=M.boxmean||\"sd\"===M.sizemode||(M.meanline||{}).visible,N=M.boxpoints||M.points,j=N&&B?[\"max\",\"uf\",\"q3\",\"med\",\"mean\",\"q1\",\"lf\",\"min\"]:N&&!B?[\"max\",\"uf\",\"q3\",\"med\",\"q1\",\"lf\",\"min\"]:!N&&B?[\"max\",\"q3\",\"med\",\"mean\",\"q1\",\"min\"]:[\"max\",\"q3\",\"med\",\"q1\",\"min\"],U=f.range[1]<f.range[0];M.orientation===(U?\"v\":\"h\")&&j.reverse();for(var V=e.spikeDistance,H=e[F],q=[],G=0;G<j.length;G++){var Y=j[G];if(Y in D){var W=D[Y],Z=f.c2p(W,!0),X=i.extendFlat({},e);X.attr=Y,X[u+\"0\"]=X[u+\"1\"]=Z,X[u+\"LabelVal\"]=W,X[u+\"Label\"]=(A.labels?A.labels[Y]+\" \":\"\")+n.hoverLabelText(f,W,M[u+\"hoverformat\"]),X.hoverOnBox=!0,\"mean\"!==Y||!(\"sd\"in D)||\"sd\"!==M.boxmean&&\"sd\"!==M.sizemode||(X[u+\"err\"]=D.sd),X.hovertemplate=!1,q.push(X)}}e.name=\"\",e.spikeDistance=void 0,e[F]=void 0;for(var K=0;K<q.length;K++)\"med\"!==q[K].attr?(q[K].name=\"\",q[K].spikeDistance=void 0,q[K][F]=void 0):(q[K].spikeDistance=V,q[K][F]=H);return q}function u(e,t,r){for(var n,o,l,u=e.cd,c=e.xa,f=e.ya,h=u[0].trace,p=c.c2p(t),d=f.c2p(r),v=a.quadrature((function(e){var t=Math.max(3,e.mrc||0);return Math.max(Math.abs(c.c2p(e.x)-p)-t,1-3/t)}),(function(e){var t=Math.max(3,e.mrc||0);return Math.max(Math.abs(f.c2p(e.y)-d)-t,1-3/t)})),g=!1,m=0;m<u.length;m++){o=u[m];for(var y=0;y<(o.pts||[]).length;y++){var x=v(l=o.pts[y]);x<=e.distance&&(e.distance=x,g=[m,y])}}if(!g)return!1;l=(o=u[g[0]]).pts[g[1]];var b=c.c2p(l.x,!0),_=f.c2p(l.y,!0),w=l.mrc||1;n=i.extendFlat({},e,{index:l.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,y0:_-w,y1:_+w,spikeDistance:e.distance,hovertemplate:h.hovertemplate});var k,T=o.orig_p,M=void 0!==T?T:o.pos;return\"h\"===h.orientation?(k=f,n.xLabelVal=l.x,n.yLabelVal=M):(k=c,n.xLabelVal=M,n.yLabelVal=l.y),n[k._id.charAt(0)+\"Spike\"]=k.c2p(o.pos,!0),s(l,h,n),n}e.exports={hoverPoints:function(e,t,r,n){var i,a=e.cd[0].trace.hoveron,o=[];return-1!==a.indexOf(\"boxes\")&&(o=o.concat(l(e,t,r,n))),-1!==a.indexOf(\"points\")&&(i=u(e,t,r)),\"closest\"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:l,hoverOnPoints:u}},83832:function(e,t,r){\"use strict\";e.exports={attributes:r(53522),layoutAttributes:r(40094),supplyDefaults:r(36411).supplyDefaults,crossTraceDefaults:r(36411).crossTraceDefaults,supplyLayoutDefaults:r(4199).supplyLayoutDefaults,calc:r(48518),crossTraceCalc:r(37188).crossTraceCalc,plot:r(86047).plot,style:r(58063).style,styleOnSelect:r(58063).styleOnSelect,hoverPoints:r(41868).hoverPoints,eventData:r(74907),selectPoints:r(24626),moduleType:\"trace\",name:\"box\",basePlotModule:r(93612),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"boxLayout\",\"zoomScale\"],meta:{}}},40094:function(e){\"use strict\";e.exports={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"}}},4199:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828),a=r(40094);function o(e,t,r,i,a){for(var o=a+\"Layout\",s=!1,l=0;l<r.length;l++){var u=r[l];if(n.traceIs(u,o)){s=!0;break}}s&&(i(a+\"mode\"),i(a+\"gap\"),i(a+\"groupgap\"))}e.exports={supplyLayoutDefaults:function(e,t,r){o(0,0,r,(function(r,n){return i.coerce(e,t,a,r,n)}),\"box\")},_supply:o}},86047:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(91424);function o(e,t,r,a,o){var s,l,u=\"h\"===r.orientation,c=t.val,f=t.pos,h=!!f.rangebreaks,p=a.bPos,d=a.wdPos||0,v=a.bPosPxOffset||0,g=r.whiskerwidth||0,m=!1!==r.showwhiskers,y=r.notched||!1,x=y?1-2*r.notchwidth:1;Array.isArray(a.bdPos)?(s=a.bdPos[0],l=a.bdPos[1]):(s=a.bdPos,l=a.bdPos);var b=e.selectAll(\"path.box\").data(\"violin\"!==r.type||r.box.visible?i.identity:[]);b.enter().append(\"path\").style(\"vector-effect\",o?\"none\":\"non-scaling-stroke\").attr(\"class\",\"box\"),b.exit().remove(),b.each((function(e){if(e.empty)return\"M0,0Z\";var t=f.c2l(e.pos+p,!0),a=f.l2p(t-s)+v,o=f.l2p(t+l)+v,b=h?(a+o)/2:f.l2p(t)+v,_=r.whiskerwidth,w=h?a*_+(1-_)*b:f.l2p(t-d)+v,k=h?o*_+(1-_)*b:f.l2p(t+d)+v,T=f.l2p(t-s*x)+v,M=f.l2p(t+l*x)+v,A=\"sd\"===r.sizemode,S=c.c2p(A?e.mean-e.sd:e.q1,!0),E=A?c.c2p(e.mean+e.sd,!0):c.c2p(e.q3,!0),C=i.constrain(A?c.c2p(e.mean,!0):c.c2p(e.med,!0),Math.min(S,E)+1,Math.max(S,E)-1),L=void 0===e.lf||!1===r.boxpoints||A,P=c.c2p(L?e.min:e.lf,!0),O=c.c2p(L?e.max:e.uf,!0),I=c.c2p(e.ln,!0),D=c.c2p(e.un,!0);u?n.select(this).attr(\"d\",\"M\"+C+\",\"+T+\"V\"+M+\"M\"+S+\",\"+a+\"V\"+o+(y?\"H\"+I+\"L\"+C+\",\"+M+\"L\"+D+\",\"+o:\"\")+\"H\"+E+\"V\"+a+(y?\"H\"+D+\"L\"+C+\",\"+T+\"L\"+I+\",\"+a:\"\")+\"Z\"+(m?\"M\"+S+\",\"+b+\"H\"+P+\"M\"+E+\",\"+b+\"H\"+O+(0===g?\"\":\"M\"+P+\",\"+w+\"V\"+k+\"M\"+O+\",\"+w+\"V\"+k):\"\")):n.select(this).attr(\"d\",\"M\"+T+\",\"+C+\"H\"+M+\"M\"+a+\",\"+S+\"H\"+o+(y?\"V\"+I+\"L\"+M+\",\"+C+\"L\"+o+\",\"+D:\"\")+\"V\"+E+\"H\"+a+(y?\"V\"+D+\"L\"+T+\",\"+C+\"L\"+a+\",\"+I:\"\")+\"Z\"+(m?\"M\"+b+\",\"+S+\"V\"+P+\"M\"+b+\",\"+E+\"V\"+O+(0===g?\"\":\"M\"+w+\",\"+P+\"H\"+k+\"M\"+w+\",\"+O+\"H\"+k):\"\"))}))}function s(e,t,r,n){var o=t.x,s=t.y,l=n.bdPos,u=n.bPos,c=r.boxpoints||r.points;i.seedPseudoRandom();var f=e.selectAll(\"g.points\").data(c?function(e){return e.forEach((function(e){e.t=n,e.trace=r})),e}:[]);f.enter().append(\"g\").attr(\"class\",\"points\"),f.exit().remove();var h=f.selectAll(\"path\").data((function(e){var t,n,a=e.pts2,o=Math.max((e.max-e.min)/10,e.q3-e.q1),s=1e-9*o,f=.01*o,h=[],p=0;if(r.jitter){if(0===o)for(p=1,h=new Array(a.length),t=0;t<a.length;t++)h[t]=1;else for(t=0;t<a.length;t++){var d=Math.max(0,t-5),v=a[d].v,g=Math.min(a.length-1,t+5),m=a[g].v;\"all\"!==c&&(a[t].v<e.lf?m=Math.min(m,e.lf):v=Math.max(v,e.uf));var y=Math.sqrt(f*(g-d)/(m-v+s))||0;y=i.constrain(Math.abs(y),0,1),h.push(y),p=Math.max(y,p)}n=2*r.jitter/(p||1)}for(t=0;t<a.length;t++){var x=a[t],b=x.v,_=r.jitter?n*h[t]*(i.pseudoRandom()-.5):0,w=e.pos+u+l*(r.pointpos+_);\"h\"===r.orientation?(x.y=w,x.x=b):(x.x=w,x.y=b),\"suspectedoutliers\"===c&&b<e.uo&&b>e.lo&&(x.so=!0)}return a}));h.enter().append(\"path\").classed(\"point\",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(e,t,r,a){var o,s,l=t.val,u=t.pos,c=!!u.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=e.selectAll(\"path.mean\").data(\"box\"===r.type&&r.boxmean||\"violin\"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),d.exit().remove(),d.each((function(e){var t=u.c2l(e.pos+f,!0),i=u.l2p(t-o)+h,a=u.l2p(t+s)+h,d=c?(i+a)/2:u.l2p(t)+h,v=l.c2p(e.mean,!0),g=l.c2p(e.mean-e.sd,!0),m=l.c2p(e.mean+e.sd,!0);\"h\"===r.orientation?n.select(this).attr(\"d\",\"M\"+v+\",\"+i+\"V\"+a+(\"sd\"===p?\"m0,0L\"+g+\",\"+d+\"L\"+v+\",\"+i+\"L\"+m+\",\"+d+\"Z\":\"\")):n.select(this).attr(\"d\",\"M\"+i+\",\"+v+\"H\"+a+(\"sd\"===p?\"m0,0L\"+d+\",\"+g+\"L\"+i+\",\"+v+\"L\"+d+\",\"+m+\"Z\":\"\"))}))}e.exports={plot:function(e,t,r,a){var u=e._context.staticPlot,c=t.xaxis,f=t.yaxis;i.makeTraceGroups(a,r,\"trace boxes\").each((function(e){var t,r,i=n.select(this),a=e[0],h=a.t,p=a.trace;h.wdPos=h.bdPos*p.whiskerwidth,!0!==p.visible||h.empty?i.remove():(\"h\"===p.orientation?(t=f,r=c):(t=c,r=f),o(i,{pos:t,val:r},p,h,u),s(i,{x:c,y:f},p,h),l(i,{pos:t,val:r},p,h))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},24626:function(e){\"use strict\";e.exports=function(e,t){var r,n,i=e.cd,a=e.xaxis,o=e.yaxis,s=[];if(!1===t)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],u=a.c2p(l.x),c=o.c2p(l.y);t.contains([u,c],null,l.i,e)?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},58063:function(e,t,r){\"use strict\";var n=r(39898),i=r(7901),a=r(91424);e.exports={style:function(e,t,r){var o=r||n.select(e).selectAll(\"g.trace.boxes\");o.style(\"opacity\",(function(e){return e[0].trace.opacity})),o.each((function(t){var r=n.select(this),o=t[0].trace,s=o.line.width;function l(e,t,r,n){e.style(\"stroke-width\",t+\"px\").call(i.stroke,r).call(i.fill,n)}var u=r.selectAll(\"path.box\");if(\"candlestick\"===o.type)u.each((function(e){if(!e.empty){var t=n.select(this),r=o[e.dir];l(t,r.line.width,r.line.color,r.fillcolor),t.style(\"opacity\",o.selectedpoints&&!e.selected?.3:1)}}));else{l(u,s,o.line.color,o.fillcolor),r.selectAll(\"path.mean\").style({\"stroke-width\":s,\"stroke-dasharray\":2*s+\"px,\"+s+\"px\"}).call(i.stroke,o.line.color);var c=r.selectAll(\"path.point\");a.pointStyle(c,o,e)}}))},styleOnSelect:function(e,t,r){var n=t[0].trace,i=r.selectAll(\"path.point\");n.selectedpoints?a.selectedPointStyle(i,n):a.pointStyle(i,n,e)}}},75343:function(e,t,r){\"use strict\";var n=r(71828).extendFlat,i=r(12663).axisHoverFormat,a=r(2522),o=r(53522);function s(e){return{line:{color:n({},o.line.color,{dflt:e}),width:o.line.width,editType:\"style\"},fillcolor:o.fillcolor,editType:\"style\"}}e.exports={xperiod:a.xperiod,xperiod0:a.xperiod0,xperiodalignment:a.xperiodalignment,xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),x:a.x,open:a.open,high:a.high,low:a.low,close:a.close,line:{width:n({},o.line.width,{}),editType:\"style\"},increasing:s(a.increasing.line.color.dflt),decreasing:s(a.decreasing.line.color.dflt),text:a.text,hovertext:a.hovertext,whiskerwidth:n({},o.whiskerwidth,{dflt:0}),hoverlabel:a.hoverlabel}},41197:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298),a=r(42973),o=r(3485).calcCommon;function s(e,t,r,n){return{min:r,q1:Math.min(e,n),med:n,q3:Math.max(e,n),max:t}}e.exports=function(e,t){var r=e._fullLayout,l=i.getFromId(e,t.xaxis),u=i.getFromId(e,t.yaxis),c=l.makeCalcdata(t,\"x\"),f=a(t,l,\"x\",c).vals,h=o(e,t,c,f,u,s);return h.length?(n.extendFlat(h[0].t,{num:r._numBoxes,dPos:n.distinctVals(f).minDiff/2,posLetter:\"x\",valLetter:\"y\"}),r._numBoxes++,h):[{t:{empty:!0}}]}},1026:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901),a=r(14555),o=r(73927),s=r(75343);function l(e,t,r,n){var a=r(n+\".line.color\");r(n+\".line.width\",t.line.width),r(n+\".fillcolor\",i.addOpacity(a,.5))}e.exports=function(e,t,r,i){function u(r,i){return n.coerce(e,t,s,r,i)}a(e,t,u,i)?(o(e,t,i,u,{x:!0}),u(\"xhoverformat\"),u(\"yhoverformat\"),u(\"line.width\"),l(0,t,u,\"increasing\"),l(0,t,u,\"decreasing\"),u(\"text\"),u(\"hovertext\"),u(\"whiskerwidth\"),i._requestRangeslider[t.xaxis]=!0):t.visible=!1}},91815:function(e,t,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:r(93612),categories:[\"cartesian\",\"svg\",\"showLegend\",\"candlestick\",\"boxLayout\"],meta:{},attributes:r(75343),layoutAttributes:r(40094),supplyLayoutDefaults:r(4199).supplyLayoutDefaults,crossTraceCalc:r(37188).crossTraceCalc,supplyDefaults:r(1026),calc:r(41197),plot:r(86047).plot,layerName:\"boxlayer\",style:r(58063).style,hoverPoints:r(66449).hoverPoints,selectPoints:r(67324)}},13145:function(e,t,r){\"use strict\";var n=r(11500),i=r(44467);e.exports=function(e,t,r,a,o){a(\"a\")||(a(\"da\"),a(\"a0\")),a(\"b\")||(a(\"db\"),a(\"b0\")),function(e,t,r,a){[\"aaxis\",\"baxis\"].forEach((function(o){var s=o.charAt(0),l=e[o]||{},u=i.newContainer(t,o),c={noTicklabelstep:!0,tickfont:\"x\",id:s+\"axis\",letter:s,font:t.font,name:o,data:e[s],calendar:t.calendar,dfltColor:a,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};n(l,u,c),u._categories=u._categories||[],e[o]||\"-\"===l.type||(e[o]={type:l.type})}))}(e,t,r,o)}},402:function(e,t,r){\"use strict\";var n=r(71828).isArrayOrTypedArray;function i(e,t){if(!n(e)||t>=10)return null;for(var r=1/0,a=-1/0,o=e.length,s=0;s<o;s++){var l=e[s];if(n(l)){var u=i(l,t+1);u&&(r=Math.min(u[0],r),a=Math.max(u[1],a))}else r=Math.min(l,r),a=Math.max(l,a)}return[r,a]}e.exports=function(e){return i(e,0)}},99798:function(e,t,r){\"use strict\";var n=r(41940),i=r(1928),a=r(22399),o=n({editType:\"calc\"});o.family.dflt='\"Open Sans\", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.defaultLine,e.exports={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:i,baxis:i,font:o,color:{valType:\"color\",dflt:a.defaultLine,editType:\"plot\"},transforms:void 0}},4536:function(e,t,r){\"use strict\";var n=r(71828).isArrayOrTypedArray;e.exports=function(e,t,r,i){var a,o,s,l,u,c,f,h,p,d,v,g,m,y=n(r)?\"a\":\"b\",x=(\"a\"===y?e.aaxis:e.baxis).smoothing,b=\"a\"===y?e.a2i:e.b2j,_=\"a\"===y?r:i,w=\"a\"===y?i:r,k=\"a\"===y?t.a.length:t.b.length,T=\"a\"===y?t.b.length:t.a.length,M=Math.floor(\"a\"===y?e.b2j(w):e.a2i(w)),A=\"a\"===y?function(t){return e.evalxy([],t,M)}:function(t){return e.evalxy([],M,t)};x&&(s=Math.max(0,Math.min(T-2,M)),l=M-s,o=\"a\"===y?function(t,r){return e.dxydi([],t,s,r,l)}:function(t,r){return e.dxydj([],s,t,l,r)});var S=b(_[0]),E=b(_[1]),C=S<E?1:-1,L=1e-8*(E-S),P=C>0?Math.floor:Math.ceil,O=C>0?Math.ceil:Math.floor,I=C>0?Math.min:Math.max,D=C>0?Math.max:Math.min,z=P(S+L),R=O(E-L),F=[[f=A(S)]];for(a=z;a*C<R*C;a+=C)u=[],v=D(S,a),m=(g=I(E,a+C))-v,c=Math.max(0,Math.min(k-2,Math.floor(.5*(v+g)))),h=A(g),x&&(p=o(c,v-c),d=o(c,g-c),u.push([f[0]+p[0]/3*m,f[1]+p[1]/3*m]),u.push([h[0]-d[0]/3*m,h[1]-d[1]/3*m])),u.push(h),F.push(u),f=h;return F}},1928:function(e,t,r){\"use strict\";var n=r(41940),i=r(22399),a=r(13838),o=r(12663).descriptionWithDates,s=r(30962).overrideAll,l=r(79952).P,u=r(1426).extendFlat;e.exports={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"calc\"},font:n({editType:\"calc\"}),offset:{valType:\"number\",dflt:10,editType:\"calc\"},editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autotypenumbers:a.autotypenumbers,autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},labelalias:u({},a.labelalias,{editType:\"calc\"}),tickfont:n({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"calc\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\",description:o(\"tick label\")},tickformatstops:s(a.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:i.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},griddash:u({},l,{editType:\"calc\"}),showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgriddash:u({},l,{editType:\"calc\"}),minorgridcolor:{valType:\"color\",dflt:i.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},_deprecated:{title:{valType:\"string\",editType:\"calc\"},titlefont:n({editType:\"calc\"}),titleoffset:{valType:\"number\",dflt:10,editType:\"calc\"}},editType:\"calc\"}},11500:function(e,t,r){\"use strict\";var n=r(99798),i=r(7901).addOpacity,a=r(73972),o=r(71828),s=r(26218),l=r(96115),u=r(89426),c=r(15258),f=r(21994),h=r(4322);e.exports=function(e,t,r){var p=r.letter,d=r.font||{},v=n[p+\"axis\"];function g(r,n){return o.coerce(e,t,v,r,n)}function m(r,n){return o.coerce2(e,t,v,r,n)}r.name&&(t._name=r.name,t._id=r.name),g(\"autotypenumbers\",r.autotypenumbersDflt);var y=g(\"type\");\"-\"===y&&(r.data&&function(e,t){if(\"-\"===e.type){var r=e._id.charAt(0),n=e[r+\"calendar\"];e.type=h(t,n,{autotypenumbers:e.autotypenumbers})}}(t,r.data),\"-\"===t.type?t.type=\"linear\":y=e.type=t.type),g(\"smoothing\"),g(\"cheatertype\"),g(\"showticklabels\"),g(\"labelprefix\",p+\" = \"),g(\"labelsuffix\"),g(\"showtickprefix\"),g(\"showticksuffix\"),g(\"separatethousands\"),g(\"tickformat\"),g(\"exponentformat\"),g(\"minexponent\"),g(\"showexponent\"),g(\"categoryorder\"),g(\"tickmode\"),g(\"tickvals\"),g(\"ticktext\"),g(\"tick0\"),g(\"dtick\"),\"array\"===t.tickmode&&(g(\"arraytick0\"),g(\"arraydtick\")),g(\"labelpadding\"),t._hovertitle=p,\"date\"===y&&a.getComponentMethod(\"calendars\",\"handleDefaults\")(e,t,\"calendar\",r.calendar),f(t,r.fullLayout),t.c2p=o.identity;var x=g(\"color\",r.dfltColor),b=x===e.color?x:d.color;g(\"title.text\")&&(o.coerceFont(g,\"title.font\",{family:d.family,size:o.bigFont(d.size),color:b}),g(\"title.offset\")),g(\"tickangle\"),g(\"autorange\",!t.isValidRange(e.range))&&g(\"rangemode\"),g(\"range\"),t.cleanRange(),g(\"fixedrange\"),s(e,t,g,y),u(e,t,g,y,r),l(e,t,g,y,r),c(e,t,g,{data:r.data,dataAttr:p});var _=m(\"gridcolor\",i(x,.3)),w=m(\"gridwidth\"),k=m(\"griddash\"),T=g(\"showgrid\");T||(delete t.gridcolor,delete t.gridwidth,delete t.griddash);var M=m(\"startlinecolor\",x),A=m(\"startlinewidth\",w);g(\"startline\",t.showgrid||!!M||!!A)||(delete t.startlinecolor,delete t.startlinewidth);var S=m(\"endlinecolor\",x),E=m(\"endlinewidth\",w);return g(\"endline\",t.showgrid||!!S||!!E)||(delete t.endlinecolor,delete t.endlinewidth),T?(g(\"minorgridcount\"),g(\"minorgridwidth\",w),g(\"minorgriddash\",k),g(\"minorgridcolor\",i(_,.06)),t.minorgridcount||(delete t.minorgridwidth,delete t.minorgriddash,delete t.minorgridcolor)):(delete t.gridcolor,delete t.gridwidth,delete t.griddash),\"none\"===t.showticklabels&&(delete t.tickfont,delete t.tickangle,delete t.showexponent,delete t.exponentformat,delete t.minexponent,delete t.tickformat,delete t.showticksuffix,delete t.showtickprefix),t.showticksuffix||delete t.ticksuffix,t.showtickprefix||delete t.tickprefix,g(\"tickmode\"),t}},25281:function(e,t,r){\"use strict\";var n=r(89298),i=r(71828).isArray1D,a=r(53824),o=r(402),s=r(20347),l=r(83311),u=r(44807),c=r(4742),f=r(72505),h=r(68296),p=r(11435);e.exports=function(e,t){var r=n.getFromId(e,t.xaxis),d=n.getFromId(e,t.yaxis),v=t.aaxis,g=t.baxis,m=t.x,y=t.y,x=[];m&&i(m)&&x.push(\"x\"),y&&i(y)&&x.push(\"y\"),x.length&&h(t,v,g,\"a\",\"b\",x);var b=t._a=t._a||t.a,_=t._b=t._b||t.b;m=t._x||t.x,y=t._y||t.y;var w={};if(t._cheater){var k=\"index\"===v.cheatertype?b.length:b,T=\"index\"===g.cheatertype?_.length:_;m=a(k,T,t.cheaterslope)}t._x=m=c(m),t._y=y=c(y),f(m,b,_),f(y,b,_),p(t),t.setScale();var M=o(m),A=o(y),S=.5*(M[1]-M[0]),E=.5*(M[1]+M[0]),C=.5*(A[1]-A[0]),L=.5*(A[1]+A[0]),P=1.3;return M=[E-S*P,E+S*P],A=[L-C*P,L+C*P],t._extremes[r._id]=n.findExtremes(r,M,{padded:!0}),t._extremes[d._id]=n.findExtremes(d,A,{padded:!0}),s(t,\"a\",\"b\"),s(t,\"b\",\"a\"),l(t,v),l(t,g),w.clipsegments=u(t._xctrl,t._yctrl,v,g),w.x=m,w.y=y,w.a=b,w.b=_,[w]}},44807:function(e){\"use strict\";e.exports=function(e,t,r,n){var i,a,o,s=[],l=!!r.smoothing,u=!!n.smoothing,c=e[0].length-1,f=e.length-1;for(i=0,a=[],o=[];i<=c;i++)a[i]=e[0][i],o[i]=t[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=f;i++)a[i]=e[i][c],o[i]=t[i][c];for(s.push({x:a,y:o,bicubic:u}),i=c,a=[],o=[];i>=0;i--)a[c-i]=e[f][i],o[c-i]=t[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=e[i][0],o[f-i]=t[i][0];return s.push({x:a,y:o,bicubic:u}),s}},20347:function(e,t,r){\"use strict\";var n=r(89298),i=r(1426).extendFlat;e.exports=function(e,t,r){var a,o,s,l,u,c,f,h,p,d,v,g,m,y,x=e[\"_\"+t],b=e[t+\"axis\"],_=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],T=e[\"_\"+r],M=e[r+\"axis\"];\"array\"===b.tickmode&&(b.tickvals=x.slice());var A=e._xctrl,S=e._yctrl,E=A[0].length,C=A.length,L=e._a.length,P=e._b.length;n.prepTicks(b),\"array\"===b.tickmode&&delete b.tickvals;var O=b.smoothing?3:1;function I(n){var i,a,o,s,l,u,c,f,p,d,v,g,m=[],y=[],x={};if(\"b\"===t)for(a=e.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,a))),s=a-o,x.length=P,x.crossLength=L,x.xy=function(t){return e.evalxy([],t,a)},x.dxy=function(t,r){return e.dxydi([],t,o,r,s)},i=0;i<L;i++)u=Math.min(L-2,i),c=i-u,f=e.evalxy([],i,a),M.smoothing&&i>0&&(p=e.dxydi([],i-1,o,0,s),m.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=e.dxydi([],i-1,o,1,s),m.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),m.push(f[0]),y.push(f[1]),l=f;else for(i=e.a2i(n),u=Math.floor(Math.max(0,Math.min(L-2,i))),c=i-u,x.length=L,x.crossLength=P,x.xy=function(t){return e.evalxy([],i,t)},x.dxy=function(t,r){return e.dxydj([],u,t,c,r)},a=0;a<P;a++)o=Math.min(P-2,a),s=a-o,f=e.evalxy([],i,a),M.smoothing&&a>0&&(v=e.dxydj([],u,a-1,c,0),m.push(l[0]+v[0]/3),y.push(l[1]+v[1]/3),g=e.dxydj([],u,a-1,c,1),m.push(f[0]-g[0]/3),y.push(f[1]-g[1]/3)),m.push(f[0]),y.push(f[1]),l=f;return x.axisLetter=t,x.axis=b,x.crossAxis=M,x.value=n,x.constvar=r,x.index=h,x.x=m,x.y=y,x.smoothing=M.smoothing,x}function D(n){var i,a,o,s,l,u=[],c=[],f={};if(f.length=x.length,f.crossLength=T.length,\"b\"===t)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(t){return e.evalxy([],t,n)},f.dxy=function(t,r){return e.dxydi([],t,o,r,l)},i=0;i<E;i++)u[i]=A[n*O][i],c[i]=S[n*O][i];else for(a=Math.max(0,Math.min(L-2,n)),s=Math.min(1,Math.max(0,n-a)),f.xy=function(t){return e.evalxy([],n,t)},f.dxy=function(t,r){return e.dxydj([],a,t,s,r)},i=0;i<C;i++)u[i]=A[i][n*O],c[i]=S[i][n*O];return f.axisLetter=t,f.axis=b,f.crossAxis=M,f.value=x[n],f.constvar=r,f.index=n,f.x=u,f.y=c,f.smoothing=M.smoothing,f}if(\"array\"===b.tickmode){for(l=5e-15,c=(u=[Math.floor((x.length-1-b.arraytick0)/b.arraydtick*(1+l)),Math.ceil(-b.arraytick0/b.arraydtick/(1+l))].sort((function(e,t){return e-t})))[0]-1,f=u[1]+1,h=c;h<f;h++)(o=b.arraytick0+b.arraydtick*h)<0||o>x.length-1||_.push(i(D(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c;h<f;h++)if(s=b.arraytick0+b.arraydtick*h,v=Math.min(s+b.arraydtick,x.length-1),!(s<0||s>x.length-1||v<0||v>x.length-1))for(g=x[s],m=x[v],a=0;a<b.minorgridcount;a++)(y=v-s)<=0||(d=g+(m-g)*(a+1)/(b.minorgridcount+1)*(b.arraydtick/y))<x[0]||d>x[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&k.push(i(D(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(D(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,c=(u=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(e,t){return e-t})))[0],f=u[1],h=c;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(I(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c-1;h<f+1;h++)for(p=b.tick0+b.dtick*h,a=0;a<b.minorgridcount;a++)(d=p+b.dtick*(a+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&k.push(i(I(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(I(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},83311:function(e,t,r){\"use strict\";var n=r(89298),i=r(1426).extendFlat;e.exports=function(e,t){var r,a,o,s=t._labels=[],l=t._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==[\"start\",\"both\"].indexOf(t.showticklabels)&&(a=n.tickText(t,o.value),i(a,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:o.xy(0),dxy:o.dxy(0,0),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a)),-1!==[\"end\",\"both\"].indexOf(t.showticklabels)&&(a=n.tickText(t,o.value),i(a,{endAnchor:!1,xy:o.xy(o.crossLength-1),dxy:o.dxy(o.crossLength-2,1),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a))}},42048:function(e){\"use strict\";e.exports=function(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=u*(l+u)*3,p=l*(l+u)*3;return[[t[0]+(h&&c/h),t[1]+(h&&f/h)],[t[0]-(p&&c/p),t[1]-(p&&f/p)]]}},53824:function(e,t,r){\"use strict\";var n=r(71828).isArrayOrTypedArray;e.exports=function(e,t,r){var i,a,o,s,l,u,c=[],f=n(e)?e.length:e,h=n(t)?t.length:t,p=n(e)?e:null,d=n(t)?t:null;p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(f-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(h-1));var v=1/0,g=-1/0;for(a=0;a<h;a++)for(c[a]=[],l=d?(d[a]-d[0])*s:a/(h-1),i=0;i<f;i++)u=(p?(p[i]-p[0])*o:i/(f-1))-l*r,v=Math.min(u,v),g=Math.max(u,g),c[a][i]=u;var m=1/(g-v),y=-v*m;for(a=0;a<h;a++)for(i=0;i<f;i++)c[a][i]=m*c[a][i]+y;return c}},45664:function(e,t,r){\"use strict\";var n=r(42048),i=r(71828).ensureArray;function a(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}e.exports=function(e,t,r,o,s,l){var u,c,f,h,p,d,v,g,m,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(e=i(e,w),t=i(t,w),f=0;f<w;f++)e[f]=i(e[f],_),t[f]=i(t[f],_);for(c=0,h=0;c<b;c++,h+=l?3:1)for(p=e[h],d=t[h],v=r[c],g=o[c],u=0,f=0;u<x;u++,f+=s?3:1)p[f]=v[u],d[f]=g[u];if(s)for(c=0,h=0;c<b;c++,h+=l?3:1){for(u=1,f=3;u<x-1;u++,f+=3)m=n([r[c][u-1],o[c][u-1]],[r[c][u],o[c][u]],[r[c][u+1],o[c][u+1]],s),e[h][f-1]=m[0][0],t[h][f-1]=m[0][1],e[h][f+1]=m[1][0],t[h][f+1]=m[1][1];y=a([e[h][0],t[h][0]],[e[h][2],t[h][2]],[e[h][3],t[h][3]]),e[h][1]=y[0],t[h][1]=y[1],y=a([e[h][_-1],t[h][_-1]],[e[h][_-3],t[h][_-3]],[e[h][_-4],t[h][_-4]]),e[h][_-2]=y[0],t[h][_-2]=y[1]}if(l)for(f=0;f<_;f++){for(h=3;h<w-3;h+=3)m=n([e[h-3][f],t[h-3][f]],[e[h][f],t[h][f]],[e[h+3][f],t[h+3][f]],l),e[h-1][f]=m[0][0],t[h-1][f]=m[0][1],e[h+1][f]=m[1][0],t[h+1][f]=m[1][1];y=a([e[0][f],t[0][f]],[e[2][f],t[2][f]],[e[3][f],t[3][f]]),e[1][f]=y[0],t[1][f]=y[1],y=a([e[w-1][f],t[w-1][f]],[e[w-3][f],t[w-3][f]],[e[w-4][f],t[w-4][f]]),e[w-2][f]=y[0],t[w-2][f]=y[1]}if(s&&l)for(h=1;h<w;h+=(h+1)%3==0?2:1){for(f=3;f<_-3;f+=3)m=n([e[h][f-3],t[h][f-3]],[e[h][f],t[h][f]],[e[h][f+3],t[h][f+3]],s),e[h][f-1]=.5*(e[h][f-1]+m[0][0]),t[h][f-1]=.5*(t[h][f-1]+m[0][1]),e[h][f+1]=.5*(e[h][f+1]+m[1][0]),t[h][f+1]=.5*(t[h][f+1]+m[1][1]);y=a([e[h][0],t[h][0]],[e[h][2],t[h][2]],[e[h][3],t[h][3]]),e[h][1]=.5*(e[h][1]+y[0]),t[h][1]=.5*(t[h][1]+y[1]),y=a([e[h][_-1],t[h][_-1]],[e[h][_-3],t[h][_-3]],[e[h][_-4],t[h][_-4]]),e[h][_-2]=.5*(e[h][_-2]+y[0]),t[h][_-2]=.5*(t[h][_-2]+y[1])}return[e,t]}},35509:function(e){\"use strict\";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},54495:function(e){\"use strict\";e.exports=function(e,t,r){return t&&r?function(t,r,n,i,a){var o,s,l,u,c,f;t||(t=[]),r*=3,n*=3;var h=i*i,p=1-i,d=p*p,v=p*i*2,g=-3*d,m=3*(d-v),y=3*(v-h),x=3*h,b=a*a,_=b*a,w=1-a,k=w*w,T=k*w;for(f=0;f<e.length;f++)o=g*(c=e[f])[n][r]+m*c[n][r+1]+y*c[n][r+2]+x*c[n][r+3],s=g*c[n+1][r]+m*c[n+1][r+1]+y*c[n+1][r+2]+x*c[n+1][r+3],l=g*c[n+2][r]+m*c[n+2][r+1]+y*c[n+2][r+2]+x*c[n+2][r+3],u=g*c[n+3][r]+m*c[n+3][r+1]+y*c[n+3][r+2]+x*c[n+3][r+3],t[f]=T*o+3*(k*a*s+w*b*l)+_*u;return t}:t?function(t,r,n,i,a){var o,s,l,u;t||(t=[]),r*=3;var c=i*i,f=1-i,h=f*f,p=f*i*2,d=-3*h,v=3*(h-p),g=3*(p-c),m=3*c,y=1-a;for(l=0;l<e.length;l++)o=d*(u=e[l])[n][r]+v*u[n][r+1]+g*u[n][r+2]+m*u[n][r+3],s=d*u[n+1][r]+v*u[n+1][r+1]+g*u[n+1][r+2]+m*u[n+1][r+3],t[l]=y*o+a*s;return t}:r?function(t,r,n,i,a){var o,s,l,u,c,f;t||(t=[]),n*=3;var h=a*a,p=h*a,d=1-a,v=d*d,g=v*d;for(c=0;c<e.length;c++)o=(f=e[c])[n][r+1]-f[n][r],s=f[n+1][r+1]-f[n+1][r],l=f[n+2][r+1]-f[n+2][r],u=f[n+3][r+1]-f[n+3][r],t[c]=g*o+3*(v*a*s+d*h*l)+p*u;return t}:function(t,r,n,i,a){var o,s,l,u;t||(t=[]);var c=1-a;for(l=0;l<e.length;l++)o=(u=e[l])[n][r+1]-u[n][r],s=u[n+1][r+1]-u[n+1][r],t[l]=c*o+a*s;return t}}},73057:function(e){\"use strict\";e.exports=function(e,t,r){return t&&r?function(t,r,n,i,a){var o,s,l,u,c,f;t||(t=[]),r*=3,n*=3;var h=i*i,p=h*i,d=1-i,v=d*d,g=v*d,m=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),k=3*(b-m),T=3*m;for(f=0;f<e.length;f++)o=_*(c=e[f])[n][r]+w*c[n+1][r]+k*c[n+2][r]+T*c[n+3][r],s=_*c[n][r+1]+w*c[n+1][r+1]+k*c[n+2][r+1]+T*c[n+3][r+1],l=_*c[n][r+2]+w*c[n+1][r+2]+k*c[n+2][r+2]+T*c[n+3][r+2],u=_*c[n][r+3]+w*c[n+1][r+3]+k*c[n+2][r+3]+T*c[n+3][r+3],t[f]=g*o+3*(v*i*s+d*h*l)+p*u;return t}:t?function(t,r,n,i,a){var o,s,l,u,c,f;t||(t=[]),r*=3;var h=a*a,p=h*a,d=1-a,v=d*d,g=v*d;for(c=0;c<e.length;c++)o=(f=e[c])[n+1][r]-f[n][r],s=f[n+1][r+1]-f[n][r+1],l=f[n+1][r+2]-f[n][r+2],u=f[n+1][r+3]-f[n][r+3],t[c]=g*o+3*(v*a*s+d*h*l)+p*u;return t}:r?function(t,r,n,i,a){var o,s,l,u;t||(t=[]),n*=3;var c=1-i,f=a*a,h=1-a,p=h*h,d=h*a*2,v=-3*p,g=3*(p-d),m=3*(d-f),y=3*f;for(l=0;l<e.length;l++)o=v*(u=e[l])[n][r]+g*u[n+1][r]+m*u[n+2][r]+y*u[n+3][r],s=v*u[n][r+1]+g*u[n+1][r+1]+m*u[n+2][r+1]+y*u[n+3][r+1],t[l]=c*o+i*s;return t}:function(t,r,n,i,a){var o,s,l,u;t||(t=[]);var c=1-i;for(l=0;l<e.length;l++)o=(u=e[l])[n+1][r]-u[n][r],s=u[n+1][r+1]-u[n][r+1],t[l]=c*o+i*s;return t}}},20349:function(e){\"use strict\";e.exports=function(e,t,r,n,i){var a=t-2,o=r-2;return n&&i?function(t,r,n){var i,s,l,u,c,f;t||(t=[]);var h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),v=Math.max(0,Math.min(1,n-p));h*=3,p*=3;var g=d*d,m=g*d,y=1-d,x=y*y,b=x*y,_=v*v,w=_*v,k=1-v,T=k*k,M=T*k;for(f=0;f<e.length;f++)i=b*(c=e[f])[p][h]+3*(x*d*c[p][h+1]+y*g*c[p][h+2])+m*c[p][h+3],s=b*c[p+1][h]+3*(x*d*c[p+1][h+1]+y*g*c[p+1][h+2])+m*c[p+1][h+3],l=b*c[p+2][h]+3*(x*d*c[p+2][h+1]+y*g*c[p+2][h+2])+m*c[p+2][h+3],u=b*c[p+3][h]+3*(x*d*c[p+3][h+1]+y*g*c[p+3][h+2])+m*c[p+3][h+3],t[f]=M*i+3*(T*v*s+k*_*l)+w*u;return t}:n?function(t,r,n){t||(t=[]);var i,s,l,u,c,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),v=Math.max(0,Math.min(1,n-p));h*=3;var g=d*d,m=g*d,y=1-d,x=y*y,b=x*y,_=1-v;for(c=0;c<e.length;c++)i=_*(f=e[c])[p][h]+v*f[p+1][h],s=_*f[p][h+1]+v*f[p+1][h+1],l=_*f[p][h+2]+v*f[p+1][h+1],u=_*f[p][h+3]+v*f[p+1][h+1],t[c]=b*i+3*(x*d*s+y*g*l)+m*u;return t}:i?function(t,r,n){t||(t=[]);var i,s,l,u,c,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),v=Math.max(0,Math.min(1,n-p));p*=3;var g=v*v,m=g*v,y=1-v,x=y*y,b=x*y,_=1-d;for(c=0;c<e.length;c++)i=_*(f=e[c])[p][h]+d*f[p][h+1],s=_*f[p+1][h]+d*f[p+1][h+1],l=_*f[p+2][h]+d*f[p+2][h+1],u=_*f[p+3][h]+d*f[p+3][h+1],t[c]=b*i+3*(x*v*s+y*g*l)+m*u;return t}:function(t,r,n){t||(t=[]);var i,s,l,u,c=Math.max(0,Math.min(Math.floor(r),a)),f=Math.max(0,Math.min(Math.floor(n),o)),h=Math.max(0,Math.min(1,r-c)),p=Math.max(0,Math.min(1,n-f)),d=1-p,v=1-h;for(l=0;l<e.length;l++)i=v*(u=e[l])[f][c]+h*u[f][c+1],s=v*u[f+1][c]+h*u[f+1][c+1],t[l]=d*i+p*s;return t}}},92087:function(e,t,r){\"use strict\";var n=r(71828),i=r(19237),a=r(13145),o=r(99798),s=r(22399);e.exports=function(e,t,r,l){function u(r,i){return n.coerce(e,t,o,r,i)}t._clipPathId=\"clip\"+t.uid+\"carpet\";var c=u(\"color\",s.defaultLine);n.coerceFont(u,\"font\"),u(\"carpet\"),a(e,t,l,u,c),t.a&&t.b?(t.a.length<3&&(t.aaxis.smoothing=0),t.b.length<3&&(t.baxis.smoothing=0),i(e,t,u)||(t.visible=!1),t._cheater&&u(\"cheaterslope\")):t.visible=!1}},21462:function(e,t,r){\"use strict\";e.exports={attributes:r(99798),supplyDefaults:r(92087),plot:r(89740),calc:r(25281),animatable:!0,isContainer:!0,moduleType:\"trace\",name:\"carpet\",basePlotModule:r(93612),categories:[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\",\"noMultiCategory\",\"noHover\",\"noSortingByValue\"],meta:{}}},22882:function(e){\"use strict\";e.exports=function(e,t){for(var r,n=e._fullData.length,i=0;i<n;i++){var a=e._fullData[i];if(a.index!==t.index&&\"carpet\"===a.type&&(r||(r=a),a.carpet===t.carpet))return a}return r}},67961:function(e){\"use strict\";e.exports=function(e,t,r){if(0===e.length)return\"\";var n,i=[],a=r?3:1;for(n=0;n<e.length;n+=a)i.push(e[n]+\",\"+t[n]),r&&n<e.length-a&&(i.push(\"C\"),i.push([e[n+1]+\",\"+t[n+1],e[n+2]+\",\"+t[n+2]+\" \"].join(\" \")));return i.join(r?\"\":\"L\")}},27669:function(e,t,r){\"use strict\";var n=r(71828).isArrayOrTypedArray;e.exports=function(e,t,r){var i;for(n(e)?e.length>t.length&&(e=e.slice(0,t.length)):e=[],i=0;i<t.length;i++)e[i]=r(t[i]);return e}},11651:function(e){\"use strict\";e.exports=function(e,t,r,n,i,a){var o=i[0]*e.dpdx(t),s=i[1]*e.dpdy(r),l=1,u=1;if(a){var c=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=(i[0]*a[0]+i[1]*a[1])/c/f;u=Math.max(0,h)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:e.c2p(n,t,r),offsetMultplier:u}}},89740:function(e,t,r){\"use strict\";var n=r(39898),i=r(91424),a=r(27669),o=r(67961),s=r(11651),l=r(63893),u=r(71828),c=u.strRotate,f=u.strTranslate,h=r(18783);function p(e,t,r,s,l,u,c){var f=\"const-\"+l+\"-lines\",h=r.selectAll(\".\"+f).data(u);h.enter().append(\"path\").classed(f,!0).style(\"vector-effect\",c?\"none\":\"non-scaling-stroke\"),h.each((function(r){var s=r,l=s.x,u=s.y,c=a([],l,e.c2p),f=a([],u,t.c2p),h=\"M\"+o(c,f,s.smoothing);n.select(this).attr(\"d\",h).style(\"stroke-width\",s.width).style(\"stroke\",s.color).style(\"stroke-dasharray\",i.dashStyle(s.dash,s.width)).style(\"fill\",\"none\")})),h.exit().remove()}function d(e,t,r,a,o,u,h,p){var d=u.selectAll(\"text.\"+p).data(h);d.enter().append(\"text\").classed(p,!0);var v=0,g={};return d.each((function(o,u){var h;if(\"auto\"===o.axis.tickangle)h=s(a,t,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,t,r,o.xy,[Math.cos(p),Math.sin(p)])}u||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,m=n.select(this).attr({\"text-anchor\":d>0?\"start\":\"end\",\"data-notex\":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,e),y=i.bBox(this);m.attr(\"transform\",f(h.p[0],h.p[1])+c(h.angle)+f(o.axis.labelpadding*d,.3*y.height)),v=Math.max(v,y.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=v,g}e.exports=function(e,t,r,i){var l=e._context.staticPlot,c=t.xaxis,f=t.yaxis,h=e._fullLayout._clips;u.makeTraceGroups(i,r,\"trace\").each((function(t){var r=n.select(this),i=t[0],v=i.trace,g=v.aaxis,y=v.baxis,x=u.ensureSingle(r,\"g\",\"minorlayer\"),b=u.ensureSingle(r,\"g\",\"majorlayer\"),_=u.ensureSingle(r,\"g\",\"boundarylayer\"),w=u.ensureSingle(r,\"g\",\"labellayer\");r.style(\"opacity\",v.opacity),p(c,f,b,0,\"a\",g._gridlines,!0),p(c,f,b,0,\"b\",y._gridlines,!0),p(c,f,x,0,\"a\",g._minorgridlines,!0),p(c,f,x,0,\"b\",y._minorgridlines,!0),p(c,f,_,0,\"a-boundary\",g._boundarylines,l),p(c,f,_,0,\"b-boundary\",y._boundarylines,l);var k=d(e,c,f,v,0,w,g._labels,\"a-label\"),T=d(e,c,f,v,0,w,y._labels,\"b-label\");!function(e,t,r,n,i,a,o,l){var c,f,h,p,d=u.aggNums(Math.min,null,r.a),v=u.aggNums(Math.max,null,r.a),g=u.aggNums(Math.min,null,r.b),y=u.aggNums(Math.max,null,r.b);c=.5*(d+v),f=g,h=r.ab2xy(c,f,!0),p=r.dxyda_rough(c,f),void 0===o.angle&&u.extendFlat(o,s(r,i,a,h,r.dxydb_rough(c,f))),m(e,t,r,0,h,p,r.aaxis,i,a,o,\"a-title\"),c=d,f=.5*(g+y),h=r.ab2xy(c,f,!0),p=r.dxydb_rough(c,f),void 0===l.angle&&u.extendFlat(l,s(r,i,a,h,r.dxyda_rough(c,f))),m(e,t,r,0,h,p,r.baxis,i,a,l,\"b-title\")}(e,w,v,0,c,f,k,T),function(e,t,r,n,i){var s,l,c,f,h=r.select(\"#\"+e._clipPathId);h.size()||(h=r.append(\"clipPath\").classed(\"carpetclip\",!0));var p=u.ensureSingle(h,\"path\",\"carpetboundary\"),d=t.clipsegments,v=[];for(f=0;f<d.length;f++)s=d[f],l=a([],s.x,n.c2p),c=a([],s.y,i.c2p),v.push(o(l,c,s.bicubic));var g=\"M\"+v.join(\"L\")+\"Z\";h.attr(\"id\",e._clipPathId),p.attr(\"d\",g)}(v,i,h,c,f)}))};var v=h.LINE_SPACING,g=(1-h.MID_SHIFT)/v+1;function m(e,t,r,a,o,u,h,p,d,m,y){var x=[];h.title.text&&x.push(h.title.text);var b=t.selectAll(\"text.\"+y).data(x),_=m.maxExtent;b.enter().append(\"text\").classed(y,!0),b.each((function(){var t=s(r,p,d,o,u);-1===[\"start\",\"both\"].indexOf(h.showticklabels)&&(_=0);var a=h.title.font.size;_+=a+h.title.offset;var y=(m.angle+(m.flip<0?180:0)-t.angle+450)%360,x=y>90&&y<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,e),x&&(_=(-l.lineCount(b)+g)*v*a-_),b.attr(\"transform\",f(t.p[0],t.p[1])+c(t.angle)+f(0,_)).attr(\"text-anchor\",\"middle\").call(i.font,h.title.font)})),b.exit().remove()}},11435:function(e,t,r){\"use strict\";var n=r(35509),i=r(65888).findBin,a=r(45664),o=r(20349),s=r(54495),l=r(73057);e.exports=function(e){var t=e._a,r=e._b,u=t.length,c=r.length,f=e.aaxis,h=e.baxis,p=t[0],d=t[u-1],v=r[0],g=r[c-1],m=t[t.length-1]-t[0],y=r[r.length-1]-r[0],x=m*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,v-=b,g+=b,e.isVisible=function(e,t){return e>p&&e<d&&t>v&&t<g},e.isOccluded=function(e,t){return e<p||e>d||t<v||t>g},e.setScale=function(){var t=e._x,r=e._y,n=a(e._xctrl,e._yctrl,t,r,f.smoothing,h.smoothing);e._xctrl=n[0],e._yctrl=n[1],e.evalxy=o([e._xctrl,e._yctrl],u,c,f.smoothing,h.smoothing),e.dxydi=s([e._xctrl,e._yctrl],f.smoothing,h.smoothing),e.dxydj=l([e._xctrl,e._yctrl],f.smoothing,h.smoothing)},e.i2a=function(e){var r=Math.max(0,Math.floor(e[0]),u-2),n=e[0]-r;return(1-n)*t[r]+n*t[r+1]},e.j2b=function(e){var t=Math.max(0,Math.floor(e[1]),u-2),n=e[1]-t;return(1-n)*r[t]+n*r[t+1]},e.ij2ab=function(t){return[e.i2a(t[0]),e.j2b(t[1])]},e.a2i=function(e){var r=Math.max(0,Math.min(i(e,t),u-2)),n=t[r],a=t[r+1];return Math.max(0,Math.min(u-1,r+(e-n)/(a-n)))},e.b2j=function(e){var t=Math.max(0,Math.min(i(e,r),c-2)),n=r[t],a=r[t+1];return Math.max(0,Math.min(c-1,t+(e-n)/(a-n)))},e.ab2ij=function(t){return[e.a2i(t[0]),e.b2j(t[1])]},e.i2c=function(t,r){return e.evalxy([],t,r)},e.ab2xy=function(n,i,a){if(!a&&(n<t[0]||n>t[u-1]|i<r[0]||i>r[c-1]))return[!1,!1];var o=e.a2i(n),s=e.b2j(i),l=e.evalxy([],o,s);if(a){var f,h,p,d,v=0,g=0,m=[];n<t[0]?(f=0,h=0,v=(n-t[0])/(t[1]-t[0])):n>t[u-1]?(f=u-2,h=1,v=(n-t[u-1])/(t[u-1]-t[u-2])):h=o-(f=Math.max(0,Math.min(u-2,Math.floor(o)))),i<r[0]?(p=0,d=0,g=(i-r[0])/(r[1]-r[0])):i>r[c-1]?(p=c-2,d=1,g=(i-r[c-1])/(r[c-1]-r[c-2])):d=s-(p=Math.max(0,Math.min(c-2,Math.floor(s)))),v&&(e.dxydi(m,f,p,h,d),l[0]+=m[0]*v,l[1]+=m[1]*v),g&&(e.dxydj(m,f,p,h,d),l[0]+=m[0]*g,l[1]+=m[1]*g)}return l},e.c2p=function(e,t,r){return[t.c2p(e[0]),r.c2p(e[1])]},e.p2x=function(e,t,r){return[t.p2c(e[0]),r.p2c(e[1])]},e.dadi=function(e){var r=Math.max(0,Math.min(t.length-2,e));return t[r+1]-t[r]},e.dbdj=function(e){var t=Math.max(0,Math.min(r.length-2,e));return r[t+1]-r[t]},e.dxyda=function(t,r,n,i){var a=e.dxydi(null,t,r,n,i),o=e.dadi(t,n);return[a[0]/o,a[1]/o]},e.dxydb=function(t,r,n,i){var a=e.dxydj(null,t,r,n,i),o=e.dbdj(r,i);return[a[0]/o,a[1]/o]},e.dxyda_rough=function(t,r,n){var i=m*(n||.1),a=e.ab2xy(t+i,r,!0),o=e.ab2xy(t-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},e.dxydb_rough=function(t,r,n){var i=y*(n||.1),a=e.ab2xy(t,r+i,!0),o=e.ab2xy(t,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},e.dpdx=function(e){return e._m},e.dpdy=function(e){return e._m}}},72505:function(e,t,r){\"use strict\";var n=r(71828);e.exports=function(e,t,r){var i,a,o,s=[],l=[],u=e[0].length,c=e.length;function f(t,r){var n,i=0,a=0;return t>0&&void 0!==(n=e[r][t-1])&&(a++,i+=n),t<u-1&&void 0!==(n=e[r][t+1])&&(a++,i+=n),r>0&&void 0!==(n=e[r-1][t])&&(a++,i+=n),r<c-1&&void 0!==(n=e[r+1][t])&&(a++,i+=n),i/Math.max(1,a)}var h,p,d,v,g,m,y,x,b,_,w,k=0;for(i=0;i<u;i++)for(a=0;a<c;a++)void 0===e[a][i]&&(s.push(i),l.push(a),e[a][i]=f(i,a)),k=Math.max(k,Math.abs(e[a][i]));if(!s.length)return e;var T=0,M=0,A=s.length;do{for(T=0,o=0;o<A;o++){i=s[o],a=l[o];var S,E,C,L,P,O,I=0,D=0;0===i?(C=t[P=Math.min(u-1,2)],L=t[1],S=e[a][P],D+=(E=e[a][1])+(E-S)*(t[0]-L)/(L-C),I++):i===u-1&&(C=t[P=Math.max(0,u-3)],L=t[u-2],S=e[a][P],D+=(E=e[a][u-2])+(E-S)*(t[u-1]-L)/(L-C),I++),(0===i||i===u-1)&&a>0&&a<c-1&&(h=r[a+1]-r[a],D+=((p=r[a]-r[a-1])*e[a+1][i]+h*e[a-1][i])/(p+h),I++),0===a?(C=r[O=Math.min(c-1,2)],L=r[1],S=e[O][i],D+=(E=e[1][i])+(E-S)*(r[0]-L)/(L-C),I++):a===c-1&&(C=r[O=Math.max(0,c-3)],L=r[c-2],S=e[O][i],D+=(E=e[c-2][i])+(E-S)*(r[c-1]-L)/(L-C),I++),(0===a||a===c-1)&&i>0&&i<u-1&&(h=t[i+1]-t[i],D+=((p=t[i]-t[i-1])*e[a][i+1]+h*e[a][i-1])/(p+h),I++),I?D/=I:(d=t[i+1]-t[i],v=t[i]-t[i-1],x=(g=r[a+1]-r[a])*(m=r[a]-r[a-1])*(g+m),D=((y=d*v*(d+v))*(m*e[a+1][i]+g*e[a-1][i])+x*(v*e[a][i+1]+d*e[a][i-1]))/(x*(v+d)+y*(m+g))),T+=(_=(b=D-e[a][i])/k)*_,w=I?0:.85,e[a][i]+=b*(1+w)}T=Math.sqrt(T)}while(M++<100&&T>1e-5);return n.log(\"Smoother converged to\",T,\"after\",M,\"iterations\"),e}},19237:function(e,t,r){\"use strict\";var n=r(71828).isArray1D;e.exports=function(e,t,r){var i=r(\"x\"),a=i&&i.length,o=r(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(t._cheater=!i,a&&!n(i)||s&&!n(o))t._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),t.a&&t.a.length&&(l=Math.min(l,t.a.length)),t.b&&t.b.length&&(l=Math.min(l,t.b.length)),t._length=l}return!0}},69568:function(e,t,r){\"use strict\";var n=r(5386).fF,i=r(19316),a=r(50693),o=r(9012),s=r(22399).defaultLine,l=r(1426).extendFlat,u=i.marker.line;e.exports=l({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:i.locationmode,z:{valType:\"data_array\",editType:\"calc\"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},u.color,{dflt:s}),width:l({},u.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:i.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:l({},o.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},38675:function(e,t,r){\"use strict\";var n=r(92770),i=r(50606).BADNUM,a=r(78803),o=r(75225),s=r(66279);function l(e){return e&&\"string\"==typeof e}e.exports=function(e,t){var r,u=t._length,c=new Array(u);r=t.geojson?function(e){return l(e)||n(e)}:l;for(var f=0;f<u;f++){var h=c[f]={},p=t.locations[f],d=t.z[f];r(p)&&n(d)?(h.loc=p,h.z=d):(h.loc=null,h.z=i),h.index=f}return o(c,t),a(e,t,{vals:t.z,containerStr:\"\",cLetter:\"z\"}),s(c,t),c}},61869:function(e,t,r){\"use strict\";var n=r(71828),i=r(1586),a=r(69568);e.exports=function(e,t,r,o){function s(r,i){return n.coerce(e,t,a,r,i)}var l=s(\"locations\"),u=s(\"z\");if(l&&l.length&&n.isArrayOrTypedArray(u)&&u.length){t._length=Math.min(l.length,u.length);var c,f=s(\"geojson\");(\"string\"==typeof f&&\"\"!==f||n.isPlainObject(f))&&(c=\"geojson-id\"),\"geojson-id\"===s(\"locationmode\",c)&&s(\"featureidkey\"),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),s(\"marker.line.width\")&&s(\"marker.line.color\"),s(\"marker.opacity\"),i(e,t,o,s,{prefix:\"\",cLetter:\"z\"}),n.coerceSelectionMarkerOpacity(t,s)}else t.visible=!1}},92069:function(e){\"use strict\";e.exports=function(e,t,r,n,i){e.location=t.location,e.z=t.z;var a=n[i];return a.fIn&&a.fIn.properties&&(e.properties=a.fIn.properties),e.ct=a.ct,e}},42300:function(e,t,r){\"use strict\";var n=r(89298),i=r(69568),a=r(71828).fillText;e.exports=function(e,t,r){var o,s,l,u,c=e.cd,f=c[0].trace,h=e.subplot,p=[t,r],d=[t+360,r];for(s=0;s<c.length;s++)if(u=!1,(o=c[s])._polygons){for(l=0;l<o._polygons.length;l++)o._polygons[l].contains(p)&&(u=!u),o._polygons[l].contains(d)&&(u=!u);if(u)break}if(u&&o)return e.x0=e.x1=e.xa.c2p(o.ct),e.y0=e.y1=e.ya.c2p(o.ct),e.index=o.index,e.location=o.loc,e.z=o.z,e.zLabel=n.tickText(h.mockAxis,h.mockAxis.c2l(o.z),\"hover\").text,e.hovertemplate=o.hovertemplate,function(e,t,r){if(!t.hovertemplate){var n=r.hi||t.hoverinfo,o=String(r.loc),s=\"all\"===n?i.hoverinfo.flags:n.split(\"+\"),l=-1!==s.indexOf(\"name\"),u=-1!==s.indexOf(\"location\"),c=-1!==s.indexOf(\"z\"),f=-1!==s.indexOf(\"text\"),h=[];!l&&u?e.nameOverride=o:(l&&(e.nameOverride=t.name),u&&h.push(o)),c&&h.push(e.zLabel),f&&a(r,t,h),e.extraText=h.join(\"<br>\")}}(e,f,o),[e]}},51319:function(e,t,r){\"use strict\";e.exports={attributes:r(69568),supplyDefaults:r(61869),colorbar:r(61243),calc:r(38675),calcGeoJSON:r(99841).calcGeoJSON,plot:r(99841).plot,style:r(99636).style,styleOnSelect:r(99636).styleOnSelect,hoverPoints:r(42300),eventData:r(92069),selectPoints:r(81253),moduleType:\"trace\",name:\"choropleth\",basePlotModule:r(44622),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}},99841:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(41327),o=r(90973).getTopojsonFeatures,s=r(71739).findExtremes,l=r(99636).style;e.exports={calcGeoJSON:function(e,t){for(var r=e[0].trace,n=t[r.geo],i=n._subplot,l=r.locationmode,u=r._length,c=\"geojson-id\"===l?a.extractTraceFeature(e):o(r,i.topojson),f=[],h=[],p=0;p<u;p++){var d=e[p],v=\"geojson-id\"===l?d.fOut:a.locationToFeature(l,d.loc,c);if(v){d.geojson=v,d.ct=v.properties.ct,d._polygons=a.feature2polygons(v);var g=a.computeBbox(v);f.push(g[0],g[2]),h.push(g[1],g[3])}else d.geojson=null}if(\"geojson\"===n.fitbounds&&\"geojson-id\"===l){var m=a.computeBbox(a.getTraceGeojson(r));f=[m[0],m[2]],h=[m[1],m[3]]}var y={padded:!0};r._extremes.lon=s(n.lonaxis._ax,f,y),r._extremes.lat=s(n.lataxis._ax,h,y)},plot:function(e,t,r){var a=t.layers.backplot.select(\".choroplethlayer\");i.makeTraceGroups(a,r,\"trace choropleth\").each((function(t){var r=n.select(this).selectAll(\"path.choroplethlocation\").data(i.identity);r.enter().append(\"path\").classed(\"choroplethlocation\",!0),r.exit().remove(),l(e,t)}))}}},81253:function(e){\"use strict\";e.exports=function(e,t){var r,n,i,a,o,s=e.cd,l=e.xaxis,u=e.yaxis,c=[];if(!1===t)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=u.c2p(i),t.contains([a,o],null,r,e)?(c.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return c}},99636:function(e,t,r){\"use strict\";var n=r(39898),i=r(7901),a=r(91424),o=r(21081);function s(e,t){var r=t[0].trace,s=t[0].node3.selectAll(\".choroplethlocation\"),l=r.marker||{},u=l.line||{},c=o.makeColorScaleFuncFromTrace(r);s.each((function(e){n.select(this).attr(\"fill\",c(e.z)).call(i.stroke,e.mlc||u.color).call(a.dashLine,\"\",e.mlw||u.width||0).style(\"opacity\",l.opacity)})),a.selectedPointStyle(s,r)}e.exports={style:function(e,t){t&&s(0,t)},styleOnSelect:function(e,t){var r=t[0].node3,n=t[0].trace;n.selectedpoints?a.selectedPointStyle(r.selectAll(\".choroplethlocation\"),n):s(0,t)}}},64496:function(e,t,r){\"use strict\";var n=r(69568),i=r(50693),a=r(5386).fF,o=r(9012),s=r(1426).extendFlat;e.exports=s({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:s({},n.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:n.text,hovertext:n.hovertext,marker:{line:{color:s({},n.marker.line.color,{editType:\"plot\"}),width:s({},n.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:s({},n.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:s({},n.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:s({},n.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:n.hoverinfo,hovertemplate:a({},{keys:[\"properties\"]}),showlegend:s({},o.showlegend,{dflt:!1})},i(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},82004:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828),a=r(21081),o=r(91424),s=r(18214).makeBlank,l=r(41327);function u(e){var t,r=e[0].trace,n=r._opts;if(r.selectedpoints){for(var a=o.makeSelectedPointStyleFns(r),s=0;s<e.length;s++){var l=e[s];l.fOut&&(l.fOut.properties.mo2=a.selectedOpacityFn(l))}t={type:\"identity\",property:\"mo2\"}}else t=i.isArrayOrTypedArray(r.marker.opacity)?{type:\"identity\",property:\"mo\"}:r.marker.opacity;return i.extendFlat(n.fill.paint,{\"fill-opacity\":t}),i.extendFlat(n.line.paint,{\"line-opacity\":t}),n}e.exports={convert:function(e){var t=e[0].trace,r=!0===t.visible&&0!==t._length,o={layout:{visibility:\"none\"},paint:{}},c={layout:{visibility:\"none\"},paint:{}},f=t._opts={fill:o,line:c,geojson:s()};if(!r)return f;var h=l.extractTraceFeature(e);if(!h)return f;var p,d,v,g=a.makeColorScaleFuncFromTrace(t),m=t.marker,y=m.line||{};i.isArrayOrTypedArray(m.opacity)&&(p=function(e){var t=e.mo;return n(t)?+i.constrain(t,0,1):0}),i.isArrayOrTypedArray(y.color)&&(d=function(e){return e.mlc}),i.isArrayOrTypedArray(y.width)&&(v=function(e){return e.mlw});for(var x=0;x<e.length;x++){var b=e[x],_=b.fOut;if(_){var w=_.properties;w.fc=g(b.z),p&&(w.mo=p(b)),d&&(w.mlc=d(b)),v&&(w.mlw=v(b)),b.ct=w.ct,b._polygons=l.feature2polygons(_)}}var k=p?{type:\"identity\",property:\"mo\"}:m.opacity;return i.extendFlat(o.paint,{\"fill-color\":{type:\"identity\",property:\"fc\"},\"fill-opacity\":k}),i.extendFlat(c.paint,{\"line-color\":d?{type:\"identity\",property:\"mlc\"}:y.color,\"line-width\":v?{type:\"identity\",property:\"mlw\"}:y.width,\"line-opacity\":k}),o.layout.visibility=\"visible\",c.layout.visibility=\"visible\",f.geojson={type:\"FeatureCollection\",features:h},u(e),f},convertOnSelect:u}},22654:function(e,t,r){\"use strict\";var n=r(71828),i=r(1586),a=r(64496);e.exports=function(e,t,r,o){function s(r,i){return n.coerce(e,t,a,r,i)}var l=s(\"locations\"),u=s(\"z\"),c=s(\"geojson\");n.isArrayOrTypedArray(l)&&l.length&&n.isArrayOrTypedArray(u)&&u.length&&(\"string\"==typeof c&&\"\"!==c||n.isPlainObject(c))?(s(\"featureidkey\"),t._length=Math.min(l.length,u.length),s(\"below\"),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),s(\"marker.line.width\")&&s(\"marker.line.color\"),s(\"marker.opacity\"),i(e,t,o,s,{prefix:\"\",cLetter:\"z\"}),n.coerceSelectionMarkerOpacity(t,s)):t.visible=!1}},57516:function(e,t,r){\"use strict\";e.exports={attributes:r(64496),supplyDefaults:r(22654),colorbar:r(61243),calc:r(38675),plot:r(7852),hoverPoints:r(42300),eventData:r(92069),selectPoints:r(81253),styleOnSelect:function(e,t){t&&t[0].trace._glTrace.updateOnSelect(t)},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(\"string\"==typeof i&&0===i.indexOf(\"water\"))for(var a=n+1;a<r.length;a++)if(\"string\"==typeof(i=r[a].id)&&-1===i.indexOf(\"plotly-\"))return i}},moduleType:\"trace\",name:\"choroplethmapbox\",basePlotModule:r(50101),categories:[\"mapbox\",\"gl\",\"noOpacity\",\"showLegend\"],meta:{hr_name:\"choropleth_mapbox\"}}},7852:function(e,t,r){\"use strict\";var n=r(82004).convert,i=r(82004).convertOnSelect,a=r(77734).traceLayerPrefix;function o(e,t){this.type=\"choroplethmapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",a+t+\"-fill\"],[\"line\",a+t+\"-line\"]],this.below=null}var s=o.prototype;s.update=function(e){this._update(n(e)),e[0].trace._glTrace=this},s.updateOnSelect=function(e){this._update(i(e))},s._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=e[o];t.setOptions(s,\"setLayoutProperty\",l.layout),\"visible\"===l.layout.visibility&&t.setOptions(s,\"setPaintProperty\",l.paint)}},s._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}},s._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])},s.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},e.exports=function(e,t){var r=t[0].trace,i=new o(e,r.uid),a=i.sourceId,s=n(t),l=i.below=e.belowLookup[\"trace-\"+r.uid];return e.map.addSource(a,{type:\"geojson\",data:s.geojson}),i._addLayers(s,l),t[0].trace._glTrace=i,i}},12674:function(e,t,r){\"use strict\";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(2418),s=r(9012),l=r(1426).extendFlat,u={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"scaled\",\"absolute\"],editType:\"calc\",dflt:\"scaled\"},sizeref:{valType:\"number\",editType:\"calc\",min:0},anchor:{valType:\"enumerated\",editType:\"calc\",values:[\"tip\",\"tail\",\"cm\",\"center\"],dflt:\"cm\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:a({editType:\"calc\"},{keys:[\"norm\"]}),uhoverformat:i(\"u\",1),vhoverformat:i(\"v\",1),whoverformat:i(\"w\",1),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),showlegend:l({},s.showlegend,{dflt:!1})};l(u,n(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"})),[\"opacity\",\"lightposition\",\"lighting\"].forEach((function(e){u[e]=o[e]})),u.hoverinfo=l({},s.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),u.transforms=void 0,e.exports=u},31371:function(e,t,r){\"use strict\";var n=r(78803);e.exports=function(e,t){for(var r=t.u,i=t.v,a=t.w,o=Math.min(t.x.length,t.y.length,t.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,u=0;u<o;u++){var c=r[u],f=i[u],h=a[u],p=Math.sqrt(c*c+f*f+h*h);s=Math.max(s,p),l=Math.min(l,p)}t._len=o,t._normMax=s,n(e,t,{vals:[l,s],containerStr:\"\",cLetter:\"c\"})}},5453:function(e,t,r){\"use strict\";var n=r(9330).gl_cone3d,i=r(9330).gl_cone3d.createConeMesh,a=r(71828).simpleMap,o=r(81697).parseColorScale,s=r(21081).extractOpts,l=r(90060);function u(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var c=u.prototype;c.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,r=this.data.x[t],n=this.data.y[t],i=this.data.z[t],a=this.data.u[t],o=this.data.v[t],s=this.data.w[t];e.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return Array.isArray(l)&&void 0!==l[t]?e.textLabel=l[t]:l&&(e.textLabel=l),!0}};var f={xaxis:0,yaxis:1,zaxis:2},h={tip:1,tail:0,cm:.25,center:.5},p={tip:1,tail:1,cm:.75,center:.5};function d(e,t){var r=e.fullSceneLayout,i=e.dataScale,u={};function c(e,t){var n=r[t],o=i[f[t]];return a(e,(function(e){return n.d2l(e)*o}))}u.vectors=l(c(t.u,\"xaxis\"),c(t.v,\"yaxis\"),c(t.w,\"zaxis\"),t._len),u.positions=l(c(t.x,\"xaxis\"),c(t.y,\"yaxis\"),c(t.z,\"zaxis\"),t._len);var d=s(t);u.colormap=o(t),u.vertexIntensityBounds=[d.min/t._normMax,d.max/t._normMax],u.coneOffset=h[t.anchor],\"scaled\"===t.sizemode?u.coneSize=t.sizeref||.5:u.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5;var v=n(u),g=t.lightposition;return v.lightPosition=[g.x,g.y,g.z],v.ambient=t.lighting.ambient,v.diffuse=t.lighting.diffuse,v.specular=t.lighting.specular,v.roughness=t.lighting.roughness,v.fresnel=t.lighting.fresnel,v.opacity=t.opacity,t._pad=p[t.anchor]*v.vectorScale*v.coneScale*t._normMax,v}c.update=function(e){this.data=e;var t=d(this.scene,e);this.mesh.update(t)},c.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(e,t){var r=e.glplot.gl,n=d(e,t),a=i(r,n),o=new u(e,t.uid);return o.mesh=a,o.data=t,a._trace=o,e.glplot.add(a),o}},91750:function(e,t,r){\"use strict\";var n=r(71828),i=r(1586),a=r(12674);e.exports=function(e,t,r,o){function s(r,i){return n.coerce(e,t,a,r,i)}var l=s(\"u\"),u=s(\"v\"),c=s(\"w\"),f=s(\"x\"),h=s(\"y\"),p=s(\"z\");l&&l.length&&u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length&&p&&p.length?(s(\"sizeref\"),s(\"sizemode\"),s(\"anchor\"),s(\"lighting.ambient\"),s(\"lighting.diffuse\"),s(\"lighting.specular\"),s(\"lighting.roughness\"),s(\"lighting.fresnel\"),s(\"lightposition.x\"),s(\"lightposition.y\"),s(\"lightposition.z\"),i(e,t,o,s,{prefix:\"\",cLetter:\"c\"}),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),s(\"uhoverformat\"),s(\"vhoverformat\"),s(\"whoverformat\"),s(\"xhoverformat\"),s(\"yhoverformat\"),s(\"zhoverformat\"),t._length=null):t.visible=!1}},98128:function(e,t,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"cone\",basePlotModule:r(58547),categories:[\"gl3d\",\"showLegend\"],attributes:r(12674),supplyDefaults:r(91750),colorbar:{min:\"cmin\",max:\"cmax\"},calc:r(31371),plot:r(5453),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{}}},70600:function(e,t,r){\"use strict\";var n=r(21606),i=r(82196),a=r(12663),o=a.axisHoverFormat,s=a.descriptionOnlyNumbers,l=r(50693),u=r(79952).P,c=r(41940),f=r(1426).extendFlat,h=r(74808),p=h.COMPARISON_OPS2,d=h.INTERVAL_OPS,v=i.line;e.exports=f({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,text:n.text,hovertext:n.hovertext,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),zhoverformat:o(\"z\",1),hovertemplate:n.hovertemplate,texttemplate:f({},n.texttemplate,{}),textfont:f({},n.textfont,{}),hoverongaps:n.hoverongaps,connectgaps:f({},n.connectgaps,{}),fillcolor:{valType:\"color\",editType:\"calc\"},autocontour:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"contours.start\":void 0,\"contours.end\":void 0,\"contours.size\":void 0}},ncontours:{valType:\"integer\",dflt:15,min:1,editType:\"calc\"},contours:{type:{valType:\"enumerated\",values:[\"levels\",\"constraint\"],dflt:\"levels\",editType:\"calc\"},start:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},end:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:{valType:\"boolean\",dflt:!0,editType:\"plot\"},showlabels:{valType:\"boolean\",dflt:!1,editType:\"plot\"},labelfont:c({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:s(\"contour label\")},operation:{valType:\"enumerated\",values:[].concat(p).concat(d),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:f({},v.color,{editType:\"style+colorbars\"}),width:{valType:\"number\",min:0,editType:\"style+colorbars\"},dash:u,smoothing:f({},v.smoothing,{}),editType:\"plot\"}},l(\"\",{cLetter:\"z\",autoColorDflt:!1,editTypeOverride:\"calc\"}))},27529:function(e,t,r){\"use strict\";var n=r(21081),i=r(90757),a=r(18670),o=r(53572);e.exports=function(e,t){var r=i(e,t),s=r[0].z;a(t,s);var l,u=t.contours,c=n.extractOpts(t);if(\"heatmap\"===u.coloring&&c.auto&&!1===t.autocontour){var f=u.start,h=o(u),p=u.size||1,d=Math.floor((h-f)/p)+1;isFinite(p)||(p=1,d=1);var v=f-p/2;l=[v,v+d*p]}else l=s;return n.calc(e,t,{vals:l,cLetter:\"z\"}),r}},20083:function(e){\"use strict\";e.exports=function(e,t){var r,n=e[0],i=n.z;switch(t.type){case\"levels\":var a=Math.min(i[0][0],i[0][1]);for(r=0;r<e.length;r++){var o=e[r];o.prefixBoundary=!o.edgepaths.length&&(a>o.level||o.starts.length&&a===o.level)}break;case\"constraint\":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,u=-1/0,c=1/0;for(r=0;r<l;r++)c=Math.min(c,i[r][0]),c=Math.min(c,i[r][s-1]),u=Math.max(u,i[r][0]),u=Math.max(u,i[r][s-1]);for(r=1;r<s-1;r++)c=Math.min(c,i[0][r]),c=Math.min(c,i[l-1][r]),u=Math.max(u,i[0][r]),u=Math.max(u,i[l-1][r]);var f,h,p=t.value;switch(t._operation){case\">\":p>u&&(n.prefixBoundary=!0);break;case\"<\":(p<c||n.starts.length&&p===c)&&(n.prefixBoundary=!0);break;case\"[]\":f=Math.min(p[0],p[1]),((h=Math.max(p[0],p[1]))<c||f>u||n.starts.length&&h===c)&&(n.prefixBoundary=!0);break;case\"][\":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),f<c&&h>u&&(n.prefixBoundary=!0)}}}},90654:function(e,t,r){\"use strict\";var n=r(21081),i=r(86068),a=r(53572);e.exports={min:\"zmin\",max:\"zmax\",calc:function(e,t,r){var o=t.contours,s=t.line,l=o.size||1,u=o.coloring,c=i(t,{isColorbar:!0});if(\"heatmap\"===u){var f=n.extractOpts(t);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else\"fill\"===u&&(r._fillcolor=c);r._line={color:\"lines\"===u?c:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},36914:function(e){\"use strict\";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},83179:function(e,t,r){\"use strict\";var n=r(92770),i=r(14523),a=r(7901),o=a.addOpacity,s=a.opacity,l=r(74808),u=l.CONSTRAINT_REDUCTION,c=l.COMPARISON_OPS2;e.exports=function(e,t,r,a,l,f){var h,p,d,v=t.contours,g=r(\"contours.operation\");v._operation=u[g],function(e,t){var r;-1===c.indexOf(t.operation)?(e(\"contours.value\",[0,1]),Array.isArray(t.value)?t.value.length>2?t.value=t.value.slice(2):0===t.length?t.value=[0,1]:t.length<2?(r=parseFloat(t.value[0]),t.value=[r,r+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:n(t.value)&&(r=parseFloat(t.value),t.value=[r,r+1])):(e(\"contours.value\",0),n(t.value)||(Array.isArray(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}(r,v),\"=\"===g?h=v.showlines=!0:(h=r(\"contours.showlines\"),d=r(\"fillcolor\",o((e.line||{}).color||l,.5))),h&&(p=r(\"line.color\",d&&s(d)?o(t.fillcolor,1):l),r(\"line.width\",2),r(\"line.dash\")),r(\"line.smoothing\"),i(r,a,p,f)}},64237:function(e,t,r){\"use strict\";var n=r(74808),i=r(92770);function a(e,t){var r,a=Array.isArray(t);function o(e){return i(e)?+e:null}return-1!==n.COMPARISON_OPS2.indexOf(e)?r=o(a?t[0]:t):-1!==n.INTERVAL_OPS.indexOf(e)?r=a?[o(t[0]),o(t[1])]:[o(t),o(t)]:-1!==n.SET_OPS.indexOf(e)&&(r=a?t.map(o):[o(t)]),r}function o(e){return function(t){t=a(e,t);var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]);return{start:r,end:n,size:n-r}}}function s(e){return function(t){return{start:t=a(e,t),end:1/0,size:1/0}}}e.exports={\"[]\":o(\"[]\"),\"][\":o(\"][\"),\">\":s(\">\"),\"<\":s(\"<\"),\"=\":s(\"=\")}},67217:function(e){\"use strict\";e.exports=function(e,t,r,n){var i=n(\"contours.start\"),a=n(\"contours.end\"),o=!1===i||!1===a,s=r(\"contours.size\");!(o?t.autocontour=!0:r(\"autocontour\",!1))&&s||r(\"ncontours\")}},84857:function(e,t,r){\"use strict\";var n=r(71828);function i(e){return n.extendFlat({},e,{edgepaths:n.extendDeep([],e.edgepaths),paths:n.extendDeep([],e.paths),starts:n.extendDeep([],e.starts)})}e.exports=function(e,t){var r,a,o,s=function(e){return e.reverse()},l=function(e){return e};switch(t){case\"=\":case\"<\":return e;case\">\":for(1!==e.length&&n.warn(\"Contour data invalid for the specified inequality operation.\"),a=e[0],r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(r=0;r<a.starts.length;r++)a.starts[r]=s(a.starts[r]);return e;case\"][\":var u=s;s=l,l=u;case\"[]\":for(2!==e.length&&n.warn(\"Contour data invalid for the specified inequality range operation.\"),a=i(e[0]),o=i(e[1]),r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(r=0;r<a.starts.length;r++)a.starts[r]=s(a.starts[r]);for(;o.edgepaths.length;)a.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)a.paths.push(l(o.paths.shift()));for(;o.starts.length;)a.starts.push(l(o.starts.shift()));return[a]}}},13031:function(e,t,r){\"use strict\";var n=r(71828),i=r(67684),a=r(73927),o=r(83179),s=r(67217),l=r(8724),u=r(58623),c=r(70600);e.exports=function(e,t,r,f){function h(r,i){return n.coerce(e,t,c,r,i)}if(i(e,t,h,f)){a(e,t,f,h),h(\"xhoverformat\"),h(\"yhoverformat\"),h(\"text\"),h(\"hovertext\"),h(\"hoverongaps\"),h(\"hovertemplate\");var p=\"constraint\"===h(\"contours.type\");h(\"connectgaps\",n.isArray1D(t.z)),p?o(e,t,h,f,r):(s(e,t,h,(function(r){return n.coerce2(e,t,c,r)})),l(e,t,h,f)),t.contours&&\"heatmap\"===t.contours.coloring&&u(h,f)}else t.visible=!1}},87558:function(e,t,r){\"use strict\";var n=r(71828),i=r(64237),a=r(53572);e.exports=function(e,t,r){for(var o=\"constraint\"===e.type?i[e._operation](e.value):e,s=o.size,l=[],u=a(o),c=r.trace._carpetTrace,f=c?{xaxis:c.aaxis,yaxis:c.baxis,x:r.a,y:r.b}:{xaxis:t.xaxis,yaxis:t.yaxis,x:r.x,y:r.y},h=o.start;h<u;h+=s)if(l.push(n.extendFlat({level:h,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},f)),l.length>1e3){n.warn(\"Too many contours, clipping at 1000\",e);break}return l}},53572:function(e){\"use strict\";e.exports=function(e){return e.end+e.size/1e6}},81696:function(e,t,r){\"use strict\";var n=r(71828),i=r(36914);function a(e,t,r,n){return Math.abs(e[0]-t[0])<r&&Math.abs(e[1]-t[1])<n}function o(e,t,r,o,l){var u,c=t.join(\",\"),f=e.crossings[c],h=function(e,t,r){var n=0,a=0;return e>20&&t?208===e||1114===e?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(e)?a=1:-1!==i.LEFTSTART.indexOf(e)?n=1:-1!==i.TOPSTART.indexOf(e)?a=-1:n=-1,[n,a]}(f,r,t),p=[s(e,t,[-h[0],-h[1]])],d=e.z.length,v=e.z[0].length,g=t.slice(),m=h.slice();for(u=0;u<1e4;u++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],e.crossings[c]=i.SADDLEREMAINDER[f]):delete e.crossings[c],!(h=i.NEWDELTA[f])){n.log(\"Found bad marching index:\",f,t,e.level);break}p.push(s(e,t,h)),t[0]+=h[0],t[1]+=h[1],c=t.join(\",\"),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var y=h[0]&&(t[0]<0||t[0]>v-2)||h[1]&&(t[1]<0||t[1]>d-2);if(t[0]===g[0]&&t[1]===g[1]&&h[0]===m[0]&&h[1]===m[1]||r&&y)break;f=e.crossings[c]}1e4===u&&n.log(\"Infinite loop in contour?\");var x,b,_,w,k,T,M,A,S,E,C,L,P,O,I,D=a(p[0],p[p.length-1],o,l),z=0,R=.2*e.smoothing,F=[],B=0;for(u=1;u<p.length;u++)L=p[u],P=p[u-1],void 0,void 0,O=L[2]-P[2],I=L[3]-P[3],z+=M=Math.sqrt(O*O+I*I),F.push(M);var N=z/F.length*R;function j(e){return p[e%p.length]}for(u=p.length-2;u>=B;u--)if((x=F[u])<N){for(_=0,b=u-1;b>=B&&x+F[b]<N;b--)x+=F[b];if(D&&u===p.length-2)for(_=0;_<b&&x+F[_]<N;_++)x+=F[_];k=u-b+_+1,T=Math.floor((u+b+_+2)/2),w=D||u!==p.length-2?D||-1!==b?k%2?j(T):[(j(T)[0]+j(T+1)[0])/2,(j(T)[1]+j(T+1)[1])/2]:p[0]:p[p.length-1],p.splice(b+1,u-b+1,w),u=b+1,_&&(B=_),D&&(u===p.length-2?p[_]=p[p.length-1]:0===u&&(p[p.length-1]=p[0]))}for(p.splice(0,B),u=0;u<p.length;u++)p[u].length=2;if(!(p.length<2))if(D)p.pop(),e.paths.push(p);else{r||n.log(\"Unclosed interior contour?\",e.level,g.join(\",\"),p.join(\"L\"));var U=!1;for(A=0;A<e.edgepaths.length;A++)if(E=e.edgepaths[A],!U&&a(E[0],p[p.length-1],o,l)){p.pop(),U=!0;var V=!1;for(S=0;S<e.edgepaths.length;S++)if(a((C=e.edgepaths[S])[C.length-1],p[0],o,l)){V=!0,p.shift(),e.edgepaths.splice(A,1),S===A?e.paths.push(p.concat(C)):(S>A&&S--,e.edgepaths[S]=C.concat(p,E));break}V||(e.edgepaths[A]=p.concat(E))}for(A=0;A<e.edgepaths.length&&!U;A++)a((E=e.edgepaths[A])[E.length-1],p[0],o,l)&&(p.shift(),e.edgepaths[A]=E.concat(p),U=!0);U||e.edgepaths.push(p)}}function s(e,t,r){var n=t[0]+Math.max(r[0],0),i=t[1]+Math.max(r[1],0),a=e.z[i][n],o=e.xaxis,s=e.yaxis;if(r[1]){var l=(e.level-a)/(e.z[i][n+1]-a),u=(1!==l?(1-l)*o.c2l(e.x[n]):0)+(0!==l?l*o.c2l(e.x[n+1]):0);return[o.c2p(o.l2c(u),!0),s.c2p(e.y[i],!0),n+l,i]}var c=(e.level-a)/(e.z[i+1][n]-a),f=(1!==c?(1-c)*s.c2l(e.y[i]):0)+(0!==c?c*s.c2l(e.y[i+1]):0);return[o.c2p(e.x[n],!0),s.c2p(s.l2c(f),!0),n,i+c]}e.exports=function(e,t,r){var i,a,s,l;for(t=t||.01,r=r||.01,a=0;a<e.length;a++){for(s=e[a],l=0;l<s.starts.length;l++)o(s,s.starts[l],\"edge\",t,r);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,o(s,Object.keys(s.crossings)[0].split(\",\").map(Number),void 0,t,r);1e4===i&&n.log(\"Infinite loop in contour?\")}}},52421:function(e,t,r){\"use strict\";var n=r(7901),i=r(46248);e.exports=function(e,t,r,a,o){o||(o={}),o.isContour=!0;var s=i(e,t,r,a,o);return s&&s.forEach((function(e){var t=e.trace;\"constraint\"===t.contours.type&&(t.fillcolor&&n.opacity(t.fillcolor)?e.color=n.addOpacity(t.fillcolor,1):t.contours.showlines&&n.opacity(t.line.color)&&(e.color=n.addOpacity(t.line.color,1)))})),s}},99442:function(e,t,r){\"use strict\";e.exports={attributes:r(70600),supplyDefaults:r(13031),calc:r(27529),plot:r(29854).plot,style:r(84426),colorbar:r(90654),hoverPoints:r(52421),moduleType:\"trace\",name:\"contour\",basePlotModule:r(93612),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"showLegend\"],meta:{}}},14523:function(e,t,r){\"use strict\";var n=r(71828);e.exports=function(e,t,r,i){if(i||(i={}),e(\"contours.showlabels\")){var a=t.font;n.coerceFont(e,\"contours.labelfont\",{family:a.family,size:a.size,color:r}),e(\"contours.labelformat\")}!1!==i.hasHover&&e(\"zhoverformat\")}},86068:function(e,t,r){\"use strict\";var n=r(39898),i=r(21081),a=r(53572);e.exports=function(e){var t=e.contours,r=t.start,o=a(t),s=t.size||1,l=Math.floor((o-r)/s)+1,u=\"lines\"===t.coloring?0:1,c=i.extractOpts(e);isFinite(s)||(s=1,l=1);var f,h,p=c.reversescale?i.flipScale(c.colorscale):c.colorscale,d=p.length,v=new Array(d),g=new Array(d),m=c.min,y=c.max;if(\"heatmap\"===t.coloring){for(h=0;h<d;h++)f=p[h],v[h]=f[0]*(y-m)+m,g[h]=f[1];var x=n.extent([m,y,t.start,t.start+s*(l-1)]),b=x[m<y?0:1],_=x[m<y?1:0];b!==m&&(v.splice(0,0,b),g.splice(0,0,g[0])),_!==y&&(v.push(_),g.push(g[g.length-1]))}else{var w=e._input&&\"number\"==typeof e._input.zmin&&\"number\"==typeof e._input.zmax;for(w&&(r<=m||o>=y)&&(r<=m&&(r=m),o>=y&&(o=y),l=Math.floor((o-r)/s)+1,u=0),h=0;h<d;h++)f=p[h],v[h]=(f[0]*(l+u-1)-u/2)*s+r,g[h]=f[1];(w||e.autocontour)&&(v[0]>m&&(v.unshift(m),g.unshift(g[0])),v[v.length-1]<y&&(v.push(y),g.push(g[g.length-1])))}return i.makeColorScaleFunc({domain:v,range:g},{noNumericCheck:!0})}},87678:function(e,t,r){\"use strict\";var n=r(36914);function i(e,t){var r=(t[0][0]>e?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);return 5===r||10===r?e>(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(e){var t,r,a,o,s,l,u,c,f,h=e[0].z,p=h.length,d=h[0].length,v=2===p||2===d;for(r=0;r<p-1;r++)for(o=[],0===r&&(o=o.concat(n.BOTTOMSTART)),r===p-2&&(o=o.concat(n.TOPSTART)),t=0;t<d-1;t++)for(a=o.slice(),0===t&&(a=a.concat(n.LEFTSTART)),t===d-2&&(a=a.concat(n.RIGHTSTART)),s=t+\",\"+r,l=[[h[r][t],h[r][t+1]],[h[r+1][t],h[r+1][t+1]]],f=0;f<e.length;f++)(u=i((c=e[f]).level,l))&&(c.crossings[s]=u,-1!==a.indexOf(u)&&(c.starts.push([t,r]),v&&-1!==a.indexOf(u,a.indexOf(u)+1)&&c.starts.push([t,r])))}},29854:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(91424),o=r(21081),s=r(63893),l=r(89298),u=r(21994),c=r(50347),f=r(87678),h=r(81696),p=r(87558),d=r(84857),v=r(20083),g=r(36914),m=g.LABELOPTIMIZER;function y(e,t){var r,n,o,s,l,u,c,f=\"\",h=0,p=e.edgepaths.map((function(e,t){return t})),d=!0;function v(e){return Math.abs(e[1]-t[2][1])<.01}function g(e){return Math.abs(e[0]-t[0][0])<.01}function m(e){return Math.abs(e[0]-t[2][0])<.01}for(;p.length;){for(u=a.smoothopen(e.edgepaths[h],e.smoothing),f+=d?u:u.replace(/^M/,\"L\"),p.splice(p.indexOf(h),1),r=e.edgepaths[h][e.edgepaths[h].length-1],s=-1,o=0;o<4;o++){if(!r){i.log(\"Missing end?\",h,e);break}for(c=r,Math.abs(c[1]-t[0][1])<.01&&!m(r)?n=t[1]:g(r)?n=t[0]:v(r)?n=t[3]:m(r)&&(n=t[2]),l=0;l<e.edgepaths.length;l++){var y=e.edgepaths[l][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-y[0])<.01&&(y[1]-r[1])*(n[1]-y[1])>=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):i.log(\"endpt to newendpt is not vert. or horz.\",r,n,y)}if(r=n,s>=0)break;f+=\"L\"+n}if(s===e.edgepaths.length){i.log(\"unclosed perimeter path\");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+=\"Z\")}for(h=0;h<e.paths.length;h++)f+=a.smoothclosed(e.paths[h],e.smoothing);return f}function x(e,t,r,n){var a=t.width/2,o=t.height/2,s=e.x,l=e.y,u=e.theta,c=Math.cos(u)*a,f=Math.sin(u)*a,h=(s>n.center?n.right-s:s-n.left)/(c+Math.abs(Math.sin(u)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(u)*o);if(h<1||p<1)return 1/0;var d=m.EDGECOST*(1/(h-1)+1/(p-1));d+=m.ANGLECOST*u*u;for(var v=s-c,g=l-f,y=s+c,x=l+f,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,k=Math.sin(_.theta)*_.width/2,T=2*i.segmentDistance(v,g,y,x,_.x-w,_.y-k,_.x+w,_.y+k)/(t.height+_.height),M=_.level===t.level,A=M?m.SAMELEVELDISTANCE:1;if(T<=A)return 1/0;d+=m.NEIGHBORCOST*(M?m.SAMELEVELFACTOR:1)/(T-A)}return d}function b(e){var t,r,n=e.trace._emptypoints,i=[],a=e.z.length,o=e.z[0].length,s=[];for(t=0;t<o;t++)s.push(1);for(t=0;t<a;t++)i.push(s.slice());for(t=0;t<n.length;t++)i[(r=n[t])[0]][r[1]]=0;return e.zmask=i,i}t.plot=function(e,r,o,s){var l=r.xaxis,u=r.yaxis;i.makeTraceGroups(s,o,\"contour\").each((function(o){var s=n.select(this),m=o[0],x=m.trace,_=m.x,w=m.y,k=x.contours,T=p(k,r,m),M=i.ensureSingle(s,\"g\",\"heatmapcoloring\"),A=[];\"heatmap\"===k.coloring&&(A=[o]),c(e,r,A,M),f(T),h(T);var S=l.c2p(_[0],!0),E=l.c2p(_[_.length-1],!0),C=u.c2p(w[0],!0),L=u.c2p(w[w.length-1],!0),P=[[S,L],[E,L],[E,C],[S,C]],O=T;\"constraint\"===k.type&&(O=d(T,k._operation)),function(e,t,r){var n=i.ensureSingle(e,\"g\",\"contourbg\").selectAll(\"path\").data(\"fill\"===r.coloring?[0]:[]);n.enter().append(\"path\"),n.exit().remove(),n.attr(\"d\",\"M\"+t.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}(s,P,k),function(e,t,r,a){var o=\"fill\"===a.coloring||\"constraint\"===a.type&&\"=\"!==a._operation,s=\"M\"+r.join(\"L\")+\"Z\";o&&v(t,a);var l=i.ensureSingle(e,\"g\",\"contourfill\").selectAll(\"path\").data(o?t:[]);l.enter().append(\"path\"),l.exit().remove(),l.each((function(e){var t=(e.prefixBoundary?s:\"\")+y(e,r);t?n.select(this).attr(\"d\",t).style(\"stroke\",\"none\"):n.select(this).remove()}))}(s,O,P,k),function(e,r,o,s,l){var u=o._context.staticPlot,c=i.ensureSingle(e,\"g\",\"contourlines\"),f=!1!==l.showlines,h=l.showlabels,p=f&&h,d=t.createLines(c,f||h,r,u),v=t.createLineClip(c,p,o,s.trace.uid),m=e.selectAll(\"g.contourlabels\").data(h?[0]:[]);if(m.exit().remove(),m.enter().append(\"g\").classed(\"contourlabels\",!0),h){var y=[],x=[];i.clearLocationCache();var b=t.labelFormatter(o,s),_=a.tester.append(\"text\").attr(\"data-notex\",1).call(a.font,l.labelfont),w=r[0].xaxis,k=r[0].yaxis,T=w._length,M=k._length,A=w.range,S=k.range,E=i.aggNums(Math.min,null,s.x),C=i.aggNums(Math.max,null,s.x),L=i.aggNums(Math.min,null,s.y),P=i.aggNums(Math.max,null,s.y),O=Math.max(w.c2p(E,!0),0),I=Math.min(w.c2p(C,!0),T),D=Math.max(k.c2p(P,!0),0),z=Math.min(k.c2p(L,!0),M),R={};A[0]<A[1]?(R.left=O,R.right=I):(R.left=I,R.right=O),S[0]<S[1]?(R.top=D,R.bottom=z):(R.top=z,R.bottom=D),R.middle=(R.top+R.bottom)/2,R.center=(R.left+R.right)/2,y.push([[R.left,R.top],[R.right,R.top],[R.right,R.bottom],[R.left,R.bottom]]);var F=Math.sqrt(T*T+M*M),B=g.LABELDISTANCE*F/Math.max(1,r.length/g.LABELINCREASE);d.each((function(e){var r=t.calcTextOpts(e.level,b,_,o);n.select(this).selectAll(\"path\").each((function(){var e=i.getVisibleSegment(this,R,r.height/2);if(e&&!(e.len<(r.width+r.height)*g.LABELMIN))for(var n=Math.min(Math.ceil(e.len/B),g.LABELMAX),a=0;a<n;a++){var o=t.findBestTextLocation(this,e,r,x,R);if(!o)break;t.addLabelData(o,r,x,y)}}))})),_.remove(),t.drawLabels(m,x,o,v,p?y:null)}h&&!f&&d.remove()}(s,T,e,m,k),function(e,t,r,n,o){var s=n.trace,l=r._fullLayout._clips,u=\"clip\"+s.uid,c=l.selectAll(\"#\"+u).data(s.connectgaps?[]:[0]);if(c.enter().append(\"clipPath\").classed(\"contourclip\",!0).attr(\"id\",u),c.exit().remove(),!1===s.connectgaps){var p={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:t.xaxis,yaxis:t.yaxis,x:n.x,y:n.y,z:b(n),smoothing:0};f([p]),h([p]),v([p],{type:\"levels\"}),i.ensureSingle(c,\"path\",\"\").attr(\"d\",(p.prefixBoundary?\"M\"+o.join(\"L\")+\"Z\":\"\")+y(p,o))}else u=null;a.setClipUrl(e,u,r)}(s,r,e,m,P)}))},t.createLines=function(e,t,r,n){var i=r[0].smoothing,o=e.selectAll(\"g.contourlevel\").data(t?r:[]);if(o.exit().remove(),o.enter().append(\"g\").classed(\"contourlevel\",!0),t){var s=o.selectAll(\"path.openline\").data((function(e){return e.pedgepaths||e.edgepaths}));s.exit().remove(),s.enter().append(\"path\").classed(\"openline\",!0),s.attr(\"d\",(function(e){return a.smoothopen(e,i)})).style(\"stroke-miterlimit\",1).style(\"vector-effect\",n?\"none\":\"non-scaling-stroke\");var l=o.selectAll(\"path.closedline\").data((function(e){return e.ppaths||e.paths}));l.exit().remove(),l.enter().append(\"path\").classed(\"closedline\",!0),l.attr(\"d\",(function(e){return a.smoothclosed(e,i)})).style(\"stroke-miterlimit\",1).style(\"vector-effect\",n?\"none\":\"non-scaling-stroke\")}return o},t.createLineClip=function(e,t,r,n){var i=t?\"clipline\"+n:null,o=r._fullLayout._clips.selectAll(\"#\"+i).data(t?[0]:[]);return o.exit().remove(),o.enter().append(\"clipPath\").classed(\"contourlineclip\",!0).attr(\"id\",i),a.setClipUrl(e,i,r),o},t.labelFormatter=function(e,t){var r=e._fullLayout,n=t.trace,i=n.contours,a={type:\"linear\",_id:\"ycontour\",showexponent:\"all\",exponentformat:\"B\"};if(i.labelformat)a.tickformat=i.labelformat,u(a,r);else{var s=o.extractOpts(n);if(s&&s.colorbar&&s.colorbar._axis)a=s.colorbar._axis;else{if(\"constraint\"===i.type){var c=i.value;Array.isArray(c)?a.range=[c[0],c[c.length-1]]:a.range=[c,c]}else a.range=[i.start,i.end],a.nticks=(i.end-i.start)/i.size;a.range[0]===a.range[1]&&(a.range[1]+=a.range[0]||1),a.nticks||(a.nticks=1e3),u(a,r),l.prepTicks(a),a._tmin=null,a._tmax=null}}return function(e){return l.tickText(a,e).text}},t.calcTextOpts=function(e,t,r,n){var i=t(e);r.text(i).call(s.convertToTspans,n);var o=r.node(),l=a.bBox(o,!0);return{text:i,width:l.width,height:l.height,fontSize:+o.style[\"font-size\"].replace(\"px\",\"\"),level:e,dy:(l.top+l.bottom)/2}},t.findBestTextLocation=function(e,t,r,n,a){var o,s,l,u,c,f=r.width;t.isClosed?(s=t.len/m.INITIALSEARCHPOINTS,o=t.min+s/2,l=t.max):(s=(t.len-f)/(m.INITIALSEARCHPOINTS+1),o=t.min+s+f/2,l=t.max-(s+f)/2);for(var h=1/0,p=0;p<m.ITERATIONS;p++){for(var d=o;d<l;d+=s){var v=i.getTextLocation(e,t.total,d,f),g=x(v,r,n,a);g<h&&(h=g,c=v,u=d)}if(h>2*m.MAXCOST)break;p&&(s/=2),l=(o=u-s/2)+1.5*s}if(h<=m.MAXCOST)return c},t.addLabelData=function(e,t,r,n){var i=t.fontSize,a=t.width+i/3,o=Math.max(0,t.height-i/3),s=e.x,l=e.y,u=e.theta,c=Math.sin(u),f=Math.cos(u),h=function(e,t){return[s+e*f-t*c,l+e*c+t*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:t.text,x:s,y:l,dy:t.dy,theta:u,level:t.level,width:a,height:o}),n.push(p)},t.drawLabels=function(e,t,r,a,o){var l=e.selectAll(\"text\").data(t,(function(e){return e.text+\",\"+e.x+\",\"+e.y+\",\"+e.theta}));if(l.exit().remove(),l.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each((function(e){var t=e.x+Math.sin(e.theta)*e.dy,i=e.y-Math.cos(e.theta)*e.dy;n.select(this).text(e.text).attr({x:t,y:i,transform:\"rotate(\"+180*e.theta/Math.PI+\" \"+t+\" \"+i+\")\"}).call(s.convertToTspans,r)})),o){for(var u=\"\",c=0;c<o.length;c++)u+=\"M\"+o[c].join(\"L\")+\"Z\";i.ensureSingle(a,\"path\",\"\").attr(\"d\",u)}}},18670:function(e,t,r){\"use strict\";var n=r(89298),i=r(71828);function a(e,t,r){var i={type:\"linear\",range:[e,t]};return n.autoTicks(i,(t-e)/(r||15)),i}e.exports=function(e,t){var r=e.contours;if(e.autocontour){var o=e.zmin,s=e.zmax;(e.zauto||void 0===o)&&(o=i.aggNums(Math.min,null,t)),(e.zauto||void 0===s)&&(s=i.aggNums(Math.max,null,t));var l=a(o,s,e.ncontours);r.size=l.dtick,r.start=n.tickFirst(l),l.range.reverse(),r.end=n.tickFirst(l),r.start===o&&(r.start+=r.size),r.end===s&&(r.end-=r.size),r.start>r.end&&(r.start=r.end=(r.start+r.end)/2),e._input.contours||(e._input.contours={}),i.extendFlat(e._input.contours,{start:r.start,end:r.end,size:r.size}),e._input.autocontour=!0}else if(\"constraint\"!==r.type){var u,c=r.start,f=r.end,h=e._input.contours;c>f&&(r.start=h.start=f,f=r.end=h.end=c,c=r.start),r.size>0||(u=c===f?1:a(c,f,e.ncontours).dtick,h.size=r.size=u)}}},84426:function(e,t,r){\"use strict\";var n=r(39898),i=r(91424),a=r(70035),o=r(86068);e.exports=function(e){var t=n.select(e).selectAll(\"g.contour\");t.style(\"opacity\",(function(e){return e[0].trace.opacity})),t.each((function(e){var t=n.select(this),r=e[0].trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c=\"constraint\"===a.type,f=!c&&\"lines\"===a.coloring,h=!c&&\"fill\"===a.coloring,p=f||h?o(r):null;t.selectAll(\"g.contourlevel\").each((function(e){n.select(this).selectAll(\"path\").call(i.lineGroupStyle,s.width,f?p(e.level):s.color,s.dash)}));var d=a.labelfont;if(t.selectAll(\"g.contourlabels text\").each((function(e){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(e.level):s.color)})})),c)t.selectAll(\"g.contourfill path\").style(\"fill\",r.fillcolor);else if(h){var v;t.selectAll(\"g.contourfill path\").style(\"fill\",(function(e){return void 0===v&&(v=e.level),p(e.level+.5*l)})),void 0===v&&(v=u),t.selectAll(\"g.contourbg path\").style(\"fill\",p(v-.5*l))}})),a(e)}},8724:function(e,t,r){\"use strict\";var n=r(1586),i=r(14523);e.exports=function(e,t,r,a,o){var s,l=r(\"contours.coloring\"),u=\"\";\"fill\"===l&&(s=r(\"contours.showlines\")),!1!==s&&(\"lines\"!==l&&(u=r(\"line.color\",\"#000\")),r(\"line.width\",.5),r(\"line.dash\")),\"none\"!==l&&(!0!==e.showlegend&&(t.showlegend=!1),t._dfltShowLegend=!1,n(e,t,a,r,{prefix:\"\",cLetter:\"z\"})),r(\"line.smoothing\"),i(r,a,u,o)}},88085:function(e,t,r){\"use strict\";var n=r(21606),i=r(70600),a=r(50693),o=r(1426).extendFlat,s=i.contours;e.exports=o({carpet:{valType:\"string\",editType:\"calc\"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:\"plot\"},transforms:void 0},a(\"\",{cLetter:\"z\",autoColorDflt:!1}))},59885:function(e,t,r){\"use strict\";var n=r(78803),i=r(71828),a=r(68296),o=r(4742),s=r(824),l=r(43907),u=r(70769),c=r(75005),f=r(22882),h=r(18670);e.exports=function(e,t){var r=t._carpetTrace=f(e,t);if(r&&r.visible&&\"legendonly\"!==r.visible){if(!t.a||!t.b){var p=e.data[r.index],d=e.data[t.index];d.a||(d.a=p.a),d.b||(d.b=p.b),c(d,t,t._defaultColor,e._fullLayout)}var v=function(e,t){var r,c,f,h,p,d,v,g=t._carpetTrace,m=g.aaxis,y=g.baxis;m._minDtick=0,y._minDtick=0,i.isArray1D(t.z)&&a(t,m,y,\"a\",\"b\",[\"z\"]),r=t._a=t._a||t.a,h=t._b=t._b||t.b,r=r?m.makeCalcdata(t,\"_a\"):[],h=h?y.makeCalcdata(t,\"_b\"):[],c=t.a0||0,f=t.da||1,p=t.b0||0,d=t.db||1,v=t._z=o(t._z||t.z,t.transpose),t._emptypoints=l(v),s(v,t._emptypoints);var x=i.maxRowLength(v),b=\"scaled\"===t.xtype?\"\":r,_=u(t,b,c,f,x,m),w=\"scaled\"===t.ytype?\"\":h,k={a:_,b:u(t,w,p,d,v.length,y),z:v};return\"levels\"===t.contours.type&&\"none\"!==t.contours.coloring&&n(e,t,{vals:v,containerStr:\"\",cLetter:\"z\"}),[k]}(e,t);return h(t,t._z),v}}},75005:function(e,t,r){\"use strict\";var n=r(71828),i=r(67684),a=r(88085),o=r(83179),s=r(67217),l=r(8724);e.exports=function(e,t,r,u){function c(r,i){return n.coerce(e,t,a,r,i)}if(c(\"carpet\"),e.a&&e.b){if(!i(e,t,c,u,\"a\",\"b\"))return void(t.visible=!1);c(\"text\"),\"constraint\"===c(\"contours.type\")?o(e,t,c,u,r,{hasHover:!1}):(s(e,t,c,(function(r){return n.coerce2(e,t,a,r)})),l(e,t,c,u,{hasHover:!1}))}else t._defaultColor=r,t._length=null}},93740:function(e,t,r){\"use strict\";e.exports={attributes:r(88085),supplyDefaults:r(75005),colorbar:r(90654),calc:r(59885),plot:r(51048),style:r(84426),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:r(93612),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}},51048:function(e,t,r){\"use strict\";var n=r(39898),i=r(27669),a=r(67961),o=r(91424),s=r(71828),l=r(87678),u=r(81696),c=r(29854),f=r(36914),h=r(84857),p=r(87558),d=r(20083),v=r(22882),g=r(4536);function m(e,t,r){var n=e.getPointAtLength(t),i=e.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function y(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]);return[e[0]/t,e[1]/t]}function x(e,t){var r=Math.abs(e[0]*t[0]+e[1]*t[1]);return Math.sqrt(1-r*r)/r}e.exports=function(e,t,r,b){var _=t.xaxis,w=t.yaxis;s.makeTraceGroups(b,r,\"contour\").each((function(r){var b=n.select(this),k=r[0],T=k.trace,M=T._carpetTrace=v(e,T),A=e.calcdata[M.index][0];if(M.visible&&\"legendonly\"!==M.visible){var S=k.a,E=k.b,C=T.contours,L=p(C,t,k),P=\"constraint\"===C.type,O=C._operation,I=P?\"=\"===O?\"lines\":\"fill\":C.coloring,D=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(L);var z=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);u(L,z,R);var F,B,N,j,U=L;\"constraint\"===C.type&&(U=h(L,O)),function(e,t){var r,n,i,a,o,s,l,u,c;for(r=0;r<e.length;r++){for(o=(a=e[r]).pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(c=a.edgepaths[n],l=[],i=0;i<c.length;i++)l[i]=t(c[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(c=a.paths[n],u=[],i=0;i<c.length;i++)u[i]=t(c[i]);s.push(u)}}}(L,q);var V=[];for(j=A.clipsegments.length-1;j>=0;j--)F=A.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var H=\"M\"+V.join(\"L\")+\"Z\";!function(e,t,r,n,o,l){var u,c,f,h,p=s.ensureSingle(e,\"g\",\"contourbg\").selectAll(\"path\").data(\"fill\"!==l||o?[]:[0]);p.enter().append(\"path\"),p.exit().remove();var d=[];for(h=0;h<t.length;h++)u=t[h],c=i([],u.x,r.c2p),f=i([],u.y,n.c2p),d.push(a(c,f,u.bicubic));p.attr(\"d\",\"M\"+d.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}(b,A.clipsegments,_,w,P,I),function(e,t,r,i,a,l,u,c,f,h,p){var v=\"fill\"===h;v&&d(a,e.contours);var m=s.ensureSingle(t,\"g\",\"contourfill\").selectAll(\"path\").data(v?a:[]);m.enter().append(\"path\"),m.exit().remove(),m.each((function(e){var t=(e.prefixBoundary?p:\"\")+function(e,t,r,n,i,a,l,u){var c,f,h,p,d,v,m,y=\"\",x=t.edgepaths.map((function(e,t){return t})),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function k(e){return Math.abs(e[1]-r[0][1])<w}function T(e){return Math.abs(e[1]-r[2][1])<w}function M(e){return Math.abs(e[0]-r[0][0])<_}function A(e){return Math.abs(e[0]-r[2][0])<_}function S(e,t){var r,n,o,s,c=\"\";for(k(e)&&!A(e)||T(e)&&!M(e)?(s=i.aaxis,o=g(i,a,[e[0],t[0]],.5*(e[1]+t[1]))):(s=i.baxis,o=g(i,a,.5*(e[0]+t[0]),[e[1],t[1]])),r=1;r<o.length;r++)for(c+=s.smoothing?\"C\":\"L\",n=0;n<o[r].length;n++){var f=o[r][n];c+=[l.c2p(f[0]),u.c2p(f[1])]+\" \"}return c}for(c=0,f=null;x.length;){var E=t.edgepaths[c][0];for(f&&(y+=S(f,E)),m=o.smoothopen(t.edgepaths[c].map(n),t.smoothing),y+=b?m:m.replace(/^M/,\"L\"),x.splice(x.indexOf(c),1),f=t.edgepaths[c][t.edgepaths[c].length-1],d=-1,p=0;p<4;p++){if(!f){s.log(\"Missing end?\",c,t);break}for(k(f)&&!A(f)?h=r[1]:M(f)?h=r[0]:T(f)?h=r[3]:A(f)&&(h=r[2]),v=0;v<t.edgepaths.length;v++){var C=t.edgepaths[v][0];Math.abs(f[0]-h[0])<_?Math.abs(f[0]-C[0])<_&&(C[1]-f[1])*(h[1]-C[1])>=0&&(h=C,d=v):Math.abs(f[1]-h[1])<w?Math.abs(f[1]-C[1])<w&&(C[0]-f[0])*(h[0]-C[0])>=0&&(h=C,d=v):s.log(\"endpt to newendpt is not vert. or horz.\",f,h,C)}if(d>=0)break;y+=S(f,h),f=h}if(d===t.edgepaths.length){s.log(\"unclosed perimeter path\");break}c=d,(b=-1===x.indexOf(c))&&(c=x[0],y+=S(f,h)+\"Z\",f=null)}for(c=0;c<t.paths.length;c++)y+=o.smoothclosed(t.paths[c].map(n),t.smoothing);return y}(0,e,l,u,c,f,r,i);t?n.select(this).attr(\"d\",t).style(\"stroke\",\"none\"):n.select(this).remove()}))}(T,b,_,w,U,D,q,M,A,I,H),function(e,t,r,i,a,l,u){var h=r._context.staticPlot,p=s.ensureSingle(e,\"g\",\"contourlines\"),d=!1!==a.showlines,v=a.showlabels,g=d&&v,b=c.createLines(p,d||v,t,h),_=c.createLineClip(p,g,r,i.trace.uid),w=e.selectAll(\"g.contourlabels\").data(v?[0]:[]);if(w.exit().remove(),w.enter().append(\"g\").classed(\"contourlabels\",!0),v){var k=l.xaxis,T=l.yaxis,M=k._length,A=T._length,S=[[[0,0],[M,0],[M,A],[0,A]]],E=[];s.clearLocationCache();var C=c.labelFormatter(r,i),L=o.tester.append(\"text\").attr(\"data-notex\",1).call(o.font,a.labelfont),P={left:0,right:M,center:M/2,top:0,bottom:A,middle:A/2},O=Math.sqrt(M*M+A*A),I=f.LABELDISTANCE*O/Math.max(1,t.length/f.LABELINCREASE);b.each((function(e){var t=c.calcTextOpts(e.level,C,L,r);n.select(this).selectAll(\"path\").each((function(r){var n=this,i=s.getVisibleSegment(n,P,t.height/2);if(i&&(function(e,t,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)t===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(o){var l=i.a[0],u=i.a[i.a.length-1],c=i.b[0],f=i.b[i.b.length-1],h=m(e,0,1),p=m(e,n.total,n.total-1),d=g(o[0],h),v=n.total-g(o[o.length-1],p);n.min<d&&(n.min=d),n.max>v&&(n.max=v),n.len=n.max-n.min}function g(e,t){var r,n=0,o=.1;return(Math.abs(e[0]-l)<o||Math.abs(e[0]-u)<o)&&(r=y(i.dxydb_rough(e[0],e[1],o)),n=Math.max(n,a*x(t,r)/2)),(Math.abs(e[1]-c)<o||Math.abs(e[1]-f)<o)&&(r=y(i.dxyda_rough(e[0],e[1],o)),n=Math.max(n,a*x(t,r)/2)),n}}(n,r,e,i,u,t.height),!(i.len<(t.width+t.height)*f.LABELMIN)))for(var a=Math.min(Math.ceil(i.len/I),f.LABELMAX),o=0;o<a;o++){var l=c.findBestTextLocation(n,i,t,E,P);if(!l)break;c.addLabelData(l,t,E,S)}}))})),L.remove(),c.drawLabels(w,E,r,_,g?S:null)}v&&!d&&b.remove()}(b,L,e,k,C,t,M),o.setClipUrl(b,M._clipPathId,e)}function q(e){var t=M.ab2xy(e[0],e[1],!0);return[_.c2p(t[0]),w.c2p(t[1])]}}))}},64096:function(e,t,r){\"use strict\";var n=r(50693),i=r(5386).fF,a=r(9012),o=r(99181),s=r(1426).extendFlat;e.exports=s({lon:o.lon,lat:o.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:o.text,hovertext:o.hovertext,hoverinfo:s({},a.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:i(),showlegend:s({},a.showlegend,{dflt:!1})},n(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},85070:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828).isArrayOrTypedArray,a=r(50606).BADNUM,o=r(78803),s=r(71828)._;e.exports=function(e,t){for(var r=t._length,l=new Array(r),u=t.z,c=i(u)&&u.length,f=0;f<r;f++){var h=l[f]={},p=t.lon[f],d=t.lat[f];if(h.lonlat=n(p)&&n(d)?[+p,+d]:[a,a],c){var v=u[f];h.z=n(v)?v:a}}return o(e,t,{vals:c?u:[0,1],containerStr:\"\",cLetter:\"z\"}),r&&(l[0].t={labels:{lat:s(e,\"lat:\")+\" \",lon:s(e,\"lon:\")+\" \"}}),l}},52414:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828),a=r(7901),o=r(21081),s=r(50606).BADNUM,l=r(18214).makeBlank;e.exports=function(e){var t=e[0].trace,r=!0===t.visible&&0!==t._length,u=t._opts={heatmap:{layout:{visibility:\"none\"},paint:{}},geojson:l()};if(!r)return u;var c,f=[],h=t.z,p=t.radius,d=i.isArrayOrTypedArray(h)&&h.length,v=i.isArrayOrTypedArray(p);for(c=0;c<e.length;c++){var g=e[c],m=g.lonlat;if(m[0]!==s){var y={};if(d){var x=g.z;y.z=x!==s?x:0}v&&(y.r=n(p[c])&&p[c]>0?+p[c]:0),f.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:m},properties:y})}}var b=o.extractOpts(t),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],k=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(c=1;c<_.length;c++)k.push(_[c][0],_[c][1]);var T=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return i.extendFlat(u.heatmap.paint,{\"heatmap-weight\":d?T:1/(b.max-b.min),\"heatmap-color\":k,\"heatmap-radius\":v?{type:\"identity\",property:\"r\"}:t.radius,\"heatmap-opacity\":t.opacity}),u.geojson={type:\"FeatureCollection\",features:f},u.heatmap.layout.visibility=\"visible\",u}},79429:function(e,t,r){\"use strict\";var n=r(71828),i=r(1586),a=r(64096);e.exports=function(e,t,r,o){function s(r,i){return n.coerce(e,t,a,r,i)}var l=s(\"lon\")||[],u=s(\"lat\")||[],c=Math.min(l.length,u.length);c?(t._length=c,s(\"z\"),s(\"radius\"),s(\"below\"),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),i(e,t,o,s,{prefix:\"\",cLetter:\"z\"})):t.visible=!1}},62474:function(e){\"use strict\";e.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e.z=t.z,e}},84684:function(e,t,r){\"use strict\";var n=r(89298),i=r(28178).hoverPoints,a=r(28178).getExtraText;e.exports=function(e,t,r){var o=i(e,t,r);if(o){var s=o[0],l=s.cd,u=l[0].trace,c=l[s.index];if(delete s.color,\"z\"in c){var f=s.subplot.mockAxis;s.z=c.z,s.zLabel=n.tickText(f,f.c2l(c.z),\"hover\").text}return s.extraText=a(u,c,l[0].t.labels),[s]}}},93814:function(e,t,r){\"use strict\";e.exports={attributes:r(64096),supplyDefaults:r(79429),colorbar:r(61243),formatLabels:r(15636),calc:r(85070),plot:r(7336),hoverPoints:r(84684),eventData:r(62474),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if(\"symbol\"===i.type&&\"string\"==typeof a&&-1===a.indexOf(\"plotly-\"))return a}},moduleType:\"trace\",name:\"densitymapbox\",basePlotModule:r(50101),categories:[\"mapbox\",\"gl\",\"showLegend\"],meta:{hr_name:\"density_mapbox\"}}},7336:function(e,t,r){\"use strict\";var n=r(52414),i=r(77734).traceLayerPrefix;function a(e,t){this.type=\"densitymapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",i+t+\"-heatmap\"]],this.below=null}var o=a.prototype;o.update=function(e){var t=this.subplot,r=this.layerList,i=n(e),a=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(i.geojson),a!==this.below&&(this._removeLayers(),this._addLayers(i,a),this.below=a);for(var o=0;o<r.length;o++){var s=r[o],l=s[0],u=s[1],c=i[l];t.setOptions(u,\"setLayoutProperty\",c.layout),\"visible\"===c.layout.visibility&&t.setOptions(u,\"setPaintProperty\",c.paint)}},o._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}},o._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])},o.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},e.exports=function(e,t){var r=t[0].trace,i=new a(e,r.uid),o=i.sourceId,s=n(t),l=i.below=e.belowLookup[\"trace-\"+r.uid];return e.map.addSource(o,{type:\"geojson\",data:s.geojson}),i._addLayers(s,l),i}},49789:function(e,t,r){\"use strict\";var n=r(71828);e.exports=function(e,t){for(var r=0;r<e.length;r++)e[r].i=r;n.mergeArray(t.text,e,\"tx\"),n.mergeArray(t.hovertext,e,\"htx\");var i=t.marker;if(i){n.mergeArray(i.opacity,e,\"mo\"),n.mergeArray(i.color,e,\"mc\");var a=i.line;a&&(n.mergeArray(a.color,e,\"mlc\"),n.mergeArrayCastPositive(a.width,e,\"mlw\"))}}},1285:function(e,t,r){\"use strict\";var n,i=r(1486),a=r(82196).line,o=r(9012),s=r(12663).axisHoverFormat,l=r(5386).fF,u=r(5386).si,c=r(18517),f=r(1426).extendFlat,h=r(7901);e.exports={x:i.x,x0:i.x0,dx:i.dx,y:i.y,y0:i.y0,dy:i.dy,xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:s(\"x\"),yhoverformat:s(\"y\"),hovertext:i.hovertext,hovertemplate:l({},{keys:c.eventDataKeys}),hoverinfo:f({},o.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"percent initial\",\"percent previous\",\"percent total\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"percent initial\",\"percent previous\",\"percent total\",\"value\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:u({editType:\"plot\"},{keys:c.eventDataKeys.concat([\"label\",\"value\"])}),text:i.text,textposition:i.textposition,insidetextanchor:f({},i.insidetextanchor,{dflt:\"middle\"}),textangle:f({},i.textangle,{dflt:0}),textfont:i.textfont,insidetextfont:i.insidetextfont,outsidetextfont:i.outsidetextfont,constraintext:i.constraintext,cliponaxis:i.cliponaxis,orientation:f({},i.orientation,{}),offset:f({},i.offset,{arrayOk:!1}),width:f({},i.width,{arrayOk:!1}),marker:(n=f({},i.marker),delete n.pattern,n),connector:{fillcolor:{valType:\"color\",editType:\"style\"},line:{color:f({},a.color,{dflt:h.defaultLine}),width:f({},a.width,{dflt:0,editType:\"plot\"}),dash:a.dash,editType:\"style\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:i.offsetgroup,alignmentgroup:i.alignmentgroup}},9532:function(e,t,r){\"use strict\";var n=r(89298),i=r(42973),a=r(49789),o=r(66279),s=r(50606).BADNUM;function l(e){return e===s?0:e}e.exports=function(e,t){var r,u,c,f,h,p,d,v,g=n.getFromId(e,t.xaxis||\"x\"),m=n.getFromId(e,t.yaxis||\"y\");\"h\"===t.orientation?(r=g.makeCalcdata(t,\"x\"),c=m.makeCalcdata(t,\"y\"),f=i(t,m,\"y\",c),h=!!t.yperiodalignment,p=\"y\"):(r=m.makeCalcdata(t,\"y\"),c=g.makeCalcdata(t,\"x\"),f=i(t,g,\"x\",c),h=!!t.xperiodalignment,p=\"x\"),u=f.vals;var y,x=Math.min(u.length,r.length),b=new Array(x);for(t._base=[],d=0;d<x;d++){r[d]<0&&(r[d]=s);var _=!1;r[d]!==s&&d+1<x&&r[d+1]!==s&&(_=!0),v=b[d]={p:u[d],s:r[d],cNext:_},t._base[d]=-.5*v.s,h&&(b[d].orig_p=c[d],b[d][p+\"End\"]=f.ends[d],b[d][p+\"Start\"]=f.starts[d]),t.ids&&(v.id=String(t.ids[d])),0===d&&(b[0].vTotal=0),b[0].vTotal+=l(v.s),v.begR=l(v.s)/l(b[0].s)}for(d=0;d<x;d++)(v=b[d]).s!==s&&(v.sumR=v.s/b[0].vTotal,v.difR=void 0!==y?v.s/y:1,y=v.s);return a(b,t),o(b,t),b}},18517:function(e){\"use strict\";e.exports={eventDataKeys:[\"percentInitial\",\"percentPrevious\",\"percentTotal\"]}},8984:function(e,t,r){\"use strict\";var n=r(11661).setGroupPositions;e.exports=function(e,t){var r,i,a=e._fullLayout,o=e._fullData,s=e.calcdata,l=t.xaxis,u=t.yaxis,c=[],f=[],h=[];for(i=0;i<o.length;i++){var p=o[i],d=\"h\"===p.orientation;!0===p.visible&&p.xaxis===l._id&&p.yaxis===u._id&&\"funnel\"===p.type&&(r=s[i],d?h.push(r):f.push(r),c.push(r))}var v={mode:a.funnelmode,norm:a.funnelnorm,gap:a.funnelgap,groupgap:a.funnelgroupgap};for(n(e,l,u,f,v),n(e,u,l,h,v),i=0;i<c.length;i++){r=c[i];for(var g=0;g<r.length;g++)g+1<r.length&&(r[g].nextP0=r[g+1].p0,r[g].nextS0=r[g+1].s0,r[g].nextP1=r[g+1].p1,r[g].nextS1=r[g+1].s1)}}},26199:function(e,t,r){\"use strict\";var n=r(71828),i=r(26125),a=r(90769).handleText,o=r(67513),s=r(73927),l=r(1285),u=r(7901);e.exports={supplyDefaults:function(e,t,r,i){function c(r,i){return n.coerce(e,t,l,r,i)}if(o(e,t,i,c)){s(e,t,i,c),c(\"xhoverformat\"),c(\"yhoverformat\"),c(\"orientation\",t.y&&!t.x?\"v\":\"h\"),c(\"offset\"),c(\"width\");var f=c(\"text\");c(\"hovertext\"),c(\"hovertemplate\");var h=c(\"textposition\");a(e,t,i,c,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),\"none\"===t.textposition||t.texttemplate||c(\"textinfo\",Array.isArray(f)?\"text+value\":\"value\");var p=c(\"marker.color\",r);c(\"marker.line.color\",u.defaultLine),c(\"marker.line.width\"),c(\"connector.visible\")&&(c(\"connector.fillcolor\",function(e){var t=n.isArrayOrTypedArray(e)?\"#000\":e;return u.addOpacity(t,.5*u.opacity(t))}(p)),c(\"connector.line.width\")&&(c(\"connector.line.color\"),c(\"connector.line.dash\")))}else t.visible=!1},crossTraceDefaults:function(e,t){var r,a;function o(e){return n.coerce(a._input,a,l,e)}if(\"group\"===t.funnelmode)for(var s=0;s<e.length;s++)r=(a=e[s])._input,i(r,a,t,o)}}},34598:function(e){\"use strict\";e.exports=function(e,t){return e.x=\"xVal\"in t?t.xVal:t.x,e.y=\"yVal\"in t?t.yVal:t.y,\"percentInitial\"in t&&(e.percentInitial=t.percentInitial),\"percentPrevious\"in t&&(e.percentPrevious=t.percentPrevious),\"percentTotal\"in t&&(e.percentTotal=t.percentTotal),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e}},63341:function(e,t,r){\"use strict\";var n=r(7901).opacity,i=r(95423).hoverOnBars,a=r(71828).formatPercent;e.exports=function(e,t,r,o,s){var l=i(e,t,r,o,s);if(l){var u=l.cd,c=u[0].trace,f=\"h\"===c.orientation,h=u[l.index];l[(f?\"x\":\"y\")+\"LabelVal\"]=h.s,l.percentInitial=h.begR,l.percentInitialLabel=a(h.begR,1),l.percentPrevious=h.difR,l.percentPreviousLabel=a(h.difR,1),l.percentTotal=h.sumR,l.percentTotalLabel=a(h.sumR,1);var p=h.hi||c.hoverinfo,d=[];if(p&&\"none\"!==p&&\"skip\"!==p){var v=\"all\"===p,g=p.split(\"+\"),m=function(e){return v||-1!==g.indexOf(e)};m(\"percent initial\")&&d.push(l.percentInitialLabel+\" of initial\"),m(\"percent previous\")&&d.push(l.percentPreviousLabel+\" of previous\"),m(\"percent total\")&&d.push(l.percentTotalLabel+\" of total\")}return l.extraText=d.join(\"<br>\"),l.color=function(e,t){var r=e.marker,i=t.mc||r.color,a=t.mlc||r.line.color,o=t.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(c,h),[l]}}},51759:function(e,t,r){\"use strict\";e.exports={attributes:r(1285),layoutAttributes:r(10440),supplyDefaults:r(26199).supplyDefaults,crossTraceDefaults:r(26199).crossTraceDefaults,supplyLayoutDefaults:r(93138),calc:r(9532),crossTraceCalc:r(8984),plot:r(80461),style:r(68266).style,hoverPoints:r(63341),eventData:r(34598),selectPoints:r(81974),moduleType:\"trace\",name:\"funnel\",basePlotModule:r(93612),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},10440:function(e){\"use strict\";e.exports={funnelmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},funnelgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},funnelgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},93138:function(e,t,r){\"use strict\";var n=r(71828),i=r(10440);e.exports=function(e,t,r){var a=!1;function o(r,a){return n.coerce(e,t,i,r,a)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&\"funnel\"===l.type){a=!0;break}}a&&(o(\"funnelmode\"),o(\"funnelgap\",.2),o(\"funnelgroupgap\"))}},80461:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(91424),o=r(50606).BADNUM,s=r(17295),l=r(72597).clearMinTextSize;function u(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),i[3]=o.c2p(e.nextS1,!0),a[3]=s.c2p(e.nextP1,!0),n?[i,a]:[a,i]}e.exports=function(e,t,r,c){var f=e._fullLayout;l(\"funnel\",f),function(e,t,r,s){var l=t.xaxis,c=t.yaxis;i.makeTraceGroups(s,r,\"trace bars\").each((function(r){var s=n.select(this),f=r[0].trace,h=i.ensureSingle(s,\"g\",\"regions\");if(f.connector&&f.connector.visible){var p=\"h\"===f.orientation,d=h.selectAll(\"g.region\").data(i.identity);d.enter().append(\"g\").classed(\"region\",!0),d.exit().remove();var v=d.size();d.each((function(r,s){if(s===v-1||r.cNext){var f=u(r,l,c,p),h=f[0],d=f[1],g=\"\";h[0]!==o&&d[0]!==o&&h[1]!==o&&d[1]!==o&&h[2]!==o&&d[2]!==o&&h[3]!==o&&d[3]!==o&&(g+=p?\"M\"+h[0]+\",\"+d[1]+\"L\"+h[2]+\",\"+d[2]+\"H\"+h[3]+\"L\"+h[1]+\",\"+d[1]+\"Z\":\"M\"+h[1]+\",\"+d[1]+\"L\"+h[2]+\",\"+d[3]+\"V\"+d[2]+\"L\"+h[1]+\",\"+d[0]+\"Z\"),\"\"===g&&(g=\"M0,0Z\"),i.ensureSingle(n.select(this),\"path\").attr(\"d\",g).call(a.setClipUrl,t.layerClipId,e)}}))}else h.remove()}))}(e,t,r,c),function(e,t,r,o){var s=t.xaxis,l=t.yaxis;i.makeTraceGroups(o,r,\"trace bars\").each((function(r){var o=n.select(this),c=r[0].trace,f=i.ensureSingle(o,\"g\",\"lines\");if(c.connector&&c.connector.visible&&c.connector.line.width){var h=\"h\"===c.orientation,p=f.selectAll(\"g.line\").data(i.identity);p.enter().append(\"g\").classed(\"line\",!0),p.exit().remove();var d=p.size();p.each((function(r,o){if(o===d-1||r.cNext){var c=u(r,s,l,h),f=c[0],p=c[1],v=\"\";void 0!==f[3]&&void 0!==p[3]&&(h?(v+=\"M\"+f[0]+\",\"+p[1]+\"L\"+f[2]+\",\"+p[2],v+=\"M\"+f[1]+\",\"+p[1]+\"L\"+f[3]+\",\"+p[2]):(v+=\"M\"+f[1]+\",\"+p[1]+\"L\"+f[2]+\",\"+p[3],v+=\"M\"+f[1]+\",\"+p[0]+\"L\"+f[2]+\",\"+p[2])),\"\"===v&&(v=\"M0,0Z\"),i.ensureSingle(n.select(this),\"path\").attr(\"d\",v).call(a.setClipUrl,t.layerClipId,e)}}))}else f.remove()}))}(e,t,r,c),s.plot(e,t,r,c,{mode:f.funnelmode,norm:f.funnelmode,gap:f.funnelgap,groupgap:f.funnelgroupgap})}},68266:function(e,t,r){\"use strict\";var n=r(39898),i=r(91424),a=r(7901),o=r(37822).DESELECTDIM,s=r(16688),l=r(72597).resizeText,u=s.styleTextPoints;e.exports={style:function(e,t,r){var s=r||n.select(e).selectAll(\"g.funnellayer\").selectAll(\"g.trace\");l(e,s,\"funnel\"),s.style(\"opacity\",(function(e){return e[0].trace.opacity})),s.each((function(t){var r=n.select(this),s=t[0].trace;r.selectAll(\".point > path\").each((function(e){if(!e.isBlank){var t=s.marker;n.select(this).call(a.fill,e.mc||t.color).call(a.stroke,e.mlc||t.line.color).call(i.dashLine,t.line.dash,e.mlw||t.line.width).style(\"opacity\",s.selectedpoints&&!e.selected?o:1)}})),u(r,s,e),r.selectAll(\".regions\").each((function(){n.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(\".lines\").each((function(){var e=s.connector.line;i.lineGroupStyle(n.select(this).selectAll(\"path\"),e.width,e.color,e.dash)}))}))}}},86807:function(e,t,r){\"use strict\";var n=r(34e3),i=r(9012),a=r(27670).Y,o=r(5386).fF,s=r(5386).si,l=r(1426).extendFlat;e.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:n.marker.pattern,editType:\"calc\"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:s({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hoverinfo:l({},i.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:o({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),textposition:l({},n.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:a({name:\"funnelarea\",trace:!0,editType:\"calc\"}),aspectratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},baseratio:{valType:\"number\",min:0,max:1,dflt:.333,editType:\"plot\"}}},6452:function(e,t,r){\"use strict\";var n=r(74875);t.name=\"funnelarea\",t.plot=function(e,r,i,a){n.plotBasePlot(t.name,e,r,i,a)},t.clean=function(e,r,i,a){n.cleanBasePlot(t.name,e,r,i,a)}},89574:function(e,t,r){\"use strict\";var n=r(32354);e.exports={calc:function(e,t){return n.calc(e,t)},crossTraceCalc:function(e){n.crossTraceCalc(e,{type:\"funnelarea\"})}}},86282:function(e,t,r){\"use strict\";var n=r(71828),i=r(86807),a=r(27670).c,o=r(90769).handleText,s=r(37434).handleLabelsAndValues,l=r(37434).handleMarkerDefaults;e.exports=function(e,t,r,u){function c(r,a){return n.coerce(e,t,i,r,a)}var f=c(\"labels\"),h=c(\"values\"),p=s(f,h),d=p.len;if(t._hasLabels=p.hasLabels,t._hasValues=p.hasValues,!t._hasLabels&&t._hasValues&&(c(\"label0\"),c(\"dlabel\")),d){t._length=d,l(e,t,u,c),c(\"scalegroup\");var v,g=c(\"text\"),m=c(\"texttemplate\");if(m||(v=c(\"textinfo\",Array.isArray(g)?\"text+percent\":\"percent\")),c(\"hovertext\"),c(\"hovertemplate\"),m||v&&\"none\"!==v){var y=c(\"textposition\");o(e,t,u,c,y,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}a(t,u,c),c(\"title.text\")&&(c(\"title.position\"),n.coerceFont(c,\"title.font\",u.font)),c(\"aspectratio\"),c(\"baseratio\")}else t.visible=!1}},10421:function(e,t,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:r(6452),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:r(86807),layoutAttributes:r(80097),supplyDefaults:r(86282),supplyLayoutDefaults:r(57402),calc:r(89574).calc,crossTraceCalc:r(89574).crossTraceCalc,plot:r(79187),style:r(71858),styleOne:r(63463),meta:{}}},80097:function(e,t,r){\"use strict\";var n=r(92774).hiddenlabels;e.exports={hiddenlabels:n,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},57402:function(e,t,r){\"use strict\";var n=r(71828),i=r(80097);e.exports=function(e,t){function r(r,a){return n.coerce(e,t,i,r,a)}r(\"hiddenlabels\"),r(\"funnelareacolorway\",t.colorway),r(\"extendfunnelareacolors\")}},79187:function(e,t,r){\"use strict\";var n=r(39898),i=r(91424),a=r(71828),o=a.strScale,s=a.strTranslate,l=r(63893),u=r(17295).toMoveInsideBar,c=r(72597),f=c.recordMinTextSize,h=c.clearMinTextSize,p=r(53581),d=r(14575),v=d.attachFxHandlers,g=d.determineInsideTextFont,m=d.layoutAreas,y=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(e,t){return\"l\"+(t[0]-e[0])+\",\"+(t[1]-e[1])}e.exports=function(e,t){var r=e._context.staticPlot,c=e._fullLayout;h(\"funnelarea\",c),y(t,e),m(t,c._size),a.makeTraceGroups(c._funnelarealayer,t,\"trace\").each((function(t){var h=n.select(this),d=t[0],m=d.trace;!function(e){if(e.length){var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),u=t.vTotal,c=u,f=u*l/(1-l)/u,h=[];for(h.push(E()),o=e.length-1;o>-1;o--)if(!(s=e[o]).hidden){var p=s.v/c;f+=p,h.push(E())}var d=1/0,v=-1/0;for(o=0;o<h.length;o++)a=h[o],d=Math.min(d,a[1]),v=Math.max(v,a[1]);for(o=0;o<h.length;o++)h[o][1]-=(v+d)/2;var g=h[h.length-1][0],m=t.r,y=(v-d)/2,x=m/g,b=m/y*n;for(t.r=b*y,o=0;o<h.length;o++)h[o][0]*=x,h[o][1]*=b;var _=[-(a=h[0])[0],a[1]],w=[a[0],a[1]],k=0;for(o=e.length-1;o>-1;o--)if(!(s=e[o]).hidden){var T=h[k+=1][0],M=h[k][1];s.TL=[-T,M],s.TR=[T,M],s.BL=_,s.BR=w,s.pxmid=(A=s.TR,S=s.BR,[.5*(A[0]+S[0]),.5*(A[1]+S[1])]),_=s.TL,w=s.TR}}var A,S;function E(){var e,t={x:e=Math.sqrt(f),y:-e};return[t.x,t.y]}}(t),h.each((function(){var h=n.select(this).selectAll(\"g.slice\").data(t);h.enter().append(\"g\").classed(\"slice\",!0),h.exit().remove(),h.each((function(o,s){if(o.hidden)n.select(this).selectAll(\"path,g\").remove();else{o.pointNumber=o.i,o.curveNumber=m.index;var h=d.cx,y=d.cy,x=n.select(this),w=x.selectAll(\"path.surface\").data([o]);w.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),x.call(v,e,t);var k=\"M\"+(h+o.TR[0])+\",\"+(y+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+\"Z\";w.attr(\"d\",k),b(e,o,d);var T=p.castOption(m.textposition,o.pts),M=x.selectAll(\"g.slicetext\").data(o.text&&\"none\"!==T?[0]:[]);M.enter().append(\"g\").classed(\"slicetext\",!0),M.exit().remove(),M.each((function(){var r=a.ensureSingle(n.select(this),\"text\",\"\",(function(e){e.attr(\"data-notex\",1)})),p=a.ensureUniformFontSize(e,g(m,o,c.font));r.text(o.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(i.font,p).call(l.convertToTspans,e);var d,v,x,b=i.bBox(r.node()),_=Math.min(o.BL[1],o.BR[1])+y,w=Math.max(o.TL[1],o.TR[1])+y;v=Math.max(o.TL[0],o.BL[0])+h,x=Math.min(o.TR[0],o.BR[0])+h,(d=u(v,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"})).fontSize=p.size,f(m.type,d,c),t[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var y=n.select(this).selectAll(\"g.titletext\").data(m.title.text?[0]:[]);y.enter().append(\"g\").classed(\"titletext\",!0),y.exit().remove(),y.each((function(){var t=a.ensureSingle(n.select(this),\"text\",\"\",(function(e){e.attr(\"data-notex\",1)})),r=m.title.text;m._meta&&(r=a.templateString(r,m._meta)),t.text(r).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(i.font,m.title.font).call(l.convertToTspans,e);var u=x(d,c._size);t.attr(\"transform\",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},71858:function(e,t,r){\"use strict\";var n=r(39898),i=r(63463),a=r(72597).resizeText;e.exports=function(e){var t=e._fullLayout._funnelarealayer.selectAll(\".trace\");a(e,t,\"funnelarea\"),t.each((function(t){var r=t[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll(\"path.surface\").each((function(t){n.select(this).call(i,t,r,e)}))}))}},21606:function(e,t,r){\"use strict\";var n=r(82196),i=r(9012),a=r(41940),o=r(12663).axisHoverFormat,s=r(5386).fF,l=r(5386).si,u=r(50693),c=r(1426).extendFlat;e.exports=c({z:{valType:\"data_array\",editType:\"calc\"},x:c({},n.x,{impliedEdits:{xtype:\"array\"}}),x0:c({},n.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:c({},n.dx,{impliedEdits:{xtype:\"scaled\"}}),y:c({},n.y,{impliedEdits:{ytype:\"array\"}}),y0:c({},n.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:c({},n.dy,{impliedEdits:{ytype:\"scaled\"}}),xperiod:c({},n.xperiod,{impliedEdits:{xtype:\"scaled\"}}),yperiod:c({},n.yperiod,{impliedEdits:{ytype:\"scaled\"}}),xperiod0:c({},n.xperiod0,{impliedEdits:{xtype:\"scaled\"}}),yperiod0:c({},n.yperiod0,{impliedEdits:{ytype:\"scaled\"}}),xperiodalignment:c({},n.xperiodalignment,{impliedEdits:{xtype:\"scaled\"}}),yperiodalignment:c({},n.yperiodalignment,{impliedEdits:{ytype:\"scaled\"}}),text:{valType:\"data_array\",editType:\"calc\"},hovertext:{valType:\"data_array\",editType:\"calc\"},transpose:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xtype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},ytype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",\"best\",!1],dflt:!1,editType:\"calc\"},hoverongaps:{valType:\"boolean\",dflt:!0,editType:\"none\"},connectgaps:{valType:\"boolean\",editType:\"calc\"},xgap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},ygap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),zhoverformat:o(\"z\",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:\"plot\"},{keys:[\"x\",\"y\",\"z\",\"text\"]}),textfont:a({editType:\"plot\",autoSize:!0,autoColor:!0,colorEditType:\"style\"}),showlegend:c({},i.showlegend,{dflt:!1})},{transforms:void 0},u(\"\",{cLetter:\"z\",autoColorDflt:!1}))},90757:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828),a=r(89298),o=r(42973),s=r(17562),l=r(78803),u=r(68296),c=r(4742),f=r(824),h=r(43907),p=r(70769),d=r(50606).BADNUM;function v(e){for(var t=[],r=e.length,n=0;n<r;n++){var i=e[n];i!==d&&t.push(i)}return t}e.exports=function(e,t){var r,g,m,y,x,b,_,w,k,T,M,A=a.getFromId(e,t.xaxis||\"x\"),S=a.getFromId(e,t.yaxis||\"y\"),E=n.traceIs(t,\"contour\"),C=n.traceIs(t,\"histogram\"),L=n.traceIs(t,\"gl2d\"),P=E?\"best\":t.zsmooth;if(A._minDtick=0,S._minDtick=0,C)y=(M=s(e,t)).orig_x,r=M.x,g=M.x0,m=M.dx,w=M.orig_y,x=M.y,b=M.y0,_=M.dy,k=M.z;else{var O=t.z;i.isArray1D(O)?(u(t,A,S,\"x\",\"y\",[\"z\"]),r=t._x,x=t._y,O=t._z):(y=t.x?A.makeCalcdata(t,\"x\"):[],w=t.y?S.makeCalcdata(t,\"y\"):[],r=o(t,A,\"x\",y).vals,x=o(t,S,\"y\",w).vals,t._x=r,t._y=x),g=t.x0,m=t.dx,b=t.y0,_=t.dy,k=c(O,t,A,S)}function I(e){P=t._input.zsmooth=t.zsmooth=!1,i.warn('cannot use zsmooth: \"fast\": '+e)}function D(e){if(e.length>1){var t=(e[e.length-1]-e[0])/(e.length-1),r=Math.abs(t/100);for(T=0;T<e.length-1;T++)if(Math.abs(e[T+1]-e[T]-t)>r)return!1}return!0}(A.rangebreaks||S.rangebreaks)&&(k=function(e,t,r){for(var n=[],i=-1,a=0;a<r.length;a++)if(t[a]!==d){n[++i]=[];for(var o=0;o<r[a].length;o++)e[o]!==d&&n[i].push(r[a][o])}return n}(r,x,k),C||(r=v(r),x=v(x),t._x=r,t._y=x)),C||!E&&!t.connectgaps||(t._emptypoints=h(k),f(k,t._emptypoints)),t._islinear=!1,\"log\"===A.type||\"log\"===S.type?\"fast\"===P&&I(\"log axis found\"):D(r)?D(x)?t._islinear=!0:\"fast\"===P&&I(\"y scale is not linear\"):\"fast\"===P&&I(\"x scale is not linear\");var z=i.maxRowLength(k),R=\"scaled\"===t.xtype?\"\":r,F=p(t,R,g,m,z,A),B=\"scaled\"===t.ytype?\"\":x,N=p(t,B,b,_,k.length,S);L||(t._extremes[A._id]=a.findExtremes(A,F),t._extremes[S._id]=a.findExtremes(S,N));var j={x:F,y:N,z:k,text:t._text||t.text,hovertext:t._hovertext||t.hovertext};if(t.xperiodalignment&&y&&(j.orig_x=y),t.yperiodalignment&&w&&(j.orig_y=w),R&&R.length===F.length-1&&(j.xCenter=R),B&&B.length===N.length-1&&(j.yCenter=B),C&&(j.xRanges=M.xRanges,j.yRanges=M.yRanges,j.pts=M.pts),E||l(e,t,{vals:k,cLetter:\"z\"}),E&&t.contours&&\"heatmap\"===t.contours.coloring){var U={type:\"contour\"===t.type?\"heatmap\":\"histogram2d\",xcalendar:t.xcalendar,ycalendar:t.ycalendar};j.xfill=p(U,R,g,m,z,A),j.yfill=p(U,B,b,_,k.length,S)}return[j]}},4742:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828),a=r(50606).BADNUM;e.exports=function(e,t,r,o){var s,l,u,c,f,h;function p(e){if(n(e))return+e}if(t&&t.transpose){for(s=0,f=0;f<e.length;f++)s=Math.max(s,e[f].length);if(0===s)return!1;u=function(e){return e.length},c=function(e,t,r){return(e[r]||[])[t]}}else s=e.length,u=function(e,t){return e[t].length},c=function(e,t,r){return(e[t]||[])[r]};var d=function(e,t,r){return t===a||r===a?a:c(e,t,r)};function v(e){if(t&&\"carpet\"!==t.type&&\"contourcarpet\"!==t.type&&e&&\"category\"===e.type&&t[\"_\"+e._id.charAt(0)].length){var r=e._id.charAt(0),n={},o=t[\"_\"+r+\"CategoryMap\"]||t[r];for(f=0;f<o.length;f++)n[o[f]]=f;return function(t){var r=n[e._categories[t]];return r+1?r:a}}return i.identity}var g=v(r),m=v(o);o&&\"category\"===o.type&&(s=o._categories.length);var y=new Array(s);for(f=0;f<s;f++)for(l=r&&\"category\"===r.type?r._categories.length:u(e,f),y[f]=new Array(l),h=0;h<l;h++)y[f][h]=p(d(e,m(f),g(h)));return y}},61243:function(e){\"use strict\";e.exports={min:\"zmin\",max:\"zmax\"}},68296:function(e,t,r){\"use strict\";var n=r(71828),i=r(50606).BADNUM,a=r(42973);e.exports=function(e,t,r,o,s,l){var u=e._length,c=t.makeCalcdata(e,o),f=r.makeCalcdata(e,s);c=a(e,t,o,c).vals,f=a(e,r,s,f).vals;var h,p,d,v,g=e.text,m=void 0!==g&&n.isArray1D(g),y=e.hovertext,x=void 0!==y&&n.isArray1D(y),b=n.distinctVals(c),_=b.vals,w=n.distinctVals(f),k=w.vals,T=[],M=k.length,A=_.length;for(h=0;h<l.length;h++)T[h]=n.init2dArray(M,A);m&&(d=n.init2dArray(M,A)),x&&(v=n.init2dArray(M,A));var S=n.init2dArray(M,A);for(h=0;h<u;h++)if(c[h]!==i&&f[h]!==i){var E=n.findBin(c[h]+b.minDiff/2,_),C=n.findBin(f[h]+w.minDiff/2,k);for(p=0;p<l.length;p++){var L=e[l[p]];T[p][C][E]=L[h],S[C][E]=h}m&&(d[C][E]=g[h]),x&&(v[C][E]=y[h])}for(e[\"_\"+o]=_,e[\"_\"+s]=k,p=0;p<l.length;p++)e[\"_\"+l[p]]=T[p];m&&(e._text=d),x&&(e._hovertext=v),t&&\"category\"===t.type&&(e[\"_\"+o+\"CategoryMap\"]=_.map((function(e){return t._categories[e]}))),r&&\"category\"===r.type&&(e[\"_\"+s+\"CategoryMap\"]=k.map((function(e){return r._categories[e]}))),e._after2before=S}},76382:function(e,t,r){\"use strict\";var n=r(71828),i=r(67684),a=r(58623),o=r(73927),s=r(49901),l=r(1586),u=r(21606);e.exports=function(e,t,r,c){function f(r,i){return n.coerce(e,t,u,r,i)}i(e,t,f,c)?(o(e,t,c,f),f(\"xhoverformat\"),f(\"yhoverformat\"),f(\"text\"),f(\"hovertext\"),f(\"hovertemplate\"),a(f,c),s(e,t,f,c),f(\"hoverongaps\"),f(\"connectgaps\",n.isArray1D(t.z)&&!1!==t.zsmooth),l(e,t,c,f,{prefix:\"\",cLetter:\"z\"})):t.visible=!1}},43907:function(e,t,r){\"use strict\";var n=r(71828).maxRowLength;e.exports=function(e){var t,r,i,a,o,s,l,u,c=[],f={},h=[],p=e[0],d=[],v=[0,0,0],g=n(e);for(r=0;r<e.length;r++)for(t=d,d=p,p=e[r+1]||[],i=0;i<g;i++)void 0===d[i]&&((s=(void 0!==d[i-1]?1:0)+(void 0!==d[i+1]?1:0)+(void 0!==t[i]?1:0)+(void 0!==p[i]?1:0))?(0===r&&s++,0===i&&s++,r===e.length-1&&s++,i===d.length-1&&s++,s<4&&(f[[r,i]]=[r,i,s]),c.push([r,i,s])):h.push([r,i]));for(;h.length;){for(l={},u=!1,o=h.length-1;o>=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||v)[2]+(f[[r+1,i]]||v)[2]+(f[[r,i-1]]||v)[2]+(f[[r,i+1]]||v)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),u=!0);if(!u)throw\"findEmpties iterated with no new neighbors\";for(a in l)f[a]=l[a],c.push(l[a])}return c.sort((function(e,t){return t[2]-e[2]}))}},46248:function(e,t,r){\"use strict\";var n=r(30211),i=r(71828),a=r(89298),o=r(21081).extractOpts;e.exports=function(e,t,r,s,l){l||(l={});var u,c,f,h,p=l.isContour,d=e.cd[0],v=d.trace,g=e.xa,m=e.ya,y=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,k=d.zmask,T=v.zhoverformat,M=y,A=x;if(!1!==e.index){try{f=Math.round(e.index[1]),h=Math.round(e.index[0])}catch(t){return void i.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",e.index)}if(f<0||f>=b[0].length||h<0||h>b.length)return}else{if(n.inbox(t-y[0],t-y[y.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(p){var S;for(M=[2*y[0]-y[1]],S=1;S<y.length;S++)M.push((y[S]+y[S-1])/2);for(M.push([2*y[y.length-1]-y[y.length-2]]),A=[2*x[0]-x[1]],S=1;S<x.length;S++)A.push((x[S]+x[S-1])/2);A.push([2*x[x.length-1]-x[x.length-2]])}f=Math.max(0,Math.min(M.length-2,i.findBin(t,M))),h=Math.max(0,Math.min(A.length-2,i.findBin(r,A)))}var E,C,L=g.c2p(y[f]),P=g.c2p(y[f+1]),O=m.c2p(x[h]),I=m.c2p(x[h+1]);p?(E=d.orig_x||y,C=d.orig_y||x,P=L,u=E[f],I=O,c=C[h]):(E=d.orig_x||_||y,C=d.orig_y||w||x,u=_?E[f]:(E[f]+E[f+1])/2,c=w?C[h]:(C[h]+C[h+1])/2,g&&\"category\"===g.type&&(u=y[f]),m&&\"category\"===m.type&&(c=x[h]),v.zsmooth&&(L=P=g.c2p(u),O=I=m.c2p(c)));var D=b[h][f];if(k&&!k[h][f]&&(D=void 0),void 0!==D||v.hoverongaps){var z;Array.isArray(d.hovertext)&&Array.isArray(d.hovertext[h])?z=d.hovertext[h][f]:Array.isArray(d.text)&&Array.isArray(d.text[h])&&(z=d.text[h][f]);var R=o(v),F={type:\"linear\",range:[R.min,R.max],hoverformat:T,_separators:g._separators,_numFormat:g._numFormat},B=a.tickText(F,D,\"hover\").text;return[i.extendFlat(e,{index:v._after2before?v._after2before[h][f]:[h,f],distance:e.maxHoverDistance,spikeDistance:e.maxSpikeDistance,x0:L,x1:P,y0:O,y1:I,xLabelVal:u,yLabelVal:c,zLabelVal:D,zLabel:B,text:z})]}}},92165:function(e,t,r){\"use strict\";e.exports={attributes:r(21606),supplyDefaults:r(76382),calc:r(90757),plot:r(50347),colorbar:r(61243),style:r(70035),hoverPoints:r(46248),moduleType:\"trace\",name:\"heatmap\",basePlotModule:r(93612),categories:[\"cartesian\",\"svg\",\"2dMap\",\"showLegend\"],meta:{}}},824:function(e,t,r){\"use strict\";var n=r(71828),i=[[-1,0],[1,0],[0,-1],[0,1]];function a(e){return.5-.25*Math.min(1,.5*e)}function o(e,t,r){var n,a,o,s,l,u,c,f,h,p,d,v,g,m=0;for(s=0;s<t.length;s++){for(a=(n=t[s])[0],o=n[1],d=e[a][o],p=0,h=0,l=0;l<4;l++)(c=e[a+(u=i[l])[0]])&&void 0!==(f=c[o+u[1]])&&(0===p?v=g=f:(v=Math.min(v,f),g=Math.max(g,f)),h++,p+=f);if(0===h)throw\"iterateInterp2d order is wrong: no defined neighbors\";e[a][o]=p/h,void 0===d?h<4&&(m=1):(e[a][o]=(1+r)*e[a][o]-r*d,g>v&&(m=Math.max(m,Math.abs(e[a][o]-d)/(g-v))))}return m}e.exports=function(e,t){var r,i=1;for(o(e,t),r=0;r<t.length&&!(t[r][2]<4);r++);for(t=t.slice(r),r=0;r<100&&i>.01;r++)i=o(e,t,a(i));return i>.01&&n.log(\"interp2d didn't converge quickly\",i),e}},58623:function(e,t,r){\"use strict\";var n=r(71828);e.exports=function(e,t){e(\"texttemplate\");var r=n.extendFlat({},t.font,{color:\"auto\",size:\"auto\"});n.coerceFont(e,\"textfont\",r)}},70769:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828).isArrayOrTypedArray;e.exports=function(e,t,r,a,o,s){var l,u,c,f=[],h=n.traceIs(e,\"contour\"),p=n.traceIs(e,\"histogram\"),d=n.traceIs(e,\"gl2d\");if(i(t)&&t.length>1&&!p&&\"category\"!==s.type){var v=t.length;if(!(v<=o))return h?t.slice(0,o):t.slice(0,o+1);if(h||d)f=t.slice(0,o);else if(1===o)f=[t[0]-.5,t[0]+.5];else{for(f=[1.5*t[0]-.5*t[1]],c=1;c<v;c++)f.push(.5*(t[c-1]+t[c]));f.push(1.5*t[v-1]-.5*t[v-2])}if(v<o){var g=f[f.length-1],m=g-f[f.length-2];for(c=v;c<o;c++)g+=m,f.push(g)}}else{var y=e[s._id.charAt(0)+\"calendar\"];for(l=p?s.r2c(r,0,y):i(t)&&1===t.length?t[0]:void 0===r?0:(\"log\"===s.type?s.d2c:s.r2c)(r,0,y),u=a||1,c=h||d?0:-.5;c<o;c++)f.push(l+u*c)}return f}},50347:function(e,t,r){\"use strict\";var n=r(39898),i=r(84267),a=r(73972),o=r(91424),s=r(89298),l=r(71828),u=r(63893),c=r(8225),f=r(7901),h=r(21081).extractOpts,p=r(21081).makeColorScaleFuncFromTrace,d=r(77922),v=r(18783).LINE_SPACING,g=r(3883),m=r(32396).STYLE,y=\"heatmap-label\";function x(e){return e.selectAll(\"g.\"+y)}function b(e){x(e).remove()}function _(e,t){var r=t.length-2,n=l.constrain(l.findBin(e,t),0,r),i=t[n],a=t[n+1],o=l.constrain(n+(e-i)/(a-i)-.5,0,r),s=Math.round(o),u=Math.abs(o-s);return o&&o!==r&&u?{bin0:s,frac:u,bin1:Math.round(s+u/(o-s))}:{bin0:s,bin1:s,frac:0}}function w(e,t){var r=t.length-1,n=l.constrain(l.findBin(e,t),0,r),i=t[n],a=(e-i)/(t[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function k(e,t,r){e[t]=r[0],e[t+1]=r[1],e[t+2]=r[2],e[t+3]=Math.round(255*r[3])}e.exports=function(e,t,r,T){var M=t.xaxis,A=t.yaxis;l.makeTraceGroups(T,r,\"hm\").each((function(t){var r,T,S,E,C,L,P,O,I=n.select(this),D=t[0],z=D.trace,R=z.xgap||0,F=z.ygap||0,B=D.z,N=D.x,j=D.y,U=D.xCenter,V=D.yCenter,H=a.traceIs(z,\"contour\"),q=H?\"best\":z.zsmooth,G=B.length,Y=l.maxRowLength(B),W=!1,Z=!1;for(L=0;void 0===r&&L<N.length-1;)r=M.c2p(N[L]),L++;for(L=N.length-1;void 0===T&&L>0;)T=M.c2p(N[L]),L--;for(T<r&&(S=T,T=r,r=S,W=!0),L=0;void 0===E&&L<j.length-1;)E=A.c2p(j[L]),L++;for(L=j.length-1;void 0===C&&L>0;)C=A.c2p(j[L]),L--;C<E&&(S=E,E=C,C=S,Z=!0),H&&(U=N,V=j,N=D.xfill,j=D.yfill);var X=\"default\";if(q?X=\"best\"===q?\"smooth\":\"fast\":z._islinear&&0===R&&0===F&&g()&&(X=\"fast\"),\"fast\"!==X){var K=\"best\"===q?0:.5;r=Math.max(-K*M._length,r),T=Math.min((1+K)*M._length,T),E=Math.max(-K*A._length,E),C=Math.min((1+K)*A._length,C)}var J,$,Q=Math.round(T-r),ee=Math.round(C-E);if(r>=M._length||T<=0||E>=A._length||C<=0)return I.selectAll(\"image\").data([]).exit().remove(),void b(I);\"fast\"===X?(J=Y,$=G):(J=Q,$=ee);var te=document.createElement(\"canvas\");te.width=J,te.height=$;var re,ne,ie=te.getContext(\"2d\"),ae=p(z,{noNumericCheck:!0,returnArray:!0});\"fast\"===X?(re=W?function(e){return Y-1-e}:l.identity,ne=Z?function(e){return G-1-e}:l.identity):(re=function(e){return l.constrain(Math.round(M.c2p(N[e])-r),0,Q)},ne=function(e){return l.constrain(Math.round(A.c2p(j[e])-E),0,ee)});var oe,se,le,ue,ce=ne(0),fe=[ce,ce],he=W?0:1,pe=Z?0:1,de=0,ve=0,ge=0,me=0;function ye(e,t){if(void 0!==e){var r=ae(e);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),de+=t,ve+=r[0]*t,ge+=r[1]*t,me+=r[2]*t,r}return[0,0,0,0]}function xe(e,t,r,n){var i=e[r.bin0];if(void 0===i)return ye(void 0,1);var a,o=e[r.bin1],s=t[r.bin0],l=t[r.bin1],u=o-i||0,c=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,ye(i+r.frac*u+n.frac*(c+r.frac*a))}if(\"default\"!==X){var be,_e=0;try{be=new Uint8Array(J*$*4)}catch(e){be=new Array(J*$*4)}if(\"smooth\"===X){var we,ke,Te,Me=U||N,Ae=V||j,Se=new Array(Me.length),Ee=new Array(Ae.length),Ce=new Array(Q),Le=U?w:_,Pe=V?w:_;for(L=0;L<Me.length;L++)Se[L]=Math.round(M.c2p(Me[L])-r);for(L=0;L<Ae.length;L++)Ee[L]=Math.round(A.c2p(Ae[L])-E);for(L=0;L<Q;L++)Ce[L]=Le(L,Se);for(P=0;P<ee;P++)for(ke=B[(we=Pe(P,Ee)).bin0],Te=B[we.bin1],L=0;L<Q;L++,_e+=4)k(be,_e,ue=xe(ke,Te,Ce[L],we))}else for(P=0;P<G;P++)for(le=B[P],fe=ne(P),L=0;L<Y;L++)ue=ye(le[L],1),k(be,_e=4*(fe*Y+re(L)),ue);var Oe=ie.createImageData(J,$);try{Oe.data.set(be)}catch(e){var Ie=Oe.data,De=Ie.length;for(P=0;P<De;P++)Ie[P]=be[P]}ie.putImageData(Oe,0,0)}else{var ze=Math.floor(R/2),Re=Math.floor(F/2);for(P=0;P<G;P++)if(le=B[P],fe.reverse(),fe[pe]=ne(P+1),fe[0]!==fe[1]&&void 0!==fe[0]&&void 0!==fe[1])for(oe=[se=re(0),se],L=0;L<Y;L++)oe.reverse(),oe[he]=re(L+1),oe[0]!==oe[1]&&void 0!==oe[0]&&void 0!==oe[1]&&(ue=ye(le[L],(oe[1]-oe[0])*(fe[1]-fe[0])),ie.fillStyle=\"rgba(\"+ue.join(\",\")+\")\",ie.fillRect(oe[0]+ze,fe[0]+Re,oe[1]-oe[0]-R,fe[1]-fe[0]-F))}ve=Math.round(ve/de),ge=Math.round(ge/de),me=Math.round(me/de);var Fe=i(\"rgb(\"+ve+\",\"+ge+\",\"+me+\")\");e._hmpixcount=(e._hmpixcount||0)+de,e._hmlumcount=(e._hmlumcount||0)+de*Fe.getLuminance();var Be=I.selectAll(\"image\").data(t);Be.enter().append(\"svg:image\").attr({xmlns:d.svg,preserveAspectRatio:\"none\"}),Be.attr({height:ee,width:Q,x:r,y:E,\"xlink:href\":te.toDataURL(\"image/png\")}),\"fast\"!==X||q||Be.attr(\"style\",m),b(I);var Ne=z.texttemplate;if(Ne){var je=h(z),Ue={type:\"linear\",range:[je.min,je.max],_separators:M._separators,_numFormat:M._numFormat},Ve=\"histogram2dcontour\"===z.type,He=\"contour\"===z.type,qe=He?G-1:G,Ge=He?1:0,Ye=He?Y-1:Y,We=[];for(L=He?1:0;L<qe;L++){var Ze;if(He)Ze=D.y[L];else if(Ve){if(0===L||L===G-1)continue;Ze=D.y[L]}else if(D.yCenter)Ze=D.yCenter[L];else{if(L+1===G&&void 0===D.y[L+1])continue;Ze=(D.y[L]+D.y[L+1])/2}var Xe=Math.round(A.c2p(Ze));if(!(0>Xe||Xe>A._length))for(P=Ge;P<Ye;P++){var Ke;if(He)Ke=D.x[P];else if(Ve){if(0===P||P===Y-1)continue;Ke=D.x[P]}else if(D.xCenter)Ke=D.xCenter[P];else{if(P+1===Y&&void 0===D.x[P+1])continue;Ke=(D.x[P]+D.x[P+1])/2}var Je=Math.round(M.c2p(Ke));if(!(0>Je||Je>M._length)){var $e=c({x:Ke,y:Ze},z,e._fullLayout);$e.x=Ke,$e.y=Ze;var Qe=D.z[L][P];void 0===Qe?($e.z=\"\",$e.zLabel=\"\"):($e.z=Qe,$e.zLabel=s.tickText(Ue,Qe,\"hover\").text);var et=D.text&&D.text[L]&&D.text[L][P];void 0!==et&&!1!==et||(et=\"\"),$e.text=et;var tt=l.texttemplateString(Ne,$e,e._fullLayout._d3locale,$e,z._meta||{});if(tt){var rt=tt.split(\"<br>\"),nt=rt.length,it=0;for(O=0;O<nt;O++)it=Math.max(it,rt[O].length);We.push({l:nt,c:it,t:tt,x:Je,y:Xe,z:Qe})}}}}var at=z.textfont,ot=at.family,st=at.size,lt=e._fullLayout.font.size;if(!st||\"auto\"===st){var ut=1/0,ct=1/0,ft=0,ht=0;for(O=0;O<We.length;O++){var pt=We[O];if(ft=Math.max(ft,pt.l),ht=Math.max(ht,pt.c),O<We.length-1){var dt=We[O+1],vt=Math.abs(dt.x-pt.x),gt=Math.abs(dt.y-pt.y);vt&&(ut=Math.min(ut,vt)),gt&&(ct=Math.min(ct,gt))}}isFinite(ut)&&isFinite(ct)?(ut-=R,ct-=F,ut/=ht,ct/=ft,ut/=v/2,ct/=v,st=Math.min(Math.floor(ut),Math.floor(ct),lt)):st=lt}if(st<=0||!isFinite(st))return;x(I).data(We).enter().append(\"g\").classed(y,1).append(\"text\").attr(\"text-anchor\",\"middle\").each((function(t){var r=n.select(this),i=at.color;i&&\"auto\"!==i||(i=f.contrast(\"rgba(\"+ae(t.z).join()+\")\")),r.attr(\"data-notex\",1).call(u.positionText,function(e){return e.x}(t),function(e){return e.y-st*(e.l*v/2-1)}(t)).call(o.font,ot,st,i).text(t.t).call(u.convertToTspans,e)}))}}))}},70035:function(e,t,r){\"use strict\";var n=r(39898);e.exports=function(e){n.select(e).selectAll(\".hm image\").style(\"opacity\",(function(e){return e.trace.opacity}))}},49901:function(e){\"use strict\";e.exports=function(e,t,r){!1===r(\"zsmooth\")&&(r(\"xgap\"),r(\"ygap\")),r(\"zhoverformat\")}},67684:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828),a=r(73972);function o(e,t){var r=t(e);return\"scaled\"===(r?t(e+\"type\",\"array\"):\"scaled\")&&(t(e+\"0\"),t(\"d\"+e)),r}e.exports=function(e,t,r,s,l,u){var c,f,h=r(\"z\");if(l=l||\"x\",u=u||\"y\",void 0===h||!h.length)return 0;if(i.isArray1D(e.z)){c=r(l),f=r(u);var p=i.minRowLength(c),d=i.minRowLength(f);if(0===p||0===d)return 0;t._length=Math.min(p,d,h.length)}else{if(c=o(l,r),f=o(u,r),!function(e){for(var t,r=!0,a=!1,o=!1,s=0;s<e.length;s++){if(t=e[s],!i.isArrayOrTypedArray(t)){r=!1;break}t.length>0&&(a=!0);for(var l=0;l<t.length;l++)if(n(t[l])){o=!0;break}}return r&&a&&o}(h))return 0;r(\"transpose\"),t._length=null}return\"heatmapgl\"===e.type||a.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(e,t,[l,u],s),!0}},16063:function(e,t,r){\"use strict\";for(var n=r(21606),i=r(50693),a=r(1426).extendFlat,o=r(30962).overrideAll,s=[\"z\",\"x\",\"x0\",\"dx\",\"y\",\"y0\",\"dy\",\"text\",\"transpose\",\"xtype\",\"ytype\"],l={},u=0;u<s.length;u++){var c=s[u];l[c]=n[c]}l.zsmooth={valType:\"enumerated\",values:[\"fast\",!1],dflt:\"fast\",editType:\"calc\"},a(l,i(\"\",{cLetter:\"z\",autoColorDflt:!1})),e.exports=o(l,\"calc\",\"nested\")},59560:function(e,t,r){\"use strict\";var n=r(9330).gl_heatmap2d,i=r(89298),a=r(78614);function o(e,t){this.scene=e,this.uid=t,this.type=\"heatmapgl\",this.name=\"\",this.hoverinfo=\"all\",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={zsmooth:\"fast\",z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=n(e.glplot,this.options),this.heatmap._trace=this}var s=o.prototype;s.handlePick=function(e){var t=this.options,r=t.shape,n=e.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:e.dataCoord,traceCoord:[t.x[i],t.y[a],t.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],hoverinfo:this.hoverinfo}},s.update=function(e,t){var r=t[0];this.index=e.index,this.name=e.name,this.hoverinfo=e.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var o=n[0].length,s=n.length;this.options.shape=[o,s],this.options.x=r.x,this.options.y=r.y,this.options.zsmooth=e.zsmooth;var l=function(e){for(var t=e.colorscale,r=e.zmin,n=e.zmax,i=t.length,o=new Array(i),s=new Array(4*i),l=0;l<i;l++){var u=t[l],c=a(u[1]);o[l]=r+u[0]*(n-r);for(var f=0;f<4;f++)s[4*l+f]=c[f]}return{colorLevels:o,colorValues:s}}(e);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],e.text),this.heatmap.update(this.options);var u,c,f=this.scene.xaxis,h=this.scene.yaxis;!1===e.zsmooth&&(u={ppad:r.x[1]-r.x[0]},c={ppad:r.y[1]-r.y[0]}),e._extremes[f._id]=i.findExtremes(f,r.x,u),e._extremes[h._id]=i.findExtremes(h,r.y,c)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(e,t,r){var n=new o(e,t.uid);return n.update(t,r),n}},19600:function(e,t,r){\"use strict\";var n=r(71828),i=r(67684),a=r(1586),o=r(16063);e.exports=function(e,t,r,s){function l(r,i){return n.coerce(e,t,o,r,i)}i(e,t,l,s)?(l(\"text\"),l(\"zsmooth\"),a(e,t,s,l,{prefix:\"\",cLetter:\"z\"})):t.visible=!1}},3325:function(e,t,r){\"use strict\";[\"*heatmapgl* trace is deprecated!\",\"Please consider switching to the *heatmap* or *image* trace types.\",\"Alternatively you could contribute/sponsor rewriting this trace type\",\"based on cartesian features and using regl framework.\"].join(\" \"),e.exports={attributes:r(16063),supplyDefaults:r(19600),colorbar:r(61243),calc:r(90757),plot:r(59560),moduleType:\"trace\",name:\"heatmapgl\",basePlotModule:r(4796),categories:[\"gl\",\"gl2d\",\"2dMap\"],meta:{}}},7745:function(e,t,r){\"use strict\";var n=r(1486),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(5386).si,s=r(41940),l=r(17656),u=r(72406),c=r(1426).extendFlat;e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),text:c({},n.text,{}),hovertext:c({},n.hovertext,{}),orientation:n.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\",editType:\"calc\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\",editType:\"calc\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\",editType:\"calc\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\",editType:\"calc\"},editType:\"calc\"},nbinsx:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},xbins:l(\"x\",!0),nbinsy:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},ybins:l(\"y\",!0),autobinx:{valType:\"boolean\",dflt:null,editType:\"calc\"},autobiny:{valType:\"boolean\",dflt:null,editType:\"calc\"},bingroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:a({},{keys:u.eventDataKeys}),texttemplate:o({arrayOk:!1,editType:\"plot\"},{keys:[\"label\",\"value\"]}),textposition:c({},n.textposition,{arrayOk:!1}),textfont:s({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),outsidetextfont:s({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextfont:s({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextanchor:n.insidetextanchor,textangle:n.textangle,cliponaxis:n.cliponaxis,constraintext:n.constraintext,marker:n.marker,offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},42174:function(e){\"use strict\";e.exports=function(e,t){for(var r=e.length,n=0,i=0;i<r;i++)t[i]?(e[i]/=t[i],n+=e[i]):e[i]=null;return n}},17656:function(e){\"use strict\";e.exports=function(e,t){return{start:{valType:\"any\",editType:\"calc\"},end:{valType:\"any\",editType:\"calc\"},size:{valType:\"any\",editType:\"calc\"},editType:\"calc\"}}},59575:function(e,t,r){\"use strict\";var n=r(92770);e.exports={count:function(e,t,r){return r[e]++,1},sum:function(e,t,r,i){var a=i[t];return n(a)?(a=Number(a),r[e]+=a,a):0},avg:function(e,t,r,i,a){var o=i[t];return n(o)&&(o=Number(o),r[e]+=o,a[e]++),0},min:function(e,t,r,i){var a=i[t];if(n(a)){if(a=Number(a),!n(r[e]))return r[e]=a,a;if(r[e]>a){var o=a-r[e];return r[e]=a,o}}return 0},max:function(e,t,r,i){var a=i[t];if(n(a)){if(a=Number(a),!n(r[e]))return r[e]=a,a;if(r[e]<a){var o=a-r[e];return r[e]=a,o}}return 0}}},40965:function(e,t,r){\"use strict\";var n=r(50606),i=n.ONEAVGYEAR,a=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,u=n.ONESEC,c=r(89298).tickIncrement;function f(e,t,r,n){if(e*t<=0)return 1/0;for(var i=Math.abs(t-e),a=\"date\"===r.type,o=h(i,a),s=0;s<10;s++){var l=h(80*o,a);if(o===l)break;if(!p(l,e,t,a,r,n))break;o=l}return o}function h(e,t){return t&&e>u?e>o?e>1.1*i?i:e>1.1*a?a:o:e>s?s:e>l?l:u:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function p(e,t,r,n,a,s){if(n&&e>o){var l=d(t,a,s),u=d(r,a,s),c=e===i?0:1;return l[c]!==u[c]}return Math.floor(r/e)-Math.floor(t/e)>.1}function d(e,t,r){var n=t.c2d(e,i,r).split(\"-\");return\"\"===n[0]&&(n.unshift(),n[0]=\"-\"+n[0]),n}e.exports=function(e,t,r,n,a){var s,l,u=-1.1*t,h=-.1*t,p=e-h,d=r[0],v=r[1],g=Math.min(f(d+h,d+p,n,a),f(v+h,v+p,n,a)),m=Math.min(f(d+u,d+h,n,a),f(v+u,v+h,n,a));if(g>m&&m<Math.abs(v-d)/4e3?(s=g,l=!1):(s=Math.min(g,m),l=!0),\"date\"===n.type&&s>o){var y=s===i?1:6,x=s===i?\"M12\":\"M1\";return function(t,r){var o=n.c2d(t,i,a),s=o.indexOf(\"-\",y);s>0&&(o=o.substr(0,s));var u=n.d2c(o,0,a);if(u<t){var f=c(u,x,!1,a);(u+f)/2<t+e&&(u=f)}return r&&l?c(u,x,!0,a):u}}return function(t,r){var n=s*Math.round(t/s);return n+s/10<t&&n+.9*s<t+e&&(n+=s),r&&l&&(n-=s),n}}},72138:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828),a=r(73972),o=r(89298),s=r(75341),l=r(59575),u=r(36362),c=r(42174),f=r(40965);function h(e,t,r,s,l){var u,c,f,p,d,v,g,m=s+\"bins\",y=e._fullLayout,x=t[\"_\"+s+\"bingroup\"],b=y._histogramBinOpts[x],_=\"overlay\"===y.barmode,w=function(e){return r.r2c(e,0,p)},k=function(e){return r.c2r(e,0,p)},T=\"date\"===r.type?function(e){return e||0===e?i.cleanDate(e,null,p):null}:function(e){return n(e)?Number(e):null};function M(e,t,r){t[e+\"Found\"]?(t[e]=T(t[e]),null===t[e]&&(t[e]=r[e])):(v[e]=t[e]=r[e],i.nestedProperty(c[0],m+\".\"+e).set(r[e]))}if(t[\"_\"+s+\"autoBinFinished\"])delete t[\"_\"+s+\"autoBinFinished\"];else{c=b.traces;var A=[],S=!0,E=!1,C=!1;for(u=0;u<c.length;u++)if((f=c[u]).visible){var L=b.dirs[u];d=f[\"_\"+L+\"pos0\"]=r.makeCalcdata(f,L),A=i.concat(A,d),delete f[\"_\"+s+\"autoBinFinished\"],!0===t.visible&&(S?S=!1:(delete f._autoBin,f[\"_\"+s+\"autoBinFinished\"]=1),a.traceIs(f,\"2dMap\")&&(E=!0),\"histogram2dcontour\"===f.type&&(C=!0))}p=c[0][s+\"calendar\"];var P=o.autoBin(A,r,b.nbins,E,p,b.sizeFound&&b.size),O=c[0]._autoBin={};if(v=O[b.dirs[0]]={},C&&(b.size||(P.start=k(o.tickIncrement(w(P.start),P.size,!0,p))),void 0===b.end&&(P.end=k(o.tickIncrement(w(P.end),P.size,!1,p)))),_&&!a.traceIs(t,\"2dMap\")&&0===P._dataSpan&&\"category\"!==r.type&&\"multicategory\"!==r.type){if(l)return[P,d,!0];P=function(e,t,r,n,a){var o,s,l,u=e._fullLayout,c=function(e,t){for(var r=t.xaxis,n=t.yaxis,i=t.orientation,a=[],o=e._fullData,s=0;s<o.length;s++){var l=o[s];\"histogram\"===l.type&&!0===l.visible&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}(e,t),f=!1,p=1/0,d=[t];for(o=0;o<c.length;o++)if((s=c[o])===t)f=!0;else if(f){var v=h(e,s,r,n,!0),g=v[0],m=v[2];s[\"_\"+n+\"autoBinFinished\"]=1,s[\"_\"+n+\"pos0\"]=v[1],m?d.push(s):p=Math.min(p,g.size)}else l=u._histogramBinOpts[s[\"_\"+n+\"bingroup\"]],p=Math.min(p,l.size||s[a].size);var y=new Array(d.length);for(o=0;o<d.length;o++)for(var x=d[o][\"_\"+n+\"pos0\"],b=0;b<x.length;b++)if(void 0!==x[b]){y[o]=x[b];break}for(isFinite(p)||(p=i.distinctVals(y).minDiff),o=0;o<d.length;o++){var _=(s=d[o])[n+\"calendar\"],w={start:r.c2r(y[o]-p/2,0,_),end:r.c2r(y[o]+p/2,0,_),size:p};s._input[a]=s[a]=w,(l=u._histogramBinOpts[s[\"_\"+n+\"bingroup\"]])&&i.extendFlat(l,w)}return t[a]}(e,t,r,s,m)}(g=f.cumulative||{}).enabled&&\"include\"!==g.currentbin&&(\"decreasing\"===g.direction?P.start=k(o.tickIncrement(w(P.start),P.size,!0,p)):P.end=k(o.tickIncrement(w(P.end),P.size,!1,p))),b.size=P.size,b.sizeFound||(v.size=P.size,i.nestedProperty(c[0],m+\".size\").set(P.size)),M(\"start\",b,P),M(\"end\",b,P)}d=t[\"_\"+s+\"pos0\"],delete t[\"_\"+s+\"pos0\"];var I=t._input[m]||{},D=i.extendFlat({},b),z=b.start,R=r.r2l(I.start),F=void 0!==R;if((b.startFound||F)&&R!==r.r2l(z)){var B=F?R:i.aggNums(Math.min,null,d),N={type:\"category\"===r.type||\"multicategory\"===r.type?\"linear\":r.type,r2l:r.r2l,dtick:b.size,tick0:z,calendar:p,range:[B,o.tickIncrement(B,b.size,!1,p)].map(r.l2r)},j=o.tickFirst(N);j>r.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),D.start=r.l2r(j),F||i.nestedProperty(t,m+\".start\").set(D.start)}var U=b.end,V=r.r2l(I.end),H=void 0!==V;if((b.endFound||H)&&V!==r.r2l(U)){var q=H?V:i.aggNums(Math.max,null,d);D.end=r.l2r(q),H||i.nestedProperty(t,m+\".start\").set(D.end)}var G=\"autobin\"+s;return!1===t._input[G]&&(t._input[m]=i.extendFlat({},t[m]||{}),delete t._input[G],delete t[G]),[D,d]}e.exports={calc:function(e,t){var r,a,p,d,v=[],g=[],m=\"h\"===t.orientation,y=o.getFromId(e,m?t.yaxis:t.xaxis),x=m?\"y\":\"x\",b={x:\"y\",y:\"x\"}[x],_=t[x+\"calendar\"],w=t.cumulative,k=h(e,t,y,x),T=k[0],M=k[1],A=\"string\"==typeof T.size,S=[],E=A?S:T,C=[],L=[],P=[],O=0,I=t.histnorm,D=t.histfunc,z=-1!==I.indexOf(\"density\");w.enabled&&z&&(I=I.replace(/ ?density$/,\"\"),z=!1);var R,F=\"max\"===D||\"min\"===D?null:0,B=l.count,N=u[I],j=!1,U=function(e){return y.r2c(e,0,_)};for(i.isArrayOrTypedArray(t[b])&&\"count\"!==D&&(R=t[b],j=\"avg\"===D,B=l[D]),r=U(T.start),p=U(T.end)+(r-o.tickIncrement(r,T.size,!1,_))/1e6;r<p&&v.length<1e6&&(a=o.tickIncrement(r,T.size,!1,_),v.push((r+a)/2),g.push(F),P.push([]),S.push(r),z&&C.push(1/(a-r)),j&&L.push(0),!(a<=r));)r=a;S.push(r),A||\"date\"!==y.type||(E={start:U(E.start),end:U(E.end),size:E.size}),e._fullLayout._roundFnOpts||(e._fullLayout._roundFnOpts={});var V=t[\"_\"+x+\"bingroup\"],H={leftGap:1/0,rightGap:1/0};V&&(e._fullLayout._roundFnOpts[V]||(e._fullLayout._roundFnOpts[V]=H),H=e._fullLayout._roundFnOpts[V]);var q,G=g.length,Y=!0,W=H.leftGap,Z=H.rightGap,X={};for(r=0;r<M.length;r++){var K=M[r];(d=i.findBin(K,E))>=0&&d<G&&(O+=B(d,r,g,R,L),Y&&P[d].length&&K!==M[P[d][0]]&&(Y=!1),P[d].push(r),X[r]=d,W=Math.min(W,K-S[d]),Z=Math.min(Z,S[d+1]-K))}H.leftGap=W,H.rightGap=Z,Y||(q=function(t,r){return function(){var n=e._fullLayout._roundFnOpts[V];return f(n.leftGap,n.rightGap,S,y,_)(t,r)}}),j&&(O=c(g,L)),N&&N(g,O,C),w.enabled&&function(e,t,r){var n,i,a;function o(t){a=e[t],e[t]/=2}function s(t){i=e[t],e[t]=a+i/2,a+=i}if(\"half\"===r)if(\"increasing\"===t)for(o(0),n=1;n<e.length;n++)s(n);else for(o(e.length-1),n=e.length-2;n>=0;n--)s(n);else if(\"increasing\"===t){for(n=1;n<e.length;n++)e[n]+=e[n-1];\"exclude\"===r&&(e.unshift(0),e.pop())}else{for(n=e.length-2;n>=0;n--)e[n]+=e[n+1];\"exclude\"===r&&(e.push(0),e.shift())}}(g,w.direction,w.currentbin);var J=Math.min(v.length,g.length),$=[],Q=0,ee=J-1;for(r=0;r<J;r++)if(g[r]){Q=r;break}for(r=J-1;r>=Q;r--)if(g[r]){ee=r;break}for(r=Q;r<=ee;r++)if(n(v[r])&&n(g[r])){var te={p:v[r],s:g[r],b:0};w.enabled||(te.pts=P[r],Y?te.ph0=te.ph1=P[r].length?M[P[r][0]]:v[r]:(t._computePh=!0,te.ph0=q(S[r]),te.ph1=q(S[r+1],!0))),$.push(te)}return 1===$.length&&($[0].width1=o.tickIncrement($[0].p,T.size,!1,_)-$[0].p),s($,t),i.isArrayOrTypedArray(t.selectedpoints)&&i.tagSelected($,t,X),$},calcAllAutoBins:h}},72406:function(e){\"use strict\";e.exports={eventDataKeys:[\"binNumber\"]}},82222:function(e,t,r){\"use strict\";var n=r(71828),i=r(41675),a=r(73972).traceIs,o=r(26125),s=n.nestedProperty,l=r(99082).getAxisGroup,u=[{aStr:{x:\"xbins.start\",y:\"ybins.start\"},name:\"start\"},{aStr:{x:\"xbins.end\",y:\"ybins.end\"},name:\"end\"},{aStr:{x:\"xbins.size\",y:\"ybins.size\"},name:\"size\"},{aStr:{x:\"nbinsx\",y:\"nbinsy\"},name:\"nbins\"}],c=[\"x\",\"y\"];e.exports=function(e,t){var r,f,h,p,d,v,g,m=t._histogramBinOpts={},y=[],x={},b=[];function _(e,t){return n.coerce(r._input,r,r._module.attributes,e,t)}function w(e){return\"v\"===e.orientation?\"x\":\"y\"}function k(e,r,a){var o=e.uid+\"__\"+a;r||(r=o);var s=function(e,r){return i.getFromTrace({_fullLayout:t},e,r).type}(e,a),l=e[a+\"calendar\"]||\"\",u=m[r],c=!0;u&&(s===u.axType&&l===u.calendar?(c=!1,u.traces.push(e),u.dirs.push(a)):(r=o,s!==u.axType&&n.warn([\"Attempted to group the bins of trace\",e.index,\"set on a\",\"type:\"+s,\"axis\",\"with bins on\",\"type:\"+u.axType,\"axis.\"].join(\" \")),l!==u.calendar&&n.warn([\"Attempted to group the bins of trace\",e.index,\"set with a\",l,\"calendar\",\"with bins\",u.calendar?\"on a \"+u.calendar+\" calendar\":\"w/o a set calendar\"].join(\" \")))),c&&(m[r]={traces:[e],dirs:[a],axType:s,calendar:e[a+\"calendar\"]||\"\"}),e[\"_\"+a+\"bingroup\"]=r}for(d=0;d<e.length;d++)r=e[d],a(r,\"histogram\")&&(y.push(r),delete r._xautoBinFinished,delete r._yautoBinFinished,a(r,\"2dMap\")||o(r._input,r,t,_));var T=t._alignmentOpts||{};for(d=0;d<y.length;d++){if(r=y[d],h=\"\",!a(r,\"2dMap\")){if(p=w(r),\"group\"===t.barmode&&r.alignmentgroup){var M=r[p+\"axis\"],A=l(t,M)+r.orientation;(T[A]||{})[r.alignmentgroup]&&(h=A)}h||\"overlay\"===t.barmode||(h=l(t,r.xaxis)+l(t,r.yaxis)+w(r))}h?(x[h]||(x[h]=[]),x[h].push(r)):b.push(r)}for(h in x)if(1!==(f=x[h]).length){var S=!1;for(f.length&&(r=f[0],S=_(\"bingroup\")),h=S||h,d=0;d<f.length;d++){var E=(r=f[d])._input.bingroup;E&&E!==h&&n.warn([\"Trace\",r.index,\"must match\",\"within bingroup\",h+\".\",\"Ignoring its bingroup:\",E,\"setting.\"].join(\" \")),r.bingroup=h,k(r,h,w(r))}}else b.push(f[0]);for(d=0;d<b.length;d++){r=b[d];var C=_(\"bingroup\");if(a(r,\"2dMap\"))for(g=0;g<2;g++){var L=_((p=c[g])+\"bingroup\",C?C+\"__\"+p:null);k(r,L,p)}else k(r,C,w(r))}for(h in m){var P=m[h];for(f=P.traces,v=0;v<u.length;v++){var O,I,D=u[v],z=D.name;if(\"nbins\"!==z||!P.sizeFound){for(d=0;d<f.length;d++){if(r=f[d],p=P.dirs[d],O=D.aStr[p],void 0!==s(r._input,O).get()){P[z]=_(O),P[z+\"Found\"]=!0;break}(I=(r._autoBin||{})[p]||{})[z]&&s(r,O).set(I[z])}if(\"start\"===z||\"end\"===z)for(;d<f.length;d++)(r=f[d])[\"_\"+p+\"bingroup\"]&&_(O,(I=(r._autoBin||{})[p]||{})[z]);\"nbins\"!==z||P.sizeFound||P.nbinsFound||(r=f[0],P[z]=_(O))}}}}},11385:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828),a=r(7901),o=r(90769).handleText,s=r(98340),l=r(7745);e.exports=function(e,t,r,u){function c(r,n){return i.coerce(e,t,l,r,n)}var f=c(\"x\"),h=c(\"y\");c(\"cumulative.enabled\")&&(c(\"cumulative.direction\"),c(\"cumulative.currentbin\")),c(\"text\");var p=c(\"textposition\");o(e,t,u,c,p,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),c(\"hovertext\"),c(\"hovertemplate\"),c(\"xhoverformat\"),c(\"yhoverformat\");var d=c(\"orientation\",h&&!f?\"h\":\"v\"),v=\"v\"===d?\"x\":\"y\",g=\"v\"===d?\"y\":\"x\",m=f&&h?Math.min(i.minRowLength(f)&&i.minRowLength(h)):i.minRowLength(t[v]||[]);if(m){t._length=m,n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(e,t,[\"x\",\"y\"],u),t[g]&&c(\"histfunc\"),c(\"histnorm\"),c(\"autobin\"+v),s(e,t,c,r,u),i.coerceSelectionMarkerOpacity(t,c);var y=(t.marker.line||{}).color,x=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");x(e,t,y||a.defaultLine,{axis:\"y\"}),x(e,t,y||a.defaultLine,{axis:\"x\",inherit:\"y\"})}else t.visible=!1}},84402:function(e){\"use strict\";e.exports=function(e,t,r,n,i){if(e.x=\"xVal\"in t?t.xVal:t.x,e.y=\"yVal\"in t?t.yVal:t.y,\"zLabelVal\"in t&&(e.z=t.zLabelVal),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(e.pointNumbers=o,e.binNumber=e.pointNumber,delete e.pointNumber,delete e.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;e.pointIndices=a}return e}},76440:function(e,t,r){\"use strict\";var n=r(95423).hoverPoints,i=r(89298).hoverLabelText;e.exports=function(e,t,r,a,o){var s=n(e,t,r,a,o);if(s){var l=(e=s[0]).cd[e.index],u=e.cd[0].trace;if(!u.cumulative.enabled){var c=\"h\"===u.orientation?\"y\":\"x\";e[c+\"Label\"]=i(e[c+\"a\"],[l.ph0,l.ph1],u[c+\"hoverformat\"])}return s}}},36071:function(e,t,r){\"use strict\";e.exports={attributes:r(7745),layoutAttributes:r(43641),supplyDefaults:r(11385),crossTraceDefaults:r(82222),supplyLayoutDefaults:r(13957),calc:r(72138).calc,crossTraceCalc:r(11661).crossTraceCalc,plot:r(17295).plot,layerName:\"barlayer\",style:r(16688).style,styleOnSelect:r(16688).styleOnSelect,colorbar:r(4898),hoverPoints:r(76440),selectPoints:r(81974),eventData:r(84402),moduleType:\"trace\",name:\"histogram\",basePlotModule:r(93612),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],meta:{}}},36362:function(e){\"use strict\";e.exports={percent:function(e,t){for(var r=e.length,n=100/t,i=0;i<r;i++)e[i]*=n},probability:function(e,t){for(var r=e.length,n=0;n<r;n++)e[n]/=t},density:function(e,t,r,n){var i=e.length;n=n||1;for(var a=0;a<i;a++)e[a]*=r[a]*n},\"probability density\":function(e,t,r,n){var i=e.length;n&&(t/=n);for(var a=0;a<i;a++)e[a]*=r[a]/t}}},35361:function(e,t,r){\"use strict\";var n=r(7745),i=r(17656),a=r(21606),o=r(9012),s=r(12663).axisHoverFormat,l=r(5386).fF,u=r(5386).si,c=r(50693),f=r(1426).extendFlat;e.exports=f({x:n.x,y:n.y,z:{valType:\"data_array\",editType:\"calc\"},marker:{color:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:i(\"x\"),nbinsy:n.nbinsy,ybins:i(\"y\"),autobinx:n.autobinx,autobiny:n.autobiny,bingroup:f({},n.bingroup,{}),xbingroup:f({},n.bingroup,{}),ybingroup:f({},n.bingroup,{}),xgap:a.xgap,ygap:a.ygap,zsmooth:a.zsmooth,xhoverformat:s(\"x\"),yhoverformat:s(\"y\"),zhoverformat:s(\"z\",1),hovertemplate:l({},{keys:\"z\"}),texttemplate:u({arrayOk:!1,editType:\"plot\"},{keys:\"z\"}),textfont:a.textfont,showlegend:f({},o.showlegend,{dflt:!1})},c(\"\",{cLetter:\"z\",autoColorDflt:!1}))},17562:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298),a=r(59575),o=r(36362),s=r(42174),l=r(40965),u=r(72138).calcAllAutoBins;function c(e,t,r,n){var i,a=new Array(e);if(n)for(i=0;i<e;i++)a[i]=1/(t[i+1]-t[i]);else{var o=1/r;for(i=0;i<e;i++)a[i]=o}return a}function f(e,t){return{start:e(t.start),end:e(t.end),size:t.size}}function h(e,t,r,n,i,a){var o,s=e.length-1,u=new Array(s),c=l(r,n,e,i,a);for(o=0;o<s;o++){var f=(t||[])[o];u[o]=void 0===f?[c(e[o]),c(e[o+1],!0)]:[f,f]}return u}e.exports=function(e,t){var r,l,p,d,v=i.getFromId(e,t.xaxis),g=i.getFromId(e,t.yaxis),m=t.xcalendar,y=t.ycalendar,x=function(e){return v.r2c(e,0,m)},b=function(e){return g.r2c(e,0,y)},_=u(e,t,v,\"x\"),w=_[0],k=_[1],T=u(e,t,g,\"y\"),M=T[0],A=T[1],S=t._length;k.length>S&&k.splice(S,k.length-S),A.length>S&&A.splice(S,A.length-S);var E=[],C=[],L=[],P=\"string\"==typeof w.size,O=\"string\"==typeof M.size,I=[],D=[],z=P?I:w,R=O?D:M,F=0,B=[],N=[],j=t.histnorm,U=t.histfunc,V=-1!==j.indexOf(\"density\"),H=\"max\"===U||\"min\"===U?null:0,q=a.count,G=o[j],Y=!1,W=[],Z=[],X=\"z\"in t?t.z:\"marker\"in t&&Array.isArray(t.marker.color)?t.marker.color:\"\";X&&\"count\"!==U&&(Y=\"avg\"===U,q=a[U]);var K=w.size,J=x(w.start),$=x(w.end)+(J-i.tickIncrement(J,K,!1,m))/1e6;for(r=J;r<$;r=i.tickIncrement(r,K,!1,m))C.push(H),I.push(r),Y&&L.push(0);I.push(r);var Q,ee=C.length,te=(r-J)/ee,re=(Q=J+te/2,v.c2r(Q,0,m)),ne=M.size,ie=b(M.start),ae=b(M.end)+(ie-i.tickIncrement(ie,ne,!1,y))/1e6;for(r=ie;r<ae;r=i.tickIncrement(r,ne,!1,y)){E.push(C.slice()),D.push(r);var oe=new Array(ee);for(l=0;l<ee;l++)oe[l]=[];N.push(oe),Y&&B.push(L.slice())}D.push(r);var se=E.length,le=(r-ie)/se,ue=function(e){return g.c2r(e,0,y)}(ie+le/2);V&&(W=c(C.length,z,te,P),Z=c(E.length,R,le,O)),P||\"date\"!==v.type||(z=f(x,z)),O||\"date\"!==g.type||(R=f(b,R));var ce=!0,fe=!0,he=new Array(ee),pe=new Array(se),de=1/0,ve=1/0,ge=1/0,me=1/0;for(r=0;r<S;r++){var ye=k[r],xe=A[r];p=n.findBin(ye,z),d=n.findBin(xe,R),p>=0&&p<ee&&d>=0&&d<se&&(F+=q(p,r,E[d],X,B[d]),N[d][p].push(r),ce&&(void 0===he[p]?he[p]=ye:he[p]!==ye&&(ce=!1)),fe&&(void 0===pe[d]?pe[d]=xe:pe[d]!==xe&&(fe=!1)),de=Math.min(de,ye-I[p]),ve=Math.min(ve,I[p+1]-ye),ge=Math.min(ge,xe-D[d]),me=Math.min(me,D[d+1]-xe))}if(Y)for(d=0;d<se;d++)F+=s(E[d],B[d]);if(G)for(d=0;d<se;d++)G(E[d],F,W,Z[d]);return{x:k,xRanges:h(I,ce&&he,de,ve,v,m),x0:re,dx:te,y:A,yRanges:h(D,fe&&pe,ge,me,g,y),y0:ue,dy:le,z:E,pts:N}}},93888:function(e,t,r){\"use strict\";var n=r(71828),i=r(75238),a=r(49901),o=r(1586),s=r(58623),l=r(35361);e.exports=function(e,t,r,u){function c(r,i){return n.coerce(e,t,l,r,i)}i(e,t,c,u),!1!==t.visible&&(a(e,t,c,u),o(e,t,u,c,{prefix:\"\",cLetter:\"z\"}),c(\"hovertemplate\"),s(c,u),c(\"xhoverformat\"),c(\"yhoverformat\"))}},76128:function(e,t,r){\"use strict\";var n=r(46248),i=r(89298).hoverLabelText;e.exports=function(e,t,r,a,o){var s=n(e,t,r,a,o);if(s){var l=(e=s[0]).index,u=l[0],c=l[1],f=e.cd[0],h=f.trace,p=f.xRanges[c],d=f.yRanges[u];return e.xLabel=i(e.xa,[p[0],p[1]],h.xhoverformat),e.yLabel=i(e.ya,[d[0],d[1]],h.yhoverformat),s}}},43905:function(e,t,r){\"use strict\";e.exports={attributes:r(35361),supplyDefaults:r(93888),crossTraceDefaults:r(82222),calc:r(90757),plot:r(50347),layerName:\"heatmaplayer\",colorbar:r(61243),style:r(70035),hoverPoints:r(76128),eventData:r(84402),moduleType:\"trace\",name:\"histogram2d\",basePlotModule:r(93612),categories:[\"cartesian\",\"svg\",\"2dMap\",\"histogram\",\"showLegend\"],meta:{}}},75238:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828);e.exports=function(e,t,r,a){var o=r(\"x\"),s=r(\"y\"),l=i.minRowLength(o),u=i.minRowLength(s);l&&u?(t._length=Math.min(l,u),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(e,t,[\"x\",\"y\"],a),(r(\"z\")||r(\"marker.color\"))&&r(\"histfunc\"),r(\"histnorm\"),r(\"autobinx\"),r(\"autobiny\")):t.visible=!1}},99066:function(e,t,r){\"use strict\";var n=r(35361),i=r(70600),a=r(50693),o=r(12663).axisHoverFormat,s=r(1426).extendFlat;e.exports=s({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:n.xbins,nbinsy:n.nbinsy,ybins:n.ybins,autobinx:n.autobinx,autobiny:n.autobiny,bingroup:n.bingroup,xbingroup:n.xbingroup,ybingroup:n.ybingroup,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:{color:i.line.color,width:s({},i.line.width,{dflt:.5}),dash:i.line.dash,smoothing:i.line.smoothing,editType:\"plot\"},xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),zhoverformat:o(\"z\",1),hovertemplate:n.hovertemplate,texttemplate:i.texttemplate,textfont:i.textfont},a(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))},62654:function(e,t,r){\"use strict\";var n=r(71828),i=r(75238),a=r(67217),o=r(8724),s=r(58623),l=r(99066);e.exports=function(e,t,r,u){function c(r,i){return n.coerce(e,t,l,r,i)}i(e,t,c,u),!1!==t.visible&&(a(e,t,c,(function(r){return n.coerce2(e,t,l,r)})),o(e,t,c,u),c(\"xhoverformat\"),c(\"yhoverformat\"),c(\"hovertemplate\"),t.contours&&\"heatmap\"===t.contours.coloring&&s(c,u))}},35902:function(e,t,r){\"use strict\";e.exports={attributes:r(99066),supplyDefaults:r(62654),crossTraceDefaults:r(82222),calc:r(27529),plot:r(29854).plot,layerName:\"contourlayer\",style:r(84426),colorbar:r(90654),hoverPoints:r(52421),moduleType:\"trace\",name:\"histogram2dcontour\",basePlotModule:r(93612),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"histogram\",\"showLegend\"],meta:{}}},46291:function(e,t,r){\"use strict\";var n=r(5386).fF,i=r(5386).si,a=r(50693),o=r(27670).Y,s=r(34e3),l=r(57564),u=r(45802),c=r(43473),f=r(1426).extendFlat,h=r(79952).u;e.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"plot\"},flip:u.tiling.flip,pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},marker:f({colors:l.marker.colors,line:l.marker.line,pattern:h,editType:\"calc\"},a(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:l.leaf,pathbar:u.pathbar,text:s.text,textinfo:l.textinfo,texttemplate:i({editType:\"plot\"},{keys:c.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u.outsidetextfont,textposition:u.textposition,sort:s.sort,root:l.root,domain:o({name:\"icicle\",trace:!0,editType:\"calc\"})}},96346:function(e,t,r){\"use strict\";var n=r(74875);t.name=\"icicle\",t.plot=function(e,r,i,a){n.plotBasePlot(t.name,e,r,i,a)},t.clean=function(e,r,i,a){n.cleanBasePlot(t.name,e,r,i,a)}},46584:function(e,t,r){\"use strict\";var n=r(52147);t.y=function(e,t){return n.calc(e,t)},t.T=function(e){return n._runCrossTraceCalc(\"icicle\",e)}},56524:function(e,t,r){\"use strict\";var n=r(71828),i=r(46291),a=r(7901),o=r(27670).c,s=r(90769).handleText,l=r(97313).TEXTPAD,u=r(37434).handleMarkerDefaults,c=r(21081),f=c.hasColorscale,h=c.handleDefaults;e.exports=function(e,t,r,c){function p(r,a){return n.coerce(e,t,i,r,a)}var d=p(\"labels\"),v=p(\"parents\");if(d&&d.length&&v&&v.length){var g=p(\"values\");g&&g.length?p(\"branchvalues\"):p(\"count\"),p(\"level\"),p(\"maxdepth\"),p(\"tiling.orientation\"),p(\"tiling.flip\"),p(\"tiling.pad\");var m=p(\"text\");p(\"texttemplate\"),t.texttemplate||p(\"textinfo\",Array.isArray(m)?\"text+label\":\"label\"),p(\"hovertext\"),p(\"hovertemplate\");var y=p(\"pathbar.visible\");s(e,t,c,p,\"auto\",{hasPathbar:y,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p(\"textposition\"),u(e,t,c,p);var x=t._hasColorscale=f(e,\"marker\",\"colors\")||(e.marker||{}).coloraxis;x&&h(e,t,c,p,{prefix:\"marker.\",cLetter:\"c\"}),p(\"leaf.opacity\",x?1:.7),t._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},y&&(p(\"pathbar.thickness\",t.pathbar.textfont.size+2*l),p(\"pathbar.side\"),p(\"pathbar.edgeshape\")),p(\"sort\"),p(\"root.color\"),o(t,c,p),t._length=null}else t.visible=!1}},90666:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(91424),o=r(63893),s=r(21538),l=r(82454).styleOne,u=r(43473),c=r(2791),f=r(83523),h=r(24714).formatSliceLabel,p=!1;e.exports=function(e,t,r,d,v){var g=v.width,m=v.height,y=v.viewX,x=v.viewY,b=v.pathSlice,_=v.toMoveInsideSlice,w=v.strTransform,k=v.hasTransition,T=v.handleSlicesExit,M=v.makeUpdateSliceInterpolator,A=v.makeUpdateTextInterpolator,S=v.prevEntry,E=e._context.staticPlot,C=e._fullLayout,L=t[0].trace,P=-1!==L.textposition.indexOf(\"left\"),O=-1!==L.textposition.indexOf(\"right\"),I=-1!==L.textposition.indexOf(\"bottom\"),D=s(r,[g,m],{flipX:L.tiling.flip.indexOf(\"x\")>-1,flipY:L.tiling.flip.indexOf(\"y\")>-1,orientation:L.tiling.orientation,pad:{inner:L.tiling.pad},maxDepth:L._maxDepth}).descendants(),z=1/0,R=-1/0;D.forEach((function(e){var t=e.depth;t>=L._maxDepth?(e.x0=e.x1=(e.x0+e.x1)/2,e.y0=e.y1=(e.y0+e.y1)/2):(z=Math.min(z,t),R=Math.max(R,t))})),d=d.data(D,c.getPtId),L._maxVisibleLayers=isFinite(R)?R-z+1:0,d.enter().append(\"g\").classed(\"slice\",!0),T(d,p,{},[g,m],b),d.order();var F=null;if(k&&S){var B=c.getPtId(S);d.each((function(e){null===F&&c.getPtId(e)===B&&(F={x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:m}},j=d;return k&&(j=j.transition().each(\"end\",(function(){var t=n.select(this);c.setSliceCursor(t,e,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=y(s.x0),s._x1=y(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=y(s.x1-L.tiling.pad),s._hoverY=x(I?s.y1-L.tiling.pad/2:s.y0+L.tiling.pad/2);var d=n.select(this),v=i.ensureSingle(d,\"path\",\"surface\",(function(e){e.style(\"pointer-events\",E?\"none\":\"all\")}));k?v.transition().attrTween(\"d\",(function(e){var t=M(e,p,N(),[g,m],{orientation:L.tiling.orientation,flipX:L.tiling.flip.indexOf(\"x\")>-1,flipY:L.tiling.flip.indexOf(\"y\")>-1});return function(e){return b(t(e))}})):v.attr(\"d\",b),d.call(f,r,e,t,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,e,{isTransitioning:e._transitioning}),v.call(l,s,L,e,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text=\"\":s._text=h(s,r,L,t,C)||\"\";var T=i.ensureSingle(d,\"g\",\"slicetext\"),S=i.ensureSingle(T,\"text\",\"\",(function(e){e.attr(\"data-notex\",1)})),D=i.ensureUniformFontSize(e,c.determineTextFont(L,s,C.font));S.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",O?\"end\":P?\"start\":\"middle\").call(a.font,D).call(o.convertToTspans,e),s.textBB=a.bBox(S.node()),s.transform=_(s,{fontSize:D.size}),s.transform.fontSize=D.size,k?S.transition().attrTween(\"transform\",(function(e){var t=A(e,p,N(),[g,m]);return function(e){return w(t(e))}})):S.attr(\"transform\",w(s))})),F}},69816:function(e,t,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:r(96346),categories:[],animatable:!0,attributes:r(46291),layoutAttributes:r(92894),supplyDefaults:r(56524),supplyLayoutDefaults:r(21070),calc:r(46584).y,crossTraceCalc:r(46584).T,plot:r(85596),style:r(82454).style,colorbar:r(4898),meta:{}}},92894:function(e){\"use strict\";e.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},21070:function(e,t,r){\"use strict\";var n=r(71828),i=r(92894);e.exports=function(e,t){function r(r,a){return n.coerce(e,t,i,r,a)}r(\"iciclecolorway\",t.colorway),r(\"extendiciclecolors\")}},21538:function(e,t,r){\"use strict\";var n=r(674),i=r(14102);e.exports=function(e,t,r){var a=r.flipX,o=r.flipY,s=\"h\"===r.orientation,l=r.maxDepth,u=t[0],c=t[1];l&&(u=(e.height+1)*t[0]/Math.min(e.height+1,l),c=(e.height+1)*t[1]/Math.min(e.height+1,l));var f=n.partition().padding(r.pad.inner).size(s?[t[1],u]:[t[0],c])(e);return(s||a||o)&&i(f,t,{swapXY:s,flipX:a,flipY:o}),f}},85596:function(e,t,r){\"use strict\";var n=r(80694),i=r(90666);e.exports=function(e,t,r,a){return n(e,t,r,a,{type:\"icicle\",drawDescendants:i})}},82454:function(e,t,r){\"use strict\";var n=r(39898),i=r(7901),a=r(71828),o=r(72597).resizeText,s=r(43467);function l(e,t,r,n){var o=t.data.data,l=!t.children,u=o.i,c=a.castOption(r,u,\"marker.line.color\")||i.defaultLine,f=a.castOption(r,u,\"marker.line.width\")||0;e.call(s,t,r,n).style(\"stroke-width\",f).call(i.stroke,c).style(\"opacity\",l?r.leaf.opacity:null)}e.exports={style:function(e){var t=e._fullLayout._iciclelayer.selectAll(\".trace\");o(e,t,\"icicle\"),t.each((function(t){var r=n.select(this),i=t[0].trace;r.style(\"opacity\",i.opacity),r.selectAll(\"path.surface\").each((function(t){n.select(this).call(l,t,i,e)}))}))},styleOne:l}},17230:function(e,t,r){\"use strict\";for(var n=r(9012),i=r(5386).fF,a=r(1426).extendFlat,o=r(51877).colormodel,s=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],l=[],u=[],c=0;c<s.length;c++){var f=o[s[c]];l.push(\"For the `\"+s[c]+\"` colormodel, it is [\"+(f.zminDflt||f.min).join(\", \")+\"].\"),u.push(\"For the `\"+s[c]+\"` colormodel, it is [\"+(f.zmaxDflt||f.max).join(\", \")+\"].\")}e.exports=a({source:{valType:\"string\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},colormodel:{valType:\"enumerated\",values:s,editType:\"calc\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",!1],dflt:!1,editType:\"plot\"},zmin:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},zmax:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",dflt:1,editType:\"calc\"},dy:{valType:\"number\",dflt:1,editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"data_array\",editType:\"plot\"},hoverinfo:a({},n.hoverinfo,{flags:[\"x\",\"y\",\"z\",\"color\",\"name\",\"text\"],dflt:\"x+y+z+text+name\"}),hovertemplate:i({},{keys:[\"z\",\"color\",\"colormodel\"]}),transforms:void 0})},71113:function(e,t,r){\"use strict\";var n=r(71828),i=r(51877),a=r(92770),o=r(89298),s=r(71828).maxRowLength,l=r(67395).A;function u(e,t,r,i){return function(a){return n.constrain((a-e)*t,r,i)}}function c(e,t){return function(r){return n.constrain(r,e,t)}}e.exports=function(e,t){var r,n;if(t._hasZ)r=t.z.length,n=s(t.z);else if(t._hasSource){var f=l(t.source);r=f.height,n=f.width}var h,p=o.getFromId(e,t.xaxis||\"x\"),d=o.getFromId(e,t.yaxis||\"y\"),v=p.d2c(t.x0)-t.dx/2,g=d.d2c(t.y0)-t.dy/2,m=[v,v+n*t.dx],y=[g,g+r*t.dy];if(p&&\"log\"===p.type)for(h=0;h<n;h++)m.push(v+h*t.dx);if(d&&\"log\"===d.type)for(h=0;h<r;h++)y.push(g+h*t.dy);return t._extremes[p._id]=o.findExtremes(p,m),t._extremes[d._id]=o.findExtremes(d,y),t._scaler=function(e){var t=i.colormodel[e.colormodel],r=(t.colormodel||e.colormodel).length;e._sArray=[];for(var n=0;n<r;n++)t.min[n]!==e.zmin[n]||t.max[n]!==e.zmax[n]?e._sArray.push(u(e.zmin[n],(t.max[n]-t.min[n])/(e.zmax[n]-e.zmin[n]),t.min[n],t.max[n])):e._sArray.push(c(t.min[n],t.max[n]));return function(t){for(var n=t.slice(0,r),i=0;i<r;i++){var o=n[i];if(!a(o))return!1;n[i]=e._sArray[i](o)}return n}}(t),[{x0:v,y0:g,z:t.z,w:n,h:r}]}},51877:function(e){\"use strict\";e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:[\"\",\"\",\"\"]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},rgba256:{colormodel:\"rgba\",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"°\",\"%\",\"%\"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"°\",\"%\",\"%\",\"\"]}}}},13245:function(e,t,r){\"use strict\";var n=r(71828),i=r(17230),a=r(51877),o=r(25095).IMAGE_URL_PREFIX;e.exports=function(e,t){function r(r,a){return n.coerce(e,t,i,r,a)}r(\"source\"),t.source&&!t.source.match(o)&&delete t.source,t._hasSource=!!t.source;var s,l=r(\"z\");t._hasZ=!(void 0===l||!l.length||!l[0]||!l[0].length),t._hasZ||t._hasSource?(r(\"x0\"),r(\"y0\"),r(\"dx\"),r(\"dy\"),t._hasZ?(r(\"colormodel\",\"rgb\"),r(\"zmin\",(s=a.colormodel[t.colormodel]).zminDflt||s.min),r(\"zmax\",s.zmaxDflt||s.max)):t._hasSource&&(t.colormodel=\"rgba256\",s=a.colormodel[t.colormodel],t.zmin=s.zminDflt,t.zmax=s.zmaxDflt),r(\"zsmooth\"),r(\"text\"),r(\"hovertext\"),r(\"hovertemplate\"),t._length=null):t.visible=!1}},30835:function(e){\"use strict\";e.exports=function(e,t){return\"xVal\"in t&&(e.x=t.xVal),\"yVal\"in t&&(e.y=t.yVal),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e.color=t.color,e.colormodel=t.trace.colormodel,e.z||(e.z=t.color),e}},67395:function(e,t,r){\"use strict\";var n=r(33575),i=r(25095).IMAGE_URL_PREFIX,a=r(12856).Buffer;t.A=function(e){var t=e.replace(i,\"\"),r=new a(t,\"base64\");return n(r)}},28749:function(e,t,r){\"use strict\";var n=r(30211),i=r(71828),a=r(51877);e.exports=function(e,t,r){var o=e.cd[0],s=o.trace,l=e.xa,u=e.ya;if(!(n.inbox(t-o.x0,t-(o.x0+o.w*s.dx),0)>0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var c,f=Math.floor((t-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(s._hasZ?c=o.z[h][f]:s._hasSource&&(c=s._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(f,h,1,1).data),c){var p,d=o.hi||s.hoverinfo;if(d){var v=d.split(\"+\");-1!==v.indexOf(\"all\")&&(v=[\"color\"]),-1!==v.indexOf(\"color\")&&(p=!0)}var g,m=a.colormodel[s.colormodel],y=m.colormodel||s.colormodel,x=y.length,b=s._scaler(c),_=m.suffix,w=[];(s.hovertemplate||p)&&(w.push(\"[\"+[b[0]+_[0],b[1]+_[1],b[2]+_[2]].join(\", \")),4===x&&w.push(\", \"+b[3]+_[3]),w.push(\"]\"),w=w.join(\"\"),e.extraText=y.toUpperCase()+\": \"+w),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][f]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][f]);var k=u.c2p(o.y0+(h+.5)*s.dy),T=o.x0+(f+.5)*s.dx,M=o.y0+(h+.5)*s.dy,A=\"[\"+c.slice(0,s.colormodel.length).join(\", \")+\"]\";return[i.extendFlat(e,{index:[h,f],x0:l.c2p(o.x0+f*s.dx),x1:l.c2p(o.x0+(f+1)*s.dx),y0:k,y1:k,color:b,xVal:T,xLabelVal:T,yVal:M,yLabelVal:M,zLabelVal:A,text:g,hovertemplateLabels:{zLabel:A,colorLabel:w,\"color[0]Label\":b[0]+_[0],\"color[1]Label\":b[1]+_[1],\"color[2]Label\":b[2]+_[2],\"color[3]Label\":b[3]+_[3]}})]}}}},94507:function(e,t,r){\"use strict\";e.exports={attributes:r(17230),supplyDefaults:r(13245),calc:r(71113),plot:r(60775),style:r(12826),hoverPoints:r(28749),eventData:r(30835),moduleType:\"trace\",name:\"image\",basePlotModule:r(93612),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}},60775:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=i.strTranslate,o=r(77922),s=r(51877),l=r(3883),u=r(32396).STYLE;e.exports=function(e,t,r,c){var f=t.xaxis,h=t.yaxis,p=!e._context._exportedPlot&&l();i.makeTraceGroups(c,r,\"im\").each((function(t){var r=n.select(this),l=t[0],c=l.trace,d=(\"fast\"===c.zsmooth||!1===c.zsmooth&&p)&&!c._hasZ&&c._hasSource&&\"linear\"===f.type&&\"linear\"===h.type;c._realImage=d;var v,g,m,y,x,b,_=l.z,w=l.x0,k=l.y0,T=l.w,M=l.h,A=c.dx,S=c.dy;for(b=0;void 0===v&&b<T;)v=f.c2p(w+b*A),b++;for(b=T;void 0===g&&b>0;)g=f.c2p(w+b*A),b--;for(b=0;void 0===y&&b<M;)y=h.c2p(k+b*S),b++;for(b=M;void 0===x&&b>0;)x=h.c2p(k+b*S),b--;g<v&&(m=g,g=v,v=m),x<y&&(m=y,y=x,x=m),d||(v=Math.max(-.5*f._length,v),g=Math.min(1.5*f._length,g),y=Math.max(-.5*h._length,y),x=Math.min(1.5*h._length,x));var E=Math.round(g-v),C=Math.round(x-y);if(E<=0||C<=0)r.selectAll(\"image\").data([]).exit().remove();else{var L=r.selectAll(\"image\").data([t]);L.enter().append(\"svg:image\").attr({xmlns:o.svg,preserveAspectRatio:\"none\"}),L.exit().remove();var P=!1===c.zsmooth?u:\"\";if(d){var O=i.simpleMap(f.range,f.r2l),I=i.simpleMap(h.range,h.r2l),D=O[1]<O[0],z=I[1]>I[0];if(D||z){var R=v+E/2,F=y+C/2;P+=\"transform:\"+a(R+\"px\",F+\"px\")+\"scale(\"+(D?-1:1)+\",\"+(z?-1:1)+\")\"+a(-R+\"px\",-F+\"px\")+\";\"}}L.attr(\"style\",P);var B=new Promise((function(e){if(c._hasZ)e();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===T&&c._canvas.el.height===M&&c._canvas.source===c.source)e();else{var t=document.createElement(\"canvas\");t.width=T,t.height=M;var r=t.getContext(\"2d\",{willReadFrequently:!0});c._image=c._image||new Image;var n=c._image;n.onload=function(){r.drawImage(n,0,0),c._canvas={el:t,source:c.source},e()},n.setAttribute(\"src\",c.source)}})).then((function(){var e,t;if(c._hasZ)t=N((function(e,t){return _[t][e]})),e=t.toDataURL(\"image/png\");else if(c._hasSource)if(d)e=c.source;else{var r=c._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(0,0,T,M).data;t=N((function(e,t){var n=4*(t*T+e);return[r[n],r[n+1],r[n+2],r[n+3]]})),e=t.toDataURL(\"image/png\")}L.attr({\"xlink:href\":e,height:C,width:E,x:v,y})}));e._promises.push(B)}function N(e){var t=document.createElement(\"canvas\");t.width=E,t.height=C;var r,n=t.getContext(\"2d\",{willReadFrequently:!0}),a=function(e){return i.constrain(Math.round(f.c2p(w+e*A)-v),0,E)},o=function(e){return i.constrain(Math.round(h.c2p(k+e*S)-y),0,C)},u=s.colormodel[c.colormodel],p=u.colormodel||c.colormodel,d=u.fmt;for(b=0;b<l.w;b++){var g=a(b),m=a(b+1);if(m!==g&&!isNaN(m)&&!isNaN(g))for(var x=0;x<l.h;x++){var _=o(x),T=o(x+1);T===_||isNaN(T)||isNaN(_)||!e(b,x)||(r=c._scaler(e(b,x)),n.fillStyle=r?p+\"(\"+d(r).join(\",\")+\")\":\"rgba(0,0,0,0)\",n.fillRect(g,_,m-g,T-_))}}return t}}))}},12826:function(e,t,r){\"use strict\";var n=r(39898);e.exports=function(e){n.select(e).selectAll(\".im image\").style(\"opacity\",(function(e){return e[0].trace.opacity}))}},54846:function(e,t,r){\"use strict\";var n=r(1426).extendFlat,i=r(1426).extendDeep,a=r(30962).overrideAll,o=r(41940),s=r(22399),l=r(27670).Y,u=r(13838),c=r(44467).templatedArray,f=r(22372),h=r(12663).descriptionOnlyNumbers,p=o({editType:\"plot\",colorEditType:\"plot\"}),d={color:{valType:\"color\",editType:\"plot\"},line:{color:{valType:\"color\",dflt:s.defaultLine,editType:\"plot\"},width:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},thickness:{valType:\"number\",min:0,max:1,dflt:1,editType:\"plot\"},editType:\"calc\"},v={valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},g=c(\"step\",i({},d,{range:v}));e.exports={mode:{valType:\"flaglist\",editType:\"calc\",flags:[\"number\",\"delta\",\"gauge\"],dflt:\"number\"},value:{valType:\"number\",editType:\"calc\",anim:!0},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},domain:l({name:\"indicator\",trace:!0,editType:\"calc\"}),title:{text:{valType:\"string\",editType:\"plot\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},font:n({},p,{}),editType:\"plot\"},number:{valueformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:h(\"value\")},font:n({},p,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"plot\"},delta:{reference:{valType:\"number\",editType:\"calc\"},position:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],dflt:\"bottom\",editType:\"plot\"},relative:{valType:\"boolean\",editType:\"plot\",dflt:!1},valueformat:{valType:\"string\",editType:\"plot\",description:h(\"value\")},increasing:{symbol:{valType:\"string\",dflt:f.INCREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:f.INCREASING.COLOR,editType:\"plot\"},editType:\"plot\"},decreasing:{symbol:{valType:\"string\",dflt:f.DECREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:f.DECREASING.COLOR,editType:\"plot\"},editType:\"plot\"},font:n({},p,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"calc\"},gauge:{shape:{valType:\"enumerated\",editType:\"plot\",dflt:\"angular\",values:[\"angular\",\"bullet\"]},bar:i({},d,{color:{dflt:\"green\"}}),bgcolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:s.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},axis:a({range:v,visible:n({},u.visible,{dflt:!0}),tickmode:u.minor.tickmode,nticks:u.nticks,tick0:u.tick0,dtick:u.dtick,tickvals:u.tickvals,ticktext:u.ticktext,ticks:n({},u.ticks,{dflt:\"outside\"}),ticklen:u.ticklen,tickwidth:u.tickwidth,tickcolor:u.tickcolor,ticklabelstep:u.ticklabelstep,showticklabels:u.showticklabels,labelalias:u.labelalias,tickfont:o({}),tickangle:u.tickangle,tickformat:u.tickformat,tickformatstops:u.tickformatstops,tickprefix:u.tickprefix,showtickprefix:u.showtickprefix,ticksuffix:u.ticksuffix,showticksuffix:u.showticksuffix,separatethousands:u.separatethousands,exponentformat:u.exponentformat,minexponent:u.minexponent,showexponent:u.showexponent,editType:\"plot\"},\"plot\"),steps:g,threshold:{line:{color:n({},d.line.color,{}),width:n({},d.line.width,{dflt:1}),editType:\"plot\"},thickness:n({},d.thickness,{dflt:.85}),value:{valType:\"number\",editType:\"calc\",dflt:!1},editType:\"plot\"},editType:\"plot\"}}},15970:function(e,t,r){\"use strict\";var n=r(74875);t.name=\"indicator\",t.plot=function(e,r,i,a){n.plotBasePlot(t.name,e,r,i,a)},t.clean=function(e,r,i,a){n.cleanBasePlot(t.name,e,r,i,a)}},24667:function(e){\"use strict\";e.exports={calc:function(e,t){var r=[],n=t.value;\"number\"!=typeof t._lastValue&&(t._lastValue=t.value);var i=t._lastValue,a=i;return t._hasDelta&&\"number\"==typeof t.delta.reference&&(a=t.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}}},84577:function(e){\"use strict\";e.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}},94425:function(e,t,r){\"use strict\";var n=r(71828),i=r(54846),a=r(27670).c,o=r(44467),s=r(85501),l=r(84577),u=r(26218),c=r(38701),f=r(96115),h=r(89426);function p(e,t){function r(r,a){return n.coerce(e,t,i.gauge.steps,r,a)}r(\"color\"),r(\"line.color\"),r(\"line.width\"),r(\"range\"),r(\"thickness\")}e.exports={supplyDefaults:function(e,t,r,d){function v(r,a){return n.coerce(e,t,i,r,a)}a(t,d,v),v(\"mode\"),t._hasNumber=-1!==t.mode.indexOf(\"number\"),t._hasDelta=-1!==t.mode.indexOf(\"delta\"),t._hasGauge=-1!==t.mode.indexOf(\"gauge\");var g=v(\"value\");t._range=[0,\"number\"==typeof g?1.5*g:1];var m,y,x,b,_,w,k=new Array(2);function T(e,t){return n.coerce(x,b,i.gauge,e,t)}function M(e,t){return n.coerce(_,w,i.gauge.axis,e,t)}if(t._hasNumber&&(v(\"number.valueformat\"),v(\"number.font.color\",d.font.color),v(\"number.font.family\",d.font.family),v(\"number.font.size\"),void 0===t.number.font.size&&(t.number.font.size=l.defaultNumberFontSize,k[0]=!0),v(\"number.prefix\"),v(\"number.suffix\"),m=t.number.font.size),t._hasDelta&&(v(\"delta.font.color\",d.font.color),v(\"delta.font.family\",d.font.family),v(\"delta.font.size\"),void 0===t.delta.font.size&&(t.delta.font.size=(t._hasNumber?.5:1)*(m||l.defaultNumberFontSize),k[1]=!0),v(\"delta.reference\",t.value),v(\"delta.relative\"),v(\"delta.valueformat\",t.delta.relative?\"2%\":\"\"),v(\"delta.increasing.symbol\"),v(\"delta.increasing.color\"),v(\"delta.decreasing.symbol\"),v(\"delta.decreasing.color\"),v(\"delta.position\"),v(\"delta.prefix\"),v(\"delta.suffix\"),y=t.delta.font.size),t._scaleNumbers=(!t._hasNumber||k[0])&&(!t._hasDelta||k[1])||!1,v(\"title.font.color\",d.font.color),v(\"title.font.family\",d.font.family),v(\"title.font.size\",.25*(m||y||l.defaultNumberFontSize)),v(\"title.text\"),t._hasGauge){(x=e.gauge)||(x={}),b=o.newContainer(t,\"gauge\"),T(\"shape\"),(t._isBullet=\"bullet\"===t.gauge.shape)||v(\"title.align\",\"center\"),(t._isAngular=\"angular\"===t.gauge.shape)||v(\"align\",\"center\"),T(\"bgcolor\",d.paper_bgcolor),T(\"borderwidth\"),T(\"bordercolor\"),T(\"bar.color\"),T(\"bar.line.color\"),T(\"bar.line.width\"),T(\"bar.thickness\",l.valueThickness*(\"bullet\"===t.gauge.shape?.5:1)),s(x,b,{name:\"steps\",handleItemDefaults:p}),T(\"threshold.value\"),T(\"threshold.thickness\"),T(\"threshold.line.width\"),T(\"threshold.line.color\"),_={},x&&(_=x.axis||{}),w=o.newContainer(b,\"axis\"),M(\"visible\"),t._range=M(\"range\",t._range);var A={outerTicks:!0};u(_,w,M,\"linear\"),h(_,w,M,\"linear\",A),f(_,w,M,\"linear\",A),c(_,w,M,A)}else v(\"title.align\",\"center\"),v(\"align\",\"center\"),t._isAngular=t._isBullet=!1;t._length=null}}},15154:function(e,t,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"indicator\",basePlotModule:r(15970),categories:[\"svg\",\"noOpacity\",\"noHover\"],animatable:!0,attributes:r(54846),supplyDefaults:r(94425).supplyDefaults,calc:r(24667).calc,plot:r(75634),meta:{}}},75634:function(e,t,r){\"use strict\";var n=r(39898),i=r(81684).sX,a=r(81684).k4,o=r(71828),s=o.strScale,l=o.strTranslate,u=o.rad2deg,c=r(18783).MID_SHIFT,f=r(91424),h=r(84577),p=r(63893),d=r(89298),v=r(71453),g=r(52830),m=r(13838),y=r(7901),x={left:\"start\",center:\"middle\",right:\"end\"},b={left:0,center:.5,right:1},_=/[yzafpnµmkMGTPEZY]/;function w(e){return e&&e.duration>0}function k(e){e.each((function(e){y.stroke(n.select(this),e.line.color)})).each((function(e){y.fill(n.select(this),e.color)})).style(\"stroke-width\",(function(e){return e.line.width}))}function T(e,t,r){var n=e._fullLayout,i=o.extendFlat({type:\"linear\",ticks:\"outside\",range:r,showline:!0},t),a={type:\"linear\",_id:\"x\"+t._id},s={letter:\"x\",font:n.font,noHover:!0,noTickson:!0};function l(e,t){return o.coerce(i,a,m,e,t)}return v(i,a,l,s,n),g(i,a,l,s),a}function M(e,t,r){return[Math.min(t/e.width,r/e.height),e,t+\"x\"+r]}function A(e,t,r,i){var a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),o=n.select(a);return o.text(e).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",r).attr(\"data-unformatted\",e).call(p.convertToTspans,i).call(f.font,t),f.bBox(o.node())}function S(e,t,r,n,i,a){var s=\"_cache\"+t;e[s]&&e[s].key===i||(e[s]={key:i,value:r});var l=o.aggNums(a,null,[e[s].value,n],2);return e[s].value=l,l}e.exports=function(e,t,r,v){var g,m=e._fullLayout;w(r)&&v&&(g=v()),o.makeTraceGroups(m._indicatorlayer,t,\"trace\").each((function(t){var v,E,C,L,P,O=t[0].trace,I=n.select(this),D=O._hasGauge,z=O._isAngular,R=O._isBullet,F=O.domain,B={w:m._size.w*(F.x[1]-F.x[0]),h:m._size.h*(F.y[1]-F.y[0]),l:m._size.l+m._size.w*F.x[0],r:m._size.r+m._size.w*(1-F.x[1]),t:m._size.t+m._size.h*(1-F.y[1]),b:m._size.b+m._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,H=O.align||\"center\";if(E=j,D){if(z&&(v=N,E=j+U/2,C=function(e){return function(e,t){return[t/Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),e,t]}(e,.9*V)}),R){var q=h.bulletPadding,G=1-h.bulletNumberDomainSize+q;v=B.l+(G+(1-G)*b[H])*B.w,C=function(e){return M(e,(h.bulletNumberDomainSize-q)*B.w,B.h)}}}else v=B.l+b[H]*B.w,C=function(e){return M(e,B.w,B.h)};!function(e,t,r,i){var u,c,h,v=r[0].trace,g=i.numbersX,m=i.numbersY,k=v.align||\"center\",M=x[k],E=i.transitionOpts,C=i.onComplete,L=o.ensureSingle(t,\"g\",\"numbers\"),P=[];v._hasNumber&&P.push(\"number\"),v._hasDelta&&(P.push(\"delta\"),\"left\"===v.delta.position&&P.reverse());var O=L.selectAll(\"text\").data(P);function I(t,r,n,i){if(!t.match(\"s\")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=t.slice().replace(\"s\",\"f\").replace(/\\d+/,(function(e){return parseInt(e)-1})),o=T(e,{tickformat:a});return function(e){return Math.abs(e)<1?d.tickText(o,e).text:r(e)}}O.enter().append(\"text\"),O.attr(\"text-anchor\",(function(){return M})).attr(\"class\",(function(e){return e})).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),O.exit().remove();var D,z=v.mode+v.align;if(v._hasDelta&&(D=function(){var t=T(e,{tickformat:v.delta.valueformat},v._range);t.setScale(),d.prepTicks(t);var i=function(e){return d.tickText(t,e).text},o=v.delta.suffix,s=v.delta.prefix,l=function(e){return v.delta.relative?e.relativeDelta:e.delta},u=function(e,t){return 0===e||\"number\"!=typeof e||isNaN(e)?\"-\":(e>0?v.delta.increasing.symbol:v.delta.decreasing.symbol)+s+t(e)+o},h=function(e){return e.delta>=0?v.delta.increasing.color:v.delta.decreasing.color};void 0===v._deltaLastValue&&(v._deltaLastValue=l(r[0]));var g=L.select(\"text.delta\");function m(){g.text(u(l(r[0]),i)).call(y.fill,h(r[0])).call(p.convertToTspans,e)}return g.call(f.font,v.delta.font).call(y.fill,h({delta:v._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween(\"text\",(function(){var e=n.select(this),t=l(r[0]),o=v._deltaLastValue,s=I(v.delta.valueformat,i,o,t),c=a(o,t);return v._deltaLastValue=t,function(t){e.text(u(c(t),s)),e.call(y.fill,h({delta:c(t)}))}})).each(\"end\",(function(){m(),C&&C()})).each(\"interrupt\",(function(){m(),C&&C()})):m(),c=A(u(l(r[0]),i),v.delta.font,M,e),g}(),z+=v.delta.position+v.delta.font.size+v.delta.font.family+v.delta.valueformat,z+=v.delta.increasing.symbol+v.delta.decreasing.symbol,h=c),v._hasNumber&&(function(){var t=T(e,{tickformat:v.number.valueformat},v._range);t.setScale(),d.prepTicks(t);var i=function(e){return d.tickText(t,e).text},o=v.number.suffix,s=v.number.prefix,l=L.select(\"text.number\");function c(){var t=\"number\"==typeof r[0].y?s+i(r[0].y)+o:\"-\";l.text(t).call(f.font,v.number.font).call(p.convertToTspans,e)}w(E)?l.transition().duration(E.duration).ease(E.easing).each(\"end\",(function(){c(),C&&C()})).each(\"interrupt\",(function(){c(),C&&C()})).attrTween(\"text\",(function(){var e=n.select(this),t=a(r[0].lastY,r[0].y);v._lastValue=r[0].y;var l=I(v.number.valueformat,i,r[0].lastY,r[0].y);return function(r){e.text(s+l(t(r))+o)}})):c(),u=A(s+i(r[0].y)+o,v.number.font,M,e)}(),z+=v.number.font.size+v.number.font.family+v.number.valueformat+v.number.suffix+v.number.prefix,h=u),v._hasDelta&&v._hasNumber){var R,F,B=[(u.left+u.right)/2,(u.top+u.bottom)/2],N=[(c.left+c.right)/2,(c.top+c.bottom)/2],j=.75*v.delta.font.size;\"left\"===v.delta.position&&(R=S(v,\"deltaPos\",0,-1*(u.width*b[v.align]+c.width*(1-b[v.align])+j),z,Math.min),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:c.left+R,right:u.right,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),\"right\"===v.delta.position&&(R=S(v,\"deltaPos\",0,u.width*(1-b[v.align])+c.width*b[v.align]+j,z,Math.max),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:u.left,right:c.right+R,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),\"bottom\"===v.delta.position&&(R=null,F=c.height,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height,bottom:u.bottom+c.height}),\"top\"===v.delta.position&&(R=null,F=u.top,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height-c.height,bottom:u.bottom}),D.attr({dx:R,dy:F})}(v._hasNumber||v._hasDelta)&&L.attr(\"transform\",(function(){var e=i.numbersScaler(h);z+=e[2];var t,r=S(v,\"numbersScale\",1,e[0],z,Math.min);v._scaleNumbers||(r=1),t=v._isAngular?m-r*h.bottom:m-r*(h.top+h.bottom)/2,v._numbersTop=r*h.top+t;var n=h[k];\"center\"===k&&(n=(h.left+h.right)/2);var a=g-r*n;return a=S(v,\"numbersTranslate\",0,a,z,Math.max),l(a,t)+s(r)}))}(e,I,t,{numbersX:v,numbersY:E,numbersScaler:C,transitionOpts:r,onComplete:g}),D&&(L={range:O.gauge.axis.range,color:O.gauge.bgcolor,line:{color:O.gauge.bordercolor,width:0},thickness:1},P={range:O.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:O.gauge.bordercolor,width:O.gauge.borderwidth},thickness:1});var Y=I.selectAll(\"g.angular\").data(z?t:[]);Y.exit().remove();var W=I.selectAll(\"g.angularaxis\").data(z?t:[]);W.exit().remove(),z&&function(e,t,r,a){var o,s,f,h,p=r[0].trace,v=a.size,g=a.radius,m=a.innerRadius,y=a.gaugeBg,x=a.gaugeOutline,b=[v.l+v.w/2,v.t+v.h/2+g/2],_=a.gauge,M=a.layer,A=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function C(e){var t=p.gauge.axis.range[0],r=(e-t)/(p.gauge.axis.range[1]-t)*Math.PI-E;return r<-E?-E:r>E?E:r}function L(e){return n.svg.arc().innerRadius((m+g)/2-e/2*(g-m)).outerRadius((m+g)/2+e/2*(g-m)).startAngle(-E)}function P(e){e.attr(\"d\",(function(e){return L(e.thickness).startAngle(C(e.range[0])).endAngle(C(e.range[1]))()}))}_.enter().append(\"g\").classed(\"angular\",!0),_.attr(\"transform\",l(b[0],b[1])),M.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),M.selectAll(\"g.xangularaxistick,path,text\").remove(),(o=T(e,p.gauge.axis)).type=\"linear\",o.range=p.gauge.axis.range,o._id=\"xangularaxis\",o.ticklabeloverflow=\"allow\",o.setScale();var O=function(e){return(o.range[0]-e.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},I={},D=d.makeLabelFns(o,0).labelStandoff;I.xFn=function(e){var t=O(e);return Math.cos(t)*D},I.yFn=function(e){var t=O(e),r=Math.sin(t)>0?.2:1;return-Math.sin(t)*(D+e.fontSize*r)+Math.abs(Math.cos(t))*(e.fontSize*c)},I.anchorFn=function(e){var t=O(e),r=Math.cos(t);return Math.abs(r)<.1?\"middle\":r>0?\"start\":\"end\"},I.heightFn=function(e,t,r){var n=O(e);return-.5*(1+Math.sin(n))*r};var z=function(e){return l(b[0]+g*Math.cos(e),b[1]-g*Math.sin(e))};f=function(e){return z(O(e))};if(s=d.calcTicks(o),h=d.getTickSigns(o)[2],o.visible){h=\"inside\"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(e,o,{vals:s,layer:M,path:\"M\"+h*R+\",0h\"+h*o.ticklen,transFn:function(e){var t=O(e);return z(t)+\"rotate(\"+-u(t)+\")\"}}),d.drawLabels(e,o,{vals:s,layer:M,transFn:f,labelFns:I})}var F=[y].concat(p.gauge.steps),B=_.selectAll(\"g.bg-arc\").data(F);B.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),B.select(\"path\").call(P).call(k),B.exit().remove();var N=L(p.gauge.bar.thickness),j=_.selectAll(\"g.value-arc\").data([p.gauge.bar]);j.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var U,V,H,q=j.select(\"path\");w(A)?(q.transition().duration(A.duration).ease(A.easing).each(\"end\",(function(){S&&S()})).each(\"interrupt\",(function(){S&&S()})).attrTween(\"d\",(U=N,V=C(r[0].lastY),H=C(r[0].y),function(){var e=i(V,H);return function(t){return U.endAngle(e(t))()}})),p._lastValue=r[0].y):q.attr(\"d\",\"number\"==typeof r[0].y?N.endAngle(C(r[0].y)):\"M0,0Z\"),q.call(k),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var Y=_.selectAll(\"g.threshold-arc\").data(F);Y.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),Y.select(\"path\").call(P).call(k),Y.exit().remove();var W=_.selectAll(\"g.gauge-outline\").data([x]);W.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),W.select(\"path\").call(P).call(k),W.exit().remove()}(e,0,t,{radius:U,innerRadius:V,gauge:Y,layer:W,size:B,gaugeBg:L,gaugeOutline:P,transitionOpts:r,onComplete:g});var Z=I.selectAll(\"g.bullet\").data(R?t:[]);Z.exit().remove();var X=I.selectAll(\"g.bulletaxis\").data(R?t:[]);X.exit().remove(),R&&function(e,t,r,n){var i,a,o,s,u,c=r[0].trace,f=n.gauge,p=n.layer,v=n.gaugeBg,g=n.gaugeOutline,m=n.size,x=c.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append(\"g\").classed(\"bullet\",!0),f.attr(\"transform\",l(m.l,m.t)),p.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),p.selectAll(\"g.xbulletaxistick,path,text\").remove();var M=m.h,A=c.gauge.bar.thickness*M,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(c._hasNumber||c._hasDelta?1-h.bulletNumberDomainSize:1);function C(e){e.attr(\"width\",(function(e){return Math.max(0,i.c2p(e.range[1])-i.c2p(e.range[0]))})).attr(\"x\",(function(e){return i.c2p(e.range[0])})).attr(\"y\",(function(e){return.5*(1-e.thickness)*M})).attr(\"height\",(function(e){return e.thickness*M}))}(i=T(e,c.gauge.axis))._id=\"xbulletaxis\",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],u=m.t+m.h,i.visible&&(d.drawTicks(e,i,{vals:\"inside\"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,u,s),transFn:o}),d.drawLabels(e,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,u)}));var L=[v].concat(c.gauge.steps),P=f.selectAll(\"g.bg-bullet\").data(L);P.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),P.select(\"rect\").call(C).call(k),P.exit().remove();var O=f.selectAll(\"g.value-bullet\").data([c.gauge.bar]);O.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),O.select(\"rect\").attr(\"height\",A).attr(\"y\",(M-A)/2).call(k),w(b)?O.select(\"rect\").transition().duration(b.duration).ease(b.easing).each(\"end\",(function(){_&&_()})).each(\"interrupt\",(function(){_&&_()})).attr(\"width\",Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y)))):O.select(\"rect\").attr(\"width\",\"number\"==typeof r[0].y?Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y))):0),O.exit().remove();var I=r.filter((function(){return c.gauge.threshold.value||0===c.gauge.threshold.value})),D=f.selectAll(\"g.threshold-bullet\").data(I);D.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),D.select(\"line\").attr(\"x1\",i.c2p(c.gauge.threshold.value)).attr(\"x2\",i.c2p(c.gauge.threshold.value)).attr(\"y1\",(1-c.gauge.threshold.thickness)/2*M).attr(\"y2\",(1-(1-c.gauge.threshold.thickness)/2)*M).call(y.stroke,c.gauge.threshold.line.color).style(\"stroke-width\",c.gauge.threshold.line.width),D.exit().remove();var z=f.selectAll(\"g.gauge-outline\").data([g]);z.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),z.select(\"rect\").call(C).call(k),z.exit().remove()}(e,0,t,{gauge:Z,layer:X,size:B,gaugeBg:L,gaugeOutline:P,transitionOpts:r,onComplete:g});var K=I.selectAll(\"text.title\").data(t);K.exit().remove(),K.enter().append(\"text\").classed(\"title\",!0),K.attr(\"text-anchor\",(function(){return R?x.right:x[O.title.align]})).text(O.title.text).call(f.font,O.title.font).call(p.convertToTspans,e),K.attr(\"transform\",(function(){var e,t=B.l+B.w*b[O.title.align],r=h.titlePadding,n=f.bBox(K.node());return D?(z&&(e=O.gauge.axis.visible?f.bBox(W.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(e=E-(n.top+n.bottom)/2,t=B.l-h.bulletPadding*B.w)):e=O._numbersTop-r-n.bottom,l(t,e)}))}))}},16249:function(e,t,r){\"use strict\";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(2418),s=r(9012),l=r(1426).extendFlat,u=r(30962).overrideAll,c=e.exports=u(l({x:{valType:\"data_array\"},y:{valType:\"data_array\"},z:{valType:\"data_array\"},value:{valType:\"data_array\"},isomin:{valType:\"number\"},isomax:{valType:\"number\"},surface:{show:{valType:\"boolean\",dflt:!0},count:{valType:\"integer\",dflt:2,min:1},fill:{valType:\"number\",min:0,max:1,dflt:1},pattern:{valType:\"flaglist\",flags:[\"A\",\"B\",\"C\",\"D\",\"E\"],extras:[\"all\",\"odd\",\"even\"],dflt:\"all\"}},spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}},y:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}},z:{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}},y:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}},z:{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}}},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:a(),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),valuehoverformat:i(\"value\",1),showlegend:l({},s.showlegend,{dflt:!1})},n(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),\"calc\",\"nested\");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType=\"calc+clearAxisTypes\",c.transforms=void 0},56959:function(e,t,r){\"use strict\";var n=r(78803),i=r(88489).processGrid,a=r(88489).filter;e.exports=function(e,t){t._len=Math.min(t.x.length,t.y.length,t.z.length,t.value.length),t._x=a(t.x,t._len),t._y=a(t.y,t._len),t._z=a(t.z,t._len),t._value=a(t.value,t._len);var r=i(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;for(var o=1/0,s=-1/0,l=0;l<t._len;l++){var u=t._value[l];o=Math.min(o,u),s=Math.max(s,u)}t._minValues=o,t._maxValues=s,t._vMin=void 0===t.isomin||null===t.isomin?o:t.isomin,t._vMax=void 0===t.isomax||null===t.isomin?s:t.isomax,n(e,t,{vals:[t._vMin,t._vMax],containerStr:\"\",cLetter:\"c\"})}},22674:function(e,t,r){\"use strict\";var n=r(9330).gl_mesh3d,i=r(81697).parseColorScale,a=r(78614),o=r(21081).extractOpts,s=r(90060),l=function(e,t){for(var r=t.length-1;r>0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n<e&&e<=i)return{id:r,distRatio:(i-e)/(i-n)}}return{id:0,distRatio:0}};function u(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var c=u.prototype;c.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,u=l(n,this.data._Ys).id,c=l(i,this.data._Zs).id,f=e.index=c+o*u+o*a*s;e.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var h=this.data.hovertext||this.data.text;return Array.isArray(h)&&void 0!==h[f]?e.textLabel=h[f]:h&&(e.textLabel=h),!0}},c.update=function(e){var t=this.scene,r=t.fullSceneLayout;function n(e,t,r,n){return t.map((function(t){return e.d2l(t,0,n)*r}))}this.data=h(e);var l={positions:s(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),cells:s(e._meshI,e._meshJ,e._meshK),lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:a(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},u=o(e);l.vertexIntensity=e._meshIntensity,l.vertexIntensityBounds=[u.min,u.max],l.colormap=i(e),this.mesh.update(l)},c.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var f=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"];function h(e){e._meshI=[],e._meshJ=[],e._meshK=[];var t,r,n,i,a,o,s,u=e.surface.show,c=e.spaceframe.show,h=e.surface.fill,p=e.spaceframe.fill,d=!1,v=!1,g=0,m=e._Xs,y=e._Ys,x=e._Zs,b=m.length,_=y.length,w=x.length,k=f.indexOf(e._gridFill.replace(/-/g,\"\").replace(/\\+/g,\"\")),T=function(e,t,r){switch(k){case 5:return r+w*t+w*_*e;case 4:return r+w*e+w*b*t;case 3:return t+_*r+_*w*e;case 2:return t+_*e+_*b*r;case 1:return e+b*r+b*w*t;default:return e+b*t+b*_*r}},M=e._minValues,A=e._maxValues,S=e._vMin,E=e._vMax;function C(e,t,s){for(var l=o.length,u=r;u<l;u++)if(e===n[u]&&t===i[u]&&s===a[u])return u;return-1}function L(){r=t}function P(){n=[],i=[],a=[],o=[],t=0,L()}function O(e,r,s,l){return n.push(e),i.push(r),a.push(s),o.push(l),++t-1}function I(e,t,r){for(var n=[],i=0;i<e.length;i++)n[i]=e[i]*(1-r)+r*t[i];return n}function D(e){s=e}function z(e,t){return\"all\"===e||null===e||e.indexOf(t)>-1}function R(e,t){return null===e?t:e}function F(t,r,n){L();var i,a,o,l=[r],u=[n];if(s>=1)l=[r],u=[n];else if(s>0){var c=function(e,t){var r=e[0],n=e[1],i=e[2],a=function(e,t,r){for(var n=[],i=0;i<e.length;i++)n[i]=(e[i]+t[i]+r[i])/3;return n}(r,n,i),o=Math.sqrt(1-s),l=I(a,r,o),u=I(a,n,o),c=I(a,i,o),f=t[0],h=t[1],p=t[2];return{xyzv:[[r,n,u],[u,l,r],[n,i,c],[c,u,n],[i,r,l],[l,c,i]],abc:[[f,h,-1],[-1,-1,f],[h,p,-1],[-1,-1,h],[p,f,-1],[-1,-1,p]]}}(r,n);l=c.xyzv,u=c.abc}for(var f=0;f<l.length;f++){r=l[f],n=u[f];for(var h=[],p=0;p<3;p++){var d=r[p][0],v=r[p][1],m=r[p][2],y=r[p][3],x=n[p]>-1?n[p]:C(d,v,m);h[p]=x>-1?x:O(d,v,m,R(t,y))}i=h[0],a=h[1],o=h[2],e._meshI.push(i),e._meshJ.push(a),e._meshK.push(o),++g}}function B(e,t,r,n){var i=e[3];i<r&&(i=r),i>n&&(i=n);for(var a=(e[3]-i)/(e[3]-t[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*e[s]+a*t[s];return o}function N(e,t,r){return e>=t&&e<=r}function j(e){var t=.001*(E-S);return e>=S-t&&e<=E+t}function U(t){for(var r=[],n=0;n<4;n++){var i=t[n];r.push([e._x[i],e._y[i],e._z[i],e._value[i]])}return r}var V=3;function H(e,t,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(t[0][3],n,i),N(t[1][3],n,i),N(t[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(e,t,r){return j(t[0][3])&&j(t[1][3])&&j(t[2][3])?(F(e,t,r),!0):a<V&&H(e,t,r,S,E,++a)};if(s[0]&&s[1]&&s[2])return l(e,t,r)||o;var u=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var c=t[a[0]],f=t[a[1]],h=t[a[2]],p=B(h,c,n,i),d=B(h,f,n,i);o=l(e,[d,p,c],[-1,-1,r[a[0]]])||o,o=l(e,[c,f,d],[r[a[0]],r[a[1]],-1])||o,u=!0}})),u||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var c=t[a[0]],f=t[a[1]],h=t[a[2]],p=B(f,c,n,i),d=B(h,c,n,i);o=l(e,[d,p,c],[-1,-1,r[a[0]]])||o,u=!0}})),o}function q(e,t,r,n){var i=!1,a=U(t),o=[N(a[0][3],r,n),N(a[1][3],r,n),N(a[2][3],r,n),N(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return v&&(i=function(e,t,r){var n=function(n,i,a){F(e,[t[n],t[i],t[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(e,a,t)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]];if(v)i=F(e,[u,c,f],[t[l[0]],t[l[1]],t[l[2]]])||i;else{var p=B(h,u,r,n),d=B(h,c,r,n),g=B(h,f,r,n);i=F(null,[p,d,g],[-1,-1,-1])||i}s=!0}})),s||([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(f,u,r,n),d=B(f,c,r,n),g=B(h,c,r,n),m=B(h,u,r,n);v?(i=F(e,[u,m,p],[t[l[0]],-1,-1])||i,i=F(e,[c,d,g],[t[l[1]],-1,-1])||i):i=function(e,t,r){var n=function(e,n,i){F(null,[t[e],t[n],t[i]],[r[e],r[n],r[i]])};n(0,1,2),n(2,3,0)}(0,[p,d,g,m],[-1,-1,-1,-1])||i,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(c,u,r,n),d=B(f,u,r,n),g=B(h,u,r,n);v?(i=F(e,[u,p,d],[t[l[0]],-1,-1])||i,i=F(e,[u,d,g],[t[l[0]],-1,-1])||i,i=F(e,[u,g,p],[t[l[0]],-1,-1])||i):i=F(null,[p,d,g],[-1,-1,-1])||i,s=!0}}))),i}function G(e,t,r,n,i,a,o,s,l,u,c){var f=!1;return d&&(z(e,\"A\")&&(f=q(null,[t,r,n,a],u,c)||f),z(e,\"B\")&&(f=q(null,[r,n,i,l],u,c)||f),z(e,\"C\")&&(f=q(null,[r,a,o,l],u,c)||f),z(e,\"D\")&&(f=q(null,[n,a,s,l],u,c)||f),z(e,\"E\")&&(f=q(null,[r,n,a,l],u,c)||f)),v&&(f=q(e,[r,n,a,l],u,c)||f),f}function Y(e,t,r,n,i,a,o,s){return[!0===s[0]||H(e,U([t,r,n]),[t,r,n],a,o),!0===s[1]||H(e,U([n,i,t]),[n,i,t],a,o)]}function W(e,t,r,n,i,a,o,s,l){return s?Y(e,t,r,i,n,a,o,l):Y(e,r,i,n,t,a,o,l)}function Z(e,t,r,n,i,a,o){var s,l,u,c,f=!1,h=function(){f=H(e,[s,l,u],[-1,-1,-1],i,a)||f,f=H(e,[u,c,s],[-1,-1,-1],i,a)||f},p=o[0],d=o[1],v=o[2];return p&&(s=I(U([T(t,r-0,n-0)])[0],U([T(t-1,r-0,n-0)])[0],p),l=I(U([T(t,r-0,n-1)])[0],U([T(t-1,r-0,n-1)])[0],p),u=I(U([T(t,r-1,n-1)])[0],U([T(t-1,r-1,n-1)])[0],p),c=I(U([T(t,r-1,n-0)])[0],U([T(t-1,r-1,n-0)])[0],p),h()),d&&(s=I(U([T(t-0,r,n-0)])[0],U([T(t-0,r-1,n-0)])[0],d),l=I(U([T(t-0,r,n-1)])[0],U([T(t-0,r-1,n-1)])[0],d),u=I(U([T(t-1,r,n-1)])[0],U([T(t-1,r-1,n-1)])[0],d),c=I(U([T(t-1,r,n-0)])[0],U([T(t-1,r-1,n-0)])[0],d),h()),v&&(s=I(U([T(t-0,r-0,n)])[0],U([T(t-0,r-0,n-1)])[0],v),l=I(U([T(t-0,r-1,n)])[0],U([T(t-0,r-1,n-1)])[0],v),u=I(U([T(t-1,r-1,n)])[0],U([T(t-1,r-1,n-1)])[0],v),c=I(U([T(t-1,r-0,n)])[0],U([T(t-1,r-0,n-1)])[0],v),h()),f}function X(e,t,r,n,i,a,o,s,l,u,c,f){var h=e;return f?(d&&\"even\"===e&&(h=null),G(h,t,r,n,i,a,o,s,l,u,c)):(d&&\"odd\"===e&&(h=null),G(h,l,s,o,a,i,n,r,t,u,c))}function K(e,t,r,n,i){for(var a=[],o=0,s=0;s<t.length;s++)for(var l=t[s],u=1;u<w;u++)for(var c=1;c<_;c++)a.push(W(e,T(l,c-1,u-1),T(l,c-1,u),T(l,c,u-1),T(l,c,u),r,n,(l+c+u)%2,i&&i[o]?i[o]:[])),o++;return a}function J(e,t,r,n,i){for(var a=[],o=0,s=0;s<t.length;s++)for(var l=t[s],u=1;u<b;u++)for(var c=1;c<w;c++)a.push(W(e,T(u-1,l,c-1),T(u,l,c-1),T(u-1,l,c),T(u,l,c),r,n,(u+l+c)%2,i&&i[o]?i[o]:[])),o++;return a}function $(e,t,r,n,i){for(var a=[],o=0,s=0;s<t.length;s++)for(var l=t[s],u=1;u<_;u++)for(var c=1;c<b;c++)a.push(W(e,T(c-1,u-1,l),T(c-1,u,l),T(c,u-1,l),T(c,u,l),r,n,(c+u+l)%2,i&&i[o]?i[o]:[])),o++;return a}function Q(e,t,r){for(var n=1;n<w;n++)for(var i=1;i<_;i++)for(var a=1;a<b;a++)X(e,T(a-1,i-1,n-1),T(a-1,i-1,n),T(a-1,i,n-1),T(a-1,i,n),T(a,i-1,n-1),T(a,i-1,n),T(a,i,n-1),T(a,i,n),t,r,(a+i+n)%2)}function ee(e,t,r,n,i,a){for(var o=[],s=0,l=0;l<t.length;l++)for(var u=t[l],c=1;c<w;c++)for(var f=1;f<_;f++)o.push(Z(e,u,f,c,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function te(e,t,r,n,i,a){for(var o=[],s=0,l=0;l<t.length;l++)for(var u=t[l],c=1;c<b;c++)for(var f=1;f<w;f++)o.push(Z(e,c,u,f,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function re(e,t,r,n,i,a){for(var o=[],s=0,l=0;l<t.length;l++)for(var u=t[l],c=1;c<_;c++)for(var f=1;f<b;f++)o.push(Z(e,f,c,u,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function ne(e,t){for(var r=[],n=e;n<t;n++)r.push(n);return r}return function(){P(),function(){for(var t=0;t<b;t++)for(var r=0;r<_;r++)for(var n=0;n<w;n++){var i=T(t,r,n);O(e._x[i],e._y[i],e._z[i],e._value[i])}}();var t=null;if(c&&p&&(D(p),v=!0,Q(t,S,E),v=!1),u&&h){D(h);for(var r=e.surface.pattern,s=e.surface.count,f=0;f<s;f++){var k=1===s?.5:f/(s-1),C=(1-k)*S+k*E,L=Math.abs(C-M)>Math.abs(C-A)?[M,C]:[C,A];d=!0,Q(r,L[0],L[1]),d=!1}}var I=[[Math.min(S,A),Math.max(S,A)],[Math.min(M,E),Math.max(M,E)]];[\"x\",\"y\",\"z\"].forEach((function(r){for(var n=[],i=0;i<I.length;i++){var a=0,o=I[i][0],s=I[i][1],u=e.slices[r];if(u.show&&u.fill){D(u.fill);var c=[],f=[],h=[];if(u.locations.length)for(var p=0;p<u.locations.length;p++){var d=l(u.locations[p],\"x\"===r?m:\"y\"===r?y:x);0===d.distRatio?c.push(d.id):d.id>0&&(f.push(d.id),\"x\"===r?h.push([d.distRatio,0,0]):\"y\"===r?h.push([0,d.distRatio,0]):h.push([0,0,d.distRatio]))}else c=ne(1,\"x\"===r?b-1:\"y\"===r?_-1:w-1);f.length>0&&(n[a]=\"x\"===r?ee(t,f,o,s,h,n[a]):\"y\"===r?te(t,f,o,s,h,n[a]):re(t,f,o,s,h,n[a]),a++),c.length>0&&(n[a]=\"x\"===r?K(t,c,o,s,n[a]):\"y\"===r?J(t,c,o,s,n[a]):$(t,c,o,s,n[a]),a++)}var v=e.caps[r];v.show&&v.fill&&(D(v.fill),n[a]=\"x\"===r?K(t,[0,b-1],o,s,n[a]):\"y\"===r?J(t,[0,_-1],o,s,n[a]):$(t,[0,w-1],o,s,n[a]),a++)}})),0===g&&P(),e._meshX=n,e._meshY=i,e._meshZ=a,e._meshIntensity=o,e._Xs=m,e._Ys=y,e._Zs=x}(),e}e.exports={findNearestOnAxis:l,generateIsoMeshes:h,createIsosurfaceTrace:function(e,t){var r=e.glplot.gl,i=n({gl:r}),a=new u(e,i,t.uid);return i._trace=a,a.update(t),e.glplot.add(i),a}}},82738:function(e,t,r){\"use strict\";var n=r(71828),i=r(73972),a=r(16249),o=r(1586);function s(e,t,r,n,a){var s=a(\"isomin\"),l=a(\"isomax\");null!=l&&null!=s&&s>l&&(t.isomin=null,t.isomax=null);var u=a(\"x\"),c=a(\"y\"),f=a(\"z\"),h=a(\"value\");u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length?(i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(e,t,[\"x\",\"y\",\"z\"],n),a(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach((function(e){a(e+\"hoverformat\");var t=\"caps.\"+e;a(t+\".show\")&&a(t+\".fill\");var r=\"slices.\"+e;a(r+\".show\")&&(a(r+\".fill\"),a(r+\".locations\"))})),a(\"spaceframe.show\")&&a(\"spaceframe.fill\"),a(\"surface.show\")&&(a(\"surface.count\"),a(\"surface.fill\"),a(\"surface.pattern\")),a(\"contour.show\")&&(a(\"contour.color\"),a(\"contour.width\")),[\"text\",\"hovertext\",\"hovertemplate\",\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"opacity\"].forEach((function(e){a(e)})),o(e,t,n,a,{prefix:\"\",cLetter:\"c\"}),t._length=null):t.visible=!1}e.exports={supplyDefaults:function(e,t,r,i){s(e,t,0,i,(function(r,i){return n.coerce(e,t,a,r,i)}))},supplyIsoDefaults:s}},64943:function(e,t,r){\"use strict\";e.exports={attributes:r(16249),supplyDefaults:r(82738).supplyDefaults,calc:r(56959),colorbar:{min:\"cmin\",max:\"cmax\"},plot:r(22674).createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:r(58547),categories:[\"gl3d\",\"showLegend\"],meta:{}}},2418:function(e,t,r){\"use strict\";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(54532),s=r(9012),l=r(1426).extendFlat;e.exports=l({x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},i:{valType:\"data_array\",editType:\"calc\"},j:{valType:\"data_array\",editType:\"calc\"},k:{valType:\"data_array\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:a({editType:\"calc\"}),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\",editType:\"calc\"},alphahull:{valType:\"number\",dflt:-1,editType:\"calc\"},intensity:{valType:\"data_array\",editType:\"calc\"},intensitymode:{valType:\"enumerated\",values:[\"vertex\",\"cell\"],dflt:\"vertex\",editType:\"calc\"},color:{valType:\"color\",editType:\"calc\"},vertexcolor:{valType:\"data_array\",editType:\"calc\"},facecolor:{valType:\"data_array\",editType:\"calc\"},transforms:void 0},n(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:o.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:\"calc\"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:l({vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12,editType:\"calc\"},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6,editType:\"calc\"},editType:\"calc\"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:\"calc\"}),showlegend:l({},s.showlegend,{dflt:!1})})},82932:function(e,t,r){\"use strict\";var n=r(78803);e.exports=function(e,t){t.intensity&&n(e,t,{vals:t.intensity,containerStr:\"\",cLetter:\"c\"})}},91134:function(e,t,r){\"use strict\";var n=r(9330).gl_mesh3d,i=r(9330).delaunay_triangulate,a=r(9330).alpha_shape,o=r(9330).convex_hull,s=r(81697).parseColorScale,l=r(78614),u=r(21081).extractOpts,c=r(90060);function f(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var h=f.prototype;function p(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=l(e[n]);return t}function d(e,t,r,n){for(var i=[],a=t.length,o=0;o<a;o++)i[o]=e.d2l(t[o],0,n)*r;return i}function v(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=Math.round(e[n]);return t}function g(e,t){for(var r=e.length,n=0;n<r;n++)if(e[n]<=-.5||e[n]>=t-.5)return!1;return!0}h.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[t]?e.textLabel=r[t]:r&&(e.textLabel=r),!0}},h.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var n,f=e.x.length,h=c(d(r.xaxis,e.x,t.dataScale[0],e.xcalendar),d(r.yaxis,e.y,t.dataScale[1],e.ycalendar),d(r.zaxis,e.z,t.dataScale[2],e.zcalendar));if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!g(e.i,f)||!g(e.j,f)||!g(e.k,f))return;n=c(v(e.i),v(e.j),v(e.k))}else n=0===e.alphahull?o(h):e.alphahull>0?a(e.alphahull,h):function(e,t){for(var r=[\"x\",\"y\",\"z\"].indexOf(e),n=[],a=t.length,o=0;o<a;o++)n[o]=[t[o][(r+1)%3],t[o][(r+2)%3]];return i(n)}(e.delaunayaxis,h);var m={positions:h,cells:n,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:l(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading};if(e.intensity){var y=u(e);this.color=\"#fff\";var x=e.intensitymode;m[x+\"Intensity\"]=e.intensity,m[x+\"IntensityBounds\"]=[y.min,y.max],m.colormap=s(e)}else e.vertexcolor?(this.color=e.vertexcolor[0],m.vertexColors=p(e.vertexcolor)):e.facecolor?(this.color=e.facecolor[0],m.cellColors=p(e.facecolor)):(this.color=e.color,m.meshColor=l(e.color));this.mesh.update(m)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(e,t){var r=e.glplot.gl,i=n({gl:r}),a=new f(e,i,t.uid);return i._trace=a,a.update(t),e.glplot.add(i),a}},58669:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828),a=r(1586),o=r(2418);e.exports=function(e,t,r,s){function l(r,n){return i.coerce(e,t,o,r,n)}function u(e){var t=e.map((function(e){var t=l(e);return t&&i.isArrayOrTypedArray(t)?t:null}));return t.every((function(e){return e&&e.length===t[0].length}))&&t}u([\"x\",\"y\",\"z\"])?(u([\"i\",\"j\",\"k\"]),(!t.i||t.j&&t.k)&&(!t.j||t.k&&t.i)&&(!t.k||t.i&&t.j)?(n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(e,t,[\"x\",\"y\",\"z\"],s),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach((function(e){l(e)})),l(\"contour.show\")&&(l(\"contour.color\"),l(\"contour.width\")),\"intensity\"in e?(l(\"intensity\"),l(\"intensitymode\"),a(e,t,s,l,{prefix:\"\",cLetter:\"c\"})):(t.showscale=!1,\"facecolor\"in e?l(\"facecolor\"):\"vertexcolor\"in e?l(\"vertexcolor\"):l(\"color\",r)),l(\"text\"),l(\"hovertext\"),l(\"hovertemplate\"),l(\"xhoverformat\"),l(\"yhoverformat\"),l(\"zhoverformat\"),t._length=null):t.visible=!1):t.visible=!1}},21164:function(e,t,r){\"use strict\";e.exports={attributes:r(2418),supplyDefaults:r(58669),calc:r(82932),colorbar:{min:\"cmin\",max:\"cmax\"},plot:r(91134),moduleType:\"trace\",name:\"mesh3d\",basePlotModule:r(58547),categories:[\"gl3d\",\"showLegend\"],meta:{}}},2522:function(e,t,r){\"use strict\";var n=r(71828).extendFlat,i=r(82196),a=r(12663).axisHoverFormat,o=r(79952).P,s=r(77914),l=r(22372),u=l.INCREASING.COLOR,c=l.DECREASING.COLOR,f=i.line;function h(e){return{line:{color:n({},f.color,{dflt:e}),width:f.width,dash:o,editType:\"style\"},editType:\"style\"}}e.exports={xperiod:i.xperiod,xperiod0:i.xperiod0,xperiodalignment:i.xperiodalignment,xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",editType:\"calc\"},high:{valType:\"data_array\",editType:\"calc\"},low:{valType:\"data_array\",editType:\"calc\"},close:{valType:\"data_array\",editType:\"calc\"},line:{width:n({},f.width,{}),dash:n({},o,{}),editType:\"style\"},increasing:h(u),decreasing:h(c),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calc\"},hoverlabel:n({},s.hoverlabel,{split:{valType:\"boolean\",dflt:!1,editType:\"style\"}})}},3485:function(e,t,r){\"use strict\";var n=r(71828),i=n._,a=r(89298),o=r(42973),s=r(50606).BADNUM;function l(e,t,r,n){return{o:e,h:t,l:r,c:n}}function u(e,t,r,o,l,u){for(var c=l.makeCalcdata(t,\"open\"),f=l.makeCalcdata(t,\"high\"),h=l.makeCalcdata(t,\"low\"),p=l.makeCalcdata(t,\"close\"),d=Array.isArray(t.text),v=Array.isArray(t.hovertext),g=!0,m=null,y=!!t.xperiodalignment,x=[],b=0;b<o.length;b++){var _=o[b],w=c[b],k=f[b],T=h[b],M=p[b];if(_!==s&&w!==s&&k!==s&&T!==s&&M!==s){M===w?null!==m&&M!==m&&(g=M>m):g=M>w,m=M;var A=u(w,k,T,M);A.pos=_,A.yc=(w+M)/2,A.i=b,A.dir=g?\"increasing\":\"decreasing\",A.x=A.pos,A.y=[T,k],y&&(A.orig_p=r[b]),d&&(A.tx=t.text[b]),v&&(A.htx=t.hovertext[b]),x.push(A)}else x.push({pos:_,empty:!0})}return t._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(e,\"open:\")+\" \",high:i(e,\"high:\")+\" \",low:i(e,\"low:\")+\" \",close:i(e,\"close:\")+\" \"}}),x}e.exports={calc:function(e,t){var r=a.getFromId(e,t.xaxis),i=a.getFromId(e,t.yaxis),s=function(e,t,r){var i=r._minDiff;if(!i){var a,s=e._fullData,l=[];for(i=1/0,a=0;a<s.length;a++){var u=s[a];if(\"ohlc\"===u.type&&!0===u.visible&&u.xaxis===t._id){l.push(u);var c=t.makeCalcdata(u,\"x\");u._origX=c;var f=o(r,t,\"x\",c).vals;u._xcalc=f;var h=n.distinctVals(f).minDiff;h&&isFinite(h)&&(i=Math.min(i,h))}}for(i===1/0&&(i=1),a=0;a<l.length;a++)l[a]._minDiff=i}return i*r.tickwidth}(e,r,t),c=t._minDiff;t._minDiff=null;var f=t._origX;t._origX=null;var h=t._xcalc;t._xcalc=null;var p=u(e,t,f,h,i,l);return t._extremes[r._id]=a.findExtremes(r,h,{vpad:c/2}),p.length?(n.extendFlat(p[0].t,{wHover:c/2,tickLen:s}),p):[{t:{empty:!0}}]},calcCommon:u}},16169:function(e,t,r){\"use strict\";var n=r(71828),i=r(14555),a=r(73927),o=r(2522);function s(e,t,r,n){r(n+\".line.color\"),r(n+\".line.width\",t.line.width),r(n+\".line.dash\",t.line.dash)}e.exports=function(e,t,r,l){function u(r,i){return n.coerce(e,t,o,r,i)}i(e,t,u,l)?(a(e,t,l,u,{x:!0}),u(\"xhoverformat\"),u(\"yhoverformat\"),u(\"line.width\"),u(\"line.dash\"),s(0,t,u,\"increasing\"),s(0,t,u,\"decreasing\"),u(\"text\"),u(\"hovertext\"),u(\"tickwidth\"),l._requestRangeslider[t.xaxis]=!0):t.visible=!1}},66449:function(e,t,r){\"use strict\";var n=r(89298),i=r(71828),a=r(30211),o=r(7901),s=r(71828).fillText,l=r(22372),u={increasing:l.INCREASING.SYMBOL,decreasing:l.DECREASING.SYMBOL};function c(e,t,r,n){var i,s,l=e.cd,u=e.xa,c=l[0].trace,f=l[0].t,h=c.type,p=\"ohlc\"===h?\"l\":\"min\",d=\"ohlc\"===h?\"h\":\"max\",v=f.bPos||0,g=function(e){return e.pos+v-t},m=f.bdPos||f.tickLen,y=f.wHover,x=Math.min(1,m/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function b(e){var t=g(e);return a.inbox(t-y,t+y,i)}function _(e){var t=e[p],n=e[d];return t===n||a.inbox(t-r,n-r,i)}function w(e){return(b(e)+_(e))/2}i=e.maxHoverDistance-x,s=e.maxSpikeDistance-x;var k=a.getDistanceFunction(n,b,_,w);if(a.getClosest(l,k,e),!1===e.index)return null;var T=l[e.index];if(T.empty)return null;var M=c[T.dir],A=M.line.color;return o.opacity(A)&&M.line.width?e.color=A:e.color=M.fillcolor,e.x0=u.c2p(T.pos+v-m,!0),e.x1=u.c2p(T.pos+v+m,!0),e.xLabelVal=void 0!==T.orig_p?T.orig_p:T.pos,e.spikeDistance=w(T)*s/i,e.xSpike=u.c2p(T.pos,!0),e}function f(e,t,r,a){var o=e.cd,s=e.ya,l=o[0].trace,u=o[0].t,f=[],h=c(e,t,r,a);if(!h)return[];var p=o[h.index].hi||l.hoverinfo,d=p.split(\"+\");if(\"all\"!==p&&-1===d.indexOf(\"y\"))return[];for(var v=[\"high\",\"open\",\"close\",\"low\"],g={},m=0;m<v.length;m++){var y,x=v[m],b=l[x][h.index],_=s.c2p(b,!0);b in g?(y=g[b]).yLabel+=\"<br>\"+u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((y=i.extendFlat({},h)).y0=y.y1=_,y.yLabelVal=b,y.yLabel=u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),y.name=\"\",f.push(y),g[b]=y)}return f}function h(e,t,r,i){var a=e.cd,o=e.ya,l=a[0].trace,f=a[0].t,h=c(e,t,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,v=p.dir;function g(e){return f.labels[e]+n.hoverLabelText(o,l[e][d],l.yhoverformat)}var m=p.hi||l.hoverinfo,y=m.split(\"+\"),x=\"all\"===m,b=x||-1!==y.indexOf(\"y\"),_=x||-1!==y.indexOf(\"text\"),w=b?[g(\"open\"),g(\"high\"),g(\"low\"),g(\"close\")+\"  \"+u[v]]:[];return _&&s(p,l,w),h.extraText=w.join(\"<br>\"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}e.exports={hoverPoints:function(e,t,r,n){return e.cd[0].trace.hoverlabel.split?f(e,t,r,n):h(e,t,r,n)},hoverSplit:f,hoverOnPoints:h}},54186:function(e,t,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:r(93612),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:r(2522),supplyDefaults:r(16169),calc:r(3485).calc,plot:r(72314),style:r(53101),hoverPoints:r(66449).hoverPoints,selectPoints:r(67324)}},14555:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828);e.exports=function(e,t,r,a){var o=r(\"x\"),s=r(\"open\"),l=r(\"high\"),u=r(\"low\"),c=r(\"close\");if(r(\"hoverlabel.split\"),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(e,t,[\"x\"],a),s&&l&&u&&c){var f=Math.min(s.length,l.length,u.length,c.length);return o&&(f=Math.min(f,i.minRowLength(o))),t._length=f,f}}},72314:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828);e.exports=function(e,t,r,a){var o=t.yaxis,s=t.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,\"trace ohlc\").each((function(e){var t=n.select(this),r=e[0],a=r.t;if(!0!==r.trace.visible||a.empty)t.remove();else{var u=a.tickLen,c=t.selectAll(\"path\").data(i.identity);c.enter().append(\"path\"),c.exit().remove(),c.attr(\"d\",(function(e){if(e.empty)return\"M0,0Z\";var t=s.c2p(e.pos-u,!0),r=s.c2p(e.pos+u,!0),n=l?(t+r)/2:s.c2p(e.pos,!0);return\"M\"+t+\",\"+o.c2p(e.o,!0)+\"H\"+n+\"M\"+n+\",\"+o.c2p(e.h,!0)+\"V\"+o.c2p(e.l,!0)+\"M\"+r+\",\"+o.c2p(e.c,!0)+\"H\"+n}))}}))}},67324:function(e){\"use strict\";e.exports=function(e,t){var r,n=e.cd,i=e.xaxis,a=e.yaxis,o=[],s=n[0].t.bPos||0;if(!1===t)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r];t.contains([i.c2p(l.pos+s),a.c2p(l.yc)],null,l.i,e)?(o.push({pointNumber:l.i,x:i.c2d(l.pos),y:a.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},53101:function(e,t,r){\"use strict\";var n=r(39898),i=r(91424),a=r(7901);e.exports=function(e,t,r){var o=r||n.select(e).selectAll(\"g.ohlclayer\").selectAll(\"g.trace\");o.style(\"opacity\",(function(e){return e[0].trace.opacity})),o.each((function(e){var t=e[0].trace;n.select(this).selectAll(\"path\").each((function(e){if(!e.empty){var r=t[e.dir].line;n.select(this).style(\"fill\",\"none\").call(a.stroke,r.color).call(i.dashLine,r.dash,r.width).style(\"opacity\",t.selectedpoints&&!e.selected?.3:1)}}))}))}},99506:function(e,t,r){\"use strict\";var n=r(1426).extendFlat,i=r(9012),a=r(41940),o=r(50693),s=r(5386).fF,l=r(27670).Y,u=n({editType:\"calc\"},o(\"line\",{editTypeOverride:\"calc\"}),{shape:{valType:\"enumerated\",values:[\"linear\",\"hspline\"],dflt:\"linear\",editType:\"plot\"},hovertemplate:s({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\"]})});e.exports={domain:l({name:\"parcats\",trace:!0,editType:\"calc\"}),hoverinfo:n({},i.hoverinfo,{flags:[\"count\",\"probability\"],editType:\"plot\",arrayOk:!1}),hoveron:{valType:\"enumerated\",values:[\"category\",\"color\",\"dimension\"],dflt:\"category\",editType:\"plot\"},hovertemplate:s({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\",\"category\",\"categorycount\",\"colorcount\",\"bandcolorcount\"]}),arrangement:{valType:\"enumerated\",values:[\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"perpendicular\",editType:\"plot\"},bundlecolors:{valType:\"boolean\",dflt:!0,editType:\"plot\"},sortpaths:{valType:\"enumerated\",values:[\"forward\",\"backward\"],dflt:\"forward\",editType:\"plot\"},labelfont:a({editType:\"calc\"}),tickfont:a({editType:\"calc\"}),dimensions:{_isLinkedToArray:\"dimension\",label:{valType:\"string\",editType:\"calc\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",dflt:[],editType:\"calc\"},displayindex:{valType:\"integer\",editType:\"calc\"},editType:\"calc\",visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"}},line:u,counts:{valType:\"number\",min:0,dflt:1,arrayOk:!0,editType:\"calc\"},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}},27677:function(e,t,r){\"use strict\";var n=r(27659).a0,i=r(45784),a=\"parcats\";t.name=a,t.plot=function(e,t,r,o){var s=n(e.calcdata,a);if(s.length){var l=s[0];i(e,l,r,o)}},t.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcats\"),a=t._has&&t._has(\"parcats\");i&&!a&&n._paperdiv.selectAll(\".parcats\").remove()}},28699:function(e,t,r){\"use strict\";var n=r(28984).wrap,i=r(52075).hasColorscale,a=r(78803),o=r(75744),s=r(91424),l=r(71828),u=r(92770);function c(e,t,r){e.valueInds.push(t),e.count+=r}function f(e,t,r){return{categoryInds:e,color:t,rawColor:r,valueInds:[],count:0}}function h(e,t,r){e.valueInds.push(t),e.count+=r}e.exports=function(e,t){var r=l.filterVisible(t.dimensions);if(0===r.length)return[];var p,d,v,g=r.map((function(e){var t;if(\"trace\"===e.categoryorder)t=null;else if(\"array\"===e.categoryorder)t=e.categoryarray;else{t=o(e.values);for(var r=!0,n=0;n<t.length;n++)if(!u(t[n])){r=!1;break}t.sort(r?l.sorterAsc:void 0),\"category descending\"===e.categoryorder&&(t=t.reverse())}return function(e,t){t=null==t?[]:t.map((function(e){return e}));var r={},n={},i=[];t.forEach((function(e,t){r[e]=0,n[e]=t}));for(var a=0;a<e.length;a++){var o,s=e[a];void 0===r[s]?(r[s]=1,o=t.push(s)-1,n[s]=o):(r[s]++,o=n[s]),i.push(o)}var l=t.map((function(e){return r[e]}));return{uniqueValues:t,uniqueCounts:l,inds:i}}(e.values,t)}));p=l.isArrayOrTypedArray(t.counts)?t.counts:[t.counts],function(e){var t,r=e.map((function(e){return e.displayindex}));if(function(e){for(var t=new Array(e.length),r=0;r<e.length;r++){if(e[r]<0||e[r]>=e.length)return!1;if(void 0!==t[e[r]])return!1;t[e[r]]=!0}return!0}(r))for(t=0;t<e.length;t++)e[t]._displayindex=e[t].displayindex;else for(t=0;t<e.length;t++)e[t]._displayindex=t}(r),r.forEach((function(e,t){!function(e,t){e._categoryarray=t.uniqueValues,null===e.ticktext||void 0===e.ticktext?e._ticktext=[]:e._ticktext=e.ticktext.slice();for(var r=e._ticktext.length;r<t.uniqueValues.length;r++)e._ticktext.push(t.uniqueValues[r])}(e,g[t])}));var m,y=t.line;y?(i(t,\"line\")&&a(e,t,{vals:t.line.color,containerStr:\"line\",cLetter:\"c\"}),m=s.tryColorscale(y)):m=l.identity;var x,b,_,w,k,T=r[0].values.length,M={},A=g.map((function(e){return e.inds}));for(v=0,x=0;x<T;x++){var S=[];for(b=0;b<A.length;b++)S.push(A[b][x]);d=p[x%p.length],v+=d;var E=(_=x,w=void 0,k=void 0,l.isArrayOrTypedArray(y.color)?k=w=y.color[_%y.color.length]:w=y.color,{color:m(w),rawColor:k}),C=S+\"-\"+E.rawColor;void 0===M[C]&&(M[C]=f(S,E.color,E.rawColor)),h(M[C],x,d)}var L,P=r.map((function(e,t){return function(e,t,r,n,i){return{dimensionInd:e,containerInd:t,displayInd:r,dimensionLabel:n,count:i,categories:[],dragX:null}}(t,e._index,e._displayindex,e.label,v)}));for(x=0;x<T;x++)for(d=p[x%p.length],b=0;b<P.length;b++){var O=P[b].containerInd,I=g[b].inds[x],D=P[b].categories;if(void 0===D[I]){var z=t.dimensions[O]._categoryarray[I],R=t.dimensions[O]._ticktext[I];D[I]={dimensionInd:b,categoryInd:L=I,categoryValue:z,displayInd:L,categoryLabel:R,valueInds:[],count:0,dragY:null}}c(D[I],x,d)}return n(function(e,t,r){var n=e.map((function(e){return e.categories.length})).reduce((function(e,t){return Math.max(e,t)}));return{dimensions:e,paths:t,trace:void 0,maxCats:n,count:r}}(P,M,v))}},14647:function(e,t,r){\"use strict\";var n=r(71828),i=r(52075).hasColorscale,a=r(1586),o=r(27670).c,s=r(85501),l=r(99506),u=r(94397);function c(e,t){function r(r,i){return n.coerce(e,t,l.dimensions,r,i)}var i=r(\"values\"),a=r(\"visible\");if(i&&i.length||(a=t.visible=!1),a){r(\"label\"),r(\"displayindex\",t._index);var o,s=e.categoryarray,u=Array.isArray(s)&&s.length>0;u&&(o=\"array\");var c=r(\"categoryorder\",o);\"array\"===c?(r(\"categoryarray\"),r(\"ticktext\")):(delete e.categoryarray,delete e.ticktext),u||\"array\"!==c||(t.categoryorder=\"trace\")}}e.exports=function(e,t,r,f){function h(r,i){return n.coerce(e,t,l,r,i)}var p=s(e,t,{name:\"dimensions\",handleItemDefaults:c}),d=function(e,t,r,o,s){s(\"line.shape\"),s(\"line.hovertemplate\");var l=s(\"line.color\",o.colorway[0]);if(i(e,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),a(e,t,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;t.line.color=r}return 1/0}(e,t,r,f,h);o(t,f,h),Array.isArray(p)&&p.length||(t.visible=!1),u(t,p,\"values\",d),h(\"hoveron\"),h(\"hovertemplate\"),h(\"arrangement\"),h(\"bundlecolors\"),h(\"sortpaths\"),h(\"counts\");var v={family:f.font.family,size:Math.round(f.font.size),color:f.font.color};n.coerceFont(h,\"labelfont\",v);var g={family:f.font.family,size:Math.round(f.font.size/1.2),color:f.font.color};n.coerceFont(h,\"tickfont\",g)}},94873:function(e,t,r){\"use strict\";e.exports={attributes:r(99506),supplyDefaults:r(14647),calc:r(28699),plot:r(45784),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:r(27677),categories:[\"noOpacity\"],meta:{}}},45460:function(e,t,r){\"use strict\";var n=r(39898),i=r(81684).k4,a=r(72391),o=r(30211),s=r(71828),l=s.strTranslate,u=r(91424),c=r(84267),f=r(63893);function h(e,t,r,i){var a=t._context.staticPlot,o=e.map(F.bind(0,t,r)),c=i.selectAll(\"g.parcatslayer\").data([null]);c.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",a?\"none\":\"all\");var h=c.selectAll(\"g.trace.parcats\").data(o,p),y=h.enter().append(\"g\").attr(\"class\",\"trace parcats\");h.attr(\"transform\",(function(e){return l(e.x,e.y)})),y.append(\"g\").attr(\"class\",\"paths\");var x=h.select(\"g.paths\").selectAll(\"path.path\").data((function(e){return e.paths}),p);x.attr(\"fill\",(function(e){return e.model.color}));var w=x.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(e){return e.model.color})).attr(\"fill-opacity\",0);_(w),x.attr(\"d\",(function(e){return e.svgD})),w.empty()||x.sort(v),x.exit().remove(),x.on(\"mouseover\",g).on(\"mouseout\",m).on(\"click\",b),y.append(\"g\").attr(\"class\",\"dimensions\");var M=h.select(\"g.dimensions\").selectAll(\"g.dimension\").data((function(e){return e.dimensions}),p);M.enter().append(\"g\").attr(\"class\",\"dimension\"),M.attr(\"transform\",(function(e){return l(e.x,0)})),M.exit().remove();var A=M.selectAll(\"g.category\").data((function(e){return e.categories}),p),S=A.enter().append(\"g\").attr(\"class\",\"category\");A.attr(\"transform\",(function(e){return l(0,e.y)})),S.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),A.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",(function(e){return e.width})).attr(\"height\",(function(e){return e.height})),k(S);var E=A.selectAll(\"rect.bandrect\").data((function(e){return e.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr(\"fill\",(function(e){return e.color}));var D=E.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(e){return e.color})).attr(\"fill-opacity\",0);E.attr(\"fill\",(function(e){return e.color})).attr(\"width\",(function(e){return e.width})).attr(\"height\",(function(e){return e.height})).attr(\"y\",(function(e){return e.y})).attr(\"cursor\",(function(e){return\"fixed\"===e.parcatsViewModel.arrangement?\"default\":\"perpendicular\"===e.parcatsViewModel.arrangement?\"ns-resize\":\"move\"})),T(D),E.exit().remove(),S.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\");var z=t._fullLayout.paper_bgcolor;A.select(\"text.catlabel\").attr(\"text-anchor\",(function(e){return d(e)?\"start\":\"end\"})).attr(\"alignment-baseline\",\"middle\").style(\"text-shadow\",f.makeTextShadow(z)).style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",(function(e){return d(e)?e.width+5:-5})).attr(\"y\",(function(e){return e.height/2})).text((function(e){return e.model.categoryLabel})).each((function(e){u.font(n.select(this),e.parcatsViewModel.categorylabelfont),f.convertToTspans(n.select(this),t)})),S.append(\"text\").attr(\"class\",\"dimlabel\"),A.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",(function(e){return\"fixed\"===e.parcatsViewModel.arrangement?\"default\":\"ew-resize\"})).attr(\"x\",(function(e){return e.width/2})).attr(\"y\",-5).text((function(e,t){return 0===t?e.parcatsViewModel.model.dimensions[e.model.dimensionInd].dimensionLabel:null})).each((function(e){u.font(n.select(this),e.parcatsViewModel.labelfont)})),A.selectAll(\"rect.bandrect\").on(\"mouseover\",C).on(\"mouseout\",L),A.exit().remove(),M.call(n.behavior.drag().origin((function(e){return{x:e.x,y:0}})).on(\"dragstart\",P).on(\"drag\",O).on(\"dragend\",I)),h.each((function(e){e.traceSelection=n.select(this),e.pathSelection=n.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),e.dimensionSelection=n.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")})),h.exit().remove()}function p(e){return e.key}function d(e){var t=e.parcatsViewModel.dimensions.length,r=e.parcatsViewModel.dimensions[t-1].model.dimensionInd;return e.model.dimensionInd===r}function v(e,t){return e.model.rawColor>t.model.rawColor?1:e.model.rawColor<t.model.rawColor?-1:0}function g(e){if(!e.parcatsViewModel.dragDimension&&-1===e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")){s.raiseToTop(this),w(n.select(this));var t=y(e),r=x(e);if(e.parcatsViewModel.graphDiv.emit(\"plotly_hover\",{points:t,event:n.event,constraints:r}),-1===e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")){var i,a,l,u=n.mouse(this)[0],f=e.parcatsViewModel.graphDiv,h=e.parcatsViewModel.trace,p=f._fullLayout,d=p._paperdiv.node().getBoundingClientRect(),v=e.parcatsViewModel.graphDiv.getBoundingClientRect();for(l=0;l<e.leftXs.length-1;l++)if(e.leftXs[l]+e.dimWidths[l]-2<=u&&u<=e.leftXs[l+1]+2){var g=e.parcatsViewModel.dimensions[l],m=e.parcatsViewModel.dimensions[l+1];i=(g.x+g.width+m.x)/2,a=(e.topYs[l]+e.topYs[l+1]+e.height)/2;break}var b=e.parcatsViewModel.x+i,_=e.parcatsViewModel.y+a,k=c.mostReadable(e.model.color,[\"black\",\"white\"]),T=e.model.count,M=T/e.parcatsViewModel.model.count,A={countLabel:T,probabilityLabel:M.toFixed(3)},S=[];-1!==e.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&S.push([\"Count:\",A.countLabel].join(\" \")),-1!==e.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&S.push([\"P:\",A.probabilityLabel].join(\" \"));var E=S.join(\"<br>\"),C=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+v.left,y:_-d.top+v.top,text:E,color:e.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:k,idealAlign:C<b?\"right\":\"left\",hovertemplate:(h.line||{}).hovertemplate,hovertemplateLabels:A,eventData:[{data:h._input,fullData:h,count:T,probability:M}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:f})}}}function m(e){if(!e.parcatsViewModel.dragDimension&&(_(n.select(this)),o.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),e.parcatsViewModel.pathSelection.sort(v),-1===e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\"))){var t=y(e),r=x(e);e.parcatsViewModel.graphDiv.emit(\"plotly_unhover\",{points:t,event:n.event,constraints:r})}}function y(e){for(var t=[],r=D(e.parcatsViewModel),n=0;n<e.model.valueInds.length;n++){var i=e.model.valueInds[n];t.push({curveNumber:r,pointNumber:i})}return t}function x(e){for(var t={},r=e.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var i=r[n],a=i.categories[e.model.categoryInds[n]];t[i.containerInd]=a.categoryValue}return void 0!==e.model.rawColor&&(t.color=e.model.rawColor),t}function b(e){if(-1===e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")){var t=y(e),r=x(e);e.parcatsViewModel.graphDiv.emit(\"plotly_click\",{points:t,event:n.event,constraints:r})}}function _(e){e.attr(\"fill\",(function(e){return e.model.color})).attr(\"fill-opacity\",.6).attr(\"stroke\",\"lightgray\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1)}function w(e){e.attr(\"fill-opacity\",.8).attr(\"stroke\",(function(e){return c.mostReadable(e.model.color,[\"black\",\"white\"])})).attr(\"stroke-width\",.3)}function k(e){e.select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",1).attr(\"stroke-opacity\",1)}function T(e){e.attr(\"stroke\",\"black\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1).attr(\"fill-opacity\",1)}function M(e){var t=e.parcatsViewModel.pathSelection,r=e.categoryViewModel.model.dimensionInd,n=e.categoryViewModel.model.categoryInd;return t.filter((function(t){return t.model.categoryInds[r]===n&&t.model.color===e.color}))}function A(e,t,r){var i=n.select(e).datum(),a=i.categoryViewModel.model,o=i.parcatsViewModel.graphDiv,s=n.select(e.parentNode).selectAll(\"rect.bandrect\"),l=[];s.each((function(e){M(e).each((function(e){Array.prototype.push.apply(l,y(e))}))}));var u={};u[a.dimensionInd]=a.categoryValue,o.emit(t,{points:l,event:r,constraints:u})}function S(e,t,r){var i=n.select(e).datum(),a=i.categoryViewModel.model,o=i.parcatsViewModel.graphDiv,s=M(i),l=[];s.each((function(e){Array.prototype.push.apply(l,y(e))}));var u={};u[a.dimensionInd]=a.categoryValue,void 0!==i.rawColor&&(u.color=i.rawColor),o.emit(t,{points:l,event:r,constraints:u})}function E(e,t,r){e._fullLayout._calcInverseTransform(e);var i,a,o=e._fullLayout._invScaleX,s=e._fullLayout._invScaleY,l=n.select(r.parentNode).select(\"rect.catrect\"),u=l.node().getBoundingClientRect(),c=l.datum(),f=c.parcatsViewModel,h=f.model.dimensions[c.model.dimensionInd],p=f.trace,d=u.top+u.height/2;f.dimensions.length>1&&h.displayInd===f.dimensions.length-1?(i=u.left,a=\"left\"):(i=u.left+u.width,a=\"right\");var v=c.model.count,g=c.model.categoryLabel,m=v/c.parcatsViewModel.model.count,y={countLabel:v,categoryLabel:g,probabilityLabel:m.toFixed(3)},x=[];-1!==c.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&x.push([\"Count:\",y.countLabel].join(\" \")),-1!==c.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&x.push([\"P(\"+y.categoryLabel+\"):\",y.probabilityLabel].join(\" \"));var b=x.join(\"<br>\");return{trace:p,x:o*(i-t.left),y:s*(d-t.top),text:b,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:y,eventData:[{data:p._input,fullData:p,count:v,category:g,probability:m}]}}function C(e){if(!e.parcatsViewModel.dragDimension&&-1===e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")){if(n.mouse(this)[1]<-1)return;var t,r=e.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=e.parcatsViewModel.hoveron,u=this;\"color\"===l?(function(e){var t=n.select(e).datum(),r=M(t);w(r),r.each((function(){s.raiseToTop(this)})),n.select(e.parentNode).selectAll(\"rect.bandrect\").filter((function(e){return e.color===t.color})).each((function(){s.raiseToTop(this),n.select(this).attr(\"stroke\",\"black\").attr(\"stroke-width\",1.5)}))}(u),S(u,\"plotly_hover\",n.event)):(function(e){n.select(e.parentNode).selectAll(\"rect.bandrect\").each((function(e){var t=M(e);w(t),t.each((function(){s.raiseToTop(this)}))})),n.select(e.parentNode).select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",2.5)}(u),A(u,\"plotly_hover\",n.event)),-1===e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")&&(\"category\"===l?t=E(r,a,u):\"color\"===l?t=function(e,t,r){e._fullLayout._calcInverseTransform(e);var i,a,o=e._fullLayout._invScaleX,s=e._fullLayout._invScaleY,l=r.getBoundingClientRect(),u=n.select(r).datum(),f=u.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,v=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a=\"left\"):(i=l.left+l.width,a=\"right\");var g=f.model.categoryLabel,m=u.parcatsViewModel.model.count,y=0;u.categoryViewModel.bands.forEach((function(e){e.color===u.color&&(y+=e.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(e){e.model.color===u.color&&(b+=e.model.count)}));var _=y/m,w=y/b,k=y/x,T={countLabel:m,categoryLabel:g,probabilityLabel:_.toFixed(3)},M=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf(\"count\")&&M.push([\"Count:\",T.countLabel].join(\" \")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")&&(M.push(\"P(color ∩ \"+g+\"): \"+T.probabilityLabel),M.push(\"P(\"+g+\" | color): \"+w.toFixed(3)),M.push(\"P(color | \"+g+\"): \"+k.toFixed(3)));var A=M.join(\"<br>\"),S=c.mostReadable(u.color,[\"black\",\"white\"]);return{trace:d,x:o*(i-t.left),y:s*(v-t.top),text:A,color:u.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:T,eventData:[{data:d._input,fullData:d,category:g,count:m,probability:_,categorycount:x,colorcount:b,bandcolorcount:y}]}}(r,a,u):\"dimension\"===l&&(t=function(e,t,r){var i=[];return n.select(r.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each((function(){i.push(E(e,t,this))})),i}(r,a,u)),t&&o.loneHover(t,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function L(e){var t=e.parcatsViewModel;t.dragDimension||(_(t.pathSelection),k(t.dimensionSelection.selectAll(\"g.category\")),T(t.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),o.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(v),-1!==t.hoverinfoItems.indexOf(\"skip\"))||(\"color\"===e.parcatsViewModel.hoveron?S(this,\"plotly_unhover\",n.event):A(this,\"plotly_unhover\",n.event))}function P(e){\"fixed\"!==e.parcatsViewModel.arrangement&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map((function(e){return e.displayInd})),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,n.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each((function(t){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=t.width+2&&-2<=i&&i<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map((function(e){return e.displayInd})),t.model.dragY=t.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll(\"rect.bandrect\").each((function(t){t.y<i&&i<=t.y+t.height&&(e.potentialClickBand=this)})))})),e.parcatsViewModel.dragDimension=e,o.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function O(e){if(\"fixed\"!==e.parcatsViewModel.arrangement&&(e.dragHasMoved=!0,null!==e.dragDimensionDisplayInd)){var t=e.dragDimensionDisplayInd,r=t-1,i=t+1,a=e.parcatsViewModel.dimensions[t];if(null!==e.dragCategoryDisplayInd){var o=a.categories[e.dragCategoryDisplayInd];o.model.dragY+=n.event.dy;var s=o.model.dragY,l=o.model.displayInd,u=a.categories,c=u[l-1],f=u[l+1];void 0!==c&&s<c.y+c.height/2&&(o.model.displayInd=c.model.displayInd,c.model.displayInd=l),void 0!==f&&s+o.height>f.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),e.dragCategoryDisplayInd=o.model.displayInd}if(null===e.dragCategoryDisplayInd||\"freeform\"===e.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=e.parcatsViewModel.dimensions[r],p=e.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragX<h.x+h.width&&(a.model.displayInd=h.model.displayInd,h.model.displayInd=t),void 0!==p&&a.model.dragX+a.width>p.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=a.model.displayInd}j(e.parcatsViewModel),N(e.parcatsViewModel),R(e.parcatsViewModel),z(e.parcatsViewModel)}}function I(e){if(\"fixed\"!==e.parcatsViewModel.arrangement&&null!==e.dragDimensionDisplayInd){n.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var t={},r=D(e.parcatsViewModel),i=e.parcatsViewModel.model.dimensions.map((function(e){return e.displayInd})),o=e.initialDragDimensionDisplayInds.some((function(e,t){return e!==i[t]}));o&&i.forEach((function(r,n){var i=e.parcatsViewModel.model.dimensions[n].containerInd;t[\"dimensions[\"+i+\"].displayindex\"]=r}));var s=!1;if(null!==e.dragCategoryDisplayInd){var l=e.model.categories.map((function(e){return e.displayInd}));if(s=e.initialDragCategoryDisplayInds.some((function(e,t){return e!==l[t]}))){var u=e.model.categories.slice().sort((function(e,t){return e.displayInd-t.displayInd})),c=u.map((function(e){return e.categoryValue})),f=u.map((function(e){return e.categoryLabel}));t[\"dimensions[\"+e.model.containerInd+\"].categoryarray\"]=[c],t[\"dimensions[\"+e.model.containerInd+\"].ticktext\"]=[f],t[\"dimensions[\"+e.model.containerInd+\"].categoryorder\"]=\"array\"}}-1===e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")&&!e.dragHasMoved&&e.potentialClickBand&&(\"color\"===e.parcatsViewModel.hoveron?S(e.potentialClickBand,\"plotly_click\",n.event.sourceEvent):A(e.potentialClickBand,\"plotly_click\",n.event.sourceEvent)),e.model.dragX=null,null!==e.dragCategoryDisplayInd&&(e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd].model.dragY=null,e.dragCategoryDisplayInd=null),e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,j(e.parcatsViewModel),N(e.parcatsViewModel),n.transition().duration(300).ease(\"cubic-in-out\").each((function(){R(e.parcatsViewModel,!0),z(e.parcatsViewModel,!0)})).each(\"end\",(function(){(o||s)&&a.restyle(e.parcatsViewModel.graphDiv,t,[r])}))}}function D(e){for(var t,r=e.graphDiv._fullData,n=0;n<r.length;n++)if(e.key===r[n].uid){t=n;break}return t}function z(e,t){var r;void 0===t&&(t=!1),e.pathSelection.data((function(e){return e.paths}),p),(r=e.pathSelection,t?r.transition():r).attr(\"d\",(function(e){return e.svgD}))}function R(e,t){function r(e){return t?e.transition():e}void 0===t&&(t=!1),e.dimensionSelection.data((function(e){return e.dimensions}),p);var i=e.dimensionSelection.selectAll(\"g.category\").data((function(e){return e.categories}),p);r(e.dimensionSelection).attr(\"transform\",(function(e){return l(e.x,0)})),r(i).attr(\"transform\",(function(e){return l(0,e.y)})),i.select(\".dimlabel\").text((function(e,t){return 0===t?e.parcatsViewModel.model.dimensions[e.model.dimensionInd].dimensionLabel:null})),i.select(\".catlabel\").attr(\"text-anchor\",(function(e){return d(e)?\"start\":\"end\"})).attr(\"x\",(function(e){return d(e)?e.width+5:-5})).each((function(e){var t,r;d(e)?(t=e.width+5,r=\"start\"):(t=-5,r=\"end\"),n.select(this).selectAll(\"tspan\").attr(\"x\",t).attr(\"text-anchor\",r)}));var a=i.selectAll(\"rect.bandrect\").data((function(e){return e.bands}),p),o=a.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"cursor\",\"move\").attr(\"stroke-opacity\",0).attr(\"fill\",(function(e){return e.color})).attr(\"fill-opacity\",0);a.attr(\"fill\",(function(e){return e.color})).attr(\"width\",(function(e){return e.width})).attr(\"height\",(function(e){return e.height})).attr(\"y\",(function(e){return e.y})),T(o),a.each((function(){s.raiseToTop(this)})),a.exit().remove()}function F(e,t,r){var n,i=r[0],a=t.margin||{l:80,r:80,t:100,b:80},o=i.trace,s=o.domain,l=t.width,u=t.height,c=Math.floor(l*(s.x[1]-s.x[0])),f=Math.floor(u*(s.y[1]-s.y[0])),h=s.x[0]*l+a.l,p=t.height-s.y[1]*t.height+a.t,d=o.line.shape;n=\"all\"===o.hoverinfo?[\"count\",\"probability\"]:(o.hoverinfo||\"\").split(\"+\");var v={trace:o,key:o.uid,model:i,x:h,y:p,width:c,height:f,hoveron:o.hoveron,hoverinfoItems:n,arrangement:o.arrangement,bundlecolors:o.bundlecolors,sortpaths:o.sortpaths,labelfont:o.labelfont,categorylabelfont:o.tickfont,pathShape:d,dragDimension:null,margin:a,paths:[],dimensions:[],graphDiv:e,traceSelection:null,pathSelection:null,dimensionSelection:null};return i.dimensions&&(j(v),N(v)),v}function B(e,t,r,n,a){var o,s,l=[],u=[];for(s=0;s<r.length-1;s++)o=i(r[s]+e[s],e[s+1]),l.push(o(a)),u.push(o(1-a));var c=\"M \"+e[0]+\",\"+t[0];for(c+=\"l\"+r[0]+\",0 \",s=1;s<r.length;s++)c+=\"C\"+l[s-1]+\",\"+t[s-1]+\" \"+u[s-1]+\",\"+t[s]+\" \"+e[s]+\",\"+t[s],c+=\"l\"+r[s]+\",0 \";for(c+=\"l0,\"+n+\" \",c+=\"l -\"+r[r.length-1]+\",0 \",s=r.length-2;s>=0;s--)c+=\"C\"+u[s]+\",\"+(t[s+1]+n)+\" \"+l[s]+\",\"+(t[s]+n)+\" \"+(e[s]+r[s])+\",\"+(t[s]+n),c+=\"l-\"+r[s]+\",0 \";return c+\"Z\"}function N(e){var t=e.dimensions,r=e.model,n=t.map((function(e){return e.categories.map((function(e){return e.y}))})),i=e.model.dimensions.map((function(e){return e.categories.map((function(e){return e.displayInd}))})),a=e.model.dimensions.map((function(e){return e.displayInd})),o=e.dimensions.map((function(e){return e.model.dimensionInd})),s=t.map((function(e){return e.x})),l=t.map((function(e){return e.width})),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(e){var t=e.categoryInds.map((function(e,t){return i[t][e]}));return o.map((function(e){return t[e]}))}u.sort((function(t,r){var n=f(t),i=f(r);return\"backward\"===e.sortpaths&&(n.reverse(),i.reverse()),n.push(t.valueInds[0]),i.push(r.valueInds[0]),e.bundlecolors&&(n.unshift(t.rawColor),i.unshift(r.rawColor)),n<i?-1:n>i?1:0}));for(var h=new Array(u.length),p=t[0].model.count,d=t[0].categories.map((function(e){return e.height})).reduce((function(e,t){return e+t})),v=0;v<u.length;v++){var g,m=u[v];g=p>0?d*(m.count/p):0;for(var y,x=new Array(n.length),b=0;b<m.categoryInds.length;b++){var _=m.categoryInds[b],w=i[b][_],k=a[b];x[k]=n[k][w],n[k][w]+=g;var T=e.dimensions[k].categories[w],M=T.bands.length,A=T.bands[M-1];if(void 0===A||m.rawColor!==A.rawColor){var S=void 0===A?0:A.y+A.height;T.bands.push({key:S,color:m.color,rawColor:m.rawColor,height:g,width:T.width,count:m.count,y:S,categoryViewModel:T,parcatsViewModel:e})}else{var E=T.bands[M-1];E.height+=g,E.count+=m.count}}y=\"hspline\"===e.pathShape?B(s,x,l,g,.5):B(s,x,l,g,0),h[v]={key:m.valueInds[0],model:m,height:g,leftXs:s,topYs:x,dimWidths:l,svgD:y,parcatsViewModel:e}}e.paths=h}function j(e){var t=e.model.dimensions.map((function(e){return{displayInd:e.displayInd,dimensionInd:e.dimensionInd}}));t.sort((function(e,t){return e.displayInd-t.displayInd}));var r=[];for(var n in t){var i=t[n].dimensionInd,a=e.model.dimensions[i];r.push(U(e,a))}e.dimensions=r}function U(e,t){var r,n=e.model.dimensions.length,i=t.displayInd;r=40+(n>1?(e.width-80-16)/(n-1):0)*i;var a,o,s,l,u,c=[],f=e.model.maxCats,h=t.categories.length,p=t.count,d=e.height-8*(f-1),v=8*(f-h)/2,g=t.categories.map((function(e){return{displayInd:e.displayInd,categoryInd:e.categoryInd}}));for(g.sort((function(e,t){return e.displayInd-t.displayInd})),u=0;u<h;u++)l=g[u].categoryInd,o=t.categories[l],a=p>0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:v,bands:[],parcatsViewModel:e},v=v+a+8,c.push(s);return{key:t.dimensionInd,x:null!==t.dragX?t.dragX:r,y:0,width:16,model:t,categories:c,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}e.exports=function(e,t,r,n){h(r,e,n,t)}},45784:function(e,t,r){\"use strict\";var n=r(45460);e.exports=function(e,t,r,i){var a=e._fullLayout,o=a._paper,s=a._size;n(e,o,t,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},73362:function(e,t,r){\"use strict\";var n=r(50693),i=r(13838),a=r(41940),o=r(27670).Y,s=r(1426).extendFlat,l=r(44467).templatedArray;e.exports={domain:o({name:\"parcoords\",trace:!0,editType:\"plot\"}),labelangle:{valType:\"angle\",dflt:0,editType:\"plot\"},labelside:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},labelfont:a({editType:\"plot\"}),tickfont:a({editType:\"plot\"}),rangefont:a({editType:\"plot\"}),dimensions:l(\"dimension\",{label:{valType:\"string\",editType:\"plot\"},tickvals:s({},i.tickvals,{editType:\"plot\"}),ticktext:s({},i.ticktext,{editType:\"plot\"}),tickformat:s({},i.tickformat,{editType:\"plot\"}),visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},constraintrange:{valType:\"info_array\",freeLength:!0,dimensions:\"1-2\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},multiselect:{valType:\"boolean\",dflt:!0,editType:\"plot\"},values:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"}),line:s({editType:\"calc\"},n(\"line\",{colorscaleDflt:\"Viridis\",autoColorDflt:!1,editTypeOverride:\"calc\"})),unselected:{line:{color:{valType:\"color\",dflt:\"#7f7f7f\",editType:\"plot\"},opacity:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"plot\"},editType:\"plot\"},editType:\"plot\"}}},57920:function(e,t,r){\"use strict\";var n=r(25706),i=r(39898),a=r(28984).keyFun,o=r(28984).repeat,s=r(71828).sorterAsc,l=r(71828).strTranslate,u=n.bar.snapRatio;function c(e,t){return e*(1-u)+t*u}var f=n.bar.snapClose;function h(e,t){return e*(1-f)+t*f}function p(e,t,r,n){if(function(e,t){for(var r=0;r<t.length;r++)if(e>=t[r][0]&&e<=t[r][1])return!0;return!1}(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,f=a;i*f<i*o;f+=i){var p=f+i,d=t[p];if(i*r<i*h(l,d))return c(l,u);if(i*r<i*d||p===o)return c(d,l);u=l,l=d}}function d(e){e.attr(\"x\",-n.bar.captureWidth/2).attr(\"width\",n.bar.captureWidth)}function v(e){e.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function g(e){if(!e.brush.filterSpecified)return\"0,\"+e.height;for(var t,r,n,i=m(e.brush.filter.getConsolidated(),e.height),a=[0],o=i.length?i[0][0]:null,s=0;s<i.length;s++)r=(t=i[s])[1]-t[0],a.push(o),a.push(r),(n=s+1)<i.length&&(o=i[n][0]-t[1]);return a.push(e.height),a}function m(e,t){return e.map((function(e){return e.map((function(e){return Math.max(0,e*t)})).sort(s)}))}function y(){i.select(document.body).style(\"cursor\",null)}function x(e){e.attr(\"stroke-dasharray\",g)}function b(e,t){var r=i.select(e).selectAll(\".highlight, .highlight-shadow\");x(t?r.transition().duration(n.bar.snapDuration).each(\"end\",t):r)}function _(e,t){var r,i=e.brush,a=NaN,o={};if(i.filterSpecified){var s=e.height,l=i.filter.getConsolidated(),u=m(l,s),c=NaN,f=NaN,h=NaN;for(r=0;r<=u.length;r++){var p=u[r];if(p&&p[0]<=t&&t<=p[1]){c=r;break}if(f=r?r-1:NaN,p&&p[0]>t){h=r;break}}if(a=c,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:t-u[f][1]<u[h][0]-t?f:h),!isNaN(a)){var d=u[a],v=function(e,t){var r=n.bar.handleHeight;if(!(t>e[1]+r||t<e[0]-r))return t>=.9*e[1]+.1*e[0]?\"n\":t<=.9*e[0]+.1*e[1]?\"s\":\"ns\"}(d,t);v&&(o.interval=l[a],o.intervalPix=d,o.region=v)}}if(e.ordinal&&!o.region){var g=e.unitTickvals,y=e.unitToPaddedPx.invert(t);for(r=0;r<g.length;r++){var x=[.25*g[Math.max(r-1,0)]+.75*g[r],.25*g[Math.min(r+1,g.length-1)]+.75*g[r]];if(y>=x[0]&&y<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(e,t){i.event.sourceEvent.stopPropagation();var r=t.height-i.mouse(e)[1]-2*n.verticalPadding,a=t.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(t.unitToPaddedPx.invert):a.newExtent=[a.startExtent,t.unitToPaddedPx.invert(r)].sort(s),t.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(t),b(e.parentNode)}function k(e,t){var r=_(t,t.height-i.mouse(e)[1]-2*n.verticalPadding),a=\"crosshair\";r.clickableOrdinalRange?a=\"pointer\":r.region&&(a=r.region+\"-resize\"),i.select(document.body).style(\"cursor\",a)}function T(e){e.on(\"mousemove\",(function(e){i.event.preventDefault(),e.parent.inBrushDrag||k(this,e)})).on(\"mouseleave\",(function(e){e.parent.inBrushDrag||y()})).call(i.behavior.drag().on(\"dragstart\",(function(e){!function(e,t){i.event.sourceEvent.stopPropagation();var r=t.height-i.mouse(e)[1]-2*n.verticalPadding,a=t.unitToPaddedPx.invert(r),o=t.brush,s=_(t,r),l=s.interval,u=o.svgBrush;if(u.wasDragged=!1,u.grabbingBar=\"ns\"===s.region,u.grabbingBar){var c=l.map(t.unitToPaddedPx);u.grabPoint=r-c[0]-n.verticalPadding,u.barLength=c[1]-c[0]}u.clickableOrdinalRange=s.clickableOrdinalRange,u.stayingIntervals=t.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(u.stayingIntervals=u.stayingIntervals.filter((function(e){return e[0]!==l[0]&&e[1]!==l[1]}))),u.startExtent=s.region?l[\"s\"===s.region?1:0]:a,t.parent.inBrushDrag=!0,u.brushStartCallback()}(this,e)})).on(\"drag\",(function(e){w(this,e)})).on(\"dragend\",(function(e){!function(e,t){var r=t.brush,n=r.filter,a=r.svgBrush;a._dragging||(k(e,t),w(e,t),t.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,t.parent.inBrushDrag=!1,y(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&t.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&A(r)):A(r),a.brushCallback(t),b(e.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),a.newExtent=[p(0,l,a.newExtent[0],a.stayingIntervals),p(1,l,a.newExtent[1],a.stayingIntervals)];var u=a.newExtent[1]>a.newExtent[0];a.extent=a.stayingIntervals.concat(u?[a.newExtent]:[]),a.extent.length||A(r),a.brushCallback(t),u?b(e.parentNode,s):(s(),b(e.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,e)})))}function M(e,t){return e[0]-t[0]}function A(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function S(e){for(var t,r=e.slice(),n=[],i=r.shift();i;){for(t=i.slice();(i=r.shift())&&i[0]<=t[1];)t[1]=Math.max(t[1],i[1]);n.push(t)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}e.exports={makeBrush:function(e,t,r,n,i,a){var o,l=function(){var e,t,r=[];return{set:function(n){1===(r=n.map((function(e){return e.slice().sort(s)})).sort(M)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),e=S(r),t=r.reduce((function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return e},getBounds:function(){return t}}}();return l.set(r),{filter:l,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(e){var t=e.brush,r=function(e){return e.svgBrush.extent.map((function(e){return e.slice()}))}(t),n=r.slice();t.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(e,t,r){var i=e.selectAll(\".\"+n.cn.axisBrush).data(o,a);i.enter().append(\"g\").classed(n.cn.axisBrush,!0),function(e,t,r){var i=r._context.staticPlot,a=e.selectAll(\".background\").data(o);a.enter().append(\"rect\").classed(\"background\",!0).call(d).call(v).style(\"pointer-events\",i?\"none\":\"auto\").attr(\"transform\",l(0,n.verticalPadding)),a.call(T).attr(\"height\",(function(e){return e.height-n.verticalPadding}));var s=e.selectAll(\".highlight-shadow\").data(o);s.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width+n.bar.strokeWidth).attr(\"stroke\",t).attr(\"opacity\",n.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),s.attr(\"y1\",(function(e){return e.height})).call(x);var u=e.selectAll(\".highlight\").data(o);u.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width-n.bar.strokeWidth).attr(\"stroke\",n.bar.fillColor).attr(\"opacity\",n.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),u.attr(\"y1\",(function(e){return e.height})).call(x)}(i,t,r)},cleanRanges:function(e,t){if(Array.isArray(e[0])?(e=e.map((function(e){return e.sort(s)})),e=t.multiselect?S(e.sort(M)):[e[0]]):e=[e.sort(s)],t.tickvals){var r=t.tickvals.slice().sort(s);if(!(e=e.map((function(e){var t=[p(0,r,e[0],[]),p(1,r,e[1],[])];if(t[1]>t[0])return t})).filter((function(e){return e}))).length)return}return e.length>1?e:e[0]}}},71791:function(e,t,r){\"use strict\";e.exports={attributes:r(73362),supplyDefaults:r(3633),calc:r(24639),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:r(49351),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}},49351:function(e,t,r){\"use strict\";var n=r(39898),i=r(27659).a0,a=r(21341),o=r(77922);t.name=\"parcoords\",t.plot=function(e){var t=i(e.calcdata,\"parcoords\")[0];t.length&&a(e,t)},t.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcoords\"),a=t._has&&t._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())},t.toSVG=function(e){var t=e._fullLayout._glimages,r=n.select(e).selectAll(\".svg-container\");r.filter((function(e,t){return t===r.size()-1})).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each((function(){var e=this,r=e.toDataURL(\"image/png\");t.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":r,preserveAspectRatio:\"none\",x:0,y:0,width:e.style.width,height:e.style.height})})),window.setTimeout((function(){n.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")}),60)}},24639:function(e,t,r){\"use strict\";var n=r(71828).isArrayOrTypedArray,i=r(21081),a=r(28984).wrap;e.exports=function(e,t){var r,o;return i.hasColorscale(t,\"line\")&&n(t.line.color)?(r=t.line.color,o=i.extractOpts(t.line).colorscale,i.calc(e,t,{vals:r,containerStr:\"line\",cLetter:\"c\"})):(r=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=.5;return t}(t._length),o=[[0,t.line.color],[1,t.line.color]]),a({lineColor:r,cscale:o})}},25706:function(e){\"use strict\";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:[\"contextLineLayer\",\"focusLineLayer\",\"pickLineLayer\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:\"magenta\",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}}},3633:function(e,t,r){\"use strict\";var n=r(71828),i=r(52075).hasColorscale,a=r(1586),o=r(27670).c,s=r(85501),l=r(89298),u=r(73362),c=r(57920),f=r(25706).maxDimensionCount,h=r(94397);function p(e,t,r,i){function a(r,i){return n.coerce(e,t,u.dimensions,r,i)}var o=a(\"values\"),s=a(\"visible\");if(o&&o.length||(s=t.visible=!1),s){a(\"label\"),a(\"tickvals\"),a(\"ticktext\"),a(\"tickformat\");var f=a(\"range\");t._ax={_id:\"y\",type:\"linear\",showexponent:\"all\",exponentformat:\"B\",range:f},l.setConvert(t._ax,i.layout),a(\"multiselect\");var h=a(\"constraintrange\");h&&(t.constraintrange=c.cleanRanges(h,t))}}e.exports=function(e,t,r,l){function c(r,i){return n.coerce(e,t,u,r,i)}var d=e.dimensions;Array.isArray(d)&&d.length>f&&(n.log(\"parcoords traces support up to \"+f+\" dimensions at the moment\"),d.splice(f));var v=s(e,t,{name:\"dimensions\",layout:l,handleItemDefaults:p}),g=function(e,t,r,o,s){var l=s(\"line.color\",r);if(i(e,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),a(e,t,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;t.line.color=r}return 1/0}(e,t,r,l,c);o(t,l,c),Array.isArray(v)&&v.length||(t.visible=!1),h(t,v,\"values\",g);var m={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(c,\"labelfont\",m),n.coerceFont(c,\"tickfont\",m),n.coerceFont(c,\"rangefont\",m),c(\"labelangle\"),c(\"labelside\"),c(\"unselected.line.color\"),c(\"unselected.line.opacity\")}},1602:function(e,t,r){\"use strict\";var n=r(71828).isTypedArray;t.convertTypedArray=function(e){return n(e)?Array.prototype.slice.call(e):e},t.isOrdinal=function(e){return!!e.tickvals},t.isVisible=function(e){return e.visible||!(\"visible\"in e)}},67618:function(e,t,r){\"use strict\";var n=r(71791);n.plot=r(21341),e.exports=n},83398:function(e,t,r){\"use strict\";var n=r(56068),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\\n               p17_20, p21_24, p25_28, p29_32,\\n               p33_36, p37_40, p41_44, p45_48,\\n               p49_52, p53_56, p57_60, colors;\\n\\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\n\\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\\nuniform float maskHeight;\\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\\nuniform vec4 contextColor;\\nuniform sampler2D maskTexture, palette;\\n\\nbool isPick    = (drwLayer > 1.5);\\nbool isContext = (drwLayer < 0.5);\\n\\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\\n\\nfloat val(mat4 p, mat4 v) {\\n    return dot(matrixCompMult(p, v) * UNITS, UNITS);\\n}\\n\\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\\n    float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\\n    float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\\n    return y1 * (1.0 - ratio) + y2 * ratio;\\n}\\n\\nint iMod(int a, int b) {\\n    return a - b * (a / b);\\n}\\n\\nbool fOutside(float p, float lo, float hi) {\\n    return (lo < hi) && (lo > p || p > hi);\\n}\\n\\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\\n    return (\\n        fOutside(p[0], lo[0], hi[0]) ||\\n        fOutside(p[1], lo[1], hi[1]) ||\\n        fOutside(p[2], lo[2], hi[2]) ||\\n        fOutside(p[3], lo[3], hi[3])\\n    );\\n}\\n\\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\\n    return (\\n        vOutside(p[0], lo[0], hi[0]) ||\\n        vOutside(p[1], lo[1], hi[1]) ||\\n        vOutside(p[2], lo[2], hi[2]) ||\\n        vOutside(p[3], lo[3], hi[3])\\n    );\\n}\\n\\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\\n    return mOutside(A, loA, hiA) ||\\n           mOutside(B, loB, hiB) ||\\n           mOutside(C, loC, hiC) ||\\n           mOutside(D, loD, hiD);\\n}\\n\\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\\n    mat4 pnts[4];\\n    pnts[0] = A;\\n    pnts[1] = B;\\n    pnts[2] = C;\\n    pnts[3] = D;\\n\\n    for(int i = 0; i < 4; ++i) {\\n        for(int j = 0; j < 4; ++j) {\\n            for(int k = 0; k < 4; ++k) {\\n                if(0 == iMod(\\n                    int(255.0 * texture2D(maskTexture,\\n                        vec2(\\n                            (float(i * 2 + j / 2) + 0.5) / 8.0,\\n                            (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\\n                        ))[3]\\n                    ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\\n                    2\\n                )) return true;\\n            }\\n        }\\n    }\\n    return false;\\n}\\n\\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\\n    float x = 0.5 * sign(v) + 0.5;\\n    float y = axisY(x, A, B, C, D);\\n    float z = 1.0 - abs(v);\\n\\n    z += isContext ? 0.0 : 2.0 * float(\\n        outsideBoundingBox(A, B, C, D) ||\\n        outsideRasterMask(A, B, C, D)\\n    );\\n\\n    return vec4(\\n        2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\\n        z,\\n        1.0\\n    );\\n}\\n\\nvoid main() {\\n    mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\\n    mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\\n    mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\\n    mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\\n\\n    float v = colors[3];\\n\\n    gl_Position = position(isContext, v, A, B, C, D);\\n\\n    fragColor =\\n        isContext ? vec4(contextColor) :\\n        isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\\n}\\n\"]),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n    gl_FragColor = fragColor;\\n}\\n\"]),o=r(25706).maxDimensionCount,s=r(71828),l=1e-6,u=new Uint8Array(4),c=new Uint8Array(4),f={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function h(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function p(e,t,r,n,i,a){var o=a.key;r.drawCompleted||(function(e){e.read({x:0,y:0,width:1,height:1,data:u})}(e),r.drawCompleted=!0),function s(l){var u=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],h(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*u,a.offset=2*l*n,t(a),l*n+u<i&&(r.currentRafs[o]=window.requestAnimationFrame((function(){s(l+1)}))),r.drawCompleted=!1)}(0)}function d(e,t){for(var r=new Array(256),n=0;n<256;n++)r[n]=e(n/255).concat(t);return r}function v(e,t){return(e>>>8*t)%256/255}function g(e,t,r){for(var n=new Array(8*t),i=0,a=0;a<t;a++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=4*e+s,u=r[64*a+l];63===l&&0===o&&(u*=-1),n[i++]=u}return n}function m(e){var t=\"0\"+e;return t.substr(t.length-2)}function y(e){return e<o?\"p\"+m(e+1)+\"_\"+m(e+4):\"colors\"}function x(e,t,r,n,i,a,o,l,u,c,f,h,p,d){for(var v=[[],[]],g=0;g<64;g++)v[0][g]=g===i?1:0,v[1][g]=g===a?1:0;o*=d,l*=d,u*=d,c*=d;var m=e.lines.canvasOverdrag*d,y=e.domain,x=e.canvasWidth*d,b=e.canvasHeight*d,_=e.pad.l*d,w=e.pad.b*d,k=e.layoutHeight*d,T=e.layoutWidth*d,M=e.deselectedLines.color,A=e.deselectedLines.opacity;return s.extendFlat({key:f,resolution:[x,b],viewBoxPos:[o+m,l],viewBoxSize:[u,c],i0:i,i1:a,dim0A:v[0].slice(0,16),dim0B:v[0].slice(16,32),dim0C:v[0].slice(32,48),dim0D:v[0].slice(48,64),dim1A:v[1].slice(0,16),dim1B:v[1].slice(16,32),dim1C:v[1].slice(32,48),dim1D:v[1].slice(48,64),drwLayer:h,contextColor:[M[0]/255,M[1]/255,M[2]/255,\"auto\"!==A?M[3]*A:Math.max(1/255,Math.pow(1/e.lines.color.length,1/3))],scissorX:(n===t?0:o+m)+(_-m)+T*y.x[0],scissorWidth:(n===r?x-o+m:u+.5)+(n===t?o+m:0),scissorY:l+w+k*y.y[0],scissorHeight:c,viewportX:_-m+T*y.x[0],viewportY:w+k*y.y[0],viewportWidth:x,viewportHeight:b},p)}function b(e){var t=2047,r=Math.max(0,Math.floor(e[0]*t),0),n=Math.min(t,Math.ceil(e[1]*t),t);return[Math.min(r,n),Math.max(r,n)]}e.exports=function(e,t){var r,n,u,m,_,w=t.context,k=t.pick,T=t.regl,M=T._gl,A=M.getParameter(M.ALIASED_LINE_WIDTH_RANGE),S=Math.max(A[0],Math.min(A[1],t.viewModel.plotGlPixelRatio)),E={currentRafs:{},drawCompleted:!0,clearOnly:!1},C=function(e){for(var t={},r=0;r<=o;r+=4)t[y(r)]=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)});return t}(T),L=T.texture(f),P=[];I(t);var O=T({profile:!1,blend:{enable:w,func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:1,dstAlpha:1},equation:{rgb:\"add\",alpha:\"add\"},color:[0,0,0,0]},depth:{enable:!w,mask:!0,func:\"less\",range:[0,1]},cull:{enable:!0,face:\"back\"},scissor:{enable:!0,box:{x:T.prop(\"scissorX\"),y:T.prop(\"scissorY\"),width:T.prop(\"scissorWidth\"),height:T.prop(\"scissorHeight\")}},viewport:{x:T.prop(\"viewportX\"),y:T.prop(\"viewportY\"),width:T.prop(\"viewportWidth\"),height:T.prop(\"viewportHeight\")},dither:!1,vert:i,frag:a,primitive:\"lines\",lineWidth:S,attributes:C,uniforms:{resolution:T.prop(\"resolution\"),viewBoxPos:T.prop(\"viewBoxPos\"),viewBoxSize:T.prop(\"viewBoxSize\"),dim0A:T.prop(\"dim0A\"),dim1A:T.prop(\"dim1A\"),dim0B:T.prop(\"dim0B\"),dim1B:T.prop(\"dim1B\"),dim0C:T.prop(\"dim0C\"),dim1C:T.prop(\"dim1C\"),dim0D:T.prop(\"dim0D\"),dim1D:T.prop(\"dim1D\"),loA:T.prop(\"loA\"),hiA:T.prop(\"hiA\"),loB:T.prop(\"loB\"),hiB:T.prop(\"hiB\"),loC:T.prop(\"loC\"),hiC:T.prop(\"hiC\"),loD:T.prop(\"loD\"),hiD:T.prop(\"hiD\"),palette:L,contextColor:T.prop(\"contextColor\"),maskTexture:T.prop(\"maskTexture\"),drwLayer:T.prop(\"drwLayer\"),maskHeight:T.prop(\"maskHeight\")},offset:T.prop(\"offset\"),count:T.prop(\"count\")});function I(e){r=e.model,n=e.viewModel,u=n.dimensions.slice(),m=u[0]?u[0].values.length:0;var t=r.lines,i=k?t.color.map((function(e,r){return r/t.color.length})):t.color,a=function(e,t,r){for(var n,i=new Array(e*(o+4)),a=0,s=0;s<e;s++){for(var u=0;u<o;u++)i[a++]=u<t.length?t[u].paddedUnitValues[s]:.5;i[a++]=v(s,2),i[a++]=v(s,1),i[a++]=v(s,0),i[a++]=(n=r[s],Math.max(l,Math.min(.999999,n)))}return i}(m,u,i);!function(e,t,r){for(var n=0;n<=o;n+=4)e[y(n)](g(n/4,t,r))}(C,m,a),w||k||(L=T.texture(s.extendFlat({data:d(r.unitToColor,255)},f)))}return{render:function(e,t,n){var i,a,o,s=e.length,l=1/0,c=-1/0;for(i=0;i<s;i++)e[i].dim0.canvasX<l&&(l=e[i].dim0.canvasX,a=i),e[i].dim1.canvasX>c&&(c=e[i].dim1.canvasX,o=i);0===s&&h(T,0,0,r.canvasWidth,r.canvasHeight);var f=function(e){var t,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!e&&n<u.length?u[n].brush.filter.getBounds():[-1/0,1/0];i[0][n]=a[0],i[1][n]=a[1]}var o=new Array(16384);for(t=0;t<16384;t++)o[t]=255;if(!e)for(t=0;t<u.length;t++){var s=t%8,l=(t-s)/8,c=Math.pow(2,s),f=u[t].brush.filter.get();if(!(f.length<2)){var h=b(f[0])[1];for(r=1;r<f.length;r++){var p=b(f[r]);for(n=h+1;n<p[0];n++)o[8*n+l]&=~c;h=Math.max(h,p[1])}}}var d={shape:[8,2048],format:\"alpha\",type:\"uint8\",mag:\"nearest\",min:\"nearest\",data:o};return _?_(d):_=T.texture(d),{maskTexture:_,maskHeight:2048,loA:i[0].slice(0,16),loB:i[0].slice(16,32),loC:i[0].slice(32,48),loD:i[0].slice(48,64),hiA:i[1].slice(0,16),hiB:i[1].slice(16,32),hiC:i[1].slice(32,48),hiD:i[1].slice(48,64)}}(w);for(i=0;i<s;i++){var d=e[i],v=d.dim0.crossfilterDimensionIndex,g=d.dim1.crossfilterDimensionIndex,y=d.canvasX,M=d.canvasY,A=y+d.panelSizeX,S=d.plotGlPixelRatio;if(t||!P[v]||P[v][0]!==y||P[v][1]!==A){P[v]=[y,A];var C=x(r,a,o,i,v,g,y,M,d.panelSizeX,d.panelSizeY,d.dim0.crossfilterDimensionIndex,w?0:k?2:1,f,S);E.clearOnly=n;var L=t?r.lines.blockLineCount:m;p(T,O,E,L,m,C)}}},readPixel:function(e,t){return T.read({x:e,y:t,width:1,height:1,data:c}),c},readPixels:function(e,t,r,n){var i=new Uint8Array(4*r*n);return T.read({x:e,y:t,width:r,height:n,data:i}),i},destroy:function(){for(var t in e.style[\"pointer-events\"]=\"none\",L.destroy(),_&&_.destroy(),C)C[t].destroy()},update:I}}},94397:function(e){\"use strict\";e.exports=function(e,t,r,n){var i,a;for(n||(n=1/0),i=0;i<t.length;i++)(a=t[i]).visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),e._length=n,i=0;i<t.length;i++)(a=t[i]).visible&&(a._length=n);return n}},17171:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(36652),s=r(89298),l=i.strRotate,u=i.strTranslate,c=r(63893),f=r(91424),h=r(21081),p=r(28984),d=p.keyFun,v=p.repeat,g=p.unwrap,m=r(1602),y=r(25706),x=r(57920),b=r(83398);function _(e,t,r){return i.aggNums(e,null,t,r)}function w(e,t){return T(_(Math.min,e,t),_(Math.max,e,t))}function k(e){var t=e.range;return t?T(t[0],t[1]):w(e.values,e._length)}function T(e,t){return!isNaN(e)&&isFinite(e)||(e=0),!isNaN(t)&&isFinite(t)||(t=0),e===t&&(0===e?(e-=1,t+=1):(e*=.9,t*=1.1)),[e,t]}function M(e,t,r,i,o){var s,l,u=k(r);return i?n.scale.ordinal().domain(i.map((s=a(r.tickformat),l=o,l?function(e,t){var r=l[t];return null==r?s(e):r}:s))).range(i.map((function(r){var n=(r-u[0])/(u[1]-u[0]);return e-t+n*(2*t-e)}))):n.scale.linear().domain(u).range([e-t,t])}function A(e){if(e.tickvals){var t=k(e);return n.scale.ordinal().domain(e.tickvals).range(e.tickvals.map((function(e){return(e-t[0])/(t[1]-t[0])})))}}function S(e){var t=e.map((function(e){return e[0]})),r=e.map((function(e){var t=o(e[1]);return n.rgb(\"rgb(\"+t[0]+\",\"+t[1]+\",\"+t[2]+\")\")})),i=\"rgb\".split(\"\").map((function(e){return n.scale.linear().clamp(!0).domain(t).range(r.map((i=e,function(e){return e[i]})));var i}));return function(e){return i.map((function(t){return t(e)}))}}function E(e){return e.dimensions.some((function(e){return e.brush.filterSpecified}))}function C(e,t,r){var a=g(t),s=a.trace,l=m.convertTypedArray(a.lineColor),u=s.line,c={color:o(s.unselected.line.color),opacity:s.unselected.line.opacity},f=h.extractOpts(u),p=f.reversescale?h.flipScale(a.cscale):a.cscale,d=s.domain,v=s.dimensions,x=e.width,b=s.labelangle,_=s.labelside,w=s.labelfont,T=s.tickfont,M=s.rangefont,A=i.extendDeepNoArrays({},u,{color:l.map(n.scale.linear().domain(k({values:l,range:[f.min,f.max],_length:s._length}))),blockLineCount:y.blockLineCount,canvasOverdrag:y.overdrag*y.canvasPixelRatio}),E=Math.floor(x*(d.x[1]-d.x[0])),C=Math.floor(e.height*(d.y[1]-d.y[0])),L=e.margin||{l:80,r:80,t:100,b:80},P=E,O=C;return{key:r,colCount:v.filter(m.isVisible).length,dimensions:v,tickDistance:y.tickDistance,unitToColor:S(p),lines:A,deselectedLines:c,labelAngle:b,labelSide:_,labelFont:w,tickFont:T,rangeFont:M,layoutWidth:x,layoutHeight:e.height,domain:d,translateX:d.x[0]*x,translateY:e.height-d.y[1]*e.height,pad:L,canvasWidth:P*y.canvasPixelRatio+2*A.canvasOverdrag,canvasHeight:O*y.canvasPixelRatio,width:P,height:O,canvasPixelRatio:y.canvasPixelRatio}}function L(e,t,r){var o=r.width,s=r.height,l=r.dimensions,u=r.canvasPixelRatio,c=function(e){return o*e/Math.max(1,r.colCount-1)},f=y.verticalPadding/s,h=function(e,t){return n.scale.linear().range([t,e-t])}(s,y.verticalPadding),p={key:r.key,xScale:c,model:r,inBrushDrag:!1},d={};return p.dimensions=l.filter(m.isVisible).map((function(o,l){var v=function(e,t){return n.scale.linear().domain(k(e)).range([t,1-t])}(o,f),g=d[o.label];d[o.label]=(g||0)+1;var b=o.label+(g?\"__\"+g:\"\"),_=o.constraintrange,w=_&&_.length;w&&!Array.isArray(_[0])&&(_=[_]);var T=w?_.map((function(e){return e.map(v)})):[[-1/0,1/0]],S=o.values;S.length>o._length&&(S=S.slice(0,o._length));var C,L=o.tickvals;function P(e,t){return{val:e,text:C[t]}}function O(e,t){return e.val-t.val}if(Array.isArray(L)&&L.length){C=o.ticktext,Array.isArray(C)&&C.length?C.length>L.length?C=C.slice(0,L.length):L.length>C.length&&(L=L.slice(0,C.length)):C=L.map(a(o.tickformat));for(var I=1;I<L.length;I++)if(L[I]<L[I-1]){for(var D=L.map(P).sort(O),z=0;z<L.length;z++)L[z]=D[z].val,C[z]=D[z].text;break}}else L=void 0;return S=m.convertTypedArray(S),{key:b,label:o.label,tickFormat:o.tickformat,tickvals:L,ticktext:C,ordinal:m.isOrdinal(o),multiselect:o.multiselect,xIndex:l,crossfilterDimensionIndex:l,visibleIndex:o._index,height:s,values:S,paddedUnitValues:S.map(v),unitTickvals:L&&L.map(v),xScale:c,x:c(l),canvasX:c(l)*u,unitToPaddedPx:h,domainScale:M(s,y.verticalPadding,o,L,C),ordinalScale:A(o),parent:p,model:r,brush:x.makeBrush(e,w,T,(function(){e.linePickActive(!1)}),(function(){var t=p;t.focusLayer&&t.focusLayer.render(t.panels,!0);var r=E(t);!e.contextShown()&&r?(t.contextLayer&&t.contextLayer.render(t.panels,!0),e.contextShown(!0)):e.contextShown()&&!r&&(t.contextLayer&&t.contextLayer.render(t.panels,!0,!0),e.contextShown(!1))}),(function(r){if(p.focusLayer.render(p.panels,!0),p.pickLayer&&p.pickLayer.render(p.panels,!0),e.linePickActive(!0),t&&t.filterChanged){var n=v.invert,a=r.map((function(e){return e.map(n).sort(i.sorterAsc)})).sort((function(e,t){return e[0]-t[0]}));t.filterChanged(p.key,o._index,a)}}))}})),p}function P(e){e.classed(y.cn.axisExtentText,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"default\")}function O(e,t){var r=\"top\"===t?1:-1,n=e*Math.PI/180;return{dir:r,dx:Math.sin(n),dy:Math.cos(n),degrees:e}}function I(e,t,r){for(var n=t.panels||(t.panels=[]),i=e.data(),a=0;a<i.length-1;a++){var o=n[a]||(n[a]={}),s=i[a],l=i[a+1];o.dim0=s,o.dim1=l,o.canvasX=s.canvasX,o.panelSizeX=l.canvasX-s.canvasX,o.panelSizeY=t.model.canvasHeight,o.y=0,o.canvasY=0,o.plotGlPixelRatio=r}}function D(e,t){return s.tickText(e._ax,t,!1).text}function z(e,t){if(e.ordinal)return\"\";var r=e.domainScale.domain(),n=r[t?r.length-1:0];return D(e.model.dimensions[e.visibleIndex],n)}e.exports=function(e,t,r,a){var o=e._context.staticPlot,h=e._fullLayout,p=h._toppaper,_=h._glcontainer,k=e._context.plotGlPixelRatio,M=e._fullLayout.paper_bgcolor;!function(e){for(var t=0;t<e.length;t++)for(var r=0;r<e[t].length;r++)for(var n=e[t][r].trace,i=n.dimensions,a=0;a<i.length;a++){var o=i[a].values,l=i[a]._ax;l&&(l.range?l.range=T(l.range[0],l.range[1]):l.range=w(o,n._length),l.dtick||(l.dtick=.01*(Math.abs(l.range[1]-l.range[0])||1)),l.tickformat=i[a].tickformat,s.calcTicks(l),l.cleanRange())}}(t);var A,S,R=(A=!0,S=!1,{linePickActive:function(e){return arguments.length?A=!!e:A},contextShown:function(e){return arguments.length?S=!!e:S}}),F=t.filter((function(e){return g(e).trace.visible})).map(C.bind(0,r)).map(L.bind(0,R,a));_.each((function(e,t){return i.extendFlat(e,F[t])}));var B=_.selectAll(\".gl-canvas\").each((function(e){e.viewModel=F[0],e.viewModel.plotGlPixelRatio=k,e.viewModel.paperColor=M,e.model=e.viewModel?e.viewModel.model:null})),N=null;B.filter((function(e){return e.pick})).style(\"pointer-events\",o?\"none\":\"auto\").on(\"mousemove\",(function(e){if(R.linePickActive()&&e.lineLayer&&a&&a.hover){var t=n.event,r=this.width,i=this.height,o=n.mouse(this),s=o[0],l=o[1];if(s<0||l<0||s>=r||l>=i)return;var u=e.lineLayer.readPixel(s,i-1-l),c=0!==u[3],f=c?u[2]+256*(u[1]+256*u[0]):null,h={x:s,y:l,clientX:t.clientX,clientY:t.clientY,dataIndex:e.model.key,curveNumber:f};f!==N&&(c?a.hover(h):a.unhover&&a.unhover(h),N=f)}})),B.style(\"opacity\",(function(e){return e.pick?0:1})),p.style(\"background\",\"rgba(255, 255, 255, 0)\");var j=p.selectAll(\".\"+y.cn.parcoords).data(F,d);j.exit().remove(),j.enter().append(\"g\").classed(y.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),j.attr(\"transform\",(function(e){return u(e.model.translateX,e.model.translateY)}));var U=j.selectAll(\".\"+y.cn.parcoordsControlView).data(v,d);U.enter().append(\"g\").classed(y.cn.parcoordsControlView,!0),U.attr(\"transform\",(function(e){return u(e.model.pad.l,e.model.pad.t)}));var V=U.selectAll(\".\"+y.cn.yAxis).data((function(e){return e.dimensions}),d);V.enter().append(\"g\").classed(y.cn.yAxis,!0),U.each((function(e){I(V,e,k)})),B.each((function(e){if(e.viewModel){!e.lineLayer||a?e.lineLayer=b(this,e):e.lineLayer.update(e),(e.key||0===e.key)&&(e.viewModel[e.key]=e.lineLayer);var t=!e.context||a;e.lineLayer.render(e.viewModel.panels,t)}})),V.attr(\"transform\",(function(e){return u(e.xScale(e.xIndex),0)})),V.call(n.behavior.drag().origin((function(e){return e})).on(\"drag\",(function(e){var t=e.parent;R.linePickActive(!1),e.x=Math.max(-y.overdrag,Math.min(e.model.width+y.overdrag,n.event.x)),e.canvasX=e.x*e.model.canvasPixelRatio,V.sort((function(e,t){return e.x-t.x})).each((function(t,r){t.xIndex=r,t.x=e===t?t.x:t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio})),I(V,t,k),V.filter((function(t){return 0!==Math.abs(e.xIndex-t.xIndex)})).attr(\"transform\",(function(e){return u(e.xScale(e.xIndex),0)})),n.select(this).attr(\"transform\",u(e.x,0)),V.each((function(r,n,i){i===e.parent.key&&(t.dimensions[n]=r)})),t.contextLayer&&t.contextLayer.render(t.panels,!1,!E(t)),t.focusLayer.render&&t.focusLayer.render(t.panels)})).on(\"dragend\",(function(e){var t=e.parent;e.x=e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio,I(V,t,k),n.select(this).attr(\"transform\",(function(e){return u(e.x,0)})),t.contextLayer&&t.contextLayer.render(t.panels,!1,!E(t)),t.focusLayer&&t.focusLayer.render(t.panels),t.pickLayer&&t.pickLayer.render(t.panels,!0),R.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(t.key,t.dimensions.map((function(e){return e.crossfilterDimensionIndex})))}))),V.exit().remove();var H=V.selectAll(\".\"+y.cn.axisOverlays).data(v,d);H.enter().append(\"g\").classed(y.cn.axisOverlays,!0),H.selectAll(\".\"+y.cn.axis).remove();var q=H.selectAll(\".\"+y.cn.axis).data(v,d);q.enter().append(\"g\").classed(y.cn.axis,!0),q.each((function(e){var t=e.model.height/e.model.tickDistance,r=e.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(t,e.tickFormat).tickValues(e.ordinal?i:null).tickFormat((function(t){return m.isOrdinal(e)?t:D(e.model.dimensions[e.visibleIndex],t)})).scale(r)),f.font(q.selectAll(\"text\"),e.model.tickFont)})),q.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),q.selectAll(\"text\").style(\"text-shadow\",c.makeTextShadow(M)).style(\"cursor\",\"default\");var G=H.selectAll(\".\"+y.cn.axisHeading).data(v,d);G.enter().append(\"g\").classed(y.cn.axisHeading,!0);var Y=G.selectAll(\".\"+y.cn.axisTitle).data(v,d);Y.enter().append(\"text\").classed(y.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",o?\"none\":\"auto\"),Y.text((function(e){return e.label})).each((function(t){var r=n.select(this);f.font(r,t.model.labelFont),c.convertToTspans(r,e)})).attr(\"transform\",(function(e){var t=O(e.model.labelAngle,e.model.labelSide),r=y.axisTitleOffset;return(t.dir>0?\"\":u(0,2*r+e.model.height))+l(t.degrees)+u(-r*t.dx,-r*t.dy)})).attr(\"text-anchor\",(function(e){var t=O(e.model.labelAngle,e.model.labelSide);return 2*Math.abs(t.dx)>Math.abs(t.dy)?t.dir*t.dx<0?\"start\":\"end\":\"middle\"}));var W=H.selectAll(\".\"+y.cn.axisExtent).data(v,d);W.enter().append(\"g\").classed(y.cn.axisExtent,!0);var Z=W.selectAll(\".\"+y.cn.axisExtentTop).data(v,d);Z.enter().append(\"g\").classed(y.cn.axisExtentTop,!0),Z.attr(\"transform\",u(0,-y.axisExtentOffset));var X=Z.selectAll(\".\"+y.cn.axisExtentTopText).data(v,d);X.enter().append(\"text\").classed(y.cn.axisExtentTopText,!0).call(P),X.text((function(e){return z(e,!0)})).each((function(e){f.font(n.select(this),e.model.rangeFont)}));var K=W.selectAll(\".\"+y.cn.axisExtentBottom).data(v,d);K.enter().append(\"g\").classed(y.cn.axisExtentBottom,!0),K.attr(\"transform\",(function(e){return u(0,e.model.height+y.axisExtentOffset)}));var J=K.selectAll(\".\"+y.cn.axisExtentBottomText).data(v,d);J.enter().append(\"text\").classed(y.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(P),J.text((function(e){return z(e,!1)})).each((function(e){f.font(n.select(this),e.model.rangeFont)})),x.ensureAxisBrush(H,M,e)}},21341:function(e,t,r){\"use strict\";var n=r(17171),i=r(79749),a=r(1602).isVisible,o={};function s(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return-1===i&&(i+=t.length),i}(e.exports=function(e,t){var r=e._fullLayout;if(i(e,[],o)){var l={},u={},c={},f={},h=r._size;t.forEach((function(t,r){var n=t[0].trace;c[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=e.data[i].dimensions,u[r]=e.data[i].dimensions.slice()})),n(e,t,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(t,n,i){var a=u[t][n],o=i.map((function(e){return e.slice()})),s=\"dimensions[\"+n+\"].constraintrange\",l=r._tracePreGUI[e._fullData[c[t]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=e._fullData[c[t]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,e.emit(\"plotly_restyle\",[d,[f[t]]])},hover:function(t){e.emit(\"plotly_hover\",t)},unhover:function(t){e.emit(\"plotly_unhover\",t)},axesMoved:function(t,r){var n=function(e,t){return function(r,n){return s(e,t,r)-s(e,t,n)}}(r,u[t].filter(a));l[t].sort(n),u[t].filter((function(e){return!a(e)})).sort((function(e){return u[t].indexOf(e)})).forEach((function(e){l[t].splice(l[t].indexOf(e),1),l[t].splice(u[t].indexOf(e),0,e)})),e.emit(\"plotly_restyle\",[{dimensions:[l[t]]},[f[t]]])}})}}).reglPrecompiled=o},34e3:function(e,t,r){\"use strict\";var n=r(9012),i=r(27670).Y,a=r(41940),o=r(22399),s=r(5386).fF,l=r(5386).si,u=r(1426).extendFlat,c=r(79952).u,f=a({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});e.exports={labels:{valType:\"data_array\",editType:\"calc\"},label0:{valType:\"number\",dflt:0,editType:\"calc\"},dlabel:{valType:\"number\",dflt:1,editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},marker:{colors:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:o.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},pattern:c,editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"percent\"],extras:[\"none\"],editType:\"calc\"},hoverinfo:u({},n.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:s({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplate:l({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:u({},f,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:u({},f,{}),outsidetextfont:u({},f,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:u({},f,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:i({name:\"pie\",trace:!0,editType:\"calc\"}),hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},sort:{valType:\"boolean\",dflt:!0,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"},_deprecated:{title:{valType:\"string\",dflt:\"\",editType:\"calc\"},titlefont:u({},f,{}),titleposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"calc\"}}}},13584:function(e,t,r){\"use strict\";var n=r(74875);t.name=\"pie\",t.plot=function(e,r,i,a){n.plotBasePlot(t.name,e,r,i,a)},t.clean=function(e,r,i,a){n.cleanBasePlot(t.name,e,r,i,a)}},32354:function(e,t,r){\"use strict\";var n=r(92770),i=r(84267),a=r(7901),o={};function s(e){return function(t,r){return!!t&&!!(t=i(t)).isValid()&&(t=a.addOpacity(t,t.getAlpha()),e[r]||(e[r]=t),t)}}function l(e,t){var r,n=JSON.stringify(e),a=t[n];if(!a){for(a=e.slice(),r=0;r<e.length;r++)a.push(i(e[r]).lighten(20).toHexString());for(r=0;r<e.length;r++)a.push(i(e[r]).darken(20).toHexString());t[n]=a}return a}e.exports={calc:function(e,t){var r,i,a=[],o=e._fullLayout,l=o.hiddenlabels||[],u=t.labels,c=t.marker.colors||[],f=t.values,h=t._length,p=t._hasValues&&h;if(t.dlabel)for(u=new Array(h),r=0;r<h;r++)u[r]=String(t.label0+r*t.dlabel);var d={},v=s(o[\"_\"+t.type+\"colormap\"]),g=0,m=!1;for(r=0;r<h;r++){var y,x,b;if(p){if(y=f[r],!n(y))continue;y=+y}else y=1;void 0!==(x=u[r])&&\"\"!==x||(x=r);var _=d[x=String(x)];void 0===_?(d[x]=a.length,(b=-1!==l.indexOf(x))||(g+=y),a.push({v:y,label:x,color:v(c[r],x),i:r,pts:[r],hidden:b})):(m=!0,(i=a[_]).v+=y,i.pts.push(r),i.hidden||(g+=y),!1===i.color&&c[r]&&(i.color=v(c[r],x)))}return a=a.filter((function(e){return e.v>=0})),(\"funnelarea\"===t.type?m:t.sort)&&a.sort((function(e,t){return t.v-e.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(e,t){var r=(t||{}).type;r||(r=\"pie\");var n=e._fullLayout,i=e.calcdata,a=n[r+\"colorway\"],s=n[\"_\"+r+\"colormap\"];n[\"extend\"+r+\"colors\"]&&(a=l(a,o));for(var u=0,c=0;c<i.length;c++){var f=i[c];if(f[0].trace.type===r)for(var h=0;h<f.length;h++){var p=f[h];!1===p.color&&(s[p.label]?p.color=s[p.label]:(s[p.label]=p.color=a[u%a.length],u++))}}},makePullColorFn:s,generateExtendedColors:l}},37434:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828),a=r(34e3),o=r(27670).c,s=r(90769).handleText,l=r(71828).coercePattern;function u(e,t){var r=Array.isArray(e),a=i.isArrayOrTypedArray(t),o=Math.min(r?e.length:1/0,a?t.length:1/0);if(isFinite(o)||(o=0),o&&a){for(var s,l=0;l<o;l++){var u=t[l];if(n(u)&&u>0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}function c(e,t,r,n,i){n(\"marker.line.width\")&&n(\"marker.line.color\",i?void 0:r.paper_bgcolor);var a=n(\"marker.colors\");l(n,\"marker.pattern\",a),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}e.exports={handleLabelsAndValues:u,handleMarkerDefaults:c,supplyDefaults:function(e,t,r,n){function l(r,n){return i.coerce(e,t,a,r,n)}var f=u(l(\"labels\"),l(\"values\")),h=f.len;if(t._hasLabels=f.hasLabels,t._hasValues=f.hasValues,!t._hasLabels&&t._hasValues&&(l(\"label0\"),l(\"dlabel\")),h){t._length=h,c(e,t,n,l,!0),l(\"scalegroup\");var p,d=l(\"text\"),v=l(\"texttemplate\");if(v||(p=l(\"textinfo\",Array.isArray(d)?\"text+percent\":\"percent\")),l(\"hovertext\"),l(\"hovertemplate\"),v||p&&\"none\"!==p){var g=l(\"textposition\");s(e,t,n,l,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||\"auto\"===g||\"outside\"===g)&&l(\"automargin\"),(\"inside\"===g||\"auto\"===g||Array.isArray(g))&&l(\"insidetextorientation\")}o(t,n,l);var m=l(\"hole\");if(l(\"title.text\")){var y=l(\"title.position\",m?\"middle center\":\"top center\");m||\"middle center\"!==y||(t.title.position=\"top center\"),i.coerceFont(l,\"title.font\",n.font)}l(\"sort\"),l(\"direction\"),l(\"rotation\"),l(\"pull\")}else t.visible=!1}}},20007:function(e,t,r){\"use strict\";var n=r(23469).appendArrayMultiPointValues;e.exports=function(e,t){var r={curveNumber:t.index,pointNumbers:e.pts,data:t._input,fullData:t,label:e.label,color:e.color,value:e.v,percent:e.percent,text:e.text,bbox:e.bbox,v:e.v};return 1===e.pts.length&&(r.pointNumber=r.i=e.pts[0]),n(r,t,e.pts),\"funnelarea\"===t.type&&(delete r.v,delete r.i),r}},22209:function(e,t,r){\"use strict\";var n=r(91424),i=r(7901);e.exports=function(e,t,r,a){var o=r.marker.pattern;o&&o.shape?n.pointStyle(e,r,a,t):i.fill(e,t.color)}},53581:function(e,t,r){\"use strict\";var n=r(71828);function i(e){return-1!==e.indexOf(\"e\")?e.replace(/[.]?0+e/,\"e\"):-1!==e.indexOf(\".\")?e.replace(/[.]?0+$/,\"\"):e}t.formatPiePercent=function(e,t){var r=i((100*e).toPrecision(3));return n.numSeparate(r,t)+\"%\"},t.formatPieValue=function(e,t){var r=i(e.toPrecision(10));return n.numSeparate(r,t)},t.getFirstFilled=function(e,t){if(Array.isArray(e))for(var r=0;r<t.length;r++){var n=e[t[r]];if(n||0===n||\"\"===n)return n}},t.castOption=function(e,r){return Array.isArray(e)?t.getFirstFilled(e,r):e||void 0},t.getRotationAngle=function(e){return(\"auto\"===e?0:e)*Math.PI/180}},58810:function(e,t,r){\"use strict\";e.exports={attributes:r(34e3),supplyDefaults:r(37434).supplyDefaults,supplyLayoutDefaults:r(92097),layoutAttributes:r(92774),calc:r(32354).calc,crossTraceCalc:r(32354).crossTraceCalc,plot:r(14575).plot,style:r(68357),styleOne:r(63463),moduleType:\"trace\",name:\"pie\",basePlotModule:r(13584),categories:[\"pie-like\",\"pie\",\"showLegend\"],meta:{}}},92774:function(e){\"use strict\";e.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},92097:function(e,t,r){\"use strict\";var n=r(71828),i=r(92774);e.exports=function(e,t){function r(r,a){return n.coerce(e,t,i,r,a)}r(\"hiddenlabels\"),r(\"piecolorway\",t.colorway),r(\"extendpiecolors\")}},14575:function(e,t,r){\"use strict\";var n=r(39898),i=r(74875),a=r(30211),o=r(7901),s=r(91424),l=r(71828),u=l.strScale,c=l.strTranslate,f=r(63893),h=r(72597),p=h.recordMinTextSize,d=h.clearMinTextSize,v=r(97313).TEXTPAD,g=r(53581),m=r(20007),y=r(71828).isValidTextValue;function x(e,t,r){var i=r[0],o=i.cx,s=i.cy,u=i.trace,c=\"funnelarea\"===u.type;\"_hasHoverLabel\"in u||(u._hasHoverLabel=!1),\"_hasHoverEvent\"in u||(u._hasHoverEvent=!1),e.on(\"mouseover\",(function(e){var r=t._fullLayout,f=t._fullData[u.index];if(!t._dragging&&!1!==r.hovermode){var h=f.hoverinfo;if(Array.isArray(h)&&(h=a.castHoverinfo({hoverinfo:[g.castOption(h,e.pts)],_module:u._module},r,0)),\"all\"===h&&(h=\"label+text+value+percent+name\"),f.hovertemplate||\"none\"!==h&&\"skip\"!==h&&h){var p=e.rInscribed||0,d=o+e.pxmid[0]*(1-p),v=s+e.pxmid[1]*(1-p),y=r.separators,x=[];if(h&&-1!==h.indexOf(\"label\")&&x.push(e.label),e.text=g.castOption(f.hovertext||f.text,e.pts),h&&-1!==h.indexOf(\"text\")){var b=e.text;l.isValidTextValue(b)&&x.push(b)}e.value=e.v,e.valueLabel=g.formatPieValue(e.v,y),h&&-1!==h.indexOf(\"value\")&&x.push(e.valueLabel),e.percent=e.v/i.vTotal,e.percentLabel=g.formatPiePercent(e.percent,y),h&&-1!==h.indexOf(\"percent\")&&x.push(e.percentLabel);var _=f.hoverlabel,w=_.font,k=[];a.loneHover({trace:u,x0:d-p*i.r,x1:d+p*i.r,y:v,_x0:c?o+e.TL[0]:d-p*i.r,_x1:c?o+e.TR[0]:d+p*i.r,_y0:c?s+e.TL[1]:v-p*i.r,_y1:c?s+e.BL[1]:v+p*i.r,text:x.join(\"<br>\"),name:f.hovertemplate||-1!==h.indexOf(\"name\")?f.name:void 0,idealAlign:e.pxmid[0]<0?\"left\":\"right\",color:g.castOption(_.bgcolor,e.pts)||e.color,borderColor:g.castOption(_.bordercolor,e.pts),fontFamily:g.castOption(w.family,e.pts),fontSize:g.castOption(w.size,e.pts),fontColor:g.castOption(w.color,e.pts),nameLength:g.castOption(_.namelength,e.pts),textAlign:g.castOption(_.align,e.pts),hovertemplate:g.castOption(f.hovertemplate,e.pts),hovertemplateLabels:e,eventData:[m(e,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t,inOut_bbox:k}),e.bbox=k[0],u._hasHoverLabel=!0}u._hasHoverEvent=!0,t.emit(\"plotly_hover\",{points:[m(e,f)],event:n.event})}})),e.on(\"mouseout\",(function(e){var r=t._fullLayout,i=t._fullData[u.index],o=n.select(this).datum();u._hasHoverEvent&&(e.originalEvent=n.event,t.emit(\"plotly_unhover\",{points:[m(o,i)],event:n.event}),u._hasHoverEvent=!1),u._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),u._hasHoverLabel=!1)})),e.on(\"click\",(function(e){var r=t._fullLayout,i=t._fullData[u.index];t._dragging||!1===r.hovermode||(t._hoverdata=[m(e,i)],a.click(t,n.event))}))}function b(e,t,r){var n=g.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=g.castOption(e._input.textfont.color,t.pts));var i=g.castOption(e.insidetextfont.family,t.pts)||g.castOption(e.textfont.family,t.pts)||r.family,a=g.castOption(e.insidetextfont.size,t.pts)||g.castOption(e.textfont.size,t.pts)||r.size;return{color:n||o.contrast(t.color),family:i,size:a}}function _(e,t){for(var r,n,i=0;i<e.length;i++)if((n=(r=e[i][0]).trace).title.text){var a=n.title.text;n._meta&&(a=l.templateString(a,n._meta));var o=s.tester.append(\"text\").attr(\"data-notex\",1).text(a).call(s.font,n.title.font).call(f.convertToTspans,t),u=s.bBox(o.node(),!0);r.titleBox={width:u.width,height:u.height},o.remove()}}function w(e,t,r){var n=r.r||t.rpx1,i=t.rInscribed;if(t.startangle===t.stopangle)return{rCenter:1-i,scale:0,rotate:0,textPosAngle:0};var a,o=t.ring,s=1===o&&Math.abs(t.startangle-t.stopangle)===2*Math.PI,l=t.halfangle,u=t.midangle,c=r.trace.insidetextorientation,f=\"horizontal\"===c,h=\"tangential\"===c,p=\"radial\"===c,d=\"auto\"===c,v=[];if(!d){var g,m=function(r,i){if(function(e,t){var r=e.startangle,n=e.stopangle;return r>t&&t>n||r<t&&t<n}(t,r)){var s=Math.abs(r-t.startangle),l=Math.abs(r-t.stopangle),u=s<l?s:l;(a=\"tan\"===i?T(e,n,o,u,0):k(e,n,o,u,Math.PI/2)).textPosAngle=r,v.push(a)}};if(f||h){for(g=4;g>=-4;g-=2)m(Math.PI*g,\"tan\");for(g=4;g>=-4;g-=2)m(Math.PI*(g+1),\"tan\")}if(f||p){for(g=4;g>=-4;g-=2)m(Math.PI*(g+1.5),\"rad\");for(g=4;g>=-4;g-=2)m(Math.PI*(g+.5),\"rad\")}}if(s||d||f){var y=Math.sqrt(e.width*e.width+e.height*e.height);if((a={scale:i*n*2/y,rCenter:1-i,rotate:0}).textPosAngle=(t.startangle+t.stopangle)/2,a.scale>=1)return a;v.push(a)}(d||p)&&((a=k(e,n,o,l,u)).textPosAngle=(t.startangle+t.stopangle)/2,v.push(a)),(d||h)&&((a=T(e,n,o,l,u)).textPosAngle=(t.startangle+t.stopangle)/2,v.push(a));for(var x=0,b=0,_=0;_<v.length;_++){var w=v[_].scale;if(b<w&&(b=w,x=_),!d&&b>=1)break}return v[x]}function k(e,t,r,n,i){t=Math.max(0,t-2*v);var a=e.width/e.height,o=S(a,n,t,r);return{scale:2*o/e.height,rCenter:M(a,o/t),rotate:A(i)}}function T(e,t,r,n,i){t=Math.max(0,t-2*v);var a=e.height/e.width,o=S(a,n,t,r);return{scale:2*o/e.width,rCenter:M(a,o/t),rotate:A(i+Math.PI/2)}}function M(e,t){return Math.cos(t)-e*t}function A(e){return(180/Math.PI*e+720)%180-90}function S(e,t,r,n){var i=e+1/(2*Math.tan(t));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(e*e+n/2)+e))}function E(e,t){return e.v!==t.vTotal||t.trace.hole?Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2):1}function C(e,t){var r=t.pxmid[0],n=t.pxmid[1],i=e.width/2,a=e.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function L(e,t){var r,n,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=O(a),-1!==a.title.position.indexOf(\"top\")?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):-1!==a.title.position.indexOf(\"bottom\")&&(o.y+=(1+i)*e.r);var l,u=e.r/(void 0===(l=e.trace.aspectratio)?1:l),c=t.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf(\"left\")?(c+=u,o.x-=(1+i)*u,s.tx+=e.titleBox.width/2):-1!==a.title.position.indexOf(\"center\")?c*=2:-1!==a.title.position.indexOf(\"right\")&&(c+=u,o.x+=(1+i)*u,s.tx-=e.titleBox.width/2),r=c/e.titleBox.width,n=P(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function P(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function O(e){var t,r=e.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,t=0;t<e.pull.length;t++)e.pull[t]>r&&(r=e.pull[t]);return r}function I(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n][0],a=i.trace,o=a.domain,s=t.w*(o.x[1]-o.x[0]),l=t.h*(o.y[1]-o.y[0]);a.title.text&&\"middle center\"!==a.title.position&&(l-=P(i,t));var u=s/2,c=l/2;\"funnelarea\"!==a.type||a.scalegroup||(c/=a.aspectratio),i.r=Math.min(u,c)/(1+O(a)),i.cx=t.l+t.w*(a.domain.x[1]+a.domain.x[0])/2,i.cy=t.t+t.h*(1-a.domain.y[0])-l/2,a.title.text&&-1!==a.title.position.indexOf(\"bottom\")&&(i.cy-=P(i,t)),a.scalegroup&&-1===r.indexOf(a.scalegroup)&&r.push(a.scalegroup)}!function(e,t){for(var r,n,i,a=0;a<t.length;a++){var o=1/0,s=t[a];for(n=0;n<e.length;n++)if((i=(r=e[n][0]).trace).scalegroup===s){var l;if(\"pie\"===i.type)l=r.r*r.r;else if(\"funnelarea\"===i.type){var u,c;i.aspectratio>1?c=(u=r.r)/i.aspectratio:u=(c=r.r)*i.aspectratio,l=(u*=(1+i.baseratio)/2)*c}o=Math.min(o,l/r.vTotal)}for(n=0;n<e.length;n++)if((i=(r=e[n][0]).trace).scalegroup===s){var f=o*r.vTotal;\"funnelarea\"===i.type&&(f/=(1+i.baseratio)/2,f/=i.aspectratio),r.r=Math.sqrt(f)}}}(e,r)}function D(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function z(e,t,r){var n=e._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&\"none\"!==o){var s,u=o.split(\"+\"),c=function(e){return-1!==u.indexOf(e)},f=c(\"label\"),h=c(\"text\"),p=c(\"value\"),d=c(\"percent\"),v=n.separators;if(s=f?[t.label]:[],h){var m=g.getFirstFilled(i.text,t.pts);y(m)&&s.push(m)}p&&s.push(g.formatPieValue(t.v,v)),d&&s.push(g.formatPiePercent(t.v/r.vTotal,v)),t.text=s.join(\"<br>\")}if(a){var x=l.castOption(i,t.i,\"texttemplate\");if(x){var b=function(e){return{label:e.label,value:e.v,valueLabel:g.formatPieValue(e.v,n.separators),percent:e.v/r.vTotal,percentLabel:g.formatPiePercent(e.v/r.vTotal,n.separators),color:e.color,text:e.text,customdata:l.castOption(i,e.i,\"customdata\")}}(t),_=g.getFirstFilled(i.text,t.pts);(y(_)||\"\"===_)&&(b.text=_),t.text=l.texttemplateString(x,b,e._fullLayout._d3locale,b,i._meta||{})}else t.text=\"\"}}function R(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}e.exports={plot:function(e,t){var r=e._context.staticPlot,a=e._fullLayout,h=a._size;d(\"pie\",a),_(t,e),I(t,h);var v=l.makeTraceGroups(a._pielayer,t,\"trace\").each((function(t){var d=n.select(this),v=t[0],m=v.trace;!function(e){var t,r,n,i=e[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,u=\"px0\",c=\"px1\";if(\"counterclockwise\"===o.direction){for(t=0;t<e.length&&e[t].hidden;t++);if(t===e.length)return;s+=l*e[t].v,l*=-1,u=\"px1\",c=\"px0\"}for(n=D(a,s),t=0;t<e.length;t++)(r=e[t]).hidden||(r[u]=n,r.startangle=s,s+=l*r.v/2,r.pxmid=D(a,s),r.midangle=s,n=D(a,s+=l*r.v/2),r.stopangle=s,r[c]=n,r.largeArc=r.v>i.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(t),d.attr(\"stroke-linejoin\",\"round\"),d.each((function(){var y=n.select(this).selectAll(\"g.slice\").data(t);y.enter().append(\"g\").classed(\"slice\",!0),y.exit().remove();var _=[[[],[]],[[],[]]],k=!1;y.each((function(i,o){if(i.hidden)n.select(this).selectAll(\"path,g\").remove();else{i.pointNumber=i.i,i.curveNumber=m.index,_[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var u=v.cx,c=v.cy,h=n.select(this),d=h.selectAll(\"path.surface\").data([i]);if(d.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),h.call(x,e,t),m.pull){var y=+g.castOption(m.pull,i.pts)||0;y>0&&(u+=y*i.pxmid[0],c+=y*i.pxmid[1])}i.cxFinal=u,i.cyFinal=c;var T=m.hole;if(i.v===v.vTotal){var M=\"M\"+(u+i.px0[0])+\",\"+(c+i.px0[1])+P(i.px0,i.pxmid,!0,1)+P(i.pxmid,i.px0,!0,1)+\"Z\";T?d.attr(\"d\",\"M\"+(u+T*i.px0[0])+\",\"+(c+T*i.px0[1])+P(i.px0,i.pxmid,!1,T)+P(i.pxmid,i.px0,!1,T)+\"Z\"+M):d.attr(\"d\",M)}else{var A=P(i.px0,i.px1,!0,1);if(T){var S=1-T;d.attr(\"d\",\"M\"+(u+T*i.px1[0])+\",\"+(c+T*i.px1[1])+P(i.px1,i.px0,!1,T)+\"l\"+S*i.px0[0]+\",\"+S*i.px0[1]+A+\"Z\")}else d.attr(\"d\",\"M\"+u+\",\"+c+\"l\"+i.px0[0]+\",\"+i.px0[1]+A+\"Z\")}z(e,i,v);var E=g.castOption(m.textposition,i.pts),L=h.selectAll(\"g.slicetext\").data(i.text&&\"none\"!==E?[0]:[]);L.enter().append(\"g\").classed(\"slicetext\",!0),L.exit().remove(),L.each((function(){var r=l.ensureSingle(n.select(this),\"text\",\"\",(function(e){e.attr(\"data-notex\",1)})),h=l.ensureUniformFontSize(e,\"outside\"===E?function(e,t,r){return{color:g.castOption(e.outsidetextfont.color,t.pts)||g.castOption(e.textfont.color,t.pts)||r.color,family:g.castOption(e.outsidetextfont.family,t.pts)||g.castOption(e.textfont.family,t.pts)||r.family,size:g.castOption(e.outsidetextfont.size,t.pts)||g.castOption(e.textfont.size,t.pts)||r.size}}(m,i,a.font):b(m,i,a.font));r.text(i.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,h).call(f.convertToTspans,e);var d,y=s.bBox(r.node());if(\"outside\"===E)d=C(y,i);else if(d=w(y,i,v),\"auto\"===E&&d.scale<1){var x=l.ensureUniformFontSize(e,m.outsidetextfont);r.call(s.font,x),d=C(y=s.bBox(r.node()),i)}var _=d.textPosAngle,T=void 0===_?i.pxmid:D(v.r,_);if(d.targetX=u+T[0]*d.rCenter+(d.x||0),d.targetY=c+T[1]*d.rCenter+(d.y||0),R(d,y),d.outside){var M=d.targetY;i.yLabelMin=M-y.height/2,i.yLabelMid=M,i.yLabelMax=M+y.height/2,i.labelExtraX=0,i.labelExtraY=0,k=!0}d.fontSize=h.size,p(m.type,d,a),t[o].transform=d,l.setTransormAndDisplay(r,d)}))}function P(e,t,r,n){var a=n*(t[0]-e[0]),o=n*(t[1]-e[1]);return\"a\"+n*v.r+\",\"+n*v.r+\" 0 \"+i.largeArc+(r?\" 1 \":\" 0 \")+a+\",\"+o}}));var T=n.select(this).selectAll(\"g.titletext\").data(m.title.text?[0]:[]);if(T.enter().append(\"g\").classed(\"titletext\",!0),T.exit().remove(),T.each((function(){var t,r=l.ensureSingle(n.select(this),\"text\",\"\",(function(e){e.attr(\"data-notex\",1)})),i=m.title.text;m._meta&&(i=l.templateString(i,m._meta)),r.text(i).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(s.font,m.title.font).call(f.convertToTspans,e),t=\"middle center\"===m.title.position?function(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}(v):L(v,h),r.attr(\"transform\",c(t.x,t.y)+u(Math.min(1,t.scale))+c(t.tx,t.ty))})),k&&function(e,t){var r,n,i,a,o,s,l,u,c,f,h,p,d;function v(e,t){return e.pxmid[1]-t.pxmid[1]}function m(e,t){return t.pxmid[1]-e.pxmid[1]}function y(e,r){r||(r={});var i,u,c,h,p=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),d=n?e.yLabelMin:e.yLabelMax,v=n?e.yLabelMax:e.yLabelMin,m=e.cyFinal+o(e.px0[1],e.px1[1]),y=p-d;if(y*l>0&&(e.labelExtraY=y),Array.isArray(t.pull))for(u=0;u<f.length;u++)(c=f[u])===e||(g.castOption(t.pull,e.pts)||0)>=(g.castOption(t.pull,c.pts)||0)||((e.pxmid[1]-c.pxmid[1])*l>0?(y=c.cyFinal+o(c.px0[1],c.px1[1])-d-e.labelExtraY)*l>0&&(e.labelExtraY+=y):(v+e.labelExtraY-m)*l>0&&(i=3*s*Math.abs(u-f.indexOf(e)),(h=c.cxFinal+a(c.px0[0],c.px1[0])+i-(e.cxFinal+e.pxmid[0])-e.labelExtraX)*s>0&&(e.labelExtraX+=h)))}for(n=0;n<2;n++)for(i=n?v:m,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=e[n][r]).sort(i),c=e[1-n][r],f=c.concat(u),p=[],h=0;h<u.length;h++)void 0!==u[h].yLabelMid&&p.push(u[h]);for(d=!1,h=0;n&&h<c.length;h++)if(void 0!==c[h].yLabelMid){d=c[h];break}for(h=0;h<p.length;h++){var x=h&&p[h-1];d&&!h&&(x=d),y(p[h],x)}}}(_,m),function(e,t){e.each((function(e){var r=n.select(this);if(e.labelExtraX||e.labelExtraY){var i=r.select(\"g.slicetext text\");e.transform.targetX+=e.labelExtraX,e.transform.targetY+=e.labelExtraY,l.setTransormAndDisplay(i,e.transform);var a=e.cxFinal+e.pxmid[0],s=\"M\"+a+\",\"+(e.cyFinal+e.pxmid[1]),u=(e.yLabelMax-e.yLabelMin)*(e.pxmid[0]<0?-1:1)/4;if(e.labelExtraX){var c=e.labelExtraX*e.pxmid[1]/e.pxmid[0],f=e.yLabelMid+e.labelExtraY-(e.cyFinal+e.pxmid[1]);Math.abs(c)>Math.abs(f)?s+=\"l\"+f*e.pxmid[0]/e.pxmid[1]+\",\"+f+\"H\"+(a+e.labelExtraX+u):s+=\"l\"+e.labelExtraX+\",\"+c+\"v\"+(f-c)+\"h\"+u}else s+=\"V\"+(e.yLabelMid+e.labelExtraY)+\"h\"+u;l.ensureSingle(r,\"path\",\"textline\").call(o.stroke,t.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,t.outsidetextfont.size/8),d:s,fill:\"none\"})}else r.select(\"path.textline\").remove()}))}(y,m),k&&m.automargin){var M=s.bBox(d.node()),A=m.domain,S=h.w*(A.x[1]-A.x[0]),E=h.h*(A.y[1]-A.y[0]),P=(.5*S-v.r)/h.w,O=(.5*E-v.r)/h.h;i.autoMargin(e,\"pie.\"+m.uid+\".automargin\",{xl:A.x[0]-P,xr:A.x[1]+P,yb:A.y[0]-O,yt:A.y[1]+O,l:Math.max(v.cx-v.r-M.left,0),r:Math.max(M.right-(v.cx+v.r),0),b:Math.max(M.bottom-(v.cy+v.r),0),t:Math.max(v.cy-v.r-M.top,0),pad:5})}}))}));setTimeout((function(){v.selectAll(\"tspan\").each((function(){var e=n.select(this);e.attr(\"dy\")&&e.attr(\"dy\",e.attr(\"dy\"))}))}),0)},formatSliceLabel:z,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:L,prerenderTitles:_,layoutAreas:I,attachFxHandlers:x,computeTransform:R}},68357:function(e,t,r){\"use strict\";var n=r(39898),i=r(63463),a=r(72597).resizeText;e.exports=function(e){var t=e._fullLayout._pielayer.selectAll(\".trace\");a(e,t,\"pie\"),t.each((function(t){var r=t[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll(\"path.surface\").each((function(t){n.select(this).call(i,t,r,e)}))}))}},63463:function(e,t,r){\"use strict\";var n=r(7901),i=r(53581).castOption,a=r(22209);e.exports=function(e,t,r,o){var s=r.marker.line,l=i(s.color,t.pts)||n.defaultLine,u=i(s.width,t.pts)||0;e.call(a,t,r,o).style(\"stroke-width\",u).call(n.stroke,l)}},10959:function(e,t,r){\"use strict\";var n=r(82196);e.exports={x:n.x,y:n.y,xy:{valType:\"data_array\",editType:\"calc\"},indices:{valType:\"data_array\",editType:\"calc\"},xbounds:{valType:\"data_array\",editType:\"calc\"},ybounds:{valType:\"data_array\",editType:\"calc\"},text:n.text,marker:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,arrayOk:!1,editType:\"calc\"},blend:{valType:\"boolean\",dflt:null,editType:\"calc\"},sizemin:{valType:\"number\",min:.1,max:2,dflt:.5,editType:\"calc\"},sizemax:{valType:\"number\",min:.1,dflt:20,editType:\"calc\"},border:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},arearatio:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},transforms:void 0}},42743:function(e,t,r){\"use strict\";var n=r(9330).gl_pointcloud2d,i=r(78614),a=r(71739).findExtremes,o=r(34603);function s(e,t){this.scene=e,this.uid=t,this.type=\"pointcloud\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\"rgb(0, 0, 0)\",this.name=\"\",this.hoverinfo=\"all\",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(e.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(e){var t=this.idToIndex[e.pointId];return{trace:this,dataCoord:e.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*t],this.pickXYData[2*t+1]]:[this.pickXData[t],this.pickYData[t]],textLabel:Array.isArray(this.textLabels)?this.textLabels[t]:this.textLabels,color:this.color,name:this.name,pointIndex:t,hoverinfo:this.hoverinfo}},l.update=function(e){this.index=e.index,this.textLabels=e.text,this.name=e.name,this.hoverinfo=e.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(e),this.color=o(e,{})},l.updateFast=function(e){var t,r,n,o,s,l,u=this.xData=this.pickXData=e.x,c=this.yData=this.pickYData=e.y,f=this.pickXYData=e.xy,h=e.xbounds&&e.ybounds,p=e.indices,d=this.bounds;if(f){if(n=f,t=f.length>>>1,h)d[0]=e.xbounds[0],d[2]=e.xbounds[1],d[1]=e.ybounds[0],d[3]=e.ybounds[1];else for(l=0;l<t;l++)o=n[2*l],s=n[2*l+1],o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(t),l=0;l<t;l++)r[l]=l}else for(t=u.length,n=new Float32Array(2*t),r=new Int32Array(t),l=0;l<t;l++)o=u[l],s=c[l],r[l]=l,n[2*l]=o,n[2*l+1]=s,o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var v=i(e.marker.color),g=i(e.marker.border.color),m=e.opacity*e.marker.opacity;v[3]*=m,this.pointcloudOptions.color=v;var y=e.marker.blend;null===y&&(y=u.length<100||c.length<100),this.pointcloudOptions.blend=y,g[3]*=m,this.pointcloudOptions.borderColor=g;var x=e.marker.sizemin,b=Math.max(e.marker.sizemax,e.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=e.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,k=b/2||.5;e._extremes[_._id]=a(_,[d[0],d[2]],{ppad:k}),e._extremes[w._id]=a(w,[d[1],d[3]],{ppad:k})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(e,t){var r=new s(e,t.uid);return r.update(t),r}},33876:function(e,t,r){\"use strict\";var n=r(71828),i=r(10959);e.exports=function(e,t,r){function a(r,a){return n.coerce(e,t,i,r,a)}a(\"x\"),a(\"y\"),a(\"xbounds\"),a(\"ybounds\"),e.xy&&e.xy instanceof Float32Array&&(t.xy=e.xy),e.indices&&e.indices instanceof Int32Array&&(t.indices=e.indices),a(\"text\"),a(\"marker.color\",r),a(\"marker.opacity\"),a(\"marker.blend\"),a(\"marker.sizemin\"),a(\"marker.sizemax\"),a(\"marker.border.color\",r),a(\"marker.border.arearatio\"),t._length=null}},20593:function(e,t,r){\"use strict\";[\"*pointcloud* trace is deprecated!\",\"Please consider switching to the *scattergl* trace type.\"].join(\" \"),e.exports={attributes:r(10959),supplyDefaults:r(33876),calc:r(36563),plot:r(42743),moduleType:\"trace\",name:\"pointcloud\",basePlotModule:r(4796),categories:[\"gl\",\"gl2d\",\"showLegend\"],meta:{}}},39953:function(e,t,r){\"use strict\";var n=r(41940),i=r(9012),a=r(22399),o=r(77914),s=r(27670).Y,l=r(5386).fF,u=r(50693),c=r(44467).templatedArray,f=r(12663).descriptionOnlyNumbers,h=r(1426).extendFlat,p=r(30962).overrideAll;(e.exports=p({hoverinfo:h({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\",description:f(\"value\")},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:n({}),customdata:void 0,node:{label:{valType:\"data_array\",dflt:[]},groups:{valType:\"info_array\",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:\"number\",editType:\"calc\"}},x:{valType:\"data_array\",dflt:[]},y:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:.5,arrayOk:!0}},pad:{valType:\"number\",arrayOk:!1,min:0,dflt:20},thickness:{valType:\"number\",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:[\"value\",\"label\"]})},link:{arrowlen:{valType:\"number\",min:0,dflt:0},label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0}},source:{valType:\"data_array\",dflt:[]},target:{valType:\"data_array\",dflt:[]},value:{valType:\"data_array\",dflt:[]},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:[\"value\",\"label\"]}),colorscales:c(\"concentrationscales\",{editType:\"calc\",label:{valType:\"string\",editType:\"calc\",dflt:\"\"},cmax:{valType:\"number\",editType:\"calc\",dflt:1},cmin:{valType:\"number\",editType:\"calc\",dflt:0},colorscale:h(u().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")).transforms=void 0},75536:function(e,t,r){\"use strict\";var n=r(30962).overrideAll,i=r(27659).a0,a=r(60436),o=r(528),s=r(6964),l=r(28569),u=r(47322).prepSelect,c=r(71828),f=r(73972),h=\"sankey\";function p(e,t){var r=e._fullData[t],n=e._fullLayout,i=n.dragmode,a=\"pan\"===n.dragmode?\"move\":\"crosshair\",o=r._bgRect;if(o&&\"pan\"!==i&&\"zoom\"!==i){s(o,a);var h={_id:\"x\",c2p:c.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:\"y\",c2p:c.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:e,element:o.node(),plotinfo:{id:t,xaxis:h,yaxis:p,fillRangeItems:c.noop},subplot:t,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=e._fullData[t],a=i.node.groups.slice(),o=[];function s(e){for(var t=i._sankey.graph.nodes,r=0;r<t.length;r++)if(t[r].pointNumber===e)return t[r]}for(var l=0;l<r.length;l++){var u=s(r[l].pointNumber);if(u)if(u.group){for(var c=0;c<u.childrenNodes.length;c++)o.push(u.childrenNodes[c].pointNumber);a[u.pointNumber-i.node._count]=!1}else o.push(u.pointNumber)}n=a.filter(Boolean).concat([o]),f.call(\"_guiRestyle\",e,{\"node.groups\":[n]},t)},prepFn:function(e,t,r){u(e,t,r,d,i)}};l.init(d)}}t.name=h,t.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},\"plot\",\"nested\"),t.plot=function(e){var r=i(e.calcdata,h)[0];a(e,r),t.updateFx(e)},t.clean=function(e,t,r,n){var i=n._has&&n._has(h),a=t._has&&t._has(h);i&&!a&&(n._paperdiv.selectAll(\".sankey\").remove(),n._paperdiv.selectAll(\".bgsankey\").remove())},t.updateFx=function(e){for(var t=0;t<e._fullData.length;t++)p(e,t)}},92930:function(e,t,r){\"use strict\";var n=r(68664),i=r(71828),a=r(28984).wrap,o=i.isArrayOrTypedArray,s=i.isIndex,l=r(21081);e.exports=function(e,t){var r=function(e){var t,r=e.node,a=e.link,u=[],c=o(a.color),f=o(a.customdata),h={},p={},d=a.colorscales.length;for(t=0;t<d;t++){var v=a.colorscales[t],g=l.extractScale(v,{cLetter:\"c\"}),m=l.makeColorScaleFunc(g);p[v.label]=m}var y=0;for(t=0;t<a.value.length;t++)a.source[t]>y&&(y=a.source[t]),a.target[t]>y&&(y=a.target[t]);var x,b=y+1;e.node._count=b;var _=e.node.groups,w={};for(t=0;t<_.length;t++){var k=_[t];for(x=0;x<k.length;x++){var T=k[x],M=b+t;w.hasOwnProperty(T)?i.warn(\"Node \"+T+\" is already part of a group.\"):w[T]=M}}var A={source:[],target:[]};for(t=0;t<a.value.length;t++){var S=a.value[t],E=a.source[t],C=a.target[t];if(S>0&&s(E,b)&&s(C,b)&&(!w.hasOwnProperty(E)||!w.hasOwnProperty(C)||w[E]!==w[C])){w.hasOwnProperty(C)&&(C=w[C]),w.hasOwnProperty(E)&&(E=w[E]),C=+C,h[E=+E]=h[C]=!0;var L=\"\";a.label&&a.label[t]&&(L=a.label[t]);var P=null;L&&p.hasOwnProperty(L)&&(P=p[L]),u.push({pointNumber:t,label:L,color:c?a.color[t]:a.color,customdata:f?a.customdata[t]:a.customdata,concentrationscale:P,source:E,target:C,value:+S}),A.source.push(E),A.target.push(C)}}var O=b+_.length,I=o(r.color),D=o(r.customdata),z=[];for(t=0;t<O;t++)if(h[t]){var R=r.label[t];z.push({group:t>b-1,childrenNodes:[],pointNumber:t,label:R,color:I?r.color[t]:r.color,customdata:D?r.customdata[t]:r.customdata})}var F=!1;return function(e,t,r){for(var a=i.init2dArray(e,0),o=0;o<Math.min(t.length,r.length);o++)if(i.isIndex(t[o],e)&&i.isIndex(r[o],e)){if(t[o]===r[o])return!0;a[t[o]].push(r[o])}return n(a).components.some((function(e){return e.length>1}))}(O,A.source,A.target)&&(F=!0),{circular:F,links:u,nodes:z,groups:_,groupLookup:w}}(t);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},85247:function(e){\"use strict\";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\"linear\",cn:{sankey:\"sankey\",sankeyLinks:\"sankey-links\",sankeyLink:\"sankey-link\",sankeyNodeSet:\"sankey-node-set\",sankeyNode:\"sankey-node\",nodeRect:\"node-rect\",nodeLabel:\"node-label\"}}},26857:function(e,t,r){\"use strict\";var n=r(71828),i=r(39953),a=r(7901),o=r(84267),s=r(27670).c,l=r(38048),u=r(44467),c=r(85501);function f(e,t){function r(r,a){return n.coerce(e,t,i.link.colorscales,r,a)}r(\"label\"),r(\"cmin\"),r(\"cmax\"),r(\"colorscale\")}e.exports=function(e,t,r,h){function p(r,a){return n.coerce(e,t,i,r,a)}var d=n.extendDeep(h.hoverlabel,e.hoverlabel),v=e.node,g=u.newContainer(t,\"node\");function m(e,t){return n.coerce(v,g,i.node,e,t)}m(\"label\"),m(\"groups\"),m(\"x\"),m(\"y\"),m(\"pad\"),m(\"thickness\"),m(\"line.color\"),m(\"line.width\"),m(\"hoverinfo\",e.hoverinfo),l(v,g,m,d),m(\"hovertemplate\");var y=h.colorway;m(\"color\",g.label.map((function(e,t){return a.addOpacity(function(e){return y[e%y.length]}(t),.8)}))),m(\"customdata\");var x=e.link||{},b=u.newContainer(t,\"link\");function _(e,t){return n.coerce(x,b,i.link,e,t)}_(\"label\"),_(\"arrowlen\"),_(\"source\"),_(\"target\"),_(\"value\"),_(\"line.color\"),_(\"line.width\"),_(\"hoverinfo\",e.hoverinfo),l(x,b,_,d),_(\"hovertemplate\");var w,k=o(h.paper_bgcolor).getLuminance()<.333?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\";_(\"color\",n.repeat(k,b.value.length)),_(\"customdata\"),c(x,b,{name:\"colorscales\",handleItemDefaults:f}),s(t,h,p),p(\"orientation\"),p(\"valueformat\"),p(\"valuesuffix\"),g.x.length&&g.y.length&&(w=\"freeform\"),p(\"arrangement\",w),n.coerceFont(p,\"textfont\",n.extendFlat({},h.font)),t._length=null}},29396:function(e,t,r){\"use strict\";e.exports={attributes:r(39953),supplyDefaults:r(26857),calc:r(92930),plot:r(60436),moduleType:\"trace\",name:\"sankey\",basePlotModule:r(75536),selectPoints:r(84564),categories:[\"noOpacity\"],meta:{}}},60436:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(3393),s=r(30211),l=r(7901),u=r(85247).cn,c=i._;function f(e){return\"\"!==e}function h(e,t){return e.filter((function(e){return e.key===t.traceId}))}function p(e,t){n.select(e).select(\"path\").style(\"fill-opacity\",t),n.select(e).select(\"rect\").style(\"fill-opacity\",t)}function d(e){n.select(e).select(\"text.name\").style(\"fill\",\"black\")}function v(e){return function(t){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function g(e){return function(t){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function m(e,t,r){t&&r&&h(r,t).selectAll(\".\"+u.sankeyLink).filter(v(t)).call(x.bind(0,t,r,!1))}function y(e,t,r){t&&r&&h(r,t).selectAll(\".\"+u.sankeyLink).filter(v(t)).call(b.bind(0,t,r,!1))}function x(e,t,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",(function(e){if(!e.link.concentrationscale)return.4})),i&&h(t,e).selectAll(\".\"+u.sankeyLink).filter((function(e){return e.link.label===i})).style(\"fill-opacity\",(function(e){if(!e.link.concentrationscale)return.4})),r&&h(t,e).selectAll(\".\"+u.sankeyNode).filter(g(e)).call(m)}function b(e,t,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",(function(e){return e.tinyColorAlpha})),i&&h(t,e).selectAll(\".\"+u.sankeyLink).filter((function(e){return e.link.label===i})).style(\"fill-opacity\",(function(e){return e.tinyColorAlpha})),r&&h(t,e).selectAll(u.sankeyNode).filter(g(e)).call(y)}function _(e,t){var r=e.hoverlabel||{},n=i.nestedProperty(r,t).get();return!Array.isArray(n)&&n}e.exports=function(e,t){for(var r=e._fullLayout,i=r._paper,h=r._size,v=0;v<e._fullData.length;v++)if(e._fullData[v].visible&&e._fullData[v].type===u.sankey&&!e._fullData[v]._viewInitial){var g=e._fullData[v].node;e._fullData[v]._viewInitial={node:{groups:g.groups.slice(),x:g.x.slice(),y:g.y.slice()}}}var w=c(e,\"source:\")+\" \",k=c(e,\"target:\")+\" \",T=c(e,\"concentration:\")+\" \",M=c(e,\"incoming flow count:\")+\" \",A=c(e,\"outgoing flow count:\")+\" \";o(e,i,t,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{linkEvents:{hover:function(t,r,i){!1!==e._fullLayout.hovermode&&(n.select(t).call(x.bind(0,r,i,!0)),\"skip\"!==r.link.trace.link.hoverinfo&&(r.link.fullData=r.link.trace,e.emit(\"plotly_hover\",{event:n.event,points:[r.link]})))},follow:function(t,i){if(!1!==e._fullLayout.hovermode){var o=i.link.trace.link;if(\"none\"!==o.hoverinfo&&\"skip\"!==o.hoverinfo){for(var u=[],c=0,h=0;h<i.flow.links.length;h++){var v=i.flow.links[h];if(\"closest\"!==e._fullLayout.hovermode||i.link.pointNumber===v.pointNumber){i.link.pointNumber===v.pointNumber&&(c=h),v.fullData=v.trace,o=i.link.trace.link;var g=y(v),m={valueLabel:a(i.valueFormat)(v.value)+i.valueSuffix};u.push({x:g[0],y:g[1],name:m.valueLabel,text:[v.label||\"\",w+v.source.label,k+v.target.label,v.concentrationscale?T+a(\"%0.2f\")(v.flow.labelConcentration):\"\"].filter(f).join(\"<br>\"),color:_(o,\"bgcolor\")||l.addOpacity(v.color,1),borderColor:_(o,\"bordercolor\"),fontFamily:_(o,\"font.family\"),fontSize:_(o,\"font.size\"),fontColor:_(o,\"font.color\"),nameLength:_(o,\"namelength\"),textAlign:_(o,\"align\"),idealAlign:n.event.x<g[0]?\"right\":\"left\",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[v]})}}s.loneHover(u,{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,anchorIndex:c}).each((function(){i.link.concentrationscale||p(this,.65),d(this)}))}}function y(e){var t,r;e.circular?(t=(e.circularPathData.leftInnerExtent+e.circularPathData.rightInnerExtent)/2,r=e.circularPathData.verticalFullExtent):(t=(e.source.x1+e.target.x0)/2,r=(e.y0+e.y1)/2);var n=[t,r];return\"v\"===e.trace.orientation&&n.reverse(),n[0]+=i.parent.translateX,n[1]+=i.parent.translateY,n}},unhover:function(t,i,a){!1!==e._fullLayout.hovermode&&(n.select(t).call(b.bind(0,i,a,!0)),\"skip\"!==i.link.trace.link.hoverinfo&&(i.link.fullData=i.link.trace,e.emit(\"plotly_unhover\",{event:n.event,points:[i.link]})),s.loneUnhover(r._hoverlayer.node()))},select:function(t,r){var i=r.link;i.originalEvent=n.event,e._hoverdata=[i],s.click(e,{target:!0})}},nodeEvents:{hover:function(t,r,i){!1!==e._fullLayout.hovermode&&(n.select(t).call(m,r,i),\"skip\"!==r.node.trace.node.hoverinfo&&(r.node.fullData=r.node.trace,e.emit(\"plotly_hover\",{event:n.event,points:[r.node]})))},follow:function(t,i){if(!1!==e._fullLayout.hovermode){var o=i.node.trace.node;if(\"none\"!==o.hoverinfo&&\"skip\"!==o.hoverinfo){var l=n.select(t).select(\".\"+u.nodeRect),c=e._fullLayout._paperdiv.node().getBoundingClientRect(),h=l.node().getBoundingClientRect(),v=h.left-2-c.left,g=h.right+2-c.left,m=h.top+h.height/4-c.top,y={valueLabel:a(i.valueFormat)(i.node.value)+i.valueSuffix};i.node.fullData=i.node.trace,e._fullLayout._calcInverseTransform(e);var x=e._fullLayout._invScaleX,b=e._fullLayout._invScaleY,w=s.loneHover({x0:x*v,x1:x*g,y:b*m,name:a(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,M+i.node.targetLinks.length,A+i.node.sourceLinks.length].filter(f).join(\"<br>\"),color:_(o,\"bgcolor\")||i.tinyColorHue,borderColor:_(o,\"bordercolor\"),fontFamily:_(o,\"font.family\"),fontSize:_(o,\"font.size\"),fontColor:_(o,\"font.color\"),nameLength:_(o,\"namelength\"),textAlign:_(o,\"align\"),idealAlign:\"left\",hovertemplate:o.hovertemplate,hovertemplateLabels:y,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e});p(w,.85),d(w)}}},unhover:function(t,i,a){!1!==e._fullLayout.hovermode&&(n.select(t).call(y,i,a),\"skip\"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,e.emit(\"plotly_unhover\",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(t,r,i){var a=r.node;a.originalEvent=n.event,e._hoverdata=[a],n.select(t).call(y,r,i),s.click(e,{target:!0})}}})}},3393:function(e,t,r){\"use strict\";var n=r(49887),i=r(81684).k4,a=r(39898),o=r(30838),s=r(86781),l=r(85247),u=r(84267),c=r(7901),f=r(91424),h=r(71828),p=h.strTranslate,d=h.strRotate,v=r(28984),g=v.keyFun,m=v.repeat,y=v.unwrap,x=r(63893),b=r(73972),_=r(18783),w=_.CAP_SHIFT,k=_.LINE_SPACING;function T(e,t,r){var n,i=y(t),a=i.trace,c=a.domain,f=\"h\"===a.orientation,p=a.node.pad,d=a.node.thickness,v=e.width*(c.x[1]-c.x[0]),g=e.height*(c.y[1]-c.y[0]),m=i._nodes,x=i._links,b=i.circular;(n=b?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[v,g]:[g,v]).nodeWidth(d).nodePadding(p).nodeId((function(e){return e.pointNumber})).nodes(m).links(x);var _,w,k,T=n();for(var M in n.nodePadding()<p&&h.warn(\"node.pad was reduced to \",n.nodePadding(),\" to fit within the figure.\"),i._groupLookup){var A,S=parseInt(i._groupLookup[M]);for(_=0;_<T.nodes.length;_++)if(T.nodes[_].pointNumber===S){A=T.nodes[_];break}if(A){var E={pointNumber:parseInt(M),x0:A.x0,x1:A.x1,y0:A.y0,y1:A.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};T.nodes.unshift(E),A.childrenNodes.unshift(E)}}if(function(){for(_=0;_<T.nodes.length;_++){var e,t,r=T.nodes[_],n={};for(w=0;w<r.targetLinks.length;w++)e=(t=r.targetLinks[w]).source.pointNumber+\":\"+t.target.pointNumber,n.hasOwnProperty(e)||(n[e]=[]),n[e].push(t);var i=Object.keys(n);for(w=0;w<i.length;w++){var a=n[e=i[w]],o=0,s={};for(k=0;k<a.length;k++)s[(t=a[k]).label]||(s[t.label]=0),s[t.label]+=t.value,o+=t.value;for(k=0;k<a.length;k++)(t=a[k]).flow={value:o,labelConcentration:s[t.label]/o,concentration:t.value/o,links:a},t.concentrationscale&&(t.color=u(t.concentrationscale(t.flow.labelConcentration)))}var l=0;for(w=0;w<r.sourceLinks.length;w++)l+=r.sourceLinks[w].value;for(w=0;w<r.sourceLinks.length;w++)(t=r.sourceLinks[w]).concentrationOut=t.value/l;var c=0;for(w=0;w<r.targetLinks.length;w++)c+=r.targetLinks[w].value;for(w=0;w<r.targetLinks.length;w++)(t=r.targetLinks[w]).concenrationIn=t.value/c}}(),a.node.x.length&&a.node.y.length){for(_=0;_<Math.min(a.node.x.length,a.node.y.length,T.nodes.length);_++)if(a.node.x[_]&&a.node.y[_]){var C=[a.node.x[_]*v,a.node.y[_]*g];T.nodes[_].x0=C[0]-d/2,T.nodes[_].x1=C[0]+d/2;var L=T.nodes[_].y1-T.nodes[_].y0;T.nodes[_].y0=C[1]-L/2,T.nodes[_].y1=C[1]+L/2}\"snap\"===a.arrangement&&function(e){var t,r,n=e.map((function(e,t){return{x0:e.x0,index:t}})).sort((function(e,t){return e.x0-t.x0})),i=[],a=-1,o=-1/0;for(_=0;_<n.length;_++){var s=e[n[_].index];s.x0>o+d&&(a+=1,t=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=t-s.x0,s.x0+=r,s.x1+=r}return i}(m=T.nodes).forEach((function(e){var t,r,n,i=0,a=e.length;for(e.sort((function(e,t){return e.y0-t.y0})),n=0;n<a;++n)(t=e[n]).y0>=i||(r=i-t.y0)>1e-6&&(t.y0+=r,t.y1+=r),i=t.y1+p})),n.update(T)}return{circular:b,key:r,trace:a,guid:h.randstr(),horizontal:f,width:v,height:g,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:c.x[0]*e.width+e.margin.l,translateY:e.height-c.y[1]*e.height+e.margin.t,dragParallel:f?g:v,dragPerpendicular:f?v:g,arrangement:a.arrangement,sankey:n,graph:T,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function M(e,t,r){var n=u(t.color),i=t.source.label+\"|\"+t.target.label+\"__\"+r;return t.trace=e.trace,t.curveNumber=e.trace.index,{circular:e.circular,key:i,traceId:e.key,pointNumber:t.pointNumber,link:t,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:A,linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,linkArrowLength:e.linkArrowLength,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,parent:e,interactionState:e.interactionState,flow:t.flow}}function A(){return function(e){var t=e.linkArrowLength;if(e.link.circular)return function(e,t){var r=e.width/2,n=e.circularPathData;return\"top\"===e.circularLinkType?\"M \"+(n.targetX-t)+\" \"+(n.targetY+r)+\" L\"+(n.rightInnerExtent-t)+\" \"+(n.targetY+r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 1 \"+(n.rightFullExtent-r-t)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r-t)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 1 \"+(n.rightInnerExtent-t)+\" \"+(n.verticalFullExtent-r)+\"L\"+n.leftInnerExtent+\" \"+(n.verticalFullExtent-r)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftLargeArcRadius+r)+\" 0 0 1 \"+(n.leftFullExtent+r)+\" \"+n.verticalLeftInnerExtent+\"L\"+(n.leftFullExtent+r)+\" \"+(n.sourceY-n.leftSmallArcRadius)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftSmallArcRadius+r)+\" 0 0 1 \"+n.leftInnerExtent+\" \"+(n.sourceY+r)+\"L\"+n.sourceX+\" \"+(n.sourceY+r)+\"L\"+n.sourceX+\" \"+(n.sourceY-r)+\"L\"+n.leftInnerExtent+\" \"+(n.sourceY-r)+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftSmallArcRadius-r)+\" 0 0 0 \"+(n.leftFullExtent-r)+\" \"+(n.sourceY-n.leftSmallArcRadius)+\"L\"+(n.leftFullExtent-r)+\" \"+n.verticalLeftInnerExtent+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftLargeArcRadius-r)+\" 0 0 0 \"+n.leftInnerExtent+\" \"+(n.verticalFullExtent+r)+\"L\"+(n.rightInnerExtent-t)+\" \"+(n.verticalFullExtent+r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 0 \"+(n.rightFullExtent+r-t)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r-t)+\" \"+(n.targetY-n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 0 \"+(n.rightInnerExtent-t)+\" \"+(n.targetY-r)+\"L\"+(n.targetX-t)+\" \"+(n.targetY-r)+(t>0?\"L\"+n.targetX+\" \"+n.targetY:\"\")+\"Z\":\"M \"+(n.targetX-t)+\" \"+(n.targetY-r)+\" L\"+(n.rightInnerExtent-t)+\" \"+(n.targetY-r)+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightSmallArcRadius+r)+\" 0 0 0 \"+(n.rightFullExtent-r-t)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"L\"+(n.rightFullExtent-r-t)+\" \"+n.verticalRightInnerExtent+\"A\"+(n.rightLargeArcRadius+r)+\" \"+(n.rightLargeArcRadius+r)+\" 0 0 0 \"+(n.rightInnerExtent-t)+\" \"+(n.verticalFullExtent+r)+\"L\"+n.leftInnerExtent+\" \"+(n.verticalFullExtent+r)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftLargeArcRadius+r)+\" 0 0 0 \"+(n.leftFullExtent+r)+\" \"+n.verticalLeftInnerExtent+\"L\"+(n.leftFullExtent+r)+\" \"+(n.sourceY+n.leftSmallArcRadius)+\"A\"+(n.leftLargeArcRadius+r)+\" \"+(n.leftSmallArcRadius+r)+\" 0 0 0 \"+n.leftInnerExtent+\" \"+(n.sourceY-r)+\"L\"+n.sourceX+\" \"+(n.sourceY-r)+\"L\"+n.sourceX+\" \"+(n.sourceY+r)+\"L\"+n.leftInnerExtent+\" \"+(n.sourceY+r)+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftSmallArcRadius-r)+\" 0 0 1 \"+(n.leftFullExtent-r)+\" \"+(n.sourceY+n.leftSmallArcRadius)+\"L\"+(n.leftFullExtent-r)+\" \"+n.verticalLeftInnerExtent+\"A\"+(n.leftLargeArcRadius-r)+\" \"+(n.leftLargeArcRadius-r)+\" 0 0 1 \"+n.leftInnerExtent+\" \"+(n.verticalFullExtent-r)+\"L\"+(n.rightInnerExtent-t)+\" \"+(n.verticalFullExtent-r)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightLargeArcRadius-r)+\" 0 0 1 \"+(n.rightFullExtent+r-t)+\" \"+n.verticalRightInnerExtent+\"L\"+(n.rightFullExtent+r-t)+\" \"+(n.targetY+n.rightSmallArcRadius)+\"A\"+(n.rightLargeArcRadius-r)+\" \"+(n.rightSmallArcRadius-r)+\" 0 0 1 \"+(n.rightInnerExtent-t)+\" \"+(n.targetY+r)+\"L\"+(n.targetX-t)+\" \"+(n.targetY+r)+(t>0?\"L\"+n.targetX+\" \"+n.targetY:\"\")+\"Z\"}(e.link,t);var r=Math.abs((e.link.target.x0-e.link.source.x1)/2);t>r&&(t=r);var n=e.link.source.x1,a=e.link.target.x0-t,o=i(n,a),s=o(.5),l=o(.5),u=e.link.y0-e.link.width/2,c=e.link.y0+e.link.width/2,f=e.link.y1-e.link.width/2,h=e.link.y1+e.link.width/2,p=\"M\"+n+\",\"+u,d=\"C\"+s+\",\"+u+\" \"+l+\",\"+f+\" \"+a+\",\"+f,v=\"C\"+l+\",\"+h+\" \"+s+\",\"+c+\" \"+n+\",\"+c,g=t>0?\"L\"+(a+t)+\",\"+(f+e.link.width/2):\"\";return p+d+(g+=\"L\"+a+\",\"+h)+v+\"Z\"}}function S(e,t){var r=u(t.color),n=l.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),s=\"node_\"+t.pointNumber;return t.group&&(s=h.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:s,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:1===t.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:c.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,s].join(\"_\"),interactionState:e.interactionState,figure:e}}function E(e){e.attr(\"transform\",(function(e){return p(e.node.x0.toFixed(3),e.node.y0.toFixed(3))}))}function C(e){e.call(E)}function L(e,t){e.call(C),t.attr(\"d\",A())}function P(e){e.attr(\"width\",(function(e){return e.node.x1-e.node.x0})).attr(\"height\",(function(e){return e.visibleHeight}))}function O(e){return e.link.width>1||e.linkLineWidth>0}function I(e){return p(e.translateX,e.translateY)+(e.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function D(e,t,r){e.on(\".basic\",null).on(\"mouseover.basic\",(function(e){e.interactionState.dragInProgress||e.partOfGroup||(r.hover(this,e,t),e.interactionState.hovered=[this,e])})).on(\"mousemove.basic\",(function(e){e.interactionState.dragInProgress||e.partOfGroup||(r.follow(this,e),e.interactionState.hovered=[this,e])})).on(\"mouseout.basic\",(function(e){e.interactionState.dragInProgress||e.partOfGroup||(r.unhover(this,e,t),e.interactionState.hovered=!1)})).on(\"click.basic\",(function(e){e.interactionState.hovered&&(r.unhover(this,e,t),e.interactionState.hovered=!1),e.interactionState.dragInProgress||e.partOfGroup||r.select(this,e,t)}))}function z(e,t,r,i){var o=a.behavior.drag().origin((function(e){return{x:e.node.x0+e.visibleWidth/2,y:e.node.y0+e.visibleHeight/2}})).on(\"dragstart\",(function(a){if(\"fixed\"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,\"g\",\"dragcover\",(function(e){i._fullLayout._dragCover=e})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),\"snap\"===a.arrangement)){var o=a.traceId+\"|\"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(e,t,r,i){!function(e){for(var t=0;t<e.length;t++)e[t].y=(e[t].y0+e[t].y1)/2,e[t].x=(e[t].x0+e[t].x1)/2}(r.graph.nodes);var a=r.graph.nodes.filter((function(e){return e.originalX===r.node.originalX})).filter((function(e){return!e.partOfGroup}));r.forceLayouts[t]=n.forceSimulation(a).alphaDecay(0).force(\"collide\",n.forceCollide().radius((function(e){return e.dy/2+r.nodePad/2})).strength(1).iterations(l.forceIterations)).force(\"constrain\",function(e,t,r,n){return function(){for(var e=0,i=0;i<r.length;i++){var a=r[i];a===n.interactionState.dragInProgress?(a.x=a.lastDraggedX,a.y=a.lastDraggedY):(a.vx=(a.originalX-a.x)/l.forceTicksPerFrame,a.y=Math.min(n.size-a.dy/2,Math.max(a.dy/2,a.y))),e=Math.max(e,Math.abs(a.vx),Math.abs(a.vy))}!n.interactionState.dragInProgress&&e<.1&&n.forceLayouts[t].alpha()>0&&n.forceLayouts[t].alpha(0)}}(0,t,a,r)).stop()}(0,o,a),function(e,t,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o<l.forceTicksPerFrame;o++)r.forceLayouts[n].tick();if(function(e){for(var t=0;t<e.length;t++)e[t].y0=e[t].y-e[t].dy/2,e[t].y1=e[t].y0+e[t].dy,e[t].x0=e[t].x-e[t].dx/2,e[t].x1=e[t].x0+e[t].dx}(r.graph.nodes),r.sankey.update(r.graph),L(e.filter(B(r)),t),r.forceLayouts[n].alpha()>0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(e,t,a,o,i)}})).on(\"drag\",(function(r){if(\"fixed\"!==r.arrangement){var n=a.event.x,i=a.event.y;\"snap\"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):(\"freeform\"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),\"snap\"!==r.arrangement&&(r.sankey.update(r.graph),L(e.filter(B(r)),t))}})).on(\"dragend\",(function(e){if(\"fixed\"!==e.arrangement){e.interactionState.dragInProgress=!1;for(var t=0;t<e.node.childrenNodes.length;t++)e.node.childrenNodes[t].x=e.node.x,e.node.childrenNodes[t].y=e.node.y;\"snap\"!==e.arrangement&&R(e,i)}}));e.on(\".drag\",null).call(o)}function R(e,t){for(var r=[],n=[],i=0;i<e.graph.nodes.length;i++){var a=(e.graph.nodes[i].x0+e.graph.nodes[i].x1)/2,o=(e.graph.nodes[i].y0+e.graph.nodes[i].y1)/2;r.push(a/e.figure.width),n.push(o/e.figure.height)}b.call(\"_guiRestyle\",t,{\"node.x\":[r],\"node.y\":[n]},e.trace.index).then((function(){t._fullLayout._dragCover&&t._fullLayout._dragCover.remove()}))}function F(e){e.lastDraggedX=e.x0+e.dx/2,e.lastDraggedY=e.y0+e.dy/2}function B(e){return function(t){return t.node.originalX===e.node.originalX}}e.exports=function(e,t,r,n,i){var o=e._context.staticPlot,s=!1;h.ensureSingle(e._fullLayout._infolayer,\"g\",\"first-render\",(function(){s=!0}));var v=e._fullLayout._dragCover,b=r.filter((function(e){return y(e).trace.visible})).map(T.bind(null,n)),_=t.selectAll(\".\"+l.cn.sankey).data(b,g);_.exit().remove(),_.enter().append(\"g\").classed(l.cn.sankey,!0).style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"shape-rendering\",\"geometricPrecision\").style(\"pointer-events\",o?\"none\":\"auto\").attr(\"transform\",I),_.each((function(t,r){e._fullData[r]._sankey=t;var n=\"bgsankey-\"+t.trace.uid+\"-\"+r;h.ensureSingle(e._fullLayout._draggers,\"rect\",n),e._fullData[r]._bgRect=a.select(\".\"+n),e._fullData[r]._bgRect.style(\"pointer-events\",o?\"none\":\"all\").attr(\"width\",t.width).attr(\"height\",t.height).attr(\"x\",t.translateX).attr(\"y\",t.translateY).classed(\"bgsankey\",!0).style({fill:\"transparent\",\"stroke-width\":0})})),_.transition().ease(l.ease).duration(l.duration).attr(\"transform\",I);var C=_.selectAll(\".\"+l.cn.sankeyLinks).data(m,g);C.enter().append(\"g\").classed(l.cn.sankeyLinks,!0).style(\"fill\",\"none\");var L=C.selectAll(\".\"+l.cn.sankeyLink).data((function(e){return e.graph.links.filter((function(e){return e.value})).map(M.bind(null,e))}),g);L.enter().append(\"path\").classed(l.cn.sankeyLink,!0).call(D,_,i.linkEvents),L.style(\"stroke\",(function(e){return O(e)?c.tinyRGB(u(e.linkLineColor)):e.tinyColorHue})).style(\"stroke-opacity\",(function(e){return O(e)?c.opacity(e.linkLineColor):e.tinyColorAlpha})).style(\"fill\",(function(e){return e.tinyColorHue})).style(\"fill-opacity\",(function(e){return e.tinyColorAlpha})).style(\"stroke-width\",(function(e){return O(e)?e.linkLineWidth:1})).attr(\"d\",A()),L.style(\"opacity\",(function(){return e._context.staticPlot||s||v?1:0})).transition().ease(l.ease).duration(l.duration).style(\"opacity\",1),L.exit().transition().ease(l.ease).duration(l.duration).style(\"opacity\",0).remove();var R=_.selectAll(\".\"+l.cn.sankeyNodeSet).data(m,g);R.enter().append(\"g\").classed(l.cn.sankeyNodeSet,!0),R.style(\"cursor\",(function(e){switch(e.arrangement){case\"fixed\":return\"default\";case\"perpendicular\":return\"ns-resize\";default:return\"move\"}}));var F=R.selectAll(\".\"+l.cn.sankeyNode).data((function(e){var t=e.graph.nodes;return function(e){var t,r=[];for(t=0;t<e.length;t++)e[t].originalX=(e[t].x0+e[t].x1)/2,e[t].originalY=(e[t].y0+e[t].y1)/2,-1===r.indexOf(e[t].originalX)&&r.push(e[t].originalX);for(r.sort((function(e,t){return e-t})),t=0;t<e.length;t++)e[t].originalLayerIndex=r.indexOf(e[t].originalX),e[t].originalLayer=e[t].originalLayerIndex/(r.length-1)}(t),t.map(S.bind(null,e))}),g);F.enter().append(\"g\").classed(l.cn.sankeyNode,!0).call(E).style(\"opacity\",(function(t){return!e._context.staticPlot&&!s||t.partOfGroup?0:1})),F.call(D,_,i.nodeEvents).call(z,L,i,e),F.transition().ease(l.ease).duration(l.duration).call(E).style(\"opacity\",(function(e){return e.partOfGroup?0:1})),F.exit().transition().ease(l.ease).duration(l.duration).style(\"opacity\",0).remove();var B=F.selectAll(\".\"+l.cn.nodeRect).data(m);B.enter().append(\"rect\").classed(l.cn.nodeRect,!0).call(P),B.style(\"stroke-width\",(function(e){return e.nodeLineWidth})).style(\"stroke\",(function(e){return c.tinyRGB(u(e.nodeLineColor))})).style(\"stroke-opacity\",(function(e){return c.opacity(e.nodeLineColor)})).style(\"fill\",(function(e){return e.tinyColorHue})).style(\"fill-opacity\",(function(e){return e.tinyColorAlpha})),B.transition().ease(l.ease).duration(l.duration).call(P);var N=F.selectAll(\".\"+l.cn.nodeLabel).data(m);N.enter().append(\"text\").classed(l.cn.nodeLabel,!0).style(\"cursor\",\"default\"),N.attr(\"data-notex\",1).text((function(e){return e.node.label})).each((function(t){var r=a.select(this);f.font(r,t.textFont),x.convertToTspans(r,e)})).style(\"text-shadow\",x.makeTextShadow(e._fullLayout.paper_bgcolor)).attr(\"text-anchor\",(function(e){return e.horizontal&&e.left?\"end\":\"start\"})).attr(\"transform\",(function(e){var t=a.select(this),r=x.lineCount(t),n=e.textFont.size*((r-1)*k-w),i=e.nodeLineWidth/2+3,o=((e.horizontal?e.visibleHeight:e.visibleWidth)-n)/2;e.horizontal&&(e.left?i=-i:i+=e.visibleWidth);var s=e.horizontal?\"\":\"scale(-1,1)\"+d(90);return p(e.horizontal?i:o,e.horizontal?o:i)+s})),N.transition().ease(l.ease).duration(l.duration)}},84564:function(e){\"use strict\";e.exports=function(e,t){for(var r=[],n=e.cd[0].trace,i=n._sankey.graph.nodes,a=0;a<i.length;a++){var o=i[a];if(!o.partOfGroup){var s=[(o.x0+o.x1)/2,(o.y0+o.y1)/2];\"v\"===n.orientation&&s.reverse(),t&&t.contains(s,!1,a,e)&&r.push({pointNumber:o.pointNumber})}}return r}},75225:function(e,t,r){\"use strict\";var n=r(71828);e.exports=function(e,t){for(var r=0;r<e.length;r++)e[r].i=r;n.mergeArray(t.text,e,\"tx\"),n.mergeArray(t.texttemplate,e,\"txt\"),n.mergeArray(t.hovertext,e,\"htx\"),n.mergeArray(t.customdata,e,\"data\"),n.mergeArray(t.textposition,e,\"tp\"),t.textfont&&(n.mergeArrayCastPositive(t.textfont.size,e,\"ts\"),n.mergeArray(t.textfont.color,e,\"tc\"),n.mergeArray(t.textfont.family,e,\"tf\"));var i=t.marker;if(i){n.mergeArrayCastPositive(i.size,e,\"ms\"),n.mergeArrayCastPositive(i.opacity,e,\"mo\"),n.mergeArray(i.symbol,e,\"mx\"),n.mergeArray(i.angle,e,\"ma\"),n.mergeArray(i.standoff,e,\"mf\"),n.mergeArray(i.color,e,\"mc\");var a=i.line;i.line&&(n.mergeArray(a.color,e,\"mlc\"),n.mergeArrayCastPositive(a.width,e,\"mlw\"));var o=i.gradient;o&&\"none\"!==o.type&&(n.mergeArray(o.type,e,\"mgt\"),n.mergeArray(o.color,e,\"mgc\"))}}},82196:function(e,t,r){\"use strict\";var n=r(12663).axisHoverFormat,i=r(5386).si,a=r(5386).fF,o=r(50693),s=r(41940),l=r(79952).P,u=r(79952).u,c=r(91424),f=r(47581),h=r(1426).extendFlat;e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dx:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dy:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},xperiod:{valType:\"any\",dflt:0,editType:\"calc\"},yperiod:{valType:\"any\",dflt:0,editType:\"calc\"},xperiod0:{valType:\"any\",editType:\"calc\"},yperiod0:{valType:\"any\",editType:\"calc\"},xperiodalignment:{valType:\"enumerated\",values:[\"start\",\"middle\",\"end\"],dflt:\"middle\",editType:\"calc\"},yperiodalignment:{valType:\"enumerated\",values:[\"start\",\"middle\",\"end\"],dflt:\"middle\",editType:\"calc\"},xhoverformat:n(\"x\"),yhoverformat:n(\"y\"),offsetgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},alignmentgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},stackgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc\"},groupnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},stackgaps:{valType:\"enumerated\",values:[\"infer zero\",\"interpolate\"],dflt:\"infer zero\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},texttemplate:i({},{}),hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"],editType:\"calc\"},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"],editType:\"style\"},hovertemplate:a({},{keys:f.eventDataKeys}),line:{color:{valType:\"color\",editType:\"style\",anim:!0},width:{valType:\"number\",min:0,dflt:2,editType:\"style\",anim:!0},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1,editType:\"plot\"},dash:h({},l,{editType:\"style\"}),backoff:{valType:\"number\",min:0,dflt:\"auto\",arrayOk:!0,editType:\"plot\"},simplify:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cliponaxis:{valType:\"boolean\",dflt:!0,editType:\"plot\"},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],editType:\"calc\"},fillcolor:{valType:\"color\",editType:\"style\",anim:!0},fillpattern:u,marker:h({symbol:{valType:\"enumerated\",values:c.symbolList,dflt:\"circle\",arrayOk:!0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0,editType:\"style\",anim:!0},angle:{valType:\"angle\",dflt:0,arrayOk:!0,editType:\"plot\",anim:!1},angleref:{valType:\"enumerated\",values:[\"previous\",\"up\"],dflt:\"up\",editType:\"plot\",anim:!1},standoff:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"plot\",anim:!0},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0,editType:\"calc\",anim:!0},maxdisplayed:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},sizeref:{valType:\"number\",dflt:1,editType:\"calc\"},sizemin:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\",editType:\"calc\"},line:h({width:{valType:\"number\",min:0,arrayOk:!0,editType:\"style\",anim:!0},editType:\"calc\"},o(\"marker.line\",{anim:!0})),gradient:{type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],arrayOk:!0,dflt:\"none\",editType:\"calc\"},color:{valType:\"color\",arrayOk:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},o(\"marker\",{anim:!0})),selected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},unselected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"middle center\",arrayOk:!0,editType:\"calc\"},textfont:s({editType:\"calc\",colorEditType:\"style\",arrayOk:!0})}},47761:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828),a=r(89298),o=r(42973),s=r(50606).BADNUM,l=r(34098),u=r(36922),c=r(75225),f=r(66279);function h(e,t,r,n,i,o,s){var u=t._length,c=e._fullLayout,f=r._id,h=n._id,p=c._firstScatter[v(t)]===t.uid,d=(g(t,c,r,n)||{}).orientation,m=t.fill;r._minDtick=0,n._minDtick=0;var y={padded:!0},x={padded:!0};s&&(y.ppad=x.ppad=s);var b=u<2||i[0]!==i[u-1]||o[0]!==o[u-1];b&&(\"tozerox\"===m||\"tonextx\"===m&&(p||\"h\"===d))?y.tozero=!0:(t.error_y||{}).visible||\"tonexty\"!==m&&\"tozeroy\"!==m&&(l.hasMarkers(t)||l.hasText(t))||(y.padded=!1,y.ppad=0),b&&(\"tozeroy\"===m||\"tonexty\"===m&&(p||\"v\"===d))?x.tozero=!0:\"tonextx\"!==m&&\"tozerox\"!==m||(x.padded=!1),f&&(t._extremes[f]=a.findExtremes(r,i,y)),h&&(t._extremes[h]=a.findExtremes(n,o,x))}function p(e,t){if(l.hasMarkers(e)){var r,n=e.marker,o=1.6*(e.marker.sizeref||1);if(r=\"area\"===e.marker.sizemode?function(e){return Math.max(Math.sqrt((e||0)/o),3)}:function(e){return Math.max((e||0)/o,3)},i.isArrayOrTypedArray(n.size)){var s={type:\"linear\"};a.setConvert(s);for(var u=s.makeCalcdata(e.marker,\"size\"),c=new Array(t),f=0;f<t;f++)c[f]=r(u[f]);return c}return r(n.size)}}function d(e,t){var r=v(t),n=e._firstScatter;n[r]||(n[r]=t.uid)}function v(e){var t=e.stackgroup;return e.xaxis+e.yaxis+e.type+(t?\"-\"+t:\"\")}function g(e,t,r,n){var i=e.stackgroup;if(i){var a=t._scatterStackOpts[r._id+n._id][i],o=\"v\"===a.orientation?n:r;return\"linear\"===o.type||\"log\"===o.type?a:void 0}}e.exports={calc:function(e,t){var r,l,v,m,y,x,b=e._fullLayout,_=t._xA=a.getFromId(e,t.xaxis||\"x\",\"x\"),w=t._yA=a.getFromId(e,t.yaxis||\"y\",\"y\"),k=_.makeCalcdata(t,\"x\"),T=w.makeCalcdata(t,\"y\"),M=o(t,_,\"x\",k),A=o(t,w,\"y\",T),S=M.vals,E=A.vals,C=t._length,L=new Array(C),P=t.ids,O=g(t,b,_,w),I=!1;d(b,t);var D,z=\"x\",R=\"y\";O?(i.pushUnique(O.traceIndices,t._expandedIndex),(r=\"v\"===O.orientation)?(R=\"s\",D=\"x\"):(z=\"s\",D=\"y\"),y=\"interpolate\"===O.stackgaps):h(e,t,_,w,S,E,p(t,C));var F=!!t.xperiodalignment,B=!!t.yperiodalignment;for(l=0;l<C;l++){var N=L[l]={},j=n(S[l]),U=n(E[l]);j&&U?(N[z]=S[l],N[R]=E[l],F&&(N.orig_x=k[l],N.xEnd=M.ends[l],N.xStart=M.starts[l]),B&&(N.orig_y=T[l],N.yEnd=A.ends[l],N.yStart=A.starts[l])):O&&(r?j:U)?(N[D]=r?S[l]:E[l],N.gap=!0,y?(N.s=s,I=!0):N.s=0):N[z]=N[R]=s,P&&(N.id=String(P[l]))}if(c(L,t),u(e,t),f(L,t),O){for(l=0;l<L.length;)L[l][D]===s?L.splice(l,1):l++;if(i.sort(L,(function(e,t){return e[D]-t[D]||e.i-t.i})),I){for(l=0;l<L.length-1&&L[l].gap;)l++;for((x=L[l].s)||(x=L[l].s=0),v=0;v<l;v++)L[v].s=x;for(m=L.length-1;m>l&&L[m].gap;)m--;for(x=L[m].s,v=L.length-1;v>m;v--)L[v].s=x;for(;l<m;)if(L[++l].gap){for(v=l+1;L[v].gap;)v++;for(var V=L[l-1][D],H=L[l-1].s,q=(L[v].s-H)/(L[v][D]-V);l<v;)L[l].s=H+(L[l][D]-V)*q,l++}}}return L},calcMarkerSize:p,calcAxisExpansion:h,setFirstScatter:d,getStackOpts:g}},66279:function(e,t,r){\"use strict\";var n=r(71828);e.exports=function(e,t){n.isArrayOrTypedArray(t.selectedpoints)&&n.tagSelected(e,t)}},36922:function(e,t,r){\"use strict\";var n=r(52075).hasColorscale,i=r(78803),a=r(34098);e.exports=function(e,t){a.hasLines(t)&&n(t,\"line\")&&i(e,t,{vals:t.line.color,containerStr:\"line\",cLetter:\"c\"}),a.hasMarkers(t)&&(n(t,\"marker\")&&i(e,t,{vals:t.marker.color,containerStr:\"marker\",cLetter:\"c\"}),n(t,\"marker.line\")&&i(e,t,{vals:t.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}))}},47581:function(e){\"use strict\";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}},72626:function(e,t,r){\"use strict\";var n=r(47761),i=r(11661).setGroupPositions;function a(e,t,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,e.splice(t,0,s),t&&r===e[t-1][o]){var l=e[t-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=function(e,t,r,n){var i=e[t-1],a=e[t+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}(e,t,r,o));t||(e[0].t=e[1].t,e[0].trace=e[1].trace,delete e[1].t,delete e[1].trace)}e.exports=function(e,t){\"group\"===e._fullLayout.scattermode&&function(e,t){for(var r=t.xaxis,n=t.yaxis,a=e._fullLayout,o=e._fullData,s=e.calcdata,l=[],u=[],c=0;c<o.length;c++){var f=o[c];!0===f.visible&&\"scatter\"===f.type&&f.xaxis===r._id&&f.yaxis===n._id&&(\"h\"===f.orientation?l.push(s[c]):\"v\"===f.orientation&&u.push(s[c]))}var h={mode:a.scattermode,gap:a.scattergap};i(e,r,n,u,h),i(e,n,r,l,h)}(e,t);var r=t.xaxis,o=t.yaxis,s=r._id+o._id,l=e._fullLayout._scatterStackOpts[s];if(l){var u,c,f,h,p,d,v,g,m,y,x,b,_,w,k,T=e.calcdata;for(var M in l){var A=(y=l[M]).traceIndices;if(A.length){for(x=\"interpolate\"===y.stackgaps,b=y.groupnorm,\"v\"===y.orientation?(_=\"x\",w=\"y\"):(_=\"y\",w=\"x\"),k=new Array(A.length),u=0;u<k.length;u++)k[u]=!1;d=T[A[0]];var S=new Array(d.length);for(u=0;u<d.length;u++)S[u]=d[u][_];for(u=1;u<A.length;u++){for(p=T[A[u]],c=f=0;c<p.length;c++){for(v=p[c][_];v>S[f]&&f<S.length;f++)a(p,c,S[f],u,k,x,_),c++;if(v!==S[f]){for(h=0;h<u;h++)a(T[A[h]],f,v,h,k,x,_);S.splice(f,0,v)}f++}for(;f<S.length;f++)a(p,c,S[f],u,k,x,_),c++}var E=S.length;for(c=0;c<d.length;c++){for(g=d[c][w]=d[c].s,u=1;u<A.length;u++)(p=T[A[u]])[0].trace._rawLength=p[0].trace._length,p[0].trace._length=E,g+=p[c].s,p[c][w]=g;if(b)for(m=(\"fraction\"===b?g:g/100)||1,u=0;u<A.length;u++){var C=T[A[u]][c];C[w]/=m,C.sNorm=C.s/m}}for(u=0;u<A.length;u++){var L=(p=T[A[u]])[0].trace,P=n.calcMarkerSize(L,L._rawLength),O=Array.isArray(P);if(P&&k[u]||O){var I=P;for(P=new Array(E),c=0;c<E;c++)P[c]=p[c].gap?0:O?I[p[c].i]:I}var D=new Array(E),z=new Array(E);for(c=0;c<E;c++)D[c]=p[c].x,z[c]=p[c].y;n.calcAxisExpansion(e,L,r,o,D,z,P),p[0].t.orientation=y.orientation}}}}}},34936:function(e,t,r){\"use strict\";var n=r(71828),i=r(26125),a=r(82196);e.exports=function(e,t){var r,o,s;function l(e){return n.coerce(o._input,o,a,e)}if(\"group\"===t.scattermode)for(s=0;s<e.length;s++)\"scatter\"===(o=e[s]).type&&(r=o._input,i(r,o,t,l));for(s=0;s<e.length;s++){var u=e[s];if(\"scatter\"===u.type){var c=u.fill;if(\"none\"!==c&&\"toself\"!==c&&(u.opacity=void 0,\"tonexty\"===c||\"tonextx\"===c))for(var f=s-1;f>=0;f--){var h=e[f];if(\"scatter\"===h.type&&h.xaxis===u.xaxis&&h.yaxis===u.yaxis){h.opacity=void 0;break}}}}}},17438:function(e,t,r){\"use strict\";var n=r(71828),i=r(73972),a=r(82196),o=r(47581),s=r(34098),l=r(67513),u=r(73927),c=r(565),f=r(49508),h=r(11058),p=r(94039),d=r(82410),v=r(28908),g=r(71828).coercePattern;e.exports=function(e,t,r,m){function y(r,i){return n.coerce(e,t,a,r,i)}var x=l(e,t,m,y);if(x||(t.visible=!1),t.visible){u(e,t,m,y),y(\"xhoverformat\"),y(\"yhoverformat\");var b=c(e,t,m,y);\"group\"===m.scattermode&&void 0===t.orientation&&y(\"orientation\",\"v\");var _=!b&&x<o.PTS_LINESONLY?\"lines+markers\":\"lines\";y(\"text\"),y(\"hovertext\"),y(\"mode\",_),s.hasLines(t)&&(h(e,t,r,m,y,{backoff:!0}),p(e,t,y),y(\"connectgaps\"),y(\"line.simplify\")),s.hasMarkers(t)&&f(e,t,r,m,y,{gradient:!0}),s.hasText(t)&&(y(\"texttemplate\"),d(e,t,m,y));var w=[];(s.hasMarkers(t)||s.hasText(t))&&(y(\"cliponaxis\"),y(\"marker.maxdisplayed\"),w.push(\"points\")),y(\"fill\",b?b.fillDflt:\"none\"),\"none\"!==t.fill&&(v(e,t,r,y),s.hasLines(t)||p(e,t,y),g(y,\"fillpattern\",t.fillcolor,!1));var k=(t.line||{}).color,T=(t.marker||{}).color;\"tonext\"!==t.fill&&\"toself\"!==t.fill||w.push(\"fills\"),y(\"hoveron\",w.join(\"+\")||\"points\"),\"fills\"!==t.hoveron&&y(\"hovertemplate\");var M=i.getComponentMethod(\"errorbars\",\"supplyDefaults\");M(e,t,k||T||r,{axis:\"y\"}),M(e,t,k||T||r,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(t,y)}}},28908:function(e,t,r){\"use strict\";var n=r(7901),i=r(71828).isArrayOrTypedArray;e.exports=function(e,t,r,a){var o=!1;if(t.marker){var s=t.marker.color,l=(t.marker.line||{}).color;s&&!i(s)?o=s:l&&!i(l)&&(o=l)}a(\"fillcolor\",n.addOpacity((t.line||{}).color||o||r,.5))}},8225:function(e,t,r){\"use strict\";var n=r(89298);e.exports=function(e,t,r){var i={},a={_fullLayout:r},o=n.getFromTrace(a,t,\"x\"),s=n.getFromTrace(a,t,\"y\"),l=e.orig_x;void 0===l&&(l=e.x);var u=e.orig_y;return void 0===u&&(u=e.y),i.xLabel=n.tickText(o,o.c2l(l),!0).text,i.yLabel=n.tickText(s,s.c2l(u),!0).text,i}},34603:function(e,t,r){\"use strict\";var n=r(7901),i=r(34098);e.exports=function(e,t){var r,a;if(\"lines\"===e.mode)return(r=e.line.color)&&n.opacity(r)?r:e.fillcolor;if(\"none\"===e.mode)return e.fill?e.fillcolor:\"\";var o=t.mcc||(e.marker||{}).color,s=t.mlcc||((e.marker||{}).line||{}).color;return(a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(t.mlw||((e.marker||{}).line||{}).width)?s:\"\")?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(e.line||{}).color)&&n.opacity(r)&&i.hasLines(e)&&e.line.width?r:e.fillcolor}},26125:function(e,t,r){\"use strict\";var n=r(99082).getAxisGroup;e.exports=function(e,t,r,i){var a=t.orientation,o=t[{v:\"x\",h:\"y\"}[a]+\"axis\"],s=n(r,o)+a,l=r._alignmentOpts||{},u=i(\"alignmentgroup\"),c=l[s];c||(c=l[s]={});var f=c[u];f?f.traces.push(t):f=c[u]={traces:[t],alignmentIndex:Object.keys(c).length,offsetGroups:{}};var h=i(\"offsetgroup\"),p=f.offsetGroups,d=p[h];h&&(d||(d=p[h]={offsetIndex:Object.keys(p).length}),t._offsetIndex=d.offsetIndex)}},33720:function(e,t,r){\"use strict\";var n=r(71828),i=r(30211),a=r(73972),o=r(34603),s=r(7901),l=n.fillText;e.exports=function(e,t,r,u){var c=e.cd,f=c[0].trace,h=e.xa,p=e.ya,d=h.c2p(t),v=p.c2p(r),g=[d,v],m=f.hoveron||\"\",y=-1!==f.mode.indexOf(\"markers\")?3:.5,x=!!f.xperiodalignment,b=!!f.yperiodalignment;if(-1!==m.indexOf(\"points\")){var _=function(e){var t=Math.max(y,e.mrc||0),r=h.c2p(e.x)-d,n=p.c2p(e.y)-v;return Math.max(Math.sqrt(r*r+n*n)-t,1-y/t)},w=i.getDistanceFunction(u,(function(e){if(x){var t=h.c2p(e.xStart),r=h.c2p(e.xEnd);return d>=Math.min(t,r)&&d<=Math.max(t,r)?0:1/0}var n=Math.max(3,e.mrc||0),i=1-1/n,a=Math.abs(h.c2p(e.x)-d);return a<n?i*a/n:a-n+i}),(function(e){if(b){var t=p.c2p(e.yStart),r=p.c2p(e.yEnd);return v>=Math.min(t,r)&&v<=Math.max(t,r)?0:1/0}var n=Math.max(3,e.mrc||0),i=1-1/n,a=Math.abs(p.c2p(e.y)-v);return a<n?i*a/n:a-n+i}),_);if(i.getClosest(c,w,e),!1!==e.index){var k=c[e.index],T=h.c2p(k.x,!0),M=p.c2p(k.y,!0),A=k.mrc||1;e.index=k.i;var S=c[0].t.orientation,E=S&&(k.sNorm||k.s),C=\"h\"===S?E:void 0!==k.orig_x?k.orig_x:k.x,L=\"v\"===S?E:void 0!==k.orig_y?k.orig_y:k.y;return n.extendFlat(e,{color:o(f,k),x0:T-A,x1:T+A,xLabelVal:C,y0:M-A,y1:M+A,yLabelVal:L,spikeDistance:_(k),hovertemplate:f.hovertemplate}),l(k,f,e),a.getComponentMethod(\"errorbars\",\"hoverInfo\")(k,f,e),[e]}}if(-1!==m.indexOf(\"fills\")&&f._polygons){var P,O,I,D,z,R,F,B,N,j=f._polygons,U=[],V=!1,H=1/0,q=-1/0,G=1/0,Y=-1/0;for(P=0;P<j.length;P++)(I=j[P]).contains(g)&&(V=!V,U.push(I),G=Math.min(G,I.ymin),Y=Math.max(Y,I.ymax));if(V){var W=((G=Math.max(G,0))+(Y=Math.min(Y,p._length)))/2;for(P=0;P<U.length;P++)for(D=U[P].pts,O=1;O<D.length;O++)(B=D[O-1][1])>W!=(N=D[O][1])>=W&&(R=D[O-1][0],F=D[O][0],N-B&&(z=R+(F-R)*(W-B)/(N-B),H=Math.min(H,z),q=Math.max(q,z)));H=Math.max(H,0),q=Math.min(q,h._length);var Z=s.defaultLine;return s.opacity(f.fillcolor)?Z=f.fillcolor:s.opacity((f.line||{}).color)&&(Z=f.line.color),n.extendFlat(e,{distance:e.maxHoverDistance,x0:H,x1:q,y0:W,y1:W,color:Z,hovertemplate:!1}),delete e.index,f.text&&!Array.isArray(f.text)?e.text=String(f.text):e.text=f.name,[e]}}}},67368:function(e,t,r){\"use strict\";var n=r(34098);e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(82196),layoutAttributes:r(21479),supplyDefaults:r(17438),crossTraceDefaults:r(34936),supplyLayoutDefaults:r(79334),calc:r(47761).calc,crossTraceCalc:r(72626),arraysToCalcdata:r(75225),plot:r(32663),colorbar:r(4898),formatLabels:r(8225),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(33720),selectPoints:r(98002),animatable:!0,moduleType:\"trace\",name:\"scatter\",basePlotModule:r(93612),categories:[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],meta:{}}},21479:function(e){\"use strict\";e.exports={scattermode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},scattergap:{valType:\"number\",min:0,max:1,editType:\"calc\"}}},79334:function(e,t,r){\"use strict\";var n=r(71828),i=r(21479);e.exports=function(e,t){var r,a=\"group\"===t.barmode;\"group\"===t.scattermode&&(\"scattergap\",r=a?t.bargap:.2,n.coerce(e,t,i,\"scattergap\",r))}},11058:function(e,t,r){\"use strict\";var n=r(71828).isArrayOrTypedArray,i=r(52075).hasColorscale,a=r(1586);e.exports=function(e,t,r,o,s,l){l||(l={});var u=(e.marker||{}).color;s(\"line.color\",r),i(e,\"line\")?a(e,t,o,s,{prefix:\"line.\",cLetter:\"c\"}):s(\"line.color\",!n(u)&&u||r),s(\"line.width\"),l.noDash||s(\"line.dash\"),l.backoff&&s(\"line.backoff\")}},34621:function(e,t,r){\"use strict\";var n=r(91424),i=r(50606),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,u=r(71828),c=u.segmentsIntersect,f=u.constrain,h=r(47581);e.exports=function(e,t){var r,i,o,p,d,v,g,m,y,x,b,_,w,k,T,M,A,S,E=t.trace||{},C=t.xaxis,L=t.yaxis,P=\"log\"===C.type,O=\"log\"===L.type,I=C._length,D=L._length,z=t.backoff,R=E.marker,F=t.connectGaps,B=t.baseTolerance,N=t.shape,j=\"linear\"===N,U=E.fill&&\"none\"!==E.fill,V=[],H=h.minTolerance,q=e.length,G=new Array(q),Y=0;function W(r){var n=e[r];if(!n)return!1;var i=t.linearized?C.l2p(n.x):C.c2p(n.x),o=t.linearized?L.l2p(n.y):L.c2p(n.y);if(i===a){if(P&&(i=C.c2p(n.x,!0)),i===a)return!1;O&&o===a&&(i*=Math.abs(C._m*D*(C._m>0?s:l)/(L._m*I*(L._m>0?s:l)))),i*=1e3}if(o===a){if(O&&(o=L.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function Z(e,t,r,n){var i=r-e,a=n-t,o=.5-e,s=.5-t,l=i*i+a*a,u=i*o+a*s;if(u>0&&u<l){var c=o*a-s*i;if(c*c<l)return!0}}function X(e,t){var r=e[0]/I,n=e[1]/D,i=Math.max(0,-r,r-1,-n,n-1);return i&&void 0!==A&&Z(r,n,A,S)&&(i=0),i&&t&&Z(r,n,t[0]/I,t[1]/D)&&(i=0),(1+h.toleranceGrowth*i)*B}function K(e,t){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)}var J,$,Q,ee,te,re,ne,ie=h.maxScreensAway,ae=-I*ie,oe=I*(1+ie),se=-D*ie,le=D*(1+ie),ue=[[ae,se,oe,se],[oe,se,oe,le],[oe,le,ae,le],[ae,le,ae,se]];function ce(e){if(e[0]<ae||e[0]>oe||e[1]<se||e[1]>le)return[f(e[0],ae,oe),f(e[1],se,le)]}function fe(e,t){return e[0]===t[0]&&(e[0]===ae||e[0]===oe)||e[1]===t[1]&&(e[1]===se||e[1]===le)||void 0}function he(e,t,r){return function(n,i){var a=ce(n),o=ce(i),s=[];if(a&&o&&fe(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*u.constrain((n[e]+i[e])/2,t,r)-((a||n)[e]+(o||i)[e]);return l&&((a&&o?l>0==a[e]>o[e]?a:o:a||o)[e]+=l),s}}function pe(e){var t=e[0],r=e[1],n=t===G[Y-1][0],i=r===G[Y-1][1];if(!n||!i)if(Y>1){var a=t===G[Y-2][0],o=r===G[Y-2][1];n&&(t===ae||t===oe)&&a?o?Y--:G[Y-1]=e:i&&(r===se||r===le)&&o?a?Y--:G[Y-1]=e:G[Y++]=e}else G[Y++]=e}function de(e){G[Y-1][0]!==e[0]&&G[Y-1][1]!==e[1]&&pe([Q,ee]),pe(e),te=null,Q=ee=0}\"linear\"===N||\"spline\"===N?ne=function(e,t){for(var r=[],n=0,i=0;i<4;i++){var a=ue[i],o=c(e[0],e[1],t[0],t[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&K(o,e)<K(r[0],e)?r.unshift(o):r.push(o),n++)}return r}:\"hv\"===N||\"vh\"===N?ne=function(e,t){var r=[],n=ce(e),i=ce(t);return n&&i&&fe(n,i)||(n&&r.push(n),i&&r.push(i)),r}:\"hvh\"===N?ne=he(0,ae,oe):\"vhv\"===N&&(ne=he(1,se,le));var ve=u.isArrayOrTypedArray(R);function ge(t){if(t&&z&&(t.i=r,t.d=e,t.trace=E,t.marker=ve?R[t.i]:R,t.backoff=z),A=t[0]/I,S=t[1]/D,J=t[0]<ae?ae:t[0]>oe?oe:0,$=t[1]<se?se:t[1]>le?le:0,J||$){if(Y)if(te){var n=ne(te,t);n.length>1&&(de(n[0]),G[Y++]=n[1])}else re=ne(G[Y-1],t)[0],G[Y++]=re;else G[Y++]=[J||t[0],$||t[1]];var i=G[Y-1];J&&$&&(i[0]!==J||i[1]!==$)?(te&&(Q!==J&&ee!==$?pe(Q&&ee?(a=te,s=(o=t)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?ae:oe,le]:[l>0?oe:ae,se]):[Q||J,ee||$]):Q&&ee&&pe([Q,ee])),pe([J,$])):Q-J&&ee-$&&pe([J||Q,$||ee]),te=t,Q=J,ee=$}else te&&de(ne(te,t)[0]),G[Y++]=t;var a,o,s,l}for(r=0;r<q;r++)if(i=W(r)){for(Y=0,te=null,ge(i),r++;r<q;r++){if(!(p=W(r))){if(F)continue;break}if(j&&t.simplify){var me=W(r+1);if(x=K(p,i),U&&(0===Y||Y===q-1)||!(x<X(p,me)*H)){for(m=[(p[0]-i[0])/x,(p[1]-i[1])/x],d=i,b=x,_=k=T=0,g=!1,o=p,r++;r<e.length;r++){if(v=me,me=W(r+1),!v){if(F)continue;break}if(M=(y=[v[0]-i[0],v[1]-i[1]])[0]*m[1]-y[1]*m[0],k=Math.min(k,M),(T=Math.max(T,M))-k>X(v,me))break;o=v,(w=y[0]*m[0]+y[1]*m[1])>b?(b=w,p=v,g=!1):w<_&&(_=w,d=v,g=!0)}if(g?(ge(p),o!==d&&ge(d)):(d!==i&&ge(d),o!==p&&ge(p)),ge(o),r>=e.length||!v)break;ge(v),i=v}}else ge(p)}te&&pe([Q||te[0],ee||te[1]]),V.push(G.slice(0,Y))}var ye=N.slice(N.length-1);if(z&&\"h\"!==ye&&\"v\"!==ye){for(var xe=!1,be=-1,_e=[],we=0;we<V.length;we++)for(var ke=0;ke<V[we].length-1;ke++){var Te=V[we][ke],Me=V[we][ke+1],Ae=n.applyBackoff(Me,Te);Ae[0]===Me[0]&&Ae[1]===Me[1]||(xe=!0),_e[be+1]||(_e[++be]=[Te,[Ae[0],Ae[1]]])}return xe?_e:V}return V}},94039:function(e){\"use strict\";e.exports=function(e,t,r){\"spline\"===r(\"line.shape\")&&r(\"line.smoothing\")}},68687:function(e){\"use strict\";var t={tonextx:1,tonexty:1,tonext:1};e.exports=function(e,r,n){var i,a,o,s,l,u={},c=!1,f=-1,h=0,p=-1;for(a=0;a<n.length;a++)(o=(i=n[a][0].trace).stackgroup||\"\")?o in u?l=u[o]:(l=u[o]=h,h++):i.fill in t&&p>=0?l=p:(l=p=h,h++),l<f&&(c=!0),i._groupIndex=f=l;var d=n.slice();c&&d.sort((function(e,t){var r=e[0].trace,n=t[0].trace;return r._groupIndex-n._groupIndex||r.index-n.index}));var v={};for(a=0;a<d.length;a++)o=(i=d[a][0].trace).stackgroup||\"\",!0===i.visible?(i._nexttrace=null,i.fill in t&&(s=v[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),i._ownfill=i.fill&&(\"tozero\"===i.fill.substr(0,6)||\"toself\"===i.fill||\"to\"===i.fill.substr(0,2)&&!i._prevtrace),v[o]=i):i._prevtrace=i._nexttrace=i._ownfill=null;return d}},39984:function(e,t,r){\"use strict\";var n=r(92770);e.exports=function(e,t){t||(t=2);var r=e.marker,i=r.sizeref||1,a=r.sizemin||0,o=\"area\"===r.sizemode?function(e){return Math.sqrt(e/i)}:function(e){return e/i};return function(e){var r=o(e/t);return n(r)&&r>0?Math.max(r,a):0}}},4898:function(e){\"use strict\";e.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}},49508:function(e,t,r){\"use strict\";var n=r(7901),i=r(52075).hasColorscale,a=r(1586),o=r(34098);e.exports=function(e,t,r,s,l,u){var c=o.isBubble(e),f=(e.line||{}).color;u=u||{},f&&(r=f),l(\"marker.symbol\"),l(\"marker.opacity\",c?.7:1),l(\"marker.size\"),u.noAngle||(l(\"marker.angle\"),u.noAngleRef||l(\"marker.angleref\"),u.noStandOff||l(\"marker.standoff\")),l(\"marker.color\",r),i(e,\"marker\")&&a(e,t,s,l,{prefix:\"marker.\",cLetter:\"c\"}),u.noSelect||(l(\"selected.marker.color\"),l(\"unselected.marker.color\"),l(\"selected.marker.size\"),l(\"unselected.marker.size\")),u.noLine||(l(\"marker.line.color\",f&&!Array.isArray(f)&&t.marker.color!==f?f:c?n.background:n.defaultLine),i(e,\"marker.line\")&&a(e,t,s,l,{prefix:\"marker.line.\",cLetter:\"c\"}),l(\"marker.line.width\",c?1:0)),c&&(l(\"marker.sizeref\"),l(\"marker.sizemin\"),l(\"marker.sizemode\")),u.gradient&&\"none\"!==l(\"marker.gradient.type\")&&l(\"marker.gradient.color\")}},73927:function(e,t,r){\"use strict\";var n=r(71828).dateTick0,i=r(50606).ONEWEEK;function a(e,t){return n(t,e%i==0?1:0)}e.exports=function(e,t,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n(\"xperiod\");o&&(n(\"xperiod0\",a(o,t.xcalendar)),n(\"xperiodalignment\"))}if(i.y){var s=n(\"yperiod\");s&&(n(\"yperiod0\",a(s,t.ycalendar)),n(\"yperiodalignment\"))}}},32663:function(e,t,r){\"use strict\";var n=r(39898),i=r(73972),a=r(71828),o=a.ensureSingle,s=a.identity,l=r(91424),u=r(34098),c=r(34621),f=r(68687),h=r(61082).tester;function p(e,t,r,f,p,d,v){var g,m=e._context.staticPlot;!function(e,t,r,i,o){var s=r.xaxis,l=r.yaxis,c=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(u.hasMarkers(h)){var p=h.marker.maxdisplayed;if(0!==p){var d=i.filter((function(e){return e.x>=c[0]&&e.x<=c[1]&&e.y>=f[0]&&e.y<=f[1]})),v=Math.ceil(d.length/p),g=0;o.forEach((function(e,r){var n=e[0].trace;u.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<t&&g++}));var m=Math.round(g*v/3+Math.floor(g/3)*v/7.1);i.forEach((function(e){delete e.vis})),d.forEach((function(e,t){0===Math.round((t+m)%v)&&(e.vis=!0)}))}}}(0,t,r,f,p);var y=!!v&&v.duration>0;function x(e){return y?e.transition():e}var b=r.xaxis,_=r.yaxis,w=f[0].trace,k=w.line,T=n.select(d),M=o(T,\"g\",\"errorbars\"),A=o(T,\"g\",\"lines\"),S=o(T,\"g\",\"points\"),E=o(T,\"g\",\"text\");if(i.getComponentMethod(\"errorbars\",\"plot\")(e,M,r,v),!0===w.visible){var C,L;x(T).style(\"opacity\",w.opacity);var P=w.fill.charAt(w.fill.length-1);\"x\"!==P&&\"y\"!==P&&(P=\"\"),f[0][r.isRangePlot?\"nodeRangePlot3\":\"node3\"]=T;var O,I,D=\"\",z=[],R=w._prevtrace;R&&(D=R._prevRevpath||\"\",L=R._nextFill,z=R._polygons);var F,B,N,j,U,V,H,q=\"\",G=\"\",Y=[],W=a.noop;if(C=w._ownFill,u.hasLines(w)||\"none\"!==w.fill){for(L&&L.datum(f),-1!==[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(k.shape)?(F=l.steps(k.shape),B=l.steps(k.shape.split(\"\").reverse().join(\"\"))):F=B=\"spline\"===k.shape?function(e){var t=e[e.length-1];return e.length>1&&e[0][0]===t[0]&&e[0][1]===t[1]?l.smoothclosed(e.slice(1),k.smoothing):l.smoothopen(e,k.smoothing)}:function(e){return\"M\"+e.join(\"L\")},N=function(e){return B(e.reverse())},Y=c(f,{xaxis:b,yaxis:_,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(k.width||1,3)/4,shape:k.shape,backoff:k.backoff,simplify:k.simplify,fill:w.fill}),H=w._polygons=new Array(Y.length),g=0;g<Y.length;g++)w._polygons[g]=h(Y[g]);Y.length&&(j=Y[0][0],V=(U=Y[Y.length-1])[U.length-1]),W=function(e){return function(t){if(O=F(t),I=N(t),q?P?(q+=\"L\"+O.substr(1),G=I+\"L\"+G.substr(1)):(q+=\"Z\"+O,G=I+\"Z\"+G):(q=O,G=I),u.hasLines(w)){var r=n.select(this);if(r.datum(f),e)x(r.style(\"opacity\",0).attr(\"d\",O).call(l.lineGroupStyle)).style(\"opacity\",1);else{var i=x(r);i.attr(\"d\",O),l.singleLineStyle(f,i)}}}}}var Z=A.selectAll(\".js-line\").data(Y);x(Z.exit()).style(\"opacity\",0).remove(),Z.each(W(!1)),Z.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",m?\"none\":\"non-scaling-stroke\").call(l.lineGroupStyle).each(W(!0)),l.setClipUrl(Z,r.layerClipId,e),Y.length?(C?(C.datum(f),j&&V&&(P?(\"y\"===P?j[1]=V[1]=_.c2p(0,!0):\"x\"===P&&(j[0]=V[0]=b.c2p(0,!0)),x(C).attr(\"d\",\"M\"+V+\"L\"+j+\"L\"+q.substr(1)).call(l.singleFillStyle,e)):x(C).attr(\"d\",q+\"Z\").call(l.singleFillStyle,e))):L&&(\"tonext\"===w.fill.substr(0,6)&&q&&D?(\"tonext\"===w.fill?x(L).attr(\"d\",q+\"Z\"+D+\"Z\").call(l.singleFillStyle,e):x(L).attr(\"d\",q+\"L\"+D.substr(1)+\"Z\").call(l.singleFillStyle,e),w._polygons=w._polygons.concat(z)):(K(L),w._polygons=null)),w._prevRevpath=G,w._prevPolygons=H):(C?K(C):L&&K(L),w._polygons=w._prevRevpath=w._prevPolygons=null),S.datum(f),E.datum(f),function(t,i,a){var o,c=a[0].trace,f=u.hasMarkers(c),h=u.hasText(c),p=te(c),d=re,v=re;if(f||h){var g=s,m=c.stackgroup,w=m&&\"infer zero\"===e._fullLayout._scatterStackOpts[b._id+_._id][m].stackgaps;c.marker.maxdisplayed||c._needsCull?g=w?$:J:m&&!w&&(g=Q),f&&(d=g),h&&(v=g)}var k,T=(o=t.selectAll(\"path.point\").data(d,p)).enter().append(\"path\").classed(\"point\",!0);y&&T.call(l.pointStyle,c,e).call(l.translatePoints,b,_).style(\"opacity\",0).transition().style(\"opacity\",1),o.order(),f&&(k=l.makePointStyleFns(c)),o.each((function(t){var i=n.select(this),a=x(i);l.translatePoint(t,a,b,_)?(l.singlePointStyle(t,a,c,k,e),r.layerClipId&&l.hideOutsideRangePoint(t,a,b,_,c.xcalendar,c.ycalendar),c.customdata&&i.classed(\"plotly-customdata\",null!==t.data&&void 0!==t.data)):a.remove()})),y?o.exit().transition().style(\"opacity\",0).remove():o.exit().remove(),(o=i.selectAll(\"g\").data(v,p)).enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),o.order(),o.each((function(e){var t=n.select(this),i=x(t.select(\"text\"));l.translatePoint(e,i,b,_)?r.layerClipId&&l.hideOutsideRangePoint(e,t,b,_,c.xcalendar,c.ycalendar):t.remove()})),o.selectAll(\"text\").call(l.textPointStyle,c,e).each((function(e){var t=b.c2p(e.x),r=_.c2p(e.y);n.select(this).selectAll(\"tspan.line\").each((function(){x(n.select(this)).attr({x:t,y:r})}))})),o.exit().remove()}(S,E,f);var X=!1===w.cliponaxis?null:r.layerClipId;l.setClipUrl(S,X,e),l.setClipUrl(E,X,e)}function K(e){x(e).attr(\"d\",\"M0,0Z\")}function J(e){return e.filter((function(e){return!e.gap&&e.vis}))}function $(e){return e.filter((function(e){return e.vis}))}function Q(e){return e.filter((function(e){return!e.gap}))}function ee(e){return e.id}function te(e){if(e.ids)return ee}function re(){return!1}}e.exports=function(e,t,r,i,a,u){var c,h,d=!a,v=!!a&&a.duration>0,g=f(e,t,r);(c=i.selectAll(\"g.trace\").data(g,(function(e){return e[0].trace.uid}))).enter().append(\"g\").attr(\"class\",(function(e){return\"trace scatter trace\"+e[0].trace.uid})).style(\"stroke-miterlimit\",2),c.order(),function(e,t,r){t.each((function(t){var i=o(n.select(this),\"g\",\"fills\");l.setClipUrl(i,r.layerClipId,e);var a=t[0].trace,u=[];a._ownfill&&u.push(\"_ownFill\"),a._nexttrace&&u.push(\"_nextFill\");var c=i.selectAll(\"g\").data(u,s);c.enter().append(\"g\"),c.exit().each((function(e){a[e]=null})).remove(),c.order().each((function(e){a[e]=o(n.select(this),\"path\",\"js-fill\")}))}))}(e,c,t),v?(u&&(h=u()),n.transition().duration(a.duration).ease(a.easing).each(\"end\",(function(){h&&h()})).each(\"interrupt\",(function(){h&&h()})).each((function(){i.selectAll(\"g.trace\").each((function(r,n){p(e,n,t,r,g,this,a)}))}))):c.each((function(r,n){p(e,n,t,r,g,this,a)})),d&&c.exit().remove(),i.selectAll(\"path:not([d])\").remove()}},98002:function(e,t,r){\"use strict\";var n=r(34098);e.exports=function(e,t){var r,i,a,o,s=e.cd,l=e.xaxis,u=e.yaxis,c=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===t)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)i=s[r],a=l.c2p(i.x),o=u.c2p(i.y),null!==i.i&&t.contains([a,o],!1,r,e)?(c.push({pointNumber:i.i,x:l.c2d(i.x),y:u.c2d(i.y)}),i.selected=1):i.selected=0;return c}},565:function(e){\"use strict\";var t=[\"orientation\",\"groupnorm\",\"stackgaps\"];e.exports=function(e,r,n,i){var a=n._scatterStackOpts,o=i(\"stackgroup\");if(o){var s=r.xaxis+r.yaxis,l=a[s];l||(l=a[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var f={orientation:r.x&&!r.y?\"h\":\"v\"},h=0;h<t.length;h++){var p=t[h],d=p+\"Found\";if(!u[d]){var v=void 0!==e[p],g=\"orientation\"===p;if((v||c)&&(u[p]=i(p,f[p]),g&&(u.fillDflt=\"h\"===u[p]?\"tonextx\":\"tonexty\"),v&&(u[d]=!0,!c&&(delete u.traces[0][p],g))))for(var m=0;m<u.traces.length-1;m++){var y=u.traces[m];y._input.fill!==y.fill&&(y.fill=u.fillDflt)}}}return u}}},16296:function(e,t,r){\"use strict\";var n=r(39898),i=r(91424),a=r(73972);function o(e,t,r){i.pointStyle(e.selectAll(\"path.point\"),t,r)}function s(e,t,r){i.textPointStyle(e.selectAll(\"text\"),t,r)}e.exports={style:function(e){var t=n.select(e).selectAll(\"g.trace.scatter\");t.style(\"opacity\",(function(e){return e[0].trace.opacity})),t.selectAll(\"g.points\").each((function(t){o(n.select(this),t.trace||t[0].trace,e)})),t.selectAll(\"g.text\").each((function(t){s(n.select(this),t.trace||t[0].trace,e)})),t.selectAll(\"g.trace path.js-line\").call(i.lineGroupStyle),t.selectAll(\"g.trace path.js-fill\").call(i.fillGroupStyle,e),a.getComponentMethod(\"errorbars\",\"style\")(t)},stylePoints:o,styleText:s,styleOnSelect:function(e,t,r){var n=t[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll(\"path.point\"),n),i.selectedTextStyle(r.selectAll(\"text\"),n)):(o(r,n,e),s(r,n,e))}}},34098:function(e,t,r){\"use strict\";var n=r(71828);e.exports={hasLines:function(e){return e.visible&&e.mode&&-1!==e.mode.indexOf(\"lines\")},hasMarkers:function(e){return e.visible&&(e.mode&&-1!==e.mode.indexOf(\"markers\")||\"splom\"===e.type)},hasText:function(e){return e.visible&&e.mode&&-1!==e.mode.indexOf(\"text\")},isBubble:function(e){return n.isPlainObject(e.marker)&&n.isArrayOrTypedArray(e.marker.size)}}},82410:function(e,t,r){\"use strict\";var n=r(71828);e.exports=function(e,t,r,i,a){a=a||{},i(\"textposition\"),n.coerceFont(i,\"textfont\",a.font||r.font),a.noSelect||(i(\"selected.textfont.color\"),i(\"unselected.textfont.color\"))}},67513:function(e,t,r){\"use strict\";var n=r(71828),i=r(73972);e.exports=function(e,t,r,a){var o,s=a(\"x\"),l=a(\"y\");if(i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(e,t,[\"x\",\"y\"],r),s){var u=n.minRowLength(s);l?o=Math.min(u,n.minRowLength(l)):(o=u,a(\"y0\"),a(\"dy\"))}else{if(!l)return 0;o=n.minRowLength(l),a(\"x0\"),a(\"dx\")}return t._length=o,o}},44542:function(e,t,r){\"use strict\";var n=r(82196),i=r(50693),a=r(12663).axisHoverFormat,o=r(5386).fF,s=r(5386).si,l=r(9012),u=r(29659),c=r(87381),f=r(1426).extendFlat,h=r(30962).overrideAll,p=r(78607),d=n.line,v=n.marker,g=v.line,m=f({width:d.width,dash:{valType:\"enumerated\",values:p(u),dflt:\"solid\"}},i(\"line\")),y=e.exports=h({x:n.x,y:n.y,z:{valType:\"data_array\"},text:f({},n.text,{}),texttemplate:s({},{}),hovertext:f({},n.hovertext,{}),hovertemplate:o(),xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),zhoverformat:a(\"z\"),mode:f({},n.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},y:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},z:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:m,marker:f({symbol:{valType:\"enumerated\",values:p(c),dflt:\"circle\",arrayOk:!0},size:f({},v.size,{dflt:8}),sizeref:v.sizeref,sizemin:v.sizemin,sizemode:v.sizemode,opacity:f({},v.opacity,{arrayOk:!1}),colorbar:v.colorbar,line:f({width:f({},g.width,{arrayOk:!1})},i(\"marker.line\"))},i(\"marker\")),textposition:f({},n.textposition,{dflt:\"top center\"}),textfont:{color:n.textfont.color,size:n.textfont.size,family:f({},n.textfont.family,{arrayOk:!1})},opacity:l.opacity,hoverinfo:f({},l.hoverinfo)},\"calc\",\"nested\");y.x.editType=y.y.editType=y.z.editType=\"calc+clearAxisTypes\"},36563:function(e,t,r){\"use strict\";var n=r(75225),i=r(36922);e.exports=function(e,t){var r=[{x:!1,y:!1,trace:t,t:{}}];return n(r,t),i(e,t),r}},67336:function(e,t,r){\"use strict\";var n=r(73972);function i(e,t,r,i){if(!t||!t.visible)return null;for(var a=n.getComponentMethod(\"errorbars\",\"makeComputeError\")(t),o=new Array(e.length),s=0;s<e.length;s++){var l=a(+e[s],s);if(\"log\"===i.type){var u=i.c2l(e[s]),c=e[s]-l[0],f=e[s]+l[1];if(o[s]=[(i.c2l(c,!0)-u)*r,(i.c2l(f,!0)-u)*r],c>0){var h=i.c2l(c);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(e,t,r){var n=[i(e.x,e.error_x,t[0],r.xaxis),i(e.y,e.error_y,t[1],r.yaxis),i(e.z,e.error_z,t[2],r.zaxis)],a=function(e){for(var t=0;t<e.length;t++)if(e[t])return e[t].length;return 0}(n);if(0===a)return null;for(var o=new Array(a),s=0;s<a;s++){for(var l=[[0,0,0],[0,0,0]],u=0;u<3;u++)if(n[u])for(var c=0;c<2;c++)l[c][u]=n[u][s][c];o[s]=l}return o}},58925:function(e,t,r){\"use strict\";var n=r(9330).gl_line3d,i=r(9330).gl_scatter3d,a=r(9330).gl_error3d,o=r(9330).gl_mesh3d,s=r(9330).delaunay_triangulate,l=r(71828),u=r(78614),c=r(81697).formatColor,f=r(39984),h=r(29659),p=r(87381),d=r(89298),v=r(23469).appendArrayPointValue,g=r(67336);function m(e,t){this.scene=e,this.uid=t,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var y=m.prototype;function x(e){return null==e?0:e.indexOf(\"left\")>-1?-1:e.indexOf(\"right\")>-1?1:0}function b(e){return null==e?0:e.indexOf(\"top\")>-1?-1:e.indexOf(\"bottom\")>-1?1:0}function _(e,t){return t(4*e)}function w(e){return p[e]}function k(e,t,r,n,i){var a=null;if(l.isArrayOrTypedArray(e)){a=[];for(var o=0;o<t;o++)void 0===e[o]?a[o]=n:a[o]=r(e[o],i)}else a=r(e,l.identity);return a}function T(e){if(l.isArrayOrTypedArray(e)){var t=e[0];return l.isArrayOrTypedArray(t)&&(e=t),\"rgb(\"+e.slice(0,3).map((function(e){return Math.round(255*e)}))+\")\"}return null}function M(e){return l.isArrayOrTypedArray(e)?4===e.length&&\"number\"==typeof e[0]?T(e):e.map(T):null}y.handlePick=function(e){if(e.object&&(e.object===this.linePlot||e.object===this.delaunayMesh||e.object===this.textMarkers||e.object===this.scatterPlot)){var t=e.index=e.data.index;return e.object.highlight&&e.object.highlight(null),this.scatterPlot&&(e.object=this.scatterPlot,this.scatterPlot.highlight(e.data)),e.textLabel=\"\",this.textLabels&&(Array.isArray(this.textLabels)?(this.textLabels[t]||0===this.textLabels[t])&&(e.textLabel=this.textLabels[t]):e.textLabel=this.textLabels),e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]],!0}},y.update=function(e){var t,r,p,m,y=this.scene.glplot.gl,T=h.solid;this.data=e;var A=function(e,t){var r,n,i,a,o,s,h=[],p=e.fullSceneLayout,m=e.dataScale,y=p.xaxis,T=p.yaxis,M=p.zaxis,A=t.marker,S=t.line,E=t.x||[],C=t.y||[],L=t.z||[],P=E.length,O=t.xcalendar,I=t.ycalendar,D=t.zcalendar;for(o=0;o<P;o++)r=y.d2l(E[o],0,O)*m[0],n=T.d2l(C[o],0,I)*m[1],i=M.d2l(L[o],0,D)*m[2],h[o]=[r,n,i];if(Array.isArray(t.text))s=t.text;else if(void 0!==t.text)for(s=new Array(P),o=0;o<P;o++)s[o]=t.text;function z(e,t){var r=p[e];return d.tickText(r,r.d2l(t),!0).text}var R=t.texttemplate;if(R){var F=e.fullLayout._d3locale,B=Array.isArray(R),N=B?Math.min(R.length,P):P,j=B?function(e){return R[e]}:function(){return R};for(s=new Array(N),o=0;o<N;o++){var U={x:E[o],y:C[o],z:L[o]},V={xLabel:z(\"xaxis\",E[o]),yLabel:z(\"yaxis\",C[o]),zLabel:z(\"zaxis\",L[o])},H={};v(H,t,o);var q=t._meta||{};s[o]=l.texttemplateString(j(o),V,F,H,U,q)}}if(a={position:h,mode:t.mode,text:s},\"line\"in t&&(a.lineColor=c(S,1,P),a.lineWidth=S.width,a.lineDashes=S.dash),\"marker\"in t){var G=f(t);a.scatterColor=c(A,1,P),a.scatterSize=k(A.size,P,_,20,G),a.scatterMarker=k(A.symbol,P,w,\"●\"),a.scatterLineWidth=A.line.width,a.scatterLineColor=c(A.line,1,P),a.scatterAngle=0}\"textposition\"in t&&(a.textOffset=function(e){var t=[0,0];if(Array.isArray(e))for(var r=0;r<e.length;r++)t[r]=[0,0],e[r]&&(t[r][0]=x(e[r]),t[r][1]=b(e[r]));else t[0]=x(e),t[1]=b(e);return t}(t.textposition),a.textColor=c(t.textfont,1,P),a.textSize=k(t.textfont.size,P,l.identity,12),a.textFont=t.textfont.family,a.textAngle=0);var Y=[\"x\",\"y\",\"z\"];for(a.project=[!1,!1,!1],a.projectScale=[1,1,1],a.projectOpacity=[1,1,1],o=0;o<3;++o){var W=t.projection[Y[o]];(a.project[o]=W.show)&&(a.projectOpacity[o]=W.opacity,a.projectScale[o]=W.scale)}a.errorBounds=g(t,m,p);var Z=function(e){for(var t=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=e[i];a&&!1!==a.copy_zstyle&&!1!==e[2].visible&&(a=e[2]),a&&a.visible&&(t[i]=a.width/2,r[i]=u(a.color),n[i]=a.thickness)}return{capSize:t,color:r,lineWidth:n}}([t.error_x,t.error_y,t.error_z]);return a.errorColor=Z.color,a.errorLineWidth=Z.lineWidth,a.errorCapSize=Z.capSize,a.delaunayAxis=t.surfaceaxis,a.delaunayColor=u(t.surfacecolor),a}(this.scene,e);\"mode\"in A&&(this.mode=A.mode),\"lineDashes\"in A&&A.lineDashes in h&&(T=h[A.lineDashes]),this.color=M(A.scatterColor)||M(A.lineColor),this.dataPoints=A.position,t={gl:this.scene.glplot.gl,position:A.position,color:A.lineColor,lineWidth:A.lineWidth||1,dashes:T[0],dashScale:T[1],opacity:e.opacity,connectGaps:e.connectgaps},-1!==this.mode.indexOf(\"lines\")?this.linePlot?this.linePlot.update(t):(this.linePlot=n(t),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var S=e.opacity;if(e.marker&&void 0!==e.marker.opacity&&(S*=e.marker.opacity),r={gl:this.scene.glplot.gl,position:A.position,color:A.scatterColor,size:A.scatterSize,glyph:A.scatterMarker,opacity:S,orthographic:!0,lineWidth:A.scatterLineWidth,lineColor:A.scatterLineColor,project:A.project,projectScale:A.projectScale,projectOpacity:A.projectOpacity},-1!==this.mode.indexOf(\"markers\")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=i(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),m={gl:this.scene.glplot.gl,position:A.position,glyph:A.text,color:A.textColor,size:A.textSize,angle:A.textAngle,alignment:A.textOffset,font:A.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:e.opacity},this.textLabels=e.hovertext||e.text,-1!==this.mode.indexOf(\"text\")?this.textMarkers?this.textMarkers.update(m):(this.textMarkers=i(m),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),p={gl:this.scene.glplot.gl,position:A.position,color:A.errorColor,error:A.errorBounds,lineWidth:A.errorLineWidth,capSize:A.errorCapSize,opacity:e.opacity},this.errorBars?A.errorBounds?this.errorBars.update(p):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):A.errorBounds&&(this.errorBars=a(p),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),A.delaunayAxis>=0){var E=function(e,t,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n<e.length;++n){var u=e[n];!isNaN(u[i])&&isFinite(u[i])&&!isNaN(u[a])&&isFinite(u[a])&&(o.push([u[i],u[a]]),l.push(n))}var c=s(o);for(n=0;n<c.length;++n)for(var f=c[n],h=0;h<f.length;++h)f[h]=l[f[h]];return{positions:e,cells:c,meshColor:t}}(A.position,A.delaunayColor,A.delaunayAxis);E.opacity=e.opacity,this.delaunayMesh?this.delaunayMesh.update(E):(E.gl=y,this.delaunayMesh=o(E),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},y.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(e,t){var r=new m(e,t.uid);return r.update(t),r}},21428:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828),a=r(34098),o=r(49508),s=r(11058),l=r(82410),u=r(44542);e.exports=function(e,t,r,c){function f(r,n){return i.coerce(e,t,u,r,n)}var h=function(e,t,r,i){var a=0,o=r(\"x\"),s=r(\"y\"),l=r(\"z\");return n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(e,t,[\"x\",\"y\",\"z\"],i),o&&s&&l&&(a=Math.min(o.length,s.length,l.length),t._length=t._xlength=t._ylength=t._zlength=a),a}(e,t,f,c);if(h){f(\"text\"),f(\"hovertext\"),f(\"hovertemplate\"),f(\"xhoverformat\"),f(\"yhoverformat\"),f(\"zhoverformat\"),f(\"mode\"),a.hasLines(t)&&(f(\"connectgaps\"),s(e,t,r,c,f)),a.hasMarkers(t)&&o(e,t,r,c,f,{noSelect:!0,noAngle:!0}),a.hasText(t)&&(f(\"texttemplate\"),l(e,t,c,f,{noSelect:!0}));var p=(t.line||{}).color,d=(t.marker||{}).color;f(\"surfaceaxis\")>=0&&f(\"surfacecolor\",p||d);for(var v=[\"x\",\"y\",\"z\"],g=0;g<3;++g){var m=\"projection.\"+v[g];f(m+\".show\")&&(f(m+\".opacity\"),f(m+\".scale\"))}var y=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");y(e,t,p||d||r,{axis:\"z\"}),y(e,t,p||d||r,{axis:\"y\",inherit:\"z\"}),y(e,t,p||d||r,{axis:\"x\",inherit:\"z\"})}else t.visible=!1}},13551:function(e,t,r){\"use strict\";e.exports={plot:r(58925),attributes:r(44542),markerSymbols:r(87381),supplyDefaults:r(21428),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:r(36563),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:r(58547),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},97001:function(e,t,r){\"use strict\";var n=r(82196),i=r(9012),a=r(5386).fF,o=r(5386).si,s=r(50693),l=r(1426).extendFlat,u=n.marker,c=n.line,f=u.line;e.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:l({},n.mode,{dflt:\"markers\"}),text:l({},n.text,{}),texttemplate:o({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),hovertext:l({},n.hovertext,{}),line:{color:c.color,width:c.width,dash:c.dash,backoff:c.backoff,shape:l({},c.shape,{values:[\"linear\",\"spline\"]}),smoothing:c.smoothing,editType:\"calc\"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:n.fillcolor,marker:l({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,angle:u.angle,angleref:u.angleref,standoff:u.standoff,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:l({width:f.width,editType:\"calc\"},s(\"marker.line\")),gradient:u.gradient,editType:\"calc\"},s(\"marker\")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:n.hoveron,hovertemplate:a()}},34618:function(e,t,r){\"use strict\";var n=r(92770),i=r(36922),a=r(75225),o=r(66279),s=r(47761).calcMarkerSize,l=r(22882);e.exports=function(e,t){var r=t._carpetTrace=l(e,t);if(r&&r.visible&&\"legendonly\"!==r.visible){var u;t.xaxis=r.xaxis,t.yaxis=r.yaxis;var c,f,h=t._length,p=new Array(h),d=!1;for(u=0;u<h;u++)if(c=t.a[u],f=t.b[u],n(c)&&n(f)){var v=r.ab2xy(+c,+f,!0),g=r.isVisible(+c,+f);g||(d=!0),p[u]={x:v[0],y:v[1],a:c,b:f,vis:g}}else p[u]={x:!1,y:!1};return t._needsCull=d,p[0].carpet=r,p[0].trace=t,s(t,h),i(e,t),a(p,t),o(p,t),p}}},98965:function(e,t,r){\"use strict\";var n=r(71828),i=r(47581),a=r(34098),o=r(49508),s=r(11058),l=r(94039),u=r(82410),c=r(28908),f=r(97001);e.exports=function(e,t,r,h){function p(r,i){return n.coerce(e,t,f,r,i)}p(\"carpet\"),t.xaxis=\"x\",t.yaxis=\"y\";var d=p(\"a\"),v=p(\"b\"),g=Math.min(d.length,v.length);if(g){t._length=g,p(\"text\"),p(\"texttemplate\"),p(\"hovertext\"),p(\"mode\",g<i.PTS_LINESONLY?\"lines+markers\":\"lines\"),a.hasLines(t)&&(s(e,t,r,h,p,{backoff:!0}),l(e,t,p),p(\"connectgaps\")),a.hasMarkers(t)&&o(e,t,r,h,p,{gradient:!0}),a.hasText(t)&&u(e,t,h,p);var m=[];(a.hasMarkers(t)||a.hasText(t))&&(p(\"marker.maxdisplayed\"),m.push(\"points\")),p(\"fill\"),\"none\"!==t.fill&&(c(e,t,r,p),a.hasLines(t)||l(e,t,p)),\"tonext\"!==t.fill&&\"toself\"!==t.fill||m.push(\"fills\"),\"fills\"!==p(\"hoveron\",m.join(\"+\")||\"points\")&&p(\"hovertemplate\"),n.coerceSelectionMarkerOpacity(t,p)}else t.visible=!1}},16165:function(e){\"use strict\";e.exports=function(e,t,r,n,i){var a=n[i];return e.a=a.a,e.b=a.b,e.y=a.y,e}},48953:function(e){\"use strict\";e.exports=function(e,t){var r={},n=t._carpet,i=n.ab2ij([e.a,e.b]),a=Math.floor(i[0]),o=i[0]-a,s=Math.floor(i[1]),l=i[1]-s,u=n.evalxy([],a,s,o,l);return r.yLabel=u[1].toFixed(3),r}},22931:function(e,t,r){\"use strict\";var n=r(33720),i=r(71828).fillText;e.exports=function(e,t,r,a){var o=n(e,t,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index){var l=1-s.y0/e.ya._length,u=e.xa._length,c=u*l/2,f=u-c;return s.x0=Math.max(Math.min(s.x0,f),c),s.x1=Math.max(Math.min(s.x1,f),c),o}var h=s.cd[s.index];s.a=h.a,s.b=h.b,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=p._carpet,v=p._module.formatLabels(h,p);s.yLabel=v.yLabel,delete s.text;var g=[];if(!p.hovertemplate){var m=(h.hi||p.hoverinfo).split(\"+\");-1!==m.indexOf(\"all\")&&(m=[\"a\",\"b\",\"text\"]),-1!==m.indexOf(\"a\")&&y(d.aaxis,h.a),-1!==m.indexOf(\"b\")&&y(d.baxis,h.b),g.push(\"y: \"+s.yLabel),-1!==m.indexOf(\"text\")&&i(h,p,g),s.extraText=g.join(\"<br>\")}return o}function y(e,t){var r;r=e.labelprefix&&e.labelprefix.length>0?e.labelprefix.replace(/ = $/,\"\"):e._hovertitle,g.push(r+\": \"+t.toFixed(3)+e.labelsuffix)}}},46858:function(e,t,r){\"use strict\";e.exports={attributes:r(97001),supplyDefaults:r(98965),colorbar:r(4898),formatLabels:r(48953),calc:r(34618),plot:r(1913),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(22931),selectPoints:r(98002),eventData:r(16165),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:r(93612),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}},1913:function(e,t,r){\"use strict\";var n=r(32663),i=r(89298),a=r(91424);e.exports=function(e,t,r,o){var s,l,u,c=r[0][0].carpet,f=i.getFromId(e,c.xaxis||\"x\"),h=i.getFromId(e,c.yaxis||\"y\"),p={xaxis:f,yaxis:h,plot:t.plot};for(s=0;s<r.length;s++)(l=r[s][0].trace)._xA=f,l._yA=h;for(n(e,p,r,o),s=0;s<r.length;s++)l=r[s][0].trace,u=o.selectAll(\"g.trace\"+l.uid+\" .js-line\"),a.setClipUrl(u,r[s][0].carpet._clipPathId,e)}},19316:function(e,t,r){\"use strict\";var n=r(5386).fF,i=r(5386).si,a=r(82196),o=r(9012),s=r(50693),l=r(79952).P,u=r(1426).extendFlat,c=r(30962).overrideAll,f=a.marker,h=a.line,p=f.line;e.exports=c({lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\",\"geojson-id\"],dflt:\"ISO-3\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:{valType:\"string\",editType:\"calc\",dflt:\"id\"},mode:u({},a.mode,{dflt:\"markers\"}),text:u({},a.text,{}),texttemplate:i({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"location\",\"text\"]}),hovertext:u({},a.hovertext,{}),textfont:a.textfont,textposition:a.textposition,line:{color:h.color,width:h.width,dash:l},connectgaps:a.connectgaps,marker:u({symbol:f.symbol,opacity:f.opacity,angle:f.angle,angleref:u({},f.angleref,{values:[\"previous\",\"up\",\"north\"]}),standoff:f.standoff,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,colorbar:f.colorbar,line:u({width:p.width},s(\"marker.line\")),gradient:f.gradient},s(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:a.fillcolor,selected:a.selected,unselected:a.unselected,hoverinfo:u({},o.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]}),hovertemplate:n()},\"calc\",\"nested\")},84622:function(e,t,r){\"use strict\";var n=r(92770),i=r(50606).BADNUM,a=r(36922),o=r(75225),s=r(66279),l=r(71828)._;function u(e){return e&&\"string\"==typeof e}e.exports=function(e,t){var r,c=Array.isArray(t.locations),f=c?t.locations.length:t._length,h=new Array(f);r=t.geojson?function(e){return u(e)||n(e)}:u;for(var p=0;p<f;p++){var d=h[p]={};if(c){var v=t.locations[p];d.loc=r(v)?v:null}else{var g=t.lon[p],m=t.lat[p];n(g)&&n(m)?d.lonlat=[+g,+m]:d.lonlat=[i,i]}}return o(h,t),a(e,t),s(h,t),f&&(h[0].t={labels:{lat:l(e,\"lat:\")+\" \",lon:l(e,\"lon:\")+\" \"}}),h}},10659:function(e,t,r){\"use strict\";var n=r(71828),i=r(34098),a=r(49508),o=r(11058),s=r(82410),l=r(28908),u=r(19316);e.exports=function(e,t,r,c){function f(r,i){return n.coerce(e,t,u,r,i)}var h,p=f(\"locations\");if(p&&p.length){var d,v=f(\"geojson\");(\"string\"==typeof v&&\"\"!==v||n.isPlainObject(v))&&(d=\"geojson-id\"),\"geojson-id\"===f(\"locationmode\",d)&&f(\"featureidkey\"),h=p.length}else{var g=f(\"lon\")||[],m=f(\"lat\")||[];h=Math.min(g.length,m.length)}h?(t._length=h,f(\"text\"),f(\"hovertext\"),f(\"hovertemplate\"),f(\"mode\"),i.hasLines(t)&&(o(e,t,r,c,f),f(\"connectgaps\")),i.hasMarkers(t)&&a(e,t,r,c,f,{gradient:!0}),i.hasText(t)&&(f(\"texttemplate\"),s(e,t,c,f)),f(\"fill\"),\"none\"!==t.fill&&l(e,t,r,f),n.coerceSelectionMarkerOpacity(t,f)):t.visible=!1}},84084:function(e){\"use strict\";e.exports=function(e,t,r,n,i){e.lon=t.lon,e.lat=t.lat,e.location=t.loc?t.loc:null;var a=n[i];return a.fIn&&a.fIn.properties&&(e.properties=a.fIn.properties),e}},82719:function(e,t,r){\"use strict\";var n=r(89298);e.exports=function(e,t,r){var i={},a=r[t.geo]._subplot.mockAxis,o=e.lonlat;return i.lonLabel=n.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=n.tickText(a,a.c2l(o[1]),!0).text,i}},14977:function(e,t,r){\"use strict\";var n=r(30211),i=r(50606).BADNUM,a=r(34603),o=r(71828).fillText,s=r(19316);e.exports=function(e,t,r){var l=e.cd,u=l[0].trace,c=e.xa,f=e.ya,h=e.subplot,p=h.projection.isLonLatOverEdges,d=h.project;if(n.getClosest(l,(function(e){var n=e.lonlat;if(n[0]===i)return 1/0;if(p(n))return 1/0;var a=d(n),o=d([t,r]),s=Math.abs(a[0]-o[0]),l=Math.abs(a[1]-o[1]),u=Math.max(3,e.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-u,1-3/u)}),e),!1!==e.index){var v=l[e.index],g=v.lonlat,m=[c.c2p(g),f.c2p(g)],y=v.mrc||1;e.x0=m[0]-y,e.x1=m[0]+y,e.y0=m[1]-y,e.y1=m[1]+y,e.loc=v.loc,e.lon=g[0],e.lat=g[1];var x={};x[u.geo]={_subplot:h};var b=u._module.formatLabels(v,u,x);return e.lonLabel=b.lonLabel,e.latLabel=b.latLabel,e.color=a(u,v),e.extraText=function(e,t,r,n){if(!e.hovertemplate){var i=t.hi||e.hoverinfo,a=\"all\"===i?s.hoverinfo.flags:i.split(\"+\"),l=-1!==a.indexOf(\"location\")&&Array.isArray(e.locations),u=-1!==a.indexOf(\"lon\"),c=-1!==a.indexOf(\"lat\"),f=-1!==a.indexOf(\"text\"),h=[];return l?h.push(t.loc):u&&c?h.push(\"(\"+p(r.latLabel)+\", \"+p(r.lonLabel)+\")\"):u?h.push(n.lon+p(r.lonLabel)):c&&h.push(n.lat+p(r.latLabel)),f&&o(t,e,h),h.join(\"<br>\")}function p(e){return e+\"°\"}}(u,v,e,l[0].t.labels),e.hovertemplate=u.hovertemplate,[e]}}},17988:function(e,t,r){\"use strict\";e.exports={attributes:r(19316),supplyDefaults:r(10659),colorbar:r(4898),formatLabels:r(82719),calc:r(84622),calcGeoJSON:r(89171).calcGeoJSON,plot:r(89171).plot,style:r(33095),styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(14977),eventData:r(84084),selectPoints:r(20548),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:r(44622),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},89171:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(90973).getTopojsonFeatures,o=r(18214),s=r(41327),l=r(71739).findExtremes,u=r(50606).BADNUM,c=r(47761).calcMarkerSize,f=r(34098),h=r(33095);e.exports={calcGeoJSON:function(e,t){var r,n,i=e[0].trace,o=t[i.geo],f=o._subplot,h=i._length;if(Array.isArray(i.locations)){var p=i.locationmode,d=\"geojson-id\"===p?s.extractTraceFeature(e):a(i,f.topojson);for(r=0;r<h;r++){n=e[r];var v=\"geojson-id\"===p?n.fOut:s.locationToFeature(p,n.loc,d);n.lonlat=v?v.properties.ct:[u,u]}}var g,m,y={padded:!0};if(\"geojson\"===o.fitbounds&&\"geojson-id\"===i.locationmode){var x=s.computeBbox(s.getTraceGeojson(i));g=[x[0],x[2]],m=[x[1],x[3]]}else{for(g=new Array(h),m=new Array(h),r=0;r<h;r++)n=e[r],g[r]=n.lonlat[0],m[r]=n.lonlat[1];y.ppad=c(i,h)}i._extremes.lon=l(o.lonaxis._ax,g,y),i._extremes.lat=l(o.lataxis._ax,m,y)},plot:function(e,t,r){var a=t.layers.frontplot.select(\".scatterlayer\"),s=i.makeTraceGroups(a,r,\"trace scattergeo\");function l(e,t){e.lonlat[0]===u&&n.select(t).remove()}s.selectAll(\"*\").remove(),s.each((function(t){var r=n.select(this),a=t[0].trace;if(f.hasLines(a)||\"none\"!==a.fill){var s=o.calcTraceToLineCoords(t),u=\"none\"!==a.fill?o.makePolygon(s):o.makeLine(s);r.selectAll(\"path.js-line\").data([{geojson:u,trace:a}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}f.hasMarkers(a)&&r.selectAll(\"path.point\").data(i.identity).enter().append(\"path\").classed(\"point\",!0).each((function(e){l(e,this)})),f.hasText(a)&&r.selectAll(\"g\").data(i.identity).enter().append(\"g\").append(\"text\").each((function(e){l(e,this)})),h(e,t)}))}}},20548:function(e,t,r){\"use strict\";var n=r(34098),i=r(50606).BADNUM;e.exports=function(e,t){var r,a,o,s,l,u=e.cd,c=e.xaxis,f=e.yaxis,h=[],p=u[0].trace;if(!n.hasMarkers(p)&&!n.hasText(p))return[];if(!1===t)for(l=0;l<u.length;l++)u[l].selected=0;else for(l=0;l<u.length;l++)(a=(r=u[l]).lonlat)[0]!==i&&(o=c.c2p(a),s=f.c2p(a),t.contains([o,s],null,l,e)?(h.push({pointNumber:l,lon:a[0],lat:a[1]}),r.selected=1):r.selected=0);return h}},33095:function(e,t,r){\"use strict\";var n=r(39898),i=r(91424),a=r(7901),o=r(16296),s=o.stylePoints,l=o.styleText;e.exports=function(e,t){t&&function(e,t){var r=t[0].trace,o=t[0].node3;o.style(\"opacity\",t[0].trace.opacity),s(o,r,e),l(o,r,e),o.selectAll(\"path.js-line\").style(\"fill\",\"none\").each((function(e){var t=n.select(this),r=e.trace,o=r.line||{};t.call(a.stroke,o.color).call(i.dashLine,o.dash||\"\",o.width||0),\"none\"!==r.fill&&t.call(a.fill,r.fillcolor)}))}(e,t)}},42341:function(e,t,r){\"use strict\";var n=r(9012),i=r(82196),a=r(12663).axisHoverFormat,o=r(50693),s=r(78607),l=r(1426).extendFlat,u=r(30962).overrideAll,c=r(78232).DASHES,f=i.line,h=i.marker,p=h.line,d=e.exports=u({x:i.x,x0:i.x0,dx:i.dx,y:i.y,y0:i.y0,dy:i.dy,xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),text:i.text,hovertext:i.hovertext,textposition:i.textposition,textfont:i.textfont,mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},line:{color:f.color,width:f.width,shape:{valType:\"enumerated\",values:[\"linear\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},dash:{valType:\"enumerated\",values:s(c),dflt:\"solid\"}},marker:l({},o(\"marker\"),{symbol:h.symbol,angle:h.angle,size:h.size,sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode,opacity:h.opacity,colorbar:h.colorbar,line:l({},o(\"marker.line\"),{width:p.width})}),connectgaps:i.connectgaps,fill:l({},i.fill,{dflt:\"none\"}),fillcolor:i.fillcolor,selected:{marker:i.selected.marker,textfont:i.selected.textfont},unselected:{marker:i.unselected.marker,textfont:i.unselected.textfont},opacity:n.opacity},\"calc\",\"nested\");d.x.editType=d.y.editType=d.x0.editType=d.y0.editType=\"calc+clearAxisTypes\",d.hovertemplate=i.hovertemplate,d.texttemplate=i.texttemplate},72156:function(e,t,r){\"use strict\";var n=r(20794);e.exports={moduleType:\"trace\",name:\"scattergl\",basePlotModule:r(93612),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],attributes:r(42341),supplyDefaults:r(47148),crossTraceDefaults:r(34936),colorbar:r(4898),formatLabels:r(68101),calc:r(45032),hoverPoints:n.hoverPoints,selectPoints:r(58147),meta:{}}},45032:function(e,t,r){\"use strict\";var n=r(88294),i=r(71828),a=r(41675),o=r(71739).findExtremes,s=r(42973),l=r(47761),u=l.calcMarkerSize,c=l.calcAxisExpansion,f=l.setFirstScatter,h=r(36922),p=r(19635),d=r(38967),v=r(50606).BADNUM,g=r(78232).TOO_MANY_POINTS;function m(e,t,r){var n=e._extremes[t._id],i=o(t,r._bnds,{padded:!0});n.min=n.min.concat(i.min),n.max=n.max.concat(i.max)}e.exports=function(e,t){var r,o=e._fullLayout,l=t._xA=a.getFromId(e,t.xaxis,\"x\"),y=t._yA=a.getFromId(e,t.yaxis,\"y\"),x=o._plots[t.xaxis+t.yaxis],b=t._length,_=b>=g,w=2*b,k={},T=l.makeCalcdata(t,\"x\"),M=y.makeCalcdata(t,\"y\"),A=s(t,l,\"x\",T),S=s(t,y,\"y\",M),E=A.vals,C=S.vals;t._x=E,t._y=C,t.xperiodalignment&&(t._origX=T,t._xStarts=A.starts,t._xEnds=A.ends),t.yperiodalignment&&(t._origY=M,t._yStarts=S.starts,t._yEnds=S.ends);var L=new Array(w),P=new Array(b);for(r=0;r<b;r++)L[2*r]=E[r]===v?NaN:E[r],L[2*r+1]=C[r]===v?NaN:C[r],P[r]=r;if(\"log\"===l.type)for(r=0;r<w;r+=2)L[r]=l.c2l(L[r]);if(\"log\"===y.type)for(r=1;r<w;r+=2)L[r]=y.c2l(L[r]);_&&\"log\"!==l.type&&\"log\"!==y.type?k.tree=n(L):k.ids=P,h(e,t);var O,I=function(e,t,r,n,a,o){var s=p.style(e,r);if(s.marker&&(s.marker.positions=n),s.line&&n.length>1&&i.extendFlat(s.line,p.linePositions(e,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(e,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(e,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(e,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(e,r,s.text,s.markerUnsel))),s}(e,0,t,L,E,C),D=d(e,x);return f(o,t),_?I.marker&&(O=I.marker.sizeAvg||Math.max(I.marker.size,3)):O=u(t,b),c(e,t,l,y,E,C,O),I.errorX&&m(t,l,I.errorX),I.errorY&&m(t,y,I.errorY),I.fill&&!D.fill2d&&(D.fill2d=!0),I.marker&&!D.scatter2d&&(D.scatter2d=!0),I.line&&!D.line2d&&(D.line2d=!0),!I.errorX&&!I.errorY||D.error2d||(D.error2d=!0),I.text&&!D.glText&&(D.glText=!0),I.marker&&(I.marker.snap=b),D.lineOptions.push(I.line),D.errorXOptions.push(I.errorX),D.errorYOptions.push(I.errorY),D.fillOptions.push(I.fill),D.markerOptions.push(I.marker),D.markerSelectedOptions.push(I.markerSel),D.markerUnselectedOptions.push(I.markerUnsel),D.textOptions.push(I.text),D.textSelectedOptions.push(I.textSel),D.textUnselectedOptions.push(I.textUnsel),D.selectBatch.push([]),D.unselectBatch.push([]),k._scene=D,k.index=D.count,k.x=E,k.y=C,k.positions=L,D.count++,[{x:!1,y:!1,t:k,trace:t}]}},78232:function(e){\"use strict\";e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},19635:function(e,t,r){\"use strict\";var n=r(92770),i=r(82019),a=r(25075),o=r(73972),s=r(71828),l=r(91424),u=r(41675),c=r(81697).formatColor,f=r(34098),h=r(39984),p=r(68645),d=r(78232),v=r(37822).DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},m=r(23469).appendArrayPointValue;function y(e,t){var r,i=e._fullLayout,a=t._length,o=t.textfont,l=t.textposition,u=Array.isArray(l)?l:[l],c=o.color,f=o.size,h=o.family,p={},d=e._context.plotGlPixelRatio,v=t.texttemplate;if(v){p.text=[];var g=i._d3locale,y=Array.isArray(v),x=y?Math.min(v.length,a):a,b=y?function(e){return v[e]}:function(){return v};for(r=0;r<x;r++){var _={i:r},w=t._module.formatLabels(_,t,i),k={};m(k,t,r);var T=t._meta||{};p.text.push(s.texttemplateString(b(r),w,g,k,_,T))}}else Array.isArray(t.text)&&t.text.length<a?p.text=t.text.slice():p.text=t.text;if(Array.isArray(p.text))for(r=p.text.length;r<a;r++)p.text[r]=\"\";for(p.opacity=t.opacity,p.font={},p.align=[],p.baseline=[],r=0;r<u.length;r++){var M=u[r].split(/\\s+/);switch(M[1]){case\"left\":p.align.push(\"right\");break;case\"right\":p.align.push(\"left\");break;default:p.align.push(M[1])}switch(M[0]){case\"top\":p.baseline.push(\"bottom\");break;case\"bottom\":p.baseline.push(\"top\");break;default:p.baseline.push(M[0])}}if(Array.isArray(c))for(p.color=new Array(a),r=0;r<a;r++)p.color[r]=c[r];else p.color=c;if(s.isArrayOrTypedArray(f)||Array.isArray(h))for(p.font=new Array(a),r=0;r<a;r++){var A=p.font[r]={};A.size=(s.isTypedArray(f)?f[r]:Array.isArray(f)?n(f[r])?f[r]:0:f)*d,A.family=Array.isArray(h)?h[r]:h}else p.font={size:f*d,family:h};return p}function x(e,t){var r,n,i=t._length,o=t.marker,l={},u=s.isArrayOrTypedArray(o.symbol),f=s.isArrayOrTypedArray(o.angle),d=s.isArrayOrTypedArray(o.color),v=s.isArrayOrTypedArray(o.line.color),g=s.isArrayOrTypedArray(o.opacity),m=s.isArrayOrTypedArray(o.size),y=s.isArrayOrTypedArray(o.line.width);if(u||(n=p.isOpenSymbol(o.symbol)),u||d||v||g||f){l.symbols=new Array(i),l.angles=new Array(i),l.colors=new Array(i),l.borderColors=new Array(i);var x=o.symbol,b=o.angle,_=c(o,o.opacity,i),w=c(o.line,o.opacity,i);if(!Array.isArray(w[0])){var k=w;for(w=Array(i),r=0;r<i;r++)w[r]=k}if(!Array.isArray(_[0])){var T=_;for(_=Array(i),r=0;r<i;r++)_[r]=T}if(!Array.isArray(x)){var M=x;for(x=Array(i),r=0;r<i;r++)x[r]=M}if(!Array.isArray(b)){var A=b;for(b=Array(i),r=0;r<i;r++)b[r]=A}for(l.symbols=x,l.angles=b,l.colors=_,l.borderColors=w,r=0;r<i;r++)u&&(n=p.isOpenSymbol(o.symbol[r])),n&&(w[r]=_[r].slice(),_[r]=_[r].slice(),_[r][3]=0);for(l.opacity=t.opacity,l.markers=new Array(i),r=0;r<i;r++)l.markers[r]=E({mx:l.symbols[r],ma:l.angles[r]},t)}else n?(l.color=a(o.color,\"uint8\"),l.color[3]=0,l.borderColor=a(o.color,\"uint8\")):(l.color=a(o.color,\"uint8\"),l.borderColor=a(o.line.color,\"uint8\")),l.opacity=t.opacity*o.opacity,l.marker=E({mx:o.symbol,ma:o.angle},t);var S,C=h(t,1);if(m||y){var L,P=l.sizes=new Array(i),O=l.borderSizes=new Array(i),I=0;if(m){for(r=0;r<i;r++)P[r]=C(o.size[r]),I+=P[r];L=I/i}else for(S=C(o.size),r=0;r<i;r++)P[r]=S;if(y)for(r=0;r<i;r++)O[r]=o.line.width[r];else for(S=o.line.width,r=0;r<i;r++)O[r]=S;l.sizeAvg=L}else l.size=C(o&&o.size||10),l.borderSizes=C(o.line.width);return l}function b(e,t,r){var n=t.marker,i={};return r?(r.marker&&r.marker.symbol?i=x(0,s.extendFlat({},n,r.marker)):r.marker&&(r.marker.size&&(i.size=r.marker.size),r.marker.color&&(i.colors=r.marker.color),void 0!==r.marker.opacity&&(i.opacity=r.marker.opacity)),i):i}function _(e,t,r){var n={};if(!r)return n;if(r.textfont){var i={opacity:1,text:t.text,texttemplate:t.texttemplate,textposition:t.textposition,textfont:s.extendFlat({},t.textfont)};r.textfont&&s.extendFlat(i.textfont,r.textfont),n=y(e,i)}return n}function w(e,t,r){var n={capSize:2*t.width*r,lineWidth:t.thickness*r,color:t.color};return t.copy_ystyle&&(n=e.error_y),n}var k=d.SYMBOL_SDF_SIZE,T=d.SYMBOL_SIZE,M=d.SYMBOL_STROKE,A={},S=l.symbolFuncs[0](.05*T);function E(e,t){var r,n,a=e.mx;if(\"circle\"===a)return null;var o=l.symbolNumber(a),s=l.symbolFuncs[o%100],u=!!l.symbolNoDot[o%100],c=!!l.symbolNoFill[o%100],f=p.isDotSymbol(a);if(e.ma&&(a+=\"_\"+e.ma),A[a])return A[a];var h=l.getMarkerAngle(e,t);return r=f&&!u?s(1.1*T,h)+S:s(T,h),n=i(r,{w:k,h:k,viewBox:[-T,-T,T,T],stroke:c?M:-M}),A[a]=n,n||null}e.exports={style:function(e,t){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},i=e._context.plotGlPixelRatio;if(!0!==t.visible)return n;if(f.hasText(t)&&(n.text=y(e,t),n.textSel=_(e,t,t.selected),n.textUnsel=_(e,t,t.unselected)),f.hasMarkers(t)&&(n.marker=x(0,t),n.markerSel=b(0,t,t.selected),n.markerUnsel=b(0,t,t.unselected),!t.unselected&&s.isArrayOrTypedArray(t.marker.opacity))){var a=t.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r<a.length;r++)n.markerUnsel.opacity[r]=v*a[r]}if(f.hasLines(t)){n.line={overlay:!0,thickness:t.line.width*i,color:t.line.color,opacity:t.opacity};var o=(d.DASHES[t.line.dash]||[1]).slice();for(r=0;r<o.length;++r)o[r]*=t.line.width*i;n.line.dashes=o}return t.error_x&&t.error_x.visible&&(n.errorX=w(t,t.error_x,i)),t.error_y&&t.error_y.visible&&(n.errorY=w(t,t.error_y,i)),t.fill&&\"none\"!==t.fill&&(n.fill={closed:!0,fill:t.fillcolor,thickness:0}),n},markerStyle:x,markerSelection:b,linePositions:function(e,t,r){var n,i,a=r.length,o=a/2;if(f.hasLines(t)&&o)if(\"hv\"===t.line.shape){for(n=[],i=0;i<o-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*i],r[2*i+1]),isNaN(r[2*i+2])||isNaN(r[2*i+3])?n.push(NaN,NaN):n.push(r[2*i+2],r[2*i+1]));n.push(r[a-2],r[a-1])}else if(\"hvh\"===t.line.shape){for(n=[],i=0;i<o-1;i++)if(isNaN(r[2*i])||isNaN(r[2*i+1])||isNaN(r[2*i+2])||isNaN(r[2*i+3]))isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+1]),n.push(NaN,NaN);else{var s=(r[2*i]+r[2*i+2])/2;n.push(r[2*i],r[2*i+1],s,r[2*i+1],s,r[2*i+3])}n.push(r[a-2],r[a-1])}else if(\"vhv\"===t.line.shape){for(n=[],i=0;i<o-1;i++)if(isNaN(r[2*i])||isNaN(r[2*i+1])||isNaN(r[2*i+2])||isNaN(r[2*i+3]))isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+1]),n.push(NaN,NaN);else{var l=(r[2*i+1]+r[2*i+3])/2;n.push(r[2*i],r[2*i+1],r[2*i],l,r[2*i+2],l)}n.push(r[a-2],r[a-1])}else if(\"vh\"===t.line.shape){for(n=[],i=0;i<o-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*i],r[2*i+1]),isNaN(r[2*i+2])||isNaN(r[2*i+3])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+3]));n.push(r[a-2],r[a-1])}else n=r;var u=!1;for(i=0;i<n.length;i++)if(isNaN(n[i])){u=!0;break}var c=u||n.length>d.TOO_MANY_POINTS||f.hasMarkers(t)?\"rect\":\"round\";if(u&&t.connectgaps){var h=n[0],p=n[1];for(i=0;i<n.length;i+=2)isNaN(n[i])||isNaN(n[i+1])?(n[i]=h,n[i+1]=p):(h=n[i],p=n[i+1])}return{join:c,positions:n}},errorBarPositions:function(e,t,r,i,a){var s=o.getComponentMethod(\"errorbars\",\"makeComputeError\"),l=u.getFromId(e,t.xaxis,\"x\"),c=u.getFromId(e,t.yaxis,\"y\"),f=r.length/2,h={};function p(e,i){var a=i._id.charAt(0),o=t[\"error_\"+a];if(o&&o.visible&&(\"linear\"===i.type||\"log\"===i.type)){for(var l=s(o),u={x:0,y:1}[a],c={x:[0,1,2,3],y:[2,3,0,1]}[a],p=new Float64Array(4*f),d=1/0,v=-1/0,g=0,m=0;g<f;g++,m+=4){var y=e[g];if(n(y)){var x=r[2*g+u],b=l(y,g),_=b[0],w=b[1];if(n(_)&&n(w)){var k=y-_,T=y+w;p[m+c[0]]=x-i.c2l(k),p[m+c[1]]=i.c2l(T)-x,p[m+c[2]]=0,p[m+c[3]]=0,d=Math.min(d,y-_),v=Math.max(v,y+w)}}}h[a]={positions:r,errors:p,_bnds:[d,v]}}}return p(i,l),p(a,c),h},textPosition:function(e,t,r,n){var i,a=t._length,o={};if(f.hasMarkers(t)){var s=r.font,l=r.align,u=r.baseline;for(o.offset=new Array(a),i=0;i<a;i++){var c=n.sizes?n.sizes[i]:n.size,h=Array.isArray(s)?s[i].size:s.size,p=Array.isArray(l)?l.length>1?l[i]:l[0]:l,d=Array.isArray(u)?u.length>1?u[i]:u[0]:u,v=g[p],m=g[d],y=c?c/.8+1:0,x=-m*y-.5*m;o.offset[i]=[v*y/h,x/h]}}return o}}},47148:function(e,t,r){\"use strict\";var n=r(71828),i=r(73972),a=r(68645),o=r(42341),s=r(47581),l=r(34098),u=r(67513),c=r(73927),f=r(49508),h=r(11058),p=r(28908),d=r(82410);e.exports=function(e,t,r,v){function g(r,i){return n.coerce(e,t,o,r,i)}var m=!!e.marker&&a.isOpenSymbol(e.marker.symbol),y=l.isBubble(e),x=u(e,t,v,g);if(x){c(e,t,v,g),g(\"xhoverformat\"),g(\"yhoverformat\");var b=x<s.PTS_LINESONLY?\"lines+markers\":\"lines\";g(\"text\"),g(\"hovertext\"),g(\"hovertemplate\"),g(\"mode\",b),l.hasLines(t)&&(g(\"connectgaps\"),h(e,t,r,v,g),g(\"line.shape\")),l.hasMarkers(t)&&(f(e,t,r,v,g,{noAngleRef:!0,noStandOff:!0}),g(\"marker.line.width\",m||y?1:0)),l.hasText(t)&&(g(\"texttemplate\"),d(e,t,v,g));var _=(t.line||{}).color,w=(t.marker||{}).color;g(\"fill\"),\"none\"!==t.fill&&p(e,t,r,g);var k=i.getComponentMethod(\"errorbars\",\"supplyDefaults\");k(e,t,_||w||r,{axis:\"y\"}),k(e,t,_||w||r,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(t,g)}else t.visible=!1}},5345:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901),a=r(37822).DESELECTDIM;e.exports={styleTextSelection:function(e){var t,r,o=e[0],s=o.trace,l=o.t,u=l._scene,c=l.index,f=u.selectBatch[c],h=u.unselectBatch[c],p=u.textOptions[c],d=u.textSelectedOptions[c]||{},v=u.textUnselectedOptions[c]||{},g=n.extendFlat({},p);if(f.length||h.length){var m=d.color,y=v.color,x=p.color,b=Array.isArray(x);for(g.color=new Array(s._length),t=0;t<f.length;t++)r=f[t],g.color[r]=m||(b?x[r]:x);for(t=0;t<h.length;t++){r=h[t];var _=b?x[r]:x;g.color[r]=y||(m?_:i.addOpacity(_,a))}}u.glText[c].update(g)}}},68101:function(e,t,r){\"use strict\";var n=r(8225);e.exports=function(e,t,r){var i=e.i;return\"x\"in e||(e.x=t._x[i]),\"y\"in e||(e.y=t._y[i]),n(e,t,r)}},68645:function(e,t,r){\"use strict\";var n=r(78232);t.isOpenSymbol=function(e){return\"string\"==typeof e?n.OPEN_RE.test(e):e%200>100},t.isDotSymbol=function(e){return\"string\"==typeof e?n.DOT_RE.test(e):e>200}},20794:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828),a=r(34603);function o(e,t,r,o){var s=e.xa,l=e.ya,u=e.distance,c=e.dxy,f=e.index,h={pointNumber:f,x:t[f],y:r[f]};h.tx=Array.isArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=Array.isArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.ma=i.isArrayOrTypedArray(d.angle)?d.angle[f]:d.angle,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var v=d&&d.line;v&&(h.mlc=Array.isArray(v.color)?v.color[f]:v.color,h.mlw=i.isArrayOrTypedArray(v.width)?v.width[f]:v.width);var g=d&&d.gradient;g&&\"none\"!==g.type&&(h.mgt=Array.isArray(g.type)?g.type[f]:g.type,h.mgc=Array.isArray(g.color)?g.color[f]:g.color);var m=s.c2p(h.x,!0),y=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var k={};k[e.index]=h;var T=o._origX,M=o._origY,A=i.extendFlat({},e,{color:a(o,h),x0:m-x,x1:m+x,xLabelVal:T?T[f]:h.x,y0:y-x,y1:y+x,yLabelVal:M?M[f]:h.y,cd:k,distance:u,spikeDistance:c,hovertemplate:h.ht});return h.htx?A.text=h.htx:h.tx?A.text=h.tx:o.text&&(A.text=o.text),i.fillText(h,o,A),n.getComponentMethod(\"errorbars\",\"hoverInfo\")(h,o,A),A}e.exports={hoverPoints:function(e,t,r,n){var i,a,s,l,u,c,f,h,p,d,v=e.cd,g=v[0].t,m=v[0].trace,y=e.xa,x=e.ya,b=g.x,_=g.y,w=y.c2p(t),k=x.c2p(r),T=e.distance;if(g.tree){var M=y.p2c(w-T),A=y.p2c(w+T),S=x.p2c(k-T),E=x.p2c(k+T);i=\"x\"===n?g.tree.range(Math.min(M,A),Math.min(x._rl[0],x._rl[1]),Math.max(M,A),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(M,A),Math.min(S,E),Math.max(M,A),Math.max(S,E))}else i=g.ids;var C=T;if(\"x\"===n){var L=!!m.xperiodalignment,P=!!m.yperiodalignment;for(c=0;c<i.length;c++){if(l=b[a=i[c]],f=Math.abs(y.c2p(l)-w),L){var O=y.c2p(m._xStarts[a]),I=y.c2p(m._xEnds[a]);f=w>=Math.min(O,I)&&w<=Math.max(O,I)?0:1/0}if(f<C){if(C=f,u=_[a],h=x.c2p(u)-k,P){var D=x.c2p(m._yStarts[a]),z=x.c2p(m._yEnds[a]);h=k>=Math.min(D,z)&&k<=Math.max(D,z)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[c]}}}else for(c=i.length-1;c>-1;c--)l=b[a=i[c]],u=_[a],f=y.c2p(l)-w,h=x.c2p(u)-k,(p=Math.sqrt(f*f+h*h))<C&&(C=d=p,s=a);return e.index=s,e.distance=C,e.dxy=d,void 0===s?[e]:[o(e,b,_,m)]},calcHover:o}},68868:function(e,t,r){\"use strict\";var n=r(72156);n.plot=r(26787),e.exports=n},26787:function(e,t,r){\"use strict\";var n=r(11870),i=r(46075),a=r(3593),o=r(42505),s=r(71828),l=r(64505).selectMode,u=r(79749),c=r(34098),f=r(68687),h=r(5345).styleTextSelection,p={};function d(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,u=i.r*n,c=i.t*n,f=i.w*n,h=i.h*n;return[s+t.domain[0]*f,l+r.domain[0]*h,a-u-(1-t.domain[1])*f,o-c-(1-r.domain[1])*h]}(e.exports=function(e,t,r){if(r.length){var v,g,m=e._fullLayout,y=t._scene,x=t.xaxis,b=t.yaxis;if(y)if(u(e,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],p)){var _=y.count,w=m._glcanvas.data()[0].regl;if(f(e,t,r),y.dirty){if(!0===y.error2d&&(y.error2d=a(w)),!0===y.line2d&&(y.line2d=i(w)),!0===y.scatter2d&&(y.scatter2d=n(w)),!0===y.fill2d&&(y.fill2d=i(w)),!0===y.glText)for(y.glText=new Array(_),v=0;v<_;v++)y.glText[v]=new o(w);if(y.glText){if(_>y.glText.length){var k=_-y.glText.length;for(v=0;v<k;v++)y.glText.push(new o(w))}else if(_<y.glText.length){var T=y.glText.length-_;y.glText.splice(_,T).forEach((function(e){e.destroy()}))}for(v=0;v<_;v++)y.glText[v].update(y.textOptions[v])}if(y.line2d&&(y.line2d.update(y.lineOptions),y.lineOptions=y.lineOptions.map((function(e){if(e&&e.positions){for(var t=e.positions,r=0;r<t.length&&(isNaN(t[r])||isNaN(t[r+1]));)r+=2;for(var n=t.length-2;n>r&&(isNaN(t[n])||isNaN(t[n+1]));)n-=2;e.positions=t.slice(r,n+2)}return e})),y.line2d.update(y.lineOptions)),y.error2d){var M=(y.errorXOptions||[]).concat(y.errorYOptions||[]);y.error2d.update(M)}y.scatter2d&&y.scatter2d.update(y.markerOptions),y.fillOrder=s.repeat(null,_),y.fill2d&&(y.fillOptions=y.fillOptions.map((function(e,t){var n=r[t];if(e&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,u=y.lineOptions[t],c=[];s._ownfill&&c.push(t),s._nexttrace&&c.push(t+1),c.length&&(y.fillOrder[t]=c);var f,h,p=[],d=u&&u.positions||l.positions;if(\"tozeroy\"===s.fill){for(f=0;f<d.length&&isNaN(d[f+1]);)f+=2;for(h=d.length-2;h>f&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if(\"tozerox\"===s.fill){for(f=0;f<d.length&&isNaN(d[f]);)f+=2;for(h=d.length-2;h>f&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if(\"toself\"===s.fill||\"tonext\"===s.fill){for(p=[],i=0,e.splitNull=!0,a=0;a<d.length;a+=2)(isNaN(d[a])||isNaN(d[a+1]))&&((p=p.concat(d.slice(i,a))).push(d[i],d[i+1]),p.push(null,null),i=a+2);p=p.concat(d.slice(i)),i&&p.push(d[i],d[i+1])}else{var v=s._nexttrace;if(v){var g=y.lineOptions[t+1];if(g){var m=g.positions;if(\"tonexty\"===s.fill){for(p=d.slice(),t=Math.floor(m.length/2);t--;){var x=m[2*t],b=m[2*t+1];isNaN(x)||isNaN(b)||p.push(x,b)}e.fill=v.fillcolor}}}}if(s._prevtrace&&\"tonext\"===s._prevtrace.fill){var _=y.lineOptions[t-1].positions,w=p.length/2,k=[i=w];for(a=0;a<_.length;a+=2)(isNaN(_[a])||isNaN(_[a+1]))&&(k.push(a/2+w+1),i=a+2);p=p.concat(_),e.hole=k}return e.fillmode=s.fill,e.opacity=s.opacity,e.positions=p,e}})),y.fill2d.update(y.fillOptions))}var A=m.dragmode,S=l(A),E=m.clickmode.indexOf(\"select\")>-1;for(v=0;v<_;v++){var C=r[v][0],L=C.trace,P=C.t,O=P.index,I=L._length,D=P.x,z=P.y;if(L.selectedpoints||S||E){if(S||(S=!0),L.selectedpoints){var R=y.selectBatch[O]=s.selIndices2selPoints(L),F={};for(g=0;g<R.length;g++)F[R[g]]=1;var B=[];for(g=0;g<I;g++)F[g]||B.push(g);y.unselectBatch[O]=B}var N=P.xpx=new Array(I),j=P.ypx=new Array(I);for(g=0;g<I;g++)N[g]=x.c2p(D[g]),j[g]=b.c2p(z[g])}else P.xpx=P.ypx=null}if(S){if(y.select2d||(y.select2d=n(m._glcanvas.data()[1].regl)),y.scatter2d){var U=new Array(_);for(v=0;v<_;v++)U[v]=y.selectBatch[v].length||y.unselectBatch[v].length?y.markerUnselectedOptions[v]:{};y.scatter2d.update(U)}y.select2d&&(y.select2d.update(y.markerOptions),y.select2d.update(y.markerSelectedOptions)),y.glText&&r.forEach((function(e){var t=((e||[])[0]||{}).trace||{};c.hasText(t)&&h(e)}))}else y.scatter2d&&y.scatter2d.update(y.markerOptions);var V={viewport:d(m,x,b,e._context.plotGlPixelRatio),range:[(x._rl||x.range)[0],(b._rl||b.range)[0],(x._rl||x.range)[1],(b._rl||b.range)[1]]},H=s.repeat(V,y.count);y.fill2d&&y.fill2d.update(H),y.line2d&&y.line2d.update(H),y.error2d&&y.error2d.update(H.concat(H)),y.scatter2d&&y.scatter2d.update(H),y.select2d&&y.select2d.update(H),y.glText&&y.glText.forEach((function(e){e.update(V)}))}else y.init()}}).reglPrecompiled=p},38967:function(e,t,r){\"use strict\";var n=r(71828);e.exports=function(e,t){var r=t._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return t._scene||((r=t._scene={}).init=function(){n.extendFlat(r,a,i)},r.init(),r.update=function(e){var t=n.repeat(e,r.count);if(r.fill2d&&r.fill2d.update(t),r.scatter2d&&r.scatter2d.update(t),r.line2d&&r.line2d.update(t),r.error2d&&r.error2d.update(t.concat(t)),r.select2d&&r.select2d.update(t),r.glText)for(var i=0;i<r.count;i++)r.glText[i].update(e)},r.draw=function(){for(var e=r.count,t=r.fill2d,i=r.error2d,a=r.line2d,o=r.scatter2d,s=r.glText,l=r.select2d,u=r.selectBatch,c=r.unselectBatch,f=0;f<e;f++){if(t&&r.fillOrder[f]&&t.draw(r.fillOrder[f]),a&&r.lineOptions[f]&&a.draw(f),i&&(r.errorXOptions[f]&&i.draw(f),r.errorYOptions[f]&&i.draw(f+e)),o&&r.markerOptions[f])if(c[f].length){var h=n.repeat([],r.count);h[f]=c[f],o.draw(h)}else u[f].length||o.draw(f);s[f]&&r.textOptions[f]&&s[f].render()}l&&l.draw(u),r.dirty=!1},r.destroy=function(){r.fill2d&&r.fill2d.destroy&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy&&r.error2d.destroy(),r.line2d&&r.line2d.destroy&&r.line2d.destroy(),r.select2d&&r.select2d.destroy&&r.select2d.destroy(),r.glText&&r.glText.forEach((function(e){e.destroy&&e.destroy()})),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.markerSelectedOptions=null,r.markerUnselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.textOptions=null,r.textSelectedOptions=null,r.textUnselectedOptions=null,r.selectBatch=null,r.unselectBatch=null,t._scene=null}),r.dirty||n.extendFlat(r,i),r}},58147:function(e,t,r){\"use strict\";var n=r(34098),i=r(5345).styleTextSelection;e.exports=function(e,t){var r=e.cd,a=e.xaxis,o=e.yaxis,s=[],l=r[0].trace,u=r[0].t,c=l._length,f=u.x,h=u.y,p=u._scene,d=u.index;if(!p)return s;var v=n.hasText(l),g=n.hasMarkers(l),m=!g&&!v;if(!0!==l.visible||m)return s;var y=[],x=[];if(!1!==t&&!t.degenerate)for(var b=0;b<c;b++)t.contains([u.xpx[b],u.ypx[b]],!1,b,e)?(y.push(b),s.push({pointNumber:b,x:a.c2d(f[b]),y:o.c2d(h[b])})):x.push(b);if(g){var _=p.scatter2d;if(y.length||x.length){if(!p.selectBatch[d].length&&!p.unselectBatch[d].length){var w=new Array(p.count);w[d]=p.markerUnselectedOptions[d],_.update.apply(_,w)}}else{var k=new Array(p.count);k[d]=p.markerOptions[d],_.update.apply(_,k)}}return p.selectBatch[d]=y,p.unselectBatch[d]=x,v&&i(r),s}},99181:function(e,t,r){\"use strict\";var n=r(5386).fF,i=r(5386).si,a=r(19316),o=r(82196),s=r(23585),l=r(9012),u=r(50693),c=r(1426).extendFlat,f=r(30962).overrideAll,h=r(23585),p=a.line,d=a.marker;e.exports=f({lon:a.lon,lat:a.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:c({},h.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:c({},d.opacity,{dflt:1})},mode:c({},o.mode,{dflt:\"markers\"}),text:c({},o.text,{}),texttemplate:i({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:c({},o.hovertext,{}),line:{color:p.color,width:p.width},connectgaps:o.connectgaps,marker:c({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:d.opacity,size:d.size,sizeref:d.sizeref,sizemin:d.sizemin,sizemode:d.sizemode},u(\"marker\")),fill:a.fill,fillcolor:o.fillcolor,textfont:s.layers.symbol.textfont,textposition:s.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:o.selected.marker},unselected:{marker:o.unselected.marker},hoverinfo:c({},l.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:n()},\"calc\",\"nested\")},15790:function(e,t,r){\"use strict\";var n=r(92770),i=r(71828),a=r(50606).BADNUM,o=r(18214),s=r(21081),l=r(91424),u=r(39984),c=r(34098),f=r(13056),h=r(23469).appendArrayPointValue,p=r(63893).NEWLINES,d=r(63893).BR_TAG_ALL;function v(e){return{type:e,geojson:o.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function g(e,t){return i.isArrayOrTypedArray(e)?t?function(t){return n(e[t])?+e[t]:0}:function(t){return e[t]}:e?function(){return e}:m}function m(){return\"\"}function y(e){return e[0]===a}function x(e,t){var r;if(i.isArrayOrTypedArray(e)&&i.isArrayOrTypedArray(t)){r=[\"step\",[\"get\",\"point_count\"],e[0]];for(var n=1;n<e.length;n++)r.push(t[n-1],e[n])}else r=e;return r}e.exports=function(e,t){var r,a=t[0].trace,b=!0===a.visible&&0!==a._length,_=\"none\"!==a.fill,w=c.hasLines(a),k=c.hasMarkers(a),T=c.hasText(a),M=k&&\"circle\"===a.marker.symbol,A=k&&\"circle\"!==a.marker.symbol,S=a.cluster&&a.cluster.enabled,E=v(\"fill\"),C=v(\"line\"),L=v(\"circle\"),P=v(\"symbol\"),O={fill:E,line:C,circle:L,symbol:P};if(!b)return O;if((_||w)&&(r=o.calcTraceToLineCoords(t)),_&&(E.geojson=o.makePolygon(r),E.layout.visibility=\"visible\",i.extendFlat(E.paint,{\"fill-color\":a.fillcolor})),w&&(C.geojson=o.makeLine(r),C.layout.visibility=\"visible\",i.extendFlat(C.paint,{\"line-width\":a.line.width,\"line-color\":a.line.color,\"line-opacity\":a.opacity})),M){var I=function(e){var t,r,a,o,c=e[0].trace,f=c.marker,h=c.selectedpoints,p=i.isArrayOrTypedArray(f.color),d=i.isArrayOrTypedArray(f.size),v=i.isArrayOrTypedArray(f.opacity);function g(e){return c.opacity*e}p&&(r=s.hasColorscale(c,\"marker\")?s.makeColorScaleFuncFromTrace(f):i.identity),d&&(a=u(c)),v&&(o=function(e){return g(n(e)?+i.constrain(e,0,1):0)});var m,x,b=[];for(t=0;t<e.length;t++){var _=e[t],w=_.lonlat;if(!y(w)){var k={};r&&(k.mcc=_.mcc=r(_.mc)),a&&(k.mrc=_.mrc=a(_.ms)),o&&(k.mo=o(_.mo)),h&&(k.selected=_.selected||0),b.push({type:\"Feature\",id:t+1,geometry:{type:\"Point\",coordinates:w},properties:k})}}if(h)for(m=l.makeSelectedPointStyleFns(c),t=0;t<b.length;t++){var T=b[t].properties;m.selectedOpacityFn&&(T.mo=g(m.selectedOpacityFn(T))),m.selectedColorFn&&(T.mcc=m.selectedColorFn(T)),m.selectedSizeFn&&(T.mrc=m.selectedSizeFn(T))}return{geojson:{type:\"FeatureCollection\",features:b},mcc:p||m&&m.selectedColorFn?{type:\"identity\",property:\"mcc\"}:f.color,mrc:d||m&&m.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:(x=f.size,x/2),mo:v||m&&m.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:g(f.opacity)}}(t);L.geojson=I.geojson,L.layout.visibility=\"visible\",S&&(L.filter=[\"!\",[\"has\",\"point_count\"]],O.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":x(a.cluster.color,a.cluster.step),\"circle-radius\":x(a.cluster.size,a.cluster.step),\"circle-opacity\":x(a.cluster.opacity,a.cluster.step)}},O.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],\"text-size\":12}}),i.extendFlat(L.paint,{\"circle-color\":I.mcc,\"circle-radius\":I.mrc,\"circle-opacity\":I.mo})}if(M&&S&&(L.filter=[\"!\",[\"has\",\"point_count\"]]),(A||T)&&(P.geojson=function(e,t){for(var r=t._fullLayout,n=e[0].trace,a=n.marker||{},o=a.symbol,s=a.angle,l=\"circle\"!==o?g(o):m,u=\"auto\"!==s?g(s,!0):m,f=c.hasText(n)?g(n.text):m,v=[],x=0;x<e.length;x++){var b=e[x];if(!y(b.lonlat)){var _,w=n.texttemplate;if(w){var k=Array.isArray(w)?w[x]||\"\":w,T=n._module.formatLabels(b,n,r),M={};h(M,n,b.i);var A=n._meta||{};_=i.texttemplateString(k,T,r._d3locale,M,b,A)}else _=f(x);_&&(_=_.replace(p,\"\").replace(d,\"\\n\")),v.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:b.lonlat},properties:{symbol:l(x),angle:u(x),text:_}})}}return{type:\"FeatureCollection\",features:v}}(t,e),i.extendFlat(P.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),A&&(i.extendFlat(P.layout,{\"icon-size\":a.marker.size/10}),\"angle\"in a.marker&&\"auto\"!==a.marker.angle&&i.extendFlat(P.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),P.layout[\"icon-allow-overlap\"]=a.marker.allowoverlap,i.extendFlat(P.paint,{\"icon-opacity\":a.opacity*a.marker.opacity,\"icon-color\":a.marker.color})),T)){var D=(a.marker||{}).size,z=f(a.textposition,D);i.extendFlat(P.layout,{\"text-size\":a.textfont.size,\"text-anchor\":z.anchor,\"text-offset\":z.offset,\"text-font\":a.textfont.family.split(\", \")}),i.extendFlat(P.paint,{\"text-color\":a.textfont.color,\"text-opacity\":a.opacity})}return O}},76645:function(e,t,r){\"use strict\";var n=r(71828),i=r(34098),a=r(49508),o=r(11058),s=r(82410),l=r(28908),u=r(99181),c=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extra Bold Italic\",\"Open Sans Extra Bold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];e.exports=function(e,t,r,f){function h(r,i){return n.coerce(e,t,u,r,i)}function p(r,i){return n.coerce2(e,t,u,r,i)}var d=function(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}(0,t,h);if(d){if(h(\"text\"),h(\"texttemplate\"),h(\"hovertext\"),h(\"hovertemplate\"),h(\"mode\"),h(\"below\"),i.hasLines(t)&&(o(e,t,r,f,h,{noDash:!0}),h(\"connectgaps\")),i.hasMarkers(t)){a(e,t,r,f,h,{noLine:!0,noAngle:!0}),h(\"marker.allowoverlap\"),h(\"marker.angle\");var v=t.marker;\"circle\"!==v.symbol&&(n.isArrayOrTypedArray(v.size)&&(v.size=v.size[0]),n.isArrayOrTypedArray(v.color)&&(v.color=v.color[0]))}var g=p(\"cluster.maxzoom\"),m=p(\"cluster.step\"),y=p(\"cluster.color\",t.marker&&t.marker.color||r),x=p(\"cluster.size\"),b=p(\"cluster.opacity\");h(\"cluster.enabled\",!1!==g||!1!==m||!1!==y||!1!==x||!1!==b),i.hasText(t)&&s(e,t,f,h,{noSelect:!0,font:{family:-1!==c.indexOf(f.font.family)?f.font.family:\"Open Sans Regular\",size:f.font.size,color:f.font.color}}),h(\"fill\"),\"none\"!==t.fill&&l(e,t,r,h),n.coerceSelectionMarkerOpacity(t,h)}else t.visible=!1}},53353:function(e){\"use strict\";e.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e}},15636:function(e,t,r){\"use strict\";var n=r(89298);e.exports=function(e,t,r){var i={},a=r[t.subplot]._subplot.mockAxis,o=e.lonlat;return i.lonLabel=n.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=n.tickText(a,a.c2l(o[1]),!0).text,i}},28178:function(e,t,r){\"use strict\";var n=r(30211),i=r(71828),a=r(34603),o=i.fillText,s=r(50606).BADNUM,l=r(77734).traceLayerPrefix;function u(e,t,r){if(!e.hovertemplate){var n=(t.hi||e.hoverinfo).split(\"+\"),i=-1!==n.indexOf(\"all\"),a=-1!==n.indexOf(\"lon\"),s=-1!==n.indexOf(\"lat\"),l=t.lonlat,u=[];return i||a&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):a?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(i||-1!==n.indexOf(\"text\"))&&o(t,e,u),u.join(\"<br>\")}function c(e){return e+\"°\"}}e.exports={hoverPoints:function(e,t,r){var o=e.cd,c=o[0].trace,f=e.xa,h=e.ya,p=e.subplot,d=[],v=l+c.uid+\"-circle\",g=c.cluster&&c.cluster.enabled;if(g){var m=p.map.queryRenderedFeatures(null,{layers:[v]});d=m.map((function(e){return e.id}))}var y=360*(t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360)),x=t-y;if(n.getClosest(o,(function(e){var t=e.lonlat;if(t[0]===s)return 1/0;if(g&&-1===d.indexOf(e.i+1))return 1/0;var n=i.modHalf(t[0],360),a=t[1],o=p.project([n,a]),l=o.x-f.c2p([x,a]),u=o.y-h.c2p([n,r]),c=Math.max(3,e.mrc||0);return Math.max(Math.sqrt(l*l+u*u)-c,1-3/c)}),e),!1!==e.index){var b=o[e.index],_=b.lonlat,w=[i.modHalf(_[0],360)+y,_[1]],k=f.c2p(w),T=h.c2p(w),M=b.mrc||1;e.x0=k-M,e.x1=k+M,e.y0=T-M,e.y1=T+M;var A={};A[c.subplot]={_subplot:p};var S=c._module.formatLabels(b,c,A);return e.lonLabel=S.lonLabel,e.latLabel=S.latLabel,e.color=a(c,b),e.extraText=u(c,b,o[0].t.labels),e.hovertemplate=c.hovertemplate,[e]}},getExtraText:u}},20467:function(e,t,r){\"use strict\";e.exports={attributes:r(99181),supplyDefaults:r(76645),colorbar:r(4898),formatLabels:r(15636),calc:r(84622),plot:r(86951),hoverPoints:r(28178).hoverPoints,eventData:r(53353),selectPoints:r(86387),styleOnSelect:function(e,t){t&&t[0].trace._glTrace.update(t)},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:r(50101),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},86951:function(e,t,r){\"use strict\";var n=r(71828),i=r(15790),a=r(77734).traceLayerPrefix,o={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function s(e,t,r,n){this.type=\"scattermapbox\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:a+t+\"-fill\",line:a+t+\"-line\",circle:a+t+\"-circle\",symbol:a+t+\"-symbol\",cluster:a+t+\"-cluster\",clusterCount:a+t+\"-cluster-count\"},this.below=null}var l=s.prototype;l.addSource=function(e,t,r){var i={type:\"geojson\",data:t.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[e]);a?a.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],i)},l.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)},l.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i,a=this.layerIds[e],o=this.subplot.getMapLayers(),s=0;s<o.length;s++)if(o[s].id===a){i=!0;break}i?(this.subplot.setOptions(a,\"setLayoutProperty\",n.layout),\"visible\"===n.layout.visibility&&this.subplot.setOptions(a,\"setPaintProperty\",n.paint)):this.subplot.addLayer(n,r)},l.update=function(e){var t=e[0].trace,r=this.subplot,n=r.map,a=i(r.gd,e),s=r.belowLookup[\"trace-\"+this.uid],l=!(!t.cluster||!t.cluster.enabled),u=!!this.clusterEnabled,c=this;function f(e){u?function(e){for(var t=o.cluster,r=t.length-1;r>=0;r--){var i=t[r];n.removeLayer(c.layerIds[i])}e||n.removeSource(c.sourceIds.circle)}(e):function(e){for(var t=o.nonCluster,r=t.length-1;r>=0;r--){var i=t[r];n.removeLayer(c.layerIds[i]),e||n.removeSource(c.sourceIds[i])}}(e)}function h(e){l?function(e){e||c.addSource(\"circle\",a.circle,t.cluster);for(var r=o.cluster,n=0;n<r.length;n++){var i=r[n],l=a[i];c.addLayer(i,l,s)}}(e):function(e){for(var t=o.nonCluster,r=0;r<t.length;r++){var n=t[r],i=a[n];e||c.addSource(n,i),c.addLayer(n,i,s)}}(e)}function p(){for(var e=l?o.cluster:o.nonCluster,t=0;t<e.length;t++){var n=e[t],i=a[n];i&&(r.setOptions(c.layerIds[n],\"setLayoutProperty\",i.layout),\"visible\"===i.layout.visibility&&(\"cluster\"!==n&&c.setSourceData(n,i),r.setOptions(c.layerIds[n],\"setPaintProperty\",i.paint)))}}var d=this.isHidden,v=!0!==t.visible;v?d||f():d?v||h():u!==l?(f(),h()):this.below!==s?(f(!0),h(!0),p()):p(),this.clusterEnabled=l,this.isHidden=v,this.below=s,e[0].trace._glTrace=this},l.dispose=function(){for(var e=this.subplot.map,t=this.clusterEnabled?o.cluster:o.nonCluster,r=t.length-1;r>=0;r--){var n=t[r];e.removeLayer(this.layerIds[n]),e.removeSource(this.sourceIds[n])}},e.exports=function(e,t){var r,n,a,l=t[0].trace,u=l.cluster&&l.cluster.enabled,c=!0!==l.visible,f=new s(e,l.uid,u,c),h=i(e.gd,t),p=f.below=e.belowLookup[\"trace-\"+l.uid];if(u)for(f.addSource(\"circle\",h.circle,l.cluster),r=0;r<o.cluster.length;r++)a=h[n=o.cluster[r]],f.addLayer(n,a,p);else for(r=0;r<o.nonCluster.length;r++)a=h[n=o.nonCluster[r]],f.addSource(n,a,l.cluster),f.addLayer(n,a,p);return t[0].trace._glTrace=f,f}},86387:function(e,t,r){\"use strict\";var n=r(71828),i=r(34098),a=r(50606).BADNUM;e.exports=function(e,t){var r,o=e.cd,s=e.xaxis,l=e.yaxis,u=[],c=o[0].trace;if(!i.hasMarkers(c))return[];if(!1===t)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++){var f=o[r],h=f.lonlat;if(h[0]!==a){var p=[n.modHalf(h[0],360),h[1]],d=[s.c2p(p),l.c2p(p)];t.contains(d,null,r,e)?(u.push({pointNumber:r,lon:h[0],lat:h[1]}),f.selected=1):f.selected=0}}return u}},81245:function(e,t,r){\"use strict\";var n=r(5386).fF,i=r(5386).si,a=r(1426).extendFlat,o=r(82196),s=r(9012),l=o.line;e.exports={mode:o.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},r0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dr:{valType:\"number\",dflt:1,editType:\"calc\"},theta0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dtheta:{valType:\"number\",editType:\"calc\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:o.text,texttemplate:i({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,backoff:l.backoff,shape:a({},l.shape,{values:[\"linear\",\"spline\"]}),smoothing:l.smoothing,editType:\"calc\"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:a({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:a({},o.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:o.fillcolor,hoverinfo:a({},s.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},26442:function(e,t,r){\"use strict\";var n=r(92770),i=r(50606).BADNUM,a=r(89298),o=r(36922),s=r(75225),l=r(66279),u=r(47761).calcMarkerSize;e.exports=function(e,t){for(var r=e._fullLayout,c=t.subplot,f=r[c].radialaxis,h=r[c].angularaxis,p=f.makeCalcdata(t,\"r\"),d=h.makeCalcdata(t,\"theta\"),v=t._length,g=new Array(v),m=0;m<v;m++){var y=p[m],x=d[m],b=g[m]={};n(y)&&n(x)?(b.r=y,b.theta=x):b.r=i}var _=u(t,v);return t._extremes.x=a.findExtremes(f,p,{ppad:_}),o(e,t),s(g,t),l(g,t),g}},22184:function(e,t,r){\"use strict\";var n=r(71828),i=r(34098),a=r(49508),o=r(11058),s=r(94039),l=r(82410),u=r(28908),c=r(47581).PTS_LINESONLY,f=r(81245);function h(e,t,r,n){var i,a=n(\"r\"),o=n(\"theta\");if(a)o?i=Math.min(a.length,o.length):(i=a.length,n(\"theta0\"),n(\"dtheta\"));else{if(!o)return 0;i=t.theta.length,n(\"r0\"),n(\"dr\")}return t._length=i,i}e.exports={handleRThetaDefaults:h,supplyDefaults:function(e,t,r,p){function d(r,i){return n.coerce(e,t,f,r,i)}var v=h(0,t,0,d);if(v){d(\"thetaunit\"),d(\"mode\",v<c?\"lines+markers\":\"lines\"),d(\"text\"),d(\"hovertext\"),\"fills\"!==t.hoveron&&d(\"hovertemplate\"),i.hasLines(t)&&(o(e,t,r,p,d,{backoff:!0}),s(e,t,d),d(\"connectgaps\")),i.hasMarkers(t)&&a(e,t,r,p,d,{gradient:!0}),i.hasText(t)&&(d(\"texttemplate\"),l(e,t,p,d));var g=[];(i.hasMarkers(t)||i.hasText(t))&&(d(\"cliponaxis\"),d(\"marker.maxdisplayed\"),g.push(\"points\")),d(\"fill\"),\"none\"!==t.fill&&(u(e,t,r,d),i.hasLines(t)||s(e,t,d)),\"tonext\"!==t.fill&&\"toself\"!==t.fill||g.push(\"fills\"),d(\"hoveron\",g.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(t,d)}else t.visible=!1}}},98608:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298);e.exports=function(e,t,r){var a,o,s={},l=r[t.subplot]._subplot;l?(a=l.radialAxis,o=l.angularAxis):(a=(l=r[t.subplot]).radialaxis,o=l.angularaxis);var u=a.c2l(e.r);s.rLabel=i.tickText(a,u,!0).text;var c=\"degrees\"===o.thetaunit?n.rad2deg(e.theta):e.theta;return s.thetaLabel=i.tickText(o,c,!0).text,s}},59150:function(e,t,r){\"use strict\";var n=r(33720);function i(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"r\",a._hovertitle=\"θ\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=e.hi||t.hoverinfo,u=[];function c(e,t){u.push(e._hovertitle+\": \"+t)}if(!t.hovertemplate){var f=l.split(\"+\");-1!==f.indexOf(\"all\")&&(f=[\"r\",\"theta\",\"text\"]),-1!==f.indexOf(\"r\")&&c(i,n.rLabel),-1!==f.indexOf(\"theta\")&&c(a,n.thetaLabel),-1!==f.indexOf(\"text\")&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"<br>\")}}e.exports={hoverPoints:function(e,t,r,a){var o=n(e,t,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=e.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},91271:function(e,t,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:r(23580),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:r(81245),supplyDefaults:r(22184).supplyDefaults,colorbar:r(4898),formatLabels:r(98608),calc:r(26442),plot:r(45162),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(59150).hoverPoints,selectPoints:r(98002),meta:{}}},45162:function(e,t,r){\"use strict\";var n=r(32663),i=r(50606).BADNUM;e.exports=function(e,t,r){for(var a=t.layers.frontplot.select(\"g.scatterlayer\"),o=t.xaxis,s=t.yaxis,l={xaxis:o,yaxis:s,plot:t.framework,layerClipId:t._hasClipOnAxisFalse?t.clipIds.forTraces:null},u=t.radialAxis,c=t.angularAxis,f=0;f<r.length;f++)for(var h=r[f],p=0;p<h.length;p++){0===p&&(h[0].trace._xA=o,h[0].trace._yA=s);var d=h[p],v=d.r;if(v===i)d.x=d.y=i;else{var g=u.c2g(v),m=c.c2g(d.theta);d.x=g*Math.cos(m),d.y=g*Math.sin(m)}}n(e,l,r,a)}},53286:function(e,t,r){\"use strict\";var n=r(81245),i=r(42341),a=r(5386).si;e.exports={mode:n.mode,r:n.r,theta:n.theta,r0:n.r0,dr:n.dr,theta0:n.theta0,dtheta:n.dtheta,thetaunit:n.thetaunit,text:n.text,texttemplate:a({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:n.hovertext,hovertemplate:n.hovertemplate,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,textposition:i.textposition,textfont:i.textfont,hoverinfo:n.hoverinfo,selected:n.selected,unselected:n.unselected}},65746:function(e,t,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:r(23580),categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:r(53286),supplyDefaults:r(75485),colorbar:r(4898),formatLabels:r(46255),calc:r(37499),hoverPoints:r(29347).hoverPoints,selectPoints:r(58147),meta:{}}},37499:function(e,t,r){\"use strict\";var n=r(36922),i=r(47761).calcMarkerSize,a=r(19635),o=r(89298),s=r(78232).TOO_MANY_POINTS;e.exports=function(e,t){var r=e._fullLayout,l=t.subplot,u=r[l].radialaxis,c=r[l].angularaxis,f=t._r=u.makeCalcdata(t,\"r\"),h=t._theta=c.makeCalcdata(t,\"theta\"),p=t._length,d={};p<f.length&&(f=f.slice(0,p)),p<h.length&&(h=h.slice(0,p)),d.r=f,d.theta=h,n(e,t);var v,g=d.opts=a.style(e,t);return p<s?v=i(t,p):g.marker&&(v=2*(g.marker.sizeAvg||Math.max(g.marker.size,3))),t._extremes.x=o.findExtremes(u,f,{ppad:v}),[{x:!1,y:!1,t:d,trace:t}]}},75485:function(e,t,r){\"use strict\";var n=r(71828),i=r(34098),a=r(22184).handleRThetaDefaults,o=r(49508),s=r(11058),l=r(82410),u=r(28908),c=r(47581).PTS_LINESONLY,f=r(53286);e.exports=function(e,t,r,h){function p(r,i){return n.coerce(e,t,f,r,i)}var d=a(e,t,h,p);d?(p(\"thetaunit\"),p(\"mode\",d<c?\"lines+markers\":\"lines\"),p(\"text\"),p(\"hovertext\"),\"fills\"!==t.hoveron&&p(\"hovertemplate\"),i.hasLines(t)&&(s(e,t,r,h,p),p(\"connectgaps\")),i.hasMarkers(t)&&o(e,t,r,h,p,{noAngleRef:!0,noStandOff:!0}),i.hasText(t)&&(p(\"texttemplate\"),l(e,t,h,p)),p(\"fill\"),\"none\"!==t.fill&&u(e,t,r,p),n.coerceSelectionMarkerOpacity(t,p)):t.visible=!1}},46255:function(e,t,r){\"use strict\";var n=r(98608);e.exports=function(e,t,r){var i=e.i;return\"r\"in e||(e.r=t._r[i]),\"theta\"in e||(e.theta=t._theta[i]),n(e,t,r)}},29347:function(e,t,r){\"use strict\";var n=r(20794),i=r(59150).makeHoverPointText;e.exports={hoverPoints:function(e,t,r,a){var o=e.cd[0].t,s=o.r,l=o.theta,u=n.hoverPoints(e,t,r,a);if(u&&!1!==u[0].index){var c=u[0];if(void 0===c.index)return u;var f=e.subplot,h=c.cd[c.index],p=c.trace;if(h.r=s[c.index],h.theta=l[c.index],f.isPtInside(h))return c.xLabelVal=void 0,c.yLabelVal=void 0,i(h,p,f,c),u}}}},21461:function(e,t,r){\"use strict\";var n=r(65746);n.plot=r(49741),e.exports=n},49741:function(e,t,r){\"use strict\";var n=r(88294),i=r(92770),a=r(26787),o=r(38967),s=r(19635),l=r(71828),u=r(78232).TOO_MANY_POINTS;e.exports=function(e,t,r){if(r.length){var c=t.radialAxis,f=t.angularAxis,h=o(e,t);return r.forEach((function(r){if(r&&r[0]&&r[0].trace){var a,o=r[0],p=o.trace,d=o.t,v=p._length,g=d.r,m=d.theta,y=d.opts,x=g.slice(),b=m.slice();for(a=0;a<g.length;a++)t.isPtInside({r:g[a],theta:m[a]})||(x[a]=NaN,b[a]=NaN);var _=new Array(2*v),w=Array(v),k=Array(v);for(a=0;a<v;a++){var T,M,A=x[a];if(i(A)){var S=c.c2g(A),E=f.c2g(b[a],p.thetaunit);T=S*Math.cos(E),M=S*Math.sin(E)}else T=M=NaN;w[a]=_[2*a]=T,k[a]=_[2*a+1]=M}d.tree=n(_),y.marker&&v>=u&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&l.extendFlat(y.line,s.linePositions(e,p,_)),y.text&&(l.extendFlat(y.text,{positions:_},s.textPosition(e,p,y.text,y.marker)),l.extendFlat(y.textSel,{positions:_},s.textPosition(e,p,y.text,y.markerSel)),l.extendFlat(y.textUnsel,{positions:_},s.textPosition(e,p,y.text,y.markerUnsel))),y.fill&&!h.fill2d&&(h.fill2d=!0),y.marker&&!h.scatter2d&&(h.scatter2d=!0),y.line&&!h.line2d&&(h.line2d=!0),y.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(y.line),h.fillOptions.push(y.fill),h.markerOptions.push(y.marker),h.markerSelectedOptions.push(y.markerSel),h.markerUnselectedOptions.push(y.markerUnsel),h.textOptions.push(y.text),h.textSelectedOptions.push(y.textSel),h.textUnselectedOptions.push(y.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=k,d.rawx=w,d.rawy=k,d.r=g,d.theta=m,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(e,t,r)}},e.exports.reglPrecompiled={}},48300:function(e,t,r){\"use strict\";var n=r(5386).fF,i=r(5386).si,a=r(1426).extendFlat,o=r(82196),s=r(9012),l=o.line;e.exports={mode:o.mode,real:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},imag:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:o.text,texttemplate:i({editType:\"plot\"},{keys:[\"real\",\"imag\",\"text\"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,backoff:l.backoff,shape:a({},l.shape,{values:[\"linear\",\"spline\"]}),smoothing:l.smoothing,editType:\"calc\"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:a({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:a({},o.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:o.fillcolor,hoverinfo:a({},s.hoverinfo,{flags:[\"real\",\"imag\",\"text\",\"name\"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},30621:function(e,t,r){\"use strict\";var n=r(92770),i=r(50606).BADNUM,a=r(36922),o=r(75225),s=r(66279),l=r(47761).calcMarkerSize;e.exports=function(e,t){for(var r=e._fullLayout,u=t.subplot,c=r[u].realaxis,f=r[u].imaginaryaxis,h=c.makeCalcdata(t,\"real\"),p=f.makeCalcdata(t,\"imag\"),d=t._length,v=new Array(d),g=0;g<d;g++){var m=h[g],y=p[g],x=v[g]={};n(m)&&n(y)?(x.real=m,x.imag=y):x.real=i}return l(t,d),a(e,t),o(v,t),s(v,t),v}},65269:function(e,t,r){\"use strict\";var n=r(71828),i=r(34098),a=r(49508),o=r(11058),s=r(94039),l=r(82410),u=r(28908),c=r(47581).PTS_LINESONLY,f=r(48300);e.exports=function(e,t,r,h){function p(r,i){return n.coerce(e,t,f,r,i)}var d=function(e,t,r,n){var i,a=n(\"real\"),o=n(\"imag\");return a&&o&&(i=Math.min(a.length,o.length)),t._length=i,i}(0,t,0,p);if(d){p(\"mode\",d<c?\"lines+markers\":\"lines\"),p(\"text\"),p(\"hovertext\"),\"fills\"!==t.hoveron&&p(\"hovertemplate\"),i.hasLines(t)&&(o(e,t,r,h,p,{backoff:!0}),s(e,t,p),p(\"connectgaps\")),i.hasMarkers(t)&&a(e,t,r,h,p,{gradient:!0}),i.hasText(t)&&(p(\"texttemplate\"),l(e,t,h,p));var v=[];(i.hasMarkers(t)||i.hasText(t))&&(p(\"cliponaxis\"),p(\"marker.maxdisplayed\"),v.push(\"points\")),p(\"fill\"),\"none\"!==t.fill&&(u(e,t,r,p),i.hasLines(t)||s(e,t,p)),\"tonext\"!==t.fill&&\"toself\"!==t.fill||v.push(\"fills\"),p(\"hoveron\",v.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(t,p)}else t.visible=!1}},62047:function(e,t,r){\"use strict\";var n=r(89298);e.exports=function(e,t,r){var i={},a=r[t.subplot]._subplot;return i.realLabel=n.tickText(a.radialAxis,e.real,!0).text,i.imagLabel=n.tickText(a.angularAxis,e.imag,!0).text,i}},11350:function(e,t,r){\"use strict\";var n=r(33720);function i(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"real\",a._hovertitle=\"imag\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=e.hi||t.hoverinfo,u=[];function c(e,t){u.push(e._hovertitle+\": \"+t)}if(!t.hovertemplate){var f=l.split(\"+\");-1!==f.indexOf(\"all\")&&(f=[\"real\",\"imag\",\"text\"]),-1!==f.indexOf(\"real\")&&c(i,n.realLabel),-1!==f.indexOf(\"imag\")&&c(a,n.imagLabel),-1!==f.indexOf(\"text\")&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"<br>\")}}e.exports={hoverPoints:function(e,t,r,a){var o=n(e,t,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=e.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},85956:function(e,t,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:r(7504),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:r(48300),supplyDefaults:r(65269),colorbar:r(4898),formatLabels:r(62047),calc:r(30621),plot:r(12480),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(11350).hoverPoints,selectPoints:r(98002),meta:{}}},12480:function(e,t,r){\"use strict\";var n=r(32663),i=r(50606).BADNUM,a=r(23893).smith;e.exports=function(e,t,r){for(var o=t.layers.frontplot.select(\"g.scatterlayer\"),s=t.xaxis,l=t.yaxis,u={xaxis:s,yaxis:l,plot:t.framework,layerClipId:t._hasClipOnAxisFalse?t.clipIds.forTraces:null},c=0;c<r.length;c++)for(var f=r[c],h=0;h<f.length;h++){0===h&&(f[0].trace._xA=s,f[0].trace._yA=l);var p=f[h],d=p.real;if(d===i)p.x=p.y=i;else{var v=a([d,p.imag]);p.x=v[0],p.y=v[1]}}n(e,u,r,o)}},50413:function(e,t,r){\"use strict\";var n=r(5386).fF,i=r(5386).si,a=r(82196),o=r(9012),s=r(50693),l=r(79952).P,u=r(1426).extendFlat,c=a.marker,f=a.line,h=c.line;e.exports={a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},c:{valType:\"data_array\",editType:\"calc\"},sum:{valType:\"number\",dflt:0,min:0,editType:\"calc\"},mode:u({},a.mode,{dflt:\"markers\"}),text:u({},a.text,{}),texttemplate:i({editType:\"plot\"},{keys:[\"a\",\"b\",\"c\",\"text\"]}),hovertext:u({},a.hovertext,{}),line:{color:f.color,width:f.width,dash:l,backoff:f.backoff,shape:u({},f.shape,{values:[\"linear\",\"spline\"]}),smoothing:f.smoothing,editType:\"calc\"},connectgaps:a.connectgaps,cliponaxis:a.cliponaxis,fill:u({},a.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:a.fillcolor,marker:u({symbol:c.symbol,opacity:c.opacity,angle:c.angle,angleref:c.angleref,standoff:c.standoff,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:u({width:h.width,editType:\"calc\"},s(\"marker.line\")),gradient:c.gradient,editType:\"calc\"},s(\"marker\")),textfont:a.textfont,textposition:a.textposition,selected:a.selected,unselected:a.unselected,hoverinfo:u({},o.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:a.hoveron,hovertemplate:n()}},54337:function(e,t,r){\"use strict\";var n=r(92770),i=r(36922),a=r(75225),o=r(66279),s=r(47761).calcMarkerSize,l=[\"a\",\"b\",\"c\"],u={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};e.exports=function(e,t){var r,c,f,h,p,d,v=e._fullLayout[t.subplot].sum,g=t.sum||v,m={a:t.a,b:t.b,c:t.c};for(r=0;r<l.length;r++)if(!m[f=l[r]]){for(p=m[u[f][0]],d=m[u[f][1]],h=new Array(p.length),c=0;c<p.length;c++)h[c]=g-p[c]-d[c];m[f]=h}var y,x,b,_,w,k,T=t._length,M=new Array(T);for(r=0;r<T;r++)y=m.a[r],x=m.b[r],b=m.c[r],n(y)&&n(x)&&n(b)?(1!=(_=v/((y=+y)+(x=+x)+(b=+b)))&&(y*=_,x*=_,b*=_),k=y,w=b-x,M[r]={x:w,y:k,a:y,b:x,c:b}):M[r]={x:!1,y:!1};return s(t,T),i(e,t),a(M,t),o(M,t),M}},46008:function(e,t,r){\"use strict\";var n=r(71828),i=r(47581),a=r(34098),o=r(49508),s=r(11058),l=r(94039),u=r(82410),c=r(28908),f=r(50413);e.exports=function(e,t,r,h){function p(r,i){return n.coerce(e,t,f,r,i)}var d,v=p(\"a\"),g=p(\"b\"),m=p(\"c\");if(v?(d=v.length,g?(d=Math.min(d,g.length),m&&(d=Math.min(d,m.length))):d=m?Math.min(d,m.length):0):g&&m&&(d=Math.min(g.length,m.length)),d){t._length=d,p(\"sum\"),p(\"text\"),p(\"hovertext\"),\"fills\"!==t.hoveron&&p(\"hovertemplate\"),p(\"mode\",d<i.PTS_LINESONLY?\"lines+markers\":\"lines\"),a.hasLines(t)&&(s(e,t,r,h,p,{backoff:!0}),l(e,t,p),p(\"connectgaps\")),a.hasMarkers(t)&&o(e,t,r,h,p,{gradient:!0}),a.hasText(t)&&(p(\"texttemplate\"),u(e,t,h,p));var y=[];(a.hasMarkers(t)||a.hasText(t))&&(p(\"cliponaxis\"),p(\"marker.maxdisplayed\"),y.push(\"points\")),p(\"fill\"),\"none\"!==t.fill&&(c(e,t,r,p),a.hasLines(t)||l(e,t,p)),\"tonext\"!==t.fill&&\"toself\"!==t.fill||y.push(\"fills\"),p(\"hoveron\",y.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(t,p)}else t.visible=!1}},4524:function(e){\"use strict\";e.exports=function(e,t,r,n,i){if(t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),n[i]){var a=n[i];e.a=a.a,e.b=a.b,e.c=a.c}else e.a=t.a,e.b=t.b,e.c=t.c;return e}},93645:function(e,t,r){\"use strict\";var n=r(89298);e.exports=function(e,t,r){var i={},a=r[t.subplot]._subplot;return i.aLabel=n.tickText(a.aaxis,e.a,!0).text,i.bLabel=n.tickText(a.baxis,e.b,!0).text,i.cLabel=n.tickText(a.caxis,e.c,!0).text,i}},47250:function(e,t,r){\"use strict\";var n=r(33720);e.exports=function(e,t,r,i){var a=n(e,t,r,i);if(a&&!1!==a[0].index){var o=a[0];if(void 0===o.index){var s=1-o.y0/e.ya._length,l=e.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index],h=o.trace,p=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var d={};d[h.subplot]={_subplot:p};var v=h._module.formatLabels(f,h,d);o.aLabel=v.aLabel,o.bLabel=v.bLabel,o.cLabel=v.cLabel;var g=f.hi||h.hoverinfo,m=[];if(!h.hovertemplate){var y=g.split(\"+\");-1!==y.indexOf(\"all\")&&(y=[\"a\",\"b\",\"c\"]),-1!==y.indexOf(\"a\")&&x(p.aaxis,o.aLabel),-1!==y.indexOf(\"b\")&&x(p.baxis,o.bLabel),-1!==y.indexOf(\"c\")&&x(p.caxis,o.cLabel)}return o.extraText=m.join(\"<br>\"),o.hovertemplate=h.hovertemplate,a}function x(e,t){m.push(e._hovertitle+\": \"+t)}}},52979:function(e,t,r){\"use strict\";e.exports={attributes:r(50413),supplyDefaults:r(46008),colorbar:r(4898),formatLabels:r(93645),calc:r(54337),plot:r(7507),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(47250),selectPoints:r(98002),eventData:r(4524),moduleType:\"trace\",name:\"scatterternary\",basePlotModule:r(61639),categories:[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}},7507:function(e,t,r){\"use strict\";var n=r(32663);e.exports=function(e,t,r){var i=t.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();for(var a=t.xaxis,o=t.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:t._hasClipOnAxisFalse?t.clipIdRelative:null},l=t.layers.frontplot.select(\"g.scatterlayer\"),u=0;u<r.length;u++){var c=r[u];c.length&&(c[0].trace._xA=a,c[0].trace._yA=o)}n(e,s,r,l)}},46880:function(e,t,r){\"use strict\";var n=r(82196),i=r(50693),a=r(12663).axisHoverFormat,o=r(5386).fF,s=r(42341),l=r(85555).idRegex,u=r(44467).templatedArray,c=r(1426).extendFlat,f=n.marker,h=f.line,p=c(i(\"marker.line\",{editTypeOverride:\"calc\"}),{width:c({},h.width,{editType:\"calc\"}),editType:\"calc\"}),d=c(i(\"marker\"),{symbol:f.symbol,angle:f.angle,size:c({},f.size,{editType:\"markerSize\"}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:f.opacity,colorbar:f.colorbar,line:p,editType:\"calc\"});function v(e){return{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"subplotid\",regex:l[e],editType:\"plot\"}}}d.color.editType=d.cmin.editType=d.cmax.editType=\"style\",e.exports={dimensions:u(\"dimension\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},label:{valType:\"string\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},axis:{type:{valType:\"enumerated\",values:[\"linear\",\"log\",\"date\",\"category\"],editType:\"calc+clearAxisTypes\"},matches:{valType:\"boolean\",dflt:!1,editType:\"calc\"},editType:\"calc+clearAxisTypes\"},editType:\"calc+clearAxisTypes\"}),text:c({},s.text,{}),hovertext:c({},s.hovertext,{}),hovertemplate:o(),xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),marker:d,xaxes:v(\"x\"),yaxes:v(\"y\"),diagonal:{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},showupperhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},showlowerhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},selected:{marker:s.selected.marker,editType:\"calc\"},unselected:{marker:s.unselected.marker,editType:\"calc\"},opacity:s.opacity}},65017:function(e,t,r){\"use strict\";var n=r(73972),i=r(83312);e.exports={moduleType:\"trace\",name:\"splom\",categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:r(46880),supplyDefaults:r(25784),colorbar:r(4898),calc:r(87625),plot:r(79410),hoverPoints:r(8567).hoverPoints,selectPoints:r(8689),editStyle:r(28801),meta:{}},n.register(i)},16947:function(e,t,r){\"use strict\";var n=r(46075),i=r(73972),a=r(79749),o=r(27659).a0,s=r(93612),l=r(41675).getFromId,u=r(89298).shouldShowZeroLine,c=\"splom\",f={};function h(e,t,r){for(var n=r.matrixOptions.data.length,i=t._visibleDims,a=r.viewOpts.ranges=new Array(n),o=0;o<i.length;o++){var s=i[o],u=a[o]=new Array(4),c=l(e,t._diag[s][0]);c&&(u[0]=c.r2l(c.range[0]),u[2]=c.r2l(c.range[1]));var f=l(e,t._diag[s][1]);f&&(u[1]=f.r2l(f.range[0]),u[3]=f.r2l(f.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:a},{ranges:a}):r.matrix.update({ranges:a})}function p(e){var t=e._fullLayout,r=t._glcanvas.data()[0].regl,i=t._splomGrid;i||(i=t._splomGrid=n(r)),i.update(function(e){var t,r=e._context.plotGlPixelRatio,n=e._fullLayout,i=n._size,a=[0,0,n.width*r,n.height*r],o={};function s(e,t,n,i,s,l){n*=r,i*=r,s*=r,l*=r;var u=t[e+\"color\"],c=t[e+\"width\"],f=String(u+c);f in o?o[f].data.push(NaN,NaN,n,i,s,l):o[f]={data:[n,i,s,l],join:\"rect\",thickness:c*r,color:u,viewport:a,range:a,overlay:!1}}for(t in n._splomSubplots){var l,c,f=n._plots[t],h=f.xaxis,p=f.yaxis,d=h._gridVals,v=p._gridVals,g=h._offset,m=h._length,y=p._length,x=i.b+p.domain[0]*i.h,b=-p._m,_=-b*p.r2l(p.range[0],p.calendar);if(h.showgrid)for(t=0;t<d.length;t++)l=g+h.l2p(d[t].x),s(\"grid\",h,l,x,l,x+y);if(p.showgrid)for(t=0;t<v.length;t++)s(\"grid\",p,g,c=x+_+b*v[t].x,g+m,c);u(e,h,p)&&(l=g+h.l2p(0),s(\"zeroline\",h,l,x,l,x+y)),u(e,p,h)&&s(\"zeroline\",p,g,c=x+_+0,g+m,c)}var w=[];for(t in o)w.push(o[t]);return w}(e))}e.exports={name:c,attr:s.attr,attrRegex:s.attrRegex,layoutAttributes:s.layoutAttributes,supplyLayoutDefaults:s.supplyLayoutDefaults,drawFramework:s.drawFramework,plot:function(e){var t=e._fullLayout,r=i.getModule(c),n=o(e.calcdata,r)[0];a(e,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],f)&&(t._hasOnlyLargeSploms&&p(e),r.plot(e,{},n))},drag:function(e){var t=e.calcdata,r=e._fullLayout;r._hasOnlyLargeSploms&&p(e);for(var n=0;n<t.length;n++){var i=t[n][0].trace,a=r._splomScenes[i.uid];\"splom\"===i.type&&a&&a.matrix&&h(e,i,a)}},updateGrid:p,clean:function(e,t,r,n){var i,a={};if(n._splomScenes){for(i=0;i<e.length;i++){var o=e[i];\"splom\"===o.type&&(a[o.uid]=1)}for(i=0;i<r.length;i++){var l=r[i];if(!a[l.uid]){var u=n._splomScenes[l.uid];u&&u.destroy&&u.destroy(),n._splomScenes[l.uid]=null,delete n._splomScenes[l.uid]}}}0===Object.keys(n._splomScenes||{}).length&&delete n._splomScenes,n._splomGrid&&!t._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),s.clean(e,t,r,n)},updateFx:s.updateFx,toSVG:s.toSVG,reglPrecompiled:f}},87625:function(e,t,r){\"use strict\";var n=r(71828),i=r(41675),a=r(47761).calcMarkerSize,o=r(47761).calcAxisExpansion,s=r(36922),l=r(19635).markerSelection,u=r(19635).markerStyle,c=r(10164),f=r(50606).BADNUM,h=r(78232).TOO_MANY_POINTS;e.exports=function(e,t){var r,p,d,v,g,m,y=t.dimensions,x=t._length,b={},_=b.cdata=[],w=b.data=[],k=t._visibleDims=[];function T(e,r){for(var i=e.makeCalcdata({v:r.values,vcalendar:t.calendar},\"v\"),a=0;a<i.length;a++)i[a]=i[a]===f?NaN:i[a];_.push(i),w.push(\"log\"===e.type?n.simpleMap(i,e.c2l):i)}for(r=0;r<y.length;r++)if((d=y[r]).visible){if(v=i.getFromId(e,t._diag[r][0]),g=i.getFromId(e,t._diag[r][1]),v&&g&&v.type!==g.type){n.log(\"Skipping splom dimension \"+r+\" with conflicting axis types\");continue}v?(T(v,d),g&&\"category\"===g.type&&(g._categories=v._categories.slice())):T(g,d),k.push(r)}for(s(e,t),n.extendFlat(b,u(e,t)),m=_.length*x>h?b.sizeAvg||Math.max(b.size,3):a(t,x),p=0;p<k.length;p++)d=y[r=k[p]],v=i.getFromId(e,t._diag[r][0])||{},g=i.getFromId(e,t._diag[r][1])||{},o(e,t,v,g,_[p],_[p],m);var M=c(e,t);return M.matrix||(M.matrix=!0),M.matrixOptions=b,M.selectedOptions=l(e,t,t.selected),M.unselectedOptions=l(e,t,t.unselected),[{x:!1,y:!1,t:{},trace:t}]}},25784:function(e,t,r){\"use strict\";var n=r(71828),i=r(85501),a=r(46880),o=r(34098),s=r(49508),l=r(94397),u=r(68645).isOpenSymbol;function c(e,t){function r(r,i){return n.coerce(e,t,a.dimensions,r,i)}r(\"label\");var i=r(\"values\");i&&i.length?r(\"visible\"):t.visible=!1,r(\"axis.type\"),r(\"axis.matches\")}e.exports=function(e,t,r,f){function h(r,i){return n.coerce(e,t,a,r,i)}var p=i(e,t,{name:\"dimensions\",handleItemDefaults:c}),d=h(\"diagonal.visible\"),v=h(\"showupperhalf\"),g=h(\"showlowerhalf\");if(l(t,p,\"values\")&&(d||v||g)){h(\"text\"),h(\"hovertext\"),h(\"hovertemplate\"),h(\"xhoverformat\"),h(\"yhoverformat\"),s(e,t,r,f,h,{noAngleRef:!0,noStandOff:!0});var m=u(t.marker.symbol),y=o.isBubble(t);h(\"marker.line.width\",m||y?1:0),function(e,t,r,n){var i,a,o=t.dimensions,s=o.length,l=t.showupperhalf,u=t.showlowerhalf,c=t.diagonal.visible,f=new Array(s),h=new Array(s);for(i=0;i<s;i++){var p=i?i+1:\"\";f[i]=\"x\"+p,h[i]=\"y\"+p}var d=n(\"xaxes\",f),v=n(\"yaxes\",h),g=t._diag=new Array(s);t._xaxes={},t._yaxes={};var m=[],y=[];function x(e,n,i,a){if(e){var o=e.charAt(0),s=r._splomAxes[o];if(t[\"_\"+o+\"axes\"][e]=1,a.push(e),!(e in s)){var l=s[e]={};i&&(l.label=i.label||\"\",i.visible&&i.axis&&(i.axis.type&&(l.type=i.axis.type),i.axis.matches&&(l.matches=n)))}}}var b=!c&&!u,_=!c&&!l;for(t._axesDim={},i=0;i<s;i++){var w=o[i],k=0===i,T=i===s-1,M=k&&b||T&&_?void 0:d[i],A=k&&_||T&&b?void 0:v[i];x(M,A,w,m),x(A,M,w,y),g[i]=[M,A],t._axesDim[M]=i,t._axesDim[A]=i}for(i=0;i<m.length;i++)for(a=0;a<y.length;a++){var S=m[i]+y[a];i>a&&l||i<a&&u?r._splomSubplots[S]=1:i!==a||!c&&u&&l||(r._splomSubplots[S]=1)}(!u||!c&&l&&u)&&(r._splomGridDflt.xside=\"bottom\",r._splomGridDflt.yside=\"left\")}(0,t,f,h),n.coerceSelectionMarkerOpacity(t,h)}else t.visible=!1}},28801:function(e,t,r){\"use strict\";var n=r(71828),i=r(36922),a=r(19635).markerStyle;e.exports=function(e,t){var r=t.trace,o=e._fullLayout._splomScenes[r.uid];if(o){i(e,r),n.extendFlat(o.matrixOptions,a(e,r));var s=n.extendFlat({},o.matrixOptions,o.viewOpts);o.matrix.update(s,null)}}},35948:function(e,t){\"use strict\";t.getDimIndex=function(e,t){for(var r=t._id,n={x:0,y:1}[r.charAt(0)],i=e._visibleDims,a=0;a<i.length;a++){var o=i[a];if(e._diag[o][n]===r)return a}return!1}},8567:function(e,t,r){\"use strict\";var n=r(35948),i=r(20794).calcHover;e.exports={hoverPoints:function(e,t,r){var a=e.cd[0].trace,o=e.scene.matrixOptions.cdata,s=e.xa,l=e.ya,u=s.c2p(t),c=l.c2p(r),f=e.distance,h=n.getDimIndex(a,s),p=n.getDimIndex(a,l);if(!1===h||!1===p)return[e];for(var d,v,g=o[h],m=o[p],y=f,x=0;x<g.length;x++){var b=g[x],_=m[x],w=s.c2p(b)-u,k=l.c2p(_)-c,T=Math.sqrt(w*w+k*k);T<y&&(y=v=T,d=x)}return e.index=d,e.distance=y,e.dxy=v,void 0===d?[e]:[i(e,g,m,a)]}}},6419:function(e,t,r){\"use strict\";var n=r(65017);n.basePlotModule=r(16947),e.exports=n},79410:function(e,t,r){\"use strict\";var n=r(60487),i=r(71828),a=r(41675),o=r(64505).selectMode;function s(e,t){var r,s,l,u,c,f=e._fullLayout,h=f._size,p=t.trace,d=t.t,v=f._splomScenes[p.uid],g=v.matrixOptions,m=g.cdata,y=f._glcanvas.data()[0].regl,x=f.dragmode;if(0!==m.length){g.lower=p.showupperhalf,g.upper=p.showlowerhalf,g.diagonal=p.diagonal.visible;var b=p._visibleDims,_=m.length,w=v.viewOpts={};for(w.ranges=new Array(_),w.domains=new Array(_),c=0;c<b.length;c++){l=b[c];var k=w.ranges[c]=new Array(4),T=w.domains[c]=new Array(4);(r=a.getFromId(e,p._diag[l][0]))&&(k[0]=r._rl[0],k[2]=r._rl[1],T[0]=r.domain[0],T[2]=r.domain[1]),(s=a.getFromId(e,p._diag[l][1]))&&(k[1]=s._rl[0],k[3]=s._rl[1],T[1]=s.domain[0],T[3]=s.domain[1])}var M=e._context.plotGlPixelRatio,A=h.l*M,S=h.b*M,E=h.w*M,C=h.h*M;w.viewport=[A,S,E+A,C+S],!0===v.matrix&&(v.matrix=n(y));var L=f.clickmode.indexOf(\"select\")>-1,P=!0;if(o(x)||p.selectedpoints||L){var O=p._length;if(p.selectedpoints){v.selectBatch=p.selectedpoints;var I=p.selectedpoints,D={};for(l=0;l<I.length;l++)D[I[l]]=!0;var z=[];for(l=0;l<O;l++)D[l]||z.push(l);v.unselectBatch=z}var R=d.xpx=new Array(_),F=d.ypx=new Array(_);for(c=0;c<b.length;c++){if(l=b[c],r=a.getFromId(e,p._diag[l][0]))for(R[c]=new Array(O),u=0;u<O;u++)R[c][u]=r.c2p(m[c][u]);if(s=a.getFromId(e,p._diag[l][1]))for(F[c]=new Array(O),u=0;u<O;u++)F[c][u]=s.c2p(m[c][u])}if(v.selectBatch.length||v.unselectBatch.length){var B=i.extendFlat({},g,v.unselectedOptions,w),N=i.extendFlat({},g,v.selectedOptions,w);v.matrix.update(B,N),P=!1}}else d.xpx=d.ypx=null;if(P){var j=i.extendFlat({},g,w);v.matrix.update(j,null)}}}e.exports=function(e,t,r){if(r.length)for(var n=0;n<r.length;n++)s(e,r[n][0])}},10164:function(e,t,r){\"use strict\";var n=r(71828);e.exports=function(e,t){var r=e._fullLayout,i=t.uid,a=r._splomScenes;a||(a=r._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s=a[t.uid];return s||((s=a[i]=n.extendFlat({},o,{matrix:!1,selectBatch:[],unselectBatch:[]})).draw=function(){s.matrix&&s.matrix.draw&&(s.selectBatch.length||s.unselectBatch.length?s.matrix.draw(s.unselectBatch,s.selectBatch):s.matrix.draw()),s.dirty=!1},s.destroy=function(){s.matrix&&s.matrix.destroy&&s.matrix.destroy(),s.matrixOptions=null,s.selectBatch=null,s.unselectBatch=null,s=null}),s.dirty||n.extendFlat(s,o),s}},8689:function(e,t,r){\"use strict\";var n=r(71828),i=n.pushUnique,a=r(34098),o=r(35948);e.exports=function(e,t){var r=e.cd,s=r[0].trace,l=r[0].t,u=e.scene,c=u.matrixOptions.cdata,f=e.xaxis,h=e.yaxis,p=[];if(!u)return p;var d=!a.hasMarkers(s)&&!a.hasText(s);if(!0!==s.visible||d)return p;var v=o.getDimIndex(s,f),g=o.getDimIndex(s,h);if(!1===v||!1===g)return p;var m=l.xpx[v],y=l.ypx[g],x=c[v],b=c[g],_=(e.scene.selectBatch||[]).slice(),w=[];if(!1!==t&&!t.degenerate)for(var k=0;k<x.length;k++)t.contains([m[k],y[k]],null,k,e)?(p.push({pointNumber:k,x:x[k],y:b[k]}),i(_,k)):-1!==_.indexOf(k)?i(_,k):w.push(k);var T=u.matrixOptions;return _.length||w.length?u.selectBatch.length||u.unselectBatch.length||u.matrix.update(u.unselectedOptions,n.extendFlat({},T,u.selectedOptions,u.viewOpts)):u.matrix.update(T,null),u.selectBatch=_,u.unselectBatch=w,p}},21850:function(e,t,r){\"use strict\";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).fF,o=r(2418),s=r(9012),l=r(1426).extendFlat,u={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},starts:{x:{valType:\"data_array\",editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},maxdisplayed:{valType:\"integer\",min:0,dflt:1e3,editType:\"calc\"},sizeref:{valType:\"number\",editType:\"calc\",min:0,dflt:1},text:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:a({editType:\"calc\"},{keys:[\"tubex\",\"tubey\",\"tubez\",\"tubeu\",\"tubev\",\"tubew\",\"norm\",\"divergence\"]}),uhoverformat:i(\"u\",1),vhoverformat:i(\"v\",1),whoverformat:i(\"w\",1),xhoverformat:i(\"x\"),yhoverformat:i(\"y\"),zhoverformat:i(\"z\"),showlegend:l({},s.showlegend,{dflt:!1})};l(u,n(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"})),[\"opacity\",\"lightposition\",\"lighting\"].forEach((function(e){u[e]=o[e]})),u.hoverinfo=l({},s.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"divergence\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),u.transforms=void 0,e.exports=u},88489:function(e,t,r){\"use strict\";var n=r(71828),i=r(78803);function a(e){var t,r,i,a,s,l,u,c,f,h,p,d,v=e._x,g=e._y,m=e._z,y=e._len,x=-1/0,b=1/0,_=-1/0,w=1/0,k=-1/0,T=1/0,M=\"\";for(y&&(u=v[0],f=g[0],p=m[0]),y>1&&(c=v[y-1],h=g[y-1],d=m[y-1]),t=0;t<y;t++)x=Math.max(x,v[t]),b=Math.min(b,v[t]),_=Math.max(_,g[t]),w=Math.min(w,g[t]),k=Math.max(k,m[t]),T=Math.min(T,m[t]),a||v[t]===u||(a=!0,M+=\"x\"),s||g[t]===f||(s=!0,M+=\"y\"),l||m[t]===p||(l=!0,M+=\"z\");a||(M+=\"x\"),s||(M+=\"y\"),l||(M+=\"z\");var A=o(e._x),S=o(e._y),E=o(e._z);M=(M=(M=M.replace(\"x\",(u>c?\"-\":\"+\")+\"x\")).replace(\"y\",(f>h?\"-\":\"+\")+\"y\")).replace(\"z\",(p>d?\"-\":\"+\")+\"z\");var C=function(){y=0,A=[],S=[],E=[]};(!y||y<A.length*S.length*E.length)&&C();var L=function(e){return\"x\"===e?v:\"y\"===e?g:m},P=function(e){return\"x\"===e?A:\"y\"===e?S:E},O=function(e){return e[y-1]<e[0]?-1:1},I=L(M[1]),D=L(M[3]),z=L(M[5]),R=P(M[1]).length,F=P(M[3]).length,B=P(M[5]).length,N=!1,j=function(e,t,r){return R*(F*e+t)+r},U=O(L(M[1])),V=O(L(M[3])),H=O(L(M[5]));for(t=0;t<B-1;t++){for(r=0;r<F-1;r++){for(i=0;i<R-1;i++){var q=j(t,r,i),G=j(t,r,i+1),Y=j(t,r+1,i),W=j(t+1,r,i);if(I[q]*U<I[G]*U&&D[q]*V<D[Y]*V&&z[q]*H<z[W]*H||(N=!0),N)break}if(N)break}if(N)break}return N&&(n.warn(\"Encountered arbitrary coordinates! Unable to input data grid.\"),C()),{xMin:b,yMin:w,zMin:T,xMax:x,yMax:_,zMax:k,Xs:A,Ys:S,Zs:E,len:y,fill:M}}function o(e){return n.distinctVals(e).vals}function s(e,t){if(void 0===t&&(t=e.length),n.isTypedArray(e))return e.subarray(0,t);for(var r=[],i=0;i<t;i++)r[i]=+e[i];return r}e.exports={calc:function(e,t){t._len=Math.min(t.u.length,t.v.length,t.w.length,t.x.length,t.y.length,t.z.length),t._u=s(t.u,t._len),t._v=s(t.v,t._len),t._w=s(t.w,t._len),t._x=s(t.x,t._len),t._y=s(t.y,t._len),t._z=s(t.z,t._len);var r=a(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;var n,o,l,u=0;t.starts&&(n=s(t.starts.x||[]),o=s(t.starts.y||[]),l=s(t.starts.z||[]),u=Math.min(n.length,o.length,l.length)),t._startsX=n||[],t._startsY=o||[],t._startsZ=l||[];var c,f=0,h=1/0;for(c=0;c<t._len;c++){var p=t._u[c],d=t._v[c],v=t._w[c],g=Math.sqrt(p*p+d*d+v*v);f=Math.max(f,g),h=Math.min(h,g)}for(i(e,t,{vals:[h,f],containerStr:\"\",cLetter:\"c\"}),c=0;c<u;c++){var m=n[c];r.xMax=Math.max(r.xMax,m),r.xMin=Math.min(r.xMin,m);var y=o[c];r.yMax=Math.max(r.yMax,y),r.yMin=Math.min(r.yMin,y);var x=l[c];r.zMax=Math.max(r.zMax,x),r.zMin=Math.min(r.zMin,x)}t._slen=u,t._normMax=f,t._xbnds=[r.xMin,r.xMax],t._ybnds=[r.yMin,r.yMax],t._zbnds=[r.zMin,r.zMax]},filter:s,processGrid:a}},90154:function(e,t,r){\"use strict\";var n=r(9330).gl_streamtube3d,i=n.createTubeMesh,a=r(71828),o=r(81697).parseColorScale,s=r(21081).extractOpts,l=r(90060),u={xaxis:0,yaxis:1,zaxis:2};function c(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var f=c.prototype;function h(e){var t=e.length;return t>2?e.slice(1,t-1):2===t?[(e[0]+e[1])/2]:e}function p(e){var t=e.length;return 1===t?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function d(e,t){var r=e.fullSceneLayout,i=e.dataScale,c=t._len,f={};function d(e,t){var n=r[t],o=i[u[t]];return a.simpleMap(e,(function(e){return n.d2l(e)*o}))}if(f.vectors=l(d(t._u,\"xaxis\"),d(t._v,\"yaxis\"),d(t._w,\"zaxis\"),c),!c)return{positions:[],cells:[]};var v=d(t._Xs,\"xaxis\"),g=d(t._Ys,\"yaxis\"),m=d(t._Zs,\"zaxis\");if(f.meshgrid=[v,g,m],f.gridFill=t._gridFill,t._slen)f.startingPositions=l(d(t._startsX,\"xaxis\"),d(t._startsY,\"yaxis\"),d(t._startsZ,\"zaxis\"));else{for(var y=g[0],x=h(v),b=h(m),_=new Array(x.length*b.length),w=0,k=0;k<x.length;k++)for(var T=0;T<b.length;T++)_[w++]=[x[k],y,b[T]];f.startingPositions=_}f.colormap=o(t),f.tubeSize=t.sizeref,f.maxLength=t.maxdisplayed;var M=d(t._xbnds,\"xaxis\"),A=d(t._ybnds,\"yaxis\"),S=d(t._zbnds,\"zaxis\"),E=p(v),C=p(g),L=p(m),P=[[M[0]-E[0],A[0]-C[0],S[0]-L[0]],[M[1]+E[1],A[1]+C[1],S[1]+L[1]]],O=n(f,P),I=s(t);O.vertexIntensityBounds=[I.min/t._normMax,I.max/t._normMax];var D=t.lightposition;return O.lightPosition=[D.x,D.y,D.z],O.ambient=t.lighting.ambient,O.diffuse=t.lighting.diffuse,O.specular=t.lighting.specular,O.roughness=t.lighting.roughness,O.fresnel=t.lighting.fresnel,O.opacity=t.opacity,t._pad=O.tubeScale*t.sizeref*2,O}f.handlePick=function(e){var t=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(e,n){var i=t[n],a=r[u[n]];return i.l2c(e)/a}if(e.object===this.mesh){var i=e.data.position,a=e.data.velocity;return e.traceCoordinate=[n(i[0],\"xaxis\"),n(i[1],\"yaxis\"),n(i[2],\"zaxis\"),n(a[0],\"xaxis\"),n(a[1],\"yaxis\"),n(a[2],\"zaxis\"),e.data.intensity*this.data._normMax,e.data.divergence],e.textLabel=this.data.hovertext||this.data.text,!0}},f.update=function(e){this.data=e;var t=d(this.scene,e);this.mesh.update(t)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(e,t){var r=e.glplot.gl,n=d(e,t),a=i(r,n),o=new c(e,t.uid);return o.mesh=a,o.data=t,a._trace=o,e.glplot.add(a),o}},22459:function(e,t,r){\"use strict\";var n=r(71828),i=r(1586),a=r(21850);e.exports=function(e,t,r,o){function s(r,i){return n.coerce(e,t,a,r,i)}var l=s(\"u\"),u=s(\"v\"),c=s(\"w\"),f=s(\"x\"),h=s(\"y\"),p=s(\"z\");l&&l.length&&u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length&&p&&p.length?(s(\"starts.x\"),s(\"starts.y\"),s(\"starts.z\"),s(\"maxdisplayed\"),s(\"sizeref\"),s(\"lighting.ambient\"),s(\"lighting.diffuse\"),s(\"lighting.specular\"),s(\"lighting.roughness\"),s(\"lighting.fresnel\"),s(\"lightposition.x\"),s(\"lightposition.y\"),s(\"lightposition.z\"),i(e,t,o,s,{prefix:\"\",cLetter:\"c\"}),s(\"text\"),s(\"hovertext\"),s(\"hovertemplate\"),s(\"uhoverformat\"),s(\"vhoverformat\"),s(\"whoverformat\"),s(\"xhoverformat\"),s(\"yhoverformat\"),s(\"zhoverformat\"),t._length=null):t.visible=!1}},61510:function(e,t,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"streamtube\",basePlotModule:r(58547),categories:[\"gl3d\",\"showLegend\"],attributes:r(21850),supplyDefaults:r(22459),colorbar:{min:\"cmin\",max:\"cmax\"},calc:r(88489).calc,plot:r(90154),eventData:function(e,t){return e.tubex=e.x,e.tubey=e.y,e.tubez=e.z,e.tubeu=t.traceCoordinate[3],e.tubev=t.traceCoordinate[4],e.tubew=t.traceCoordinate[5],e.norm=t.traceCoordinate[6],e.divergence=t.traceCoordinate[7],delete e.x,delete e.y,delete e.z,e},meta:{}}},57564:function(e,t,r){\"use strict\";var n=r(9012),i=r(5386).fF,a=r(5386).si,o=r(50693),s=r(27670).Y,l=r(34e3),u=r(7055),c=r(1426).extendFlat,f=r(79952).u;e.exports={labels:{valType:\"data_array\",editType:\"calc\"},parents:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},branchvalues:{valType:\"enumerated\",values:[\"remainder\",\"total\"],dflt:\"remainder\",editType:\"calc\"},count:{valType:\"flaglist\",flags:[\"branches\",\"leaves\"],dflt:\"leaves\",editType:\"calc\"},level:{valType:\"any\",editType:\"plot\",anim:!0},maxdepth:{valType:\"integer\",editType:\"plot\",dflt:-1},marker:c({colors:{valType:\"data_array\",editType:\"calc\"},line:{color:c({},l.marker.line.color,{dflt:null}),width:c({},l.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:f,editType:\"calc\"},o(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:{opacity:{valType:\"number\",editType:\"style\",min:0,max:1},editType:\"plot\"},text:l.text,textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],extras:[\"none\"],editType:\"plot\"},texttemplate:a({editType:\"plot\"},{keys:u.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:l.hovertext,hoverinfo:c({},n.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"name\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],dflt:\"label+text+value+name\"}),hovertemplate:i({},{keys:u.eventDataKeys}),textfont:l.textfont,insidetextorientation:l.insidetextorientation,insidetextfont:l.insidetextfont,outsidetextfont:c({},l.outsidetextfont,{}),rotation:{valType:\"angle\",dflt:0,editType:\"plot\"},sort:l.sort,root:{color:{valType:\"color\",editType:\"calc\",dflt:\"rgba(0,0,0,0)\"},editType:\"calc\"},domain:s({name:\"sunburst\",trace:!0,editType:\"calc\"})}},66888:function(e,t,r){\"use strict\";var n=r(74875);t.name=\"sunburst\",t.plot=function(e,r,i,a){n.plotBasePlot(t.name,e,r,i,a)},t.clean=function(e,r,i,a){n.cleanBasePlot(t.name,e,r,i,a)}},52147:function(e,t,r){\"use strict\";var n=r(674),i=r(92770),a=r(71828),o=r(21081).makeColorScaleFuncFromTrace,s=r(32354).makePullColorFn,l=r(32354).generateExtendedColors,u=r(21081).calc,c=r(50606).ALMOST_EQUAL,f={},h={},p={};function d(e,t,r){var n=0,i=e.children;if(i){for(var a=i.length,o=0;o<a;o++)n+=d(i[o],t,r);r.branches&&n++}else r.leaves&&n++;return e.value=e.data.data.value=n,t._values||(t._values=[]),t._values[e.data.data.i]=n,n}t.calc=function(e,t){var r,l,f,h,p,v,g=e._fullLayout,m=t.ids,y=a.isArrayOrTypedArray(m),x=t.labels,b=t.parents,_=t.values,w=a.isArrayOrTypedArray(_),k=[],T={},M={},A=function(e){return e||\"number\"==typeof e},S=function(e){return!w||i(_[e])&&_[e]>=0};y?(r=Math.min(m.length,b.length),l=function(e){return A(m[e])&&S(e)},f=function(e){return String(m[e])}):(r=Math.min(x.length,b.length),l=function(e){return A(x[e])&&S(e)},f=function(e){return String(x[e])}),w&&(r=Math.min(r,_.length));for(var E=0;E<r;E++)if(l(E)){var C=f(E),L=A(b[E])?String(b[E]):\"\",P={i:E,id:C,pid:L,label:A(x[E])?String(x[E]):\"\"};w&&(P.v=+_[E]),k.push(P),p=C,T[h=L]?T[h].push(p):T[h]=[p],M[p]=1}if(T[\"\"]){if(T[\"\"].length>1){for(var O=a.randstr(),I=0;I<k.length;I++)\"\"===k[I].pid&&(k[I].pid=O);k.unshift({hasMultipleRoots:!0,id:O,pid:\"\",label:\"\"})}}else{var D,z=[];for(D in T)M[D]||z.push(D);if(1!==z.length)return a.warn([\"Multiple implied roots, cannot build\",t.type,\"hierarchy of\",t.name+\".\",\"These roots include:\",z.join(\", \")].join(\" \"));D=z[0],k.unshift({hasImpliedRoot:!0,id:D,pid:\"\",label:D})}try{v=n.stratify().id((function(e){return e.id})).parentId((function(e){return e.pid}))(k)}catch(e){return a.warn([\"Failed to build\",t.type,\"hierarchy of\",t.name+\".\",\"Error:\",e.message].join(\" \"))}var R=n.hierarchy(v),F=!1;if(w)switch(t.branchvalues){case\"remainder\":R.sum((function(e){return e.data.v}));break;case\"total\":R.each((function(e){var r=e.data.data,n=r.v;if(e.children){var i=e.children.reduce((function(e,t){return e+t.data.data.v}),0);if((r.hasImpliedRoot||r.hasMultipleRoots)&&(n=i),n<i*c)return F=!0,a.warn([\"Total value for node\",e.data.data.id,\"of\",t.name,\"is smaller than the sum of its children.\",\"\\nparent value =\",n,\"\\nchildren sum =\",i].join(\" \"))}e.value=n}))}else d(R,t,{branches:-1!==t.count.indexOf(\"branches\"),leaves:-1!==t.count.indexOf(\"leaves\")});if(!F){var B,N;t.sort&&R.sort((function(e,t){return t.value-e.value}));var j=t.marker.colors||[],U=!!j.length;return t._hasColorscale?(U||(j=w?t.values:t._values),u(e,t,{vals:j,containerStr:\"marker\",cLetter:\"c\"}),N=o(t.marker)):B=s(g[\"_\"+t.type+\"colormap\"]),R.each((function(e){var r=e.data.data;r.color=t._hasColorscale?N(j[r.i]):B(j[r.i],r.id)})),k[0].hierarchy=R,k}},t._runCrossTraceCalc=function(e,t){var r=t._fullLayout,n=t.calcdata,i=r[e+\"colorway\"],a=r[\"_\"+e+\"colormap\"];r[\"extend\"+e+\"colors\"]&&(i=l(i,\"icicle\"===e?p:\"treemap\"===e?h:f));var o,s=0;function u(e){var t=e.data.data,r=t.id;!1===t.color&&(a[r]?t.color=a[r]:e.parent?e.parent.parent?t.color=e.parent.data.data.color:(a[r]=t.color=i[s%i.length],s++):t.color=o)}for(var c=0;c<n.length;c++){var d=n[c][0];d.trace.type===e&&d.hierarchy&&(o=d.trace.root.color,d.hierarchy.each(u))}},t.crossTraceCalc=function(e){return t._runCrossTraceCalc(\"sunburst\",e)}},7055:function(e){\"use strict\";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"linear\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"]}},17094:function(e,t,r){\"use strict\";var n=r(71828),i=r(57564),a=r(27670).c,o=r(90769).handleText,s=r(37434).handleMarkerDefaults,l=r(21081),u=l.hasColorscale,c=l.handleDefaults;e.exports=function(e,t,r,l){function f(r,a){return n.coerce(e,t,i,r,a)}var h=f(\"labels\"),p=f(\"parents\");if(h&&h.length&&p&&p.length){var d=f(\"values\");d&&d.length?f(\"branchvalues\"):f(\"count\"),f(\"level\"),f(\"maxdepth\"),s(e,t,l,f);var v=t._hasColorscale=u(e,\"marker\",\"colors\")||(e.marker||{}).coloraxis;v&&c(e,t,l,f,{prefix:\"marker.\",cLetter:\"c\"}),f(\"leaf.opacity\",v?1:.7);var g=f(\"text\");f(\"texttemplate\"),t.texttemplate||f(\"textinfo\",Array.isArray(g)?\"text+label\":\"label\"),f(\"hovertext\"),f(\"hovertemplate\"),o(e,t,l,f,\"auto\",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),f(\"insidetextorientation\"),f(\"sort\"),f(\"rotation\"),f(\"root.color\"),a(t,l,f),t._length=null}else t.visible=!1}},43467:function(e,t,r){\"use strict\";var n=r(91424),i=r(7901);e.exports=function(e,t,r,a,o){var s=t.data.data,l=s.i,u=o||s.color;if(l>=0){t.i=s.i;var c=r.marker;c.pattern&&c.colors&&c.pattern.shape||(c.color=u,t.color=u),n.pointStyle(e,r,a,t)}else i.fill(e,u)}},83523:function(e,t,r){\"use strict\";var n=r(39898),i=r(73972),a=r(23469).appendArrayPointValue,o=r(30211),s=r(71828),l=r(11086),u=r(2791),c=r(53581).formatPieValue;function f(e,t,r){for(var n=e.data.data,i={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},o=0;o<r.length;o++){var s=r[o];s in e&&(i[s]=e[s])}return\"parentString\"in e&&!u.isHierarchyRoot(e)&&(i.parent=e.parentString),a(i,t,n.i),i}e.exports=function(e,t,r,a,h){var p=a[0],d=p.trace,v=p.hierarchy,g=\"sunburst\"===d.type,m=\"treemap\"===d.type||\"icicle\"===d.type;\"_hasHoverLabel\"in d||(d._hasHoverLabel=!1),\"_hasHoverEvent\"in d||(d._hasHoverEvent=!1),e.on(\"mouseover\",(function(i){var a=r._fullLayout;if(!r._dragging&&!1!==a.hovermode){var l,y=r._fullData[d.index],x=i.data.data,b=x.i,_=u.isHierarchyRoot(i),w=u.getParent(v,i),k=u.getValue(i),T=function(e){return s.castOption(y,b,e)},M=T(\"hovertemplate\"),A=o.castHoverinfo(y,a,b),S=a.separators;if(M||A&&\"none\"!==A&&\"skip\"!==A){var E,C;g&&(E=p.cx+i.pxmid[0]*(1-i.rInscribed),C=p.cy+i.pxmid[1]*(1-i.rInscribed)),m&&(E=i._hoverX,C=i._hoverY);var L,P={},O=[],I=[],D=function(e){return-1!==O.indexOf(e)};A&&(O=\"all\"===A?y._module.attributes.hoverinfo.flags:A.split(\"+\")),P.label=x.label,D(\"label\")&&P.label&&I.push(P.label),x.hasOwnProperty(\"v\")&&(P.value=x.v,P.valueLabel=c(P.value,S),D(\"value\")&&I.push(P.valueLabel)),P.currentPath=i.currentPath=u.getPath(i.data),D(\"current path\")&&!_&&I.push(P.currentPath);var z=[],R=function(){-1===z.indexOf(L)&&(I.push(L),z.push(L))};P.percentParent=i.percentParent=k/u.getValue(w),P.parent=i.parentString=u.getPtLabel(w),D(\"percent parent\")&&(L=u.formatPercent(P.percentParent,S)+\" of \"+P.parent,R()),P.percentEntry=i.percentEntry=k/u.getValue(t),P.entry=i.entry=u.getPtLabel(t),!D(\"percent entry\")||_||i.onPathbar||(L=u.formatPercent(P.percentEntry,S)+\" of \"+P.entry,R()),P.percentRoot=i.percentRoot=k/u.getValue(v),P.root=i.root=u.getPtLabel(v),D(\"percent root\")&&!_&&(L=u.formatPercent(P.percentRoot,S)+\" of \"+P.root,R()),P.text=T(\"hovertext\")||T(\"text\"),D(\"text\")&&(L=P.text,s.isValidTextValue(L)&&I.push(L)),l=[f(i,y,h.eventDataKeys)];var F={trace:y,y:C,_x0:i._x0,_x1:i._x1,_y0:i._y0,_y1:i._y1,text:I.join(\"<br>\"),name:M||D(\"name\")?y.name:void 0,color:T(\"hoverlabel.bgcolor\")||x.color,borderColor:T(\"hoverlabel.bordercolor\"),fontFamily:T(\"hoverlabel.font.family\"),fontSize:T(\"hoverlabel.font.size\"),fontColor:T(\"hoverlabel.font.color\"),nameLength:T(\"hoverlabel.namelength\"),textAlign:T(\"hoverlabel.align\"),hovertemplate:M,hovertemplateLabels:P,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?\"left\":\"right\"),m&&(F.x=E,F.idealAlign=E<0?\"left\":\"right\");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(m){var N=e.select(\"path.surface\");h.styleOne(N,i,y,r,{hovered:!0})}d._hasHoverEvent=!0,r.emit(\"plotly_hover\",{points:l||[f(i,y,h.eventDataKeys)],event:n.event})}})),e.on(\"mouseout\",(function(t){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(t.originalEvent=n.event,r.emit(\"plotly_unhover\",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),m){var l=e.select(\"path.surface\");h.styleOne(l,s,a,r,{hovered:!1})}})),e.on(\"click\",(function(e){var t=r._fullLayout,a=r._fullData[d.index],s=g&&(u.isHierarchyRoot(e)||u.isLeaf(e)),c=u.getPtId(e),p=u.isEntry(e)?u.findEntryWithChild(v,c):u.findEntryWithLevel(v,c),m=u.getPtId(p),y={points:[f(e,a,h.eventDataKeys)],event:n.event};s||(y.nextLevel=m);var x=l.triggerHandler(r,\"plotly_\"+d.type+\"click\",y);if(!1!==x&&t.hovermode&&(r._hoverdata=[f(e,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call(\"_storeDirectGUIEdit\",a,t._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:m}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:\"immediate\",fromcurrent:!0};o.loneUnhover(t._hoverlayer.node()),i.call(\"animate\",r,b,_)}}))}},2791:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901),a=r(6964),o=r(53581);function s(e){return e.data.data.pid}t.findEntryWithLevel=function(e,r){var n;return r&&e.eachAfter((function(e){if(t.getPtId(e)===r)return n=e.copy()})),n||e},t.findEntryWithChild=function(e,r){var n;return e.eachAfter((function(e){for(var i=e.children||[],a=0;a<i.length;a++){var o=i[a];if(t.getPtId(o)===r)return n=e.copy()}})),n||e},t.isEntry=function(e){return!e.parent},t.isLeaf=function(e){return!e.children},t.getPtId=function(e){return e.data.data.id},t.getPtLabel=function(e){return e.data.data.label},t.getValue=function(e){return e.value},t.isHierarchyRoot=function(e){return\"\"===s(e)},t.setSliceCursor=function(e,r,n){var i=n.isTransitioning;if(!i){var o=e.datum();i=n.hideOnRoot&&t.isHierarchyRoot(o)||n.hideOnLeaves&&t.isLeaf(o)}a(e,i?null:\"pointer\")},t.getInsideTextFontKey=function(e,t,r,i,a){var o=(a||{}).onPathbar?\"pathbar.textfont\":\"insidetextfont\",s=r.data.data.i;return n.castOption(t,s,o+\".\"+e)||n.castOption(t,s,\"textfont.\"+e)||i.size},t.getOutsideTextFontKey=function(e,t,r,i){var a=r.data.data.i;return n.castOption(t,a,\"outsidetextfont.\"+e)||n.castOption(t,a,\"textfont.\"+e)||i.size},t.isOutsideText=function(e,r){return!e._hasColorscale&&t.isHierarchyRoot(r)},t.determineTextFont=function(e,r,a,o){return t.isOutsideText(e,r)?function(e,r,n){return{color:t.getOutsideTextFontKey(\"color\",e,r,n),family:t.getOutsideTextFontKey(\"family\",e,r,n),size:t.getOutsideTextFontKey(\"size\",e,r,n)}}(e,r,a):function(e,r,a,o){var s=(o||{}).onPathbar,l=r.data.data,u=l.i,c=n.castOption(e,u,(s?\"pathbar.textfont\":\"insidetextfont\")+\".color\");return!c&&e._input.textfont&&(c=n.castOption(e._input,u,\"textfont.color\")),{color:c||i.contrast(l.color),family:t.getInsideTextFontKey(\"family\",e,r,a,o),size:t.getInsideTextFontKey(\"size\",e,r,a,o)}}(e,r,a,o)},t.hasTransition=function(e){return!!(e&&e.duration>0)},t.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0},t.isHeader=function(e,r){return!(t.isLeaf(e)||e.depth===r._maxDepth-1)},t.getParent=function(e,r){return t.findEntryWithLevel(e,s(r))},t.listPath=function(e,r){var n=e.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return t.listPath(n,r).concat(i)},t.getPath=function(e){return t.listPath(e,\"label\").join(\"/\")+\"/\"},t.formatValue=o.formatPieValue,t.formatPercent=function(e,t){var r=n.formatPercent(e,0);return\"0%\"===r&&(r=o.formatPiePercent(e,t)),r}},87619:function(e,t,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:r(66888),categories:[],animatable:!0,attributes:r(57564),layoutAttributes:r(2654),supplyDefaults:r(17094),supplyLayoutDefaults:r(57034),calc:r(52147).calc,crossTraceCalc:r(52147).crossTraceCalc,plot:r(24714).plot,style:r(29969).style,colorbar:r(4898),meta:{}}},2654:function(e){\"use strict\";e.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},57034:function(e,t,r){\"use strict\";var n=r(71828),i=r(2654);e.exports=function(e,t){function r(r,a){return n.coerce(e,t,i,r,a)}r(\"sunburstcolorway\",t.colorway),r(\"extendsunburstcolors\")}},24714:function(e,t,r){\"use strict\";var n=r(39898),i=r(674),a=r(81684).sX,o=r(91424),s=r(71828),l=r(63893),u=r(72597),c=u.recordMinTextSize,f=u.clearMinTextSize,h=r(14575),p=r(53581).getRotationAngle,d=h.computeTransform,v=h.transformInsideText,g=r(29969).styleOne,m=r(16688).resizeText,y=r(83523),x=r(7055),b=r(2791);function _(e,r,u,f){var h=e._context.staticPlot,m=e._fullLayout,_=!m.uniformtext.mode&&b.hasTransition(f),k=n.select(u).selectAll(\"g.slice\"),T=r[0],M=T.trace,A=T.hierarchy,S=b.findEntryWithLevel(A,M.level),E=b.getMaxDepth(M),C=m._size,L=M.domain,P=C.w*(L.x[1]-L.x[0]),O=C.h*(L.y[1]-L.y[0]),I=.5*Math.min(P,O),D=T.cx=C.l+C.w*(L.x[1]+L.x[0])/2,z=T.cy=C.t+C.h*(1-L.y[0])-O/2;if(!S)return k.remove();var R=null,F={};_&&k.each((function(e){F[b.getPtId(e)]={rpx0:e.rpx0,rpx1:e.rpx1,x0:e.x0,x1:e.x1,transform:e.transform},!R&&b.isEntry(e)&&(R=e)}));var B=function(e){return i.partition().size([2*Math.PI,e.height+1])(e)}(S).descendants(),N=S.height+1,j=0,U=E;T.hasMultipleRoots&&b.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(e){return e.y1<=U}));var V=p(M.rotation);V&&B.forEach((function(e){e.x0+=V,e.x1+=V}));var H=Math.min(N,E),q=function(e){return(e-j)/H*I},G=function(e,t){return[e*Math.cos(t),-e*Math.sin(t)]},Y=function(e){return s.pathAnnulus(e.rpx0,e.rpx1,e.x0,e.x1,D,z)},W=function(e){return D+w(e)[0]*(e.transform.rCenter||0)+(e.transform.x||0)},Z=function(e){return z+w(e)[1]*(e.transform.rCenter||0)+(e.transform.y||0)};(k=k.data(B,b.getPtId)).enter().append(\"g\").classed(\"slice\",!0),_?k.exit().transition().each((function(){var e=n.select(this);e.select(\"path.surface\").transition().attrTween(\"d\",(function(e){var t=function(e){var t,r=b.getPtId(e),n=F[r],i=F[b.getPtId(S)];if(i){var o=(e.x1>i.x1?2*Math.PI:0)+V;t=e.rpx1<i.rpx1?{x0:e.x0,x1:e.x1,rpx0:0,rpx1:0}:{x0:o,x1:o,rpx0:e.rpx0,rpx1:e.rpx1}}else{var s,l=b.getPtId(e.parent);k.each((function(e){if(b.getPtId(e)===l)return s=e}));var u,c=s.children;c.forEach((function(e,t){if(b.getPtId(e)===r)return u=t}));var f=c.length,h=a(s.x0,s.x1);t={rpx0:I,rpx1:I,x0:h(u/f),x1:h((u+1)/f)}}return a(n,t)}(e);return function(e){return Y(t(e))}})),e.select(\"g.slicetext\").attr(\"opacity\",0)})).remove():k.exit().remove(),k.order();var X=null;if(_&&R){var K=b.getPtId(R);k.each((function(e){null===X&&b.getPtId(e)===K&&(X=e.x1)}))}var J=k;function $(e){var t=e.parent,r=F[b.getPtId(t)],n={};if(r){var i=t.children,o=i.indexOf(e),s=i.length,l=a(r.x0,r.x1);n.x0=l(o/s),n.x1=l(o/s)}else n.x0=n.x1=0;return n}_&&(J=J.transition().each(\"end\",(function(){var t=n.select(this);b.setSliceCursor(t,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})}))),J.each((function(i){var u=n.select(this),f=s.ensureSingle(u,\"path\",\"surface\",(function(e){e.style(\"pointer-events\",h?\"none\":\"all\")}));i.rpx0=q(i.y0),i.rpx1=q(i.y1),i.xmid=(i.x0+i.x1)/2,i.pxmid=G(i.rpx1,i.xmid),i.midangle=-(i.xmid-Math.PI/2),i.startangle=-(i.x0-Math.PI/2),i.stopangle=-(i.x1-Math.PI/2),i.halfangle=.5*Math.min(s.angleDelta(i.x0,i.x1)||Math.PI,Math.PI),i.ring=1-i.rpx0/i.rpx1,i.rInscribed=function(e){return 0===e.rpx0&&s.isFullCircle([e.x0,e.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2))}(i),_?f.transition().attrTween(\"d\",(function(e){var t=function(e){var t,r=F[b.getPtId(e)],n={x0:e.x0,x1:e.x1,rpx0:e.rpx0,rpx1:e.rpx1};if(r)t=r;else if(R)if(e.parent)if(X){var i=(e.x1>X?2*Math.PI:0)+V;t={x0:i,x1:i}}else t={rpx0:I,rpx1:I},s.extendFlat(t,$(e));else t={rpx0:0,rpx1:0};else t={x0:V,x1:V};return a(t,n)}(e);return function(e){return Y(t(e))}})):f.attr(\"d\",Y),u.call(y,S,e,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(b.setSliceCursor,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:e._transitioning}),f.call(g,i,M,e);var p=s.ensureSingle(u,\"g\",\"slicetext\"),w=s.ensureSingle(p,\"text\",\"\",(function(e){e.attr(\"data-notex\",1)})),k=s.ensureUniformFontSize(e,b.determineTextFont(M,i,m.font));w.text(t.formatSliceLabel(i,S,M,r,m)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(o.font,k).call(l.convertToTspans,e);var A=o.bBox(w.node());i.transform=v(A,i,T),i.transform.targetX=W(i),i.transform.targetY=Z(i);var E=function(e,t){var r=e.transform;return d(r,t),r.fontSize=k.size,c(M.type,r,m),s.getTextTransform(r)};_?w.transition().attrTween(\"transform\",(function(e){var t=function(e){var t,r=F[b.getPtId(e)],n=e.transform;if(r)t=r;else if(t={rpx1:e.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(e.parent)if(X){var i=e.x1>X?2*Math.PI:0;t.x0=t.x1=i}else s.extendFlat(t,$(e));else t.x0=t.x1=V;else t.x0=t.x1=V;var o=a(t.transform.textPosAngle,e.transform.textPosAngle),l=a(t.rpx1,e.rpx1),u=a(t.x0,e.x0),f=a(t.x1,e.x1),h=a(t.transform.scale,n.scale),p=a(t.transform.rotate,n.rotate),d=0===n.rCenter?3:0===t.transform.rCenter?1/3:1,v=a(t.transform.rCenter,n.rCenter);return function(e){var t=l(e),r=u(e),i=f(e),a=function(e){return v(Math.pow(e,d))}(e),s={pxmid:G(t,(r+i)/2),rpx1:t,transform:{textPosAngle:o(e),rCenter:a,x:n.x,y:n.y}};return c(M.type,n,m),{transform:{targetX:W(s),targetY:Z(s),scale:h(e),rotate:p(e),rCenter:a}}}}(e);return function(e){return E(t(e),A)}})):w.attr(\"transform\",E(i,A))}))}function w(e){return t=e.rpx1,r=e.transform.textPosAngle,[t*Math.sin(r),-t*Math.cos(r)];var t,r}t.plot=function(e,t,r,i){var a,o,s=e._fullLayout,l=s._sunburstlayer,u=!r,c=!s.uniformtext.mode&&b.hasTransition(r);f(\"sunburst\",s),(a=l.selectAll(\"g.trace.sunburst\").data(t,(function(e){return e[0].trace.uid}))).enter().append(\"g\").classed(\"trace\",!0).classed(\"sunburst\",!0).attr(\"stroke-linejoin\",\"round\"),a.order(),c?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){o&&o()})).each(\"interrupt\",(function(){o&&o()})).each((function(){l.selectAll(\"g.trace\").each((function(t){_(e,t,this,r)}))}))):(a.each((function(t){_(e,t,this,r)})),s.uniformtext.mode&&m(e,s._sunburstlayer.selectAll(\".trace\"),\"sunburst\")),u&&a.exit().remove()},t.formatSliceLabel=function(e,t,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&\"none\"!==o))return\"\";var l=i.separators,u=n[0],c=e.data.data,f=u.hierarchy,h=b.isHierarchyRoot(e),p=b.getParent(f,e),d=b.getValue(e);if(!a){var v,g=o.split(\"+\"),m=function(e){return-1!==g.indexOf(e)},y=[];if(m(\"label\")&&c.label&&y.push(c.label),c.hasOwnProperty(\"v\")&&m(\"value\")&&y.push(b.formatValue(c.v,l)),!h){m(\"current path\")&&y.push(b.getPath(e.data));var x=0;m(\"percent parent\")&&x++,m(\"percent entry\")&&x++,m(\"percent root\")&&x++;var _=x>1;if(x){var w,k=function(e){v=b.formatPercent(w,l),_&&(v+=\" of \"+e),y.push(v)};m(\"percent parent\")&&!h&&(w=d/b.getValue(p),k(\"parent\")),m(\"percent entry\")&&(w=d/b.getValue(t),k(\"entry\")),m(\"percent root\")&&(w=d/b.getValue(f),k(\"root\"))}}return m(\"text\")&&(v=s.castOption(r,c.i,\"text\"),s.isValidTextValue(v)&&y.push(v)),y.join(\"<br>\")}var T=s.castOption(r,c.i,\"texttemplate\");if(!T)return\"\";var M={};c.label&&(M.label=c.label),c.hasOwnProperty(\"v\")&&(M.value=c.v,M.valueLabel=b.formatValue(c.v,l)),M.currentPath=b.getPath(e.data),h||(M.percentParent=d/b.getValue(p),M.percentParentLabel=b.formatPercent(M.percentParent,l),M.parent=b.getPtLabel(p)),M.percentEntry=d/b.getValue(t),M.percentEntryLabel=b.formatPercent(M.percentEntry,l),M.entry=b.getPtLabel(t),M.percentRoot=d/b.getValue(f),M.percentRootLabel=b.formatPercent(M.percentRoot,l),M.root=b.getPtLabel(f),c.hasOwnProperty(\"color\")&&(M.color=c.color);var A=s.castOption(r,c.i,\"text\");return(s.isValidTextValue(A)||\"\"===A)&&(M.text=A),M.customdata=s.castOption(r,c.i,\"customdata\"),s.texttemplateString(T,M,i._d3locale,M,r._meta||{})}},29969:function(e,t,r){\"use strict\";var n=r(39898),i=r(7901),a=r(71828),o=r(72597).resizeText,s=r(43467);function l(e,t,r,n){var o=t.data.data,l=!t.children,u=o.i,c=a.castOption(r,u,\"marker.line.color\")||i.defaultLine,f=a.castOption(r,u,\"marker.line.width\")||0;e.call(s,t,r,n).style(\"stroke-width\",f).call(i.stroke,c).style(\"opacity\",l?r.leaf.opacity:null)}e.exports={style:function(e){var t=e._fullLayout._sunburstlayer.selectAll(\".trace\");o(e,t,\"sunburst\"),t.each((function(t){var r=n.select(this),i=t[0].trace;r.style(\"opacity\",i.opacity),r.selectAll(\"path.surface\").each((function(t){n.select(this).call(l,t,i,e)}))}))},styleOne:l}},54532:function(e,t,r){\"use strict\";var n=r(7901),i=r(50693),a=r(12663).axisHoverFormat,o=r(5386).fF,s=r(9012),l=r(1426).extendFlat,u=r(30962).overrideAll;function c(e){return{show:{valType:\"boolean\",dflt:!1},start:{valType:\"number\",dflt:null,editType:\"plot\"},end:{valType:\"number\",dflt:null,editType:\"plot\"},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\"},project:{x:{valType:\"boolean\",dflt:!1},y:{valType:\"boolean\",dflt:!1},z:{valType:\"boolean\",dflt:!1}},color:{valType:\"color\",dflt:n.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:n.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var f=e.exports=u(l({z:{valType:\"data_array\"},x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:o(),xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),zhoverformat:a(\"z\"),connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},surfacecolor:{valType:\"data_array\"}},i(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:\"boolean\",dflt:!1},lightposition:{x:{valType:\"number\",min:-1e5,max:1e5,dflt:10},y:{valType:\"number\",min:-1e5,max:1e5,dflt:1e4},z:{valType:\"number\",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:\"number\",min:0,max:1,dflt:.8},diffuse:{valType:\"number\",min:0,max:1,dflt:.8},specular:{valType:\"number\",min:0,max:2,dflt:.05},roughness:{valType:\"number\",min:0,max:1,dflt:.5},fresnel:{valType:\"number\",min:0,max:5,dflt:.2}},opacity:{valType:\"number\",min:0,max:1,dflt:1},opacityscale:{valType:\"any\",editType:\"calc\"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),\"calc\",\"nested\");f.x.editType=f.y.editType=f.z.editType=\"calc+clearAxisTypes\",f.transforms=void 0},18396:function(e,t,r){\"use strict\";var n=r(78803);e.exports=function(e,t){t.surfacecolor?n(e,t,{vals:t.surfacecolor,containerStr:\"\",cLetter:\"c\"}):n(e,t,{vals:t.z,containerStr:\"\",cLetter:\"c\"})}},43768:function(e,t,r){\"use strict\";var n=r(9330).gl_surface3d,i=r(9330).ndarray,a=r(9330).ndarray_linear_interpolate.d2,o=r(824),s=r(43907),l=r(71828).isArrayOrTypedArray,u=r(81697).parseColorScale,c=r(78614),f=r(21081).extractOpts;function h(e,t,r){this.scene=e,this.uid=r,this.surface=t,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(e,t,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[t][e]:this.data.x[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(e,t,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[t][e]:this.data.y[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(e,t,r,n){var i=this.data.z[t][e];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[t][e]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(e){if(e.object===this.surface){var t=(e.data.index[0]-1)/this.dataScaleX-1,r=(e.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(t),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);e.index=[n,i],e.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],e.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=e.dataCoordinate[a]&&(e.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return Array.isArray(o)&&o[i]&&void 0!==o[i][n]?e.textLabel=o[i][n]:e.textLabel=o||\"\",e.data.dataCoordinate=e.dataCoordinate.slice(),this.surface.highlight(e.data),this.scene.glplot.spikes.position=e.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(e,t){if(e<t)return 0;for(var r=0;0===Math.floor(e%t);)e/=t,r++;return r}function g(e){for(var t=[],r=0;r<d.length;r++){var n=d[r];t.push(v(e,n))}return t}function m(e){for(var t=g(e),r=e,n=0;n<d.length;n++)if(t[n]>0){r=d[n];break}return r}function y(e,t){if(!(e<1||t<1)){for(var r=g(e),n=g(t),i=1,a=0;a<d.length;a++)i*=Math.pow(d[a],Math.max(r[a],n[a]));return i}}p.calcXnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getXat(t-1,0),i=this.getXat(t,0);r[t-1]=i!==n&&null!=n&&null!=i?Math.abs(i-n):0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)0===r[t-1]?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r},p.calcYnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getYat(0,t-1),i=this.getYat(0,t);r[t-1]=i!==n&&null!=n&&null!=i?Math.abs(i-n):0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)0===r[t-1]?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r};var x=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],b=x[9],_=x[13];function w(e,t,r){var n=r[8]+r[2]*t[0]+r[5]*t[1];return e[0]=(r[6]+r[0]*t[0]+r[3]*t[1])/n,e[1]=(r[7]+r[1]*t[0]+r[4]*t[1])/n,e}function k(e,t,r){return function(e,t,r,n){for(var i=[0,0],o=e.shape[0],s=e.shape[1],l=0;l<o;l++)for(var u=0;u<s;u++)r(i,[l,u],n),e.set(l,u,a(t,i[0],i[1]))}(e,t,w,r),e}function T(e,t){for(var r=!1,n=0;n<e.length;n++)if(t===e[n]){r=!0;break}!1===r&&e.push(t)}p.estimateScale=function(e,t){for(var r=1+function(e){if(0!==e.length){for(var t=1,r=0;r<e.length;r++)t=y(t,e[r]);return t}}(0===t?this.calcXnums(e):this.calcYnums(e));r<b;)r*=2;for(;r>_;)r--,r/=m(r),++r<b&&(r=_);var n=Math.round(r/e);return n>1?n:1},p.refineCoords=function(e){for(var t=this.dataScaleX,r=this.dataScaleY,n=e[0].shape[0],a=e[0].shape[1],o=0|Math.floor(e[0].shape[0]*t+1),s=0|Math.floor(e[0].shape[1]*r+1),l=1+n+1,u=1+a+1,c=i(new Float32Array(l*u),[l,u]),f=[1/t,0,0,0,1/r,0,0,0,1],h=0;h<e.length;++h){this.surface.padField(c,e[h]);var p=i(new Float32Array(o*s),[o,s]);k(p,c,f),e[h]=p}},p.setContourLevels=function(){var e,t,r,n=[[],[],[]],i=[!1,!1,!1],a=!1;for(e=0;e<3;++e)if(this.showContour[e]&&(a=!0,this.contourSize[e]>0&&null!==this.contourStart[e]&&null!==this.contourEnd[e]&&this.contourEnd[e]>this.contourStart[e]))for(i[e]=!0,t=this.contourStart[e];t<this.contourEnd[e];t+=this.contourSize[e])r=t*this.scene.dataScale[e],T(n[e],r);if(a){var o=[[],[],[]];for(e=0;e<3;++e)this.showContour[e]&&(o[e]=i[e]?n[e]:this.scene.contourLevels[e]);this.surface.update({levels:o})}},p.update=function(e){var t,r,n,a,l=this.scene,h=l.fullSceneLayout,p=this.surface,d=u(e),v=l.dataScale,g=e.z[0].length,m=e._ylength,y=l.contourLevels;this.data=e;var x=[];for(t=0;t<3;t++)for(x[t]=[],r=0;r<g;r++)x[t][r]=[];for(r=0;r<g;r++)for(n=0;n<m;n++)x[0][r][n]=this.getXat(r,n,e.xcalendar,h.xaxis),x[1][r][n]=this.getYat(r,n,e.ycalendar,h.yaxis),x[2][r][n]=this.getZat(r,n,e.zcalendar,h.zaxis);if(e.connectgaps)for(e._emptypoints=s(x[2]),o(x[2],e._emptypoints),e._interpolatedZ=[],r=0;r<g;r++)for(e._interpolatedZ[r]=[],n=0;n<m;n++)e._interpolatedZ[r][n]=x[2][r][n];for(t=0;t<3;t++)for(r=0;r<g;r++)for(n=0;n<m;n++)null==(a=x[t][r][n])?x[t][r][n]=NaN:a=x[t][r][n]*=v[t];for(t=0;t<3;t++)for(r=0;r<g;r++)for(n=0;n<m;n++)null!=(a=x[t][r][n])&&(this.minValues[t]>a&&(this.minValues[t]=a),this.maxValues[t]<a&&(this.maxValues[t]=a));for(t=0;t<3;t++)this.objectOffset[t]=.5*(this.minValues[t]+this.maxValues[t]);for(t=0;t<3;t++)for(r=0;r<g;r++)for(n=0;n<m;n++)null!=(a=x[t][r][n])&&(x[t][r][n]-=this.objectOffset[t]);var b=[i(new Float32Array(g*m),[g,m]),i(new Float32Array(g*m),[g,m]),i(new Float32Array(g*m),[g,m])];for(t=0;t<3;t++)for(r=0;r<g;r++)for(n=0;n<m;n++)b[t].set(r,n,x[t][r][n]);x=[];var w={colormap:d,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!e.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacityscale:e.opacityscale,opacity:e.opacity},k=f(e);if(w.intensityBounds=[k.min,k.max],e.surfacecolor){var T=i(new Float32Array(g*m),[g,m]);for(r=0;r<g;r++)for(n=0;n<m;n++)T.set(r,n,e.surfacecolor[n][r]);b.push(T)}else w.intensityBounds[0]*=v[2],w.intensityBounds[1]*=v[2];(_<b[0].shape[0]||_<b[0].shape[1])&&(this.refineData=!1),!0===this.refineData&&(this.dataScaleX=this.estimateScale(b[0].shape[0],0),this.dataScaleY=this.estimateScale(b[0].shape[1],1),1===this.dataScaleX&&1===this.dataScaleY||this.refineCoords(b)),e.surfacecolor&&(w.intensity=b.pop());var M=[!0,!0,!0],A=[\"x\",\"y\",\"z\"];for(t=0;t<3;++t){var S=e.contours[A[t]];M[t]=S.highlight,w.showContour[t]=S.show||S.highlight,w.showContour[t]&&(w.contourProject[t]=[S.project.x,S.project.y,S.project.z],S.show?(this.showContour[t]=!0,w.levels[t]=y[t],p.highlightColor[t]=w.contourColor[t]=c(S.color),S.usecolormap?p.highlightTint[t]=w.contourTint[t]=0:p.highlightTint[t]=w.contourTint[t]=1,w.contourWidth[t]=S.width,this.contourStart[t]=S.start,this.contourEnd[t]=S.end,this.contourSize[t]=S.size):(this.showContour[t]=!1,this.contourStart[t]=null,this.contourEnd[t]=null,this.contourSize[t]=0),S.highlight&&(w.dynamicColor[t]=c(S.highlightcolor),w.dynamicWidth[t]=S.highlightwidth))}(function(e){var t=e[0].rgb,r=e[e.length-1].rgb;return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]&&t[3]===r[3]})(d)&&(w.vertexColor=!0),w.objectOffset=this.objectOffset,w.coords=b,p.update(w),p.visible=e.visible,p.enableDynamic=M,p.enableHighlight=M,p.snapToData=!0,\"lighting\"in e&&(p.ambientLight=e.lighting.ambient,p.diffuseLight=e.lighting.diffuse,p.specularLight=e.lighting.specular,p.roughness=e.lighting.roughness,p.fresnel=e.lighting.fresnel),\"lightposition\"in e&&(p.lightPosition=[e.lightposition.x,e.lightposition.y,e.lightposition.z])},p.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(e,t){var r=e.glplot.gl,i=n({gl:r}),a=new h(e,i,t.uid);return i._trace=a,a.update(t),e.glplot.add(i),a}},91831:function(e,t,r){\"use strict\";var n=r(73972),i=r(71828),a=r(1586),o=r(54532);function s(e,t,r,n){var i=n(\"opacityscale\");\"max\"===i?t.opacityscale=[[0,.1],[1,1]]:\"min\"===i?t.opacityscale=[[0,1],[1,.1]]:\"extremes\"===i?t.opacityscale=function(e,t){for(var r=[],n=0;n<32;n++){var i=n/31,a=.1+.9*(1-Math.pow(Math.sin(1*i*Math.PI),2));r.push([i,Math.max(0,Math.min(1,a))])}return r}():function(e){var t=0;if(!Array.isArray(e)||e.length<2)return!1;if(!e[0]||!e[e.length-1])return!1;if(0!=+e[0][0]||1!=+e[e.length-1][0])return!1;for(var r=0;r<e.length;r++){var n=e[r];if(2!==n.length||+n[0]<t)return!1;t=+n[0]}return!0}(i)||(t.opacityscale=void 0)}function l(e,t,r){t in e&&!(r in e)&&(e[r]=e[t])}e.exports={supplyDefaults:function(e,t,r,u){var c,f;function h(r,n){return i.coerce(e,t,o,r,n)}var p=h(\"x\"),d=h(\"y\"),v=h(\"z\");if(!v||!v.length||p&&p.length<1||d&&d.length<1)t.visible=!1;else{t._xlength=Array.isArray(p)&&i.isArrayOrTypedArray(p[0])?v.length:v[0].length,t._ylength=v.length,n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(e,t,[\"x\",\"y\",\"z\"],u),h(\"text\"),h(\"hovertext\"),h(\"hovertemplate\"),h(\"xhoverformat\"),h(\"yhoverformat\"),h(\"zhoverformat\"),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"connectgaps\",\"opacity\"].forEach((function(e){h(e)}));var g=h(\"surfacecolor\"),m=[\"x\",\"y\",\"z\"];for(c=0;c<3;++c){var y=\"contours.\"+m[c],x=h(y+\".show\"),b=h(y+\".highlight\");if(x||b)for(f=0;f<3;++f)h(y+\".project.\"+m[f]);x&&(h(y+\".color\"),h(y+\".width\"),h(y+\".usecolormap\")),b&&(h(y+\".highlightcolor\"),h(y+\".highlightwidth\")),h(y+\".start\"),h(y+\".end\"),h(y+\".size\")}g||(l(e,\"zmin\",\"cmin\"),l(e,\"zmax\",\"cmax\"),l(e,\"zauto\",\"cauto\")),a(e,t,u,h,{prefix:\"\",cLetter:\"c\"}),s(0,t,0,h),t._length=null}},opacityscaleDefaults:s}},93601:function(e,t,r){\"use strict\";e.exports={attributes:r(54532),supplyDefaults:r(91831).supplyDefaults,colorbar:{min:\"cmin\",max:\"cmax\"},calc:r(18396),plot:r(43768),moduleType:\"trace\",name:\"surface\",basePlotModule:r(58547),categories:[\"gl3d\",\"2dMap\",\"showLegend\"],meta:{}}},44464:function(e,t,r){\"use strict\";var n=r(50215),i=r(1426).extendFlat,a=r(30962).overrideAll,o=r(41940),s=r(27670).Y,l=r(12663).descriptionOnlyNumbers;(e.exports=a({domain:s({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:l(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:i({},o({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:l(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:i({},o({arrayOk:!0}))}},\"calc\",\"from-root\")).transforms=void 0},99469:function(e,t,r){\"use strict\";var n=r(27659).a0,i=r(36736),a=\"table\";t.name=a,t.plot=function(e){var t=n(e.calcdata,a)[0];t.length&&i(e,t)},t.clean=function(e,t,r,n){var i=n._has&&n._has(a),o=t._has&&t._has(a);i&&!o&&n._paperdiv.selectAll(\".table\").remove()}},76333:function(e,t,r){\"use strict\";var n=r(28984).wrap;e.exports=function(){return n({})}},49850:function(e){\"use strict\";e.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"<br>\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}},51018:function(e,t,r){\"use strict\";var n=r(49850),i=r(1426).extendFlat,a=r(92770);function o(e){if(Array.isArray(e)){for(var t=0,r=0;r<e.length;r++)t=Math.max(t,o(e[r]));return t}return e}function s(e,t){return e+t}function l(e){var t,r=e.slice(),n=1/0,i=0;for(t=0;t<r.length;t++)Array.isArray(r[t])||(r[t]=[r[t]]),n=Math.min(n,r[t].length),i=Math.max(i,r[t].length);if(n!==i)for(t=0;t<r.length;t++){var a=i-r[t].length;a&&(r[t]=r[t].concat(u(a)))}return r}function u(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=\"\";return t}function c(e){return e.calcdata.columns.reduce((function(t,r){return r.xIndex<e.xIndex?t+r.columnWidth:t}),0)}function f(e,t){return Object.keys(e).map((function(r){return i({},e[r],{auxiliaryBlocks:t})}))}function h(e,t){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,u=0;u<e.length;u++)r=e[u],o.rows.push({rowIndex:u,rowHeight:r}),((a+=r)>=t||u===e.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=u+1,a=0);return n}e.exports=function(e,t){var r=l(t.cells.values),p=function(e){return e.slice(t.header.values.length,e.length)},d=l(t.header.values);d.length&&!d[0].length&&(d[0]=[\"\"],d=l(d));var v=d.concat(p(r).map((function(){return u((d[0]||[\"\"]).length)}))),g=t.domain,m=Math.floor(e._fullLayout._size.w*(g.x[1]-g.x[0])),y=Math.floor(e._fullLayout._size.h*(g.y[1]-g.y[0])),x=t.header.values.length?v[0].map((function(){return t.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return t.cells.height})):[],_=x.reduce(s,0),w=h(b,y-_+n.uplift),k=f(h(x,_),[]),T=f(w,k),M={},A=t._fullInput.columnorder.concat(p(r.map((function(e,t){return t})))),S=v.map((function(e,r){var n=Array.isArray(t.columnwidth)?t.columnwidth[Math.min(r,t.columnwidth.length-1)]:t.columnwidth;return a(n)?Number(n):1})),E=S.reduce(s,0);S=S.map((function(e){return e/E*m}));var C=Math.max(o(t.header.line.width),o(t.cells.line.width)),L={key:t.uid+e._context.staticPlot,translateX:g.x[0]*e._fullLayout._size.w,translateY:e._fullLayout._size.h*(1-g.y[1]),size:e._fullLayout._size,width:m,maxLineWidth:C,height:y,columnOrder:A,groupHeight:y,rowBlocks:T,headerRowBlocks:k,scrollY:0,cells:i({},t.cells,{values:r}),headerCells:i({},t.header,{values:v}),gdColumns:v.map((function(e){return e[0]})),gdColumnsOriginalOrder:v.map((function(e){return e[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:v.map((function(e,t){var r=M[e];return M[e]=(r||0)+1,{key:e+\"__\"+M[e],label:e,specIndex:t,xIndex:A[t],xScale:c,x:void 0,calcdata:void 0,columnWidth:S[t]}}))};return L.columns.forEach((function(e){e.calcdata=L,e.x=c(e)})),L}},56269:function(e,t,r){\"use strict\";var n=r(1426).extendFlat;t.splitToPanels=function(e){var t=[0,0],r=n({},e,{key:\"header\",type:\"header\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:n({},e.calcdata,{cells:e.calcdata.headerCells})});return[n({},e,{key:\"cells1\",type:\"cells\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),n({},e,{key:\"cells2\",type:\"cells\",page:1,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),r]},t.splitToCells=function(e){var t=function(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0;return[r,t?r+t.rows.length:0]}(e);return(e.values||[]).slice(t[0],t[1]).map((function(r,n){return{keyWithinBlock:n+(\"string\"==typeof r&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\"),key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}}))}},39754:function(e,t,r){\"use strict\";var n=r(71828),i=r(44464),a=r(27670).c;e.exports=function(e,t,r,o){function s(r,a){return n.coerce(e,t,i,r,a)}a(t,o,s),s(\"columnwidth\"),s(\"header.values\"),s(\"header.format\"),s(\"header.align\"),s(\"header.prefix\"),s(\"header.suffix\"),s(\"header.height\"),s(\"header.line.width\"),s(\"header.line.color\"),s(\"header.fill.color\"),n.coerceFont(s,\"header.font\",n.extendFlat({},o.font)),function(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(e,t){return e-t})),o=i.map((function(e){return a.indexOf(e)})),s=o.length;s<n;s++)o.push(s);t(\"columnorder\",o)}(t,s),s(\"cells.values\"),s(\"cells.format\"),s(\"cells.align\"),s(\"cells.prefix\"),s(\"cells.suffix\"),s(\"cells.height\"),s(\"cells.line.width\"),s(\"cells.line.color\"),s(\"cells.fill.color\"),n.coerceFont(s,\"cells.font\",n.extendFlat({},o.font)),t._length=null}},96595:function(e,t,r){\"use strict\";e.exports={attributes:r(44464),supplyDefaults:r(39754),calc:r(76333),plot:r(36736),moduleType:\"trace\",name:\"table\",basePlotModule:r(99469),categories:[\"noOpacity\"],meta:{}}},36736:function(e,t,r){\"use strict\";var n=r(49850),i=r(39898),a=r(71828).numberFormat,o=r(28984),s=r(91424),l=r(63893),u=r(71828).raiseToTop,c=r(71828).strTranslate,f=r(71828).cancelTransition,h=r(51018),p=r(56269),d=r(7901);function v(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function g(e,t){return\"clip\"+e._fullLayout._uid+\"_scrollAreaBottomClip_\"+t.key}function m(e,t){return\"clip\"+e._fullLayout._uid+\"_columnBoundaryClippath_\"+t.calcdata.key+\"_\"+t.specIndex}function y(e){return[].concat.apply([],e.map((function(e){return e}))).map((function(e){return e.__data__}))}function x(e,t,r){var a=e.selectAll(\".\"+n.cn.scrollbarKit).data(o.repeat,o.keyFun);a.enter().append(\"g\").classed(n.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),a.each((function(e){var t=e.scrollbarState;t.totalHeight=function(e){var t=e.rowBlocks;return z(t,t.length-1)+(t.length?R(t[t.length-1],1/0):1)}(e),t.scrollableAreaHeight=e.groupHeight-S(e),t.currentlyVisibleHeight=Math.min(t.totalHeight,t.scrollableAreaHeight),t.ratio=t.currentlyVisibleHeight/t.totalHeight,t.barLength=Math.max(t.ratio*t.currentlyVisibleHeight,n.goldenRatio*n.scrollbarWidth),t.barWiggleRoom=t.currentlyVisibleHeight-t.barLength,t.wiggleRoom=Math.max(0,t.totalHeight-t.scrollableAreaHeight),t.topY=0===t.barWiggleRoom?0:e.scrollY/t.wiggleRoom*t.barWiggleRoom,t.bottomY=t.topY+t.barLength,t.dragMultiplier=t.wiggleRoom/t.barWiggleRoom})).attr(\"transform\",(function(e){var t=e.width+n.scrollbarWidth/2+n.scrollbarOffset;return c(t,S(e))}));var s=a.selectAll(\".\"+n.cn.scrollbar).data(o.repeat,o.keyFun);s.enter().append(\"g\").classed(n.cn.scrollbar,!0);var l=s.selectAll(\".\"+n.cn.scrollbarSlider).data(o.repeat,o.keyFun);l.enter().append(\"g\").classed(n.cn.scrollbarSlider,!0),l.attr(\"transform\",(function(e){return c(0,e.scrollbarState.topY||0)}));var u=l.selectAll(\".\"+n.cn.scrollbarGlyph).data(o.repeat,o.keyFun);u.enter().append(\"line\").classed(n.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",n.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",n.scrollbarWidth/2),u.attr(\"y2\",(function(e){return e.scrollbarState.barLength-n.scrollbarWidth/2})).attr(\"stroke-opacity\",(function(e){return e.columnDragInProgress||!e.scrollbarState.barWiggleRoom||r?0:.4})),u.transition().delay(0).duration(0),u.transition().delay(n.scrollbarHideDelay).duration(n.scrollbarHideDuration).attr(\"stroke-opacity\",0);var f=s.selectAll(\".\"+n.cn.scrollbarCaptureZone).data(o.repeat,o.keyFun);f.enter().append(\"line\").classed(n.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",n.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",(function(r){var n=i.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=n-a.top,l=i.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||C(t,e,null,l(s-o.barLength/2))(r)})).call(i.behavior.drag().origin((function(e){return i.event.stopPropagation(),e.scrollbarState.scrollbarScrollInProgress=!0,e})).on(\"drag\",C(t,e)).on(\"dragend\",(function(){}))),f.attr(\"y2\",(function(e){return e.scrollbarState.scrollableAreaHeight})),t._context.staticPlot&&(u.remove(),f.remove())}function b(e,t,r,a){var l=function(e){var t=e.selectAll(\".\"+n.cn.columnCells).data(o.repeat,o.keyFun);return t.enter().append(\"g\").classed(n.cn.columnCells,!0),t.exit().remove(),t}(r),u=function(e){var t=e.selectAll(\".\"+n.cn.columnCell).data(p.splitToCells,(function(e){return e.keyWithinBlock}));return t.enter().append(\"g\").classed(n.cn.columnCell,!0),t.exit().remove(),t}(l);!function(e){e.each((function(e,t){var r=e.calcdata.cells.font,n=e.column.specIndex,i={size:k(r.size,n,t),color:k(r.color,n,t),family:k(r.family,n,t)};e.rowNumber=e.key,e.align=k(e.calcdata.cells.align,n,t),e.cellBorderWidth=k(e.calcdata.cells.line.width,n,t),e.font=i}))}(u);var c=function(e){var t=e.selectAll(\".\"+n.cn.cellRect).data(o.repeat,(function(e){return e.keyWithinBlock}));return t.enter().append(\"rect\").classed(n.cn.cellRect,!0),t}(u);!function(e){e.attr(\"width\",(function(e){return e.column.columnWidth})).attr(\"stroke-width\",(function(e){return e.cellBorderWidth})).each((function(e){var t=i.select(this);d.stroke(t,k(e.calcdata.cells.line.color,e.column.specIndex,e.rowNumber)),d.fill(t,k(e.calcdata.cells.fill.color,e.column.specIndex,e.rowNumber))}))}(c);var f=function(e){var t=e.selectAll(\".\"+n.cn.cellTextHolder).data(o.repeat,(function(e){return e.keyWithinBlock}));return t.enter().append(\"g\").classed(n.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),t}(u),h=function(e){var t=e.selectAll(\".\"+n.cn.cellText).data(o.repeat,(function(e){return e.keyWithinBlock}));return t.enter().append(\"text\").classed(n.cn.cellText,!0).style(\"cursor\",(function(){return\"auto\"})).on(\"mousedown\",(function(){i.event.stopPropagation()})),t}(f);!function(e){e.each((function(e){s.font(i.select(this),e.font)}))}(h),_(h,t,a,e),D(u)}function _(e,t,r,o){e.text((function(e){var t=e.column.specIndex,r=e.rowNumber,i=e.value,o=\"string\"==typeof i,s=o&&i.match(/<br>/i),l=!o||s;e.mayHaveMarkup=o&&i.match(/[<&>]/);var u,c=\"string\"==typeof(u=i)&&u.match(n.latexCheck);e.latex=c;var f,h,p=c?\"\":k(e.calcdata.cells.prefix,t,r)||\"\",d=c?\"\":k(e.calcdata.cells.suffix,t,r)||\"\",v=c?null:k(e.calcdata.cells.format,t,r)||null,g=p+(v?a(v)(e.value):e.value)+d;if(e.wrappingNeeded=!e.wrapped&&!l&&!c&&(f=w(g)),e.cellHeightMayIncrease=s||c||e.mayHaveMarkup||(void 0===f?w(g):f),e.needsConvertToTspans=e.mayHaveMarkup||e.wrappingNeeded||e.latex,e.wrappingNeeded){var m=(\" \"===n.wrapSplitCharacter?g.replace(/<a href=/gi,\"<a_href=\"):g).split(n.wrapSplitCharacter),y=\" \"===n.wrapSplitCharacter?m.map((function(e){return e.replace(/<a_href=/gi,\"<a href=\")})):m;e.fragments=y.map((function(e){return{text:e,width:null}})),e.fragments.push({fragment:n.wrapSpacer,width:null}),h=y.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete e.fragments,h=g;return h})).attr(\"dy\",(function(e){return e.needsConvertToTspans?0:\"0.75em\"})).each((function(e){var a=this,s=i.select(a),u=e.wrappingNeeded?P:O;e.needsConvertToTspans?l.convertToTspans(s,o,u(r,a,t,o,e)):i.select(a.parentNode).attr(\"transform\",(function(e){return c(I(e),n.cellPad)})).attr(\"text-anchor\",(function(e){return{left:\"start\",center:\"middle\",right:\"end\"}[e.align]}))}))}function w(e){return-1!==e.indexOf(n.wrapSplitCharacter)}function k(e,t,r){if(Array.isArray(e)){var n=e[Math.min(t,e.length-1)];return Array.isArray(n)?n[Math.min(r,n.length-1)]:n}return e}function T(e,t,r){e.transition().ease(n.releaseTransitionEase).duration(n.releaseTransitionDuration).attr(\"transform\",c(t.x,r))}function M(e){return\"cells\"===e.type}function A(e){return\"header\"===e.type}function S(e){return(e.rowBlocks.length?e.rowBlocks[0].auxiliaryBlocks:[]).reduce((function(e,t){return e+R(t,1/0)}),0)}function E(e,t,r){var n=y(t)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=z(i,i.length),s=n.calcdata.groupHeight-S(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=function(e,t,r){for(var n=[],i=0,a=0;a<e.length;a++){for(var o=e[a],s=o.rows,l=0,u=0;u<s.length;u++)l+=s[u].rowHeight;o.allRowsHeight=l,t<i+l&&t+r>i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),t.each((function(e,t){e.page=u[t],e.scrollY=l})),t.attr(\"transform\",(function(e){var t=z(e.rowBlocks,e.page)-e.scrollY;return c(0,t)})),e&&(L(e,r,t,u,n.prevPages,n,0),L(e,r,t,u,n.prevPages,n,1),x(r,e))}}function C(e,t,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=t.filter((function(e){return s.key===e.key})),u=r||s.scrollbarState.dragMultiplier,c=s.scrollY;s.scrollY=void 0===a?s.scrollY+u*i.event.dy:a;var f=l.selectAll(\".\"+n.cn.yColumn).selectAll(\".\"+n.cn.columnBlock).filter(M);return E(e,f,l),s.scrollY===c}}function L(e,t,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(e,t){return t===o&&n[t]!==i[t]}));b(e,t,a,r),i[o]=n[o]})))}function P(e,t,r,a){return function(){var o=i.select(t.parentNode);o.each((function(e){var t=e.fragments;o.selectAll(\"tspan.line\").each((function(e,r){t[r].width=this.getComputedTextLength()}));var r,i,a=t[t.length-1].width,s=t.slice(0,-1),l=[],u=0,c=e.column.columnWidth-2*n.cellPad;for(e.value=\"\";s.length;)u+(i=(r=s.shift()).width+a)>c&&(e.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],u=0),l.push(r.text),u+=i;u&&(e.value+=l.join(n.wrapSpacer)),e.wrapped=!0})),o.selectAll(\"tspan.line\").remove(),_(o.select(\".\"+n.cn.cellText),r,e,a),i.select(t.parentNode.parentNode).call(D)}}function O(e,t,r,a,o){return function(){if(!o.settledY){var s=i.select(t.parentNode),l=B(o),u=o.key-l.firstRowIndex,f=l.rows[u].rowHeight,h=o.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*n.cellPad:f,p=Math.max(h,f);p-l.rows[u].rowHeight&&(l.rows[u].rowHeight=p,e.selectAll(\".\"+n.cn.columnCell).call(D),E(null,e.filter(M),0),x(r,a,!0)),s.attr(\"transform\",(function(){var e=this,t=e.parentNode.getBoundingClientRect(),r=i.select(e.parentNode).select(\".\"+n.cn.cellRect).node().getBoundingClientRect(),a=e.transform.baseVal.consolidate(),s=r.top-t.top+(a?a.matrix.f:n.cellPad);return c(I(o,i.select(e.parentNode).select(\".\"+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function I(e,t){switch(e.align){case\"left\":default:return n.cellPad;case\"right\":return e.column.columnWidth-(t||0)-n.cellPad;case\"center\":return(e.column.columnWidth-(t||0))/2}}function D(e){e.attr(\"transform\",(function(e){var t=e.rowBlocks[0].auxiliaryBlocks.reduce((function(e,t){return e+R(t,1/0)}),0),r=R(B(e),e.key);return c(0,r+t)})).selectAll(\".\"+n.cn.cellRect).attr(\"height\",(function(e){return(t=B(e),r=e.key,t.rows[r-t.firstRowIndex]).rowHeight;var t,r}))}function z(e,t){for(var r=0,n=t-1;n>=0;n--)r+=F(e[n]);return r}function R(e,t){for(var r=0,n=0;n<e.rows.length&&e.rows[n].rowIndex<t;n++)r+=e.rows[n].rowHeight;return r}function F(e){var t=e.allRowsHeight;if(void 0!==t)return t;for(var r=0,n=0;n<e.rows.length;n++)r+=e.rows[n].rowHeight;return e.allRowsHeight=r,r}function B(e){return e.rowBlocks[e.page]}e.exports=function(e,t){var r=!e._context.staticPlot,a=e._fullLayout._paper.selectAll(\".\"+n.cn.table).data(t.map((function(t){var r=o.unwrap(t).trace;return h(e,r)})),o.keyFun);a.exit().remove(),a.enter().append(\"g\").classed(n.cn.table,!0).attr(\"overflow\",\"visible\").style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"all\"),a.attr(\"width\",(function(e){return e.width+e.size.l+e.size.r})).attr(\"height\",(function(e){return e.height+e.size.t+e.size.b})).attr(\"transform\",(function(e){return c(e.translateX,e.translateY)}));var l=a.selectAll(\".\"+n.cn.tableControlView).data(o.repeat,o.keyFun),d=l.enter().append(\"g\").classed(n.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\");if(r){var _=\"onwheel\"in document?\"wheel\":\"mousewheel\";d.on(\"mousemove\",(function(t){l.filter((function(e){return t===e})).call(x,e)})).on(_,(function(t){if(!t.scrollbarState.wheeling){t.scrollbarState.wheeling=!0;var r=t.scrollY+i.event.deltaY;C(e,l,null,r)(t)||(i.event.stopPropagation(),i.event.preventDefault()),t.scrollbarState.wheeling=!1}})).call(x,e,!0)}l.attr(\"transform\",(function(e){return c(e.size.l,e.size.t)}));var w=l.selectAll(\".\"+n.cn.scrollBackground).data(o.repeat,o.keyFun);w.enter().append(\"rect\").classed(n.cn.scrollBackground,!0).attr(\"fill\",\"none\"),w.attr(\"width\",(function(e){return e.width})).attr(\"height\",(function(e){return e.height})),l.each((function(t){s.setClipUrl(i.select(this),g(e,t),e)}));var k=l.selectAll(\".\"+n.cn.yColumn).data((function(e){return e.columns}),o.keyFun);k.enter().append(\"g\").classed(n.cn.yColumn,!0),k.exit().remove(),k.attr(\"transform\",(function(e){return c(e.x,0)})),r&&k.call(i.behavior.drag().origin((function(t){return T(i.select(this),t,-n.uplift),u(this),t.calcdata.columnDragInProgress=!0,x(l.filter((function(e){return t.calcdata.key===e.key})),e),t})).on(\"drag\",(function(e){var t=i.select(this),r=function(t){return(e===t?i.event.x:t.x)+t.columnWidth/2};e.x=Math.max(-n.overdrag,Math.min(e.calcdata.width+n.overdrag-e.columnWidth,i.event.x)),y(k).filter((function(t){return t.calcdata.key===e.calcdata.key})).sort((function(e,t){return r(e)-r(t)})).forEach((function(t,r){t.xIndex=r,t.x=e===t?t.x:t.xScale(t)})),k.filter((function(t){return e!==t})).transition().ease(n.transitionEase).duration(n.transitionDuration).attr(\"transform\",(function(e){return c(e.x,0)})),t.call(f).attr(\"transform\",c(e.x,-n.uplift))})).on(\"dragend\",(function(t){var r=i.select(this),n=t.calcdata;t.x=t.xScale(t),t.calcdata.columnDragInProgress=!1,T(r,t,0),function(e,t,r){var n=t.gdColumnsOriginalOrder;t.gdColumns.sort((function(e,t){return r[n.indexOf(e)]-r[n.indexOf(t)]})),t.columnorder=r,e.emit(\"plotly_restyle\")}(e,n,n.columns.map((function(e){return e.xIndex})))}))),k.each((function(t){s.setClipUrl(i.select(this),m(e,t),e)}));var S=k.selectAll(\".\"+n.cn.columnBlock).data(p.splitToPanels,o.keyFun);S.enter().append(\"g\").classed(n.cn.columnBlock,!0).attr(\"id\",(function(e){return e.key})),S.style(\"cursor\",(function(e){return e.dragHandle?\"ew-resize\":e.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"}));var L=S.filter(A),P=S.filter(M);r&&P.call(i.behavior.drag().origin((function(e){return i.event.stopPropagation(),e})).on(\"drag\",C(e,l,-1)).on(\"dragend\",(function(){}))),b(e,l,L,S),b(e,l,P,S);var O=l.selectAll(\".\"+n.cn.scrollAreaClip).data(o.repeat,o.keyFun);O.enter().append(\"clipPath\").classed(n.cn.scrollAreaClip,!0).attr(\"id\",(function(t){return g(e,t)}));var I=O.selectAll(\".\"+n.cn.scrollAreaClipRect).data(o.repeat,o.keyFun);I.enter().append(\"rect\").classed(n.cn.scrollAreaClipRect,!0).attr(\"x\",-n.overdrag).attr(\"y\",-n.uplift).attr(\"fill\",\"none\"),I.attr(\"width\",(function(e){return e.width+2*n.overdrag})).attr(\"height\",(function(e){return e.height+n.uplift})),k.selectAll(\".\"+n.cn.columnBoundary).data(o.repeat,o.keyFun).enter().append(\"g\").classed(n.cn.columnBoundary,!0);var D=k.selectAll(\".\"+n.cn.columnBoundaryClippath).data(o.repeat,o.keyFun);D.enter().append(\"clipPath\").classed(n.cn.columnBoundaryClippath,!0),D.attr(\"id\",(function(t){return m(e,t)}));var z=D.selectAll(\".\"+n.cn.columnBoundaryRect).data(o.repeat,o.keyFun);z.enter().append(\"rect\").classed(n.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),z.attr(\"width\",(function(e){return e.columnWidth+2*v(e)})).attr(\"height\",(function(e){return e.calcdata.height+2*v(e)+n.uplift})).attr(\"x\",(function(e){return-v(e)})).attr(\"y\",(function(e){return-v(e)})),E(null,P,l)}},45802:function(e,t,r){\"use strict\";var n=r(5386).fF,i=r(5386).si,a=r(50693),o=r(27670).Y,s=r(34e3),l=r(57564),u=r(43473),c=r(1426).extendFlat,f=r(79952).u;e.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{packing:{valType:\"enumerated\",values:[\"squarify\",\"binary\",\"dice\",\"slice\",\"slice-dice\",\"dice-slice\"],dflt:\"squarify\",editType:\"plot\"},squarifyratio:{valType:\"number\",min:1,dflt:1,editType:\"plot\"},flip:{valType:\"flaglist\",flags:[\"x\",\"y\"],dflt:\"\",editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:3,editType:\"plot\"},editType:\"calc\"},marker:c({pad:{t:{valType:\"number\",min:0,editType:\"plot\"},l:{valType:\"number\",min:0,editType:\"plot\"},r:{valType:\"number\",min:0,editType:\"plot\"},b:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\"},colors:l.marker.colors,pattern:f,depthfade:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],editType:\"style\"},line:l.marker.line,cornerradius:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},a(\"marker\",{colorAttr:\"colors\",anim:!1})),pathbar:{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},edgeshape:{valType:\"enumerated\",values:[\">\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont:c({},s.textfont,{}),editType:\"calc\"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:\"plot\"},{keys:u.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:u.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c({},s.outsidetextfont,{}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"top left\",editType:\"plot\"},sort:s.sort,root:l.root,domain:o({name:\"treemap\",trace:!0,editType:\"calc\"})}},78018:function(e,t,r){\"use strict\";var n=r(74875);t.name=\"treemap\",t.plot=function(e,r,i,a){n.plotBasePlot(t.name,e,r,i,a)},t.clean=function(e,r,i,a){n.cleanBasePlot(t.name,e,r,i,a)}},65039:function(e,t,r){\"use strict\";var n=r(52147);t.y=function(e,t){return n.calc(e,t)},t.T=function(e){return n._runCrossTraceCalc(\"treemap\",e)}},43473:function(e){\"use strict\";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}},91174:function(e,t,r){\"use strict\";var n=r(71828),i=r(45802),a=r(7901),o=r(27670).c,s=r(90769).handleText,l=r(97313).TEXTPAD,u=r(37434).handleMarkerDefaults,c=r(21081),f=c.hasColorscale,h=c.handleDefaults;e.exports=function(e,t,r,c){function p(r,a){return n.coerce(e,t,i,r,a)}var d=p(\"labels\"),v=p(\"parents\");if(d&&d.length&&v&&v.length){var g=p(\"values\");g&&g.length?p(\"branchvalues\"):p(\"count\"),p(\"level\"),p(\"maxdepth\"),\"squarify\"===p(\"tiling.packing\")&&p(\"tiling.squarifyratio\"),p(\"tiling.flip\"),p(\"tiling.pad\");var m=p(\"text\");p(\"texttemplate\"),t.texttemplate||p(\"textinfo\",Array.isArray(m)?\"text+label\":\"label\"),p(\"hovertext\"),p(\"hovertemplate\");var y=p(\"pathbar.visible\");s(e,t,c,p,\"auto\",{hasPathbar:y,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p(\"textposition\");var x=-1!==t.textposition.indexOf(\"bottom\");u(e,t,c,p),(t._hasColorscale=f(e,\"marker\",\"colors\")||(e.marker||{}).coloraxis)?h(e,t,c,p,{prefix:\"marker.\",cLetter:\"c\"}):p(\"marker.depthfade\",!(t.marker.colors||[]).length);var b=2*t.textfont.size;p(\"marker.pad.t\",x?b/4:b),p(\"marker.pad.l\",b/4),p(\"marker.pad.r\",b/4),p(\"marker.pad.b\",x?b:b/4),p(\"marker.cornerradius\"),t._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},y&&(p(\"pathbar.thickness\",t.pathbar.textfont.size+2*l),p(\"pathbar.side\"),p(\"pathbar.edgeshape\")),p(\"sort\"),p(\"root.color\"),o(t,c,p),t._length=null}else t.visible=!1}},80694:function(e,t,r){\"use strict\";var n=r(39898),i=r(2791),a=r(72597).clearMinTextSize,o=r(16688).resizeText,s=r(46650);e.exports=function(e,t,r,l,u){var c,f,h=u.type,p=u.drawDescendants,d=e._fullLayout,v=d[\"_\"+h+\"layer\"],g=!r;a(h,d),(c=v.selectAll(\"g.trace.\"+h).data(t,(function(e){return e[0].trace.uid}))).enter().append(\"g\").classed(\"trace\",!0).classed(h,!0),c.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(f=l()),n.transition().duration(r.duration).ease(r.easing).each(\"end\",(function(){f&&f()})).each(\"interrupt\",(function(){f&&f()})).each((function(){v.selectAll(\"g.trace\").each((function(t){s(e,t,this,r,p)}))}))):(c.each((function(t){s(e,t,this,r,p)})),d.uniformtext.mode&&o(e,v.selectAll(\".trace\"),h)),g&&c.exit().remove()}},66209:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(91424),o=r(63893),s=r(37210),l=r(96362).styleOne,u=r(43473),c=r(2791),f=r(83523),h=!0;e.exports=function(e,t,r,p,d){var v=d.barDifY,g=d.width,m=d.height,y=d.viewX,x=d.viewY,b=d.pathSlice,_=d.toMoveInsideSlice,w=d.strTransform,k=d.hasTransition,T=d.handleSlicesExit,M=d.makeUpdateSliceInterpolator,A=d.makeUpdateTextInterpolator,S={},E=e._context.staticPlot,C=e._fullLayout,L=t[0],P=L.trace,O=L.hierarchy,I=g/P._entryDepth,D=c.listPath(r.data,\"id\"),z=s(O.copy(),[g,m],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter((function(e){var t=D.indexOf(e.data.id);return-1!==t&&(e.x0=I*t,e.x1=I*(t+1),e.y0=v,e.y1=v+m,e.onPathbar=!0,!0)}))).reverse(),(p=p.data(z,c.getPtId)).enter().append(\"g\").classed(\"pathbar\",!0),T(p,h,S,[g,m],b),p.order();var R=p;k&&(R=R.transition().each(\"end\",(function(){var t=n.select(this);c.setSliceCursor(t,e,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=y(s.x0),s._x1=y(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=y(s.x1-Math.min(g,m)/2),s._hoverY=x(s.y1-m/2);var p=n.select(this),d=i.ensureSingle(p,\"path\",\"surface\",(function(e){e.style(\"pointer-events\",E?\"none\":\"all\")}));k?d.transition().attrTween(\"d\",(function(e){var t=M(e,h,S,[g,m]);return function(e){return b(t(e))}})):d.attr(\"d\",b),p.call(f,r,e,t,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,e,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:e._transitioning}),d.call(l,s,P,e,{hovered:!1}),s._text=(c.getPtLabel(s)||\"\").split(\"<br>\").join(\" \")||\"\";var v=i.ensureSingle(p,\"g\",\"slicetext\"),T=i.ensureSingle(v,\"text\",\"\",(function(e){e.attr(\"data-notex\",1)})),L=i.ensureUniformFontSize(e,c.determineTextFont(P,s,C.font,{onPathbar:!0}));T.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(a.font,L).call(o.convertToTspans,e),s.textBB=a.bBox(T.node()),s.transform=_(s,{fontSize:L.size,onPathbar:!0}),s.transform.fontSize=L.size,k?T.transition().attrTween(\"transform\",(function(e){var t=A(e,h,S,[g,m]);return function(e){return w(t(e))}})):T.attr(\"transform\",w(s))}))}},52583:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(91424),o=r(63893),s=r(37210),l=r(96362).styleOne,u=r(43473),c=r(2791),f=r(83523),h=r(24714).formatSliceLabel,p=!1;e.exports=function(e,t,r,d,v){var g=v.width,m=v.height,y=v.viewX,x=v.viewY,b=v.pathSlice,_=v.toMoveInsideSlice,w=v.strTransform,k=v.hasTransition,T=v.handleSlicesExit,M=v.makeUpdateSliceInterpolator,A=v.makeUpdateTextInterpolator,S=v.prevEntry,E=e._context.staticPlot,C=e._fullLayout,L=t[0].trace,P=-1!==L.textposition.indexOf(\"left\"),O=-1!==L.textposition.indexOf(\"right\"),I=-1!==L.textposition.indexOf(\"bottom\"),D=!I&&!L.marker.pad.t||I&&!L.marker.pad.b,z=s(r,[g,m],{packing:L.tiling.packing,squarifyratio:L.tiling.squarifyratio,flipX:L.tiling.flip.indexOf(\"x\")>-1,flipY:L.tiling.flip.indexOf(\"y\")>-1,pad:{inner:L.tiling.pad,top:L.marker.pad.t,left:L.marker.pad.l,right:L.marker.pad.r,bottom:L.marker.pad.b}}).descendants(),R=1/0,F=-1/0;z.forEach((function(e){var t=e.depth;t>=L._maxDepth?(e.x0=e.x1=(e.x0+e.x1)/2,e.y0=e.y1=(e.y0+e.y1)/2):(R=Math.min(R,t),F=Math.max(F,t))})),d=d.data(z,c.getPtId),L._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append(\"g\").classed(\"slice\",!0),T(d,p,{},[g,m],b),d.order();var B=null;if(k&&S){var N=c.getPtId(S);d.each((function(e){null===B&&c.getPtId(e)===N&&(B={x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:m}},U=d;return k&&(U=U.transition().each(\"end\",(function(){var t=n.select(this);c.setSliceCursor(t,e,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=c.isHeader(s,L);s._x0=y(s.x0),s._x1=y(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=y(s.x1-L.marker.pad.r),s._hoverY=x(I?s.y1-L.marker.pad.b/2:s.y0+L.marker.pad.t/2);var v=n.select(this),T=i.ensureSingle(v,\"path\",\"surface\",(function(e){e.style(\"pointer-events\",E?\"none\":\"all\")}));k?T.transition().attrTween(\"d\",(function(e){var t=M(e,p,j(),[g,m]);return function(e){return b(t(e))}})):T.attr(\"d\",b),v.call(f,r,e,t,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,e,{isTransitioning:e._transitioning}),T.call(l,s,L,e,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text=\"\":s._text=d?D?\"\":c.getPtLabel(s)||\"\":h(s,r,L,t,C)||\"\";var S=i.ensureSingle(v,\"g\",\"slicetext\"),z=i.ensureSingle(S,\"text\",\"\",(function(e){e.attr(\"data-notex\",1)})),R=i.ensureUniformFontSize(e,c.determineTextFont(L,s,C.font));z.text(s._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",O?\"end\":P||d?\"start\":\"middle\").call(a.font,R).call(o.convertToTspans,e),s.textBB=a.bBox(z.node()),s.transform=_(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,k?z.transition().attrTween(\"transform\",(function(e){var t=A(e,p,j(),[g,m]);return function(e){return w(t(e))}})):z.attr(\"transform\",w(s))})),B}},14102:function(e){\"use strict\";e.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o<a.length;o++)e(a[o],r,n)}},70954:function(e,t,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"treemap\",basePlotModule:r(78018),categories:[],animatable:!0,attributes:r(45802),layoutAttributes:r(55479),supplyDefaults:r(91174),supplyLayoutDefaults:r(77182),calc:r(65039).y,crossTraceCalc:r(65039).T,plot:r(5893),style:r(96362).style,colorbar:r(4898),meta:{}}},55479:function(e){\"use strict\";e.exports={treemapcolorway:{valType:\"colorlist\",editType:\"calc\"},extendtreemapcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},77182:function(e,t,r){\"use strict\";var n=r(71828),i=r(55479);e.exports=function(e,t){function r(r,a){return n.coerce(e,t,i,r,a)}r(\"treemapcolorway\",t.colorway),r(\"extendtreemapcolors\")}},37210:function(e,t,r){\"use strict\";var n=r(674),i=r(14102);e.exports=function(e,t,r){var a,o=r.flipX,s=r.flipY,l=\"dice-slice\"===r.packing,u=r.pad[s?\"bottom\":\"top\"],c=r.pad[o?\"right\":\"left\"],f=r.pad[o?\"left\":\"right\"],h=r.pad[s?\"top\":\"bottom\"];l&&(a=c,c=u,u=a,a=f,f=h,h=a);var p=n.treemap().tile(function(e,t){switch(e){case\"squarify\":return n.treemapSquarify.ratio(t);case\"binary\":return n.treemapBinary;case\"dice\":return n.treemapDice;case\"slice\":return n.treemapSlice;default:return n.treemapSliceDice}}(r.packing,r.squarifyratio)).paddingInner(r.pad.inner).paddingLeft(c).paddingRight(f).paddingTop(u).paddingBottom(h).size(l?[t[1],t[0]]:t)(e);return(l||o||s)&&i(p,t,{swapXY:l,flipX:o,flipY:s}),p}},5893:function(e,t,r){\"use strict\";var n=r(80694),i=r(52583);e.exports=function(e,t,r,a){return n(e,t,r,a,{type:\"treemap\",drawDescendants:i})}},46650:function(e,t,r){\"use strict\";var n=r(39898),i=r(81684).sX,a=r(2791),o=r(71828),s=r(97313).TEXTPAD,l=r(17295).toMoveInsideBar,u=r(72597).recordMinTextSize,c=r(43473),f=r(66209);function h(e){return a.isHierarchyRoot(e)?\"\":a.getPtId(e)}e.exports=function(e,t,r,p,d){var v=e._fullLayout,g=t[0],m=g.trace,y=\"icicle\"===m.type,x=g.hierarchy,b=a.findEntryWithLevel(x,m.level),_=n.select(r),w=_.selectAll(\"g.pathbar\"),k=_.selectAll(\"g.slice\");if(!b)return w.remove(),void k.remove();var T=a.isHierarchyRoot(b),M=!v.uniformtext.mode&&a.hasTransition(p),A=a.getMaxDepth(m),S=v._size,E=m.domain,C=S.w*(E.x[1]-E.x[0]),L=S.h*(E.y[1]-E.y[0]),P=C,O=m.pathbar.thickness,I=m.marker.line.width+c.gapWithPathbar,D=m.pathbar.visible?m.pathbar.side.indexOf(\"bottom\")>-1?L+I:-(O+I):0,z={x0:P,x1:P,y0:D,y1:D+O},R=function(e,t,r){var n=m.tiling.pad,i=function(e){return e-n<=t.x0},a=function(e){return e+n>=t.x1},o=function(e){return e-n<=t.y0},s=function(e){return e+n>=t.y1};return e.x0===t.x0&&e.x1===t.x1&&e.y0===t.y0&&e.y1===t.y1?{x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1}:{x0:i(e.x0-n)?0:a(e.x0-n)?r[0]:e.x0,x1:i(e.x1+n)?0:a(e.x1+n)?r[0]:e.x1,y0:o(e.y0-n)?0:s(e.y0-n)?r[1]:e.y0,y1:o(e.y1+n)?0:s(e.y1+n)?r[1]:e.y1}},F=null,B={},N={},j=null,U=function(e,t){return t?B[h(e)]:N[h(e)]};g.hasMultipleRoots&&T&&A++,m._maxDepth=A,m._backgroundColor=v.paper_bgcolor,m._entryDepth=b.data.depth,m._atRootLevel=T;var V=-C/2+S.l+S.w*(E.x[1]+E.x[0])/2,H=-L/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),q=function(e){return V+e},G=function(e){return H+e},Y=G(0),W=q(0),Z=function(e){return W+e},X=function(e){return Y+e};function K(e,t){return e+\",\"+t}var J=Z(0),$=function(e){e.x=Math.max(J,e.x)},Q=m.pathbar.edgeshape,ee=m[y?\"tiling\":\"marker\"].pad,te=function(e){return-1!==m.textposition.indexOf(e)},re=te(\"top\"),ne=te(\"left\"),ie=te(\"right\"),ae=te(\"bottom\"),oe=function(e,t){var r=e.x0,n=e.x1,i=e.y0,a=e.y1,o=e.textBB,c=re||t.isHeader&&!ae?\"start\":ae?\"end\":\"middle\",f=te(\"right\"),h=te(\"left\")||t.onPathbar?-1:f?1:0;if(t.isHeader){if((r+=(y?ee:ee.l)-s)>=(n-=(y?ee:ee.r)-s)){var p=(r+n)/2;r=p,n=p}var d;ae?i<(d=a-(y?ee:ee.b))&&d<a&&(i=d):i<(d=i+(y?ee:ee.t))&&d<a&&(a=d)}var g=l(r,n,i,a,o,{isHorizontal:!1,constrained:!0,angle:0,anchor:c,leftToRight:h});return g.fontSize=t.fontSize,g.targetX=q(g.targetX),g.targetY=G(g.targetY),isNaN(g.targetX)||isNaN(g.targetY)?{}:(r!==n&&i!==a&&u(m.type,g,v),{scale:g.scale,rotate:g.rotate,textX:g.textX,textY:g.textY,anchorX:g.anchorX,anchorY:g.anchorY,targetX:g.targetX,targetY:g.targetY})},se=function(e,t){for(var r,n=0,i=e;!r&&n<A;)n++,(i=i.parent)?r=U(i,t):n=A;return r||{}},le=function(e,t,r,n,a){var s,l=U(e,t);if(l)s=l;else if(t)s=z;else if(F)if(e.parent){var u=j||r;u&&!t?s=R(e,u,n):(s={},o.extendFlat(s,se(e,t)))}else s=o.extendFlat({},e),y&&(\"h\"===a.orientation?a.flipX?s.x0=e.x1:s.x1=0:a.flipY?s.y0=e.y1:s.y1=0);else s={};return i(s,{x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1})},ue=function(e,t,r,n){var s=U(e,t),l={},c=function(e,t,r,n){if(t)return B[h(x)]||z;var i=N[m.level]||r;return function(e){return e.data.depth-b.data.depth<A}(e)?R(e,i,n):{}}(e,t,r,n);o.extendFlat(l,{transform:oe({x0:c.x0,x1:c.x1,y0:c.y0,y1:c.y1,textBB:e.textBB,_text:e._text},{isHeader:a.isHeader(e,m)})}),s?l=s:e.parent&&o.extendFlat(l,se(e,t));var f=e.transform;return e.x0!==e.x1&&e.y0!==e.y1&&u(m.type,f,v),i(l,{transform:{scale:f.scale,rotate:f.rotate,textX:f.textX,textY:f.textY,anchorX:f.anchorX,anchorY:f.anchorY,targetX:f.targetX,targetY:f.targetY}})},ce=function(e,t,r,a,o){var s=a[0],l=a[1];M?e.exit().transition().each((function(){var e=n.select(this);e.select(\"path.surface\").transition().attrTween(\"d\",(function(e){var r=function(e,t,r,n){var a,o=U(e,t);if(t)a=z;else{var s=U(b,t);a=s?R(e,s,n):{}}return i(o,a)}(e,t,0,[s,l]);return function(e){return o(r(e))}})),e.select(\"g.slicetext\").attr(\"opacity\",0)})).remove():e.exit().remove()},fe=function(e){var t=e.transform;return e.x0!==e.x1&&e.y0!==e.y1&&u(m.type,t,v),o.getTextTransform({textX:t.textX,textY:t.textY,anchorX:t.anchorX,anchorY:t.anchorY,targetX:t.targetX,targetY:t.targetY,scale:t.scale,rotate:t.rotate})};M&&(w.each((function(e){B[h(e)]={x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1},e.transform&&(B[h(e)].transform={textX:e.transform.textX,textY:e.transform.textY,anchorX:e.transform.anchorX,anchorY:e.transform.anchorY,targetX:e.transform.targetX,targetY:e.transform.targetY,scale:e.transform.scale,rotate:e.transform.rotate})})),k.each((function(e){N[h(e)]={x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1},e.transform&&(N[h(e)].transform={textX:e.transform.textX,textY:e.transform.textY,anchorX:e.transform.anchorX,anchorY:e.transform.anchorY,targetX:e.transform.targetX,targetY:e.transform.targetY,scale:e.transform.scale,rotate:e.transform.rotate}),!F&&a.isEntry(e)&&(F=e)}))),j=d(e,t,b,k,{width:C,height:L,viewX:q,viewY:G,pathSlice:function(e){var t=q(e.x0),r=q(e.x1),n=G(e.y0),i=G(e.y1),a=r-t,o=i-n;if(!a||!o)return\"\";var s=m.marker.cornerradius||0,l=Math.min(s,a/2,o/2);l&&e.data&&e.data.data&&e.data.data.label&&(re&&(l=Math.min(l,ee.t)),ne&&(l=Math.min(l,ee.l)),ie&&(l=Math.min(l,ee.r)),ae&&(l=Math.min(l,ee.b)));var u=function(e,t){return l?\"a\"+K(l,l)+\" 0 0 1 \"+K(e,t):\"\"};return\"M\"+K(t,n+l)+u(l,-l)+\"L\"+K(r-l,n)+u(l,l)+\"L\"+K(r,i-l)+u(-l,l)+\"L\"+K(t+l,i)+u(-l,-l)+\"Z\"},toMoveInsideSlice:oe,prevEntry:F,makeUpdateSliceInterpolator:le,makeUpdateTextInterpolator:ue,handleSlicesExit:ce,hasTransition:M,strTransform:fe}),m.pathbar.visible?f(e,t,b,w,{barDifY:D,width:P,height:O,viewX:Z,viewY:X,pathSlice:function(e){var t=Z(Math.max(Math.min(e.x0,e.x0),0)),r=Z(Math.min(Math.max(e.x1,e.x1),P)),n=X(e.y0),i=X(e.y1),a=O/2,o={},s={};o.x=t,s.x=r,o.y=s.y=(n+i)/2;var l={x:t,y:n},u={x:r,y:n},c={x:r,y:i},f={x:t,y:i};return\">\"===Q?(l.x-=a,u.x-=a,c.x-=a,f.x-=a):\"/\"===Q?(c.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):\"\\\\\"===Q?(l.x-=a,u.x-=a,o.x-=a/2,s.x-=a/2):\"<\"===Q&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(u),$(c),$(s),\"M\"+K(l.x,l.y)+\"L\"+K(u.x,u.y)+\"L\"+K(s.x,s.y)+\"L\"+K(c.x,c.y)+\"L\"+K(f.x,f.y)+\"L\"+K(o.x,o.y)+\"Z\"},toMoveInsideSlice:oe,makeUpdateSliceInterpolator:le,makeUpdateTextInterpolator:ue,handleSlicesExit:ce,hasTransition:M,strTransform:fe}):w.remove()}},96362:function(e,t,r){\"use strict\";var n=r(39898),i=r(7901),a=r(71828),o=r(2791),s=r(72597).resizeText,l=r(43467);function u(e,t,r,n,s){var u,c,f=(s||{}).hovered,h=t.data.data,p=h.i,d=h.color,v=o.isHierarchyRoot(t),g=1;if(f)u=r._hovered.marker.line.color,c=r._hovered.marker.line.width;else if(v&&d===r.root.color)g=100,u=\"rgba(0,0,0,0)\",c=0;else if(u=a.castOption(r,p,\"marker.line.color\")||i.defaultLine,c=a.castOption(r,p,\"marker.line.width\")||0,!r._hasColorscale&&!t.onPathbar){var m=r.marker.depthfade;if(m){var y,x=i.combine(i.addOpacity(r._backgroundColor,.75),d);if(!0===m){var b=o.getMaxDepth(r);y=isFinite(b)?o.isLeaf(t)?0:r._maxVisibleLayers-(t.data.depth-r._entryDepth):t.data.height+1}else y=t.data.depth-r._entryDepth,r._atRootLevel||y++;if(y>0)for(var _=0;_<y;_++){var w=.5*_/y;d=i.combine(i.addOpacity(x,w),d)}}}e.call(l,t,r,n,d).style(\"stroke-width\",c).call(i.stroke,u).style(\"opacity\",g)}e.exports={style:function(e){var t=e._fullLayout._treemaplayer.selectAll(\".trace\");s(e,t,\"treemap\"),t.each((function(t){var r=n.select(this),i=t[0].trace;r.style(\"opacity\",i.opacity),r.selectAll(\"path.surface\").each((function(t){n.select(this).call(u,t,i,e,{hovered:!1})}))}))},styleOne:u}},68875:function(e,t,r){\"use strict\";var n=r(53522),i=r(1426).extendFlat,a=r(12663).axisHoverFormat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,xhoverformat:a(\"x\"),yhoverformat:a(\"y\"),name:i({},n.name,{}),orientation:i({},n.orientation,{}),bandwidth:{valType:\"number\",min:0,editType:\"calc\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},scalemode:{valType:\"enumerated\",values:[\"width\",\"count\"],dflt:\"width\",editType:\"calc\"},spanmode:{valType:\"enumerated\",values:[\"soft\",\"hard\",\"manual\"],dflt:\"soft\",editType:\"calc\"},span:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:n.fillcolor,points:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),width:i({},n.width,{}),marker:n.marker,text:n.text,hovertext:n.hovertext,hovertemplate:n.hovertemplate,quartilemethod:n.quartilemethod,box:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},width:{valType:\"number\",min:0,max:1,dflt:.25,editType:\"plot\"},fillcolor:{valType:\"color\",editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},editType:\"plot\"},meanline:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"plot\"},side:{valType:\"enumerated\",values:[\"both\",\"positive\",\"negative\"],dflt:\"both\",editType:\"calc\"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,hoveron:{valType:\"flaglist\",flags:[\"violins\",\"points\",\"kde\"],dflt:\"violins+points+kde\",extras:[\"all\"],editType:\"style\"}}},38603:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298),a=r(48518),o=r(60168),s=r(50606).BADNUM;function l(e,t,r){var i=t.max-t.min;if(!i)return e.bandwidth?e.bandwidth:0;if(e.bandwidth)return Math.max(e.bandwidth,i/1e4);var a=r.length,o=n.stdev(r,a-1,t.mean);return Math.max(function(e,t,r){return 1.059*Math.min(t,r/1.349)*Math.pow(e,-.2)}(a,o,t.q3-t.q1),i/100)}function u(e,t,r,n){var a,o=e.spanmode,l=e.span||[],u=[t.min,t.max],c=[t.min-2*n,t.max+2*n];function f(n){var i=l[n],a=\"multicategory\"===r.type?r.r2c(i):r.d2c(i,0,e[t.valLetter+\"calendar\"]);return a===s?c[n]:a}var h={type:\"linear\",range:a=\"soft\"===o?c:\"hard\"===o?u:[f(0),f(1)]};return i.setConvert(h),h.cleanRange(),a}e.exports=function(e,t){var r=a(e,t);if(r[0].t.empty)return r;for(var s=e._fullLayout,c=i.getFromId(e,t[\"h\"===t.orientation?\"xaxis\":\"yaxis\"]),f=1/0,h=-1/0,p=0,d=0,v=0;v<r.length;v++){var g=r[v],m=g.pts.map(o.extractVal),y=g.bandwidth=l(t,g,m),x=g.span=u(t,g,c,y);if(g.min===g.max&&0===y)x=g.span=[g.min,g.max],g.density=[{v:1,t:x[0]}],g.bandwidth=y,p=Math.max(p,1);else{var b=x[1]-x[0],_=Math.ceil(b/(y/3)),w=b/_;if(!isFinite(w)||!isFinite(_))return n.error(\"Something went wrong with computing the violin span\"),r[0].t.empty=!0,r;var k=o.makeKDE(g,t,m);g.density=new Array(_);for(var T=0,M=x[0];M<x[1]+w/2;T++,M+=w){var A=k(M);g.density[T]={v:A,t:M},p=Math.max(p,A)}}d=Math.max(d,m.length),f=Math.min(f,x[0]),h=Math.max(h,x[1])}var S=i.findExtremes(c,[f,h],{padded:!0});if(t._extremes[c._id]=S,t.width)r[0].t.maxKDE=p;else{var E=s._violinScaleGroupStats,C=t.scalegroup,L=E[C];L?(L.maxKDE=Math.max(L.maxKDE,p),L.maxCount=Math.max(L.maxCount,d)):E[C]={maxKDE:p,maxCount:d}}return r[0].t.labels.kde=n._(e,\"kde:\"),r}},86403:function(e,t,r){\"use strict\";var n=r(37188).setPositionOffset,i=[\"v\",\"h\"];e.exports=function(e,t){for(var r=e.calcdata,a=t.xaxis,o=t.yaxis,s=0;s<i.length;s++){for(var l=i[s],u=\"h\"===l?o:a,c=[],f=0;f<r.length;f++){var h=r[f],p=h[0].t,d=h[0].trace;!0!==d.visible||\"violin\"!==d.type||p.empty||d.orientation!==l||d.xaxis!==a._id||d.yaxis!==o._id||c.push(f)}n(\"violin\",e,c,u)}}},15899:function(e,t,r){\"use strict\";var n=r(71828),i=r(7901),a=r(36411),o=r(68875);e.exports=function(e,t,r,s){function l(r,i){return n.coerce(e,t,o,r,i)}function u(r,i){return n.coerce2(e,t,o,r,i)}if(a.handleSampleDefaults(e,t,l,s),!1!==t.visible){l(\"bandwidth\"),l(\"side\"),l(\"width\")||(l(\"scalegroup\",t.name),l(\"scalemode\"));var c,f=l(\"span\");Array.isArray(f)&&(c=\"manual\"),l(\"spanmode\",c);var h=l(\"line.color\",(e.marker||{}).color||r),p=l(\"line.width\"),d=l(\"fillcolor\",i.addOpacity(t.line.color,.5));a.handlePointsDefaults(e,t,l,{prefix:\"\"});var v=u(\"box.width\"),g=u(\"box.fillcolor\",d),m=u(\"box.line.color\",h),y=u(\"box.line.width\",p);l(\"box.visible\",Boolean(v||g||m||y))||(t.box={visible:!1});var x=u(\"meanline.color\",h),b=u(\"meanline.width\",p);l(\"meanline.visible\",Boolean(x||b))||(t.meanline={visible:!1}),l(\"quartilemethod\")}}},60168:function(e,t,r){\"use strict\";var n=r(71828),i=function(e){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*e*e)};t.makeKDE=function(e,t,r){var n=r.length,a=i,o=e.bandwidth,s=1/(n*o);return function(e){for(var t=0,i=0;i<n;i++)t+=a((e-r[i])/o);return s*t}},t.getPositionOnKdePath=function(e,t,r){var i,a;\"h\"===t.orientation?(i=\"y\",a=\"x\"):(i=\"x\",a=\"y\");var o=n.findPointOnPath(e.path,r,a,{pathLength:e.pathLength}),s=e.posCenterPx,l=o[i];return[l,\"both\"===t.side?2*s-l:s]},t.getKdeValue=function(e,r,n){var i=e.pts.map(t.extractVal);return t.makeKDE(e,r,i)(n)/e.posDensityScale},t.extractVal=function(e){return e.v}},57634:function(e,t,r){\"use strict\";var n=r(7901),i=r(71828),a=r(89298),o=r(41868),s=r(60168);e.exports=function(e,t,r,l,u){u||(u={});var c,f,h=u.hoverLayer,p=e.cd,d=p[0].trace,v=d.hoveron,g=-1!==v.indexOf(\"violins\"),m=-1!==v.indexOf(\"kde\"),y=[];if(g||m){var x=o.hoverOnBoxes(e,t,r,l);if(m&&x.length>0){var b,_,w,k,T,M=e.xa,A=e.ya;\"h\"===d.orientation?(T=t,b=\"y\",w=A,_=\"x\",k=M):(T=r,b=\"x\",w=M,_=\"y\",k=A);var S=p[e.index];if(T>=S.span[0]&&T<=S.span[1]){var E=i.extendFlat({},e),C=k.c2p(T,!0),L=s.getKdeValue(S,d,T),P=s.getPositionOnKdePath(S,d,C),O=w._offset,I=w._length;E[b+\"0\"]=P[0],E[b+\"1\"]=P[1],E[_+\"0\"]=E[_+\"1\"]=C,E[_+\"Label\"]=_+\": \"+a.hoverLabelText(k,T,d[_+\"hoverformat\"])+\", \"+p[0].t.labels.kde+\" \"+L.toFixed(3);for(var D=0,z=0;z<x.length;z++)if(\"med\"===x[z].attr){D=z;break}E.spikeDistance=x[D].spikeDistance;var R=b+\"Spike\";E[R]=x[D][R],x[D].spikeDistance=void 0,x[D][R]=void 0,E.hovertemplate=!1,y.push(E),(f={})[b+\"1\"]=i.constrain(O+P[0],O,O+I),f[b+\"2\"]=i.constrain(O+P[1],O,O+I),f[_+\"1\"]=f[_+\"2\"]=k._offset+C}}g&&(y=y.concat(x))}-1!==v.indexOf(\"points\")&&(c=o.hoverOnPoints(e,t,r));var F=h.selectAll(\".violinline-\"+d.uid).data(f?[0]:[]);return F.enter().append(\"line\").classed(\"violinline-\"+d.uid,!0).attr(\"stroke-width\",1.5),F.exit().remove(),F.attr(f).call(n.stroke,e.color),\"closest\"===l?c?[c]:y:c?(y.push(c),y):y}},47462:function(e,t,r){\"use strict\";e.exports={attributes:r(68875),layoutAttributes:r(9228),supplyDefaults:r(15899),crossTraceDefaults:r(36411).crossTraceDefaults,supplyLayoutDefaults:r(33598),calc:r(38603),crossTraceCalc:r(86403),plot:r(28443),style:r(31847),styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(57634),selectPoints:r(24626),moduleType:\"trace\",name:\"violin\",basePlotModule:r(93612),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"violinLayout\",\"zoomScale\"],meta:{}}},9228:function(e,t,r){\"use strict\";var n=r(40094),i=r(71828).extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},33598:function(e,t,r){\"use strict\";var n=r(71828),i=r(9228),a=r(4199);e.exports=function(e,t,r){a._supply(e,t,r,(function(r,a){return n.coerce(e,t,i,r,a)}),\"violin\")}},28443:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(91424),o=r(86047),s=r(34621),l=r(60168);e.exports=function(e,t,r,u){var c=e._context.staticPlot,f=e._fullLayout,h=t.xaxis,p=t.yaxis;function d(e,t){var r=s(e,{xaxis:h,yaxis:p,trace:t,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0,linearized:!0});return a.smoothopen(r[0],1)}i.makeTraceGroups(u,r,\"trace violins\").each((function(e){var r=n.select(this),a=e[0],s=a.t,u=a.trace;if(!0!==u.visible||s.empty)r.remove();else{var v=s.bPos,g=s.bdPos,m=t[s.valLetter+\"axis\"],y=t[s.posLetter+\"axis\"],x=\"both\"===u.side,b=x||\"positive\"===u.side,_=x||\"negative\"===u.side,w=r.selectAll(\"path.violin\").data(i.identity);w.enter().append(\"path\").style(\"vector-effect\",c?\"none\":\"non-scaling-stroke\").attr(\"class\",\"violin\"),w.exit().remove(),w.each((function(e){var t,r,i,a,o,l,c,h,p=n.select(this),w=e.density,k=w.length,T=y.c2l(e.pos+v,!0),M=y.l2p(T);if(u.width)t=s.maxKDE/g;else{var A=f._violinScaleGroupStats[u.scalegroup];t=\"count\"===u.scalemode?A.maxKDE/g*(A.maxCount/e.pts.length):A.maxKDE/g}if(b){for(c=new Array(k),o=0;o<k;o++)(h=c[o]={})[s.posLetter]=T+w[o].v/t,h[s.valLetter]=m.c2l(w[o].t,!0);r=d(c,u)}if(_){for(c=new Array(k),l=0,o=k-1;l<k;l++,o--)(h=c[l]={})[s.posLetter]=T-w[o].v/t,h[s.valLetter]=m.c2l(w[o].t,!0);i=d(c,u)}if(x)a=r+\"L\"+i.substr(1)+\"Z\";else{var S=[M,m.c2p(w[0].t)],E=[M,m.c2p(w[k-1].t)];\"h\"===u.orientation&&(S.reverse(),E.reverse()),a=b?\"M\"+S+\"L\"+r.substr(1)+\"L\"+E:\"M\"+E+\"L\"+i.substr(1)+\"L\"+S}p.attr(\"d\",a),e.posCenterPx=M,e.posDensityScale=t*g,e.path=p.node(),e.pathLength=e.path.getTotalLength()/(x?2:1)}));var k,T,M,A=u.box,S=A.width,E=(A.line||{}).width;x?(k=g*S,T=0):b?(k=[0,g*S/2],T=E*{x:1,y:-1}[s.posLetter]):(k=[g*S/2,0],T=E*{x:-1,y:1}[s.posLetter]),o.plotBoxAndWhiskers(r,{pos:y,val:m},u,{bPos:v,bdPos:k,bPosPxOffset:T}),o.plotBoxMean(r,{pos:y,val:m},u,{bPos:v,bdPos:k,bPosPxOffset:T}),!u.box.visible&&u.meanline.visible&&(M=i.identity);var C=r.selectAll(\"path.meanline\").data(M||[]);C.enter().append(\"path\").attr(\"class\",\"meanline\").style(\"fill\",\"none\").style(\"vector-effect\",c?\"none\":\"non-scaling-stroke\"),C.exit().remove(),C.each((function(e){var t=m.c2p(e.mean,!0),r=l.getPositionOnKdePath(e,u,t);n.select(this).attr(\"d\",\"h\"===u.orientation?\"M\"+t+\",\"+r[0]+\"V\"+r[1]:\"M\"+r[0]+\",\"+t+\"H\"+r[1])})),o.plotPoints(r,{x:h,y:p},u,s)}}))}},31847:function(e,t,r){\"use strict\";var n=r(39898),i=r(7901),a=r(16296).stylePoints;e.exports=function(e){var t=n.select(e).selectAll(\"g.trace.violins\");t.style(\"opacity\",(function(e){return e[0].trace.opacity})),t.each((function(t){var r=t[0].trace,o=n.select(this),s=r.box||{},l=s.line||{},u=r.meanline||{},c=u.width;o.selectAll(\"path.violin\").style(\"stroke-width\",r.line.width+\"px\").call(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll(\"path.box\").style(\"stroke-width\",l.width+\"px\").call(i.stroke,l.color).call(i.fill,s.fillcolor);var f={\"stroke-width\":c+\"px\",\"stroke-dasharray\":2*c+\"px,\"+c+\"px\"};o.selectAll(\"path.mean\").style(f).call(i.stroke,u.color),o.selectAll(\"path.meanline\").style(f).call(i.stroke,u.color),a(o,r,e)}))}},16336:function(e,t,r){\"use strict\";var n=r(50693),i=r(16249),a=r(54532),o=r(9012),s=r(1426).extendFlat,l=r(30962).overrideAll,u=e.exports=l(s({x:i.x,y:i.y,z:i.z,value:i.value,isomin:i.isomin,isomax:i.isomax,surface:i.surface,spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:1}},slices:i.slices,caps:i.caps,text:i.text,hovertext:i.hovertext,xhoverformat:i.xhoverformat,yhoverformat:i.yhoverformat,zhoverformat:i.zhoverformat,valuehoverformat:i.valuehoverformat,hovertemplate:i.hovertemplate},n(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:i.colorbar,opacity:i.opacity,opacityscale:a.opacityscale,lightposition:i.lightposition,lighting:i.lighting,flatshading:i.flatshading,contour:i.contour,hoverinfo:s({},o.hoverinfo),showlegend:s({},o.showlegend,{dflt:!1})}),\"calc\",\"nested\");u.x.editType=u.y.editType=u.z.editType=u.value.editType=\"calc+clearAxisTypes\",u.transforms=void 0},64809:function(e,t,r){\"use strict\";var n=r(9330).gl_mesh3d,i=r(81697).parseColorScale,a=r(78614),o=r(21081).extractOpts,s=r(90060),l=r(22674).findNearestOnAxis,u=r(22674).generateIsoMeshes;function c(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var f=c.prototype;f.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,u=l(n,this.data._Ys).id,c=l(i,this.data._Zs).id,f=e.index=c+o*u+o*a*s;e.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var h=this.data.hovertext||this.data.text;return Array.isArray(h)&&void 0!==h[f]?e.textLabel=h[f]:h&&(e.textLabel=h),!0}},f.update=function(e){var t=this.scene,r=t.fullSceneLayout;function n(e,t,r,n){return t.map((function(t){return e.d2l(t,0,n)*r}))}this.data=u(e);var l={positions:s(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),cells:s(e._meshI,e._meshJ,e._meshK),lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:a(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},c=o(e);l.vertexIntensity=e._meshIntensity,l.vertexIntensityBounds=[c.min,c.max],l.colormap=i(e),this.mesh.update(l)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(e,t){var r=e.glplot.gl,i=n({gl:r}),a=new c(e,i,t.uid);return i._trace=a,a.update(t),e.glplot.add(i),a}},47651:function(e,t,r){\"use strict\";var n=r(71828),i=r(16336),a=r(82738).supplyIsoDefaults,o=r(91831).opacityscaleDefaults;e.exports=function(e,t,r,s){function l(r,a){return n.coerce(e,t,i,r,a)}a(e,t,r,s,l),o(e,t,s,l)}},17659:function(e,t,r){\"use strict\";e.exports={attributes:r(16336),supplyDefaults:r(47651),calc:r(56959),colorbar:{min:\"cmin\",max:\"cmax\"},plot:r(64809),moduleType:\"trace\",name:\"volume\",basePlotModule:r(58547),categories:[\"gl3d\",\"showLegend\"],meta:{}}},43037:function(e,t,r){\"use strict\";var n=r(1486),i=r(82196).line,a=r(9012),o=r(12663).axisHoverFormat,s=r(5386).fF,l=r(5386).si,u=r(48334),c=r(1426).extendFlat,f=r(7901);function h(e){return{marker:{color:c({},n.marker.color,{arrayOk:!1,editType:\"style\"}),line:{color:c({},n.marker.line.color,{arrayOk:!1,editType:\"style\"}),width:c({},n.marker.line.width,{arrayOk:!1,editType:\"style\"}),editType:\"style\"},editType:\"style\"},editType:\"style\"}}e.exports={measure:{valType:\"data_array\",dflt:[],editType:\"calc\"},base:{valType:\"number\",dflt:null,arrayOk:!1,editType:\"calc\"},x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:o(\"x\"),yhoverformat:o(\"y\"),hovertext:n.hovertext,hovertemplate:s({},{keys:u.eventDataKeys}),hoverinfo:c({},a.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"initial\",\"delta\",\"final\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"initial\",\"delta\",\"final\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:l({editType:\"plot\"},{keys:u.eventDataKeys.concat([\"label\"])}),text:n.text,textposition:n.textposition,insidetextanchor:n.insidetextanchor,textangle:n.textangle,textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:n.orientation,offset:n.offset,width:n.width,increasing:h(),decreasing:h(),totals:h(),connector:{line:{color:c({},i.color,{dflt:f.defaultLine}),width:c({},i.width,{editType:\"plot\"}),dash:i.dash,editType:\"plot\"},mode:{valType:\"enumerated\",values:[\"spanning\",\"between\"],dflt:\"between\",editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},52752:function(e,t,r){\"use strict\";var n=r(89298),i=r(42973),a=r(71828).mergeArray,o=r(66279),s=r(50606).BADNUM;function l(e){return\"a\"===e||\"absolute\"===e}function u(e){return\"t\"===e||\"total\"===e}e.exports=function(e,t){var r,c,f,h,p,d,v=n.getFromId(e,t.xaxis||\"x\"),g=n.getFromId(e,t.yaxis||\"y\");\"h\"===t.orientation?(r=v.makeCalcdata(t,\"x\"),f=g.makeCalcdata(t,\"y\"),h=i(t,g,\"y\",f),p=!!t.yperiodalignment,d=\"y\"):(r=g.makeCalcdata(t,\"y\"),f=v.makeCalcdata(t,\"x\"),h=i(t,v,\"x\",f),p=!!t.xperiodalignment,d=\"x\"),c=h.vals;for(var m,y=Math.min(c.length,r.length),x=new Array(y),b=0,_=!1,w=0;w<y;w++){var k=r[w]||0,T=!1;(r[w]!==s||u(t.measure[w])||l(t.measure[w]))&&w+1<y&&(r[w+1]!==s||u(t.measure[w+1])||l(t.measure[w+1]))&&(T=!0);var M=x[w]={i:w,p:c[w],s:k,rawS:k,cNext:T};l(t.measure[w])?(b=M.s,M.isSum=!0,M.dir=\"totals\",M.s=b):u(t.measure[w])?(M.isSum=!0,M.dir=\"totals\",M.s=b):(M.isSum=!1,M.dir=M.rawS<0?\"decreasing\":\"increasing\",m=M.s,M.s=b+m,b+=m),\"totals\"===M.dir&&(_=!0),p&&(x[w].orig_p=f[w],x[w][d+\"End\"]=h.ends[w],x[w][d+\"Start\"]=h.starts[w]),t.ids&&(M.id=String(t.ids[w])),M.v=(t.base||0)+b}return x.length&&(x[0].hasTotals=_),a(t.text,x,\"tx\"),a(t.hovertext,x,\"htx\"),o(x,t),x}},48334:function(e){\"use strict\";e.exports={eventDataKeys:[\"initial\",\"delta\",\"final\"]}},70766:function(e,t,r){\"use strict\";var n=r(11661).setGroupPositions;e.exports=function(e,t){var r,i,a=e._fullLayout,o=e._fullData,s=e.calcdata,l=t.xaxis,u=t.yaxis,c=[],f=[],h=[];for(i=0;i<o.length;i++){var p=o[i];!0===p.visible&&p.xaxis===l._id&&p.yaxis===u._id&&\"waterfall\"===p.type&&(r=s[i],\"h\"===p.orientation?h.push(r):f.push(r),c.push(r))}var d={mode:a.waterfallmode,norm:a.waterfallnorm,gap:a.waterfallgap,groupgap:a.waterfallgroupgap};for(n(e,l,u,f,d),n(e,u,l,h,d),i=0;i<c.length;i++){r=c[i];for(var v=0;v<r.length;v++){var g=r[v];!1===g.isSum&&(g.s0+=0===v?0:r[v-1].s),v+1<r.length&&(r[v].nextP0=r[v+1].p0,r[v].nextS0=r[v+1].s0)}}}},83266:function(e,t,r){\"use strict\";var n=r(71828),i=r(26125),a=r(90769).handleText,o=r(67513),s=r(73927),l=r(43037),u=r(7901),c=r(22372),f=c.INCREASING.COLOR,h=c.DECREASING.COLOR;function p(e,t,r){e(t+\".marker.color\",r),e(t+\".marker.line.color\",u.defaultLine),e(t+\".marker.line.width\")}e.exports={supplyDefaults:function(e,t,r,i){function u(r,i){return n.coerce(e,t,l,r,i)}if(o(e,t,i,u)){s(e,t,i,u),u(\"xhoverformat\"),u(\"yhoverformat\"),u(\"measure\"),u(\"orientation\",t.x&&!t.y?\"h\":\"v\"),u(\"base\"),u(\"offset\"),u(\"width\"),u(\"text\"),u(\"hovertext\"),u(\"hovertemplate\");var c=u(\"textposition\");a(e,t,i,u,c,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),\"none\"!==t.textposition&&(u(\"texttemplate\"),t.texttemplate||u(\"textinfo\")),p(u,\"increasing\",f),p(u,\"decreasing\",h),p(u,\"totals\",\"#4499FF\"),u(\"connector.visible\")&&(u(\"connector.mode\"),u(\"connector.line.width\")&&(u(\"connector.line.color\"),u(\"connector.line.dash\")))}else t.visible=!1},crossTraceDefaults:function(e,t){var r,a;function o(e){return n.coerce(a._input,a,l,e)}if(\"group\"===t.waterfallmode)for(var s=0;s<e.length;s++)r=(a=e[s])._input,i(r,a,t,o)}}},58593:function(e){\"use strict\";e.exports=function(e,t){return e.x=\"xVal\"in t?t.xVal:t.x,e.y=\"yVal\"in t?t.yVal:t.y,\"initial\"in t&&(e.initial=t.initial),\"delta\"in t&&(e.delta=t.delta),\"final\"in t&&(e.final=t.final),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e}},61326:function(e,t,r){\"use strict\";var n=r(89298).hoverLabelText,i=r(7901).opacity,a=r(95423).hoverOnBars,o=r(22372),s=o.INCREASING.SYMBOL,l=o.DECREASING.SYMBOL;e.exports=function(e,t,r,o,u){var c=a(e,t,r,o,u);if(c){var f=c.cd,h=f[0].trace,p=\"h\"===h.orientation,d=p?\"x\":\"y\",v=p?e.xa:e.ya,g=f[c.index],m=g.isSum?g.b+g.s:g.rawS;c.initial=g.b+g.s-m,c.delta=m,c.final=c.initial+c.delta;var y=T(Math.abs(c.delta));c.deltaLabel=m<0?\"(\"+y+\")\":y,c.finalLabel=T(c.final),c.initialLabel=T(c.initial);var x=g.hi||h.hoverinfo,b=[];if(x&&\"none\"!==x&&\"skip\"!==x){var _=\"all\"===x,w=x.split(\"+\"),k=function(e){return _||-1!==w.indexOf(e)};g.isSum||(!k(\"final\")||k(p?\"x\":\"y\")||b.push(c.finalLabel),k(\"delta\")&&(m<0?b.push(c.deltaLabel+\" \"+l):b.push(c.deltaLabel+\" \"+s)),k(\"initial\")&&b.push(\"Initial: \"+c.initialLabel))}return b.length&&(c.extraText=b.join(\"<br>\")),c.color=function(e,t){var r=e[t.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(h,g),[c]}function T(e){return n(v,e,h[d+\"hoverformat\"])}}},19990:function(e,t,r){\"use strict\";e.exports={attributes:r(43037),layoutAttributes:r(13494),supplyDefaults:r(83266).supplyDefaults,crossTraceDefaults:r(83266).crossTraceDefaults,supplyLayoutDefaults:r(5176),calc:r(52752),crossTraceCalc:r(70766),plot:r(30436),style:r(55750).style,hoverPoints:r(61326),eventData:r(58593),selectPoints:r(81974),moduleType:\"trace\",name:\"waterfall\",basePlotModule:r(93612),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}},13494:function(e){\"use strict\";e.exports={waterfallmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"group\",editType:\"calc\"},waterfallgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},waterfallgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},5176:function(e,t,r){\"use strict\";var n=r(71828),i=r(13494);e.exports=function(e,t,r){var a=!1;function o(r,a){return n.coerce(e,t,i,r,a)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&\"waterfall\"===l.type){a=!0;break}}a&&(o(\"waterfallmode\"),o(\"waterfallgap\",.2),o(\"waterfallgroupgap\"))}},30436:function(e,t,r){\"use strict\";var n=r(39898),i=r(71828),a=r(91424),o=r(50606).BADNUM,s=r(17295),l=r(72597).clearMinTextSize;e.exports=function(e,t,r,u){var c=e._fullLayout;l(\"waterfall\",c),s.plot(e,t,r,u,{mode:c.waterfallmode,norm:c.waterfallmode,gap:c.waterfallgap,groupgap:c.waterfallgroupgap}),function(e,t,r,s){var l=t.xaxis,u=t.yaxis;i.makeTraceGroups(s,r,\"trace bars\").each((function(r){var s=n.select(this),c=r[0].trace,f=i.ensureSingle(s,\"g\",\"lines\");if(c.connector&&c.connector.visible){var h=\"h\"===c.orientation,p=c.connector.mode,d=f.selectAll(\"g.line\").data(i.identity);d.enter().append(\"g\").classed(\"line\",!0),d.exit().remove();var v=d.size();d.each((function(r,s){if(s===v-1||r.cNext){var c=function(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),n?[i,a]:[a,i]}(r,l,u,h),f=c[0],d=c[1],g=\"\";f[0]!==o&&d[0]!==o&&f[1]!==o&&d[1]!==o&&(\"spanning\"===p&&!r.isSum&&s>0&&(g+=h?\"M\"+f[0]+\",\"+d[1]+\"V\"+d[0]:\"M\"+f[1]+\",\"+d[0]+\"H\"+f[0]),\"between\"!==p&&(r.isSum||s<v-1)&&(g+=h?\"M\"+f[1]+\",\"+d[0]+\"V\"+d[1]:\"M\"+f[0]+\",\"+d[1]+\"H\"+f[1]),f[2]!==o&&d[2]!==o&&(g+=h?\"M\"+f[1]+\",\"+d[1]+\"V\"+d[2]:\"M\"+f[1]+\",\"+d[1]+\"H\"+f[2])),\"\"===g&&(g=\"M0,0Z\"),i.ensureSingle(n.select(this),\"path\").attr(\"d\",g).call(a.setClipUrl,t.layerClipId,e)}}))}else f.remove()}))}(e,t,r,u)}},55750:function(e,t,r){\"use strict\";var n=r(39898),i=r(91424),a=r(7901),o=r(37822).DESELECTDIM,s=r(16688),l=r(72597).resizeText,u=s.styleTextPoints;e.exports={style:function(e,t,r){var s=r||n.select(e).selectAll(\"g.waterfalllayer\").selectAll(\"g.trace\");l(e,s,\"waterfall\"),s.style(\"opacity\",(function(e){return e[0].trace.opacity})),s.each((function(t){var r=n.select(this),s=t[0].trace;r.selectAll(\".point > path\").each((function(e){if(!e.isBlank){var t=s[e.dir].marker;n.select(this).call(a.fill,t.color).call(a.stroke,t.line.color).call(i.dashLine,t.line.dash,t.line.width).style(\"opacity\",s.selectedpoints&&!e.selected?o:1)}})),u(r,s,e),r.selectAll(\".lines\").each((function(){var e=s.connector.line;i.lineGroupStyle(n.select(this).selectAll(\"path\"),e.width,e.color,e.dash)}))}))}}},82887:function(e,t,r){\"use strict\";var n=r(89298),i=r(71828),a=r(86281),o=r(79344).p,s=r(50606).BADNUM;t.moduleType=\"transform\",t.name=\"aggregate\";var l=t.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},aggregations:{_isLinkedToArray:\"aggregation\",target:{valType:\"string\",editType:\"calc\"},func:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"median\",\"mode\",\"rms\",\"stddev\",\"min\",\"max\",\"first\",\"last\",\"change\",\"range\"],dflt:\"first\",editType:\"calc\"},funcmode:{valType:\"enumerated\",values:[\"sample\",\"population\"],dflt:\"sample\",editType:\"calc\"},enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},u=l.aggregations;function c(e,t,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(t,o),u=l.get(),c=function(e,t){var r=e.func,n=t.d2c,a=t.c2d;switch(r){case\"count\":return f;case\"first\":return h;case\"last\":return p;case\"sum\":return function(e,t){for(var r=0,i=0;i<t.length;i++){var o=n(e[t[i]]);o!==s&&(r+=o)}return a(r)};case\"avg\":return function(e,t){for(var r=0,i=0,o=0;o<t.length;o++){var l=n(e[t[o]]);l!==s&&(r+=l,i++)}return i?a(r/i):s};case\"min\":return function(e,t){for(var r=1/0,i=0;i<t.length;i++){var o=n(e[t[i]]);o!==s&&(r=Math.min(r,o))}return r===1/0?s:a(r)};case\"max\":return function(e,t){for(var r=-1/0,i=0;i<t.length;i++){var o=n(e[t[i]]);o!==s&&(r=Math.max(r,o))}return r===-1/0?s:a(r)};case\"range\":return function(e,t){for(var r=1/0,i=-1/0,o=0;o<t.length;o++){var l=n(e[t[o]]);l!==s&&(r=Math.min(r,l),i=Math.max(i,l))}return i===-1/0||r===1/0?s:a(i-r)};case\"change\":return function(e,t){var r=n(e[t[0]]),i=n(e[t[t.length-1]]);return r===s||i===s?s:a(i-r)};case\"median\":return function(e,t){for(var r=[],o=0;o<t.length;o++){var l=n(e[t[o]]);l!==s&&r.push(l)}if(!r.length)return s;r.sort(i.sorterAsc);var u=(r.length-1)/2;return a((r[Math.floor(u)]+r[Math.ceil(u)])/2)};case\"mode\":return function(e,t){for(var r={},i=0,o=s,l=0;l<t.length;l++){var u=n(e[t[l]]);if(u!==s){var c=r[u]=(r[u]||0)+1;c>i&&(i=c,o=u)}}return i?a(o):s};case\"rms\":return function(e,t){for(var r=0,i=0,o=0;o<t.length;o++){var l=n(e[t[o]]);l!==s&&(r+=l*l,i++)}return i?a(Math.sqrt(r/i)):s};case\"stddev\":return function(t,r){var i,a=0,o=0,l=1,u=s;for(i=0;i<r.length&&u===s;i++)u=n(t[r[i]]);if(u===s)return s;for(;i<r.length;i++){var c=n(t[r[i]]);if(c!==s){var f=c-u;a+=f,o+=f*f,l++}}var h=\"sample\"===e.funcmode?l-1:l;return h?Math.sqrt((o-a*a/l)/h):0}}}(a,n.getDataConversions(e,t,o,u)),d=new Array(r.length),v=0;v<r.length;v++)d[v]=c(u,r[v]);l.set(d),\"count\"===a.func&&i.pushUnique(t._arrayAttrs,o)}}function f(e,t){return t.length}function h(e,t){return e[t[0]]}function p(e,t){return e[t[t.length-1]]}t.supplyDefaults=function(e,t){var r,n={};function o(t,r){return i.coerce(e,n,l,t,r)}if(!o(\"enabled\"))return n;var s=a.findArrayAttributes(t),c={};for(r=0;r<s.length;r++)c[s[r]]=1;var f=o(\"groups\");if(!Array.isArray(f)){if(!c[f])return n.enabled=!1,n;c[f]=0}var h,p=e.aggregations||[],d=n.aggregations=new Array(p.length);function v(e,t){return i.coerce(p[r],h,u,e,t)}for(r=0;r<p.length;r++){h={_index:r};var g=v(\"target\"),m=v(\"func\");v(\"enabled\")&&g&&(c[g]||\"count\"===m&&void 0===c[g])?(\"stddev\"===m&&v(\"funcmode\"),c[g]=0,d[r]=h):d[r]={enabled:!1,_index:r}}for(r=0;r<s.length;r++)c[s[r]]&&d.push({target:s[r],func:u.func.dflt,enabled:!0,_index:-1});return n},t.calcTransform=function(e,t,r){if(r.enabled){var n=r.groups,a=i.getTargetArray(t,{target:n});if(a){var s,l,u,f,h={},p={},d=[],v=o(t.transforms,r),g=a.length;for(t._length&&(g=Math.min(g,t._length)),s=0;s<g;s++)void 0===(u=h[l=a[s]])?(h[l]=d.length,f=[s],d.push(f),p[h[l]]=v(s)):(d[u].push(s),p[h[l]]=(p[h[l]]||[]).concat(v(s)));r._indexToPoints=p;var m=r.aggregations;for(s=0;s<m.length;s++)c(e,t,d,m[s]);\"string\"==typeof n&&c(e,t,d,{target:n,func:\"first\",enabled:!0}),t._length=d.length}}}},14382:function(e,t,r){\"use strict\";var n=r(71828),i=r(73972),a=r(89298),o=r(79344).p,s=r(74808),l=s.COMPARISON_OPS,u=s.INTERVAL_OPS,c=s.SET_OPS;t.moduleType=\"transform\",t.name=\"filter\",t.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},operation:{valType:\"enumerated\",values:[].concat(l).concat(u).concat(c),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},preservegaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},editType:\"calc\"},t.supplyDefaults=function(e){var r={};function a(i,a){return n.coerce(e,r,t.attributes,i,a)}if(a(\"enabled\")){var o=a(\"target\");if(n.isArrayOrTypedArray(o)&&0===o.length)return r.enabled=!1,r;a(\"preservegaps\"),a(\"operation\"),a(\"value\");var s=i.getComponentMethod(\"calendars\",\"handleDefaults\");s(e,r,\"valuecalendar\",null),s(e,r,\"targetcalendar\",null)}return r},t.calcTransform=function(e,t,r){if(r.enabled){var i=n.getTargetArray(t,r);if(i){var s=r.target,f=i.length;t._length&&(f=Math.min(f,t._length));var h=r.targetcalendar,p=t._arrayAttrs,d=r.preservegaps;if(\"string\"==typeof s){var v=n.nestedProperty(t,s+\"calendar\").get();v&&(h=v)}var g,m,y=function(e,t,r){var n=e.operation,i=e.value,a=Array.isArray(i);function o(e){return-1!==e.indexOf(n)}var s,f=function(r){return t(r,0,e.valuecalendar)},h=function(e){return t(e,0,r)};switch(o(l)?s=f(a?i[0]:i):o(u)?s=a?[f(i[0]),f(i[1])]:[f(i),f(i)]:o(c)&&(s=a?i.map(f):[f(i)]),n){case\"=\":return function(e){return h(e)===s};case\"!=\":return function(e){return h(e)!==s};case\"<\":return function(e){return h(e)<s};case\"<=\":return function(e){return h(e)<=s};case\">\":return function(e){return h(e)>s};case\">=\":return function(e){return h(e)>=s};case\"[]\":return function(e){var t=h(e);return t>=s[0]&&t<=s[1]};case\"()\":return function(e){var t=h(e);return t>s[0]&&t<s[1]};case\"[)\":return function(e){var t=h(e);return t>=s[0]&&t<s[1]};case\"(]\":return function(e){var t=h(e);return t>s[0]&&t<=s[1]};case\"][\":return function(e){var t=h(e);return t<=s[0]||t>=s[1]};case\")(\":return function(e){var t=h(e);return t<s[0]||t>s[1]};case\"](\":return function(e){var t=h(e);return t<=s[0]||t>s[1]};case\")[\":return function(e){var t=h(e);return t<s[0]||t>=s[1]};case\"{}\":return function(e){return-1!==s.indexOf(h(e))};case\"}{\":return function(e){return-1===s.indexOf(h(e))}}}(r,a.getDataToCoordFunc(e,t,s,i),h),x={},b={},_=0;d?(g=function(e){x[e.astr]=n.extendDeep([],e.get()),e.set(new Array(f))},m=function(e,t){var r=x[e.astr][t];e.get()[t]=r}):(g=function(e){x[e.astr]=n.extendDeep([],e.get()),e.set([])},m=function(e,t){var r=x[e.astr][t];e.get().push(r)}),T(g);for(var w=o(t.transforms,r),k=0;k<f;k++)y(i[k])?(T(m,k),b[_++]=w(k)):d&&_++;r._indexToPoints=b,t._length=_}}function T(e,r){for(var i=0;i<p.length;i++)e(n.nestedProperty(t,p[i]),r)}}},43102:function(e,t,r){\"use strict\";var n=r(71828),i=r(86281),a=r(74875),o=r(79344).p;function s(e,t){var r,s,l,u,c,f,h,p,d,v,g=t.transform,m=t.transformIndex,y=e.transforms[m].groups,x=o(e.transforms,g);if(!n.isArrayOrTypedArray(y)||0===y.length)return[e];var b=n.filterUnique(y),_=new Array(b.length),w=y.length,k=i.findArrayAttributes(e),T=g.styles||[],M={};for(r=0;r<T.length;r++)M[T[r].target]=T[r].value;g.styles&&(v=n.keyedContainer(g,\"styles\",\"target\",\"value.name\"));var A={},S={};for(r=0;r<b.length;r++){A[f=b[r]]=r,S[f]=0,(h=_[r]=n.extendDeepNoArrays({},e))._group=f,h.transforms[m]._indexToPoints={};var E=null;for(v&&(E=v.get(f)),h.name=E||\"\"===E?E:n.templateString(g.nameformat,{trace:e.name,group:f}),p=h.transforms,h.transforms=[],s=0;s<p.length;s++)h.transforms[s]=n.extendDeepNoArrays({},p[s]);for(s=0;s<k.length;s++)n.nestedProperty(h,k[s]).set([])}for(l=0;l<k.length;l++){for(u=k[l],s=0,d=[];s<b.length;s++)d[s]=n.nestedProperty(_[s],u).get();for(c=n.nestedProperty(e,u).get(),s=0;s<w;s++)d[A[y[s]]].push(c[s])}for(s=0;s<w;s++)(h=_[A[y[s]]]).transforms[m]._indexToPoints[S[y[s]]]=x(s),S[y[s]]++;for(r=0;r<b.length;r++)f=b[r],h=_[r],a.clearExpandedTraceDefaultColors(h),h=n.extendDeepNoArrays(h,M[f]||{});return _}t.moduleType=\"transform\",t.name=\"groupby\",t.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"data_array\",dflt:[],editType:\"calc\"},nameformat:{valType:\"string\",editType:\"calc\"},styles:{_isLinkedToArray:\"style\",target:{valType:\"string\",editType:\"calc\"},value:{valType:\"any\",dflt:{},editType:\"calc\",_compareAsJSON:!0},editType:\"calc\"},editType:\"calc\"},t.supplyDefaults=function(e,r,i){var a,o={};function s(r,i){return n.coerce(e,o,t.attributes,r,i)}if(!s(\"enabled\"))return o;s(\"groups\"),s(\"nameformat\",i._dataLength>1?\"%{group} (%{trace})\":\"%{group}\");var l=e.styles,u=o.styles=[];if(l)for(a=0;a<l.length;a++){var c=u[a]={};n.coerce(l[a],u[a],t.attributes.styles,\"target\");var f=n.coerce(l[a],u[a],t.attributes.styles,\"value\");n.isPlainObject(f)?c.value=n.extendDeep({},f):f&&delete c.value}return o},t.transform=function(e,t){var r,n,i,a=[];for(n=0;n<e.length;n++)for(r=s(e[n],t),i=0;i<r.length;i++)a.push(r[i]);return a}},79344:function(e,t){\"use strict\";t.p=function(e,t){for(var r,n,i=0;i<e.length&&(r=e[i])!==t;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);var a=n?function(e){return n[e]}:function(e){return[e]};return a}},32275:function(e,t,r){\"use strict\";var n=r(71828),i=r(89298),a=r(79344).p,o=r(50606).BADNUM;t.moduleType=\"transform\",t.name=\"sort\",t.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},order:{valType:\"enumerated\",values:[\"ascending\",\"descending\"],dflt:\"ascending\",editType:\"calc\"},editType:\"calc\"},t.supplyDefaults=function(e){var r={};function i(i,a){return n.coerce(e,r,t.attributes,i,a)}return i(\"enabled\")&&(i(\"target\"),i(\"order\")),r},t.calcTransform=function(e,t,r){if(r.enabled){var s=n.getTargetArray(t,r);if(s){var l=r.target,u=s.length;t._length&&(u=Math.min(u,t._length));var c,f,h=t._arrayAttrs,p=function(e,t,r,n){var i,a=new Array(n),s=new Array(n);for(i=0;i<n;i++)a[i]={v:t[i],i};for(a.sort(function(e,t){switch(e.order){case\"ascending\":return function(e,r){var n=t(e.v),i=t(r.v);return n===o?1:i===o?-1:n-i};case\"descending\":return function(e,r){var n=t(e.v),i=t(r.v);return n===o?1:i===o?-1:i-n}}}(e,r)),i=0;i<n;i++)s[i]=a[i].i;return s}(r,s,i.getDataToCoordFunc(e,t,l,s),u),d=a(t.transforms,r),v={};for(c=0;c<h.length;c++){var g=n.nestedProperty(t,h[c]),m=g.get(),y=new Array(u);for(f=0;f<u;f++)y[f]=m[p[f]];g.set(y)}for(f=0;f<u;f++)v[f]=d(p[f]);r._indexToPoints=v,t._length=u}}}},11506:function(e,t){\"use strict\";t.version=\"2.26.0\"},9330:function(e,t,r){var n,i=r(90386);self,n=function(){return function(){var e={7386:function(e,t,r){e.exports={alpha_shape:r(2350),convex_hull:r(5537),delaunay_triangulate:r(4419),gl_cone3d:r(1140),gl_error3d:r(3110),gl_heatmap2d:r(6386),gl_line3d:r(6086),gl_mesh3d:r(8116),gl_plot2d:r(2117),gl_plot3d:r(1059),gl_pointcloud2d:r(8271),gl_scatter3d:r(2182),gl_select_box:r(6623),gl_spikes2d:r(3050),gl_streamtube3d:r(7307),gl_surface3d:r(3754),ndarray:r(5050),ndarray_linear_interpolate:r(3581)}},2146:function(e,t,r){\"use strict\";function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}function a(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}function s(e){return s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},s(e)}var l=r(3910),u=r(3187),c=\"function\"==typeof Symbol&&\"function\"==typeof Symbol.for?Symbol.for(\"nodejs.util.inspect.custom\"):null;t.lW=p,t.h2=50;var f=2147483647;function h(e){if(e>f)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,p.prototype),t}function p(e,t,r){if(\"number\"==typeof e){if(\"string\"==typeof t)throw new TypeError('The \"string\" argument must be of type string. Received type number');return g(e)}return d(e,t,r)}function d(e,t,r){if(\"string\"==typeof e)return function(e,t){if(\"string\"==typeof t&&\"\"!==t||(t=\"utf8\"),!p.isEncoding(t))throw new TypeError(\"Unknown encoding: \"+t);var r=0|b(e,t),n=h(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(ee(e,Uint8Array)){var t=new Uint8Array(e);return y(t.buffer,t.byteOffset,t.byteLength)}return m(e)}(e);if(null==e)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+s(e));if(ee(e,ArrayBuffer)||e&&ee(e.buffer,ArrayBuffer))return y(e,t,r);if(\"undefined\"!=typeof SharedArrayBuffer&&(ee(e,SharedArrayBuffer)||e&&ee(e.buffer,SharedArrayBuffer)))return y(e,t,r);if(\"number\"==typeof e)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return p.from(n,t,r);var i=function(e){if(p.isBuffer(e)){var t=0|x(e.length),r=h(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?\"number\"!=typeof e.length||te(e.length)?h(0):m(e):\"Buffer\"===e.type&&Array.isArray(e.data)?m(e.data):void 0}(e);if(i)return i;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof e[Symbol.toPrimitive])return p.from(e[Symbol.toPrimitive](\"string\"),t,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+s(e))}function v(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be of type number');if(e<0)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"')}function g(e){return v(e),h(e<0?0:0|x(e))}function m(e){for(var t=e.length<0?0:0|x(e.length),r=h(t),n=0;n<t;n+=1)r[n]=255&e[n];return r}function y(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('\"offset\" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');var n;return n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r),Object.setPrototypeOf(n,p.prototype),n}function x(e){if(e>=f)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+f.toString(16)+\" bytes\");return 0|e}function b(e,t){if(p.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||ee(e,ArrayBuffer))return e.byteLength;if(\"string\"!=typeof e)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+s(e));var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return J(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return $(e).length;default:if(i)return n?-1:J(e).length;t=(\"\"+t).toLowerCase(),i=!0}}function _(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return z(this,t,r);case\"utf8\":case\"utf-8\":return P(this,t,r);case\"ascii\":return I(this,t,r);case\"latin1\":case\"binary\":return D(this,t,r);case\"base64\":return L(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return R(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}function w(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function k(e,t,r,n,i){if(0===e.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),te(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof t&&(t=p.from(t,n)),p.isBuffer(t))return 0===t.length?-1:T(e,t,r,n,i);if(\"number\"==typeof t)return t&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):T(e,[t],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function T(e,t,r,n,i){var a,o=1,s=e.length,l=t.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var c=-1;for(a=r;a<s;a++)if(u(e,a)===u(t,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===l)return c*o}else-1!==c&&(a-=a-c),c=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h<l;h++)if(u(e,a+h)!==u(t,h)){f=!1;break}if(f)return a}return-1}function M(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a,o=t.length;for(n>o/2&&(n=o/2),a=0;a<n;++a){var s=parseInt(t.substr(2*a,2),16);if(te(s))return a;e[r+a]=s}return a}function A(e,t,r,n){return Q(J(t,e.length-r),e,r,n)}function S(e,t,r,n){return Q(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function E(e,t,r,n){return Q($(t),e,r,n)}function C(e,t,r,n){return Q(function(e,t){for(var r,n,i,a=[],o=0;o<e.length&&!((t-=2)<0);++o)n=(r=e.charCodeAt(o))>>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function L(e,t,r){return 0===t&&r===e.length?l.fromByteArray(e):l.fromByteArray(e.slice(t,r))}function P(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var a=e[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=e[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=e[i+1],u=e[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=e[i+1],u=e[i+2],c=e[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(e){var t=e.length;if(t<=O)return String.fromCharCode.apply(String,e);for(var r=\"\",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=O));return r}(n)}p.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),p.TYPED_ARRAY_SUPPORT||\"undefined\"==typeof console||\"function\"!=typeof console.error||console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"),Object.defineProperty(p.prototype,\"parent\",{enumerable:!0,get:function(){if(p.isBuffer(this))return this.buffer}}),Object.defineProperty(p.prototype,\"offset\",{enumerable:!0,get:function(){if(p.isBuffer(this))return this.byteOffset}}),p.poolSize=8192,p.from=function(e,t,r){return d(e,t,r)},Object.setPrototypeOf(p.prototype,Uint8Array.prototype),Object.setPrototypeOf(p,Uint8Array),p.alloc=function(e,t,r){return function(e,t,r){return v(e),e<=0?h(e):void 0!==t?\"string\"==typeof r?h(e).fill(t,r):h(e).fill(t):h(e)}(e,t,r)},p.allocUnsafe=function(e){return g(e)},p.allocUnsafeSlow=function(e){return g(e)},p.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==p.prototype},p.compare=function(e,t){if(ee(e,Uint8Array)&&(e=p.from(e,e.offset,e.byteLength)),ee(t,Uint8Array)&&(t=p.from(t,t.offset,t.byteLength)),!p.isBuffer(e)||!p.isBuffer(t))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0},p.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},p.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return p.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=p.allocUnsafe(t),i=0;for(r=0;r<e.length;++r){var a=e[r];if(ee(a,Uint8Array))i+a.length>n.length?(p.isBuffer(a)||(a=p.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!p.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},p.byteLength=b,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)w(this,t,t+1);return this},p.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)w(this,t,t+3),w(this,t+1,t+2);return this},p.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)w(this,t,t+7),w(this,t+1,t+6),w(this,t+2,t+5),w(this,t+3,t+4);return this},p.prototype.toString=function(){var e=this.length;return 0===e?\"\":0===arguments.length?P(this,0,e):_.apply(this,arguments)},p.prototype.toLocaleString=p.prototype.toString,p.prototype.equals=function(e){if(!p.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===p.compare(this,e)},p.prototype.inspect=function(){var e=\"\",r=t.h2;return e=this.toString(\"hex\",0,r).replace(/(.{2})/g,\"$1 \").trim(),this.length>r&&(e+=\" ... \"),\"<Buffer \"+e+\">\"},c&&(p.prototype[c]=p.prototype.inspect),p.prototype.compare=function(e,t,r,n,i){if(ee(e,Uint8Array)&&(e=p.from(e,e.offset,e.byteLength)),!p.isBuffer(e))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+s(e));if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),l=Math.min(a,o),u=this.slice(n,i),c=e.slice(t,r),f=0;f<l;++f)if(u[f]!==c[f]){a=u[f],o=c[f];break}return a<o?-1:o<a?1:0},p.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},p.prototype.indexOf=function(e,t,r){return k(this,e,t,r,!0)},p.prototype.lastIndexOf=function(e,t,r){return k(this,e,t,r,!1)},p.prototype.write=function(e,t,r,n){if(void 0===t)n=\"utf8\",r=this.length,t=0;else if(void 0===r&&\"string\"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return M(this,e,t,r);case\"utf8\":case\"utf-8\":return A(this,e,t,r);case\"ascii\":case\"latin1\":case\"binary\":return S(this,e,t,r);case\"base64\":return E(this,e,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return C(this,e,t,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},p.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function I(e,t,r){var n=\"\";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(127&e[i]);return n}function D(e,t,r){var n=\"\";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function z(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i=\"\",a=t;a<r;++a)i+=re[e[a]];return i}function R(e,t,r){for(var n=e.slice(t,r),i=\"\",a=0;a<n.length-1;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function F(e,t,r){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>r)throw new RangeError(\"Trying to access beyond buffer length\")}function B(e,t,r,n,i,a){if(!p.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('\"value\" argument is out of bounds');if(r+n>e.length)throw new RangeError(\"Index out of range\")}function N(e,t,r,n,i){W(t,n,i,e,r,7);var a=Number(t&BigInt(4294967295));e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a;var o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,r}function j(e,t,r,n,i){W(t,n,i,e,r,7);var a=Number(t&BigInt(4294967295));e[r+7]=a,a>>=8,e[r+6]=a,a>>=8,e[r+5]=a,a>>=8,e[r+4]=a;var o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o>>=8,e[r+2]=o,o>>=8,e[r+1]=o,o>>=8,e[r]=o,r+8}function U(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function V(e,t,r,n,i){return t=+t,r>>>=0,i||U(e,0,r,4),u.write(e,t,r,n,23,4),r+4}function H(e,t,r,n,i){return t=+t,r>>>=0,i||U(e,0,r,8),u.write(e,t,r,n,52,8),r+8}p.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var n=this.subarray(e,t);return Object.setPrototypeOf(n,p.prototype),n},p.prototype.readUintLE=p.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||F(e,t,this.length);for(var n=this[e],i=1,a=0;++a<t&&(i*=256);)n+=this[e+a]*i;return n},p.prototype.readUintBE=p.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||F(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},p.prototype.readUint8=p.prototype.readUInt8=function(e,t){return e>>>=0,t||F(e,1,this.length),this[e]},p.prototype.readUint16LE=p.prototype.readUInt16LE=function(e,t){return e>>>=0,t||F(e,2,this.length),this[e]|this[e+1]<<8},p.prototype.readUint16BE=p.prototype.readUInt16BE=function(e,t){return e>>>=0,t||F(e,2,this.length),this[e]<<8|this[e+1]},p.prototype.readUint32LE=p.prototype.readUInt32LE=function(e,t){return e>>>=0,t||F(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},p.prototype.readUint32BE=p.prototype.readUInt32BE=function(e,t){return e>>>=0,t||F(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},p.prototype.readBigUInt64LE=ne((function(e){Z(e>>>=0,\"offset\");var t=this[e],r=this[e+7];void 0!==t&&void 0!==r||X(e,this.length-8);var n=t+this[++e]*Math.pow(2,8)+this[++e]*Math.pow(2,16)+this[++e]*Math.pow(2,24),i=this[++e]+this[++e]*Math.pow(2,8)+this[++e]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<<BigInt(32))})),p.prototype.readBigUInt64BE=ne((function(e){Z(e>>>=0,\"offset\");var t=this[e],r=this[e+7];void 0!==t&&void 0!==r||X(e,this.length-8);var n=t*Math.pow(2,24)+this[++e]*Math.pow(2,16)+this[++e]*Math.pow(2,8)+this[++e],i=this[++e]*Math.pow(2,24)+this[++e]*Math.pow(2,16)+this[++e]*Math.pow(2,8)+r;return(BigInt(n)<<BigInt(32))+BigInt(i)})),p.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||F(e,t,this.length);for(var n=this[e],i=1,a=0;++a<t&&(i*=256);)n+=this[e+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},p.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||F(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},p.prototype.readInt8=function(e,t){return e>>>=0,t||F(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},p.prototype.readInt16LE=function(e,t){e>>>=0,t||F(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt16BE=function(e,t){e>>>=0,t||F(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt32LE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},p.prototype.readInt32BE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},p.prototype.readBigInt64LE=ne((function(e){Z(e>>>=0,\"offset\");var t=this[e],r=this[e+7];void 0!==t&&void 0!==r||X(e,this.length-8);var n=this[e+4]+this[e+5]*Math.pow(2,8)+this[e+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<<BigInt(32))+BigInt(t+this[++e]*Math.pow(2,8)+this[++e]*Math.pow(2,16)+this[++e]*Math.pow(2,24))})),p.prototype.readBigInt64BE=ne((function(e){Z(e>>>=0,\"offset\");var t=this[e],r=this[e+7];void 0!==t&&void 0!==r||X(e,this.length-8);var n=(t<<24)+this[++e]*Math.pow(2,16)+this[++e]*Math.pow(2,8)+this[++e];return(BigInt(n)<<BigInt(32))+BigInt(this[++e]*Math.pow(2,24)+this[++e]*Math.pow(2,16)+this[++e]*Math.pow(2,8)+r)})),p.prototype.readFloatLE=function(e,t){return e>>>=0,t||F(e,4,this.length),u.read(this,e,!0,23,4)},p.prototype.readFloatBE=function(e,t){return e>>>=0,t||F(e,4,this.length),u.read(this,e,!1,23,4)},p.prototype.readDoubleLE=function(e,t){return e>>>=0,t||F(e,8,this.length),u.read(this,e,!0,52,8)},p.prototype.readDoubleBE=function(e,t){return e>>>=0,t||F(e,8,this.length),u.read(this,e,!1,52,8)},p.prototype.writeUintLE=p.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||B(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a<r&&(i*=256);)this[t+a]=e/i&255;return t+r},p.prototype.writeUintBE=p.prototype.writeUIntBE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||B(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},p.prototype.writeUint8=p.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,1,255,0),this[t]=255&e,t+1},p.prototype.writeUint16LE=p.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},p.prototype.writeUint16BE=p.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},p.prototype.writeUint32LE=p.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},p.prototype.writeUint32BE=p.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},p.prototype.writeBigUInt64LE=ne((function(e){return N(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),p.prototype.writeBigUInt64BE=ne((function(e){return j(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),p.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a<r&&(o*=256);)e<0&&0===s&&0!==this[t+a-1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},p.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},p.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},p.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},p.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},p.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},p.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},p.prototype.writeBigInt64LE=ne((function(e){return N(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),p.prototype.writeBigInt64BE=ne((function(e){return j(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),p.prototype.writeFloatLE=function(e,t,r){return V(this,e,t,!0,r)},p.prototype.writeFloatBE=function(e,t,r){return V(this,e,t,!1,r)},p.prototype.writeDoubleLE=function(e,t,r){return H(this,e,t,!0,r)},p.prototype.writeDoubleBE=function(e,t,r){return H(this,e,t,!1,r)},p.prototype.copy=function(e,t,r,n){if(!p.isBuffer(e))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(r<0||r>=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var i=n-r;return this===e&&\"function\"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(t,r,n):Uint8Array.prototype.set.call(e,this.subarray(r,n),t),i},p.prototype.fill=function(e,t,r,n){if(\"string\"==typeof e){if(\"string\"==typeof t?(n=t,t=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!p.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===e.length){var i=e.charCodeAt(0);(\"utf8\"===n&&i<128||\"latin1\"===n)&&(e=i)}}else\"number\"==typeof e?e&=255:\"boolean\"==typeof e&&(e=Number(e));if(t<0||this.length<t||this.length<r)throw new RangeError(\"Out of range index\");if(r<=t)return this;var a;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),\"number\"==typeof e)for(a=t;a<r;++a)this[a]=e;else{var o=p.isBuffer(e)?e:p.from(e,n),s=o.length;if(0===s)throw new TypeError('The value \"'+e+'\" is invalid for argument \"value\"');for(a=0;a<r-t;++a)this[a+t]=o[a%s]}return this};var q={};function G(e,t,r){q[e]=function(r){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&i(e,t)}(p,r);var l,u,c,f,h=(c=p,f=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=o(c);if(f){var r=o(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return function(e,t){if(t&&(\"object\"===s(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return a(e)}(this,e)});function p(){var r;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,p),r=h.call(this),Object.defineProperty(a(r),\"message\",{value:t.apply(a(r),arguments),writable:!0,configurable:!0}),r.name=\"\".concat(r.name,\" [\").concat(e,\"]\"),r.stack,delete r.name,r}return l=p,(u=[{key:\"code\",get:function(){return e},set:function(e){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:e,writable:!0})}},{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(e,\"]: \").concat(this.message)}}])&&n(l.prototype,u),Object.defineProperty(l,\"prototype\",{writable:!1}),p}(r)}function Y(e){for(var t=\"\",r=e.length,n=\"-\"===e[0]?1:0;r>=n+4;r-=3)t=\"_\".concat(e.slice(r-3,r)).concat(t);return\"\".concat(e.slice(0,r)).concat(t)}function W(e,t,r,n,i,a){if(e>r||e<t){var o,s=\"bigint\"==typeof t?\"n\":\"\";throw o=a>3?0===t||t===BigInt(0)?\">= 0\".concat(s,\" and < 2\").concat(s,\" ** \").concat(8*(a+1)).concat(s):\">= -(2\".concat(s,\" ** \").concat(8*(a+1)-1).concat(s,\") and < 2 ** \")+\"\".concat(8*(a+1)-1).concat(s):\">= \".concat(t).concat(s,\" and <= \").concat(r).concat(s),new q.ERR_OUT_OF_RANGE(\"value\",o,e)}!function(e,t,r){Z(t,\"offset\"),void 0!==e[t]&&void 0!==e[t+r]||X(t,e.length-(r+1))}(n,i,a)}function Z(e,t){if(\"number\"!=typeof e)throw new q.ERR_INVALID_ARG_TYPE(t,\"number\",e)}function X(e,t,r){if(Math.floor(e)!==e)throw Z(e,r),new q.ERR_OUT_OF_RANGE(r||\"offset\",\"an integer\",e);if(t<0)throw new q.ERR_BUFFER_OUT_OF_BOUNDS;throw new q.ERR_OUT_OF_RANGE(r||\"offset\",\">= \".concat(r?1:0,\" and <= \").concat(t),e)}G(\"ERR_BUFFER_OUT_OF_BOUNDS\",(function(e){return e?\"\".concat(e,\" is outside of buffer bounds\"):\"Attempt to access memory outside buffer bounds\"}),RangeError),G(\"ERR_INVALID_ARG_TYPE\",(function(e,t){return'The \"'.concat(e,'\" argument must be of type number. Received type ').concat(s(t))}),TypeError),G(\"ERR_OUT_OF_RANGE\",(function(e,t,r){var n='The value of \"'.concat(e,'\" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=Y(String(r)):\"bigint\"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=Y(i)),i+=\"n\"),n+\" It must be \".concat(t,\". Received \").concat(i)}),RangeError);var K=/[^+/0-9A-Za-z-_]/g;function J(e,t){var r;t=t||1/0;for(var n=e.length,i=null,a=[],o=0;o<n;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function $(e){return l.toByteArray(function(e){if((e=(e=e.split(\"=\")[0]).trim().replace(K,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function Q(e,t,r,n){var i;for(i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function ee(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function te(e){return e!=e}var re=function(){for(var e=\"0123456789abcdef\",t=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)t[n+i]=e[r]+e[i];return t}();function ne(e){return\"undefined\"==typeof BigInt?ie:e}function ie(){throw new Error(\"BigInt not supported\")}},2321:function(e){\"use strict\";e.exports=i,e.exports.isMobile=i,e.exports.default=i;var t=/(android|bb\\d+|meego).+mobile|armv7l|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(e){e||(e={});var i=e.ua;if(i||\"undefined\"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&\"string\"==typeof i.headers[\"user-agent\"]&&(i=i.headers[\"user-agent\"]),\"string\"!=typeof i)return!1;var a=t.test(i)&&!r.test(i)||!!e.tablet&&n.test(i);return!a&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf(\"Macintosh\")&&-1!==i.indexOf(\"Safari\")&&(a=!0),a}},3910:function(e,t){\"use strict\";t.byteLength=function(e){var t=s(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,a=s(e),o=a[0],l=a[1],u=new i(function(e,t,r){return 3*(t+r)/4-r}(0,o,l)),c=0,f=l>0?o-4:o;for(r=0;r<f;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],u[c++]=t>>16&255,u[c++]=t>>8&255,u[c++]=255&t;return 2===l&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,u[c++]=255&t),1===l&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,u[c++]=t>>8&255,u[c++]=255&t),u},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,a=[],o=16383,s=0,u=n-i;s<u;s+=o)a.push(l(e,s,s+o>u?u:s+o));return 1===i?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+\"==\")):2===i&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+\"=\")),a.join(\"\")};for(var r=[],n=[],i=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=e.indexOf(\"=\");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function l(e,t,n){for(var i,a,o=[],s=t;s<n;s+=3)i=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),o.push(r[(a=i)>>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join(\"\")}n[\"-\".charCodeAt(0)]=62,n[\"_\".charCodeAt(0)]=63},3187:function(e,t){t.read=function(e,t,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,f=r?i-1:0,h=r?-1:1,p=e[t+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+e[t+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+e[t+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},t.write=function(e,t,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,f=c>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(t*l-1)*Math.pow(2,i),o+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;e[r+p]=255&o,p+=d,o/=256,u-=8);e[r+p-d]|=128*v}},1152:function(e,t,r){\"use strict\";e.exports=function(e){var t=(e=e||{}).eye||[0,0,1],r=e.center||[0,0,0],s=e.up||[0,1,0],l=e.distanceLimits||[0,1/0],u=e.mode||\"turntable\",c=n(),f=i(),h=a();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,t,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,t,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,t,r,s),new o({turntable:c,orbit:f,matrix:h},u)};var n=r(3440),i=r(7774),a=r(9298);function o(e,t){this._controllerNames=Object.keys(e),this._controllerList=this._controllerNames.map((function(t){return e[t]})),this._mode=t,this._active=e[t],this._active||(this._mode=\"turntable\",this._active=e.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(e){for(var t=this._controllerList,r=0;r<t.length;++r)t[r].flush(e)},s.idle=function(e){for(var t=this._controllerList,r=0;r<t.length;++r)t[r].idle(e)},s.lookAt=function(e,t,r,n){for(var i=this._controllerList,a=0;a<i.length;++a)i[a].lookAt(e,t,r,n)},s.rotate=function(e,t,r,n){for(var i=this._controllerList,a=0;a<i.length;++a)i[a].rotate(e,t,r,n)},s.pan=function(e,t,r,n){for(var i=this._controllerList,a=0;a<i.length;++a)i[a].pan(e,t,r,n)},s.translate=function(e,t,r,n){for(var i=this._controllerList,a=0;a<i.length;++a)i[a].translate(e,t,r,n)},s.setMatrix=function(e,t){for(var r=this._controllerList,n=0;n<r.length;++n)r[n].setMatrix(e,t)},s.setDistanceLimits=function(e,t){for(var r=this._controllerList,n=0;n<r.length;++n)r[n].setDistanceLimits(e,t)},s.setDistance=function(e,t){for(var r=this._controllerList,n=0;n<r.length;++n)r[n].setDistance(e,t)},s.recalcMatrix=function(e){this._active.recalcMatrix(e)},s.getDistance=function(e){return this._active.getDistance(e)},s.getDistanceLimits=function(e){return this._active.getDistanceLimits(e)},s.lastT=function(){return this._active.lastT()},s.setMode=function(e){if(e!==this._mode){var t=this._controllerNames.indexOf(e);if(!(t<0)){var r=this._active,n=this._controllerList[t],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,r.computedMatrix),this._active=n,this._mode=e,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},s.getMode=function(){return this._mode}},8126:function(e,t,r){\"use strict\";var n=\"undefined\"==typeof WeakMap?r(5346):WeakMap,i=r(5827),a=r(2944),o=new n;e.exports=function(e){var t=o.get(e),r=t&&(t._triangleBuffer.handle||t._triangleBuffer.buffer);if(!r||!e.isBuffer(r)){var n=i(e,new Float32Array([-1,-1,-1,4,4,-1]));(t=a(e,[{buffer:n,type:e.FLOAT,size:2}]))._triangleBuffer=n,o.set(e,t)}t.bind(),e.drawArrays(e.TRIANGLES,0,3),t.unbind()}},8008:function(e,t,r){var n=r(4930);e.exports=function(e,t,r){t=\"number\"==typeof t?t:1,r=r||\": \";var i=e.split(/\\r?\\n/),a=String(i.length+t-1).length;return i.map((function(e,i){var o=i+t,s=String(o).length;return n(o,a-s)+r+e})).join(\"\\n\")}},2153:function(e,t,r){\"use strict\";e.exports=function(e){var t=e.length;if(0===t)return[];if(1===t)return[0];for(var r=e[0].length,n=[e[0]],a=[0],o=1;o<t;++o)if(n.push(e[o]),i(n,r)){if(a.push(o),a.length===r+1)return a}else n.pop();return a};var n=r(417);function i(e,t){for(var r=new Array(t+1),i=0;i<e.length;++i)r[i]=e[i];for(i=0;i<=e.length;++i){for(var a=e.length;a<=t;++a){for(var o=new Array(t),s=0;s<t;++s)o[s]=Math.pow(a+1-i,s);r[a]=o}if(n.apply(void 0,r))return!0}return!1}},4653:function(e,t,r){\"use strict\";e.exports=function(e,t){return n(t).filter((function(r){for(var n=new Array(r.length),a=0;a<r.length;++a)n[a]=t[r[a]];return i(n)*e<1}))};var n=r(4419),i=r(1778)},2350:function(e,t,r){e.exports=function(e,t){return i(n(e,t))};var n=r(4653),i=r(8691)},7896:function(e){e.exports=function(e){return atob(e)}},957:function(e,t,r){\"use strict\";e.exports=function(e,t){for(var r=t.length,a=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=e[l][o];a[o]=s}for(a[r]=new Array(r+1),o=0;o<=r;++o)a[r][o]=1;var u=new Array(r+1);for(o=0;o<r;++o)u[o]=t[o];u[r]=1;var c=n(a,u),f=i(c[r+1]);0===f&&(f=1);var h=new Array(r+1);for(o=0;o<=r;++o)h[o]=i(c[o])/f;return h};var n=r(6606);function i(e){for(var t=0,r=0;r<e.length;++r)t+=e[r];return t}},1539:function(e,t,r){\"use strict\";var n=r(8524);e.exports=function(e,t){return n(e[0].mul(t[1]).add(t[0].mul(e[1])),e[1].mul(t[1]))}},8846:function(e){\"use strict\";e.exports=function(e,t){return e[0].mul(t[1]).cmp(t[0].mul(e[1]))}},9189:function(e,t,r){\"use strict\";var n=r(8524);e.exports=function(e,t){return n(e[0].mul(t[1]),e[1].mul(t[0]))}},5125:function(e,t,r){\"use strict\";var n=r(234),i=r(3218),a=r(5514),o=r(2813),s=r(8524),l=r(9189);e.exports=function e(t,r){if(n(t))return r?l(t,e(r)):[t[0].clone(),t[1].clone()];var u,c,f=0;if(i(t))u=t.clone();else if(\"string\"==typeof t)u=o(t);else{if(0===t)return[a(0),a(1)];if(t===Math.floor(t))u=a(t);else{for(;t!==Math.floor(t);)t*=Math.pow(2,256),f-=256;u=a(t)}}if(n(r))u.mul(r[1]),c=r[0].clone();else if(i(r))c=r.clone();else if(\"string\"==typeof r)c=o(r);else if(r)if(r===Math.floor(r))c=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),f+=256;c=a(r)}else c=a(1);return f>0?u=u.ushln(f):f<0&&(c=c.ushln(-f)),s(u,c)}},234:function(e,t,r){\"use strict\";var n=r(3218);e.exports=function(e){return Array.isArray(e)&&2===e.length&&n(e[0])&&n(e[1])}},4275:function(e,t,r){\"use strict\";var n=r(1928);e.exports=function(e){return e.cmp(new n(0))}},9958:function(e,t,r){\"use strict\";var n=r(4275);e.exports=function(e){var t=e.length,r=e.words,i=0;if(1===t)i=r[0];else if(2===t)i=r[0]+67108864*r[1];else for(var a=0;a<t;a++)i+=r[a]*Math.pow(67108864,a);return n(e)*i}},1112:function(e,t,r){\"use strict\";var n=r(8362),i=r(2288).countTrailingZeros;e.exports=function(e){var t=i(n.lo(e));if(t<32)return t;var r=i(n.hi(e));return r>20?52:r+32}},3218:function(e,t,r){\"use strict\";r(1928),e.exports=function(e){return e&&\"object\"==typeof e&&Boolean(e.words)}},5514:function(e,t,r){\"use strict\";var n=r(1928),i=r(8362);e.exports=function(e){var t=i.exponent(e);return t<52?new n(e):new n(e*Math.pow(2,52-t)).ushln(t-52)}},8524:function(e,t,r){\"use strict\";var n=r(5514),i=r(4275);e.exports=function(e,t){var r=i(e),a=i(t);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(e=e.neg(),t=t.neg());var o=e.gcd(t);return o.cmpn(1)?[e.div(o),t.div(o)]:[e,t]}},2813:function(e,t,r){\"use strict\";var n=r(1928);e.exports=function(e){return new n(e)}},3962:function(e,t,r){\"use strict\";var n=r(8524);e.exports=function(e,t){return n(e[0].mul(t[0]),e[1].mul(t[1]))}},4951:function(e,t,r){\"use strict\";var n=r(4275);e.exports=function(e){return n(e[0])*n(e[1])}},4354:function(e,t,r){\"use strict\";var n=r(8524);e.exports=function(e,t){return n(e[0].mul(t[1]).sub(e[1].mul(t[0])),e[1].mul(t[1]))}},7999:function(e,t,r){\"use strict\";var n=r(9958),i=r(1112);e.exports=function(e){var t=e[0],r=e[1];if(0===t.cmpn(0))return 0;var a=t.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,u=t.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=i(s)+4;return u*(s+(h=n(l.ushln(c).divRound(r)))*Math.pow(2,-c))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f<1023?u*h*Math.pow(2,-f):u*(h*=Math.pow(2,-1023))*Math.pow(2,1023-f)}},5070:function(e){\"use strict\";function t(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>=0?(a=o,i=o-1):n=o+1}return a}function r(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>0?(a=o,i=o-1):n=o+1}return a}function n(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<0?(a=o,n=o+1):i=o-1}return a}function i(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<=0?(a=o,n=o+1):i=o-1}return a}function a(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=void 0!==r?r(o,t):o-t;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(e,t,r,n,i,a){return\"function\"==typeof r?a(e,t,r,void 0===n?0:0|n,void 0===i?e.length-1:0|i):a(e,t,void 0,void 0===r?0:0|r,void 0===n?e.length-1:0|n)}e.exports={ge:function(e,r,n,i,a){return o(e,r,n,i,a,t)},gt:function(e,t,n,i,a){return o(e,t,n,i,a,r)},lt:function(e,t,r,i,a){return o(e,t,r,i,a,n)},le:function(e,t,r,n,a){return o(e,t,r,n,a,i)},eq:function(e,t,r,n,i){return o(e,t,r,n,i,a)}}},2288:function(e,t){\"use strict\";function r(e){var t=32;return(e&=-e)&&t--,65535&e&&(t-=16),16711935&e&&(t-=8),252645135&e&&(t-=4),858993459&e&&(t-=2),1431655765&e&&(t-=1),t}t.INT_BITS=32,t.INT_MAX=2147483647,t.INT_MIN=-1<<31,t.sign=function(e){return(e>0)-(e<0)},t.abs=function(e){var t=e>>31;return(e^t)-t},t.min=function(e,t){return t^(e^t)&-(e<t)},t.max=function(e,t){return e^(e^t)&-(e<t)},t.isPow2=function(e){return!(e&e-1||!e)},t.log2=function(e){var t,r;return t=(e>65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1},t.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0},t.popCount=function(e){return 16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24},t.countTrailingZeros=r,t.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,1+((e|=e>>>8)|e>>>16)},t.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},t.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var n=new Array(256);!function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;e[t]=n<<i&255}}(n),t.reverse=function(e){return n[255&e]<<24|n[e>>>8&255]<<16|n[e>>>16&255]<<8|n[e>>>24&255]},t.interleave2=function(e,t){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))<<1},t.deinterleave2=function(e,t){return(e=65535&((e=16711935&((e=252645135&((e=858993459&((e=e>>>t&1431655765)|e>>>1))|e>>>2))|e>>>4))|e>>>16))<<16>>16},t.interleave3=function(e,t,r){return e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2),(e|=(t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},t.deinterleave3=function(e,t){return(e=1023&((e=4278190335&((e=251719695&((e=3272356035&((e=e>>>t&1227133513)|e>>>2))|e>>>4))|e>>>8))|e>>>16))<<22>>22},t.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>r(e)+1}},1928:function(e,t,r){!function(e,t){\"use strict\";function n(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&(\"le\"!==t&&\"be\"!==t||(r=t,t=10),this._init(e||0,t||10,r||\"be\"))}var o;\"object\"==typeof e?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;try{o=\"undefined\"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(6601).Buffer}catch(e){}function s(e,t){var r=e.charCodeAt(t);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(e,t,r){var n=s(e,r);return r-1>=t&&(n|=s(e,r-1)<<4),n}function u(e,t,r,n){for(var i=0,a=Math.min(e.length,r),o=t;o<a;o++){var s=e.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(e){return e instanceof a||null!==e&&\"object\"==typeof e&&e.constructor.wordSize===a.wordSize&&Array.isArray(e.words)},a.max=function(e,t){return e.cmp(t)>0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,r){if(\"number\"==typeof e)return this._initNumber(e,t,r);if(\"object\"==typeof e)return this._initArray(e,t,r);\"hex\"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;\"-\"===(e=e.toString().replace(/\\s+/g,\"\"))[0]&&(i++,this.negative=1),i<e.length&&(16===t?this._parseHex(e,i,r):(this._parseBase(e,t,i),\"le\"===r&&this._initArray(this.toArray(),t,r)))},a.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),\"le\"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initArray=function(e,t,r){if(n(\"number\"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if(\"be\"===r)for(i=e.length-1,a=0;i>=0;i-=3)o=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\"le\"===r)for(i=0,a=0;i<e.length;i+=3)o=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,a=0,o=0;if(\"be\"===r)for(n=e.length-1;n>=t;n-=2)i=l(e,t,n)<<a,this.words[o]|=67108863&i,a>=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(e.length-t)%2==0?t+1:t;n<e.length;n+=2)i=l(e,t,n)<<a,this.words[o]|=67108863&i,a>=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,c=r;c<s;c+=n)l=u(e,c,c+n,t),this.imuln(i),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l);if(0!==o){var f=1;for(l=u(e,c,e.length,t),c=0;c<o;c++)f*=t;this.imuln(f),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l)}this.strip()},a.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},a.prototype.clone=function(){var e=new a(null);return this.copy(e),e},a.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var c=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u<n;u++){for(var c=l>>>26,f=67108863&l,h=Math.min(u,t.length-1),p=Math.max(0,u-e.length+1);p<=h;p++){var d=u-p|0;c+=(o=(i=0|e.words[d])*(a=0|t.words[p])+f)/67108864|0,f=67108863&o}r.words[u]=0|f,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}a.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||\"hex\"===e){r=\"\";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);r=0!=(a=s>>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%t!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}if(e===(0|e)&&e>=2&&e<=36){var u=f[e],p=h[e];r=\"\";var d=this.clone();for(d.negative=0;!d.isZero();){var v=d.modn(p).toString(e);r=(d=d.idivn(p)).isZero()?v+r:c[u-v.length]+v+r}for(this.isZero()&&(r=\"0\"+r);r.length%t!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}n(!1,\"Base should be between 2 and 36\")},a.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(e,t){return n(void 0!==o),this.toArrayLike(o,e,t)},a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},a.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,\"byte array longer than desired length\"),n(a>0,\"Requested array length <= 0\"),this.strip();var o,s,l=\"le\"===t,u=new e(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s<a;s++)u[s]=0}else{for(s=0;s<a-i;s++)u[s]=0;for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[a-s-1]=o}return u},Math.clz32?a.prototype._countBits=function(e){return 32-Math.clz32(e)}:a.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},a.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},a.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},a.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this.strip()},a.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},a.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;n<r.length;n++)this.words[n]=t.words[n]^r.words[n];if(this!==t)for(;n<t.length;n++)this.words[n]=t.words[n];return this.length=t.length,this.strip()},a.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},a.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){n(\"number\"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){n(\"number\"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.prototype.iadd=function(e){var t,r,n;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(r=this,n=e):(r=e,n=this);for(var i=0,a=0;a<n.length;a++)t=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&t,i=t>>>26;for(;0!==i&&a<r.length;a++)t=(0|r.words[a])+i,this.words[a]=67108863&t,i=t>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var a=0,o=0;o<n.length;o++)a=(t=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&t;for(;0!==a&&o<r.length;o++)a=(t=(0|r.words[o])+a)>>26,this.words[o]=67108863&t;if(0===a&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(e){return this.clone().isub(e)};var d=function(e,t,r){var n,i,a,o=e.words,s=t.words,l=r.words,u=0,c=0|o[0],f=8191&c,h=c>>>13,p=0|o[1],d=8191&p,v=p>>>13,g=0|o[2],m=8191&g,y=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],k=8191&w,T=w>>>13,M=0|o[5],A=8191&M,S=M>>>13,E=0|o[6],C=8191&E,L=E>>>13,P=0|o[7],O=8191&P,I=P>>>13,D=0|o[8],z=8191&D,R=D>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,H=0|s[1],q=8191&H,G=H>>>13,Y=0|s[2],W=8191&Y,Z=Y>>>13,X=0|s[3],K=8191&X,J=X>>>13,$=0|s[4],Q=8191&$,ee=$>>>13,te=0|s[5],re=8191&te,ne=te>>>13,ie=0|s[6],ae=8191&ie,oe=ie>>>13,se=0|s[7],le=8191&se,ue=se>>>13,ce=0|s[8],fe=8191&ce,he=ce>>>13,pe=0|s[9],de=8191&pe,ve=pe>>>13;r.negative=e.negative^t.negative,r.length=19;var ge=(u+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;u=((a=Math.imul(h,V))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(v,U)|0,a=Math.imul(v,V);var me=(u+(n=n+Math.imul(f,q)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,q)|0))<<13)|0;u=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(m,U),i=(i=Math.imul(m,V))+Math.imul(y,U)|0,a=Math.imul(y,V),n=n+Math.imul(d,q)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(v,q)|0,a=a+Math.imul(v,G)|0;var ye=(u+(n=n+Math.imul(f,W)|0)|0)+((8191&(i=(i=i+Math.imul(f,Z)|0)+Math.imul(h,W)|0))<<13)|0;u=((a=a+Math.imul(h,Z)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(m,q)|0,i=(i=i+Math.imul(m,G)|0)+Math.imul(y,q)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,W)|0,i=(i=i+Math.imul(d,Z)|0)+Math.imul(v,W)|0,a=a+Math.imul(v,Z)|0;var xe=(u+(n=n+Math.imul(f,K)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(h,K)|0))<<13)|0;u=((a=a+Math.imul(h,J)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(k,U),i=(i=Math.imul(k,V))+Math.imul(T,U)|0,a=Math.imul(T,V),n=n+Math.imul(b,q)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,q)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(m,W)|0,i=(i=i+Math.imul(m,Z)|0)+Math.imul(y,W)|0,a=a+Math.imul(y,Z)|0,n=n+Math.imul(d,K)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(v,K)|0,a=a+Math.imul(v,J)|0;var be=(u+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,ee)|0)+Math.imul(h,Q)|0))<<13)|0;u=((a=a+Math.imul(h,ee)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(A,U),i=(i=Math.imul(A,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(k,q)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(T,q)|0,a=a+Math.imul(T,G)|0,n=n+Math.imul(b,W)|0,i=(i=i+Math.imul(b,Z)|0)+Math.imul(_,W)|0,a=a+Math.imul(_,Z)|0,n=n+Math.imul(m,K)|0,i=(i=i+Math.imul(m,J)|0)+Math.imul(y,K)|0,a=a+Math.imul(y,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,ee)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,ee)|0;var _e=(u+(n=n+Math.imul(f,re)|0)|0)+((8191&(i=(i=i+Math.imul(f,ne)|0)+Math.imul(h,re)|0))<<13)|0;u=((a=a+Math.imul(h,ne)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(C,U),i=(i=Math.imul(C,V))+Math.imul(L,U)|0,a=Math.imul(L,V),n=n+Math.imul(A,q)|0,i=(i=i+Math.imul(A,G)|0)+Math.imul(S,q)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(k,W)|0,i=(i=i+Math.imul(k,Z)|0)+Math.imul(T,W)|0,a=a+Math.imul(T,Z)|0,n=n+Math.imul(b,K)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(_,K)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(m,Q)|0,i=(i=i+Math.imul(m,ee)|0)+Math.imul(y,Q)|0,a=a+Math.imul(y,ee)|0,n=n+Math.imul(d,re)|0,i=(i=i+Math.imul(d,ne)|0)+Math.imul(v,re)|0,a=a+Math.imul(v,ne)|0;var we=(u+(n=n+Math.imul(f,ae)|0)|0)+((8191&(i=(i=i+Math.imul(f,oe)|0)+Math.imul(h,ae)|0))<<13)|0;u=((a=a+Math.imul(h,oe)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(C,q)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,q)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(A,W)|0,i=(i=i+Math.imul(A,Z)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,Z)|0,n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,J)|0)+Math.imul(T,K)|0,a=a+Math.imul(T,J)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,ee)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,ee)|0,n=n+Math.imul(m,re)|0,i=(i=i+Math.imul(m,ne)|0)+Math.imul(y,re)|0,a=a+Math.imul(y,ne)|0,n=n+Math.imul(d,ae)|0,i=(i=i+Math.imul(d,oe)|0)+Math.imul(v,ae)|0,a=a+Math.imul(v,oe)|0;var ke=(u+(n=n+Math.imul(f,le)|0)|0)+((8191&(i=(i=i+Math.imul(f,ue)|0)+Math.imul(h,le)|0))<<13)|0;u=((a=a+Math.imul(h,ue)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(z,U),i=(i=Math.imul(z,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(O,q)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(I,q)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(C,W)|0,i=(i=i+Math.imul(C,Z)|0)+Math.imul(L,W)|0,a=a+Math.imul(L,Z)|0,n=n+Math.imul(A,K)|0,i=(i=i+Math.imul(A,J)|0)+Math.imul(S,K)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,ee)|0)+Math.imul(T,Q)|0,a=a+Math.imul(T,ee)|0,n=n+Math.imul(b,re)|0,i=(i=i+Math.imul(b,ne)|0)+Math.imul(_,re)|0,a=a+Math.imul(_,ne)|0,n=n+Math.imul(m,ae)|0,i=(i=i+Math.imul(m,oe)|0)+Math.imul(y,ae)|0,a=a+Math.imul(y,oe)|0,n=n+Math.imul(d,le)|0,i=(i=i+Math.imul(d,ue)|0)+Math.imul(v,le)|0,a=a+Math.imul(v,ue)|0;var Te=(u+(n=n+Math.imul(f,fe)|0)|0)+((8191&(i=(i=i+Math.imul(f,he)|0)+Math.imul(h,fe)|0))<<13)|0;u=((a=a+Math.imul(h,he)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(z,q)|0,i=(i=i+Math.imul(z,G)|0)+Math.imul(R,q)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(O,W)|0,i=(i=i+Math.imul(O,Z)|0)+Math.imul(I,W)|0,a=a+Math.imul(I,Z)|0,n=n+Math.imul(C,K)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(L,K)|0,a=a+Math.imul(L,J)|0,n=n+Math.imul(A,Q)|0,i=(i=i+Math.imul(A,ee)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,ee)|0,n=n+Math.imul(k,re)|0,i=(i=i+Math.imul(k,ne)|0)+Math.imul(T,re)|0,a=a+Math.imul(T,ne)|0,n=n+Math.imul(b,ae)|0,i=(i=i+Math.imul(b,oe)|0)+Math.imul(_,ae)|0,a=a+Math.imul(_,oe)|0,n=n+Math.imul(m,le)|0,i=(i=i+Math.imul(m,ue)|0)+Math.imul(y,le)|0,a=a+Math.imul(y,ue)|0,n=n+Math.imul(d,fe)|0,i=(i=i+Math.imul(d,he)|0)+Math.imul(v,fe)|0,a=a+Math.imul(v,he)|0;var Me=(u+(n=n+Math.imul(f,de)|0)|0)+((8191&(i=(i=i+Math.imul(f,ve)|0)+Math.imul(h,de)|0))<<13)|0;u=((a=a+Math.imul(h,ve)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,G))+Math.imul(N,q)|0,a=Math.imul(N,G),n=n+Math.imul(z,W)|0,i=(i=i+Math.imul(z,Z)|0)+Math.imul(R,W)|0,a=a+Math.imul(R,Z)|0,n=n+Math.imul(O,K)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(I,K)|0,a=a+Math.imul(I,J)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,ee)|0)+Math.imul(L,Q)|0,a=a+Math.imul(L,ee)|0,n=n+Math.imul(A,re)|0,i=(i=i+Math.imul(A,ne)|0)+Math.imul(S,re)|0,a=a+Math.imul(S,ne)|0,n=n+Math.imul(k,ae)|0,i=(i=i+Math.imul(k,oe)|0)+Math.imul(T,ae)|0,a=a+Math.imul(T,oe)|0,n=n+Math.imul(b,le)|0,i=(i=i+Math.imul(b,ue)|0)+Math.imul(_,le)|0,a=a+Math.imul(_,ue)|0,n=n+Math.imul(m,fe)|0,i=(i=i+Math.imul(m,he)|0)+Math.imul(y,fe)|0,a=a+Math.imul(y,he)|0;var Ae=(u+(n=n+Math.imul(d,de)|0)|0)+((8191&(i=(i=i+Math.imul(d,ve)|0)+Math.imul(v,de)|0))<<13)|0;u=((a=a+Math.imul(v,ve)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(B,W),i=(i=Math.imul(B,Z))+Math.imul(N,W)|0,a=Math.imul(N,Z),n=n+Math.imul(z,K)|0,i=(i=i+Math.imul(z,J)|0)+Math.imul(R,K)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,ee)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,ee)|0,n=n+Math.imul(C,re)|0,i=(i=i+Math.imul(C,ne)|0)+Math.imul(L,re)|0,a=a+Math.imul(L,ne)|0,n=n+Math.imul(A,ae)|0,i=(i=i+Math.imul(A,oe)|0)+Math.imul(S,ae)|0,a=a+Math.imul(S,oe)|0,n=n+Math.imul(k,le)|0,i=(i=i+Math.imul(k,ue)|0)+Math.imul(T,le)|0,a=a+Math.imul(T,ue)|0,n=n+Math.imul(b,fe)|0,i=(i=i+Math.imul(b,he)|0)+Math.imul(_,fe)|0,a=a+Math.imul(_,he)|0;var Se=(u+(n=n+Math.imul(m,de)|0)|0)+((8191&(i=(i=i+Math.imul(m,ve)|0)+Math.imul(y,de)|0))<<13)|0;u=((a=a+Math.imul(y,ve)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(B,K),i=(i=Math.imul(B,J))+Math.imul(N,K)|0,a=Math.imul(N,J),n=n+Math.imul(z,Q)|0,i=(i=i+Math.imul(z,ee)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,ee)|0,n=n+Math.imul(O,re)|0,i=(i=i+Math.imul(O,ne)|0)+Math.imul(I,re)|0,a=a+Math.imul(I,ne)|0,n=n+Math.imul(C,ae)|0,i=(i=i+Math.imul(C,oe)|0)+Math.imul(L,ae)|0,a=a+Math.imul(L,oe)|0,n=n+Math.imul(A,le)|0,i=(i=i+Math.imul(A,ue)|0)+Math.imul(S,le)|0,a=a+Math.imul(S,ue)|0,n=n+Math.imul(k,fe)|0,i=(i=i+Math.imul(k,he)|0)+Math.imul(T,fe)|0,a=a+Math.imul(T,he)|0;var Ee=(u+(n=n+Math.imul(b,de)|0)|0)+((8191&(i=(i=i+Math.imul(b,ve)|0)+Math.imul(_,de)|0))<<13)|0;u=((a=a+Math.imul(_,ve)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,ee))+Math.imul(N,Q)|0,a=Math.imul(N,ee),n=n+Math.imul(z,re)|0,i=(i=i+Math.imul(z,ne)|0)+Math.imul(R,re)|0,a=a+Math.imul(R,ne)|0,n=n+Math.imul(O,ae)|0,i=(i=i+Math.imul(O,oe)|0)+Math.imul(I,ae)|0,a=a+Math.imul(I,oe)|0,n=n+Math.imul(C,le)|0,i=(i=i+Math.imul(C,ue)|0)+Math.imul(L,le)|0,a=a+Math.imul(L,ue)|0,n=n+Math.imul(A,fe)|0,i=(i=i+Math.imul(A,he)|0)+Math.imul(S,fe)|0,a=a+Math.imul(S,he)|0;var Ce=(u+(n=n+Math.imul(k,de)|0)|0)+((8191&(i=(i=i+Math.imul(k,ve)|0)+Math.imul(T,de)|0))<<13)|0;u=((a=a+Math.imul(T,ve)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(B,re),i=(i=Math.imul(B,ne))+Math.imul(N,re)|0,a=Math.imul(N,ne),n=n+Math.imul(z,ae)|0,i=(i=i+Math.imul(z,oe)|0)+Math.imul(R,ae)|0,a=a+Math.imul(R,oe)|0,n=n+Math.imul(O,le)|0,i=(i=i+Math.imul(O,ue)|0)+Math.imul(I,le)|0,a=a+Math.imul(I,ue)|0,n=n+Math.imul(C,fe)|0,i=(i=i+Math.imul(C,he)|0)+Math.imul(L,fe)|0,a=a+Math.imul(L,he)|0;var Le=(u+(n=n+Math.imul(A,de)|0)|0)+((8191&(i=(i=i+Math.imul(A,ve)|0)+Math.imul(S,de)|0))<<13)|0;u=((a=a+Math.imul(S,ve)|0)+(i>>>13)|0)+(Le>>>26)|0,Le&=67108863,n=Math.imul(B,ae),i=(i=Math.imul(B,oe))+Math.imul(N,ae)|0,a=Math.imul(N,oe),n=n+Math.imul(z,le)|0,i=(i=i+Math.imul(z,ue)|0)+Math.imul(R,le)|0,a=a+Math.imul(R,ue)|0,n=n+Math.imul(O,fe)|0,i=(i=i+Math.imul(O,he)|0)+Math.imul(I,fe)|0,a=a+Math.imul(I,he)|0;var Pe=(u+(n=n+Math.imul(C,de)|0)|0)+((8191&(i=(i=i+Math.imul(C,ve)|0)+Math.imul(L,de)|0))<<13)|0;u=((a=a+Math.imul(L,ve)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(B,le),i=(i=Math.imul(B,ue))+Math.imul(N,le)|0,a=Math.imul(N,ue),n=n+Math.imul(z,fe)|0,i=(i=i+Math.imul(z,he)|0)+Math.imul(R,fe)|0,a=a+Math.imul(R,he)|0;var Oe=(u+(n=n+Math.imul(O,de)|0)|0)+((8191&(i=(i=i+Math.imul(O,ve)|0)+Math.imul(I,de)|0))<<13)|0;u=((a=a+Math.imul(I,ve)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,n=Math.imul(B,fe),i=(i=Math.imul(B,he))+Math.imul(N,fe)|0,a=Math.imul(N,he);var Ie=(u+(n=n+Math.imul(z,de)|0)|0)+((8191&(i=(i=i+Math.imul(z,ve)|0)+Math.imul(R,de)|0))<<13)|0;u=((a=a+Math.imul(R,ve)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863;var De=(u+(n=Math.imul(B,de))|0)+((8191&(i=(i=Math.imul(B,ve))+Math.imul(N,de)|0))<<13)|0;return u=((a=Math.imul(N,ve))+(i>>>13)|0)+(De>>>26)|0,De&=67108863,l[0]=ge,l[1]=me,l[2]=ye,l[3]=xe,l[4]=be,l[5]=_e,l[6]=we,l[7]=ke,l[8]=Te,l[9]=Me,l[10]=Ae,l[11]=Se,l[12]=Ee,l[13]=Ce,l[14]=Le,l[15]=Pe,l[16]=Oe,l[17]=Ie,l[18]=De,0!==u&&(l[19]=u,r.length++),r};function v(e,t,r){return(new g).mulp(e,t,r)}function g(e,t){this.x=e,this.y=t}Math.imul||(d=p),a.prototype.mulTo=function(e,t){var r,n=this.length+e.length;return r=10===this.length&&10===e.length?d(this,e,t):n<63?p(this,e,t):n<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,t.length-1),u=Math.max(0,a-e.length+1);u<=l;u++){var c=a-u,f=(0|e.words[c])*(0|t.words[u]),h=67108863&f;s=67108863&(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h>>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,e,t):v(this,e,t),r},g.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,n=0;n<e;n++)t[n]=this.revBin(n,r,e);return t},g.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var n=0,i=0;i<t;i++)n|=(1&e)<<t-i-1,e>>=1;return n},g.prototype.permute=function(e,t,r,n,i,a){for(var o=0;o<a;o++)n[o]=t[e[o]],i[o]=r[e[o]]},g.prototype.transform=function(e,t,r,n,i,a){this.permute(a,e,t,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),u=Math.sin(2*Math.PI/s),c=0;c<i;c+=s)for(var f=l,h=u,p=0;p<o;p++){var d=r[c+p],v=n[c+p],g=r[c+p+o],m=n[c+p+o],y=f*g-h*m;m=f*m+h*g,g=y,r[c+p]=d+g,n[c+p]=v+m,r[c+p+o]=d-g,n[c+p+o]=v-m,p!==s&&(y=l*f-u*h,h=l*h+u*f,f=y)}},g.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},g.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=e[n];e[n]=e[r-n-1],e[r-n-1]=i,i=t[n],t[n]=-t[r-n-1],t[r-n-1]=-i}},g.prototype.normalize13b=function(e,t){for(var r=0,n=0;n<t/2;n++){var i=8192*Math.round(e[2*n+1]/t)+Math.round(e[2*n]/t)+r;e[n]=67108863&i,r=i<67108864?0:i/67108864|0}return e},g.prototype.convert13b=function(e,t,r,i){for(var a=0,o=0;o<t;o++)a+=0|e[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*t;o<i;++o)r[o]=0;n(0===a),n(0==(-8192&a))},g.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},g.prototype.mulp=function(e,t,r){var n=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),u=new Array(n),c=new Array(n),f=new Array(n),h=r.words;h.length=n,this.convert13b(e.words,e.length,o,n),this.convert13b(t.words,t.length,u,n),this.transform(o,a,s,l,n,i),this.transform(u,a,c,f,n,i);for(var p=0;p<n;p++){var d=s[p]*c[p]-l[p]*f[p];l[p]=s[p]*f[p]+l[p]*c[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,h,a,n,i),this.conjugate(h,a,n),this.normalize13b(h,n),r.negative=e.negative^t.negative,r.length=e.length+t.length,r.strip()},a.prototype.mul=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},a.prototype.mulf=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),v(this,e,t)},a.prototype.imul=function(e){return this.clone().mulTo(e,this)},a.prototype.imuln=function(e){n(\"number\"==typeof e),n(e<67108864);for(var t=0,r=0;r<this.length;r++){var i=(0|this.words[r])*e,a=(67108863&i)+(67108863&t);t>>=26,t+=i/67108864|0,t+=a>>>26,this.words[r]=67108863&a}return 0!==t&&(this.words[r]=t,this.length++),this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var n=r/26|0,i=r%26;t[r]=(e.words[n]&1<<i)>>>i}return t}(e);if(0===t.length)return new a(1);for(var r=this,n=0;n<t.length&&0===t[n];n++,r=r.sqr());if(++n<t.length)for(var i=r.sqr();n<t.length;n++,i=i.sqr())0!==t[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(e){n(\"number\"==typeof e&&e>=0);var t,r=e%26,i=(e-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(t=0;t<this.length;t++){var s=this.words[t]&a,l=(0|this.words[t])-s<<r;this.words[t]=l|o,o=s>>>26-r}o&&(this.words[t]=o,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},a.prototype.iushrn=function(e,t,r){var i;n(\"number\"==typeof e&&e>=0),i=t?(t-t%26)/26:0;var a=e%26,o=Math.min((e-a)/26,this.length),s=67108863^67108863>>>a<<a,l=r;if(i-=o,i=Math.max(0,i),l){for(var u=0;u<o;u++)l.words[u]=this.words[u];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,u=0;u<this.length;u++)this.words[u]=this.words[u+o];else this.words[0]=0,this.length=1;var c=0;for(u=this.length-1;u>=0&&(0!==c||u>=i);u--){var f=0|this.words[u];this.words[u]=c<<26-a|f>>>a,c=f&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){n(\"number\"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<<t;return!(this.length<=r||!(this.words[r]&i))},a.prototype.imaskn=function(e){n(\"number\"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(e){return this.clone().imaskn(e)},a.prototype.iaddn=function(e){return n(\"number\"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},a.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(n(\"number\"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this.strip()},a.prototype.addn=function(e){return this.clone().iaddn(e)},a.prototype.subn=function(e){return this.clone().isubn(e)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(e,t,r){var i,a,o=e.length+r;this._expand(o);var s=0;for(i=0;i<e.length;i++){a=(0|this.words[i+r])+s;var l=(0|e.words[i])*t;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)s=(a=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(\"mod\"!==t){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u<s.length;u++)s.words[u]=0}var c=n.clone()._ishlnsubmul(i,1,l);0===c.negative&&(n=c,s&&(s.words[l]=1));for(var f=l-1;f>=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),\"div\"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),\"mod\"!==t&&(i=s.div.neg()),\"div\"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:i,mod:o}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),\"mod\"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),\"div\"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:s.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?\"div\"===t?{div:this.divn(e.words[0]),mod:null}:\"mod\"===t?{div:null,mod:new a(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,o,s},a.prototype.div=function(e){return this.divmod(e,\"div\",!1).div},a.prototype.mod=function(e){return this.divmod(e,\"mod\",!1).mod},a.prototype.umod=function(e){return this.divmod(e,\"mod\",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return r},a.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),f=t.clone();!t.isZero();){for(var h=0,p=1;0==(t.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,v=1;0==(r.words[0]&v)&&d<26;++d,v<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(f)),s.iushrn(1),l.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(s),o.isub(l)):(r.isub(t),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;0==(t.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(t.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);t.cmp(r)>=0?(t.isub(r),o.isub(s)):(r.isub(t),s.isub(o))}return(i=0===t.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(e),i},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){n(\"number\"==typeof e);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,\"Number is too big\");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},a.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},a.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){n<i?t=-1:n>i&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new k(e)},a.prototype.toRed=function(e){return n(!this.red,\"Already a number in reduction context\"),n(0===this.negative,\"red works only with positives\"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(e)},a.prototype.redAdd=function(e){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,e)},a.prototype.redISub=function(e){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,e)},a.prototype.redShl=function(e){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,e)},a.prototype.redMul=function(e){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return n(this.red&&!e.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function y(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){y.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function b(){y.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function _(){y.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function w(){y.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function k(e){if(\"string\"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),\"modulus must be greater than 1\"),this.m=e,this.prime=null}function T(e){k.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},y.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(e,t){e.iushrn(this.n,0,t)},y.prototype.imulK=function(e){return e.imul(this.k)},i(x,y),x.prototype.split=function(e,t){for(var r=4194303,n=Math.min(e.length,9),i=0;i<n;i++)t.words[i]=e.words[i];if(t.length=n,e.length<=9)return e.words[0]=0,void(e.length=1);var a=e.words[9];for(t.words[t.length++]=a&r,i=10;i<e.length;i++){var o=0|e.words[i];e.words[i-10]=(o&r)<<4|a>>>22,a=o}a>>>=22,e.words[i-10]=a,0===a&&e.length>10?e.length-=10:e.length-=9},x.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var n=0|e.words[r];t+=977*n,e.words[r]=67108863&t,t=64*n+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(b,y),i(_,y),i(w,y),w.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var n=19*(0|e.words[r])+t,i=67108863&n;n>>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(m[e])return m[e];var t;if(\"k256\"===e)t=new x;else if(\"p224\"===e)t=new b;else if(\"p192\"===e)t=new _;else{if(\"p25519\"!==e)throw new Error(\"Unknown prime \"+e);t=new w}return m[e]=t,t},k.prototype._verify1=function(e){n(0===e.negative,\"red works only with positives\"),n(e.red,\"red works only with red numbers\")},k.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),\"red works only with positives\"),n(e.red&&e.red===t.red,\"red works only with red numbers\")},k.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},k.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},k.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},k.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},k.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},k.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},k.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},k.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},k.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},k.prototype.isqr=function(e){return this.imul(e,e.clone())},k.prototype.sqr=function(e){return this.mul(e,e)},k.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var f=this.pow(c,i),h=this.pow(e,i.addn(1).iushrn(1)),p=this.pow(e,i),d=o;0!==p.cmp(s);){for(var v=p,g=0;0!==v.cmp(s);g++)v=v.redSqr();n(g<d);var m=this.pow(f,new a(1).iushln(d-g-1));h=h.redMul(m),f=m.redSqr(),p=p.redMul(f),d=g}return h},k.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},k.prototype.pow=function(e,t){if(t.isZero())return new a(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=e;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],e);var i=r[0],o=0,s=0,l=t.bitLength()%26;for(0===l&&(l=26),n=t.length-1;n>=0;n--){for(var u=t.words[n],c=l-1;c>=0;c--){var f=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4==++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},k.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},k.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new T(e)},i(T,k),T.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},T.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},T.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},T.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},T.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=r.nmd(e),this)},2692:function(e){\"use strict\";e.exports=function(e){var t,r,n,i=e.length,a=0;for(t=0;t<i;++t)a+=e[t].length;var o=new Array(a),s=0;for(t=0;t<i;++t){var l=e[t],u=l.length;for(r=0;r<u;++r){var c=o[s++]=new Array(u-1),f=0;for(n=0;n<u;++n)n!==r&&(c[f++]=l[n]);if(1&r){var h=c[1];c[1]=c[0],c[0]=h}}}return o}},2569:function(e,t,r){\"use strict\";e.exports=function(e,t,r){switch(arguments.length){case 1:return n=[],u(i=e,i,c,!0),n;case 2:return\"function\"==typeof t?u(e,e,t,!0):function(e,t){return n=[],u(e,t,c,!1),n}(e,t);case 3:return u(e,t,r,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}var i};var n,i=r(5306),a=r(1390),o=r(2337);function s(e,t){for(var r=0;r<e;++r)if(!(t[r]<=t[r+e]))return!0;return!1}function l(e,t,r,n){for(var i=0,a=0,o=0,l=e.length;o<l;++o){var u=e[o];if(!s(t,u)){for(var c=0;c<2*t;++c)r[i++]=u[c];n[a++]=o}}return a}function u(e,t,r,n){var s=e.length,u=t.length;if(!(s<=0||u<=0)){var c=e[0].length>>>1;if(!(c<=0)){var f,h=i.mallocDouble(2*c*s),p=i.mallocInt32(s);if((s=l(e,c,h,p))>0){if(1===c&&n)a.init(s),f=a.sweepComplete(c,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*c*u),v=i.mallocInt32(u);(u=l(t,c,d,v))>0&&(a.init(s+u),f=1===c?a.sweepBipartite(c,r,0,s,h,p,0,u,d,v):o(c,r,n,s,h,p,u,d,v),i.free(d),i.free(v))}i.free(h),i.free(p)}return f}}}function c(e,t){n.push([e,t])}},7333:function(e,t){\"use strict\";function r(e){return e?function(e,t,r,n,i,a,o,s,l,u,c){return i-n>l-s?function(e,t,r,n,i,a,o,s,l,u,c){for(var f=2*e,h=n,p=f*n;h<i;++h,p+=f){var d=a[t+p],v=a[t+p+e],g=o[h];e:for(var m=s,y=f*s;m<l;++m,y+=f){var x=u[t+y],b=u[t+y+e],_=c[m];if(!(b<d||v<x)){for(var w=t+1;w<e;++w){var k=a[w+p],T=a[w+e+p],M=u[w+y],A=u[w+e+y];if(T<M||A<k)continue e}var S=r(g,_);if(void 0!==S)return S}}}}(e,t,r,n,i,a,o,s,l,u,c):function(e,t,r,n,i,a,o,s,l,u,c){for(var f=2*e,h=s,p=f*s;h<l;++h,p+=f){var d=u[t+p],v=u[t+p+e],g=c[h];e:for(var m=n,y=f*n;m<i;++m,y+=f){var x=a[t+y],b=a[t+y+e],_=o[m];if(!(v<x||b<d)){for(var w=t+1;w<e;++w){var k=a[w+y],T=a[w+e+y],M=u[w+p],A=u[w+e+p];if(T<M||A<k)continue e}var S=r(_,g);if(void 0!==S)return S}}}}(e,t,r,n,i,a,o,s,l,u,c)}:function(e,t,r,n,i,a,o,s,l,u,c,f){return a-i>u-l?n?function(e,t,r,n,i,a,o,s,l,u,c){for(var f=2*e,h=n,p=f*n;h<i;++h,p+=f){var d=a[t+p],v=a[t+p+e],g=o[h];e:for(var m=s,y=f*s;m<l;++m,y+=f){var x=u[t+y],b=c[m];if(!(x<=d||v<x)){for(var _=t+1;_<e;++_){var w=a[_+p],k=a[_+e+p],T=u[_+y],M=u[_+e+y];if(k<T||M<w)continue e}var A=r(b,g);if(void 0!==A)return A}}}}(e,t,r,i,a,o,s,l,u,c,f):function(e,t,r,n,i,a,o,s,l,u,c){for(var f=2*e,h=n,p=f*n;h<i;++h,p+=f){var d=a[t+p],v=a[t+p+e],g=o[h];e:for(var m=s,y=f*s;m<l;++m,y+=f){var x=u[t+y],b=c[m];if(!(x<d||v<x)){for(var _=t+1;_<e;++_){var w=a[_+p],k=a[_+e+p],T=u[_+y],M=u[_+e+y];if(k<T||M<w)continue e}var A=r(g,b);if(void 0!==A)return A}}}}(e,t,r,i,a,o,s,l,u,c,f):n?function(e,t,r,n,i,a,o,s,l,u,c){for(var f=2*e,h=s,p=f*s;h<l;++h,p+=f){var d=u[t+p],v=c[h];e:for(var g=n,m=f*n;g<i;++g,m+=f){var y=a[t+m],x=a[t+m+e],b=o[g];if(!(d<=y||x<d)){for(var _=t+1;_<e;++_){var w=a[_+m],k=a[_+e+m],T=u[_+p],M=u[_+e+p];if(k<T||M<w)continue e}var A=r(v,b);if(void 0!==A)return A}}}}(e,t,r,i,a,o,s,l,u,c,f):function(e,t,r,n,i,a,o,s,l,u,c){for(var f=2*e,h=s,p=f*s;h<l;++h,p+=f){var d=u[t+p],v=c[h];e:for(var g=n,m=f*n;g<i;++g,m+=f){var y=a[t+m],x=a[t+m+e],b=o[g];if(!(d<y||x<d)){for(var _=t+1;_<e;++_){var w=a[_+m],k=a[_+e+m],T=u[_+p],M=u[_+e+p];if(k<T||M<w)continue e}var A=r(b,v);if(void 0!==A)return A}}}}(e,t,r,i,a,o,s,l,u,c,f)}}t.partial=r(!1),t.full=r(!0)},2337:function(e,t,r){\"use strict\";e.exports=function(e,t,r,a,c,S,E,C,L){!function(e,t){var r=8*i.log2(t+1)*(e+1)|0,a=i.nextPow2(b*r);w.length<a&&(n.free(w),w=n.mallocInt32(a));var o=i.nextPow2(_*r);k.length<o&&(n.free(k),k=n.mallocDouble(o))}(e,a+E);var P,O=0,I=2*e;for(T(O++,0,0,a,0,E,r?16:0,-1/0,1/0),r||T(O++,0,0,E,0,a,1,-1/0,1/0);O>0;){var D=(O-=1)*b,z=w[D],R=w[D+1],F=w[D+2],B=w[D+3],N=w[D+4],j=w[D+5],U=O*_,V=k[U],H=k[U+1],q=1&j,G=!!(16&j),Y=c,W=S,Z=C,X=L;if(q&&(Y=C,W=L,Z=c,X=S),!(2&j&&R>=(F=g(e,z,R,F,Y,W,H))||4&j&&(R=m(e,z,R,F,Y,W,V))>=F)){var K=F-R,J=N-B;if(G){if(e*K*(K+J)<p){if(void 0!==(P=l.scanComplete(e,z,t,R,F,Y,W,B,N,Z,X)))return P;continue}}else{if(e*Math.min(K,J)<f){if(void 0!==(P=o(e,z,t,q,R,F,Y,W,B,N,Z,X)))return P;continue}if(e*K*J<h){if(void 0!==(P=l.scanBipartite(e,z,t,q,R,F,Y,W,B,N,Z,X)))return P;continue}}var $=d(e,z,R,F,Y,W,V,H);if(R<$)if(e*($-R)<f){if(void 0!==(P=s(e,z+1,t,R,$,Y,W,B,N,Z,X)))return P}else if(z===e-2){if(void 0!==(P=q?l.sweepBipartite(e,t,B,N,Z,X,R,$,Y,W):l.sweepBipartite(e,t,R,$,Y,W,B,N,Z,X)))return P}else T(O++,z+1,R,$,B,N,q,-1/0,1/0),T(O++,z+1,B,N,R,$,1^q,-1/0,1/0);if($<F){var Q=u(e,z,B,N,Z,X),ee=Z[I*Q+z],te=v(e,z,Q,N,Z,X,ee);if(te<N&&T(O++,z,$,F,te,N,(4|q)+(G?16:0),ee,H),B<Q&&T(O++,z,$,F,B,Q,(2|q)+(G?16:0),V,ee),Q+1===te){if(void 0!==(P=G?A(e,z,t,$,F,Y,W,Q,Z,X[Q]):M(e,z,t,q,$,F,Y,W,Q,Z,X[Q])))return P}else if(Q<te){var re;if(G){if($<(re=y(e,z,$,F,Y,W,ee))){var ne=v(e,z,$,re,Y,W,ee);if(z===e-2){if($<ne&&void 0!==(P=l.sweepComplete(e,t,$,ne,Y,W,Q,te,Z,X)))return P;if(ne<re&&void 0!==(P=l.sweepBipartite(e,t,ne,re,Y,W,Q,te,Z,X)))return P}else $<ne&&T(O++,z+1,$,ne,Q,te,16,-1/0,1/0),ne<re&&(T(O++,z+1,ne,re,Q,te,0,-1/0,1/0),T(O++,z+1,Q,te,ne,re,1,-1/0,1/0))}}else $<(re=q?x(e,z,$,F,Y,W,ee):y(e,z,$,F,Y,W,ee))&&(z===e-2?P=q?l.sweepBipartite(e,t,Q,te,Z,X,$,re,Y,W):l.sweepBipartite(e,t,$,re,Y,W,Q,te,Z,X):(T(O++,z+1,$,re,Q,te,q,-1/0,1/0),T(O++,z+1,Q,te,$,re,1^q,-1/0,1/0)))}}}}};var n=r(5306),i=r(2288),a=r(7333),o=a.partial,s=a.full,l=r(1390),u=r(2464),c=r(122),f=128,h=1<<22,p=1<<22,d=c(\"!(lo>=p0)&&!(p1>=hi)\"),v=c(\"lo===p0\"),g=c(\"lo<p0\"),m=c(\"hi<=p0\"),y=c(\"lo<=p0&&p0<=hi\"),x=c(\"lo<p0&&p0<=hi\"),b=6,_=2,w=n.mallocInt32(1024),k=n.mallocDouble(1024);function T(e,t,r,n,i,a,o,s,l){var u=b*e;w[u]=t,w[u+1]=r,w[u+2]=n,w[u+3]=i,w[u+4]=a,w[u+5]=o;var c=_*e;k[c]=s,k[c+1]=l}function M(e,t,r,n,i,a,o,s,l,u,c){var f=2*e,h=l*f,p=u[h+t];e:for(var d=i,v=i*f;d<a;++d,v+=f){var g=o[v+t],m=o[v+t+e];if(!(p<g||m<p||n&&p===g)){for(var y,x=s[d],b=t+1;b<e;++b){g=o[v+b],m=o[v+b+e];var _=u[h+b],w=u[h+b+e];if(m<_||w<g)continue e}if(void 0!==(y=n?r(c,x):r(x,c)))return y}}}function A(e,t,r,n,i,a,o,s,l,u){var c=2*e,f=s*c,h=l[f+t];e:for(var p=n,d=n*c;p<i;++p,d+=c){var v=o[p];if(v!==u){var g=a[d+t],m=a[d+t+e];if(!(h<g||m<h)){for(var y=t+1;y<e;++y){g=a[d+y],m=a[d+y+e];var x=l[f+y],b=l[f+y+e];if(m<x||b<g)continue e}var _=r(v,u);if(void 0!==_)return _}}}}},2464:function(e,t,r){\"use strict\";e.exports=function(e,t,r,o,s,l){if(o<=r+1)return r;for(var u=r,c=o,f=o+r>>>1,h=2*e,p=f,d=s[h*f+t];u<c;){if(c-u<i){a(e,t,u,c,s,l),d=s[h*f+t];break}var v=c-u,g=Math.random()*v+u|0,m=s[h*g+t],y=Math.random()*v+u|0,x=s[h*y+t],b=Math.random()*v+u|0,_=s[h*b+t];m<=x?_>=x?(p=y,d=x):m>=_?(p=g,d=m):(p=b,d=_):x>=_?(p=y,d=x):_>=m?(p=g,d=m):(p=b,d=_);for(var w=h*(c-1),k=h*p,T=0;T<h;++T,++w,++k){var M=s[w];s[w]=s[k],s[k]=M}var A=l[c-1];for(l[c-1]=l[p],l[p]=A,w=h*(c-1),k=h*(p=n(e,t,u,c-1,s,l,d)),T=0;T<h;++T,++w,++k)M=s[w],s[w]=s[k],s[k]=M;if(A=l[c-1],l[c-1]=l[p],l[p]=A,f<p){for(c=p-1;u<c&&s[h*(c-1)+t]===d;)c-=1;c+=1}else{if(!(p<f))break;for(u=p+1;u<c&&s[h*u+t]===d;)u+=1}}return n(e,t,r,f,s,l,s[h*f+t])};var n=r(122)(\"lo<p0\"),i=8;function a(e,t,r,n,i,a){for(var o=2*e,s=o*(r+1)+t,l=r+1;l<n;++l,s+=o)for(var u=i[s],c=l,f=o*(l-1);c>r&&i[f+t]>u;--c,f-=o){for(var h=f,p=f+o,d=0;d<o;++d,++h,++p){var v=i[h];i[h]=i[p],i[p]=v}var g=a[c];a[c]=a[c-1],a[c-1]=g}}},122:function(e){\"use strict\";e.exports=function(e){return t[e]};var t={\"lo===p0\":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,u=l,c=r,f=t,h=r;n>h;++h,l+=s)if(i[l+f]===o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},\"lo<p0\":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,u=l,c=r,f=t,h=r;n>h;++h,l+=s)if(i[l+f]<o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},\"lo<=p0\":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,u=l,c=r,f=e+t,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},\"hi<=p0\":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,u=l,c=r,f=e+t,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},\"lo<p0&&p0<=hi\":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,u=l,c=r,f=t,h=e+t,p=r;n>p;++p,l+=s){var d=i[l+f],v=i[l+h];if(d<o&&o<=v)if(c===p)c+=1,u+=s;else{for(var g=0;s>g;++g){var m=i[l+g];i[l+g]=i[u],i[u++]=m}var y=a[p];a[p]=a[c],a[c++]=y}}return c},\"lo<=p0&&p0<=hi\":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,u=l,c=r,f=t,h=e+t,p=r;n>p;++p,l+=s){var d=i[l+f],v=i[l+h];if(d<=o&&o<=v)if(c===p)c+=1,u+=s;else{for(var g=0;s>g;++g){var m=i[l+g];i[l+g]=i[u],i[u++]=m}var y=a[p];a[p]=a[c],a[c++]=y}}return c},\"!(lo>=p0)&&!(p1>=hi)\":function(e,t,r,n,i,a,o,s){for(var l=2*e,u=l*r,c=u,f=r,h=t,p=e+t,d=r;n>d;++d,u+=l){var v=i[u+h],g=i[u+p];if(!(v>=o||s>=g))if(f===d)f+=1,c+=l;else{for(var m=0;l>m;++m){var y=i[u+m];i[u+m]=i[c],i[c++]=y}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},309:function(e){\"use strict\";e.exports=function(e,n){n<=4*t?r(0,n-1,e):u(0,n-1,e)};var t=32;function r(e,t,r){for(var n=2*(e+1),i=e+1;i<=t;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >e;){var u=r[l-2],c=r[l-1];if(u<a)break;if(u===a&&c<o)break;r[l]=u,r[l+1]=c,l-=2}r[l]=a,r[l+1]=o}}function n(e,t,r){t*=2;var n=r[e*=2],i=r[e+1];r[e]=r[t],r[e+1]=r[t+1],r[t]=n,r[t+1]=i}function i(e,t,r){t*=2,r[e*=2]=r[t],r[e+1]=r[t+1]}function a(e,t,r,n){t*=2,r*=2;var i=n[e*=2],a=n[e+1];n[e]=n[t],n[e+1]=n[t+1],n[t]=n[r],n[t+1]=n[r+1],n[r]=i,n[r+1]=a}function o(e,t,r,n,i){t*=2,i[e*=2]=i[t],i[t]=r,i[e+1]=i[t+1],i[t+1]=n}function s(e,t,r){t*=2;var n=r[e*=2],i=r[t];return!(n<i)&&(n!==i||r[e+1]>r[t+1])}function l(e,t,r,n){var i=n[e*=2];return i<t||i===t&&n[e+1]<r}function u(e,c,f){var h=(c-e+1)/6|0,p=e+h,d=c-h,v=e+c>>1,g=v-h,m=v+h,y=p,x=g,b=v,_=m,w=d,k=e+1,T=c-1,M=0;s(y,x,f)&&(M=y,y=x,x=M),s(_,w,f)&&(M=_,_=w,w=M),s(y,b,f)&&(M=y,y=b,b=M),s(x,b,f)&&(M=x,x=b,b=M),s(y,_,f)&&(M=y,y=_,_=M),s(b,_,f)&&(M=b,b=_,_=M),s(x,w,f)&&(M=x,x=w,w=M),s(x,b,f)&&(M=x,x=b,b=M),s(_,w,f)&&(M=_,_=w,w=M);for(var A=f[2*x],S=f[2*x+1],E=f[2*_],C=f[2*_+1],L=2*y,P=2*b,O=2*w,I=2*p,D=2*v,z=2*d,R=0;R<2;++R){var F=f[L+R],B=f[P+R],N=f[O+R];f[I+R]=F,f[D+R]=B,f[z+R]=N}i(g,e,f),i(m,c,f);for(var j=k;j<=T;++j)if(l(j,A,S,f))j!==k&&n(j,k,f),++k;else if(!l(j,E,C,f))for(;;){if(l(T,E,C,f)){l(T,A,S,f)?(a(j,k,T,f),++k,--T):(n(j,T,f),--T);break}if(--T<j)break}o(e,k-1,A,S,f),o(c,T+1,E,C,f),k-2-e<=t?r(e,k-2,f):u(e,k-2,f),c-(T+2)<=t?r(T+2,c,f):u(T+2,c,f),T-k<=t?r(k,T,f):u(k,T,f)}},1390:function(e,t,r){\"use strict\";e.exports={init:function(e){var t=i.nextPow2(e);l.length<t&&(n.free(l),l=n.mallocInt32(t)),u.length<t&&(n.free(u),u=n.mallocInt32(t)),c.length<t&&(n.free(c),c=n.mallocInt32(t)),f.length<t&&(n.free(f),f=n.mallocInt32(t)),h.length<t&&(n.free(h),h=n.mallocInt32(t)),p.length<t&&(n.free(p),p=n.mallocInt32(t));var r=8*t;d.length<r&&(n.free(d),d=n.mallocDouble(r))},sweepBipartite:function(e,t,r,n,i,s,h,p,m,y){for(var x=0,b=2*e,_=e-1,w=b-1,k=r;k<n;++k){var T=s[k],M=b*k;d[x++]=i[M+_],d[x++]=-(T+1),d[x++]=i[M+w],d[x++]=T}for(k=h;k<p;++k){T=y[k]+o;var A=b*k;d[x++]=m[A+_],d[x++]=-T,d[x++]=m[A+w],d[x++]=T}var S=x>>>1;a(d,S);var E=0,C=0;for(k=0;k<S;++k){var L=0|d[2*k+1];if(L>=o)v(c,f,C--,L=L-o|0);else if(L>=0)v(l,u,E--,L);else if(L<=-o){L=-L-o|0;for(var P=0;P<E;++P)if(void 0!==(O=t(l[P],L)))return O;g(c,f,C++,L)}else{for(L=-L-1|0,P=0;P<C;++P){var O;if(void 0!==(O=t(L,c[P])))return O}g(l,u,E++,L)}}},sweepComplete:function(e,t,r,n,i,o,s,m,y,x){for(var b=0,_=2*e,w=e-1,k=_-1,T=r;T<n;++T){var M=o[T]+1<<1,A=_*T;d[b++]=i[A+w],d[b++]=-M,d[b++]=i[A+k],d[b++]=M}for(T=s;T<m;++T){M=x[T]+1<<1;var S=_*T;d[b++]=y[S+w],d[b++]=1|-M,d[b++]=y[S+k],d[b++]=1|M}var E=b>>>1;a(d,E);var C=0,L=0,P=0;for(T=0;T<E;++T){var O=0|d[2*T+1],I=1&O;if(T<E-1&&O>>1==d[2*T+3]>>1&&(I=2,T+=1),O<0){for(var D=-(O>>1)-1,z=0;z<P;++z)if(void 0!==(R=t(h[z],D)))return R;if(0!==I)for(z=0;z<C;++z)if(void 0!==(R=t(l[z],D)))return R;if(1!==I)for(z=0;z<L;++z){var R;if(void 0!==(R=t(c[z],D)))return R}0===I?g(l,u,C++,D):1===I?g(c,f,L++,D):2===I&&g(h,p,P++,D)}else D=(O>>1)-1,0===I?v(l,u,C--,D):1===I?v(c,f,L--,D):2===I&&v(h,p,P--,D)}},scanBipartite:function(e,t,r,n,i,s,c,f,h,p,m,y){var x=0,b=2*e,_=t,w=t+e,k=1,T=1;n?T=o:k=o;for(var M=i;M<s;++M){var A=M+k,S=b*M;d[x++]=c[S+_],d[x++]=-A,d[x++]=c[S+w],d[x++]=A}for(M=h;M<p;++M){A=M+T;var E=b*M;d[x++]=m[E+_],d[x++]=-A}var C=x>>>1;a(d,C);var L=0;for(M=0;M<C;++M){var P=0|d[2*M+1];if(P<0){var O=!1;if((A=-P)>=o?(O=!n,A-=o):(O=!!n,A-=1),O)g(l,u,L++,A);else{var I=y[A],D=b*A,z=m[D+t+1],R=m[D+t+1+e];e:for(var F=0;F<L;++F){var B=l[F],N=b*B;if(!(R<c[N+t+1]||c[N+t+1+e]<z)){for(var j=t+2;j<e;++j)if(m[D+j+e]<c[N+j]||c[N+j+e]<m[D+j])continue e;var U,V=f[B];if(void 0!==(U=n?r(I,V):r(V,I)))return U}}}}else v(l,u,L--,P-k)}},scanComplete:function(e,t,r,n,i,s,u,c,f,h,p){for(var v=0,g=2*e,m=t,y=t+e,x=n;x<i;++x){var b=x+o,_=g*x;d[v++]=s[_+m],d[v++]=-b,d[v++]=s[_+y],d[v++]=b}for(x=c;x<f;++x){b=x+1;var w=g*x;d[v++]=h[w+m],d[v++]=-b}var k=v>>>1;a(d,k);var T=0;for(x=0;x<k;++x){var M=0|d[2*x+1];if(M<0)if((b=-M)>=o)l[T++]=b-o;else{var A=p[b-=1],S=g*b,E=h[S+t+1],C=h[S+t+1+e];e:for(var L=0;L<T;++L){var P=l[L],O=u[P];if(O===A)break;var I=g*P;if(!(C<s[I+t+1]||s[I+t+1+e]<E)){for(var D=t+2;D<e;++D)if(h[S+D+e]<s[I+D]||s[I+D+e]<h[S+D])continue e;var z=r(O,A);if(void 0!==z)return z}}}else{for(b=M-o,L=T-1;L>=0;--L)if(l[L]===b){for(D=L+1;D<T;++D)l[D-1]=l[D];break}--T}}}};var n=r(5306),i=r(2288),a=r(309),o=1<<28,s=1024,l=n.mallocInt32(s),u=n.mallocInt32(s),c=n.mallocInt32(s),f=n.mallocInt32(s),h=n.mallocInt32(s),p=n.mallocInt32(s),d=n.mallocDouble(8192);function v(e,t,r,n){var i=t[n],a=e[r-1];e[i]=a,t[a]=i}function g(e,t,r,n){e[r]=n,t[n]=r}},7761:function(e,t,r){\"use strict\";var n=r(9971),i=r(743),a=r(2161),o=r(7098);function s(e){return[Math.min(e[0],e[1]),Math.max(e[0],e[1])]}function l(e,t){return e[0]-t[0]||e[1]-t[1]}function u(e,t,r){return t in e?e[t]:r}e.exports=function(e,t,r){Array.isArray(t)?(r=r||{},t=t||[]):(r=t||{},t=[]);var c=!!u(r,\"delaunay\",!0),f=!!u(r,\"interior\",!0),h=!!u(r,\"exterior\",!0),p=!!u(r,\"infinity\",!1);if(!f&&!h||0===e.length)return[];var d=n(e,t);if(c||f!==h||p){for(var v=i(e.length,function(e){return e.map(s).sort(l)}(t)),g=0;g<d.length;++g){var m=d[g];v.addTriangle(m[0],m[1],m[2])}return c&&a(e,v),h?f?p?o(v,0,p):v.cells():o(v,1,p):o(v,-1)}return d}},2161:function(e,t,r){\"use strict\";var n=r(2227)[4];function i(e,t,r,i,a,o){var s=t.opposite(i,a);if(!(s<0)){if(a<i){var l=i;i=a,a=l,l=o,o=s,s=l}t.isConstraint(i,a)||n(e[i],e[a],e[o],e[s])<0&&r.push(i,a)}}r(5070),e.exports=function(e,t){for(var r=[],a=e.length,o=t.stars,s=0;s<a;++s)for(var l=o[s],u=1;u<l.length;u+=2)if(!((p=l[u])<s||t.isConstraint(s,p))){for(var c=l[u-1],f=-1,h=1;h<l.length;h+=2)if(l[h-1]===p){f=l[h];break}f<0||n(e[s],e[p],e[c],e[f])<0&&r.push(s,p)}for(;r.length>0;){for(var p=r.pop(),d=(c=-1,f=-1,l=o[s=r.pop()],1);d<l.length;d+=2){var v=l[d-1],g=l[d];v===p?f=g:g===p&&(c=v)}c<0||f<0||n(e[s],e[p],e[c],e[f])>=0||(t.flip(s,p),i(e,t,r,c,s,f),i(e,t,r,s,f,c),i(e,t,r,f,p,c),i(e,t,r,p,c,f))}}},7098:function(e,t,r){\"use strict\";var n,i=r(5070);function a(e,t,r,n,i,a,o){this.cells=e,this.neighbor=t,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(e,t){return e[0]-t[0]||e[1]-t[1]||e[2]-t[2]}e.exports=function(e,t,r){var n=function(e,t){for(var r=e.cells(),n=r.length,i=0;i<n;++i){var s=(m=r[i])[0],l=m[1],u=m[2];l<u?l<s&&(m[0]=l,m[1]=u,m[2]=s):u<s&&(m[0]=u,m[1]=s,m[2]=l)}r.sort(o);var c=new Array(n);for(i=0;i<c.length;++i)c[i]=0;var f=[],h=[],p=new Array(3*n),d=new Array(3*n),v=null;t&&(v=[]);var g=new a(r,p,d,c,f,h,v);for(i=0;i<n;++i)for(var m=r[i],y=0;y<3;++y){s=m[y],l=m[(y+1)%3];var x=p[3*i+y]=g.locate(l,s,e.opposite(l,s)),b=d[3*i+y]=e.isConstraint(s,l);x<0&&(b?h.push(i):(f.push(i),c[i]=1),t&&v.push([l,s,-1]))}return g}(e,r);if(0===t)return r?n.cells.concat(n.boundary):n.cells;for(var i=1,s=n.active,l=n.next,u=n.flags,c=n.cells,f=n.constraint,h=n.neighbor;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(u[p]!==-i){u[p]=i,c[p];for(var d=0;d<3;++d){var v=h[3*p+d];v>=0&&0===u[v]&&(f[3*p+d]?l.push(v):(s.push(v),u[v]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var m=function(e,t,r){for(var n=0,i=0;i<e.length;++i)t[i]===r&&(e[n++]=e[i]);return e.length=n,e}(c,u,t);return r?m.concat(n.boundary):m},a.prototype.locate=(n=[0,0,0],function(e,t,r){var a=e,s=t,l=r;return t<r?t<e&&(a=t,s=r,l=e):r<e&&(a=r,s=e,l=t),a<0?-1:(n[0]=a,n[1]=s,n[2]=l,i.eq(this.cells,n,o))})},9971:function(e,t,r){\"use strict\";var n=r(5070),i=r(417)[3];function a(e,t,r,n,i){this.a=e,this.b=t,this.idx=r,this.lowerIds=n,this.upperIds=i}function o(e,t,r,n){this.a=e,this.b=t,this.type=r,this.idx=n}function s(e,t){var r=e.a[0]-t.a[0]||e.a[1]-t.a[1]||e.type-t.type;return r||(0!==e.type&&(r=i(e.a,e.b,t.b))?r:e.idx-t.idx)}function l(e,t){return i(e.a,e.b,t)}function u(e,t,r,a,o){for(var s=n.lt(t,a,l),u=n.gt(t,a,l),c=s;c<u;++c){for(var f=t[c],h=f.lowerIds,p=h.length;p>1&&i(r[h[p-2]],r[h[p-1]],a)>0;)e.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)e.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function c(e,t){var r;return(r=e.a[0]<t.a[0]?i(e.a,e.b,t.a):i(t.b,t.a,e.a))?r:(r=t.b[0]<e.b[0]?i(e.a,e.b,t.b):i(t.b,t.a,e.b))||e.idx-t.idx}function f(e,t,r){var i=n.le(e,r,c),o=e[i],s=o.upperIds,l=s[s.length-1];o.upperIds=[l],e.splice(i+1,0,new a(r.a,r.b,r.idx,[l],s))}function h(e,t,r){var i=r.a;r.a=r.b,r.b=i;var a=n.eq(e,r,c),o=e[a];e[a-1].upperIds=o.upperIds,e.splice(a,1)}e.exports=function(e,t){for(var r=e.length,n=t.length,i=[],l=0;l<r;++l)i.push(new o(e[l],null,0,l));for(l=0;l<n;++l){var c=t[l],p=e[c[0]],d=e[c[1]];p[0]<d[0]?i.push(new o(p,d,2,l),new o(d,p,1,l)):p[0]>d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var v=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([v,1],[v,0],-1,[],[],[],[])],m=[],y=(l=0,i.length);l<y;++l){var x=i[l],b=x.type;0===b?u(m,g,e,x.a,x.idx):2===b?f(g,0,x):h(g,0,x)}return m}},743:function(e,t,r){\"use strict\";var n=r(5070);function i(e,t){this.stars=e,this.edges=t}e.exports=function(e,t){for(var r=new Array(e),n=0;n<e;++n)r[n]=[];return new i(r,t)};var a=i.prototype;function o(e,t,r){for(var n=1,i=e.length;n<i;n+=2)if(e[n-1]===t&&e[n]===r)return e[n-1]=e[i-2],e[n]=e[i-1],void(e.length=i-2)}a.isConstraint=function(){var e=[0,0];function t(e,t){return e[0]-t[0]||e[1]-t[1]}return function(r,i){return e[0]=Math.min(r,i),e[1]=Math.max(r,i),n.eq(this.edges,e,t)>=0}}(),a.removeTriangle=function(e,t,r){var n=this.stars;o(n[e],t,r),o(n[t],r,e),o(n[r],e,t)},a.addTriangle=function(e,t,r){var n=this.stars;n[e].push(t,r),n[t].push(r,e),n[r].push(e,t)},a.opposite=function(e,t){for(var r=this.stars[t],n=1,i=r.length;n<i;n+=2)if(r[n]===e)return r[n-1];return-1},a.flip=function(e,t){var r=this.opposite(e,t),n=this.opposite(t,e);this.removeTriangle(e,t,r),this.removeTriangle(t,e,n),this.addTriangle(e,n,r),this.addTriangle(t,r,n)},a.edges=function(){for(var e=this.stars,t=[],r=0,n=e.length;r<n;++r)for(var i=e[r],a=0,o=i.length;a<o;a+=2)t.push([i[a],i[a+1]]);return t},a.cells=function(){for(var e=this.stars,t=[],r=0,n=e.length;r<n;++r)for(var i=e[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&t.push([r,s,l])}return t}},9887:function(e){\"use strict\";e.exports=function(e){for(var t=1,r=1;r<e.length;++r)for(var n=0;n<r;++n)if(e[r]<e[n])t=-t;else if(e[n]===e[r])return 0;return t}},9243:function(e,t,r){\"use strict\";var n=r(3094),i=r(6606);function a(e,t){for(var r=0,n=e.length,i=0;i<n;++i)r+=e[i]*t[i];return r}function o(e){var t=e.length;if(0===t)return[];e[0].length;var r=n([e.length+1,e.length+1],1),o=n([e.length+1],1);r[t][t]=0;for(var s=0;s<t;++s){for(var l=0;l<=s;++l)r[l][s]=r[s][l]=2*a(e[s],e[l]);o[s]=a(e[s],e[s])}var u=i(r,o),c=0,f=u[t+1];for(s=0;s<f.length;++s)c+=f[s];var h=new Array(t);for(s=0;s<t;++s){f=u[s];var p=0;for(l=0;l<f.length;++l)p+=f[l];h[s]=p/c}return h}function s(e){if(0===e.length)return[];for(var t=e[0].length,r=n([t]),i=o(e),a=0;a<e.length;++a)for(var s=0;s<t;++s)r[s]+=e[a][s]*i[a];return r}s.barycenetric=o,e.exports=s},1778:function(e,t,r){e.exports=function(e){for(var t=n(e),r=0,i=0;i<e.length;++i)for(var a=e[i],o=0;o<t.length;++o)r+=Math.pow(a[o]-t[o],2);return Math.sqrt(r/e.length)};var n=r(9243)},197:function(e,t,r){\"use strict\";e.exports=function(e,t,r){var n;if(r){n=t;for(var i=new Array(t.length),a=0;a<t.length;++a){var o=t[a];i[a]=[o[0],o[1],r[a]]}t=i}for(var s=function(e,t,r){var n=d(e,[],p(e));return m(t,n,r),!!n}(e,t,!!r);y(e,t,!!r);)s=!0;if(r&&s)for(n.length=0,r.length=0,a=0;a<t.length;++a)o=t[a],n.push([o[0],o[1]]),r.push(o[2]);return s};var n=r(1731),i=r(2569),a=r(4434),o=r(5125),s=r(8846),l=r(7999),u=r(2826),c=r(8551),f=r(5528);function h(e){var t=l(e);return[c(t,-1/0),c(t,1/0)]}function p(e){for(var t=new Array(e.length),r=0;r<e.length;++r){var n=e[r];t[r]=[c(n[0],-1/0),c(n[1],-1/0),c(n[0],1/0),c(n[1],1/0)]}return t}function d(e,t,r){for(var a=t.length,o=new n(a),s=[],l=0;l<t.length;++l){var u=t[l],f=h(u[0]),p=h(u[1]);s.push([c(f[0],-1/0),c(p[0],-1/0),c(f[1],1/0),c(p[1],1/0)])}i(s,(function(e,t){o.link(e,t)}));var d=!0,v=new Array(a);for(l=0;l<a;++l)(m=o.find(l))!==l&&(d=!1,e[m]=[Math.min(e[l][0],e[m][0]),Math.min(e[l][1],e[m][1])]);if(d)return null;var g=0;for(l=0;l<a;++l){var m;(m=o.find(l))===l?(v[l]=g,e[g++]=e[l]):v[l]=-1}for(e.length=g,l=0;l<a;++l)v[l]<0&&(v[l]=v[o.find(l)]);return v}function v(e,t){return e[0]-t[0]||e[1]-t[1]}function g(e,t){return e[0]-t[0]||e[1]-t[1]||(e[2]<t[2]?-1:e[2]>t[2]?1:0)}function m(e,t,r){if(0!==e.length){if(t)for(var n=0;n<e.length;++n){var i=t[(o=e[n])[0]],a=t[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<e.length;++n){var o;i=(o=e[n])[0],a=o[1],o[0]=Math.min(i,a),o[1]=Math.max(i,a)}r?e.sort(g):e.sort(v);var s=1;for(n=1;n<e.length;++n){var l=e[n-1],u=e[n];(u[0]!==l[0]||u[1]!==l[1]||r&&u[2]!==l[2])&&(e[s++]=u)}e.length=s}}function y(e,t,r){var n=function(e,t){for(var r=new Array(t.length),n=0;n<t.length;++n){var i=t[n],a=e[i[0]],o=e[i[1]];r[n]=[c(Math.min(a[0],o[0]),-1/0),c(Math.min(a[1],o[1]),-1/0),c(Math.max(a[0],o[0]),1/0),c(Math.max(a[1],o[1]),1/0)]}return r}(e,t),h=function(e,t,r){var n=[];return i(r,(function(r,i){var o=t[r],s=t[i];if(o[0]!==s[0]&&o[0]!==s[1]&&o[1]!==s[0]&&o[1]!==s[1]){var l=e[o[0]],u=e[o[1]],c=e[s[0]],f=e[s[1]];a(l,u,c,f)&&n.push([r,i])}})),n}(e,t,n),v=function(e,t,r,n){var o=[];return i(r,n,(function(r,n){var i=t[r];if(i[0]!==n&&i[1]!==n){var s=e[n],l=e[i[0]],u=e[i[1]];a(l,u,s,s)&&o.push([r,n])}})),o}(e,t,n,p(e)),g=function(e,t,r,n,i){var a,c,h=e.map((function(e){return[o(e[0]),o(e[1])]}));for(a=0;a<r.length;++a){var p=r[a];c=p[0];var d=p[1],v=t[c],g=t[d],m=f(u(e[v[0]]),u(e[v[1]]),u(e[g[0]]),u(e[g[1]]));if(m){var y=e.length;e.push([l(m[0]),l(m[1])]),h.push(m),n.push([c,y],[d,y])}}for(n.sort((function(e,t){if(e[0]!==t[0])return e[0]-t[0];var r=h[e[1]],n=h[t[1]];return s(r[0],n[0])||s(r[1],n[1])})),a=n.length-1;a>=0;--a){var x=t[c=(S=n[a])[0]],b=x[0],_=x[1],w=e[b],k=e[_];if((w[0]-k[0]||w[1]-k[1])<0){var T=b;b=_,_=T}x[0]=b;var M,A=x[1]=S[1];for(i&&(M=x[2]);a>0&&n[a-1][0]===c;){var S,E=(S=n[--a])[1];i?t.push([A,E,M]):t.push([A,E]),A=E}i?t.push([A,_,M]):t.push([A,_])}return h}(e,t,h,v,r),y=d(e,g);return m(t,y,r),!!y||h.length>0||v.length>0}},5528:function(e,t,r){\"use strict\";e.exports=function(e,t,r,n){var a=s(t,e),f=s(n,r),h=c(a,f);if(0===o(h))return null;var p=c(f,s(e,r)),d=i(p,h),v=u(a,d);return l(e,v)};var n=r(3962),i=r(9189),a=r(4354),o=r(4951),s=r(6695),l=r(7584),u=r(4469);function c(e,t){return a(n(e[0],t[1]),n(e[1],t[0]))}},5692:function(e){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],\"rainbow-soft\":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],\"freesurface-blue\":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],\"freesurface-red\":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],\"velocity-blue\":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],\"velocity-green\":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},9156:function(e,t,r){\"use strict\";var n=r(5692),i=r(3578);function a(e){return[e[0]/255,e[1]/255,e[2]/255,e[3]]}function o(e){for(var t,r=\"#\",n=0;n<3;++n)r+=(\"00\"+(t=(t=e[n]).toString(16))).substr(t.length);return r}function s(e){return\"rgba(\"+e.join(\",\")+\")\"}e.exports=function(e){var t,r,l,u,c,f,h,p,d,v;if(e||(e={}),p=(e.nshades||72)-1,h=e.format||\"hex\",(f=e.colormap)||(f=\"jet\"),\"string\"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+\" not a supported colorscale\");c=n[f]}else{if(!Array.isArray(f))throw Error(\"unsupported colormap option\",f);c=f.slice()}if(c.length>p+1)throw new Error(f+\" map requires nshades to be at least size \"+c.length);d=Array.isArray(e.alpha)?2!==e.alpha.length?[1,1]:e.alpha.slice():\"number\"==typeof e.alpha?[e.alpha,e.alpha]:[1,1],t=c.map((function(e){return Math.round(e.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=c.map((function(e,t){var r=c[t].index,n=c[t].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),m=[];for(v=0;v<t.length-1;++v){u=t[v+1]-t[v],r=g[v],l=g[v+1];for(var y=0;y<u;y++){var x=y/u;m.push([Math.round(i(r[0],l[0],x)),Math.round(i(r[1],l[1],x)),Math.round(i(r[2],l[2],x)),i(r[3],l[3],x)])}}return m.push(c[c.length-1].rgb.concat(d[1])),\"hex\"===h?m=m.map(o):\"rgbaString\"===h?m=m.map(s):\"float\"===h&&(m=m.map(a)),m}},9398:function(e,t,r){\"use strict\";e.exports=function(e,t,r,a){var o=n(t,r,a);if(0===o){var s=i(n(e,t,r)),u=i(n(e,t,a));if(s===u){if(0===s){var c=l(e,t,r);return c===l(e,t,a)?0:c?1:-1}return 0}return 0===u?s>0||l(e,t,a)?-1:1:0===s?u>0||l(e,t,r)?1:-1:i(u-s)}var f=n(e,t,r);return f>0?o>0&&n(e,t,a)>0?1:-1:f<0?o>0||n(e,t,a)>0?1:-1:n(e,t,a)>0||l(e,t,r)?1:-1};var n=r(417),i=r(7538),a=r(87),o=r(2019),s=r(9662);function l(e,t,r){var n=a(e[0],-t[0]),i=a(e[1],-t[1]),l=a(r[0],-t[0]),u=a(r[1],-t[1]),c=s(o(n,l),o(i,u));return c[c.length-1]>=0}},7538:function(e){\"use strict\";e.exports=function(e){return e<0?-1:e>0?1:0}},9209:function(e){e.exports=function(e,n){var i=e.length,a=e.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return e[0]-n[0];case 2:return e[0]+e[1]-n[0]-n[1]||t(e[0],e[1])-t(n[0],n[1]);case 3:var o=e[0]+e[1],s=n[0]+n[1];if(a=o+e[2]-(s+n[2]))return a;var l=t(e[0],e[1]),u=t(n[0],n[1]);return t(l,e[2])-t(u,n[2])||t(l+e[2],o)-t(u+n[2],s);case 4:var c=e[0],f=e[1],h=e[2],p=e[3],d=n[0],v=n[1],g=n[2],m=n[3];return c+f+h+p-(d+v+g+m)||t(c,f,h,p)-t(d,v,g,m,d)||t(c+f,c+h,c+p,f+h,f+p,h+p)-t(d+v,d+g,d+m,v+g,v+m,g+m)||t(c+f+h,c+f+p,c+h+p,f+h+p)-t(d+v+g,d+v+m,d+g+m,v+g+m);default:for(var y=e.slice().sort(r),x=n.slice().sort(r),b=0;b<i;++b)if(a=y[b]-x[b])return a;return 0}};var t=Math.min;function r(e,t){return e-t}},1284:function(e,t,r){\"use strict\";var n=r(9209),i=r(9887);e.exports=function(e,t){return n(e,t)||i(e)-i(t)}},5537:function(e,t,r){\"use strict\";var n=r(8950),i=r(8722),a=r(3332);e.exports=function(e){var t=e.length;if(0===t)return[];if(1===t)return[[0]];var r=e[0].length;return 0===r?[]:1===r?n(e):2===r?i(e):a(e,r)}},8950:function(e){\"use strict\";e.exports=function(e){for(var t=0,r=0,n=1;n<e.length;++n)e[n][0]<e[t][0]&&(t=n),e[n][0]>e[r][0]&&(r=n);return t<r?[[t],[r]]:t>r?[[r],[t]]:[[t]]}},8722:function(e,t,r){\"use strict\";e.exports=function(e){var t=n(e),r=t.length;if(r<=2)return[];for(var i=new Array(r),a=t[r-1],o=0;o<r;++o){var s=t[o];i[o]=[a,s],a=s}return i};var n=r(3266)},3332:function(e,t,r){\"use strict\";e.exports=function(e,t){try{return n(e,!0)}catch(o){var r=i(e);if(r.length<=t)return[];var a=function(e,t){for(var r=e.length,n=new Array(r),i=0;i<t.length;++i)n[i]=e[t[i]];var a=t.length;for(i=0;i<r;++i)t.indexOf(i)<0&&(n[a++]=e[i]);return n}(e,r);return function(e,t){for(var r=e.length,n=t.length,i=0;i<r;++i)for(var a=e[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=t[s];else{s-=n;for(var l=0;l<n;++l)s>=t[l]&&(s+=1);a[o]=s}}return e}(n(a,!0),r)}};var n=r(2183),i=r(2153)},9680:function(e){\"use strict\";e.exports=function(e,t,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,f=s*(3-2*i),h=s*o;if(e.length){a||(a=new Array(e.length));for(var p=e.length-1;p>=0;--p)a[p]=u*e[p]+c*t[p]+f*r[p]+h*n[p];return a}return u*e+c*t+f*r+h*n},e.exports.derivative=function(e,t,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(e.length){a||(a=new Array(e.length));for(var c=e.length-1;c>=0;--c)a[c]=o*e[c]+s*t[c]+l*r[c]+u*n[c];return a}return o*e+s*t+l*r[c]+u*n}},4419:function(e,t,r){\"use strict\";var n=r(2183),i=r(1215);function a(e,t){this.point=e,this.index=t}function o(e,t){for(var r=e.point,n=t.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];if(o)return o}return 0}e.exports=function(e,t){var r=e.length;if(0===r)return[];var s=e[0].length;if(s<1)return[];if(1===s)return function(e,t,r){if(1===e)return r?[[-1,0]]:[];var n=t.map((function(e,t){return[e[0],t]}));n.sort((function(e,t){return e[0]-t[0]}));for(var i=new Array(e-1),a=1;a<e;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}return r&&i.push([-1,i[0][1]],[i[e-1][1],-1]),i}(r,e,t);for(var l=new Array(r),u=1,c=0;c<r;++c){for(var f=e[c],h=new Array(s+1),p=0,d=0;d<s;++d){var v=f[d];h[d]=v,p+=v*v}h[s]=p,l[c]=new a(h,c),u=Math.max(p,u)}i(l,o),r=l.length;var g=new Array(r+s+1),m=new Array(r+s+1),y=(s+1)*(s+1)*u,x=new Array(s+1);for(c=0;c<=s;++c)x[c]=0;for(x[s]=y,g[0]=x.slice(),m[0]=-1,c=0;c<=s;++c)(h=x.slice())[c]=1,g[c+1]=h,m[c+1]=-1;for(c=0;c<r;++c){var b=l[c];g[c+s+1]=b.point,m[c+s+1]=b.index}var _=n(g,!1);if(_=t?_.filter((function(e){for(var t=0,r=0;r<=s;++r){var n=m[e[r]];if(n<0&&++t>=2)return!1;e[r]=n}return!0})):_.filter((function(e){for(var t=0;t<=s;++t){var r=m[e[t]];if(r<0)return!1;e[t]=r}return!0})),1&s)for(c=0;c<_.length;++c)h=(b=_[c])[0],b[0]=b[1],b[1]=h;return _}},8362:function(e){var t=!1;if(\"undefined\"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);r[0]=1,t=!0,1072693248===n[1]?(e.exports=function(e){return r[0]=e,[n[0],n[1]]},e.exports.pack=function(e,t){return n[0]=e,n[1]=t,r[0]},e.exports.lo=function(e){return r[0]=e,n[0]},e.exports.hi=function(e){return r[0]=e,n[1]}):1072693248===n[0]?(e.exports=function(e){return r[0]=e,[n[1],n[0]]},e.exports.pack=function(e,t){return n[1]=e,n[0]=t,r[0]},e.exports.lo=function(e){return r[0]=e,n[1]},e.exports.hi=function(e){return r[0]=e,n[0]}):t=!1}if(!t){var i=new Buffer(8);e.exports=function(e){return i.writeDoubleLE(e,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},e.exports.pack=function(e,t){return i.writeUInt32LE(e,0,!0),i.writeUInt32LE(t,4,!0),i.readDoubleLE(0,!0)},e.exports.lo=function(e){return i.writeDoubleLE(e,0,!0),i.readUInt32LE(0,!0)},e.exports.hi=function(e){return i.writeDoubleLE(e,0,!0),i.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}},3094:function(e){\"use strict\";function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}e.exports=function(e,r){switch(void 0===r&&(r=0),typeof e){case\"number\":if(e>0)return function(e,t){var r,n;for(r=new Array(e),n=0;n<e;++n)r[n]=t;return r}(0|e,r);break;case\"object\":if(\"number\"==typeof e.length)return t(e,r,0)}return[]}},8348:function(e,t,r){\"use strict\";e.exports=function(e,t){var r=e.length;if(\"number\"!=typeof t){t=0;for(var i=0;i<r;++i){var a=e[i];t=Math.max(t,a[0],a[1])}t=1+(0|t)}t|=0;var o=new Array(t);for(i=0;i<t;++i)o[i]=[];for(i=0;i<r;++i)o[(a=e[i])[0]].push(a[1]),o[a[1]].push(a[0]);for(var s=0;s<t;++s)n(o[s],(function(e,t){return e-t}));return o};var n=r(1215)},5795:function(e){\"use strict\";e.exports=function(e,t,r){var n=t||0,i=r||1;return[[e[12]+e[0],e[13]+e[1],e[14]+e[2],e[15]+e[3]],[e[12]-e[0],e[13]-e[1],e[14]-e[2],e[15]-e[3]],[e[12]+e[4],e[13]+e[5],e[14]+e[6],e[15]+e[7]],[e[12]-e[4],e[13]-e[5],e[14]-e[6],e[15]-e[7]],[n*e[12]+e[8],n*e[13]+e[9],n*e[14]+e[10],n*e[15]+e[11]],[i*e[12]-e[8],i*e[13]-e[9],i*e[14]-e[10],i*e[15]-e[11]]]}},8444:function(e,t,r){\"use strict\";e.exports=function(e,t,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:return\"number\"==typeof e?new o(n=l(e),n,0):new o(e,l(e.length),0);case 2:var n;if(\"number\"==typeof t)return new o(e,n=l(e.length),+t);r=0;case 3:if(e.length!==t.length)throw new Error(\"state and velocity lengths must match\");return new o(e,t,r)}};var n=r(9680),i=r(5070);function a(e,t,r){return Math.min(t,Math.max(e,r))}function o(e,t,r){this.dimension=e.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-1/0,this.bounds[1][n]=1/0;this._state=e.slice().reverse(),this._velocity=t.slice().reverse(),this._time=[r],this._scratch=[e.slice(),e.slice(),e.slice(),e.slice(),e.slice()]}var s=o.prototype;function l(e){for(var t=new Array(e),r=0;r<e;++r)t[r]=0;return t}s.flush=function(e){var t=i.gt(this._time,e)-1;t<=0||(this._time.splice(0,t),this._state.splice(0,t*this.dimension),this._velocity.splice(0,t*this.dimension))},s.curve=function(e){var t=this._time,r=t.length,o=i.le(t,e),s=this._scratch[0],l=this._state,u=this._velocity,c=this.dimension,f=this.bounds;if(o<0)for(var h=c-1,p=0;p<c;++p,--h)s[p]=l[h];else if(o>=r-1){h=l.length-1;var d=e-t[r-1];for(p=0;p<c;++p,--h)s[p]=l[h]+d*u[h]}else{h=c*(o+1)-1;var v=t[o],g=t[o+1]-v||1,m=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(p=0;p<c;++p,--h)m[p]=l[h],x[p]=u[h]*g,y[p]=l[h+c],b[p]=u[h+c]*g,_=_&&m[p]===y[p]&&x[p]===b[p]&&0===x[p];if(_)for(p=0;p<c;++p)s[p]=m[p];else n(m,x,y,b,(e-v)/g,s)}var w=f[0],k=f[1];for(p=0;p<c;++p)s[p]=a(w[p],k[p],s[p]);return s},s.dcurve=function(e){var t=this._time,r=t.length,a=i.le(t,e),o=this._scratch[0],s=this._state,l=this._velocity,u=this.dimension;if(a>=r-1)for(var c=s.length-1,f=(t[r-1],0);f<u;++f,--c)o[f]=l[c];else{c=u*(a+1)-1;var h=t[a],p=t[a+1]-h||1,d=this._scratch[1],v=this._scratch[2],g=this._scratch[3],m=this._scratch[4],y=!0;for(f=0;f<u;++f,--c)d[f]=s[c],g[f]=l[c]*p,v[f]=s[c+u],m[f]=l[c+u]*p,y=y&&d[f]===v[f]&&g[f]===m[f]&&0===g[f];if(y)for(f=0;f<u;++f)o[f]=0;else for(n.derivative(d,g,v,m,(e-h)/p,o),f=0;f<u;++f)o[f]/=p}return o},s.lastT=function(){var e=this._time;return e[e.length-1]},s.stable=function(){for(var e=this._velocity,t=e.length,r=this.dimension-1;r>=0;--r)if(e[--t])return!1;return!0},s.jump=function(e){var t=this.lastT(),r=this.dimension;if(!(e<t||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1];this._time.push(t,e);for(var c=0;c<2;++c)for(var f=0;f<r;++f)n.push(n[o++]),i.push(0);for(this._time.push(e),f=r;f>0;--f)n.push(a(l[f-1],u[f-1],arguments[f])),i.push(0)}},s.push=function(e){var t=this.lastT(),r=this.dimension;if(!(e<t||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=e-t,l=this.bounds,u=l[0],c=l[1],f=s>1e-6?1/s:0;this._time.push(e);for(var h=r;h>0;--h){var p=a(u[h-1],c[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(e){var t=this.dimension;if(!(e<this.lastT()||arguments.length!==t+1)){var r=this._state,n=this._velocity,i=this.bounds,o=i[0],s=i[1];this._time.push(e);for(var l=t;l>0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(e){var t=this.lastT(),r=this.dimension;if(!(e<=t||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=e-t,f=c>1e-6?1/c:0;this._time.push(e);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],u[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(e){var t=this.lastT();if(!(e<t)){var r=this.dimension,n=this._state,i=this._velocity,o=n.length-r,s=this.bounds,l=s[0],u=s[1],c=e-t;this._time.push(e);for(var f=r-1;f>=0;--f)n.push(a(l[f],u[f],n[o]+c*i[o])),i.push(0),o+=1}}},7080:function(e){\"use strict\";function t(e,t,r,n,i,a){this._color=e,this.key=t,this.value=r,this.left=n,this.right=i,this._count=a}function r(e){return new t(e._color,e.key,e.value,e.left,e.right,e._count)}function n(e,r){return new t(e,r.key,r.value,r.left,r.right,r._count)}function i(e){e._count=1+(e.left?e.left._count:0)+(e.right?e.right._count:0)}function a(e,t){this._compare=e,this.root=t}e.exports=function(e){return new a(e||p,null)};var o=a.prototype;function s(e,t){var r;return t.left&&(r=s(e,t.left))?r:(r=e(t.key,t.value))||(t.right?s(e,t.right):void 0)}function l(e,t,r,n){if(t(e,n.key)<=0){var i;if(n.left&&(i=l(e,t,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(e,t,r,n.right)}function u(e,t,r,n,i){var a,o=r(e,i.key),s=r(t,i.key);if(o<=0){if(i.left&&(a=u(e,t,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return u(e,t,r,n,i.right)}function c(e,t){this.tree=e,this._stack=t}Object.defineProperty(o,\"keys\",{get:function(){var e=[];return this.forEach((function(t,r){e.push(t)})),e}}),Object.defineProperty(o,\"values\",{get:function(){var e=[];return this.forEach((function(t,r){e.push(r)})),e}}),Object.defineProperty(o,\"length\",{get:function(){return this.root?this.root._count:0}}),o.insert=function(e,r){for(var o=this._compare,s=this.root,l=[],u=[];s;){var c=o(e,s.key);l.push(s),u.push(c),s=c<=0?s.left:s.right}l.push(new t(0,e,r,null,null,1));for(var f=l.length-2;f>=0;--f)s=l[f],u[f]<=0?l[f]=new t(s._color,s.key,s.value,l[f+1],s.right,s._count+1):l[f]=new t(s._color,s.key,s.value,s.left,l[f+1],s._count+1);for(f=l.length-1;f>1;--f){var h=l[f-1];if(s=l[f],1===h._color||1===s._color)break;var p=l[f-2];if(p.left===h)if(h.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).left===p?v.left=h:v.right=h);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){h.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=h,s.right=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).left===p?v.left=s:v.right=s);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else if(h.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).right===p?v.right=h:v.left=h);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var v;h.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=h,s.left=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).right===p?v.right=s:v.left=s);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(e,t,r){if(this.root)switch(arguments.length){case 1:return s(e,this.root);case 2:return l(t,this._compare,e,this.root);case 3:if(this._compare(t,r)>=0)return;return u(t,r,this._compare,e,this.root)}},Object.defineProperty(o,\"begin\",{get:function(){for(var e=[],t=this.root;t;)e.push(t),t=t.left;return new c(this,e)}}),Object.defineProperty(o,\"end\",{get:function(){for(var e=[],t=this.root;t;)e.push(t),t=t.right;return new c(this,e)}}),o.at=function(e){if(e<0)return new c(this,[]);for(var t=this.root,r=[];;){if(r.push(t),t.left){if(e<t.left._count){t=t.left;continue}e-=t.left._count}if(!e)return new c(this,r);if(e-=1,!t.right)break;if(e>=t.right._count)break;t=t.right}return new c(this,[])},o.ge=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.gt=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.lt=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.le=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.find=function(e){for(var t=this._compare,r=this.root,n=[];r;){var i=t(e,r.key);if(n.push(r),0===i)return new c(this,n);r=i<=0?r.left:r.right}return new c(this,[])},o.remove=function(e){var t=this.find(e);return t?t.remove():this},o.get=function(e){for(var t=this._compare,r=this.root;r;){var n=t(e,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var f=c.prototype;function h(e,t){e.key=t.key,e.value=t.value,e.left=t.left,e.right=t.right,e._color=t._color,e._count=t._count}function p(e,t){return e<t?-1:e>t?1:0}Object.defineProperty(f,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new c(this.tree,this._stack.slice())},f.remove=function(){var e=this._stack;if(0===e.length)return this.tree;var o=new Array(e.length),s=e[e.length-1];o[o.length-1]=new t(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=e.length-2;l>=0;--l)(s=e[l]).left===e[l+1]?o[l]=new t(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new t(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var u=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var c=o[u-1];for(o.push(new t(s._color,c.key,c.value,s.left,s.right,s._count)),o[u-1].key=s.key,o[u-1].value=s.value,l=o.length-2;l>=u;--l)s=o[l],o[l]=new t(s._color,s.key,s.value,s.left,o[l+1],s._count);o[u-1].left=o[u]}if(0===(s=o[o.length-1])._color){var f=o[o.length-2];for(f.left===s?f.left=null:f.right===s&&(f.right=null),o.pop(),l=0;l<o.length;++l)o[l]._count--;return new a(this.tree._compare,o[0])}if(s.left||s.right){for(s.left?h(s,s.left):s.right&&h(s,s.right),s._color=1,l=0;l<o.length-1;++l)o[l]._count--;return new a(this.tree._compare,o[0])}if(1===o.length)return new a(this.tree._compare,null);for(l=0;l<o.length;++l)o[l]._count--;var p=o[o.length-2];return function(e){for(var t,a,o,s,l=e.length-1;l>=0;--l){if(t=e[l],0===l)return void(t._color=1);if((a=e[l-1]).left===t){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,t._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((u=e[l-2]).left===a?u.left=o:u.right=o),void(e[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,t._color=1,i(a),i(o),i(s),l>1&&((u=e[l-2]).left===a?u.left=s:u.right=s),void(e[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=e[l-2]).left===a?u.left=o:u.right=o),e[l-1]=o,e[l]=a,l+1<e.length?e[l+1]=t:e.push(t),l+=2}else{if((o=a.left).left&&0===o.left._color)return s=(o=a.left=r(o)).left=r(o.left),a.left=o.right,o.right=a,o.left=s,o._color=a._color,t._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((u=e[l-2]).right===a?u.right=o:u.left=o),void(e[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,t._color=1,i(a),i(o),i(s),l>1&&((u=e[l-2]).right===a?u.right=s:u.left=s),void(e[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var u;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=e[l-2]).right===a?u.right=o:u.left=o),e[l-1]=o,e[l]=a,l+1<e.length?e[l+1]=t:e.push(t),l+=2}}}(o),p.left===s?p.left=null:p.right=null,new a(this.tree._compare,o[0])},Object.defineProperty(f,\"key\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,\"index\",{get:function(){var e=0,t=this._stack;if(0===t.length){var r=this.tree.root;return r?r._count:0}t[t.length-1].left&&(e=t[t.length-1].left._count);for(var n=t.length-2;n>=0;--n)t[n+1]===t[n].right&&(++e,t[n].left&&(e+=t[n].left._count));return e},enumerable:!0}),f.next=function(){var e=this._stack;if(0!==e.length){var t=e[e.length-1];if(t.right)for(t=t.right;t;)e.push(t),t=t.left;else for(e.pop();e.length>0&&e[e.length-1].right===t;)t=e[e.length-1],e.pop()}},Object.defineProperty(f,\"hasNext\",{get:function(){var e=this._stack;if(0===e.length)return!1;if(e[e.length-1].right)return!0;for(var t=e.length-1;t>0;--t)if(e[t-1].left===e[t])return!0;return!1}}),f.update=function(e){var r=this._stack;if(0===r.length)throw new Error(\"Can't update empty node!\");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new t(i._color,i.key,e,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new t(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new t(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},f.prev=function(){var e=this._stack;if(0!==e.length){var t=e[e.length-1];if(t.left)for(t=t.left;t;)e.push(t),t=t.right;else for(e.pop();e.length>0&&e[e.length-1].left===t;)t=e[e.length-1],e.pop()}},Object.defineProperty(f,\"hasPrev\",{get:function(){var e=this._stack;if(0===e.length)return!1;if(e[e.length-1].left)return!0;for(var t=e.length-1;t>0;--t)if(e[t-1].right===e[t])return!0;return!1}})},7453:function(e,t,r){\"use strict\";e.exports=function(e,t){var r=new c(e);return r.update(t),r};var n=r(9557),i=r(1681),a=r(1011),o=r(2864),s=r(8468),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function u(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function c(e){this.gl=e,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=[\"auto\",\"auto\",\"auto\"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=\"sans-serif\",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=[\"auto\",\"auto\",\"auto\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(e)}var f=c.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(e){function t(t,r,n){if(n in e){var i,a=e[n],o=this[n];(t?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}e=e||{};var r,a=t.bind(this,!1,Number),o=t.bind(this,!1,Boolean),l=t.bind(this,!1,String),u=t.bind(this,!0,(function(e){if(Array.isArray(e)){if(3===e.length)return[+e[0],+e[1],+e[2],1];if(4===e.length)return[+e[0],+e[1],+e[2],+e[3]]}return[0,0,0,1]})),c=!1,f=!1;if(\"bounds\"in e)for(var h=e.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if(\"ticks\"in e)for(r=e.ticks,c=!0,this.autoTicks=!1,p=0;p<3;++p)this.tickSpacing[p]=0;else a(\"tickSpacing\")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&(\"ticks\"in e||\"tickSpacing\"in e||(this.autoTicks=!0),f=!0,c=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),c=!0),c){for(p=0;p<3;++p)r[p].sort((function(e,t){return e.x-t.x}));s.equal(r,this.ticks)?c=!1:this.ticks=r}o(\"tickEnable\"),l(\"tickFont\")&&(c=!0),a(\"tickSize\"),a(\"tickAngle\"),a(\"tickPad\"),u(\"tickColor\");var v=l(\"labels\");l(\"labelFont\")&&(v=!0),o(\"labelEnable\"),a(\"labelSize\"),a(\"labelPad\"),u(\"labelColor\"),o(\"lineEnable\"),o(\"lineMirror\"),a(\"lineWidth\"),u(\"lineColor\"),o(\"lineTickEnable\"),o(\"lineTickMirror\"),a(\"lineTickLength\"),a(\"lineTickWidth\"),u(\"lineTickColor\"),o(\"gridEnable\"),a(\"gridWidth\"),u(\"gridColor\"),o(\"zeroEnable\"),u(\"zeroLineColor\"),a(\"zeroLineWidth\"),o(\"backgroundEnable\"),u(\"backgroundColor\"),this._text?this._text&&(v||c)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&c&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(e,t,r,n,i){for(var a=e.primalOffset,o=e.primalMinor,s=e.mirrorOffset,l=e.mirrorMinor,u=n[t],c=0;c<3;++c)if(t!==c){var f=a,h=s,p=o,d=l;u&1<<c&&(f=s,h=a,p=l,d=o),f[c]=r[0][c],h[c]=r[1][c],i[c]>0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var v=[0,0,0],g={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(e){};var m=[0,0,0],y=[0,0,0],x=[0,0,0];f.draw=function(e){e=e||g;for(var t=this.gl,r=e.model||l,n=e.view||l,i=e.projection||l,a=this.bounds,s=e._ortho||!1,c=o(r,n,i,a,s),f=c.cubeEdges,h=c.axis,b=n[12],_=n[13],w=n[14],k=n[15],T=(s?2:1)*this.pixelRatio*(i[3]*b+i[7]*_+i[11]*w+i[15]*k)/t.drawingBufferHeight,M=0;M<3;++M)this.lastCubeProps.cubeEdges[M]=f[M],this.lastCubeProps.axis[M]=h[M];var A=p;for(M=0;M<3;++M)d(p[M],M,this.bounds,f,h);t=this.gl;var S,E,C,L=v;for(M=0;M<3;++M)this.backgroundEnable[M]?L[M]=h[M]:L[M]=0;for(this._background.draw(r,n,i,a,L,this.backgroundColor),this._lines.bind(r,n,i,this),M=0;M<3;++M){var P=[0,0,0];h[M]>0?P[M]=a[1][M]:P[M]=a[0][M];for(var O=0;O<2;++O){var I=(M+1+O)%3,D=(M+1+(1^O))%3;this.gridEnable[I]&&this._lines.drawGrid(I,D,this.bounds,P,this.gridColor[I],this.gridWidth[I]*this.pixelRatio)}for(O=0;O<2;++O)I=(M+1+O)%3,D=(M+1+(1^O))%3,this.zeroEnable[D]&&Math.min(a[0][D],a[1][D])<=0&&Math.max(a[0][D],a[1][D])>=0&&this._lines.drawZero(I,D,this.bounds,P,this.zeroLineColor[D],this.zeroLineWidth[D]*this.pixelRatio)}for(M=0;M<3;++M){this.lineEnable[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].primalOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio),this.lineMirror[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].mirrorOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio);var z=u(m,A[M].primalMinor),R=u(y,A[M].mirrorMinor),F=this.lineTickLength;for(O=0;O<3;++O){var B=T/r[5*O];z[O]*=F[O]*B,R[O]*=F[O]*B}this.lineTickEnable[M]&&this._lines.drawAxisTicks(M,A[M].primalOffset,z,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio),this.lineTickMirror[M]&&this._lines.drawAxisTicks(M,A[M].mirrorOffset,R,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio)}function N(e){(C=[0,0,0])[e]=1}function j(e,t,r){var n=(e+1)%3,i=(e+2)%3,a=t[n],o=t[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),M=0;M<3;++M){var U=A[M].primalMinor,V=A[M].mirrorMinor,H=u(x,A[M].primalOffset);for(O=0;O<3;++O)this.lineTickEnable[M]&&(H[O]+=T*U[O]*Math.max(this.lineTickLength[O],0)/r[5*O]);var q=[0,0,0];if(q[M]=1,this.tickEnable[M]){for(-3600===this.tickAngle[M]?(this.tickAngle[M]=0,this.tickAlign[M]=\"auto\"):this.tickAlign[M]=-1,E=1,\"auto\"===(S=[this.tickAlign[M],.5,E])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]),C=[0,0,0],j(M,U,V),O=0;O<3;++O)H[O]+=T*U[O]*this.tickPad[O]/r[5*O];this._text.drawTicks(M,this.tickSize[M],this.tickAngle[M],H,this.tickColor[M],q,C,S)}if(this.labelEnable[M]){for(E=0,C=[0,0,0],this.labels[M].length>4&&(N(M),E=1),\"auto\"===(S=[this.labelAlign[M],.5,E])[0]?S[0]=0:S[0]=parseInt(\"\"+S[0]),O=0;O<3;++O)H[O]+=T*U[O]*this.labelPad[O]/r[5*O];H[M]+=.5*(a[0][M]+a[1][M]),this._text.drawLabel(M,this.labelSize[M],this.labelAngle[M],H,this.labelColor[M],[0,0,0],C,S)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},1011:function(e,t,r){\"use strict\";e.exports=function(e){for(var t=[],r=[],s=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[u]=d;for(var v=-1;v<=1;v+=2)f[c]=v,t.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=u;u=c,c=g}var m=n(e,new Float32Array(t)),y=n(e,new Uint16Array(r),e.ELEMENT_ARRAY_BUFFER),x=i(e,[{buffer:m,type:e.FLOAT,size:3,offset:0,stride:24},{buffer:m,type:e.FLOAT,size:3,offset:12,stride:24}],y),b=a(e);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(e,m,x,b)};var n=r(5827),i=r(2944),a=r(1943).bg;function o(e,t,r,n){this.gl=e,this.buffer=t,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(e,t,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:e,view:t,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},2864:function(e,t,r){\"use strict\";e.exports=function(e,t,r,a,p){i(s,t,e),i(s,r,s);for(var y=0,x=0;x<2;++x){c[2]=a[x][2];for(var b=0;b<2;++b){c[1]=a[b][1];for(var _=0;_<2;++_)c[0]=a[_][0],h(l[y],c,s),y+=1}}var w=-1;for(x=0;x<8;++x){for(var k=l[x][3],T=0;T<3;++T)u[x][T]=l[x][T]/k;p&&(u[x][2]*=-1),k<0&&(w<0||u[x][2]<u[w][2])&&(w=x)}if(w<0){w=0;for(var M=0;M<3;++M){for(var A=(M+2)%3,S=(M+1)%3,E=-1,C=-1,L=0;L<2;++L){var P=(I=L<<M)+(L<<A)+(1-L<<S),O=I+(1-L<<A)+(L<<S);o(u[I],u[P],u[O],f)<0||(L?E=1:C=1)}if(E<0||C<0)C>E&&(w|=1<<M);else{for(L=0;L<2;++L){P=(I=L<<M)+(L<<A)+(1-L<<S),O=I+(1-L<<A)+(L<<S);var I,D=d([l[I],l[P],l[O],l[I+(1<<A)+(1<<S)]]);L?E=D:C=D}C>E&&(w|=1<<M)}}}var z=7^w,R=-1;for(x=0;x<8;++x)x!==w&&x!==z&&(R<0||u[R][1]>u[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<<x)!==w&&N!==z&&(F<0&&(F=N),(S=u[N])[0]<u[F][0]&&(F=N));var B=-1;for(x=0;x<3;++x){var N;(N=R^1<<x)!==w&&N!==z&&N!==F&&(B<0&&(B=N),(S=u[N])[0]>u[B][0]&&(B=N))}var j=v;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===z?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,H=w;for(M=0;M<3;++M)V[M]=H&1<<M?-1:1;return m};var n=r(2288),i=r(104),a=r(4670),o=r(417),s=new Array(16),l=new Array(8),u=new Array(8),c=new Array(3),f=[0,0,0];function h(e,t,r){for(var n=0;n<4;++n){e[n]=r[12+n];for(var i=0;i<3;++i)e[n]+=t[i]*r[4*i+n]}}!function(){for(var e=0;e<8;++e)l[e]=[1,1,1,1],u[e]=[1,1,1]}();var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function d(e){for(var t=0;t<p.length;++t)if((e=a.positive(e,p[t])).length<3)return 0;var r=e[0],n=r[0]/r[3],i=r[1]/r[3],o=0;for(t=1;t+1<e.length;++t){var s=e[t],l=e[t+1],u=s[0]/s[3]-n,c=s[1]/s[3]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;o+=Math.abs(u*h-c*f)}return o}var v=[1,1,1],g=[0,0,0],m={cubeEdges:v,axis:g}},1681:function(e,t,r){\"use strict\";e.exports=function(e,t,r){var o=[],s=[0,0,0],l=[0,0,0],u=[0,0,0],c=[0,0,0];o.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var f=0;f<3;++f){for(var h=o.length/3|0,d=0;d<r[f].length;++d){var v=+r[f][d].x;o.push(v,0,1,v,1,1,v,0,-1,v,0,-1,v,1,1,v,1,-1)}var g=o.length/3|0;s[f]=h,l[f]=g-h,h=o.length/3|0;for(var m=0;m<r[f].length;++m)v=+r[f][m].x,o.push(v,0,1,v,1,1,v,0,-1,v,0,-1,v,1,1,v,1,-1);g=o.length/3|0,u[f]=h,c[f]=g-h}var y=n(e,new Float32Array(o)),x=i(e,[{buffer:y,type:e.FLOAT,size:3,stride:0,offset:0}]),b=a(e);return b.attributes.position.location=0,new p(e,y,x,b,l,s,c,u)};var n=r(5827),i=r(2944),a=r(1943).j,o=[0,0,0],s=[0,0,0],l=[0,0,0],u=[0,0,0],c=[1,1];function f(e){return e[0]=e[1]=e[2]=0,e}function h(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function p(e,t,r,n,i,a,o,s){this.gl=e,this.vertBuffer=t,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}var d=p.prototype;d.bind=function(e,t,r){this.shader.bind(),this.shader.uniforms.model=e,this.shader.uniforms.view=t,this.shader.uniforms.projection=r,c[0]=this.gl.drawingBufferWidth,c[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=c,this.vao.bind()},d.unbind=function(){this.vao.unbind()},d.drawAxisLine=function(e,t,r,n,i){var a=f(s);this.shader.uniforms.majorAxis=s,a[e]=t[1][e]-t[0][e],this.shader.uniforms.minorAxis=a;var o,c=h(u,r);c[e]+=t[0][e],this.shader.uniforms.offset=c,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=f(l))[(e+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=f(l))[(e+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(e,t,r,n,i){if(this.tickCount[e]){var a=f(o);a[e]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=t,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var s=f(l);s[e]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[e],this.tickOffset[e])}},d.drawGrid=function(e,t,r,n,i,a){if(this.gridCount[e]){var c=f(s);c[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=c;var p=h(u,n);p[t]+=r[0][t],this.shader.uniforms.offset=p;var d=f(o);d[e]=1,this.shader.uniforms.majorAxis=d;var v=f(l);v[e]=1,this.shader.uniforms.screenAxis=v,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[e],this.gridOffset[e])}},d.drawZero=function(e,t,r,n,i,a){var o=f(s);this.shader.uniforms.majorAxis=o,o[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=o;var c=h(u,n);c[e]+=r[0][e],this.shader.uniforms.offset=c;var p=f(l);p[t]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},1943:function(e,t,r){\"use strict\";var n=r(6832),i=r(5158),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\\nuniform float lineWidth;\\nuniform vec2 screenShape;\\n\\nvec3 project(vec3 p) {\\n  vec4 pp = projection * view * model * vec4(p, 1.0);\\n  return pp.xyz / max(pp.w, 0.0001);\\n}\\n\\nvoid main() {\\n  vec3 major = position.x * majorAxis;\\n  vec3 minor = position.y * minorAxis;\\n\\n  vec3 vPosition = major + minor + offset;\\n  vec3 pPosition = project(vPosition);\\n  vec3 offset = project(vPosition + screenAxis * position.z);\\n\\n  vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\\n\\n  gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\\n}\\n\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\"]);t.j=function(e){return i(e,a,o,null,[{name:\"position\",type:\"vec3\"}])};var s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, axis, alignDir, alignOpt;\\nuniform float scale, angle, pixelScale;\\nuniform vec2 resolution;\\n\\nvec3 project(vec3 p) {\\n  vec4 pp = projection * view * model * vec4(p, 1.0);\\n  return pp.xyz / max(pp.w, 0.0001);\\n}\\n\\nfloat computeViewAngle(vec3 a, vec3 b) {\\n  vec3 A = project(a);\\n  vec3 B = project(b);\\n\\n  return atan(\\n    (B.y - A.y) * resolution.y,\\n    (B.x - A.x) * resolution.x\\n  );\\n}\\n\\nconst float PI = 3.141592;\\nconst float TWO_PI = 2.0 * PI;\\nconst float HALF_PI = 0.5 * PI;\\nconst float ONE_AND_HALF_PI = 1.5 * PI;\\n\\nint option = int(floor(alignOpt.x + 0.001));\\nfloat hv_ratio =       alignOpt.y;\\nbool enableAlign =    (alignOpt.z != 0.0);\\n\\nfloat mod_angle(float a) {\\n  return mod(a, PI);\\n}\\n\\nfloat positive_angle(float a) {\\n  return mod_angle((a < 0.0) ?\\n    a + TWO_PI :\\n    a\\n  );\\n}\\n\\nfloat look_upwards(float a) {\\n  float b = positive_angle(a);\\n  return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\\n    b - PI :\\n    b;\\n}\\n\\nfloat look_horizontal_or_vertical(float a, float ratio) {\\n  // ratio controls the ratio between being horizontal to (vertical + horizontal)\\n  // if ratio is set to 0.5 then it is 50%, 50%.\\n  // when using a higher ratio e.g. 0.75 the result would\\n  // likely be more horizontal than vertical.\\n\\n  float b = positive_angle(a);\\n\\n  return\\n    (b < (      ratio) * HALF_PI) ? 0.0 :\\n    (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\\n    (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\\n    (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\\n                                    0.0;\\n}\\n\\nfloat roundTo(float a, float b) {\\n  return float(b * floor((a + 0.5 * b) / b));\\n}\\n\\nfloat look_round_n_directions(float a, int n) {\\n  float b = positive_angle(a);\\n  float div = TWO_PI / float(n);\\n  float c = roundTo(b, div);\\n  return look_upwards(c);\\n}\\n\\nfloat applyAlignOption(float rawAngle, float delta) {\\n  return\\n    (option >  2) ? look_round_n_directions(rawAngle + delta, option) :       // option 3-n: round to n directions\\n    (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\\n    (option == 1) ? rawAngle + delta :       // use free angle, and flip to align with one direction of the axis\\n    (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\\n    (option ==-1) ? 0.0 :                    // useful for backward compatibility, all texts remains horizontal\\n                    rawAngle;                // otherwise return back raw input angle\\n}\\n\\nbool isAxisTitle = (axis.x == 0.0) &&\\n                   (axis.y == 0.0) &&\\n                   (axis.z == 0.0);\\n\\nvoid main() {\\n  //Compute world offset\\n  float axisDistance = position.z;\\n  vec3 dataPosition = axisDistance * axis + offset;\\n\\n  float beta = angle; // i.e. user defined attributes for each tick\\n\\n  float axisAngle;\\n  float clipAngle;\\n  float flip;\\n\\n  if (enableAlign) {\\n    axisAngle = (isAxisTitle) ? HALF_PI :\\n                      computeViewAngle(dataPosition, dataPosition + axis);\\n    clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\\n\\n    axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\\n    clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\\n\\n    flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\\n                vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\\n\\n    beta += applyAlignOption(clipAngle, flip * PI);\\n  }\\n\\n  //Compute plane offset\\n  vec2 planeCoord = position.xy * pixelScale;\\n\\n  mat2 planeXform = scale * mat2(\\n     cos(beta), sin(beta),\\n    -sin(beta), cos(beta)\\n  );\\n\\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\n\\n  //Compute clip position\\n  vec3 clipPosition = project(dataPosition);\\n\\n  //Apply text offset in clip coordinates\\n  clipPosition += vec3(viewOffset, 0.0);\\n\\n  //Done\\n  gl_Position = vec4(clipPosition, 1.0);\\n}\"]),l=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\"]);t.f=function(e){return i(e,s,l,null,[{name:\"position\",type:\"vec3\"}])};var u=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec3 normal;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 enable;\\nuniform vec3 bounds[2];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n\\n  vec3 signAxis = sign(bounds[1] - bounds[0]);\\n\\n  vec3 realNormal = signAxis * normal;\\n\\n  if(dot(realNormal, enable) > 0.0) {\\n    vec3 minRange = min(bounds[0], bounds[1]);\\n    vec3 maxRange = max(bounds[0], bounds[1]);\\n    vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\\n    gl_Position = projection * view * model * vec4(nPosition, 1.0);\\n  } else {\\n    gl_Position = vec4(0,0,0,0);\\n  }\\n\\n  colorChannel = abs(realNormal);\\n}\"]),c=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec4 colors[3];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n  gl_FragColor = colorChannel.x * colors[0] +\\n                 colorChannel.y * colors[1] +\\n                 colorChannel.z * colors[2];\\n}\"]);t.bg=function(e){return i(e,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},9557:function(e,t,r){\"use strict\";e.exports=function(e,t,r,i,o,l){var u=n(e),f=a(e,[{buffer:u,size:3}]),h=s(e);h.attributes.position.location=0;var p=new c(e,h,u,f);return p.update(t,r,i,o,l),p};var n=r(5827),a=r(2944),o=r(875),s=r(1943).f,l=window||i.global||{},u=l.__TEXT_CACHE||{};function c(e,t,r,n){this.gl=e,this.shader=t,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}l.__TEXT_CACHE={};var f=c.prototype,h=[0,0];f.bind=function(e,t,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=e,i.view=t,i.projection=r,i.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},f.unbind=function(){this.vao.unbind()},f.update=function(e,t,r,n,i){var a=[];function s(e,t,r,n,i,s){var l=u[r];l||(l=u[r]={});var c=l[t];c||(c=l[t]=function(e,t){try{return o(e,t)}catch(t){return console.warn('error vectorizing text:\"'+e+'\" error:',t),{cells:[],positions:[]}}}(t,{triangles:!0,font:r,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,h=c.positions,p=c.cells,d=0,v=p.length;d<v;++d)for(var g=p[d],m=2;m>=0;--m){var y=h[g[m]];a.push(f*y[0],-f*y[1],e)}}for(var l=[0,0,0],c=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=a.length/3|0,s(.5*(e[0][d]+e[1][d]),t[d],r[d],12,1.25,p),h[d]=(a.length/3|0)-f[d],l[d]=a.length/3|0;for(var v=0;v<n[d].length;++v)n[d][v].text&&s(n[d][v].x,n[d][v].text,n[d][v].font||i,n[d][v].fontSize||12,1.25,p);c[d]=(a.length/3|0)-l[d]}this.buffer.update(a),this.tickOffset=l,this.tickCount=c,this.labelOffset=f,this.labelCount=h},f.drawTicks=function(e,t,r,n,i,a,o,s){this.tickCount[e]&&(this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=t,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[e],this.tickOffset[e]))},f.drawLabel=function(e,t,r,n,i,a,o,s){this.labelCount[e]&&(this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=t,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.labelCount[e],this.labelOffset[e]))},f.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}},8468:function(e,t){\"use strict\";function r(e,t){var r=e+\"\",n=r.indexOf(\".\"),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(e*t*a),s=o+\"\";if(s.indexOf(\"e\")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=\"\"+l;if(o<0&&(c=\"-\"+c),i){for(var f=\"\"+u;f.length<i;)f=\"0\"+f;return c+\".\"+f}return c}t.create=function(e,t){for(var n=[],i=0;i<3;++i){for(var a=[],o=(e[0][i],e[1][i],0);o*t[i]<=e[1][i];++o)a.push({x:o*t[i],text:r(t[i],o)});for(o=-1;o*t[i]>=e[0][i];--o)a.push({x:o*t[i],text:r(t[i],o)});n.push(a)}return n},t.equal=function(e,t){for(var r=0;r<3;++r){if(e[r].length!==t[r].length)return!1;for(var n=0;n<e[r].length;++n){var i=e[r][n],a=t[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}},2771:function(e,t,r){\"use strict\";e.exports=function(e,t,r,l,f){var h=t.model||u,p=t.view||u,m=t.projection||u,y=t._ortho||!1,x=e.bounds,b=(f=f||a(h,p,m,x,y)).axis;o(c,p,h),o(c,m,c);for(var _=v,w=0;w<3;++w)_[w].lo=1/0,_[w].hi=-1/0,_[w].pixelsPerDataUnit=1/0;var k=n(s(c,c));s(c,c);for(var T=0;T<3;++T){var M=(T+1)%3,A=(T+2)%3,S=g;e:for(w=0;w<2;++w){var E=[];if(b[T]<0!=!!w){S[T]=x[w][T];for(var C=0;C<2;++C){S[M]=x[C^w][M];for(var L=0;L<2;++L)S[A]=x[L^C^w][A],E.push(S.slice())}var P=y?5:4;for(C=P;C===P;++C){if(0===E.length)continue e;E=i.positive(E,k[C])}for(C=0;C<E.length;++C){A=E[C];var O=d(g,c,A,r,l);for(L=0;L<3;++L)_[L].lo=Math.min(_[L].lo,A[L]),_[L].hi=Math.max(_[L].hi,A[L]),L!==T&&(_[L].pixelsPerDataUnit=Math.min(_[L].pixelsPerDataUnit,Math.abs(O[L])))}}}}return _};var n=r(5795),i=r(4670),a=r(2864),o=r(104),s=r(2142),l=r(6342),u=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),c=new Float32Array(16);function f(e,t,r){this.lo=e,this.hi=t,this.pixelsPerDataUnit=r}var h=[0,0,0,1],p=[0,0,0,1];function d(e,t,r,n,i){for(var a=0;a<3;++a){for(var o=h,s=p,u=0;u<3;++u)s[u]=o[u]=r[u];s[3]=o[3]=1,s[a]+=1,l(s,s,t),s[3]<0&&(e[a]=1/0),o[a]-=1,l(o,o,t),o[3]<0&&(e[a]=1/0);var c=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;e[a]=.25*Math.sqrt(c*c+f*f)}return e}var v=[new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0)],g=[0,0,0]},5827:function(e,t,r){\"use strict\";var n=r(5306),i=r(7498),a=r(5050),o=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function s(e,t,r,n,i){this.gl=e,this.type=t,this.handle=r,this.length=n,this.usage=i}var l=s.prototype;function u(e,t,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return e.bufferData(t,i,n),o;if(o+a>r)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return e.bufferSubData(t,a,i),r}function c(e,t){for(var r=n.malloc(e.length,t),i=e.length,a=0;a<i;++a)r[a]=e[a];return r}l.bind=function(){this.gl.bindBuffer(this.type,this.handle)},l.unbind=function(){this.gl.bindBuffer(this.type,null)},l.dispose=function(){this.gl.deleteBuffer(this.handle)},l.update=function(e,t){if(\"number\"!=typeof t&&(t=-1),this.bind(),\"object\"==typeof e&&void 0!==e.shape){var r=e.dtype;if(o.indexOf(r)<0&&(r=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER&&(r=gl.getExtension(\"OES_element_index_uint\")&&\"uint16\"!==r?\"uint32\":\"uint16\"),r===e.dtype&&function(e,t){for(var r=1,n=t.length-1;n>=0;--n){if(t[n]!==r)return!1;r*=e[n]}return!0}(e.shape,e.stride))0===e.offset&&e.data.length===e.shape[0]?this.length=u(this.gl,this.type,this.length,this.usage,e.data,t):this.length=u(this.gl,this.type,this.length,this.usage,e.data.subarray(e.offset,e.shape[0]),t);else{var s=n.malloc(e.size,r),l=a(s,e.shape);i.assign(l,e),this.length=u(this.gl,this.type,this.length,this.usage,t<0?s:s.subarray(0,e.size),t),n.free(s)}}else if(Array.isArray(e)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(e,\"uint16\"):c(e,\"float32\"),this.length=u(this.gl,this.type,this.length,this.usage,t<0?f:f.subarray(0,e.length),t),n.free(f)}else if(\"object\"==typeof e&&\"number\"==typeof e.length)this.length=u(this.gl,this.type,this.length,this.usage,e,t);else{if(\"number\"!=typeof e&&void 0!==e)throw new Error(\"gl-buffer: Invalid data type\");if(t>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");(e|=0)<=0&&(e=1),this.gl.bufferData(this.type,0|e,this.usage),this.length=e}},e.exports=function(e,t,r,n){if(r=r||e.ARRAY_BUFFER,n=n||e.DYNAMIC_DRAW,r!==e.ARRAY_BUFFER&&r!==e.ELEMENT_ARRAY_BUFFER)throw new Error(\"gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER\");if(n!==e.DYNAMIC_DRAW&&n!==e.STATIC_DRAW&&n!==e.STREAM_DRAW)throw new Error(\"gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW\");var i=e.createBuffer(),a=new s(e,r,i,0,n);return a.update(t),a}},1140:function(e,t,r){\"use strict\";var n=r(2858);e.exports=function(e,t){var r=e.positions,i=e.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:e.vertexIntensityBounds,vectors:[],cells:[],coneOffset:e.coneOffset,colormap:e.colormap};if(0===e.positions.length)return t&&(t[0]=[0,0,0],t[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,p=null,d=null,v=[],g=1/0,m=!1,y=0;y<r.length;y++){var x=r[y];s=Math.min(x[0],s),l=Math.max(x[0],l),u=Math.min(x[1],u),c=Math.max(x[1],c),f=Math.min(x[2],f),h=Math.max(x[2],h);var b=i[y];if(n.length(b)>o&&(o=n.length(b)),y){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(g=Math.min(g,_),m=!1):m=!0}m||(p=x,d=b),v.push(b)}var w=[s,u,f],k=[l,c,h];t&&(t[0]=w,t[1]=k),0===o&&(o=1);var T=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=e.coneSize||.5;e.absoluteConeSize&&(M=e.absoluteConeSize*T),a.coneScale=M,y=0;for(var A=0;y<r.length;y++)for(var S=(x=r[y])[0],E=x[1],C=x[2],L=v[y],P=n.length(L)*T,O=0;O<8;O++){a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.positions.push([S,E,C,A++]),a.vectors.push(L),a.vectors.push(L),a.vectors.push(L),a.vectors.push(L),a.vectors.push(L),a.vectors.push(L),a.vertexIntensity.push(P,P,P),a.vertexIntensity.push(P,P,P);var I=a.positions.length;a.cells.push([I-6,I-5,I-4],[I-3,I-2,I-1])}return a};var i=r(7234);e.exports.createMesh=r(5028),e.exports.createConeMesh=function(t,r){return e.exports.createMesh(t,r,{shaders:i,traceType:\"cone\"})}},5028:function(e,t,r){\"use strict\";var n=r(5158),i=r(5827),a=r(2944),o=r(8931),s=r(104),l=r(7437),u=r(5050),c=r(9156),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(e,t,r,n,i,a,o,s,l,u,c){this.gl=e,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=t,this.dirty=!0,this.triShader=r,this.pickShader=n,this.trianglePositions=i,this.triangleVectors=a,this.triangleColors=s,this.triangleUVs=l,this.triangleIds=o,this.triangleVAO=u,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=c,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=f,this._view=f,this._projection=f,this._resolution=[1,1]}var p=h.prototype;p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(e){this.pickId=e},p.update=function(e){e=e||{};var t=this.gl;this.dirty=!0,\"lightPosition\"in e&&(this.lightPosition=e.lightPosition),\"opacity\"in e&&(this.opacity=e.opacity),\"ambient\"in e&&(this.ambientLight=e.ambient),\"diffuse\"in e&&(this.diffuseLight=e.diffuse),\"specular\"in e&&(this.specularLight=e.specular),\"roughness\"in e&&(this.roughness=e.roughness),\"fresnel\"in e&&(this.fresnel=e.fresnel),void 0!==e.tubeScale&&(this.tubeScale=e.tubeScale),void 0!==e.vectorScale&&(this.vectorScale=e.vectorScale),void 0!==e.coneScale&&(this.coneScale=e.coneScale),void 0!==e.coneOffset&&(this.coneOffset=e.coneOffset),e.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=t.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=t.LINEAR,this.texture.setPixels(function(e){for(var t=c({colormap:e,nshades:256,format:\"rgba\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=t[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(e.colormap)),this.texture.generateMipmap());var r=e.cells,n=e.positions,i=e.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=e.meshColor||[1,1,1,1],p=e.vertexIntensity,d=1/0,v=-1/0;if(p)if(e.vertexIntensityBounds)d=+e.vertexIntensityBounds[0],v=+e.vertexIntensityBounds[1];else for(var g=0;g<p.length;++g){var m=p[g];d=Math.min(d,m),v=Math.max(v,m)}else for(g=0;g<n.length;++g)m=n[g][2],d=Math.min(d,m),v=Math.max(v,m);for(this.intensity=p||function(e){for(var t=e.length,r=new Array(t),n=0;n<t;++n)r[n]=e[n][2];return r}(n),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],g=0;g<n.length;++g)for(var y=n[g],x=0;x<3;++x)!isNaN(y[x])&&isFinite(y[x])&&(this.bounds[0][x]=Math.min(this.bounds[0][x],y[x]),this.bounds[1][x]=Math.max(this.bounds[1][x],y[x]));var b=0;e:for(g=0;g<r.length;++g){var _=r[g];if(3===_.length){for(x=0;x<3;++x){y=n[k=_[x]];for(var w=0;w<3;++w)if(isNaN(y[w])||!isFinite(y[w]))continue e}for(x=0;x<3;++x){var k;y=n[k=_[2-x]],a.push(y[0],y[1],y[2],y[3]);var T=i[k];o.push(T[0],T[1],T[2],T[3]||0);var M,A=h;3===A.length?s.push(A[0],A[1],A[2],1):s.push(A[0],A[1],A[2],A[3]),M=p?[(p[k]-d)/(v-d),0]:[(y[2]-d)/(v-d),0],l.push(M[0],M[1]),f.push(g)}b+=1}}this.triangleCount=b,this.trianglePositions.update(a),this.triangleVectors.update(o),this.triangleColors.update(s),this.triangleUVs.update(l),this.triangleIds.update(new Uint32Array(f))}},p.drawTransparent=p.draw=function(e){e=e||{};for(var t=this.gl,r=e.model||f,n=e.view||f,i=e.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var u={model:r,view:n,projection:i,inverseModel:f.slice(),clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};u.inverseModel=l(u.inverseModel,u.model),t.disable(t.CULL_FACE),this.texture.bind(0);var c=new Array(16);for(s(c,u.view,u.model),s(c,u.projection,c),l(c,c),o=0;o<3;++o)u.eyePosition[o]=c[12+o]/c[15];var h=c[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*c[4*o+3];for(o=0;o<3;++o){for(var p=c[12+o],d=0;d<3;++d)p+=c[4*d+o]*this.lightPosition[d];u.lightPosition[o]=p/h}if(this.triangleCount>0){var v=this.triShader;v.bind(),v.uniforms=u,this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(e){e=e||{};for(var t=this.gl,r=e.model||f,n=e.view||f,i=e.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[t.drawingBufferWidth,t.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(e){if(!e)return null;if(e.id!==this.pickId)return null;var t=e.value[0]+256*e.value[1]+65536*e.value[2],r=this.cells[t],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return\"cone\"===this.traceType?i.index=Math.floor(r[1]/48):\"streamtube\"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=t),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},e.exports=function(e,t,r){var s=r.shaders;1===arguments.length&&(e=(t=e).gl);var l=function(e,t){var r=n(e,t.meshShader.vertex,t.meshShader.fragment,null,t.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(e,s),c=function(e,t){var r=n(e,t.pickShader.vertex,t.pickShader.fragment,null,t.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(e,s),f=o(e,u(new Uint8Array([255,255,255,255]),[1,1,4]));f.generateMipmap(),f.minFilter=e.LINEAR_MIPMAP_LINEAR,f.magFilter=e.LINEAR;var p=i(e),d=i(e),v=i(e),g=i(e),m=i(e),y=new h(e,f,l,c,p,d,m,v,g,a(e,[{buffer:p,type:e.FLOAT,size:4},{buffer:m,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:e.FLOAT,size:4},{buffer:g,type:e.FLOAT,size:2},{buffer:d,type:e.FLOAT,size:4}]),r.traceType||\"cone\");return y.update(t),y}},7234:function(e,t,r){var n=r(6832),i=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n//   segment + 0 top vertex\\n//   segment + 1 perimeter vertex a+1\\n//   segment + 2 perimeter vertex a\\n//   segment + 3 center base vertex\\n//   segment + 4 perimeter vertex a\\n//   segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\\n\\n  const float segmentCount = 8.0;\\n\\n  float index = rawIndex - floor(rawIndex /\\n    (segmentCount * 6.0)) *\\n    (segmentCount * 6.0);\\n\\n  float segment = floor(0.001 + index/6.0);\\n  float segmentIndex = index - (segment*6.0);\\n\\n  normal = -normalize(d);\\n\\n  if (segmentIndex > 2.99 && segmentIndex < 3.01) {\\n    return mix(vec3(0.0), -d, coneOffset);\\n  }\\n\\n  float nextAngle = (\\n    (segmentIndex > 0.99 &&  segmentIndex < 1.01) ||\\n    (segmentIndex > 4.99 &&  segmentIndex < 5.01)\\n  ) ? 1.0 : 0.0;\\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n  vec3 v2 = v1 - d;\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d)*0.25;\\n  vec3 y = v * sin(angle) * length(d)*0.25;\\n  vec3 v3 = v2 + x + y;\\n  if (segmentIndex < 3.0) {\\n    vec3 tx = u * sin(angle);\\n    vec3 ty = v * -cos(angle);\\n    vec3 tangent = tx + ty;\\n    normal = normalize(cross(v3 - v1, tangent));\\n  }\\n\\n  if (segmentIndex == 0.0) {\\n    return mix(d, vec3(0.0), coneOffset);\\n  }\\n  return v3;\\n}\\n\\nattribute vec3 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\n\\nuniform float vectorScale, coneScale, coneOffset;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 eyePosition, lightPosition;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  // Scale the vector magnitude to stay constant with\\n  // model & view changes.\\n  vec3 normal;\\n  vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n  //Lighting geometry parameters\\n  vec4 cameraCoordinate = view * conePosition;\\n  cameraCoordinate.xyz /= cameraCoordinate.w;\\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\\n  f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n  // vec4 m_position  = model * vec4(conePosition, 1.0);\\n  vec4 t_position  = view * conePosition;\\n  gl_Position      = projection * t_position;\\n\\n  f_color          = color;\\n  f_data           = conePosition.xyz;\\n  f_position       = position.xyz;\\n  f_uv             = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n\\n  if(gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n//   segment + 0 top vertex\\n//   segment + 1 perimeter vertex a+1\\n//   segment + 2 perimeter vertex a\\n//   segment + 3 center base vertex\\n//   segment + 4 perimeter vertex a\\n//   segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\\n\\n  const float segmentCount = 8.0;\\n\\n  float index = rawIndex - floor(rawIndex /\\n    (segmentCount * 6.0)) *\\n    (segmentCount * 6.0);\\n\\n  float segment = floor(0.001 + index/6.0);\\n  float segmentIndex = index - (segment*6.0);\\n\\n  normal = -normalize(d);\\n\\n  if (segmentIndex > 2.99 && segmentIndex < 3.01) {\\n    return mix(vec3(0.0), -d, coneOffset);\\n  }\\n\\n  float nextAngle = (\\n    (segmentIndex > 0.99 &&  segmentIndex < 1.01) ||\\n    (segmentIndex > 4.99 &&  segmentIndex < 5.01)\\n  ) ? 1.0 : 0.0;\\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n  vec3 v2 = v1 - d;\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d)*0.25;\\n  vec3 y = v * sin(angle) * length(d)*0.25;\\n  vec3 v3 = v2 + x + y;\\n  if (segmentIndex < 3.0) {\\n    vec3 tx = u * sin(angle);\\n    vec3 ty = v * -cos(angle);\\n    vec3 tangent = tx + ty;\\n    normal = normalize(cross(v3 - v1, tangent));\\n  }\\n\\n  if (segmentIndex == 0.0) {\\n    return mix(d, vec3(0.0), coneOffset);\\n  }\\n  return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float vectorScale, coneScale, coneOffset;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  vec3 normal;\\n  vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n  gl_Position = projection * view * conePosition;\\n  f_id        = id;\\n  f_position  = position.xyz;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},t.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},1950:function(e){e.exports={0:\"NONE\",1:\"ONE\",2:\"LINE_LOOP\",3:\"LINE_STRIP\",4:\"TRIANGLES\",5:\"TRIANGLE_STRIP\",6:\"TRIANGLE_FAN\",256:\"DEPTH_BUFFER_BIT\",512:\"NEVER\",513:\"LESS\",514:\"EQUAL\",515:\"LEQUAL\",516:\"GREATER\",517:\"NOTEQUAL\",518:\"GEQUAL\",519:\"ALWAYS\",768:\"SRC_COLOR\",769:\"ONE_MINUS_SRC_COLOR\",770:\"SRC_ALPHA\",771:\"ONE_MINUS_SRC_ALPHA\",772:\"DST_ALPHA\",773:\"ONE_MINUS_DST_ALPHA\",774:\"DST_COLOR\",775:\"ONE_MINUS_DST_COLOR\",776:\"SRC_ALPHA_SATURATE\",1024:\"STENCIL_BUFFER_BIT\",1028:\"FRONT\",1029:\"BACK\",1032:\"FRONT_AND_BACK\",1280:\"INVALID_ENUM\",1281:\"INVALID_VALUE\",1282:\"INVALID_OPERATION\",1285:\"OUT_OF_MEMORY\",1286:\"INVALID_FRAMEBUFFER_OPERATION\",2304:\"CW\",2305:\"CCW\",2849:\"LINE_WIDTH\",2884:\"CULL_FACE\",2885:\"CULL_FACE_MODE\",2886:\"FRONT_FACE\",2928:\"DEPTH_RANGE\",2929:\"DEPTH_TEST\",2930:\"DEPTH_WRITEMASK\",2931:\"DEPTH_CLEAR_VALUE\",2932:\"DEPTH_FUNC\",2960:\"STENCIL_TEST\",2961:\"STENCIL_CLEAR_VALUE\",2962:\"STENCIL_FUNC\",2963:\"STENCIL_VALUE_MASK\",2964:\"STENCIL_FAIL\",2965:\"STENCIL_PASS_DEPTH_FAIL\",2966:\"STENCIL_PASS_DEPTH_PASS\",2967:\"STENCIL_REF\",2968:\"STENCIL_WRITEMASK\",2978:\"VIEWPORT\",3024:\"DITHER\",3042:\"BLEND\",3088:\"SCISSOR_BOX\",3089:\"SCISSOR_TEST\",3106:\"COLOR_CLEAR_VALUE\",3107:\"COLOR_WRITEMASK\",3317:\"UNPACK_ALIGNMENT\",3333:\"PACK_ALIGNMENT\",3379:\"MAX_TEXTURE_SIZE\",3386:\"MAX_VIEWPORT_DIMS\",3408:\"SUBPIXEL_BITS\",3410:\"RED_BITS\",3411:\"GREEN_BITS\",3412:\"BLUE_BITS\",3413:\"ALPHA_BITS\",3414:\"DEPTH_BITS\",3415:\"STENCIL_BITS\",3553:\"TEXTURE_2D\",4352:\"DONT_CARE\",4353:\"FASTEST\",4354:\"NICEST\",5120:\"BYTE\",5121:\"UNSIGNED_BYTE\",5122:\"SHORT\",5123:\"UNSIGNED_SHORT\",5124:\"INT\",5125:\"UNSIGNED_INT\",5126:\"FLOAT\",5386:\"INVERT\",5890:\"TEXTURE\",6401:\"STENCIL_INDEX\",6402:\"DEPTH_COMPONENT\",6406:\"ALPHA\",6407:\"RGB\",6408:\"RGBA\",6409:\"LUMINANCE\",6410:\"LUMINANCE_ALPHA\",7680:\"KEEP\",7681:\"REPLACE\",7682:\"INCR\",7683:\"DECR\",7936:\"VENDOR\",7937:\"RENDERER\",7938:\"VERSION\",9728:\"NEAREST\",9729:\"LINEAR\",9984:\"NEAREST_MIPMAP_NEAREST\",9985:\"LINEAR_MIPMAP_NEAREST\",9986:\"NEAREST_MIPMAP_LINEAR\",9987:\"LINEAR_MIPMAP_LINEAR\",10240:\"TEXTURE_MAG_FILTER\",10241:\"TEXTURE_MIN_FILTER\",10242:\"TEXTURE_WRAP_S\",10243:\"TEXTURE_WRAP_T\",10497:\"REPEAT\",10752:\"POLYGON_OFFSET_UNITS\",16384:\"COLOR_BUFFER_BIT\",32769:\"CONSTANT_COLOR\",32770:\"ONE_MINUS_CONSTANT_COLOR\",32771:\"CONSTANT_ALPHA\",32772:\"ONE_MINUS_CONSTANT_ALPHA\",32773:\"BLEND_COLOR\",32774:\"FUNC_ADD\",32777:\"BLEND_EQUATION_RGB\",32778:\"FUNC_SUBTRACT\",32779:\"FUNC_REVERSE_SUBTRACT\",32819:\"UNSIGNED_SHORT_4_4_4_4\",32820:\"UNSIGNED_SHORT_5_5_5_1\",32823:\"POLYGON_OFFSET_FILL\",32824:\"POLYGON_OFFSET_FACTOR\",32854:\"RGBA4\",32855:\"RGB5_A1\",32873:\"TEXTURE_BINDING_2D\",32926:\"SAMPLE_ALPHA_TO_COVERAGE\",32928:\"SAMPLE_COVERAGE\",32936:\"SAMPLE_BUFFERS\",32937:\"SAMPLES\",32938:\"SAMPLE_COVERAGE_VALUE\",32939:\"SAMPLE_COVERAGE_INVERT\",32968:\"BLEND_DST_RGB\",32969:\"BLEND_SRC_RGB\",32970:\"BLEND_DST_ALPHA\",32971:\"BLEND_SRC_ALPHA\",33071:\"CLAMP_TO_EDGE\",33170:\"GENERATE_MIPMAP_HINT\",33189:\"DEPTH_COMPONENT16\",33306:\"DEPTH_STENCIL_ATTACHMENT\",33635:\"UNSIGNED_SHORT_5_6_5\",33648:\"MIRRORED_REPEAT\",33901:\"ALIASED_POINT_SIZE_RANGE\",33902:\"ALIASED_LINE_WIDTH_RANGE\",33984:\"TEXTURE0\",33985:\"TEXTURE1\",33986:\"TEXTURE2\",33987:\"TEXTURE3\",33988:\"TEXTURE4\",33989:\"TEXTURE5\",33990:\"TEXTURE6\",33991:\"TEXTURE7\",33992:\"TEXTURE8\",33993:\"TEXTURE9\",33994:\"TEXTURE10\",33995:\"TEXTURE11\",33996:\"TEXTURE12\",33997:\"TEXTURE13\",33998:\"TEXTURE14\",33999:\"TEXTURE15\",34e3:\"TEXTURE16\",34001:\"TEXTURE17\",34002:\"TEXTURE18\",34003:\"TEXTURE19\",34004:\"TEXTURE20\",34005:\"TEXTURE21\",34006:\"TEXTURE22\",34007:\"TEXTURE23\",34008:\"TEXTURE24\",34009:\"TEXTURE25\",34010:\"TEXTURE26\",34011:\"TEXTURE27\",34012:\"TEXTURE28\",34013:\"TEXTURE29\",34014:\"TEXTURE30\",34015:\"TEXTURE31\",34016:\"ACTIVE_TEXTURE\",34024:\"MAX_RENDERBUFFER_SIZE\",34041:\"DEPTH_STENCIL\",34055:\"INCR_WRAP\",34056:\"DECR_WRAP\",34067:\"TEXTURE_CUBE_MAP\",34068:\"TEXTURE_BINDING_CUBE_MAP\",34069:\"TEXTURE_CUBE_MAP_POSITIVE_X\",34070:\"TEXTURE_CUBE_MAP_NEGATIVE_X\",34071:\"TEXTURE_CUBE_MAP_POSITIVE_Y\",34072:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",34073:\"TEXTURE_CUBE_MAP_POSITIVE_Z\",34074:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",34076:\"MAX_CUBE_MAP_TEXTURE_SIZE\",34338:\"VERTEX_ATTRIB_ARRAY_ENABLED\",34339:\"VERTEX_ATTRIB_ARRAY_SIZE\",34340:\"VERTEX_ATTRIB_ARRAY_STRIDE\",34341:\"VERTEX_ATTRIB_ARRAY_TYPE\",34342:\"CURRENT_VERTEX_ATTRIB\",34373:\"VERTEX_ATTRIB_ARRAY_POINTER\",34466:\"NUM_COMPRESSED_TEXTURE_FORMATS\",34467:\"COMPRESSED_TEXTURE_FORMATS\",34660:\"BUFFER_SIZE\",34661:\"BUFFER_USAGE\",34816:\"STENCIL_BACK_FUNC\",34817:\"STENCIL_BACK_FAIL\",34818:\"STENCIL_BACK_PASS_DEPTH_FAIL\",34819:\"STENCIL_BACK_PASS_DEPTH_PASS\",34877:\"BLEND_EQUATION_ALPHA\",34921:\"MAX_VERTEX_ATTRIBS\",34922:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",34930:\"MAX_TEXTURE_IMAGE_UNITS\",34962:\"ARRAY_BUFFER\",34963:\"ELEMENT_ARRAY_BUFFER\",34964:\"ARRAY_BUFFER_BINDING\",34965:\"ELEMENT_ARRAY_BUFFER_BINDING\",34975:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",35040:\"STREAM_DRAW\",35044:\"STATIC_DRAW\",35048:\"DYNAMIC_DRAW\",35632:\"FRAGMENT_SHADER\",35633:\"VERTEX_SHADER\",35660:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",35661:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",35663:\"SHADER_TYPE\",35664:\"FLOAT_VEC2\",35665:\"FLOAT_VEC3\",35666:\"FLOAT_VEC4\",35667:\"INT_VEC2\",35668:\"INT_VEC3\",35669:\"INT_VEC4\",35670:\"BOOL\",35671:\"BOOL_VEC2\",35672:\"BOOL_VEC3\",35673:\"BOOL_VEC4\",35674:\"FLOAT_MAT2\",35675:\"FLOAT_MAT3\",35676:\"FLOAT_MAT4\",35678:\"SAMPLER_2D\",35680:\"SAMPLER_CUBE\",35712:\"DELETE_STATUS\",35713:\"COMPILE_STATUS\",35714:\"LINK_STATUS\",35715:\"VALIDATE_STATUS\",35716:\"INFO_LOG_LENGTH\",35717:\"ATTACHED_SHADERS\",35718:\"ACTIVE_UNIFORMS\",35719:\"ACTIVE_UNIFORM_MAX_LENGTH\",35720:\"SHADER_SOURCE_LENGTH\",35721:\"ACTIVE_ATTRIBUTES\",35722:\"ACTIVE_ATTRIBUTE_MAX_LENGTH\",35724:\"SHADING_LANGUAGE_VERSION\",35725:\"CURRENT_PROGRAM\",36003:\"STENCIL_BACK_REF\",36004:\"STENCIL_BACK_VALUE_MASK\",36005:\"STENCIL_BACK_WRITEMASK\",36006:\"FRAMEBUFFER_BINDING\",36007:\"RENDERBUFFER_BINDING\",36048:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",36049:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",36050:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",36051:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",36053:\"FRAMEBUFFER_COMPLETE\",36054:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",36055:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",36057:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",36061:\"FRAMEBUFFER_UNSUPPORTED\",36064:\"COLOR_ATTACHMENT0\",36096:\"DEPTH_ATTACHMENT\",36128:\"STENCIL_ATTACHMENT\",36160:\"FRAMEBUFFER\",36161:\"RENDERBUFFER\",36162:\"RENDERBUFFER_WIDTH\",36163:\"RENDERBUFFER_HEIGHT\",36164:\"RENDERBUFFER_INTERNAL_FORMAT\",36168:\"STENCIL_INDEX8\",36176:\"RENDERBUFFER_RED_SIZE\",36177:\"RENDERBUFFER_GREEN_SIZE\",36178:\"RENDERBUFFER_BLUE_SIZE\",36179:\"RENDERBUFFER_ALPHA_SIZE\",36180:\"RENDERBUFFER_DEPTH_SIZE\",36181:\"RENDERBUFFER_STENCIL_SIZE\",36194:\"RGB565\",36336:\"LOW_FLOAT\",36337:\"MEDIUM_FLOAT\",36338:\"HIGH_FLOAT\",36339:\"LOW_INT\",36340:\"MEDIUM_INT\",36341:\"HIGH_INT\",36346:\"SHADER_COMPILER\",36347:\"MAX_VERTEX_UNIFORM_VECTORS\",36348:\"MAX_VARYING_VECTORS\",36349:\"MAX_FRAGMENT_UNIFORM_VECTORS\",37440:\"UNPACK_FLIP_Y_WEBGL\",37441:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",37442:\"CONTEXT_LOST_WEBGL\",37443:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",37444:\"BROWSER_DEFAULT_WEBGL\"}},6603:function(e,t,r){var n=r(1950);e.exports=function(e){return n[e]}},3110:function(e,t,r){\"use strict\";e.exports=function(e){var t=e.gl,r=n(t),o=i(t,[{buffer:r,type:t.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:t.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:t.FLOAT,size:3,offset:28,stride:40}]),l=a(t);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var u=new s(t,r,o,l);return u.update(e),u};var n=r(5827),i=r(2944),a=r(7667),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(e,t,r,n){this.gl=e,this.shader=n,this.buffer=t,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function u(e,t){for(var r=0;r<3;++r)e[0][r]=Math.min(e[0][r],t[r]),e[1][r]=Math.max(e[1][r],t[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(e){var t=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=e.view||o,i=r.projection=e.projection||o;r.model=e.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],u=n[15],c=(e._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*u)/t.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)t.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*c,this.lineCount[f]&&t.drawArrays(t.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var c=function(){for(var e=new Array(3),t=0;t<3;++t){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+t)%3]=i,r.push(a)}e[t]=r}return e}();function f(e,t,r,n){for(var i=c[n],a=0;a<i.length;++a){var o=i[a];e.push(t[0],t[1],t[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}l.update=function(e){\"lineWidth\"in(e=e||{})&&(this.lineWidth=e.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),\"capSize\"in e&&(this.capSize=e.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,\"opacity\"in e&&(this.opacity=+e.opacity,this.opacity<1&&(this.hasAlpha=!0));var t=e.color||[[0,0,0],[0,0,0],[0,0,0]],r=e.position,n=e.error;if(Array.isArray(t[0])||(t=[t,t,t]),r&&n){var i=[],a=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;e:for(var l=0;l<a;++l){for(var c=r[l],h=0;h<3;++h)if(isNaN(c[h])||!isFinite(c[h]))continue e;var p,d=n[l],v=t[s];Array.isArray(v[0])&&(v=t[l]),3===v.length?v=[v[0],v[1],v[2],1]:4===v.length&&(v=[v[0],v[1],v[2],v[3]],!this.hasAlpha&&v[3]<1&&(this.hasAlpha=!0)),isNaN(d[0][s])||isNaN(d[1][s])||(d[0][s]<0&&((p=c.slice())[s]+=d[0][s],i.push(c[0],c[1],c[2],v[0],v[1],v[2],v[3],0,0,0,p[0],p[1],p[2],v[0],v[1],v[2],v[3],0,0,0),u(this.bounds,p),o+=2+f(i,p,v,s)),d[1][s]>0&&((p=c.slice())[s]+=d[1][s],i.push(c[0],c[1],c[2],v[0],v[1],v[2],v[3],0,0,0,p[0],p[1],p[2],v[0],v[1],v[2],v[3],0,0,0),u(this.bounds,p),o+=2+f(i,p,v,s)))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},7667:function(e,t,r){\"use strict\";var n=r(6832),i=r(5158),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, offset;\\nattribute vec4 color;\\nuniform mat4 model, view, projection;\\nuniform float capSize;\\nvarying vec4 fragColor;\\nvarying vec3 fragPosition;\\n\\nvoid main() {\\n  vec4 worldPosition  = model * vec4(position, 1.0);\\n  worldPosition       = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\\n  gl_Position         = projection * view * worldPosition;\\n  fragColor           = color;\\n  fragPosition        = position;\\n}\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float opacity;\\nvarying vec3 fragPosition;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  if (\\n    outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\\n    fragColor.a * opacity == 0.\\n  ) discard;\\n\\n  gl_FragColor = opacity * fragColor;\\n}\"]);e.exports=function(e){return i(e,a,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},4234:function(e,t,r){\"use strict\";var n=r(8931);e.exports=function(e,t,r,n){i||(i=e.FRAMEBUFFER_UNSUPPORTED,a=e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var u=e.getExtension(\"WEBGL_draw_buffers\");if(!l&&u&&function(e,t){var r=e.getParameter(t.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;a<n;++a)i[a]=e.COLOR_ATTACHMENT0+a;for(a=n;a<r;++a)i[a]=e.NONE;l[n]=i}}(e,u),Array.isArray(t)&&(n=r,r=0|t[1],t=0|t[0]),\"number\"!=typeof t)throw new Error(\"gl-fbo: Missing shape parameter\");var c=e.getParameter(e.MAX_RENDERBUFFER_SIZE);if(t<0||t>c||r<0||r>c)throw new Error(\"gl-fbo: Parameters are too large for FBO\");var f=1;if(\"color\"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(f>1){if(!u)throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\");if(f>e.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+f+\" draw buffers\")}}var h=e.UNSIGNED_BYTE,p=e.getExtension(\"OES_texture_float\");if(n.float&&f>0){if(!p)throw new Error(\"gl-fbo: Context does not support floating point textures\");h=e.FLOAT}else n.preferFloat&&f>0&&p&&(h=e.FLOAT);var v=!0;\"depth\"in n&&(v=!!n.depth);var g=!1;return\"stencil\"in n&&(g=!!n.stencil),new d(e,t,r,h,f,v,g,u)};var i,a,o,s,l=null;function u(e){return[e.getParameter(e.FRAMEBUFFER_BINDING),e.getParameter(e.RENDERBUFFER_BINDING),e.getParameter(e.TEXTURE_BINDING_2D)]}function c(e,t){e.bindFramebuffer(e.FRAMEBUFFER,t[0]),e.bindRenderbuffer(e.RENDERBUFFER,t[1]),e.bindTexture(e.TEXTURE_2D,t[2])}function f(e){switch(e){case i:throw new Error(\"gl-fbo: Framebuffer unsupported\");case a:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case o:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case s:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function h(e,t,r,i,a,o){if(!i)return null;var s=n(e,t,r,a,i);return s.magFilter=e.NEAREST,s.minFilter=e.NEAREST,s.mipSamples=1,s.bind(),e.framebufferTexture2D(e.FRAMEBUFFER,o,e.TEXTURE_2D,s.handle,0),s}function p(e,t,r,n,i){var a=e.createRenderbuffer();return e.bindRenderbuffer(e.RENDERBUFFER,a),e.renderbufferStorage(e.RENDERBUFFER,n,t,r),e.framebufferRenderbuffer(e.FRAMEBUFFER,i,e.RENDERBUFFER,a),a}function d(e,t,r,n,i,a,o,s){this.gl=e,this._shape=[0|t,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d<i;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var v=this,g=[0|t,0|r];Object.defineProperties(g,{0:{get:function(){return v._shape[0]},set:function(e){return v.width=e}},1:{get:function(){return v._shape[1]},set:function(e){return v.height=e}}}),this._shapeVector=g,function(e){var t=u(e.gl),r=e.gl,n=e.handle=r.createFramebuffer(),i=e._shape[0],a=e._shape[1],o=e.color.length,s=e._ext,d=e._useStencil,v=e._useDepth,g=e._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var m=0;m<o;++m)e.color[m]=h(r,i,a,g,r.RGBA,r.COLOR_ATTACHMENT0+m);0===o?(e._color_rb=p(r,i,a,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(l[0])):o>1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension(\"WEBGL_depth_texture\");y?d?e.depth=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v&&(e.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):v&&d?e._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v?e._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(e._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(e._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(e.handle),e.handle=null,e.depth&&(e.depth.dispose(),e.depth=null),e._depth_rb&&(r.deleteRenderbuffer(e._depth_rb),e._depth_rb=null),m=0;m<e.color.length;++m)e.color[m].dispose(),e.color[m]=null;e._color_rb&&(r.deleteRenderbuffer(e._color_rb),e._color_rb=null),c(r,t),f(x)}c(r,t)}(this)}var v=d.prototype;function g(e,t,r){if(e._destroyed)throw new Error(\"gl-fbo: Can't resize destroyed FBO\");if(e._shape[0]!==t||e._shape[1]!==r){var n=e.gl,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(t<0||t>i||r<0||r>i)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");e._shape[0]=t,e._shape[1]=r;for(var a=u(n),o=0;o<e.color.length;++o)e.color[o].shape=e._shape;e._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,e._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,e._shape[0],e._shape[1])),e.depth&&(e.depth.shape=e._shape),e._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,e._depth_rb),e._useDepth&&e._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,e._shape[0],e._shape[1]):e._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,e._shape[0],e._shape[1]):e._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,e._shape[0],e._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,e.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(e.dispose(),c(n,a),f(s)),c(n,a)}}Object.defineProperties(v,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(e){if(Array.isArray(e)||(e=[0|e,0|e]),2!==e.length)throw new Error(\"gl-fbo: Shape vector must be length 2\");var t=0|e[0],r=0|e[1];return g(this,t,r),[t,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(e){return g(this,e|=0,this._shape[1]),e},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(e){return e|=0,g(this,this._shape[0],e),e},enumerable:!1}}),v.bind=function(){if(!this._destroyed){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,this.handle),e.viewport(0,0,this._shape[0],this._shape[1])}},v.dispose=function(){if(!this._destroyed){this._destroyed=!0;var e=this.gl;e.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(e.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var t=0;t<this.color.length;++t)this.color[t].dispose(),this.color[t]=null;this._color_rb&&(e.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},3530:function(e,t,r){var n=r(8974).sprintf,i=r(6603),a=r(9365),o=r(8008);e.exports=function(e,t,r){\"use strict\";var s=a(t)||\"of unknown name (see npm glsl-shader-name)\",l=\"unknown type\";void 0!==r&&(l=r===i.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var u=n(\"Error compiling %s shader %s:\\n\",l,s),c=n(\"%s%s\",u,e),f=e.split(\"\\n\"),h={},p=0;p<f.length;p++){var d=f[p];if(\"\"!==d&&\"\\0\"!==d){var v=parseInt(d.split(\":\")[2]);if(isNaN(v))throw new Error(n(\"Could not parse error: %s\",d));h[v]=d}}var g=o(t).split(\"\\n\");for(p=0;p<g.length;p++)if((h[p+3]||h[p+2]||h[p+1])&&(u+=g[p]+\"\\n\",h[p+1])){var m=h[p+1];m=m.substr(m.split(\":\",3).join(\":\").length+1).trim(),u+=n(\"^^^ %s\\n\\n\",m)}return{long:u.trim(),short:c.trim()}}},6386:function(e,t,r){\"use strict\";e.exports=function(e,t){var r=e.gl,n=new u(e,o(r,l.vertex,l.fragment),o(r,l.pickVertex,l.pickFragment),s(r),s(r),s(r),s(r));return n.update(t),e.addObject(n),n};var n=r(5070),i=r(9560),a=r(5306),o=r(5158),s=r(5827),l=r(1292);function u(e,t,r,n,i,a,o){this.plot=e,this.shader=t,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}var c,f=u.prototype,h=[0,0,1,0,0,1,1,0,1,1,0,1];f.draw=(c=[1,0,0,0,1,0,0,0,1],function(){var e=this.plot,t=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var i=e.gl,a=e.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],u=a[3]-a[1];c[0]=2*o/l,c[4]=2*s/u,c[6]=2*(r[0]-a[0])/l-1,c[7]=2*(r[1]-a[1])/u-1,t.bind();var f=t.uniforms;f.viewTransform=c,f.shape=this.shape;var h=t.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),f.drawPick=function(){var e=[1,0,0,0,1,0,0,0,1],t=[0,0,0,0];return function(r){var n=this.plot,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,u=a[2]-a[0],c=a[3]-a[1],f=l[2]-l[0],h=l[3]-l[1];e[0]=2*u/f,e[4]=2*c/h,e[6]=2*(a[0]-l[0])/f-1,e[7]=2*(a[1]-l[1])/h-1;for(var p=0;p<4;++p)t[p]=r>>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=e,d.pickOffset=t,d.shape=this.shape;var v=i.attributes;return this.positionBuffer.bind(),v.position.pointer(),this.weightBuffer.bind(),v.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),v.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(e,t,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(e){var t=(e=e||{}).shape||[0,0],r=e.x||i(t[0]),o=e.y||i(t[1]),s=e.z||new Float32Array(t[0]*t[1]),l=!1!==e.zsmooth;this.xData=r,this.yData=o;var u,c,f,p,d=e.colorLevels||[0],v=e.colorValues||[0,0,0,1],g=d.length,m=this.bounds;l?(u=m[0]=r[0],c=m[1]=o[0],f=m[2]=r[r.length-1],p=m[3]=o[o.length-1]):(u=m[0]=r[0]+(r[1]-r[0])/2,c=m[1]=o[0]+(o[1]-o[0])/2,f=m[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=m[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var y=1/(f-u),x=1/(p-c),b=t[0],_=t[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var k=a.mallocUint8(4*w),T=a.mallocFloat32(2*w),M=a.mallocUint8(2*w),A=a.mallocUint32(w),S=0,E=l?b-1:b,C=l?_-1:_,L=0;L<C;++L){var P,O;l?(P=x*(o[L]-c),O=x*(o[L+1]-c)):(P=L<_-1?x*(o[L]-(o[L+1]-o[L])/2-c):x*(o[L]-(o[L]-o[L-1])/2-c),O=L<_-1?x*(o[L]+(o[L+1]-o[L])/2-c):x*(o[L]+(o[L]-o[L-1])/2-c));for(var I=0;I<E;++I){var D,z;l?(D=y*(r[I]-u),z=y*(r[I+1]-u)):(D=I<b-1?y*(r[I]-(r[I+1]-r[I])/2-u):y*(r[I]-(r[I]-r[I-1])/2-u),z=I<b-1?y*(r[I]+(r[I+1]-r[I])/2-u):y*(r[I]+(r[I]-r[I-1])/2-u));for(var R=0;R<h.length;R+=2){var F,B,N,j,U=h[R],V=h[R+1],H=s[l?(L+V)*b+(I+U):L*b+I],q=n.le(d,H);if(q<0)F=v[0],B=v[1],N=v[2],j=v[3];else if(q===g-1)F=v[4*g-4],B=v[4*g-3],N=v[4*g-2],j=v[4*g-1];else{var G=(H-d[q])/(d[q+1]-d[q]),Y=1-G,W=4*q,Z=4*(q+1);F=Y*v[W]+G*v[Z],B=Y*v[W+1]+G*v[Z+1],N=Y*v[W+2]+G*v[Z+2],j=Y*v[W+3]+G*v[Z+3]}k[4*S]=255*F,k[4*S+1]=255*B,k[4*S+2]=255*N,k[4*S+3]=255*j,T[2*S]=.5*D+.5*z,T[2*S+1]=.5*P+.5*O,M[2*S]=U,M[2*S+1]=V,A[S]=L*b+I,S+=1}}}this.positionBuffer.update(T),this.weightBuffer.update(M),this.colorBuffer.update(k),this.idBuffer.update(A),a.free(T),a.free(k),a.free(M),a.free(A)},f.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},1292:function(e,t,r){\"use strict\";var n=r(6832);e.exports={fragment:n([\"precision lowp float;\\n#define GLSLIFY 1\\nvarying vec4 fragColor;\\nvoid main() {\\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\\n}\\n\"]),vertex:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 color;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n  fragColor = color;\\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"]),pickFragment:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nuniform vec2 shape;\\nuniform vec4 pickOffset;\\n\\nvoid main() {\\n  vec2 d = step(.5, vWeight);\\n  vec4 id = fragId + pickOffset;\\n  id.x += d.x + d.y*shape.x;\\n\\n  id.y += floor(id.x / 256.0);\\n  id.x -= floor(id.x / 256.0) * 256.0;\\n\\n  id.z += floor(id.y / 256.0);\\n  id.y -= floor(id.y / 256.0) * 256.0;\\n\\n  id.w += floor(id.z / 256.0);\\n  id.z -= floor(id.z / 256.0) * 256.0;\\n\\n  gl_FragColor = id/255.;\\n}\\n\"]),pickVertex:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nvoid main() {\\n  vWeight = weight;\\n\\n  fragId = pickId;\\n\\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"])}},248:function(e,t,r){var n=r(6832),i=r(5158),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, nextPosition;\\nattribute float arcLength, lineWidth;\\nattribute vec4 color;\\n\\nuniform vec2 screenShape;\\nuniform float pixelRatio;\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 fragColor;\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\n\\nvec4 project(vec3 p) {\\n  return projection * view * model * vec4(p, 1.0);\\n}\\n\\nvoid main() {\\n  vec4 startPoint = project(position);\\n  vec4 endPoint   = project(nextPosition);\\n\\n  vec2 A = startPoint.xy / startPoint.w;\\n  vec2 B =   endPoint.xy /   endPoint.w;\\n\\n  float clipAngle = atan(\\n    (B.y - A.y) * screenShape.y,\\n    (B.x - A.x) * screenShape.x\\n  );\\n\\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\\n    sin(clipAngle),\\n    -cos(clipAngle)\\n  ) / screenShape;\\n\\n  gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\\n\\n  worldPosition = position;\\n  pixelArcLength = arcLength;\\n  fragColor = color;\\n}\\n\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3      clipBounds[2];\\nuniform sampler2D dashTexture;\\nuniform float     dashScale;\\nuniform float     opacity;\\n\\nvarying vec3    worldPosition;\\nvarying float   pixelArcLength;\\nvarying vec4    fragColor;\\n\\nvoid main() {\\n  if (\\n    outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\\n    fragColor.a * opacity == 0.\\n  ) discard;\\n\\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\\n  if(dashWeight < 0.5) {\\n    discard;\\n  }\\n  gl_FragColor = fragColor * opacity;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\n#define FLOAT_MAX  1.70141184e38\\n#define FLOAT_MIN  1.17549435e-38\\n\\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\\nvec4 packFloat(float v) {\\n  float av = abs(v);\\n\\n  //Handle special cases\\n  if(av < FLOAT_MIN) {\\n    return vec4(0.0, 0.0, 0.0, 0.0);\\n  } else if(v > FLOAT_MAX) {\\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\\n  } else if(v < -FLOAT_MAX) {\\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\\n  }\\n\\n  vec4 c = vec4(0,0,0,0);\\n\\n  //Compute exponent and mantissa\\n  float e = floor(log2(av));\\n  float m = av * pow(2.0, -e) - 1.0;\\n\\n  //Unpack mantissa\\n  c[1] = floor(128.0 * m);\\n  m -= c[1] / 128.0;\\n  c[2] = floor(32768.0 * m);\\n  m -= c[2] / 32768.0;\\n  c[3] = floor(8388608.0 * m);\\n\\n  //Unpack exponent\\n  float ebias = e + 127.0;\\n  c[0] = floor(ebias / 2.0);\\n  ebias -= c[0] * 2.0;\\n  c[1] += floor(ebias) * 128.0;\\n\\n  //Unpack sign bit\\n  c[0] += 128.0 * step(0.0, -v);\\n\\n  //Scale back to range\\n  return c / 255.0;\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform float pickId;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\\n\\n  gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\\n}\"]),l=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];t.createShader=function(e){return i(e,a,o,null,l)},t.createPickShader=function(e){return i(e,a,s,null,l)}},6086:function(e,t,r){\"use strict\";e.exports=function(e){var t=e.gl||e.scene&&e.scene.gl,r=f(t);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(t);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(t),l=i(t,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),c=u(new Array(1024),[256,1,4]),p=0;p<1024;++p)c.data[p]=255;var d=a(t,c);d.wrap=t.REPEAT;var v=new m(t,r,o,s,l,d);return v.update(e),v};var n=r(5827),i=r(2944),a=r(8931),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(5070),u=r(5050),c=r(248),f=c.createShader,h=c.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(e,t){for(var r=0,n=0;n<3;++n){var i=e[n]-t[n];r+=i*i}return Math.sqrt(r)}function v(e){for(var t=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)t[0][r]=Math.max(e[0][r],t[0][r]),t[1][r]=Math.min(e[1][r],t[1][r]);return t}function g(e,t,r,n){this.arcLength=e,this.position=t,this.index=r,this.dataCoordinate=n}function m(e,t,r,n,i,a){this.gl=e,this.shader=t,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var y=m.prototype;y.isTransparent=function(){return this.hasAlpha},y.isOpaque=function(){return!this.hasAlpha},y.pickSlots=1,y.setPickBase=function(e){this.pickId=e},y.drawTransparent=y.draw=function(e){if(this.vertexCount){var t=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:e.model||p,view:e.view||p,projection:e.projection||p,clipBounds:v(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[t.drawingBufferWidth,t.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(t.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.drawPick=function(e){if(this.vertexCount){var t=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:e.model||p,view:e.view||p,projection:e.projection||p,pickId:this.pickId,clipBounds:v(this.clipBounds),screenShape:[t.drawingBufferWidth,t.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(t.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.update=function(e){var t,r;this.dirty=!0;var n=!!e.connectGaps;\"dashScale\"in e&&(this.dashScale=e.dashScale),this.hasAlpha=!1,\"opacity\"in e&&(this.opacity=+e.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,c=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=e.position||e.positions;if(h){var p=e.color||e.colors||[0,0,0,1],v=e.lineWidth||1,g=!1;e:for(t=1;t<h.length;++t){var m,y,x,b=h[t-1],_=h[t];for(a.push(s),o.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&i.length>0){for(var w=0;w<24;++w)i.push(i[i.length-12]);c+=2,g=!0}continue e}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(m=p.length>t-1?p[t-1]:p.length>0?p[p.length-1]:[0,0,0,1],y=p.length>t?p[t]:p.length>0?p[p.length-1]:[0,0,0,1]):m=y=p,3===m.length&&(m=[m[0],m[1],m[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&m[3]<1&&(this.hasAlpha=!0),x=Array.isArray(v)?v.length>t-1?v[t-1]:v.length>0?v[v.length-1]:[0,0,0,1]:v;var k=s;if(s+=d(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,m[0],m[1],m[2],m[3]);c+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,m[0],m[1],m[2],m[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,y[0],y[1],y[2],y[3]),c+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=c,this.points=o,this.arcLength=a,\"dashes\"in e){var T=e.dashes.slice();for(T.unshift(0),t=1;t<T.length;++t)T[t]=T[t-1]+T[t];var M=u(new Array(1024),[256,1,4]);for(t=0;t<256;++t){for(r=0;r<4;++r)M.set(t,0,r,0);1&l.le(T,T[T.length-1]*t/255)?M.set(t,0,0,0):M.set(t,0,0,255)}this.texture.setPixels(M)}},y.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},y.pick=function(e){if(!e)return null;if(e.id!==this.pickId)return null;var t=function(e,t,r,n){return o[0]=0,o[1]=r,o[2]=t,o[3]=e,s[0]}(e.value[0],e.value[1],e.value[2]),r=l.le(this.arcLength,t);if(r<0)return null;if(r===this.arcLength.length-1)return new g(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],a=(t-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),u=1-a,c=[0,0,0],f=0;f<3;++f)c[f]=u*n[f]+a*i[f];var h=Math.min(a<.5?r:r+1,this.points.length-1);return new g(t,c,h,this.points[h])}},7332:function(e){e.exports=function(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},9823:function(e){e.exports=function(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},7787:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11],p=e[12],d=e[13],v=e[14],g=e[15];return(t*o-r*a)*(f*g-h*v)-(t*s-n*a)*(c*g-h*d)+(t*l-i*a)*(c*v-f*d)+(r*s-n*o)*(u*g-h*p)-(r*l-i*o)*(u*v-f*p)+(n*l-i*s)*(u*d-c*p)}},5950:function(e){e.exports=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,p=i*s,d=i*l,v=a*o,g=a*s,m=a*l;return e[0]=1-f-d,e[1]=c+m,e[2]=h-g,e[3]=0,e[4]=c-m,e[5]=1-u-d,e[6]=p+v,e[7]=0,e[8]=h+g,e[9]=p-v,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},7280:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,p=i*l,d=i*u,v=a*u,g=o*s,m=o*l,y=o*u;return e[0]=1-(p+v),e[1]=f+y,e[2]=h-m,e[3]=0,e[4]=f-y,e[5]=1-(c+v),e[6]=d+g,e[7]=0,e[8]=h+m,e[9]=d-g,e[10]=1-(c+p),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}},9947:function(e){e.exports=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},7437:function(e){e.exports=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],p=t[11],d=t[12],v=t[13],g=t[14],m=t[15],y=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,k=i*u-a*l,T=c*v-f*d,M=c*g-h*d,A=c*m-p*d,S=f*g-h*v,E=f*m-p*v,C=h*m-p*g,L=y*C-x*E+b*S+_*A-w*M+k*T;return L?(L=1/L,e[0]=(s*C-l*E+u*S)*L,e[1]=(i*E-n*C-a*S)*L,e[2]=(v*k-g*w+m*_)*L,e[3]=(h*w-f*k-p*_)*L,e[4]=(l*A-o*C-u*M)*L,e[5]=(r*C-i*A+a*M)*L,e[6]=(g*b-d*k-m*x)*L,e[7]=(c*k-h*b+p*x)*L,e[8]=(o*E-s*A+u*T)*L,e[9]=(n*A-r*E-a*T)*L,e[10]=(d*w-v*b+m*y)*L,e[11]=(f*b-c*w-p*y)*L,e[12]=(s*M-o*S-l*T)*L,e[13]=(r*S-n*M+i*T)*L,e[14]=(v*x-d*_-g*y)*L,e[15]=(c*_-f*x+h*y)*L,e):null}},3012:function(e,t,r){var n=r(9947);e.exports=function(e,t,r,i){var a,o,s,l,u,c,f,h,p,d,v=t[0],g=t[1],m=t[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],k=r[2];return Math.abs(v-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(m-k)<1e-6?n(e):(f=v-_,h=g-w,p=m-k,a=x*(p*=d=1/Math.sqrt(f*f+h*h+p*p))-b*(h*=d),o=b*(f*=d)-y*p,s=y*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=h*s-p*o,u=p*a-f*s,c=f*o-h*a,(d=Math.sqrt(l*l+u*u+c*c))?(l*=d=1/d,u*=d,c*=d):(l=0,u=0,c=0),e[0]=a,e[1]=l,e[2]=f,e[3]=0,e[4]=o,e[5]=u,e[6]=h,e[7]=0,e[8]=s,e[9]=c,e[10]=p,e[11]=0,e[12]=-(a*v+o*g+s*m),e[13]=-(l*v+u*g+c*m),e[14]=-(f*v+h*g+p*m),e[15]=1,e)}},104:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],p=t[10],d=t[11],v=t[12],g=t[13],m=t[14],y=t[15],x=r[0],b=r[1],_=r[2],w=r[3];return e[0]=x*n+b*s+_*f+w*v,e[1]=x*i+b*l+_*h+w*g,e[2]=x*a+b*u+_*p+w*m,e[3]=x*o+b*c+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],e[4]=x*n+b*s+_*f+w*v,e[5]=x*i+b*l+_*h+w*g,e[6]=x*a+b*u+_*p+w*m,e[7]=x*o+b*c+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],e[8]=x*n+b*s+_*f+w*v,e[9]=x*i+b*l+_*h+w*g,e[10]=x*a+b*u+_*p+w*m,e[11]=x*o+b*c+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],e[12]=x*n+b*s+_*f+w*v,e[13]=x*i+b*l+_*h+w*g,e[14]=x*a+b*u+_*p+w*m,e[15]=x*o+b*c+_*d+w*y,e}},5268:function(e){e.exports=function(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),u=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*u,e[15]=1,e}},1120:function(e){e.exports=function(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}},4422:function(e){e.exports=function(e,t,r,n){var i,a,o,s,l,u,c,f,h,p,d,v,g,m,y,x,b,_,w,k,T,M,A,S,E=n[0],C=n[1],L=n[2],P=Math.sqrt(E*E+C*C+L*L);return Math.abs(P)<1e-6?null:(E*=P=1/P,C*=P,L*=P,i=Math.sin(r),o=1-(a=Math.cos(r)),s=t[0],l=t[1],u=t[2],c=t[3],f=t[4],h=t[5],p=t[6],d=t[7],v=t[8],g=t[9],m=t[10],y=t[11],x=E*E*o+a,b=C*E*o+L*i,_=L*E*o-C*i,w=E*C*o-L*i,k=C*C*o+a,T=L*C*o+E*i,M=E*L*o+C*i,A=C*L*o-E*i,S=L*L*o+a,e[0]=s*x+f*b+v*_,e[1]=l*x+h*b+g*_,e[2]=u*x+p*b+m*_,e[3]=c*x+d*b+y*_,e[4]=s*w+f*k+v*T,e[5]=l*w+h*k+g*T,e[6]=u*w+p*k+m*T,e[7]=c*w+d*k+y*T,e[8]=s*M+f*A+v*S,e[9]=l*M+h*A+g*S,e[10]=u*M+p*A+m*S,e[11]=c*M+d*A+y*S,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}},6109:function(e){e.exports=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+u*n,e[5]=o*i+c*n,e[6]=s*i+f*n,e[7]=l*i+h*n,e[8]=u*i-a*n,e[9]=c*i-o*n,e[10]=f*i-s*n,e[11]=h*i-l*n,e}},7115:function(e){e.exports=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-u*n,e[1]=o*i-c*n,e[2]=s*i-f*n,e[3]=l*i-h*n,e[8]=a*n+u*i,e[9]=o*n+c*i,e[10]=s*n+f*i,e[11]=l*n+h*i,e}},5240:function(e){e.exports=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+u*n,e[1]=o*i+c*n,e[2]=s*i+f*n,e[3]=l*i+h*n,e[4]=u*i-a*n,e[5]=c*i-o*n,e[6]=f*i-s*n,e[7]=h*i-l*n,e}},3668:function(e){e.exports=function(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},998:function(e){e.exports=function(e,t,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],m=r[2];return t===e?(e[12]=t[0]*v+t[4]*g+t[8]*m+t[12],e[13]=t[1]*v+t[5]*g+t[9]*m+t[13],e[14]=t[2]*v+t[6]*g+t[10]*m+t[14],e[15]=t[3]*v+t[7]*g+t[11]*m+t[15]):(n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],p=t[10],d=t[11],e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=l,e[6]=u,e[7]=c,e[8]=f,e[9]=h,e[10]=p,e[11]=d,e[12]=n*v+s*g+f*m+t[12],e[13]=i*v+l*g+h*m+t[13],e[14]=a*v+u*g+p*m+t[14],e[15]=o*v+c*g+d*m+t[15]),e}},2142:function(e){e.exports=function(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}},4340:function(e,t,r){\"use strict\";var n=r(957),i=r(7309);function a(e,t){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=e[4*n+i]*t[n];return r}function o(e,t,r,n,i){for(var o=a(n,a(r,a(t,[e[0],e[1],e[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*i[0]*(1+o[0]),.5*i[1]*(1-o[1])]}function s(e,t){for(var r=[0,0,0],n=0;n<e.length;++n)for(var i=e[n],a=t[n],o=0;o<3;++o)r[o]+=a*i[o];return r}e.exports=function(e,t,r,a,l,u){if(1===e.length)return[0,e[0].slice()];for(var c=new Array(e.length),f=0;f<e.length;++f)c[f]=o(e[f],r,a,l,u);var h=0,p=1/0;for(f=0;f<c.length;++f){for(var d=0,v=0;v<2;++v)d+=Math.pow(c[f][v]-t[v],2);d<p&&(p=d,h=f)}var g=function(e,t){if(2===e.length){for(var r=0,a=0,o=0;o<2;++o)r+=Math.pow(t[o]-e[0][o],2),a+=Math.pow(t[o]-e[1][o],2);return(r=Math.sqrt(r))+(a=Math.sqrt(a))<1e-6?[1,0]:[a/(r+a),r/(a+r)]}if(3===e.length){var s=[0,0];return i(e[0],e[1],e[2],t,s),n(e,s)}return[]}(c,t),m=0;for(f=0;f<3;++f){if(g[f]<-.001||g[f]>1.0001)return null;m+=g[f]}return Math.abs(m-1)>.001?null:[h,s(e,g),g]}},2056:function(e,t,r){var n=r(6832),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, normal;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model\\n           , view\\n           , projection\\n           , inverseModel;\\nuniform vec3 eyePosition\\n           , lightPosition;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvec4 project(vec3 p) {\\n  return projection * view * model * vec4(p, 1.0);\\n}\\n\\nvoid main() {\\n  gl_Position      = project(position);\\n\\n  //Lighting geometry parameters\\n  vec4 cameraCoordinate = view * vec4(position , 1.0);\\n  cameraCoordinate.xyz /= cameraCoordinate.w;\\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\\n  f_normal  = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n  f_color          = color;\\n  f_data           = position;\\n  f_uv             = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n            , fresnel\\n            , kambient\\n            , kdiffuse\\n            , kspecular;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if (f_color.a == 0.0 ||\\n    outOfRange(clipBounds[0], clipBounds[1], f_data)\\n  ) discard;\\n\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n\\n  if(gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n  //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\\n\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * f_color.a;\\n}\\n\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n  f_color = color;\\n  f_data  = position;\\n  f_uv    = uv;\\n}\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\\n\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),l=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\nattribute float pointSize;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n    gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\\n  } else {\\n    gl_Position = projection * view * model * vec4(position, 1.0);\\n  }\\n  gl_PointSize = pointSize;\\n  f_color = color;\\n  f_uv = uv;\\n}\"]),u=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\\n  if(dot(pointR, pointR) > 0.25) {\\n    discard;\\n  }\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),c=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n  f_id        = id;\\n  f_position  = position;\\n}\"]),f=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]),h=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3  position;\\nattribute float pointSize;\\nattribute vec4  id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n    gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\\n  } else {\\n    gl_Position  = projection * view * model * vec4(position, 1.0);\\n    gl_PointSize = pointSize;\\n  }\\n  f_id         = id;\\n  f_position   = position;\\n}\"]),p=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n}\"]),d=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n  gl_FragColor = vec4(contourColor, 1.0);\\n}\\n\"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},t.wireShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},t.pointShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},t.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},t.pointPickShader={vertex:h,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},t.contourShader={vertex:p,fragment:d,attributes:[{name:\"position\",type:\"vec3\"}]}},8116:function(e,t,r){\"use strict\";var n=r(5158),i=r(5827),a=r(2944),o=r(8931),s=r(115),l=r(104),u=r(7437),c=r(5050),f=r(9156),h=r(7212),p=r(5306),d=r(2056),v=r(4340),g=d.meshShader,m=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(e,t,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,m,y,x,b,_,k,T,M,A,S){this.gl=e,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=t,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=u,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=m,this.edgeIds=v,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=k,this.pointSizes=T,this.pointIds=b,this.pointVAO=M,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=A,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var T=k.prototype;function M(e,t){if(!t)return 1;if(!t.length)return 1;for(var r=0;r<t.length;++r){if(t.length<2)return 1;if(t[r][0]===e)return t[r][1];if(t[r][0]>e&&r>0){var n=(t[r][0]-e)/(t[r][0]-t[r-1][0]);return t[r][1]*(1-n)+n*t[r-1][1]}}return 1}function A(e){var t=n(e,y.vertex,y.fragment);return t.attributes.position.location=0,t.attributes.color.location=2,t.attributes.uv.location=3,t.attributes.pointSize.location=4,t}function S(e){var t=n(e,x.vertex,x.fragment);return t.attributes.position.location=0,t.attributes.id.location=1,t}function E(e){var t=n(e,b.vertex,b.fragment);return t.attributes.position.location=0,t.attributes.id.location=1,t.attributes.pointSize.location=4,t}function C(e){var t=n(e,_.vertex,_.fragment);return t.attributes.position.location=0,t}T.isOpaque=function(){return!this.hasAlpha},T.isTransparent=function(){return this.hasAlpha},T.pickSlots=1,T.setPickBase=function(e){this.pickId=e},T.highlight=function(e){if(e&&this.contourEnable){for(var t=h(this.cells,this.intensity,e.intensity),r=t.cells,n=t.vertexIds,i=t.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var u=r[l],c=0;c<2;++c){var f=u[0];2===u.length&&(f=u[c]);for(var d=n[f][0],v=n[f][1],g=i[f],m=1-g,y=this.positions[d],x=this.positions[v],b=0;b<3;++b)o[s++]=g*y[b]+m*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},T.update=function(e){e=e||{};var t=this.gl;this.dirty=!0,\"contourEnable\"in e&&(this.contourEnable=e.contourEnable),\"contourColor\"in e&&(this.contourColor=e.contourColor),\"lineWidth\"in e&&(this.lineWidth=e.lineWidth),\"lightPosition\"in e&&(this.lightPosition=e.lightPosition),this.hasAlpha=!1,\"opacity\"in e&&(this.opacity=e.opacity,this.opacity<1&&(this.hasAlpha=!0)),\"opacityscale\"in e&&(this.opacityscale=e.opacityscale,this.hasAlpha=!0),\"ambient\"in e&&(this.ambientLight=e.ambient),\"diffuse\"in e&&(this.diffuseLight=e.diffuse),\"specular\"in e&&(this.specularLight=e.specular),\"roughness\"in e&&(this.roughness=e.roughness),\"fresnel\"in e&&(this.fresnel=e.fresnel),e.texture?(this.texture.dispose(),this.texture=o(t,e.texture)):e.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=t.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=t.LINEAR,this.texture.setPixels(function(e,t){for(var r=f({colormap:e,nshades:256,format:\"rgba\"}),n=new Uint8Array(1024),i=0;i<256;++i){for(var a=r[i],o=0;o<3;++o)n[4*i+o]=a[o];n[4*i+3]=t?255*M(i/255,t):255*a[3]}return c(n,[256,256,4],[4,0,1])}(e.colormap,this.opacityscale)),this.texture.generateMipmap());var r=e.cells,n=e.positions;if(n&&r){var i=[],a=[],l=[],u=[],h=[],p=[],d=[],v=[],g=[],m=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=e.vertexNormals,k=e.cellNormals,T=void 0===e.vertexNormalsEpsilon?1e-6:e.vertexNormalsEpsilon,A=void 0===e.faceNormalsEpsilon?1e-6:e.faceNormalsEpsilon;e.useFacetNormals&&!k&&(k=s.faceNormals(r,n,A)),k||w||(w=s.vertexNormals(r,n,T));var S=e.vertexColors,E=e.cellColors,C=e.meshColor||[1,1,1,1],L=e.vertexUVs,P=e.vertexIntensity,O=e.cellUVs,I=e.cellIntensity,D=1/0,z=-1/0;if(!L&&!O)if(P)if(e.vertexIntensityBounds)D=+e.vertexIntensityBounds[0],z=+e.vertexIntensityBounds[1];else for(var R=0;R<P.length;++R){var F=P[R];D=Math.min(D,F),z=Math.max(z,F)}else if(I)if(e.cellIntensityBounds)D=+e.cellIntensityBounds[0],z=+e.cellIntensityBounds[1];else for(R=0;R<I.length;++R)F=I[R],D=Math.min(D,F),z=Math.max(z,F);else for(R=0;R<n.length;++R)F=n[R][2],D=Math.min(D,F),z=Math.max(z,F);this.intensity=P||I||function(e){for(var t=e.length,r=new Array(t),n=0;n<t;++n)r[n]=e[n][2];return r}(n),this.pickVertex=!(I||E);var B=e.pointSizes,N=e.pointSize||1;for(this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],R=0;R<n.length;++R)for(var j=n[R],U=0;U<3;++U)!isNaN(j[U])&&isFinite(j[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],j[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],j[U]));var V=0,H=0,q=0;e:for(R=0;R<r.length;++R){var G=r[R];switch(G.length){case 1:for(j=n[W=G[0]],U=0;U<3;++U)if(isNaN(j[U])||!isFinite(j[U]))continue e;m.push(j[0],j[1],j[2]),Z=S?S[W]:E?E[R]:C,this.opacityscale&&P?a.push(Z[0],Z[1],Z[2],this.opacity*M((P[W]-D)/(z-D),this.opacityscale)):3===Z.length?y.push(Z[0],Z[1],Z[2],this.opacity):(y.push(Z[0],Z[1],Z[2],Z[3]*this.opacity),Z[3]<1&&(this.hasAlpha=!0)),X=L?L[W]:P?[(P[W]-D)/(z-D),0]:O?O[R]:I?[(I[R]-D)/(z-D),0]:[(j[2]-D)/(z-D),0],x.push(X[0],X[1]),B?b.push(B[W]):b.push(N),_.push(R),q+=1;break;case 2:for(U=0;U<2;++U){j=n[W=G[U]];for(var Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue e}for(U=0;U<2;++U)j=n[W=G[U]],p.push(j[0],j[1],j[2]),Z=S?S[W]:E?E[R]:C,this.opacityscale&&P?a.push(Z[0],Z[1],Z[2],this.opacity*M((P[W]-D)/(z-D),this.opacityscale)):3===Z.length?d.push(Z[0],Z[1],Z[2],this.opacity):(d.push(Z[0],Z[1],Z[2],Z[3]*this.opacity),Z[3]<1&&(this.hasAlpha=!0)),X=L?L[W]:P?[(P[W]-D)/(z-D),0]:O?O[R]:I?[(I[R]-D)/(z-D),0]:[(j[2]-D)/(z-D),0],v.push(X[0],X[1]),g.push(R);H+=1;break;case 3:for(U=0;U<3;++U)for(j=n[W=G[U]],Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue e;for(U=0;U<3;++U){var W,Z,X,K;j=n[W=G[2-U]],i.push(j[0],j[1],j[2]),(Z=S?S[W]:E?E[R]:C)?this.opacityscale&&P?a.push(Z[0],Z[1],Z[2],this.opacity*M((P[W]-D)/(z-D),this.opacityscale)):3===Z.length?a.push(Z[0],Z[1],Z[2],this.opacity):(a.push(Z[0],Z[1],Z[2],Z[3]*this.opacity),Z[3]<1&&(this.hasAlpha=!0)):a.push(.5,.5,.5,1),X=L?L[W]:P?[(P[W]-D)/(z-D),0]:O?O[R]:I?[(I[R]-D)/(z-D),0]:[(j[2]-D)/(z-D),0],u.push(X[0],X[1]),K=w?w[W]:k[R],l.push(K[0],K[1],K[2]),h.push(R)}V+=1}}this.pointCount=q,this.edgeCount=H,this.triangleCount=V,this.pointPositions.update(m),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(p),this.edgeColors.update(d),this.edgeUVs.update(v),this.edgeIds.update(new Uint32Array(g)),this.trianglePositions.update(i),this.triangleColors.update(a),this.triangleUVs.update(u),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(h))}},T.drawTransparent=T.draw=function(e){e=e||{};for(var t=this.gl,r=e.model||w,n=e.view||w,i=e.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,inverseModel:w.slice(),clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};s.inverseModel=u(s.inverseModel,s.model),t.disable(t.CULL_FACE),this.texture.bind(0);var c=new Array(16);for(l(c,s.view,s.model),l(c,s.projection,c),u(c,c),o=0;o<3;++o)s.eyePosition[o]=c[12+o]/c[15];var f,h=c[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*c[4*o+3];for(o=0;o<3;++o){for(var p=c[12+o],d=0;d<3;++d)p+=c[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),t.lineWidth(this.lineWidth*this.pixelRatio),t.drawArrays(t.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),t.drawArrays(t.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),t.drawArrays(t.LINES,0,this.contourCount),this.contourVAO.unbind())},T.drawPick=function(e){e=e||{};for(var t=this.gl,r=e.model||w,n=e.view||w,i=e.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[t.drawingBufferWidth,t.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),t.lineWidth(this.lineWidth*this.pixelRatio),t.drawArrays(t.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),t.drawArrays(t.POINTS,0,this.pointCount),this.pointVAO.unbind())},T.pick=function(e){if(!e)return null;if(e.id!==this.pickId)return null;for(var t=e.value[0]+256*e.value[1]+65536*e.value[2],r=this.cells[t],n=this.positions,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=e.coord[0],s=e.coord[1];if(!this.pickVertex){var l=this.positions[r[0]],u=this.positions[r[1]],c=this.positions[r[2]],f=[(l[0]+u[0]+c[0])/3,(l[1]+u[1]+c[1])/3,(l[2]+u[2]+c[2])/3];return{_cellCenter:!0,position:[o,s],index:t,cell:r,cellId:t,intensity:this.intensity[t],dataCoordinate:f}}var h=v(i,[o*this.pixelRatio,this._resolution[1]-s*this.pixelRatio],this._model,this._view,this._projection,this._resolution);if(!h)return null;var p=h[2],d=0;for(a=0;a<r.length;++a)d+=p[a]*this.intensity[r[a]];return{position:h[1],index:r[h[0]],cell:r,cellId:t,intensity:d,dataCoordinate:this.positions[r[h[0]]]}},T.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},e.exports=function(e,t){if(1===arguments.length&&(e=(t=e).gl),!(e.getExtension(\"OES_standard_derivatives\")||e.getExtension(\"MOZ_OES_standard_derivatives\")||e.getExtension(\"WEBKIT_OES_standard_derivatives\")))throw new Error(\"derivatives not supported\");var r=function(e){var t=n(e,g.vertex,g.fragment);return t.attributes.position.location=0,t.attributes.color.location=2,t.attributes.uv.location=3,t.attributes.normal.location=4,t}(e),s=function(e){var t=n(e,m.vertex,m.fragment);return t.attributes.position.location=0,t.attributes.color.location=2,t.attributes.uv.location=3,t}(e),l=A(e),u=S(e),f=E(e),h=C(e),p=o(e,c(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=e.LINEAR_MIPMAP_LINEAR,p.magFilter=e.LINEAR;var d=i(e),v=i(e),y=i(e),x=i(e),b=i(e),_=a(e,[{buffer:d,type:e.FLOAT,size:3},{buffer:b,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:e.FLOAT,size:4},{buffer:y,type:e.FLOAT,size:2},{buffer:x,type:e.FLOAT,size:3}]),w=i(e),T=i(e),M=i(e),L=i(e),P=a(e,[{buffer:w,type:e.FLOAT,size:3},{buffer:L,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:T,type:e.FLOAT,size:4},{buffer:M,type:e.FLOAT,size:2}]),O=i(e),I=i(e),D=i(e),z=i(e),R=i(e),F=a(e,[{buffer:O,type:e.FLOAT,size:3},{buffer:R,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:I,type:e.FLOAT,size:4},{buffer:D,type:e.FLOAT,size:2},{buffer:z,type:e.FLOAT,size:1}]),B=i(e),N=new k(e,p,r,s,l,u,f,h,d,b,v,y,x,_,w,L,T,M,P,O,R,I,D,z,F,B,a(e,[{buffer:B,type:e.FLOAT,size:3}]));return N.update(t),N}},4554:function(e,t,r){\"use strict\";e.exports=function(e){var t=e.gl;return new o(e,n(t,[0,0,0,1,1,0,1,1]),i(t,a.boxVert,a.lineFrag))};var n=r(5827),i=r(5158),a=r(2709);function o(e,t,r){this.plot=e,this.vbo=t,this.shader=r}var s,l,u=o.prototype;u.bind=function(){var e=this.shader;this.vbo.bind(),this.shader.bind(),e.attributes.coord.pointer(),e.uniforms.screenBox=this.plot.screenBox},u.drawBox=(s=[0,0],l=[0,0],function(e,t,r,n,i){var a=this.plot,o=this.shader,u=a.gl;s[0]=e,s[1]=t,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=i,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),u.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},3016:function(e,t,r){\"use strict\";e.exports=function(e){var t=e.gl;return new s(e,n(t),i(t,o.gridVert,o.gridFrag),i(t,o.tickVert,o.gridFrag))};var n=r(5827),i=r(5158),a=r(5070),o=r(2709);function s(e,t,r,n){this.plot=e,this.vbo=t,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function l(e,t){return e-t}var u,c,f,h,p,d=s.prototype;d.draw=(u=[0,0],c=[0,0],f=[0,0],function(){for(var e=this.plot,t=this.vbo,r=this.shader,n=this.ticks,i=e.gl,a=e._tickBounds,o=e.dataBox,s=e.viewBox,l=e.gridLineWidth,h=e.gridLineColor,p=e.gridLineEnable,d=e.pixelRatio,v=0;v<2;++v){var g=a[v],m=a[v+2]-g,y=.5*(o[v+2]+o[v]),x=o[v+2]-o[v];c[v]=2*m/x,u[v]=2*(g-y)/x}r.bind(),t.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=u,r.uniforms.dataScale=c;var b=0;for(v=0;v<2;++v){f[0]=f[1]=0,f[v]=1,r.uniforms.dataAxis=f,r.uniforms.lineWidth=l[v]/(s[v+2]-s[v])*d,r.uniforms.color=h[v];var _=6*n[v].length;p[v]&&_&&i.drawArrays(i.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var e=[0,0],t=[0,0],r=[1,0],n=[0,1],i=[0,0],o=[0,0];return function(){for(var s=this.plot,u=this.vbo,c=this.tickShader,f=this.ticks,h=s.gl,p=s._tickBounds,d=s.dataBox,v=s.viewBox,g=s.pixelRatio,m=s.screenBox,y=m[2]-m[0],x=m[3]-m[1],b=v[2]-v[0],_=v[3]-v[1],w=0;w<2;++w){var k=p[w],T=p[w+2]-k,M=.5*(d[w+2]+d[w]),A=d[w+2]-d[w];t[w]=2*T/A,e[w]=2*(k-M)/A}t[0]*=b/y,e[0]*=b/y,t[1]*=_/x,e[1]*=_/x,c.bind(),u.bind(),c.attributes.dataCoord.pointer();var S=c.uniforms;S.dataShift=e,S.dataScale=t;var E=s.tickMarkLength,C=s.tickMarkWidth,L=s.tickMarkColor,P=6*f[0].length,O=Math.min(a.ge(f[0],(d[0]-p[0])/(p[2]-p[0]),l),f[0].length),I=Math.min(a.gt(f[0],(d[2]-p[0])/(p[2]-p[0]),l),f[0].length),D=0+6*O,z=6*Math.max(0,I-O),R=Math.min(a.ge(f[1],(d[1]-p[1])/(p[3]-p[1]),l),f[1].length),F=Math.min(a.gt(f[1],(d[3]-p[1])/(p[3]-p[1]),l),f[1].length),B=P+6*R,N=6*Math.max(0,F-R);i[0]=2*(v[0]-E[1])/y-1,i[1]=(v[3]+v[1])/x-1,o[0]=E[1]*g/y,o[1]=C[1]*g/x,N&&(S.color=L[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,B,N)),i[0]=(v[2]+v[0])/y-1,i[1]=2*(v[1]-E[0])/x-1,o[0]=C[0]*g/y,o[1]=E[0]*g/x,z&&(S.color=L[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,D,z)),i[0]=2*(v[2]+E[3])/y-1,i[1]=(v[3]+v[1])/x-1,o[0]=E[3]*g/y,o[1]=C[3]*g/x,N&&(S.color=L[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,B,N)),i[0]=(v[2]+v[0])/y-1,i[1]=2*(v[3]+E[2])/x-1,o[0]=C[2]*g/y,o[1]=E[2]*g/x,z&&(S.color=L[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,D,z))}}(),d.update=(h=[1,1,-1,-1,1,-1],p=[1,-1,1,1,-1,-1],function(e){for(var t=e.ticks,r=e.bounds,n=new Float32Array(18*(t[0].length+t[1].length)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=t[o],u=r[o],c=r[o+2],f=0;f<l.length;++f){var d=(l[f].x-u)/(c-u);s.push(d);for(var v=0;v<6;++v)n[i++]=d,n[i++]=h[v],n[i++]=p[v]}this.ticks=a,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},1154:function(e,t,r){\"use strict\";e.exports=function(e){var t=e.gl;return new o(e,n(t,[-1,-1,-1,1,1,-1,1,1]),i(t,a.lineVert,a.lineFrag))};var n=r(5827),i=r(5158),a=r(2709);function o(e,t,r){this.plot=e,this.vbo=t,this.shader=r}var s,l,u=o.prototype;u.bind=function(){var e=this.shader;this.vbo.bind(),this.shader.bind(),e.attributes.coord.pointer(),e.uniforms.screenBox=this.plot.screenBox},u.drawLine=(s=[0,0],l=[0,0],function(e,t,r,n,i,a){var o=this.plot,u=this.shader,c=o.gl;s[0]=e,s[1]=t,l[0]=r,l[1]=n,u.uniforms.start=s,u.uniforms.end=l,u.uniforms.width=i*o.pixelRatio,u.uniforms.color=a,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),u.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},2709:function(e,t,r){\"use strict\";var n=r(6832),i=n([\"precision lowp float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\\n}\\n\"]);e.exports={lineVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 start, end;\\nuniform float width;\\n\\nvec2 perp(vec2 v) {\\n  return vec2(v.y, -v.x);\\n}\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  vec2 delta = normalize(perp(start - end));\\n  vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\\n  gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\\n}\\n\"]),lineFrag:i,textVert:n([\"#define GLSLIFY 1\\nattribute vec3 textCoordinate;\\n\\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\\nuniform float angle;\\n\\nvoid main() {\\n  float dataOffset  = textCoordinate.z;\\n  vec2 glyphOffset  = textCoordinate.xy;\\n  mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\\n  vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\\n    glyphMatrix * glyphOffset * textScale + screenOffset;\\n  gl_Position = vec4(screenCoordinate, 0, 1);\\n}\\n\"]),textFrag:i,gridVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale;\\nuniform float lineWidth;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\\n  gl_Position = vec4(pos, 0, 1);\\n}\\n\"]),gridFrag:i,boxVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 lo, hi;\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\\n}\\n\"]),tickVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\\n}\\n\"])}},5613:function(e,t,r){\"use strict\";e.exports=function(e){var t=e.gl;return new l(e,n(t),i(t,s.textVert,s.textFrag))};var n=r(5827),i=r(5158),a=r(6946),o=r(5070),s=r(2709);function l(e,t,r){this.plot=e,this.vbo=t,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var u,c,f,h,p,d,v=l.prototype;v.drawTicks=(u=[0,0],c=[0,0],f=[0,0],function(e){var t=this.plot,r=this.shader,n=this.tickX[e],i=this.tickOffset[e],a=t.gl,s=t.viewBox,l=t.dataBox,h=t.screenBox,p=t.pixelRatio,d=t.tickEnable,v=t.tickPad,g=t.tickColor,m=t.tickAngle,y=t.labelEnable,x=t.labelPad,b=t.labelColor,_=t.labelAngle,w=this.labelOffset[e],k=this.labelCount[e],T=o.lt(n,l[e]),M=o.le(n,l[e+2]);u[0]=u[1]=0,u[e]=1,c[e]=(s[2+e]+s[e])/(h[2+e]-h[e])-1;var A=2/h[2+(1^e)]-h[1^e];c[1^e]=A*s[1^e]-1,d[e]&&(c[1^e]-=A*p*v[e],T<M&&i[M]>i[T]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[e],r.uniforms.angle=m[e],a.drawArrays(a.TRIANGLES,i[T],i[M]-i[T]))),y[e]&&k&&(c[1^e]-=A*p*x[e],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[e],r.uniforms.angle=_[e],a.drawArrays(a.TRIANGLES,w,k)),c[1^e]=A*s[2+(1^e)]-1,d[e+2]&&(c[1^e]+=A*p*v[e+2],T<M&&i[M]>i[T]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[e+2],r.uniforms.angle=m[e+2],a.drawArrays(a.TRIANGLES,i[T],i[M]-i[T]))),y[e+2]&&k&&(c[1^e]+=A*p*x[e+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[e+2],r.uniforms.angle=_[e+2],a.drawArrays(a.TRIANGLES,w,k))}),v.drawTitle=function(){var e=[0,0],t=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)t[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=e,n.uniforms.screenOffset=t,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),v.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var e=this.plot,t=this.shader,r=e._tickBounds,n=e.dataBox,i=e.screenBox,a=e.viewBox;t.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,u=.5*(n[o+2]+n[o]),c=n[o+2]-n[o],f=a[o],v=a[o+2]-f,g=i[o],m=i[o+2]-g;p[o]=2*l/c*v/m,h[o]=2*(s-u)/c*v/m}d[1]=2*e.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),t.uniforms.dataScale=p,t.uniforms.dataShift=h,t.uniforms.textScale=d,this.vbo.bind(),t.attributes.textCoordinate.pointer()}),v.update=function(e){var t,r,n,i,o,s=[],l=e.ticks,u=e.bounds;for(o=0;o<2;++o){var c=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(t=0;t<h.length;++t){var p=h[t],d=p.x,v=p.text,g=p.font||\"sans-serif\";i=p.fontSize||12;for(var m=1/(u[o+2]-u[o]),y=u[o],x=v.split(\"\\n\"),b=0;b<x.length;b++)for(n=a(g,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(d-y)*m);c.push(Math.floor(s.length/3)),f.push(d)}this.tickOffset[o]=c,this.tickX[o]=f}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=a(e.labelFont[o],e.labels[o],{textAlign:\"center\"}).data,i=e.labelSize[o],t=0;t<n.length;t+=2)s.push(n[t]*i,-n[t+1]*i,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=a(e.titleFont,e.title).data,i=e.titleSize,t=0;t<n.length;t+=2)s.push(n[t]*i,-n[t+1]*i,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},v.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},2117:function(e,t,r){\"use strict\";e.exports=function(e){var t=e.gl,r=new l(t,n(t,[t.drawingBufferWidth,t.drawingBufferHeight]));return r.grid=i(r),r.text=a(r),r.line=o(r),r.box=s(r),r.update(e),r};var n=r(2611),i=r(3016),a=r(5613),o=r(1154),s=r(4554);function l(e,t){this.gl=e,this.pickBuffer=t,this.screenBox=[0,0,e.drawingBufferWidth,e.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-1/0,-1/0],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}var u=l.prototype;function c(e){for(var t=e.slice(),r=0;r<t.length;++r)t[r]=t[r].slice();return t}function f(e,t){return e.x-t.x}u.setDirty=function(){this.dirty=this.pickDirty=!0},u.setOverlayDirty=function(){this.dirty=!0},u.nextDepthValue=function(){return this._depthCounter++/65536},u.draw=function(){var e=this.gl,t=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){if(this.dirty=!1,e.bindFramebuffer(e.FRAMEBUFFER,null),e.enable(e.SCISSOR_TEST),e.disable(e.DEPTH_TEST),e.depthFunc(e.LESS),e.depthMask(!1),e.enable(e.BLEND),e.blendEquation(e.FUNC_ADD,e.FUNC_ADD),e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA),this.borderColor){e.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]);var u=this.borderColor;e.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}e.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),e.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var c=this.backgroundColor;e.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),e.clear(e.COLOR_BUFFER_BIT),a.draw();var f=this.zeroLineEnable,h=this.zeroLineColor,p=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var d=0;d<2;++d)if(f[d]&&n[d]<=0&&n[d+2]>=0){var v=t[d]-n[d]*(t[d+2]-t[d])/(n[d+2]-n[d]);0===d?o.drawLine(v,t[1],v,t[3],p[d],h[d]):o.drawLine(t[0],v,t[2],v,p[d],h[d])}}for(d=0;d<l.length;++d)l[d].draw();e.viewport(t[0],t[1],t[2]-t[0],t[3]-t[1]),e.scissor(t[0],t[1],t[2]-t[0],t[3]-t[1]),this.grid.drawTickMarks(),o.bind();var g=this.borderLineEnable,m=this.borderLineWidth,y=this.borderLineColor;for(g[1]&&o.drawLine(r[0],r[1]-.5*m[1]*i,r[0],r[3]+.5*m[3]*i,m[1],y[1]),g[0]&&o.drawLine(r[0]-.5*m[0]*i,r[1],r[2]+.5*m[2]*i,r[1],m[0],y[0]),g[3]&&o.drawLine(r[2],r[1]-.5*m[1]*i,r[2],r[3]+.5*m[3]*i,m[3],y[3]),g[2]&&o.drawLine(r[0]-.5*m[0]*i,r[3],r[2]+.5*m[2]*i,r[3],m[2],y[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();e.disable(e.SCISSOR_TEST),e.disable(e.BLEND),e.depthMask(!0)}},u.drawPick=function(){if(!this.static){var e=this.pickBuffer;this.gl,this._pickTimeout=null,e.begin();for(var t=1,r=this.objects,n=0;n<r.length;++n)t=r[n].drawPick(t);e.end()}},u.pick=function(e,t){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((e-i[0]/r)*n),o=0|Math.round((t-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),u=this.objects,c=0;c<u.length;++c){var f=u[c].pick(a,o,l);if(f)return f}return null}},u.setScreenBox=function(e){var t=this.screenBox,r=this.pixelRatio;t[0]=0|Math.round(e[0]*r),t[1]=0|Math.round(e[1]*r),t[2]=0|Math.round(e[2]*r),t[3]=0|Math.round(e[3]*r),this.setDirty()},u.setDataBox=function(e){var t=this.dataBox;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3])&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],this.setDirty())},u.setViewBox=function(e){var t=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(e[0]*t),r[1]=0|Math.round(e[1]*t),r[2]=0|Math.round(e[2]*t),r[3]=0|Math.round(e[3]*t);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((e[2]-e[0])*n),0|Math.round((e[3]-e[1])*n)],this.setDirty()},u.update=function(e){e=e||{};var t=this.gl;this.pixelRatio=e.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(e.screenBox||[0,0,t.drawingBufferWidth/r,t.drawingBufferHeight/r]),this.screenBox,this.setViewBox(e.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(e.dataBox||[-10,-10/i,10,10/i]),this.borderColor=!1!==e.borderColor&&(e.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(e.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(e.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(e.gridLineWidth||[1,1]).slice(),this.gridLineColor=c(e.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(e.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(e.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=c(e.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(e.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(e.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=c(e.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(e.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!(\"titleEnable\"in e)||!!e.titleEnable,this.titleAngle=e.titleAngle||0,this.titleColor=(e.titleColor||[0,0,0,1]).slice(),this.labelPad=(e.labelPad||[15,15,15,15]).slice(),this.labelAngle=(e.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(e.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=c(e.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(e.tickPad||[15,15,15,15]).slice(),this.tickAngle=(e.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(e.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=c(e.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(e.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(e.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=c(e.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var a=e.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=a[s].slice(0);0!==l.length&&(l.sort(f),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:a}),this.text.update({bounds:o,ticks:a,labels:e.labels||[\"x\",\"y\"],labelSize:e.labelSize||[12,12],labelFont:e.labelFont||[\"sans-serif\",\"sans-serif\"],title:e.title||\"\",titleSize:e.titleSize||18,titleFont:e.titleFont||\"sans-serif\"}),this.static=!!e.static,this.setDirty()},u.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var e=this.objects.length-1;e>=0;--e)this.objects[e].dispose();for(this.objects.length=0,e=this.overlays.length-1;e>=0;--e)this.overlays[e].dispose();this.overlays.length=0,this.gl=null},u.addObject=function(e){this.objects.indexOf(e)<0&&(this.objects.push(e),this.setDirty())},u.removeObject=function(e){for(var t=this.objects,r=0;r<t.length;++r)if(t[r]===e){t.splice(r,1),this.setDirty();break}},u.addOverlay=function(e){this.overlays.indexOf(e)<0&&(this.overlays.push(e),this.setOverlayDirty())},u.removeOverlay=function(e){for(var t=this.overlays,r=0;r<t.length;++r)if(t[r]===e){t.splice(r,1),this.setOverlayDirty();break}}},4296:function(e,t,r){\"use strict\";e.exports=function(e,t){e=e||document.body;var r=[.01,1/0];\"distanceLimits\"in(t=t||{})&&(r[0]=t.distanceLimits[0],r[1]=t.distanceLimits[1]),\"zoomMin\"in t&&(r[0]=t.zoomMin),\"zoomMax\"in t&&(r[1]=t.zoomMax);var u=i({center:t.center||[0,0,0],up:t.up||[0,1,0],eye:t.eye||[0,0,10],mode:t.mode||\"orbit\",distanceLimits:r}),c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=e.clientWidth,p=e.clientHeight,d={keyBindingMode:\"rotate\",enableWheel:!0,view:u,element:e,delay:t.delay||16,rotateSpeed:t.rotateSpeed||1,zoomSpeed:t.zoomSpeed||1,translateSpeed:t.translateSpeed||1,flipX:!!t.flipX,flipY:!!t.flipY,modes:u.modes,_ortho:t._ortho||t.projection&&\"orthographic\"===t.projection.type||!1,tick:function(){var t=n(),r=this.delay,i=t-2*r;u.idle(t-r),u.recalcMatrix(i),u.flush(t-(100+2*r));for(var a=!0,o=u.computedMatrix,s=0;s<16;++s)a=a&&c[s]===o[s],c[s]=o[s];var l=e.clientWidth===h&&e.clientHeight===p;return h=e.clientWidth,p=e.clientHeight,a?!l:(f=Math.exp(u.computedRadius[0]),!0)},lookAt:function(e,t,r){u.lookAt(u.lastT(),e,t,r)},rotate:function(e,t,r){u.rotate(u.lastT(),e,t,r)},pan:function(e,t,r){u.pan(u.lastT(),e,t,r)},translate:function(e,t,r){u.translate(u.lastT(),e,t,r)}};return Object.defineProperties(d,{matrix:{get:function(){return u.computedMatrix},set:function(e){return u.setMatrix(u.lastT(),e),u.computedMatrix},enumerable:!0},mode:{get:function(){return u.getMode()},set:function(e){var t=u.computedUp.slice(),r=u.computedEye.slice(),i=u.computedCenter.slice();if(u.setMode(e),\"turntable\"===e){var a=n();u._active.lookAt(a,r,i,t),u._active.lookAt(a+500,r,i,[0,0,1]),u._active.flush(a)}return u.getMode()},enumerable:!0},center:{get:function(){return u.computedCenter},set:function(e){return u.lookAt(u.lastT(),null,e),u.computedCenter},enumerable:!0},eye:{get:function(){return u.computedEye},set:function(e){return u.lookAt(u.lastT(),e),u.computedEye},enumerable:!0},up:{get:function(){return u.computedUp},set:function(e){return u.lookAt(u.lastT(),null,null,e),u.computedUp},enumerable:!0},distance:{get:function(){return f},set:function(e){return u.setDistance(u.lastT(),e),e},enumerable:!0},distanceLimits:{get:function(){return u.getDistanceLimits(r)},set:function(e){return u.setDistanceLimits(e),e},enumerable:!0}}),e.addEventListener(\"contextmenu\",(function(e){return e.preventDefault(),!1})),d._lastX=-1,d._lastY=-1,d._lastMods={shift:!1,control:!1,alt:!1,meta:!1},d.enableMouseListeners=function(){function t(t,r,i,a){var o=d.keyBindingMode;if(!1!==o){var s=\"rotate\"===o,l=\"pan\"===o,c=\"zoom\"===o,h=!!a.control,p=!!a.alt,v=!!a.shift,g=!!(1&t),m=!!(2&t),y=!!(4&t),x=1/e.clientHeight,b=x*(r-d._lastX),_=x*(i-d._lastY),w=d.flipX?1:-1,k=d.flipY?1:-1,T=Math.PI*d.rotateSpeed,M=n();if(-1!==d._lastX&&-1!==d._lastY&&((s&&g&&!h&&!p&&!v||g&&!h&&!p&&v)&&u.rotate(M,w*T*b,-k*T*_,0),(l&&g&&!h&&!p&&!v||m||g&&h&&!p&&!v)&&u.pan(M,-d.translateSpeed*b*f,d.translateSpeed*_*f,0),c&&g&&!h&&!p&&!v||y||g&&!h&&p&&!v)){var A=-d.zoomSpeed*_/window.innerHeight*(M-u.lastT())*100;u.pan(M,0,0,f*(Math.exp(A)-1))}return d._lastX=r,d._lastY=i,d._lastMods=a,!0}}d.mouseListener=a(e,t),e.addEventListener(\"touchstart\",(function(r){var n=s(r.changedTouches[0],e);t(0,n[0],n[1],d._lastMods),t(1,n[0],n[1],d._lastMods)}),!!l&&{passive:!0}),e.addEventListener(\"touchmove\",(function(r){var n=s(r.changedTouches[0],e);t(1,n[0],n[1],d._lastMods),r.preventDefault()}),!!l&&{passive:!1}),e.addEventListener(\"touchend\",(function(e){t(0,d._lastX,d._lastY,d._lastMods)}),!!l&&{passive:!0}),d.wheelListener=o(e,(function(e,t){if(!1!==d.keyBindingMode&&d.enableWheel){var r=d.flipX?1:-1,i=d.flipY?1:-1,a=n();if(Math.abs(e)>Math.abs(t))u.rotate(a,0,0,-e*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*t/window.innerHeight*(a-u.lastT())/20;u.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(8161),i=r(1152),a=r(6145),o=r(6475),s=r(2565),l=r(5233)},8245:function(e,t,r){var n=r(6832),i=r(5158),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\nattribute vec2 position;\\nvarying vec2 uv;\\nvoid main() {\\n  uv = position;\\n  gl_Position = vec4(position, 0, 1);\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D accumBuffer;\\nvarying vec2 uv;\\n\\nvoid main() {\\n  vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\\n  gl_FragColor = min(vec4(1,1,1,1), accum);\\n}\"]);e.exports=function(e){return i(e,a,o,null,[{name:\"position\",type:\"vec2\"}])}},1059:function(e,t,r){\"use strict\";var n=r(4296),i=r(7453),a=r(2771),o=r(6496),s=r(2611),l=r(4234),u=r(8126),c=r(6145),f=r(1120),h=r(5268),p=r(8245),d=r(2321)({tablet:!0,featureDetect:!0});function v(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(e){var t=Math.round(Math.log(Math.abs(e))/Math.log(10));if(t<0){var r=Math.round(Math.pow(10,-t));return Math.ceil(e*r)/r}return t>0?(r=Math.round(Math.pow(10,t)),Math.ceil(e/r)*r):Math.ceil(e)}function m(e){return\"boolean\"!=typeof e||e}e.exports={createScene:function(e){(e=e||{}).camera=e.camera||{};var t=e.canvas;t||(t=document.createElement(\"canvas\"),e.container?e.container.appendChild(t):document.body.appendChild(t));var r=e.gl;if(r||(e.glOptions&&(d=!!e.glOptions.preserveDrawingBuffer),r=function(e,t){var r=null;try{(r=e.getContext(\"webgl\",t))||(r=e.getContext(\"experimental-webgl\",t))}catch(e){return null}return r}(t,e.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error(\"webgl not supported\");var y=e.bounds||[[-10,-10,-10],[10,10,10]],x=new v,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=e.cameraObject&&!0===e.cameraObject._ortho||e.camera.projection&&\"orthographic\"===e.camera.projection.type||!1,k={eye:e.camera.eye||[2,0,0],center:e.camera.center||[0,0,0],up:e.camera.up||[0,1,0],zoomMin:e.camera.zoomMax||.1,zoomMax:e.camera.zoomMin||100,mode:e.camera.mode||\"turntable\",_ortho:w},T=e.axes||{},M=i(r,T);M.enable=!T.disable;var A=e.spikes||{},S=o(r,A),E=[],C=[],L=[],P=[],O=!0,I=!0,D={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},z=(I=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=e.cameraObject||n(t,k),F={gl:r,contextLost:!1,pixelRatio:e.pixelRatio||1,canvas:t,selection:x,camera:R,axes:M,axesPixels:null,spikes:S,bounds:y,objects:E,shape:z,aspect:e.aspectRatio||[1,1,1],pickRadius:e.pickRadius||10,zNear:e.zNear||.01,zFar:e.zFar||1e3,fovy:e.fovy||Math.PI/4,clearColor:e.clearColor||[0,0,0,0],autoResize:m(e.autoResize),autoBounds:m(e.autoBounds),autoScale:!!e.autoScale,autoCenter:m(e.autoCenter),clipToBounds:m(e.clipToBounds),snapToData:!!e.snapToData,onselect:e.onselect||null,onrender:e.onrender||null,onclick:e.onclick||null,cameraParams:D,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(e){this.aspect[0]=e.x,this.aspect[1]=e.y,this.aspect[2]=e.z,I=!0},setBounds:function(e,t){this.bounds[0][e]=t.min,this.bounds[1][e]=t.max},setClearColor:function(e){this.clearColor=e},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var e=t.parentNode,r=1,n=1;e&&e!==document.body?(r=e.clientWidth,n=e.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==t.width||a!==t.height){t.width=i,t.height=a;var o=t.style;o.position=o.position||\"absolute\",o.left=\"0px\",o.top=\"0px\",o.width=r+\"px\",o.height=n+\"px\",O=!0}}}function j(){for(var e=E.length,t=P.length,n=0;n<t;++n)L[n]=0;e:for(n=0;n<e;++n){var i=E[n],a=i.pickSlots;if(a){for(var o=0;o<t;++o)if(L[o]+a<255){C[n]=o,i.setPickBase(L[o]+1),L[o]+=a;continue e}var l=s(r,z);C[n]=t,P.push(l),L.push(a),i.setPickBase(1),t+=1}else C[n]=-1}for(;t>0&&0===L[t-1];)L.pop(),P.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener(\"resize\",N),F.update=function(e){F._stopped||(e=e||{},O=!0,I=!0)},F.add=function(e){F._stopped||(e.axes=M,E.push(e),C.push(-1),O=!0,I=!0,j())},F.remove=function(e){if(!F._stopped){var t=E.indexOf(e);t<0||(E.splice(t,1),C.pop(),O=!0,I=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener(\"resize\",N),t.removeEventListener(\"webglcontextlost\",U),F.mouseListener.enabled=!1,!F.contextLost)){M.dispose(),S.dispose();for(var e=0;e<E.length;++e)E[e].dispose();for(b.dispose(),e=0;e<P.length;++e)P[e].dispose();_.dispose(),r=null,M=null,S=null,E=[]}},F._mouseRotating=!1,F._prevButtons=0,F.enableMouseListeners=function(){F.mouseListener=c(t,(function(e,t,r){if(!F._stopped){var n=P.length,i=E.length,a=x.object;x.distance=1/0,x.mouse[0]=t,x.mouse[1]=r,x.object=null,x.screen=null,x.dataCoordinate=x.dataPosition=null;var o=!1;if(e&&F._prevButtons)F._mouseRotating=!0;else{F._mouseRotating&&(I=!0),F._mouseRotating=!1;for(var s=0;s<n;++s){var l=P[s].query(t,B[1]-r-1,F.pickRadius);if(l){if(l.distance>x.distance)continue;for(var u=0;u<i;++u){var c=E[u];if(C[u]===s){var f=c.pick(l);f&&(x.buttons=e,x.screen=l.coord,x.distance=l.distance,x.object=c,x.index=f.distance,x.dataPosition=f.position,x.dataCoordinate=f.dataCoordinate,x.data=f,o=!0)}}}}}a&&a!==x.object&&(a.highlight&&a.highlight(null),O=!0),x.object&&(x.object.highlight&&x.object.highlight(x.data),O=!0),(o=o||x.object!==a)&&F.onselect&&F.onselect(x),1&e&&!(1&F._prevButtons)&&F.onclick&&F.onclick(x),F._prevButtons=e}}))},t.addEventListener(\"webglcontextlost\",U);var V=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],H=[V[0].slice(),V[1].slice()];function q(){if(!U()){N();var e=F.camera.tick();D.view=F.camera.matrix,O=O||e,I=I||e,M.pixelRatio=F.pixelRatio,S.pixelRatio=F.pixelRatio;var t=E.length,n=V[0],i=V[1];n[0]=n[1]=n[2]=1/0,i[0]=i[1]=i[2]=-1/0;for(var o=0;o<t;++o){(L=E[o]).pixelRatio=F.pixelRatio,L.axes=F.axes,O=O||!!L.dirty,I=I||!!L.dirty;var s=L.bounds;if(s)for(var l=s[0],c=s[1],p=0;p<3;++p)n[p]=Math.min(n[p],l[p]),i[p]=Math.max(i[p],c[p])}var d=F.bounds;if(F.autoBounds)for(p=0;p<3;++p){if(i[p]<n[p])n[p]=-1,i[p]=1;else{n[p]===i[p]&&(n[p]-=1,i[p]+=1);var v=.05*(i[p]-n[p]);n[p]=n[p]-v,i[p]=i[p]+v}d[0][p]=n[p],d[1][p]=i[p]}var m=!1;for(p=0;p<3;++p)m=m||H[0][p]!==d[0][p]||H[1][p]!==d[1][p],H[0][p]=d[0][p],H[1][p]=d[1][p];if(I=I||m,O=O||m){if(m){var y=[0,0,0];for(o=0;o<3;++o)y[o]=g((d[1][o]-d[0][o])/10);M.autoTicks?M.update({bounds:d,tickSpacing:y}):M.update({bounds:d})}var k=r.drawingBufferWidth,T=r.drawingBufferHeight;for(z[0]=k,z[1]=T,B[0]=0|Math.max(k/F.pixelRatio,1),B[1]=0|Math.max(T/F.pixelRatio,1),function(e,t){var r=e.bounds,n=e.cameraParams,i=n.projection,a=n.model,o=e.gl.drawingBufferWidth,s=e.gl.drawingBufferHeight,l=e.zNear,u=e.zFar,c=e.fovy,p=o/s;t?(h(i,-p,p,-1,1,l,u),n._ortho=!0):(f(i,c,p,l,u),n._ortho=!1);for(var d=0;d<16;++d)a[d]=0;a[15]=1;var v=0;for(d=0;d<3;++d)v=Math.max(v,r[1][d]-r[0][d]);for(d=0;d<3;++d)e.autoScale?a[5*d]=e.aspect[d]/(r[1][d]-r[0][d]):a[5*d]=1/v,e.autoCenter&&(a[12+d]=.5*-a[5*d]*(r[0][d]+r[1][d]))}(F,w),o=0;o<t;++o)(L=E[o]).axesBounds=d,F.clipToBounds&&(L.clipBounds=d);x.object&&(F.snapToData?S.position=x.dataCoordinate:S.position=x.dataPosition,S.bounds=d),I&&(I=!1,function(){if(!U()){r.colorMask(!0,!0,!0,!0),r.depthMask(!0),r.disable(r.BLEND),r.enable(r.DEPTH_TEST),r.depthFunc(r.LEQUAL);for(var e=E.length,t=P.length,n=0;n<t;++n){var i=P[n];i.shape=B,i.begin();for(var a=0;a<e;++a)if(C[a]===n){var o=E[a];o.drawPick&&(o.pixelRatio=1,o.drawPick(D))}i.end()}}}()),F.axesPixels=a(F.axes,D,k,T),F.onrender&&F.onrender(),r.bindFramebuffer(r.FRAMEBUFFER,null),r.viewport(0,0,k,T),F.clearRGBA(),r.depthMask(!0),r.colorMask(!0,!0,!0,!0),r.enable(r.DEPTH_TEST),r.depthFunc(r.LEQUAL),r.disable(r.BLEND),r.disable(r.CULL_FACE);var A=!1;for(M.enable&&(A=A||M.isTransparent(),M.draw(D)),S.axes=M,x.object&&S.draw(D),r.disable(r.CULL_FACE),o=0;o<t;++o)(L=E[o]).axes=M,L.pixelRatio=F.pixelRatio,L.isOpaque&&L.isOpaque()&&L.draw(D),L.isTransparent&&L.isTransparent()&&(A=!0);if(A){for(b.shape=z,b.bind(),r.clear(r.DEPTH_BUFFER_BIT),r.colorMask(!1,!1,!1,!1),r.depthMask(!0),r.depthFunc(r.LESS),M.enable&&M.isTransparent()&&M.drawTransparent(D),o=0;o<t;++o)(L=E[o]).isOpaque&&L.isOpaque()&&L.draw(D);for(r.enable(r.BLEND),r.blendEquation(r.FUNC_ADD),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.colorMask(!0,!0,!0,!0),r.depthMask(!1),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT),M.isTransparent()&&M.drawTransparent(D),o=0;o<t;++o){var L;(L=E[o]).isTransparent&&L.isTransparent()&&L.drawTransparent(D)}r.bindFramebuffer(r.FRAMEBUFFER,null),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.disable(r.DEPTH_TEST),_.bind(),b.color[0].bind(0),_.uniforms.accumBuffer=0,u(r),r.disable(r.BLEND)}for(O=!1,o=0;o<t;++o)E[o].dirty=!1}}}return F.enableMouseListeners(),function e(){F._stopped||F.contextLost||(q(),requestAnimationFrame(e))}(),F.redraw=function(){F._stopped||(O=!0,q())},F},createCamera:n}},8023:function(e,t,r){var n=r(6832);t.pointVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform float pointCloud;\\n\\nhighp float rand(vec2 co) {\\n  highp float a = 12.9898;\\n  highp float b = 78.233;\\n  highp float c = 43758.5453;\\n  highp float d = dot(co.xy, vec2(a, b));\\n  highp float e = mod(d, 3.14);\\n  return fract(sin(e) * c);\\n}\\n\\nvoid main() {\\n  vec3 hgPosition = matrix * vec3(position, 1);\\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\\n    // if we don't jitter the point size a bit, overall point cloud\\n    // saturation 'jumps' on zooming, which is disturbing and confusing\\n  gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    // get the same square surface as circle would be\\n    gl_PointSize *= 0.886;\\n  }\\n}\"]),t.pointFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color, borderColor;\\nuniform float centerFraction;\\nuniform float pointCloud;\\n\\nvoid main() {\\n  float radius;\\n  vec4 baseColor;\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    if(centerFraction == 1.0) {\\n      gl_FragColor = color;\\n    } else {\\n      gl_FragColor = mix(borderColor, color, centerFraction);\\n    }\\n  } else {\\n    radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n    if(radius > 1.0) {\\n      discard;\\n    }\\n    baseColor = mix(borderColor, color, step(radius, centerFraction));\\n    gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\\n  }\\n}\\n\"]),t.pickVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform vec4 pickOffset;\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  vec3 hgPosition = matrix * vec3(position, 1);\\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\\n  gl_PointSize = pointSize;\\n\\n  vec4 id = pickId + pickOffset;\\n  id.y += floor(id.x / 256.0);\\n  id.x -= floor(id.x / 256.0) * 256.0;\\n\\n  id.z += floor(id.y / 256.0);\\n  id.y -= floor(id.y / 256.0) * 256.0;\\n\\n  id.w += floor(id.z / 256.0);\\n  id.z -= floor(id.z / 256.0) * 256.0;\\n\\n  fragId = id;\\n}\\n\"]),t.pickFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  float radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n  if(radius > 1.0) {\\n    discard;\\n  }\\n  gl_FragColor = fragId / 255.0;\\n}\\n\"])},8271:function(e,t,r){\"use strict\";var n=r(5158),i=r(5827),a=r(5306),o=r(8023);function s(e,t,r,n,i){this.plot=e,this.offsetBuffer=t,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(e,t){var r=e.gl,a=new s(e,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(t),e.addObject(a),a};var l,u,c=s.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(e){var t;function r(t,r){return t in e?e[t]:r}e=e||{},this.sizeMin=r(\"sizeMin\",.5),this.sizeMax=r(\"sizeMax\",20),this.color=r(\"color\",[1,0,0,1]).slice(),this.areaRatio=r(\"areaRatio\",1),this.borderColor=r(\"borderColor\",[0,0,0,1]).slice(),this.blend=r(\"blend\",!1);var n=e.positions.length>>>1,i=e.positions instanceof Float32Array,o=e.idToIndex instanceof Int32Array&&e.idToIndex.length>=n,s=e.positions,l=i?s:a.mallocFloat32(s.length),u=o?e.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),t=0;t<n;t++)u[t]=t;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(u),i||a.free(l),o||a.free(u),this.pointCount=n,this.pickOffset=0},c.unifiedDraw=(l=[1,0,0,0,1,0,0,0,1],u=[0,0,0,0],function(e){var t=void 0!==e,r=t?this.pickShader:this.shader,n=this.plot.gl,i=this.plot.dataBox;if(0===this.pointCount)return e;var a=i[2]-i[0],o=i[3]-i[1],s=function(e,t){var r,n=0,i=e.length>>>1;for(r=0;r<i;r++){var a=e[2*r],o=e[2*r+1];a>=t[0]&&a<=t[2]&&o>=t[1]&&o<=t[3]&&n++}return n}(this.points,i),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=c<5,r.uniforms.pointSize=c,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),t&&(u[0]=255&e,u[1]=e>>8&255,u[2]=e>>16&255,u[3]=e>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=u,this.pickOffset=e);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),e+this.pointCount}),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(e,t,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},6093:function(e){e.exports=function(e,t,r,n){var i,a,o,s,l,u=t[0],c=t[1],f=t[2],h=t[3],p=r[0],d=r[1],v=r[2],g=r[3];return(a=u*p+c*d+f*v+h*g)<0&&(a=-a,p=-p,d=-d,v=-v,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),e[0]=s*u+l*p,e[1]=s*c+l*d,e[2]=s*f+l*v,e[3]=s*h+l*g,e}},8240:function(e){\"use strict\";e.exports=function(e){return e||0===e?e.toString():\"\"}},4123:function(e,t,r){\"use strict\";var n=r(875);e.exports=function(e,t,r){var a=i[t];if(a||(a=i[t]={}),e in a)return a[e];var o={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:t,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(e,o);o.triangles=!1;var l,u,c=n(e,o);if(r&&1!==r){for(l=0;l<s.positions.length;++l)for(u=0;u<s.positions[l].length;++u)s.positions[l][u]/=r;for(l=0;l<c.positions.length;++l)for(u=0;u<c.positions[l].length;++u)c.positions[l][u]/=r}var f=[[1/0,1/0],[-1/0,-1/0]],h=c.positions.length;for(l=0;l<h;++l){var p=c.positions[l];for(u=0;u<2;++u)f[0][u]=Math.min(f[0][u],p[u]),f[1][u]=Math.max(f[1][u],p[u])}return a[e]=[s,c,f]};var i={}},9282:function(e,t,r){var n=r(5158),i=r(6832),a=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform vec4 highlightId;\\nuniform float highlightScale;\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float scale = 1.0;\\n    if(distance(highlightId, id) < 0.0001) {\\n      scale = highlightScale;\\n    }\\n\\n    vec4 worldPosition = model * vec4(position, 1);\\n    vec4 viewPosition = view * worldPosition;\\n    viewPosition = viewPosition / viewPosition.w;\\n    vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\\n\\n    gl_Position = clipPosition;\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = position;\\n  }\\n}\"]),o=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float highlightScale, pixelRatio;\\nuniform vec4 highlightId;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float scale = pixelRatio;\\n    if(distance(highlightId.bgr, id.bgr) < 0.001) {\\n      scale *= highlightScale;\\n    }\\n\\n    vec4 worldPosition = model * vec4(position, 1.0);\\n    vec4 viewPosition = view * worldPosition;\\n    vec4 clipPosition = projection * viewPosition;\\n    clipPosition /= clipPosition.w;\\n\\n    gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = position;\\n  }\\n}\"]),s=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform float highlightScale;\\nuniform vec4 highlightId;\\nuniform vec3 axes[2];\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float scale, pixelRatio;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\\n\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float lscale = pixelRatio * scale;\\n    if(distance(highlightId, id) < 0.0001) {\\n      lscale *= highlightScale;\\n    }\\n\\n    vec4 clipCenter   = projection * view * model * vec4(position, 1);\\n    vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\\n    vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\\n\\n    gl_Position = clipPosition;\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = dataPosition;\\n  }\\n}\\n\"]),l=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float opacity;\\n\\nvarying vec4 interpColor;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if (\\n    outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\\n    interpColor.a * opacity == 0.\\n  ) discard;\\n  gl_FragColor = interpColor * opacity;\\n}\\n\"]),u=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float pickGroup;\\n\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\\n\\n  gl_FragColor = vec4(pickGroup, pickId.bgr);\\n}\"]),c=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],f={vertex:a,fragment:l,attributes:c},h={vertex:o,fragment:l,attributes:c},p={vertex:s,fragment:l,attributes:c},d={vertex:a,fragment:u,attributes:c},v={vertex:o,fragment:u,attributes:c},g={vertex:s,fragment:u,attributes:c};function m(e,t){var r=n(e,t),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}t.createPerspective=function(e){return m(e,f)},t.createOrtho=function(e){return m(e,h)},t.createProject=function(e){return m(e,p)},t.createPickPerspective=function(e){return m(e,d)},t.createPickOrtho=function(e){return m(e,v)},t.createPickProject=function(e){return m(e,g)}},2182:function(e,t,r){\"use strict\";var n=r(3596),i=r(5827),a=r(2944),o=r(5306),s=r(104),l=r(9282),u=r(4123),c=r(8240),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(e,t){var r=e[0],n=e[1],i=e[2],a=e[3];return e[0]=t[0]*r+t[4]*n+t[8]*i+t[12]*a,e[1]=t[1]*r+t[5]*n+t[9]*i+t[13]*a,e[2]=t[2]*r+t[6]*n+t[10]*i+t[14]*a,e[3]=t[3]*r+t[7]*n+t[11]*i+t[15]*a,e}function p(e,t,r,n){return h(n,n),h(n,n),h(n,n)}function d(e,t){this.index=e,this.dataCoordinate=this.position=t}function v(e){return!0===e||e>1?1:e}function g(e,t,r,n,i,a,o,s,l,u,c,f){this.gl=e,this.pixelRatio=1,this.shader=t,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=f,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(e){var t=e.gl,r=l.createPerspective(t),n=l.createOrtho(t),o=l.createProject(t),s=l.createPickPerspective(t),u=l.createPickOrtho(t),c=l.createPickProject(t),f=i(t),h=i(t),p=i(t),d=i(t),v=new g(t,r,n,o,f,h,p,d,a(t,[{buffer:f,size:3,type:t.FLOAT},{buffer:h,size:4,type:t.FLOAT},{buffer:p,size:2,type:t.FLOAT},{buffer:d,size:4,type:t.UNSIGNED_BYTE,normalized:!0}]),s,u,c);return v.update(e),v};var m=g.prototype;m.pickSlots=1,m.setPickBase=function(e){this.pickId=e},m.isTransparent=function(){if(this.hasAlpha)return!0;for(var e=0;e<3;++e)if(this.axesProject[e]&&this.projectHasAlpha)return!0;return!1},m.isOpaque=function(){if(!this.hasAlpha)return!0;for(var e=0;e<3;++e)if(this.axesProject[e]&&!this.projectHasAlpha)return!0;return!1};var y=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],k=f.slice(),T=[0,0,0],M=[[0,0,0],[0,0,0]];function A(e){return e[0]=e[1]=e[2]=0,e}function S(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=1,e}function E(e,t,r,n){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[r]=n,e}var C=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function L(e,t,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(e,t,r,n){var i,a=t.axesProject,o=t.gl,l=e.uniforms,u=r.model||f,c=r.view||f,h=r.projection||f,d=t.axesBounds,v=function(e){for(var t=M,r=0;r<2;++r)for(var n=0;n<3;++n)t[r][n]=Math.max(Math.min(e[r][n],1e8),-1e8);return t}(t.clipBounds);i=t.axes&&t.axes.lastCubeProps?t.axes.lastCubeProps.axis:[1,1,1],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,e.bind(),l.view=c,l.projection=h,l.screenSize=y,l.highlightId=t.highlightId,l.highlightScale=t.highlightScale,l.clipBounds=v,l.pickGroup=t.pickId/255,l.pixelRatio=n;for(var g=0;g<3;++g)if(a[g]){l.scale=t.projectScale[g],l.opacity=t.projectOpacity[g];for(var m=k,C=0;C<16;++C)m[C]=0;for(C=0;C<4;++C)m[5*C]=1;m[5*g]=0,i[g]<0?m[12+g]=d[0][g]:m[12+g]=d[1][g],s(m,u,m),l.model=m;var L=(g+1)%3,P=(g+2)%3,O=A(x),I=A(b);O[L]=1,I[P]=1;var D=p(0,0,0,S(_,O)),z=p(0,0,0,S(w,I));if(Math.abs(D[1])>Math.abs(z[1])){var R=D;D=z,z=R,R=O,O=I,I=R;var F=L;L=P,P=F}D[0]<0&&(O[L]=-1),z[1]>0&&(I[P]=-1);var B=0,N=0;for(C=0;C<4;++C)B+=Math.pow(u[4*L+C],2),N+=Math.pow(u[4*P+C],2);O[L]/=Math.sqrt(B),I[P]/=Math.sqrt(N),l.axes[0]=O,l.axes[1]=I,l.fragClipBounds[0]=E(T,v[0],g,-1e8),l.fragClipBounds[1]=E(T,v[1],g,1e8),t.vao.bind(),t.vao.draw(o.TRIANGLES,t.vertexCount),t.lineWidth>0&&(o.lineWidth(t.lineWidth*n),t.vao.draw(o.LINES,t.lineVertexCount,t.vertexCount)),t.vao.unbind()}}(t,r,n,i),a===r.hasAlpha||o){e.bind();var u=e.uniforms;u.model=n.model||f,u.view=n.view||f,u.projection=n.projection||f,y[0]=2/l.drawingBufferWidth,y[1]=2/l.drawingBufferHeight,u.screenSize=y,u.highlightId=r.highlightId,u.highlightScale=r.highlightScale,u.fragClipBounds=C,u.clipBounds=r.axes.bounds,u.opacity=r.opacity,u.pickGroup=r.pickId/255,u.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function P(e,t,r,i){var a;a=Array.isArray(e)?t<e.length?e[t]:void 0:e,a=c(a);var o=!0;n(a)&&(a=\"▼\",o=!1);var s=u(a,r,i);return{mesh:s[0],lines:s[1],bounds:s[2],visible:o}}m.draw=function(e){L(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,e,this.pixelRatio,!1,!1)},m.drawTransparent=function(e){L(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,e,this.pixelRatio,!0,!1)},m.drawPick=function(e){L(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,e,1,!0,!0)},m.pick=function(e){if(!e)return null;if(e.id!==this.pickId)return null;var t=e.value[2]+(e.value[1]<<8)+(e.value[0]<<16);if(t>=this.pointCount||t<0)return null;var r=this.points[t],n=this._selectResult;n.index=t;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},m.highlight=function(e){if(e){var t=e.index,r=255&t,n=t>>8&255,i=t>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},m.update=function(e){if(\"perspective\"in(e=e||{})&&(this.useOrtho=!e.perspective),\"orthographic\"in e&&(this.useOrtho=!!e.orthographic),\"lineWidth\"in e&&(this.lineWidth=e.lineWidth),\"project\"in e)if(Array.isArray(e.project))this.axesProject=e.project;else{var t=!!e.project;this.axesProject=[t,t,t]}if(\"projectScale\"in e)if(Array.isArray(e.projectScale))this.projectScale=e.projectScale.slice();else{var r=+e.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,\"projectOpacity\"in e){Array.isArray(e.projectOpacity)?this.projectOpacity=e.projectOpacity.slice():(r=+e.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,\"opacity\"in e&&(this.opacity=v(e.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=e.position,l=e.font||\"normal\",u=e.alignment||[0,0];if(2===u.length)i=u[0],a=u[1];else for(i=[],a=[],n=0;n<u.length;++n)i[n]=u[n][0],a[n]=u[n][1];var c=[1/0,1/0,1/0],f=[-1/0,-1/0,-1/0],h=e.glyph,p=e.color,d=e.size,g=e.angle,m=e.lineColor,y=-1,x=0,b=0,_=0;if(s.length){_=s.length;e:for(n=0;n<_;++n){for(var w=s[n],k=0;k<3;++k)if(isNaN(w[k])||!isFinite(w[k]))continue e;var T=(N=P(h,n,l,this.pixelRatio)).mesh,M=N.lines,A=N.bounds;x+=3*T.cells.length,b+=2*M.edges.length}}var S=x+b,E=o.mallocFloat(3*S),C=o.mallocFloat(4*S),L=o.mallocFloat(2*S),O=o.mallocUint32(S);if(S>0){var I=0,D=x,z=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(m)&&Array.isArray(m[0]);e:for(n=0;n<_;++n){for(y+=1,w=s[n],k=0;k<3;++k){if(isNaN(w[k])||!isFinite(w[k]))continue e;f[k]=Math.max(f[k],w[k]),c[k]=Math.min(c[k],w[k])}T=(N=P(h,n,l,this.pixelRatio)).mesh,M=N.lines,A=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(U=F?n<p.length?p[n]:[0,0,0,0]:p).length){for(k=0;k<3;++k)z[k]=U[k];z[3]=1}else if(4===U.length){for(k=0;k<4;++k)z[k]=U[k];!this.hasAlpha&&U[3]<1&&(this.hasAlpha=!0)}}else z[0]=z[1]=z[2]=0,z[3]=1;else z=[1,1,1,0];if(j)if(Array.isArray(m)){var U;if(3===(U=B?n<m.length?m[n]:[0,0,0,0]:m).length){for(k=0;k<3;++k)R[k]=U[k];R[k]=1}else if(4===U.length){for(k=0;k<4;++k)R[k]=U[k];!this.hasAlpha&&U[3]<1&&(this.hasAlpha=!0)}}else R[0]=R[1]=R[2]=0,R[3]=1;else R=[1,1,1,0];var V=.5;j?Array.isArray(d)?V=n<d.length?+d[n]:12:d?V=+d:this.useOrtho&&(V=12):V=0;var H=0;Array.isArray(g)?H=n<g.length?+g[n]:0:g&&(H=+g);var q=Math.cos(H),G=Math.sin(H);for(w=s[n],k=0;k<3;++k)f[k]=Math.max(f[k],w[k]),c[k]=Math.min(c[k],w[k]);var Y=i,W=a;Y=0,Array.isArray(i)?Y=n<i.length?i[n]:0:i&&(Y=i),W=0,Array.isArray(a)?W=n<a.length?a[n]:0:a&&(W=a);var Z=[Y*=Y>0?1-A[0][0]:Y<0?1+A[1][0]:1,W*=W>0?1-A[0][1]:W<0?1+A[1][1]:1],X=T.cells||[],K=T.positions||[];for(k=0;k<X.length;++k)for(var J=X[k],$=0;$<3;++$){for(var Q=0;Q<3;++Q)E[3*I+Q]=w[Q];for(Q=0;Q<4;++Q)C[4*I+Q]=z[Q];O[I]=y;var ee=K[J[$]];L[2*I]=V*(q*ee[0]-G*ee[1]+Z[0]),L[2*I+1]=V*(G*ee[0]+q*ee[1]+Z[1]),I+=1}for(X=M.edges,K=M.positions,k=0;k<X.length;++k)for(J=X[k],$=0;$<2;++$){for(Q=0;Q<3;++Q)E[3*D+Q]=w[Q];for(Q=0;Q<4;++Q)C[4*D+Q]=R[Q];O[D]=y,ee=K[J[$]],L[2*D]=V*(q*ee[0]-G*ee[1]+Z[0]),L[2*D+1]=V*(G*ee[0]+q*ee[1]+Z[1]),D+=1}}}this.bounds=[c,f],this.points=s,this.pointCount=s.length,this.vertexCount=x,this.lineVertexCount=b,this.pointBuffer.update(E),this.colorBuffer.update(C),this.glyphBuffer.update(L),this.idBuffer.update(O),o.free(E),o.free(C),o.free(L),o.free(O)},m.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},1884:function(e,t,r){\"use strict\";var n=r(6832);t.boxVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 vertex;\\n\\nuniform vec2 cornerA, cornerB;\\n\\nvoid main() {\\n  gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\\n}\\n\"]),t.boxFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  gl_FragColor = color;\\n}\\n\"])},6623:function(e,t,r){\"use strict\";var n=r(5158),i=r(5827),a=r(1884);function o(e,t,r){this.plot=e,this.boxBuffer=t,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}e.exports=function(e,t){var r=e.gl,s=new o(e,i(r,[0,0,0,1,1,0,1,1]),n(r,a.boxVertex,a.boxFragment));return s.update(t),e.addOverlay(s),s};var s=o.prototype;s.draw=function(){if(this.enabled){var e=this.plot,t=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=e.box,s=e.screenBox,l=e.dataBox,u=e.viewBox,c=e.pixelRatio,f=(t[0]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],h=(t[1]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1],p=(t[2]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],d=(t[3]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1];if(f=Math.max(f,u[0]),h=Math.max(h,u[1]),p=Math.min(p,u[2]),d=Math.min(d,u[3]),!(p<f||d<h)){o.bind();var v=s[2]-s[0],g=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,v,h,i),o.drawBox(0,h,f,d,i),o.drawBox(0,d,v,g,i),o.drawBox(p,h,v,d,i)),this.innerFill&&o.drawBox(f,h,p,d,n),r>0){var m=r*c;o.drawBox(f-m,h-m,p+m,h+m,a),o.drawBox(f-m,d-m,p+m,d+m,a),o.drawBox(f-m,h-m,f+m,d+m,a),o.drawBox(p-m,h-m,p+m,d+m,a)}}}},s.update=function(e){e=e||{},this.innerFill=!!e.innerFill,this.outerFill=!!e.outerFill,this.innerColor=(e.innerColor||[0,0,0,.5]).slice(),this.outerColor=(e.outerColor||[0,0,0,.5]).slice(),this.borderColor=(e.borderColor||[0,0,0,1]).slice(),this.borderWidth=e.borderWidth||0,this.selectBox=(e.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},2611:function(e,t,r){\"use strict\";e.exports=function(e,t){var r=t[0],a=t[1];return new l(e,n(e,r,a,{}),i.mallocUint8(r*a*4))};var n=r(4234),i=r(5306),a=r(5050),o=r(2288).nextPow2;function s(e,t,r,n,i){this.coord=[e,t],this.id=r,this.value=n,this.distance=i}function l(e,t,r){this.gl=e,this.fbo=t,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(t.bind(),e.readPixels(0,0,t.shape[0],t.shape[1],e.RGBA,e.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=l.prototype;Object.defineProperty(u,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(e){if(this.gl){this.fbo.shape=e;var t=this.fbo.shape[0],r=this.fbo.shape[1];if(r*t*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*t*4)),a=0;a<r*t*4;++a)n[a]=255}return e}}}),u.begin=function(){var e=this.gl;this.shape,e&&(this.fbo.bind(),e.clearColor(1,1,1,1),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT))},u.end=function(){var e=this.gl;e&&(e.bindFramebuffer(e.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},u.query=function(e,t,r){if(!this.gl)return null;var n=this.fbo.shape.slice();e|=0,t|=0,\"number\"!=typeof r&&(r=1);var i=0|Math.min(Math.max(e-r,0),n[0]),o=0|Math.min(Math.max(e+r,0),n[0]),l=0|Math.min(Math.max(t-r,0),n[1]),u=0|Math.min(Math.max(t+r,0),n[1]);if(o<=i||u<=l)return null;var c=[o-i,u-l],f=a(this.buffer,[c[0],c[1],4],[4,4*n[0],1],4*(i+n[0]*l)),h=function(e,t,r){for(var n=1e8,i=-1,a=-1,o=e.shape[0],s=e.shape[1],l=0;l<o;l++)for(var u=0;u<s;u++){var c=e.get(l,u,0),f=e.get(l,u,1),h=e.get(l,u,2),p=e.get(l,u,3);if(c<255||f<255||h<255||p<255){var d=t-l,v=r-u,g=d*d+v*v;g<n&&(n=g,i=l,a=u)}}return[i,a,n]}(f.hi(c[0],c[1],1),r,r),p=h[0],d=h[1];return p<0||Math.pow(this.radius,2)<h[2]?null:new s(p+i|0,d+l|0,f.get(p,d,0),[f.get(p,d,1),f.get(p,d,2),f.get(p,d,3)],Math.sqrt(h[2]))},u.dispose=function(){this.gl&&(this.fbo.dispose(),i.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},5158:function(e,t,r){\"use strict\";var n=r(9016),i=r(4280),a=r(3984),o=r(1628),s=r(2631),l=r(9068);function u(e){this.gl=e,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var c=u.prototype;function f(e,t){return e.name<t.name?-1:1}c.bind=function(){var e;this.program||this._relink();var t=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(t>r)for(e=r;e<t;e++)this.gl.enableVertexAttribArray(e);else if(r>t)for(e=t;e<r;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=t,this.gl.useProgram(this.program)},c.dispose=function(){for(var e=this.gl.lastAttribCount,t=0;t<e;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},c.update=function(e,t,r,u){if(!t||1===arguments.length){var c=e;e=c.vertex,t=c.fragment,r=c.uniforms,u=c.attributes}var h=this,p=h.gl,d=h._vref;h._vref=o.shader(p,p.VERTEX_SHADER,e),d&&d.dispose(),h.vertShader=h._vref.shader;var v=this._fref;if(h._fref=o.shader(p,p.FRAGMENT_SHADER,t),v&&v.dispose(),h.fragShader=h._fref.shader,!r||!u){var g=p.createProgram();if(p.attachShader(g,h.fragShader),p.attachShader(g,h.vertShader),p.linkProgram(g),!p.getProgramParameter(g,p.LINK_STATUS)){var m=p.getProgramInfoLog(g);throw new l(m,\"Error linking program:\"+m)}r=r||s.uniforms(p,g),u=u||s.attributes(p,g),p.deleteProgram(g)}(u=u.slice()).sort(f);var y,x=[],b=[],_=[];for(y=0;y<u.length;++y){var w=u[y];if(w.type.indexOf(\"mat\")>=0){for(var k=0|w.type.charAt(w.type.length-1),T=new Array(k),M=0;M<k;++M)T[M]=_.length,b.push(w.name+\"[\"+M+\"]\"),\"number\"==typeof w.location?_.push(w.location+M):Array.isArray(w.location)&&w.location.length===k&&\"number\"==typeof w.location[M]?_.push(0|w.location[M]):_.push(-1);x.push({name:w.name,type:w.type,locations:T})}else x.push({name:w.name,type:w.type,locations:[_.length]}),b.push(w.name),\"number\"==typeof w.location?_.push(0|w.location):_.push(-1)}var A=0;for(y=0;y<_.length;++y)if(_[y]<0){for(;_.indexOf(A)>=0;)A+=1;_[y]=A}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var e=0;e<r.length;++e)S[e]=p.getUniformLocation(h.program,r[e].name)}E(),h._relink=E,h.types={uniforms:a(r),attributes:a(u)},h.attributes=i(p,h,x,_),Object.defineProperty(h,\"uniforms\",n(p,h,r,S))},e.exports=function(e,t,r,n,i){var a=new u(e);return a.update(t,r,n,i),a}},9068:function(e){function t(e,t,r){this.shortMessage=t||\"\",this.longMessage=r||\"\",this.rawError=e||\"\",this.message=\"gl-shader: \"+(t||e||\"\")+(r?\"\\n\"+r:\"\"),this.stack=(new Error).stack}t.prototype=new Error,t.prototype.name=\"GLError\",t.prototype.constructor=t,e.exports=t},4280:function(e,t,r){\"use strict\";e.exports=function(e,t,r,i){for(var a={},o=0,u=r.length;o<u;++o){var c=r[o],f=c.name,h=c.type,p=c.locations;switch(h){case\"bool\":case\"int\":case\"float\":s(e,t,p[0],i,1,a,f);break;default:if(h.indexOf(\"vec\")>=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+f+\": \"+h);s(e,t,p[0],i,d,a,f)}else{if(!(h.indexOf(\"mat\")>=0))throw new n(\"\",\"Unknown data type for attribute \"+f+\": \"+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+f+\": \"+h);l(e,t,p,i,d,a,f)}}}return a};var n=r(9068);function i(e,t,r,n,i,a){this._gl=e,this._wrapper=t,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(e,t,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,e||a.FLOAT,!!t,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(e,t,r,n){return this._constFunc(this._locations[this._index],e,t,r,n)},Object.defineProperty(a,\"location\",{get:function(){return this._locations[this._index]},set:function(e){return e!==this._locations[this._index]&&(this._locations[this._index]=0|e,this._wrapper.program=null),0|e}});var o=[function(e,t,r){return void 0===r.length?e.vertexAttrib1f(t,r):e.vertexAttrib1fv(t,r)},function(e,t,r,n){return void 0===r.length?e.vertexAttrib2f(t,r,n):e.vertexAttrib2fv(t,r)},function(e,t,r,n,i){return void 0===r.length?e.vertexAttrib3f(t,r,n,i):e.vertexAttrib3fv(t,r)},function(e,t,r,n,i,a){return void 0===r.length?e.vertexAttrib4f(t,r,n,i,a):e.vertexAttrib4fv(t,r)}];function s(e,t,r,n,a,s,l){var u=o[a],c=new i(e,t,r,n,a,u);Object.defineProperty(s,l,{set:function(t){return e.disableVertexAttribArray(n[r]),u(e,n[r],t),t},get:function(){return c},enumerable:!0})}function l(e,t,r,n,i,a,o){for(var l=new Array(i),u=new Array(i),c=0;c<i;++c)s(e,t,r[c],n,i,l,c),u[c]=l[c];Object.defineProperty(l,\"location\",{set:function(e){if(Array.isArray(e))for(var t=0;t<i;++t)u[t].location=e[t];else for(t=0;t<i;++t)u[t].location=e+t;return e},get:function(){for(var e=new Array(i),t=0;t<i;++t)e[t]=n[r[t]];return e},enumerable:!0}),l.pointer=function(t,a,o,s){t=t||e.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var u=n[r[l]];e.vertexAttribPointer(u,i,t,a,o,s+l*i),e.enableVertexAttribArray(u)}};var f=new Array(i),h=e[\"vertexAttrib\"+i+\"fv\"];Object.defineProperty(a,o,{set:function(t){for(var a=0;a<i;++a){var o=n[r[a]];if(e.disableVertexAttribArray(o),Array.isArray(t[0]))h.call(e,o,t[a]);else{for(var s=0;s<i;++s)f[s]=t[i*a+s];h.call(e,o,f)}}return t},get:function(){return l},enumerable:!0})}},9016:function(e,t,r){\"use strict\";var n=r(3984),i=r(9068);function a(e){return function(){return e}}function o(e,t){for(var r=new Array(e),n=0;n<e;++n)r[n]=t;return r}e.exports=function(e,t,r,s){function l(t){return function(n){for(var a=u(\"\",t),o=0;o<a.length;++o){var l=a[o],c=l[0],f=l[1];if(s[f]){var h=n;if(\"string\"==typeof c&&(0===c.indexOf(\".\")||0===c.indexOf(\"[\"))){var p=c;if(0===c.indexOf(\".\")&&(p=c.slice(1)),p.indexOf(\"]\")===p.length-1){var d=p.indexOf(\"[\"),v=p.slice(0,d),g=p.slice(d+1,p.length-1);h=v?n[v][g]:n[g]}else h=n[p]}var m,y=r[f].type;switch(y){case\"bool\":case\"int\":case\"sampler2D\":case\"samplerCube\":e.uniform1i(s[f],h);break;case\"float\":e.uniform1f(s[f],h);break;default:var x=y.indexOf(\"vec\");if(!(0<=x&&x<=1&&y.length===4+x)){if(0===y.indexOf(\"mat\")&&4===y.length){if((m=y.charCodeAt(y.length-1)-48)<2||m>4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+y);e[\"uniformMatrix\"+m+\"fv\"](s[f],!1,h);break}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+y)}if((m=y.charCodeAt(y.length-1)-48)<2||m>4)throw new i(\"\",\"Invalid data type\");switch(y.charAt(0)){case\"b\":case\"i\":e[\"uniform\"+m+\"iv\"](s[f],h);break;case\"v\":e[\"uniform\"+m+\"fv\"](s[f],h);break;default:throw new i(\"\",\"Unrecognized data type for vector \"+name+\": \"+y)}}}}}}function u(e,t){if(\"object\"!=typeof t)return[[e,t]];var r=[];for(var n in t){var i=t[n],a=e;parseInt(n)+\"\"===n?a+=\"[\"+n+\"]\":a+=\".\"+n,\"object\"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function c(e,t,n){if(\"object\"==typeof n){var u=f(n);Object.defineProperty(e,t,{get:a(u),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(e,t,{get:(c=n,function(e,t,r){return e.getUniform(t.program,r[c])}),set:l(n),enumerable:!0,configurable:!1}):e[t]=function(e){switch(e){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":case\"float\":return 0;default:var t=e.indexOf(\"vec\");if(0<=t&&t<=1&&e.length===4+t){if((r=e.charCodeAt(e.length-1)-48)<2||r>4)throw new i(\"\",\"Invalid data type\");return\"b\"===e.charAt(0)?o(r,!1):o(r,0)}if(0===e.indexOf(\"mat\")&&4===e.length){var r;if((r=e.charCodeAt(e.length-1)-48)<2||r>4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+e);return o(r*r,0)}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+e)}}(r[n].type);var c}function f(e){var t;if(Array.isArray(e)){t=new Array(e.length);for(var r=0;r<e.length;++r)c(t,r,e[r])}else for(var n in t={},e)c(t,n,e[n]);return t}var h=n(r,!0);return{get:a(f(h)),set:l(h),enumerable:!0,configurable:!0}}},3984:function(e){\"use strict\";e.exports=function(e,t){for(var r={},n=0;n<e.length;++n)for(var i=e[n].name.split(\".\"),a=r,o=0;o<i.length;++o){var s=i[o].split(\"[\");if(s.length>1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l<s.length;++l){var u=parseInt(s[l]);l<s.length-1||o<i.length-1?(u in a||(l<s.length-1?a[u]=[]:a[u]={}),a=a[u]):a[u]=t?n:e[n].type}}else o<i.length-1?(s[0]in a||(a[s[0]]={}),a=a[s[0]]):a[s[0]]=t?n:e[n].type}return r}},2631:function(e,t){\"use strict\";t.uniforms=function(e,t){for(var r=e.getProgramParameter(t,e.ACTIVE_UNIFORMS),n=[],a=0;a<r;++a){var o=e.getActiveUniform(t,a);if(o){var s=i(e,o.type);if(o.size>1)for(var l=0;l<o.size;++l)n.push({name:o.name.replace(\"[0]\",\"[\"+l+\"]\"),type:s});else n.push({name:o.name,type:s})}}return n},t.attributes=function(e,t){for(var r=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),n=[],a=0;a<r;++a){var o=e.getActiveAttrib(t,a);o&&n.push({name:o.name,type:i(e,o.type)})}return n};var r={FLOAT:\"float\",FLOAT_VEC2:\"vec2\",FLOAT_VEC3:\"vec3\",FLOAT_VEC4:\"vec4\",INT:\"int\",INT_VEC2:\"ivec2\",INT_VEC3:\"ivec3\",INT_VEC4:\"ivec4\",BOOL:\"bool\",BOOL_VEC2:\"bvec2\",BOOL_VEC3:\"bvec3\",BOOL_VEC4:\"bvec4\",FLOAT_MAT2:\"mat2\",FLOAT_MAT3:\"mat3\",FLOAT_MAT4:\"mat4\",SAMPLER_2D:\"sampler2D\",SAMPLER_CUBE:\"samplerCube\"},n=null;function i(e,t){if(!n){var i=Object.keys(r);n={};for(var a=0;a<i.length;++a){var o=i[a];n[e[o]]=r[o]}}return n[t]}},1628:function(e,t,r){\"use strict\";t.shader=function(e,t,r){return c(e).getShaderReference(t,r)},t.program=function(e,t,r,n,i){return c(e).getProgram(t,r,n,i)};var n=r(9068),i=r(3530),a=new(\"undefined\"==typeof WeakMap?r(4037):WeakMap),o=0;function s(e,t,r,n,i,a,o){this.id=e,this.src=t,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function l(e){this.gl=e,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var e=this.cache,t=e.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=e.programs[r[n]];a&&(delete e.programs[n],t.deleteProgram(a))}t.deleteShader(this.shader),delete e.shaders[this.type===t.FRAGMENT_SHADER|0][this.src]}};var u=l.prototype;function c(e){var t=a.get(e);return t||(t=new l(e),a.set(e,t)),t}u.getShaderReference=function(e,t){var r=this.gl,a=this.shaders[e===r.FRAGMENT_SHADER|0],l=a[t];if(l&&r.isShader(l.shader))l.count+=1;else{var u=function(e,t,r){var a=e.createShader(t);if(e.shaderSource(a,r),e.compileShader(a),!e.getShaderParameter(a,e.COMPILE_STATUS)){var o=e.getShaderInfoLog(a);try{var s=i(o,r,t)}catch(e){throw console.warn(\"Failed to format compiler error: \"+e),new n(o,\"Error compiling shader:\\n\"+o)}throw new n(o,s.short,s.long)}return a}(r,e,t);l=a[t]=new s(o++,t,e,u,[],1,this)}return l},u.getProgram=function(e,t,r,i){var a=[e.id,t.id,r.join(\":\"),i.join(\":\")].join(\"@\"),o=this.programs[a];return o&&this.gl.isProgram(o)||(this.programs[a]=o=function(e,t,r,i,a){var o=e.createProgram();e.attachShader(o,t),e.attachShader(o,r);for(var s=0;s<i.length;++s)e.bindAttribLocation(o,a[s],i[s]);if(e.linkProgram(o),!e.getProgramParameter(o,e.LINK_STATUS)){var l=e.getProgramInfoLog(o);throw new n(l,\"Error linking program: \"+l)}return o}(this.gl,e.shader,t.shader,r,i),e.programs.push(a),t.programs.push(a)),o}},3050:function(e){\"use strict\";function t(e){this.plot=e,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}e.exports=function(e,r){var n=new t(e);return n.update(r),e.addOverlay(n),n};var r=t.prototype;r.update=function(e){e=e||{},this.enable=(e.enable||[!0,!0,!1,!1]).slice(),this.width=(e.width||[1,1,1,1]).slice(),this.color=(e.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map((function(e){return e.slice()})),this.center=(e.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},r.draw=function(){var e=this.enable,t=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),u=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);e[0]&&a.drawLine(l,u,s[0],u,t[0],r[0]),e[1]&&a.drawLine(l,u,l,s[1],t[1],r[1]),e[2]&&a.drawLine(l,u,s[2],u,t[2],r[2]),e[3]&&a.drawLine(l,u,l,s[3],t[3],r[3])}},r.dispose=function(){this.plot.removeOverlay(this)}},3540:function(e,t,r){\"use strict\";var n=r(6832),i=r(5158),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, color;\\nattribute float weight;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 coordinates[3];\\nuniform vec4 colors[3];\\nuniform vec2 screenShape;\\nuniform float lineWidth;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  vec3 vertexPosition = mix(coordinates[0],\\n    mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\\n\\n  vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\\n  vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\\n  vec2 delta = weight * clipOffset * screenShape;\\n  vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\\n\\n  gl_Position   = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\\n  fragColor     = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\\n}\\n\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  gl_FragColor = fragColor;\\n}\"]);e.exports=function(e){return i(e,a,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])}},6496:function(e,t,r){\"use strict\";var n=r(5827),i=r(2944),a=r(3540);e.exports=function(e,t){var r=[];function o(e,t,n,i,a,o){var s=[e,t,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,r.push.apply(r,s)}o(0,0,0,0,0,1),o(0,0,0,1,0,1),o(0,0,0,2,0,1),o(1,0,0,1,-1,1),o(1,0,0,2,-1,1),o(0,1,0,0,-1,1),o(0,1,0,2,-1,1),o(0,0,1,0,-1,1),o(0,0,1,1,-1,1);var l=n(e,r),u=i(e,[{type:e.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:e.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:e.FLOAT,buffer:l,size:1,offset:24,stride:28}]),c=a(e);c.attributes.position.location=0,c.attributes.color.location=1,c.attributes.weight.location=2;var f=new s(e,l,u,c);return f.update(t),f};var o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(e,t,r,n){this.gl=e,this.buffer=t,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var l=s.prototype,u=[0,0,0],c=[0,0,0],f=[0,0];l.isTransparent=function(){return!1},l.drawTransparent=function(e){},l.draw=function(e){var t=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=e.model||o,s=e.view||o,l=e.projection||o;this.axes&&(i=this.axes.lastCubeProps.axis);for(var h=u,p=c,d=0;d<3;++d)i&&i[d]<0?(h[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(h[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);for(f[0]=t.drawingBufferWidth,f[1]=t.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=f,d=0;d<3;++d)n.uniforms.lineWidth=this.lineWidth[d]*this.pixelRatio,this.enabled[d]&&(r.draw(t.TRIANGLES,6,6*d),this.drawSides[d]&&r.draw(t.TRIANGLES,12,18+12*d));r.unbind()},l.update=function(e){e&&(\"bounds\"in e&&(this.bounds=e.bounds),\"position\"in e&&(this.position=e.position),\"lineWidth\"in e&&(this.lineWidth=e.lineWidth),\"colors\"in e&&(this.colors=e.colors),\"enabled\"in e&&(this.enabled=e.enabled),\"drawSides\"in e&&(this.drawSides=e.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},9578:function(e,t,r){var n=r(6832),i=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n  float segmentCount = 8.0;\\n\\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d);\\n  vec3 y = v * sin(angle) * length(d);\\n  vec3 v3 = x + y;\\n\\n  normal = normalize(v3);\\n\\n  return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\n\\nuniform float vectorScale, tubeScale;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 eyePosition, lightPosition;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  // Scale the vector magnitude to stay constant with\\n  // model & view changes.\\n  vec3 normal;\\n  vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n  //Lighting geometry parameters\\n  vec4 cameraCoordinate = view * tubePosition;\\n  cameraCoordinate.xyz /= cameraCoordinate.w;\\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\\n  f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\\n\\n  // vec4 m_position  = model * vec4(tubePosition, 1.0);\\n  vec4 t_position  = view * tubePosition;\\n  gl_Position      = projection * t_position;\\n\\n  f_color          = color;\\n  f_data           = tubePosition.xyz;\\n  f_position       = position.xyz;\\n  f_uv             = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n\\n  if(gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision highp float;\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n  float segmentCount = 8.0;\\n\\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d);\\n  vec3 y = v * sin(angle) * length(d);\\n  vec3 v3 = x + y;\\n\\n  normal = normalize(v3);\\n\\n  return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float tubeScale;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  vec3 normal;\\n  vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\\n\\n  gl_Position = projection * view * tubePosition;\\n  f_id        = id;\\n  f_position  = position.xyz;\\n}\\n\"]),s=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\\n\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},t.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},7307:function(e,t,r){\"use strict\";var n=r(2858),i=r(4020),a=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],o=function(e,t){var r,n=e.length;for(r=0;r<n;r++){var i=e[r];if(i===t)return r;if(i>t)return r-1}return r},s=function(e,t,r){return e<t?t:e>r?r:e},l=function(e){var t=1/0;e.sort((function(e,t){return e-t}));for(var r=e.length,n=1;n<r;n++){var i=Math.abs(e[n]-e[n-1]);i<t&&(t=i)}return t};e.exports=function(e,t){var r=e.startingPositions,u=e.maxLength||1e3,c=e.tubeSize||1,f=e.absoluteTubeSize,h=e.gridFill||\"+x+y+z\",p={};-1!==h.indexOf(\"-x\")&&(p.reversedX=!0),-1!==h.indexOf(\"-y\")&&(p.reversedY=!0),-1!==h.indexOf(\"-z\")&&(p.reversedZ=!0),p.filled=a.indexOf(h.replace(/-/g,\"\").replace(/\\+/g,\"\"));var d=e.getVelocity||function(t){return function(e,t,r){var i=t.vectors,a=t.meshgrid,l=e[0],u=e[1],c=e[2],f=a[0].length,h=a[1].length,p=a[2].length,d=o(a[0],l),v=o(a[1],u),g=o(a[2],c),m=d+1,y=v+1,x=g+1;if(d=s(d,0,f-1),m=s(m,0,f-1),v=s(v,0,h-1),y=s(y,0,h-1),g=s(g,0,p-1),x=s(x,0,p-1),d<0||v<0||g<0||m>f-1||y>h-1||x>p-1)return n.create();var b,_,w,k,T,M,A=a[0][d],S=a[0][m],E=a[1][v],C=a[1][y],L=a[2][g],P=(l-A)/(S-A),O=(u-E)/(C-E),I=(c-L)/(a[2][x]-L);switch(isFinite(P)||(P=.5),isFinite(O)||(O=.5),isFinite(I)||(I=.5),r.reversedX&&(d=f-1-d,m=f-1-m),r.reversedY&&(v=h-1-v,y=h-1-y),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:T=g,M=x,w=v*p,k=y*p,b=d*p*h,_=m*p*h;break;case 4:T=g,M=x,b=d*p,_=m*p,w=v*p*f,k=y*p*f;break;case 3:w=v,k=y,T=g*h,M=x*h,b=d*h*p,_=m*h*p;break;case 2:w=v,k=y,b=d*h,_=m*h,T=g*h*f,M=x*h*f;break;case 1:b=d,_=m,T=g*f,M=x*f,w=v*f*p,k=y*f*p;break;default:b=d,_=m,w=v*f,k=y*f,T=g*f*h,M=x*f*h}var D=i[b+w+T],z=i[b+w+M],R=i[b+k+T],F=i[b+k+M],B=i[_+w+T],N=i[_+w+M],j=i[_+k+T],U=i[_+k+M],V=n.create(),H=n.create(),q=n.create(),G=n.create();n.lerp(V,D,B,P),n.lerp(H,z,N,P),n.lerp(q,R,j,P),n.lerp(G,F,U,P);var Y=n.create(),W=n.create();n.lerp(Y,V,q,O),n.lerp(W,H,G,O);var Z=n.create();return n.lerp(Z,Y,W,I),Z}(t,e,p)},v=e.getDivergence||function(e,t){var r=n.create(),i=1e-4;n.add(r,e,[i,0,0]);var a=d(r);n.subtract(a,a,t),n.scale(a,a,1/i),n.add(r,e,[0,i,0]);var o=d(r);n.subtract(o,o,t),n.scale(o,o,1/i),n.add(r,e,[0,0,i]);var s=d(r);return n.subtract(s,s,t),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],m=t[0][0],y=t[0][1],x=t[0][2],b=t[1][0],_=t[1][1],w=t[1][2],k=function(e){var t=e[0],r=e[1],n=e[2];return!(t<m||t>b||r<y||r>_||n<x||n>w)},T=10*n.distance(t[0],t[1])/u,M=T*T,A=1,S=0,E=r.length;E>1&&(A=function(e){for(var t=[],r=[],n=[],i={},a={},o={},s=e.length,u=0;u<s;u++){var c=e[u],f=c[0],h=c[1],p=c[2];i[f]||(t.push(f),i[f]=!0),a[h]||(r.push(h),a[h]=!0),o[p]||(n.push(p),o[p]=!0)}var d=l(t),v=l(r),g=l(n),m=Math.min(d,v,g);return isFinite(m)?m:1}(r));for(var C=0;C<E;C++){var L=n.create();n.copy(L,r[C]);var P=[L],O=[],I=d(L),D=L;O.push(I);var z=[],R=v(L,I),F=n.length(R);isFinite(F)&&F>S&&(S=F),z.push(F),g.push({points:P,velocities:O,divergences:z});for(var B=0;B<100*u&&P.length<u&&k(L);){B++;var N=n.clone(I),j=n.squaredLength(N);if(0===j)break;j>M&&n.scale(N,N,T/Math.sqrt(j)),n.add(N,N,L),I=d(N),n.squaredDistance(D,N)-M>-1e-4*M&&(P.push(N),D=N,O.push(I),R=v(N,I),F=n.length(R),isFinite(F)&&F>S&&(S=F),z.push(F)),L=N}}var U=function(e,t,r,a){for(var o=0,s=0;s<e.length;s++)for(var l=e[s].velocities,u=0;u<l.length;u++)o=Math.max(o,n.length(l[u]));var c=e.map((function(e){return function(e,t,r,a){for(var o=e.points,s=e.velocities,l=e.divergences,u=[],c=[],f=[],h=[],p=[],d=[],v=0,g=0,m=i.create(),y=i.create(),x=0;x<o.length;x++){var b=o[x],_=s[x],w=l[x];0===t&&(w=.05*r),g=n.length(_)/a,m=i.create(),n.copy(m,_),m[3]=w;for(var k=0;k<8;k++)p[k]=[b[0],b[1],b[2],k];if(h.length>0)for(k=0;k<8;k++){var T=(k+1)%8;u.push(h[k],p[k],p[T],p[T],h[T],h[k]),f.push(y,m,m,m,y,y),d.push(v,g,g,g,v,v);var M=u.length;c.push([M-6,M-5,M-4],[M-3,M-2,M-1])}var A=h;h=p,p=A;var S=y;y=m,m=S;var E=v;v=g,g=E}return{positions:u,cells:c,vectors:f,vertexIntensity:d}}(e,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s<c.length;s++){var v=c[s],g=f.length;for(f=f.concat(v.positions),p=p.concat(v.vectors),d=d.concat(v.vertexIntensity),u=0;u<v.cells.length;u++){var m=v.cells[u],y=[];h.push(y);for(var x=0;x<m.length;x++)y.push(m[x]+g)}}return{positions:f,cells:h,vectors:p,vertexIntensity:d,colormap:t}}(g,e.colormap,S,A);return f?U.tubeScale=f:(0===S&&(S=1),U.tubeScale=.5*c*A/S),U};var u=r(9578),c=r(1140).createMesh;e.exports.createTubeMesh=function(e,t){return c(e,t,{shaders:u,traceType:\"streamtube\"})}},9054:function(e,t,r){var n=r(5158),i=r(6832),a=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute vec3 f;\\nattribute vec3 normal;\\n\\nuniform vec3 objectOffset;\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 lightPosition, eyePosition;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  vec3 localCoordinate = vec3(uv.zw, f.x);\\n  worldCoordinate = objectOffset + localCoordinate;\\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n  vec4 clipPosition = projection * view * worldPosition;\\n  gl_Position = clipPosition;\\n  kill = f.y;\\n  value = f.z;\\n  planeCoordinate = uv.xy;\\n\\n  vColor = texture2D(colormap, vec2(value, value));\\n\\n  //Lighting geometry parameters\\n  vec4 cameraCoordinate = view * worldPosition;\\n  cameraCoordinate.xyz /= cameraCoordinate.w;\\n  lightDirection = lightPosition - cameraCoordinate.xyz;\\n  eyeDirection   = eyePosition - cameraCoordinate.xyz;\\n  surfaceNormal  = normalize((vec4(normal,0) * inverseModel).xyz);\\n}\\n\"]),o=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat beckmannSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness) {\\n  return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\n}\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec3 lowerBound, upperBound;\\nuniform float contourTint;\\nuniform vec4 contourColor;\\nuniform sampler2D colormap;\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform float vertexColor;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  if (\\n    kill > 0.0 ||\\n    vColor.a == 0.0 ||\\n    outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\\n  ) discard;\\n\\n  vec3 N = normalize(surfaceNormal);\\n  vec3 V = normalize(eyeDirection);\\n  vec3 L = normalize(lightDirection);\\n\\n  if(gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  //decide how to interpolate color — in vertex or in fragment\\n  vec4 surfaceColor =\\n    step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\\n    step(.5, vertexColor) * vColor;\\n\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\\n}\\n\"]),s=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute float f;\\n\\nuniform vec3 objectOffset;\\nuniform mat3 permutation;\\nuniform mat4 model, view, projection;\\nuniform float height, zOffset;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  vec3 dataCoordinate = permutation * vec3(uv.xy, height);\\n  worldCoordinate = objectOffset + dataCoordinate;\\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n\\n  vec4 clipPosition = projection * view * worldPosition;\\n  clipPosition.z += zOffset;\\n\\n  gl_Position = clipPosition;\\n  value = f + objectOffset.z;\\n  kill = -1.0;\\n  planeCoordinate = uv.zw;\\n\\n  vColor = texture2D(colormap, vec2(value, value));\\n\\n  //Don't do lighting for contours\\n  surfaceNormal   = vec3(1,0,0);\\n  eyeDirection    = vec3(0,1,0);\\n  lightDirection  = vec3(0,0,1);\\n}\\n\"]),l=i([\"precision highp float;\\n#define GLSLIFY 1\\n\\nbool outOfRange(float a, float b, float p) {\\n  return ((p > max(a, b)) || \\n          (p < min(a, b)));\\n}\\n\\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y));\\n}\\n\\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\\n  return (outOfRange(a.x, b.x, p.x) ||\\n          outOfRange(a.y, b.y, p.y) ||\\n          outOfRange(a.z, b.z, p.z));\\n}\\n\\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\\n  return outOfRange(a.xyz, b.xyz, p.xyz);\\n}\\n\\nuniform vec2 shape;\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 surfaceNormal;\\n\\nvec2 splitFloat(float v) {\\n  float vh = 255.0 * v;\\n  float upper = floor(vh);\\n  float lower = fract(vh);\\n  return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\\n}\\n\\nvoid main() {\\n  if ((kill > 0.0) ||\\n      (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\\n\\n  vec2 ux = splitFloat(planeCoordinate.x / shape.x);\\n  vec2 uy = splitFloat(planeCoordinate.y / shape.y);\\n  gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\\n}\\n\"]);t.createShader=function(e){var t=n(e,a,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t.attributes.normal.location=2,t},t.createPickShader=function(e){var t=n(e,a,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t.attributes.normal.location=2,t},t.createContourShader=function(e){var t=n(e,s,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t},t.createPickContourShader=function(e){var t=n(e,s,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t}},3754:function(e,t,r){\"use strict\";e.exports=function(e){var t=e.gl,r=y(t),n=b(t),s=x(t),l=_(t),u=i(t),c=a(t,[{buffer:u,size:4,stride:w,offset:0},{buffer:u,size:3,stride:w,offset:16},{buffer:u,size:3,stride:w,offset:28}]),f=i(t),h=a(t,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(t),d=a(t,[{buffer:p,size:2,type:t.FLOAT}]),v=o(t,1,S,t.RGBA,t.UNSIGNED_BYTE);v.minFilter=t.LINEAR,v.magFilter=t.LINEAR;var g=new E(t,[0,0],[[0,0,0],[0,0,0]],r,n,u,c,v,s,l,f,h,p,d,[0,0,0]),m={levels:[[],[],[]]};for(var k in e)m[k]=e[k];return m.colormap=m.colormap||\"jet\",g.update(m),g};var n=r(2288),i=r(5827),a=r(2944),o=r(8931),s=r(5306),l=r(9156),u=r(7498),c=r(7382),f=r(5050),h=r(4162),p=r(104),d=r(7437),v=r(5070),g=r(9144),m=r(9054),y=m.createShader,x=m.createContourShader,b=m.createPickShader,_=m.createPickContourShader,w=40,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],M=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function A(e,t,r,n,i){this.position=e,this.index=t,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var e=0;e<3;++e){var t=M[e],r=(e+2)%3;t[(e+1)%3+0]=1,t[r+3]=1,t[e+6]=1}}();var S=256;function E(e,t,r,n,i,a,o,l,u,c,h,p,d,v,g){this.gl=e,this.shape=t,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new A([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=v,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var C=E.prototype;C.genColormap=function(e,t){var r=!1,n=c([l({colormap:e,nshades:S,format:\"rgba\"}).map((function(e,n){var i=t?function(e,t){if(!t)return 1;if(!t.length)return 1;for(var r=0;r<t.length;++r){if(t.length<2)return 1;if(t[r][0]===e)return t[r][1];if(t[r][0]>e&&r>0){var n=(t[r][0]-e)/(t[r][0]-t[r-1][0]);return t[r][1]*(1-n)+n*t[r-1][1]}}return 1}(n/255,t):e[3];return i<1&&(r=!0),[e[0],e[1],e[2],255*i]}))]);return u.divseq(n,255),this.hasAlphaScale=r,n},C.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},C.isOpaque=function(){return!this.isTransparent()},C.pickSlots=1,C.setPickBase=function(e){this.pickId=e};var L=[0,0,0],P={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function O(e,t){var r,n,i,a=t.axes&&t.axes.lastCubeProps.axis||L,o=t.showSurface,s=t.showContour;for(r=0;r<3;++r)for(o=o||t.surfaceProject[r],n=0;n<3;++n)s=s||t.contourProject[r][n];for(r=0;r<3;++r){var l=P.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=t.axesBounds[+(a[r]>0)][r],p(l,e.model,l);var u=P.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=e.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return P.showSurface=o,P.showContour=s,P}var I={model:k,view:k,projection:k,inverseModel:k.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},D=k.slice(),z=[1,0,0,0,1,0,0,0,1];function R(e,t){e=e||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=I;n.model=e.model||k,n.view=e.view||k,n.projection=e.projection||k,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=z,n.vertexColor=this.vertexColor;var s=D;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=O(n,this);if(c.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=M[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o<this.contourLevels[i].length;++o)o===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),this._contourCounts[i][o]&&(f.uniforms.height=this.contourLevels[i][o],h.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(f.uniforms.model=c.projections[i],f.uniforms.clipBounds=c.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){f.uniforms.permutation=M[o],r.lineWidth(this.contourWidth[o]*this.pixelRatio);for(var v=0;v<this.contourLevels[o].length;++v)v===this.highlightLevel[o]?(f.uniforms.contourColor=this.highlightColor[o],f.uniforms.contourTint=this.highlightTint[o]):0!==v&&v-1!==this.highlightLevel[o]||(f.uniforms.contourColor=this.contourColor[o],f.uniforms.contourTint=this.contourTint[o]),this._contourCounts[o][v]&&(f.uniforms.height=this.contourLevels[o][v],h.draw(r.LINES,this._contourCounts[o][v],this._contourOffsets[o][v]))}for(h.unbind(),(h=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=M[i],r.lineWidth(this.dynamicWidth[i]*this.pixelRatio),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(f.uniforms.model=c.projections[o],f.uniforms.clipBounds=c.clipBounds[o],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));h.unbind()}}C.draw=function(e){return R.call(this,e,!1)},C.drawTransparent=function(e){return R.call(this,e,!0)};var F={model:k,view:k,projection:k,inverseModel:k,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function B(e,t){return Array.isArray(e)?[t(e[0]),t(e[1]),t(e[2])]:[t(e),t(e),t(e)]}function N(e){return Array.isArray(e)?3===e.length?[e[0],e[1],e[2],1]:[e[0],e[1],e[2],e[3]]:[0,0,0,1]}function j(e){if(Array.isArray(e)){if(Array.isArray(e))return[N(e[0]),N(e[1]),N(e[2])];var t=N(e);return[t.slice(),t.slice(),t.slice()]}}C.drawPick=function(e){e=e||{};var t=this.gl;t.disable(t.CULL_FACE);var r=F;r.model=e.model||k,r.view=e.view||k,r.projection=e.projection||k,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.objectOffset=this.objectOffset,r.permutation=z;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var o=O(r,this);if(o.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(t.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(t.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),a=0;a<3;++a)for(t.lineWidth(this.contourWidth[a]*this.pixelRatio),s.uniforms.permutation=M[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(t.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=M[a],t.lineWidth(this.contourWidth[a]*this.pixelRatio);for(var u=0;u<this.contourLevels[a].length;++u)this._contourCounts[a][u]&&(s.uniforms.height=this.contourLevels[a][u],l.draw(t.LINES,this._contourCounts[a][u],this._contourOffsets[a][u]))}l.unbind()}},C.pick=function(e){if(!e)return null;if(e.id!==this.pickId)return null;var t=this._field[2].shape,r=this._pickResult,n=t[0]*(e.value[0]+(e.value[2]>>4)/16)/255,i=Math.floor(n),a=n-i,o=t[1]*(e.value[1]+(15&e.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var f=c?a:1-a,h=0;h<2;++h)for(var p=i+c,d=s+h,g=f*(h?l:1-l),m=0;m<3;++m)u[m]+=this._field[m].get(p,d)*g;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=v.le(this.contourLevels[x],u[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]<this.contourLevels[x].length-1){var b=this.contourLevels[x][y[x]],_=this.contourLevels[x][y[x]+1];Math.abs(b-u[x])>Math.abs(_-u[x])&&(y[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/t[0],r.uv[1]=o/t[1],m=0;m<3;++m)r.dataCoordinate[m]=this._field[m].get(r.index[0],r.index[1]);return r},C.padField=function(e,t){var r=t.shape.slice(),n=e.shape.slice();u.assign(e.lo(1,1).hi(r[0],r[1]),t),u.assign(e.lo(1).hi(r[0],1),t.hi(r[0],1)),u.assign(e.lo(1,n[1]-1).hi(r[0],1),t.lo(0,r[1]-1).hi(r[0],1)),u.assign(e.lo(0,1).hi(1,r[1]),t.hi(1)),u.assign(e.lo(n[0]-1,1).hi(1,r[1]),t.lo(r[0]-1)),e.set(0,0,t.get(0,0)),e.set(0,n[1]-1,t.get(0,r[1]-1)),e.set(n[0]-1,0,t.get(r[0]-1,0)),e.set(n[0]-1,n[1]-1,t.get(r[0]-1,r[1]-1))},C.update=function(e){e=e||{},this.objectOffset=e.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in e&&(this.contourWidth=B(e.contourWidth,Number)),\"showContour\"in e&&(this.showContour=B(e.showContour,Boolean)),\"showSurface\"in e&&(this.showSurface=!!e.showSurface),\"contourTint\"in e&&(this.contourTint=B(e.contourTint,Boolean)),\"contourColor\"in e&&(this.contourColor=j(e.contourColor)),\"contourProject\"in e&&(this.contourProject=B(e.contourProject,(function(e){return B(e,Boolean)}))),\"surfaceProject\"in e&&(this.surfaceProject=e.surfaceProject),\"dynamicColor\"in e&&(this.dynamicColor=j(e.dynamicColor)),\"dynamicTint\"in e&&(this.dynamicTint=B(e.dynamicTint,Number)),\"dynamicWidth\"in e&&(this.dynamicWidth=B(e.dynamicWidth,Number)),\"opacity\"in e&&(this.opacity=e.opacity),\"opacityscale\"in e&&(this.opacityscale=e.opacityscale),\"colorBounds\"in e&&(this.colorBounds=e.colorBounds),\"vertexColor\"in e&&(this.vertexColor=e.vertexColor?1:0),\"colormap\"in e&&this._colorMap.setPixels(this.genColormap(e.colormap,this.opacityscale));var t=e.field||e.coords&&e.coords[2]||null,r=!1;if(t||(t=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),\"field\"in e||\"coords\"in e){var i=(t.shape[0]+2)*(t.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[t.shape[0]+2,t.shape[1]+2]),this.padField(this._field[2],t),this.shape=t.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(e.coords){var l=e.coords;if(!Array.isArray(l)||3!==l.length)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(o=0;o<2;++o){var u=l[o];for(m=0;m<2;++m)if(u.shape[m]!==a[m])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[o],u)}}else if(e.ticks){var c=e.ticks;if(!Array.isArray(c)||2!==c.length)throw new Error(\"gl-surface: invalid ticks\");for(o=0;o<2;++o){var p=c[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error(\"gl-surface: invalid tick length\");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var v=[0,0];v[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],v,0)}this._field[0].set(0,0,0);for(var m=0;m<a[0];++m)this._field[0].set(m+1,0,m);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),m=0;m<a[1];++m)this._field[1].set(0,m+1,m);this._field[1].set(0,a[1]+1,a[1]-1)}var y=this._field,x=f(s.mallocFloat(3*y[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)g(x.pick(o),y[o],\"mirror\");var b=f(s.mallocFloat(3*y[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(m=0;m<a[1]+2;++m){var _=x.get(0,o,m,0),w=x.get(0,o,m,1),k=x.get(1,o,m,0),M=x.get(1,o,m,1),A=x.get(2,o,m,0),S=x.get(2,o,m,1),E=k*S-M*A,C=A*w-S*_,L=_*M-w*k,P=Math.sqrt(E*E+C*C+L*L);P<1e-8?(P=Math.max(Math.abs(E),Math.abs(C),Math.abs(L)))<1e-8?(L=1,C=E=0,P=1):P=1/P:P=1/Math.sqrt(P),b.set(o,m,0,E*P),b.set(o,m,1,C*P),b.set(o,m,2,L*P)}s.free(x.data);var O=[1/0,1/0,1/0],I=[-1/0,-1/0,-1/0],D=1/0,z=-1/0,R=(a[0]-1)*(a[1]-1)*6,F=s.mallocFloat(n.nextPow2(10*R)),N=0,U=0;for(o=0;o<a[0]-1;++o)e:for(m=0;m<a[1]-1;++m){for(var V=0;V<2;++V)for(var H=0;H<2;++H)for(var q=0;q<3;++q){var G=this._field[q].get(1+o+V,1+m+H);if(isNaN(G)||!isFinite(G))continue e}for(q=0;q<6;++q){var Y=o+T[q][0],W=m+T[q][1],Z=this._field[0].get(Y+1,W+1),X=this._field[1].get(Y+1,W+1);G=this._field[2].get(Y+1,W+1),E=b.get(Y+1,W+1,0),C=b.get(Y+1,W+1,1),L=b.get(Y+1,W+1,2),e.intensity&&(K=e.intensity.get(Y,W));var K=e.intensity?e.intensity.get(Y,W):G+this.objectOffset[2];F[N++]=Y,F[N++]=W,F[N++]=Z,F[N++]=X,F[N++]=G,F[N++]=0,F[N++]=K,F[N++]=E,F[N++]=C,F[N++]=L,O[0]=Math.min(O[0],Z+this.objectOffset[0]),O[1]=Math.min(O[1],X+this.objectOffset[1]),O[2]=Math.min(O[2],G+this.objectOffset[2]),D=Math.min(D,K),I[0]=Math.max(I[0],Z+this.objectOffset[0]),I[1]=Math.max(I[1],X+this.objectOffset[1]),I[2]=Math.max(I[2],G+this.objectOffset[2]),z=Math.max(z,K),U+=1}}for(e.intensityBounds&&(D=+e.intensityBounds[0],z=+e.intensityBounds[1]),o=6;o<N;o+=10)F[o]=(F[o]-D)/(z-D);this._vertexCount=U,this._coordinateBuffer.update(F.subarray(0,N)),s.freeFloat(F),s.free(b.data),this.bounds=[O,I],this.intensity=e.intensity||this._field[2],this.intensityBounds[0]===D&&this.intensityBounds[1]===z||(r=!0),this.intensityBounds=[D,z]}if(\"levels\"in e){var J=e.levels;for(J=Array.isArray(J[0])?J.slice():[[],[],J],o=0;o<3;++o)J[o]=J[o].slice(),J[o].sort((function(e,t){return e-t}));for(o=0;o<3;++o)for(m=0;m<J[o].length;++m)J[o][m]-=this.objectOffset[o];e:for(o=0;o<3;++o){if(J[o].length!==this.contourLevels[o].length){r=!0;break}for(m=0;m<J[o].length;++m)if(J[o][m]!==this.contourLevels[o][m]){r=!0;break e}}this.contourLevels=J}if(r){y=this._field,a=this.shape;for(var $=[],Q=0;Q<3;++Q){var ee=this.contourLevels[Q],te=[],re=[],ne=[0,0,0];for(o=0;o<ee.length;++o){var ie=h(this._field[Q],ee[o]);te.push($.length/5|0),U=0;e:for(m=0;m<ie.cells.length;++m){var ae=ie.cells[m];for(q=0;q<2;++q){var oe=ie.positions[ae[q]],se=oe[0],le=0|Math.floor(se),ue=se-le,ce=oe[1],fe=0|Math.floor(ce),he=ce-fe,pe=!1;t:for(var de=0;de<3;++de){ne[de]=0;var ve=(Q+de+1)%3;for(V=0;V<2;++V){var ge=V?ue:1-ue;for(Y=0|Math.min(Math.max(le+V,0),a[0]),H=0;H<2;++H){var me=H?he:1-he;if(W=0|Math.min(Math.max(fe+H,0),a[1]),G=de<2?this._field[ve].get(Y,W):(this.intensity.get(Y,W)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(G)||isNaN(G)){pe=!0;break t}var ye=ge*me;ne[de]+=ye*G}}}if(pe){if(q>0){for(var xe=0;xe<5;++xe)$.pop();U-=1}continue e}$.push(ne[0],ne[1],oe[0],oe[1],ne[2]),U+=1}}re.push(U)}this._contourOffsets[Q]=te,this._contourCounts[Q]=re}var be=s.mallocFloat($.length);for(o=0;o<$.length;++o)be[o]=$[o];this._contourBuffer.update(be),s.freeFloat(be)}},C.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var e=0;e<3;++e)s.freeFloat(this._field[e].data)},C.highlight=function(e){var t,r;if(!e)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(t=0;t<3;++t)this.enableHighlight[t]?this.highlightLevel[t]=e.level[t]:this.highlightLevel[t]=-1;for(r=this.snapToData?e.dataCoordinate:e.position,t=0;t<3;++t)r[t]-=this.objectOffset[t];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,u=(o+2)%3,c=this._field[o],f=this._field[l],p=this._field[u],d=h(c,r[o]),v=d.cells,g=d.positions;for(this._dynamicOffsets[o]=n,t=0;t<v.length;++t)for(var m=v[t],y=0;y<2;++y){var x=g[m[y]],b=+x[0],_=0|b,w=0|Math.min(_+1,i[0]),k=b-_,T=1-k,M=+x[1],A=0|M,S=0|Math.min(A+1,i[1]),E=M-A,C=1-E,L=T*C,P=T*E,O=k*C,I=k*E,D=L*f.get(_,A)+P*f.get(_,S)+O*f.get(w,A)+I*f.get(w,S),z=L*p.get(_,A)+P*p.get(_,S)+O*p.get(w,A)+I*p.get(w,S);if(isNaN(D)||isNaN(z)){y&&(n-=1);break}a[2*n+0]=D,a[2*n+1]=z,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),s.freeFloat(a)}}},8931:function(e,t,r){\"use strict\";var n=r(5050),i=r(7498),a=r(5306);e.exports=function(e){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");if(o||function(e){o=[e.LINEAR,e.NEAREST_MIPMAP_LINEAR,e.LINEAR_MIPMAP_NEAREST,e.LINEAR_MIPMAP_NEAREST],s=[e.NEAREST,e.LINEAR,e.NEAREST_MIPMAP_NEAREST,e.NEAREST_MIPMAP_LINEAR,e.LINEAR_MIPMAP_NEAREST,e.LINEAR_MIPMAP_LINEAR],l=[e.REPEAT,e.CLAMP_TO_EDGE,e.MIRRORED_REPEAT]}(e),\"number\"==typeof arguments[1])return g(e,arguments[1],arguments[2],arguments[3]||e.RGBA,arguments[4]||e.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return g(e,0|arguments[1][0],0|arguments[1][1],arguments[2]||e.RGBA,arguments[3]||e.UNSIGNED_BYTE);if(\"object\"==typeof arguments[1]){var t=arguments[1],r=u(t)?t:t.raw;if(r)return function(e,t,r,n,i,a){var o=v(e);return e.texImage2D(e.TEXTURE_2D,0,i,i,a,t),new h(e,o,r,n,i,a)}(e,r,0|t.width,0|t.height,arguments[2]||e.RGBA,arguments[3]||e.UNSIGNED_BYTE);if(t.shape&&t.data&&t.stride)return function(e,t){var r=t.dtype,o=t.shape.slice(),s=e.getParameter(e.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error(\"gl-texture2d: Invalid texture size\");var l=d(o,t.stride.slice()),u=0;\"float32\"===r?u=e.FLOAT:\"float64\"===r?(u=e.FLOAT,l=!1,r=\"float32\"):\"uint8\"===r?u=e.UNSIGNED_BYTE:(u=e.UNSIGNED_BYTE,l=!1,r=\"uint8\");var f,p,g=0;if(2===o.length)g=e.LUMINANCE,o=[o[0],o[1],1],t=n(t.data,o,[t.stride[0],t.stride[1],1],t.offset);else{if(3!==o.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===o[2])g=e.ALPHA;else if(2===o[2])g=e.LUMINANCE_ALPHA;else if(3===o[2])g=e.RGB;else{if(4!==o[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");g=e.RGBA}}u!==e.FLOAT||e.getExtension(\"OES_texture_float\")||(u=e.UNSIGNED_BYTE,l=!1);var m=t.size;if(l)f=0===t.offset&&t.data.length===m?t.data:t.data.subarray(t.offset,t.offset+m);else{var y=[o[2],o[2]*o[0],1];p=a.malloc(m,r);var x=n(p,o,y,0);\"float32\"!==r&&\"float64\"!==r||u!==e.UNSIGNED_BYTE?i.assign(x,t):c(x,t),f=p.subarray(0,m)}var b=v(e);return e.texImage2D(e.TEXTURE_2D,0,g,o[0],o[1],0,g,u,f),l||a.free(p),new h(e,b,o[0],o[1],g,u)}(e,t)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")};var o=null,s=null,l=null;function u(e){return\"undefined\"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||\"undefined\"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||\"undefined\"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement||\"undefined\"!=typeof ImageData&&e instanceof ImageData}var c=function(e,t){i.muls(e,t,255)};function f(e,t,r){var n=e.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(t<0||t>i||r<0||r>i)throw new Error(\"gl-texture2d: Invalid texture size\");return e._shape=[t,r],e.bind(),n.texImage2D(n.TEXTURE_2D,0,e.format,t,r,0,e.format,e.type,null),e._mipLevels=[0],e}function h(e,t,r,n,i,a){this.gl=e,this.handle=t,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=e.NEAREST,this._minFilter=e.NEAREST,this._wrapS=e.CLAMP_TO_EDGE,this._wrapT=e.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(e){return o.wrapS=e}},{get:function(){return o._wrapT},set:function(e){return o.wrapT=e}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(e){return o.width=e}},{get:function(){return o._shape[1]},set:function(e){return o.height=e}}]),this._shapeVector=l}var p=h.prototype;function d(e,t){return 3===e.length?1===t[2]&&t[1]===e[0]*e[2]&&t[0]===e[2]:1===t[0]&&t[1]===e[0]}function v(e){var t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function g(e,t,r,n,i){var a=e.getParameter(e.MAX_TEXTURE_SIZE);if(t<0||t>a||r<0||r>a)throw new Error(\"gl-texture2d: Invalid texture shape\");if(i===e.FLOAT&&!e.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var o=v(e);return e.texImage2D(e.TEXTURE_2D,0,n,t,r,0,n,i,null),new h(e,o,t,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(e){this.bind();var t=this.gl;if(this.type===t.FLOAT&&o.indexOf(e)>=0&&(t.getExtension(\"OES_texture_float_linear\")||(e=t.NEAREST)),s.indexOf(e)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+e);return t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),this._minFilter=e}},magFilter:{get:function(){return this._magFilter},set:function(e){this.bind();var t=this.gl;if(this.type===t.FLOAT&&o.indexOf(e)>=0&&(t.getExtension(\"OES_texture_float_linear\")||(e=t.NEAREST)),s.indexOf(e)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+e);return t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),this._magFilter=e}},mipSamples:{get:function(){return this._anisoSamples},set:function(e){var t=this._anisoSamples;if(this._anisoSamples=0|Math.max(e,1),t!==this._anisoSamples){var r=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(e){if(this.bind(),l.indexOf(e)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+e);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,e),this._wrapS=e}},wrapT:{get:function(){return this._wrapT},set:function(e){if(this.bind(),l.indexOf(e)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+e);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,e),this._wrapT=e}},wrap:{get:function(){return this._wrapVector},set:function(e){if(Array.isArray(e)||(e=[e,e]),2!==e.length)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var t=0;t<2;++t)if(l.indexOf(e[t])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+e);this._wrapS=e[0],this._wrapT=e[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),e}},shape:{get:function(){return this._shapeVector},set:function(e){if(Array.isArray(e)){if(2!==e.length)throw new Error(\"gl-texture2d: Invalid texture shape\")}else e=[0|e,0|e];return f(this,0|e[0],0|e[1]),[0|e[0],0|e[1]]}},width:{get:function(){return this._shape[0]},set:function(e){return f(this,e|=0,this._shape[1]),e}},height:{get:function(){return this._shape[1]},set:function(e){return e|=0,f(this,this._shape[0],e),e}}}),p.bind=function(e){var t=this.gl;return void 0!==e&&t.activeTexture(t.TEXTURE0+(0|e)),t.bindTexture(t.TEXTURE_2D,this.handle),void 0!==e?0|e:t.getParameter(t.ACTIVE_TEXTURE)-t.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var e=Math.min(this._shape[0],this._shape[1]),t=0;e>0;++t,e>>>=1)this._mipLevels.indexOf(t)<0&&this._mipLevels.push(t)},p.setPixels=function(e,t,r,o){var s=this.gl;this.bind(),Array.isArray(t)?(o=r,r=0|t[1],t=0|t[0]):(t=t||0,r=r||0),o=o||0;var l=u(e)?e:e.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,t,r,this.format,this.type,l);else{if(!(e.shape&&e.stride&&e.data))throw new Error(\"gl-texture2d: Unsupported data type\");if(e.shape.length<2||t+e.shape[1]>this._shape[1]>>>o||r+e.shape[0]>this._shape[0]>>>o||t<0||r<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");!function(e,t,r,o,s,l,u,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var v=0,g=0,m=d(p,f.stride.slice());if(\"float32\"===h?v=e.FLOAT:\"float64\"===h?(v=e.FLOAT,m=!1,h=\"float32\"):\"uint8\"===h?v=e.UNSIGNED_BYTE:(v=e.UNSIGNED_BYTE,m=!1,h=\"uint8\"),2===p.length)g=e.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.offset);else{if(3!==p.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===p[2])g=e.ALPHA;else if(2===p[2])g=e.LUMINANCE_ALPHA;else if(3===p[2])g=e.RGB;else{if(4!==p[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");g=e.RGBA}p[2]}if(g!==e.LUMINANCE&&g!==e.ALPHA||s!==e.LUMINANCE&&s!==e.ALPHA||(g=s),g!==s)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var y=f.size,x=u.indexOf(o)<0;if(x&&u.push(o),v===l&&m)0===f.offset&&f.data.length===y?x?e.texImage2D(e.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):e.texSubImage2D(e.TEXTURE_2D,o,t,r,p[0],p[1],s,l,f.data):x?e.texImage2D(e.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+y)):e.texSubImage2D(e.TEXTURE_2D,o,t,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+y));else{var b;b=l===e.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);v===e.FLOAT&&l===e.UNSIGNED_BYTE?c(_,f):i.assign(_,f),x?e.texImage2D(e.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):e.texSubImage2D(e.TEXTURE_2D,o,t,r,p[0],p[1],s,l,b.subarray(0,y)),l===e.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,t,r,o,this.format,this.type,this._mipLevels,e)}}},3056:function(e){\"use strict\";e.exports=function(e,t,r){t?t.bind():e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null);var n=0|e.getParameter(e.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error(\"gl-vao: Too many vertex attributes\");for(var i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||e.FLOAT,u=!!a.normalized,c=a.stride||0,f=a.offset||0;o.bind(),e.enableVertexAttribArray(i),e.vertexAttribPointer(i,s,l,u,c,f)}else{if(\"number\"==typeof a)e.vertexAttrib1f(i,a);else if(1===a.length)e.vertexAttrib1f(i,a[0]);else if(2===a.length)e.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)e.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error(\"gl-vao: Invalid vertex attribute\");e.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}e.disableVertexAttribArray(i)}}for(;i<n;++i)e.disableVertexAttribArray(i)}else for(e.bindBuffer(e.ARRAY_BUFFER,null),i=0;i<n;++i)e.disableVertexAttribArray(i)}},7220:function(e,t,r){\"use strict\";var n=r(3056);function i(e){this.gl=e,this._elements=null,this._attributes=null,this._elementsType=e.UNSIGNED_SHORT}i.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},i.prototype.update=function(e,t,r){this._elements=t,this._attributes=e,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.dispose=function(){},i.prototype.unbind=function(){},i.prototype.draw=function(e,t,r){r=r||0;var n=this.gl;this._elements?n.drawElements(e,t,this._elementsType,r):n.drawArrays(e,r,t)},e.exports=function(e){return new i(e)}},3778:function(e,t,r){\"use strict\";var n=r(3056);function i(e,t,r,n,i,a){this.location=e,this.dimension=t,this.a=r,this.b=n,this.c=i,this.d=a}function a(e,t,r){this.gl=e,this._ext=t,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=e.UNSIGNED_SHORT}i.prototype.bind=function(e){switch(this.dimension){case 1:e.vertexAttrib1f(this.location,this.a);break;case 2:e.vertexAttrib2f(this.location,this.a,this.b);break;case 3:e.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:e.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},a.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var e=0;e<this._attribs.length;++e)this._attribs[e].bind(this.gl)},a.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},a.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},a.prototype.update=function(e,t,r){if(this.bind(),n(this.gl,t,e),this.unbind(),this._attribs.length=0,e)for(var a=0;a<e.length;++a){var o=e[a];\"number\"==typeof o?this._attribs.push(new i(a,1,o)):Array.isArray(o)&&this._attribs.push(new i(a,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!t,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.prototype.draw=function(e,t,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(e,t,this._elementsType,r):n.drawArrays(e,r,t)},e.exports=function(e,t){return new a(e,t,t.createVertexArrayOES())}},2944:function(e,t,r){\"use strict\";var n=r(3778),i=r(7220);function a(e){this.bindVertexArrayOES=e.bindVertexArray.bind(e),this.createVertexArrayOES=e.createVertexArray.bind(e),this.deleteVertexArrayOES=e.deleteVertexArray.bind(e)}e.exports=function(e,t,r,o){var s,l=e.createVertexArray?new a(e):e.getExtension(\"OES_vertex_array_object\");return(s=l?n(e,l):i(e)).update(t,r,o),s}},2598:function(e){e.exports=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e}},5879:function(e,t,r){e.exports=function(e,t){var r=n(e[0],e[1],e[2]),o=n(t[0],t[1],t[2]);i(r,r),i(o,o);var s=a(r,o);return s>1?0:Math.acos(s)};var n=r(5415),i=r(899),a=r(9305)},8827:function(e){e.exports=function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}},7622:function(e){e.exports=function(e){var t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},8782:function(e){e.exports=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},8501:function(e){e.exports=function(){var e=new Float32Array(3);return e[0]=0,e[1]=0,e[2]=0,e}},903:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2];return e[0]=i*l-a*s,e[1]=a*o-n*l,e[2]=n*s-i*o,e}},5981:function(e,t,r){e.exports=r(8288)},8288:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}},8629:function(e,t,r){e.exports=r(7979)},7979:function(e){e.exports=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}},9305:function(e){e.exports=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}},154:function(e){e.exports=1e-6},4932:function(e,t,r){e.exports=function(e,t){var r=e[0],i=e[1],a=e[2],o=t[0],s=t[1],l=t[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(154)},5777:function(e){e.exports=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}},3306:function(e){e.exports=function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}},7447:function(e,t,r){e.exports=function(e,t,r,i,a,o){var s,l;for(t||(t=3),r||(r=0),l=i?Math.min(i*t+r,e.length):e.length,s=r;s<l;s+=t)n[0]=e[s],n[1]=e[s+1],n[2]=e[s+2],a(n,n,o),e[s]=n[0],e[s+1]=n[1],e[s+2]=n[2];return e};var n=r(8501)()},5415:function(e){e.exports=function(e,t,r){var n=new Float32Array(3);return n[0]=e,n[1]=t,n[2]=r,n}},2858:function(e,t,r){e.exports={EPSILON:r(154),create:r(8501),clone:r(7622),angle:r(5879),fromValues:r(5415),copy:r(8782),set:r(831),equals:r(4932),exactEquals:r(5777),add:r(2598),subtract:r(911),sub:r(8921),multiply:r(105),mul:r(5733),divide:r(7979),div:r(8629),min:r(3605),max:r(1716),floor:r(3306),ceil:r(8827),round:r(1624),scale:r(5685),scaleAndAdd:r(6722),distance:r(8288),dist:r(5981),squaredDistance:r(6403),sqrDist:r(5294),length:r(4693),len:r(1468),squaredLength:r(4337),sqrLen:r(3303),negate:r(435),inverse:r(2073),normalize:r(899),dot:r(9305),cross:r(903),lerp:r(1868),random:r(6660),transformMat4:r(3255),transformMat3:r(9908),transformQuat:r(6568),rotateX:r(392),rotateY:r(3222),rotateZ:r(3388),forEach:r(7447)}},2073:function(e){e.exports=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e}},1468:function(e,t,r){e.exports=r(4693)},4693:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)}},1868:function(e){e.exports=function(e,t,r,n){var i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e}},1716:function(e){e.exports=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e}},3605:function(e){e.exports=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e}},5733:function(e,t,r){e.exports=r(105)},105:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e}},435:function(e){e.exports=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}},899:function(e){e.exports=function(e,t){var r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a),e}},6660:function(e){e.exports=function(e,t){t=t||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*t;return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}},392:function(e){e.exports=function(e,t,r,n){var i=r[1],a=r[2],o=t[1]-i,s=t[2]-a,l=Math.sin(n),u=Math.cos(n);return e[0]=t[0],e[1]=i+o*u-s*l,e[2]=a+o*l+s*u,e}},3222:function(e){e.exports=function(e,t,r,n){var i=r[0],a=r[2],o=t[0]-i,s=t[2]-a,l=Math.sin(n),u=Math.cos(n);return e[0]=i+s*l+o*u,e[1]=t[1],e[2]=a+s*u-o*l,e}},3388:function(e){e.exports=function(e,t,r,n){var i=r[0],a=r[1],o=t[0]-i,s=t[1]-a,l=Math.sin(n),u=Math.cos(n);return e[0]=i+o*u-s*l,e[1]=a+o*l+s*u,e[2]=t[2],e}},1624:function(e){e.exports=function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e}},5685:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}},6722:function(e){e.exports=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}},831:function(e){e.exports=function(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}},5294:function(e,t,r){e.exports=r(6403)},3303:function(e,t,r){e.exports=r(4337)},6403:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}},4337:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}},8921:function(e,t,r){e.exports=r(911)},911:function(e){e.exports=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}},9908:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}},3255:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}},6568:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return e[0]=c*u+p*-o+f*-l-h*-s,e[1]=f*u+p*-s+h*-o-c*-l,e[2]=h*u+p*-l+c*-s-f*-o,e}},3433:function(e){e.exports=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}},1413:function(e){e.exports=function(e){var t=new Float32Array(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},3470:function(e){e.exports=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},5313:function(e){e.exports=function(){var e=new Float32Array(4);return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e}},5446:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},205:function(e){e.exports=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e[3]=t[3]/r[3],e}},4242:function(e){e.exports=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}},5680:function(e){e.exports=function(e,t,r,n){var i=new Float32Array(4);return i[0]=e,i[1]=t,i[2]=r,i[3]=n,i}},4020:function(e,t,r){e.exports={create:r(5313),clone:r(1413),fromValues:r(5680),copy:r(3470),set:r(6453),add:r(3433),subtract:r(2705),multiply:r(746),divide:r(205),min:r(2170),max:r(3030),scale:r(5510),scaleAndAdd:r(4224),distance:r(5446),squaredDistance:r(1542),length:r(8177),squaredLength:r(9037),negate:r(6459),inverse:r(8057),normalize:r(381),dot:r(4242),lerp:r(8746),random:r(3770),transformMat4:r(6342),transformQuat:r(5022)}},8057:function(e){e.exports=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e}},8177:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}},8746:function(e){e.exports=function(e,t,r,n){var i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}},3030:function(e){e.exports=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e[3]=Math.max(t[3],r[3]),e}},2170:function(e){e.exports=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e[3]=Math.min(t[3],r[3]),e}},746:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e[3]=t[3]*r[3],e}},6459:function(e){e.exports=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e}},381:function(e){e.exports=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o),e}},3770:function(e,t,r){var n=r(381),i=r(5510);e.exports=function(e,t){return t=t||1,e[0]=Math.random(),e[1]=Math.random(),e[2]=Math.random(),e[3]=Math.random(),n(e,e),i(e,e,t),e}},5510:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}},4224:function(e){e.exports=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e}},6453:function(e){e.exports=function(e,t,r,n,i){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e}},1542:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return r*r+n*n+i*i+a*a}},9037:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}},2705:function(e){e.exports=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e}},6342:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}},5022:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return e[0]=c*u+p*-o+f*-l-h*-s,e[1]=f*u+p*-s+h*-o-c*-l,e[2]=h*u+p*-l+c*-s-f*-o,e[3]=t[3],e}},9365:function(e,t,r){var n=r(8096),i=r(7896);e.exports=function(e){for(var t=Array.isArray(e)?e:n(e),r=0;r<t.length;r++){var a=t[r];if(\"preprocessor\"===a.type){var o=a.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},3193:function(e,t,r){e.exports=function(e){var t,r,k,T=0,M=0,A=l,S=[],E=[],C=1,L=0,P=0,O=!1,I=!1,D=\"\",z=a,R=n;\"300 es\"===(e=e||{}).version&&(z=s,R=o);var F={},B={};for(T=0;T<z.length;T++)F[z[T]]=!0;for(T=0;T<R.length;T++)B[R[T]]=!0;return function(e){return E=[],null!==e?function(e){var r;for(T=0,e.toString&&(e=e.toString()),D+=e.replace(/\\r\\n/g,\"\\n\"),k=D.length;t=D[T],T<k;){switch(r=T,A){case c:T=H();break;case f:case h:T=V();break;case p:T=q();break;case d:T=W();break;case _:T=Y();break;case v:T=Z();break;case u:T=X();break;case x:T=U();break;case l:T=j()}r!==T&&(\"\\n\"===D[r]?(L=0,++C):++L)}return M+=T,D=D.slice(T),E}(e):(S.length&&N(S.join(\"\")),A=b,N(\"(eof)\"),E)};function N(e){e.length&&E.push({type:w[A],data:e,position:P,line:C,column:L})}function j(){return S=S.length?[]:S,\"/\"===r&&\"*\"===t?(P=M+T-1,A=c,r=t,T+1):\"/\"===r&&\"/\"===t?(P=M+T-1,A=f,r=t,T+1):\"#\"===t?(A=h,P=M+T,T):/\\s/.test(t)?(A=x,P=M+T,T):(O=/\\d/.test(t),I=/[^\\w_]/.test(t),P=M+T,A=O?d:I?p:u,T)}function U(){return/[^\\s]/g.test(t)?(N(S.join(\"\")),A=l,T):(S.push(t),r=t,T+1)}function V(){return\"\\r\"!==t&&\"\\n\"!==t||\"\\\\\"===r?(S.push(t),r=t,T+1):(N(S.join(\"\")),A=l,T)}function H(){return\"/\"===t&&\"*\"===r?(S.push(t),N(S.join(\"\")),A=l,T+1):(S.push(t),r=t,T+1)}function q(){if(\".\"===r&&/\\d/.test(t))return A=v,T;if(\"/\"===r&&\"*\"===t)return A=c,T;if(\"/\"===r&&\"/\"===t)return A=f,T;if(\".\"===t&&S.length){for(;G(S););return A=v,T}if(\";\"===t||\")\"===t||\"(\"===t){if(S.length)for(;G(S););return N(t),A=l,T+1}var e=2===S.length&&\"=\"!==t;if(/[\\w_\\d\\s]/.test(t)||e){for(;G(S););return A=l,T}return S.push(t),r=t,T+1}function G(e){for(var t,r,n=0;;){if(t=i.indexOf(e.slice(0,e.length+n).join(\"\")),r=i[t],-1===t){if(n--+e.length>0)continue;r=e.slice(0,1).join(\"\")}return N(r),P+=r.length,(S=S.slice(r.length)).length}}function Y(){return/[^a-fA-F0-9]/.test(t)?(N(S.join(\"\")),A=l,T):(S.push(t),r=t,T+1)}function W(){return\".\"===t||/[eE]/.test(t)?(S.push(t),A=v,r=t,T+1):\"x\"===t&&1===S.length&&\"0\"===S[0]?(A=_,S.push(t),r=t,T+1):/[^\\d]/.test(t)?(N(S.join(\"\")),A=l,T):(S.push(t),r=t,T+1)}function Z(){return\"f\"===t&&(S.push(t),r=t,T+=1),/[eE]/.test(t)?(S.push(t),r=t,T+1):(\"-\"!==t&&\"+\"!==t||!/[eE]/.test(r))&&/[^\\d]/.test(t)?(N(S.join(\"\")),A=l,T):(S.push(t),r=t,T+1)}function X(){if(/[^\\d\\w_]/.test(t)){var e=S.join(\"\");return A=B[e]?y:F[e]?m:g,N(S.join(\"\")),A=l,T}return S.push(t),r=t,T+1}};var n=r(399),i=r(9746),a=r(9525),o=r(9458),s=r(3585),l=999,u=9999,c=0,f=1,h=2,p=3,d=4,v=5,g=6,m=7,y=8,x=9,b=10,_=11,w=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"]},3585:function(e,t,r){var n=r(9525);n=n.slice().filter((function(e){return!/^(gl\\_|texture)/.test(e)})),e.exports=n.concat([\"gl_VertexID\",\"gl_InstanceID\",\"gl_Position\",\"gl_PointSize\",\"gl_FragCoord\",\"gl_FrontFacing\",\"gl_FragDepth\",\"gl_PointCoord\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexUniformVectors\",\"gl_MaxVertexOutputVectors\",\"gl_MaxFragmentInputVectors\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxTextureImageUnits\",\"gl_MaxFragmentUniformVectors\",\"gl_MaxDrawBuffers\",\"gl_MinProgramTexelOffset\",\"gl_MaxProgramTexelOffset\",\"gl_DepthRangeParameters\",\"gl_DepthRange\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"])},9525:function(e){e.exports=[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]},9458:function(e,t,r){var n=r(399);e.exports=n.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\"])},399:function(e){e.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"uint\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"]},9746:function(e){e.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},8096:function(e,t,r){var n=r(3193);e.exports=function(e,t){var r=n(t),i=[];return(i=i.concat(r(e))).concat(r(null))}},6832:function(e){e.exports=function(e){\"string\"==typeof e&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n<e.length-1;n++)r.push(e[n],t[n]||\"\");return r.push(e[n]),r.join(\"\")}},5233:function(e,t,r){\"use strict\";var n=r(4846);e.exports=n&&function(){var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){e=!0}});window.addEventListener(\"test\",null,t),window.removeEventListener(\"test\",null,t)}catch(t){e=!1}return e}()},2183:function(e,t,r){\"use strict\";e.exports=function(e,t){var r=e.length;if(0===r)throw new Error(\"Must have at least d+1 points\");var i=e[0].length;if(r<=i)throw new Error(\"Must input at least d+1 points\");var o=e.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error(\"Input not in general position\");for(var l=new Array(i+1),c=0;c<=i;++c)l[c]=c;s<0&&(l[0]=1,l[1]=0);var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2);for(c=0;c<=i;++c){for(var d=l.slice(),v=0;v<=i;++v)v===c&&(d[v]=-1);var g=d[0];d[0]=d[1],d[1]=g;var m=new a(d,new Array(i+1),!0);h[c]=m,p[c]=m}for(p[i+1]=f,c=0;c<=i;++c){d=h[c].vertices;var y=h[c].adjacent;for(v=0;v<=i;++v){var x=d[v];if(x<0)y[v]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(y[v]=h[b])}}var _=new u(i,o,p),w=!!t;for(c=i+1;c<r;++c)_.insert(e[c],w);return _.boundary()};var n=r(417),i=r(8211).H;function a(e,t,r){this.vertices=e,this.adjacent=t,this.boundary=r,this.lastVisited=-1}function o(e,t,r){this.vertices=e,this.cell=t,this.index=r}function s(e,t){return i(e.vertices,t.vertices)}a.prototype.flip=function(){var e=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=e;var t=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=t};var l=[];function u(e,t,r){this.dimension=e,this.vertices=t,this.simplices=r,this.interior=r.filter((function(e){return!e.boundary})),this.tuple=new Array(e+1);for(var i=0;i<=e;++i)this.tuple[i]=this.vertices[i];var a,o=l[e];o||(o=l[e]=((a=n[e+1])||(a=n),function(e){return function(){var t=this.tuple;return e.apply(this,t)}}(a))),this.orient=o}var c=u.prototype;c.handleBoundaryDegeneracy=function(e,t){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[e];for(e.lastVisited=-n;o.length>0;)for(var s=(e=o.pop()).adjacent,l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,f=0;f<=r;++f){var h=c[f];i[f]=h<0?t:a[h]}var p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}return null},c.walk=function(e,t){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=t?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];e:for(;!s.boundary;){for(var l=s.vertices,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];for(s.lastVisited=r,c=0;c<=n;++c){var f=u[c];if(!(f.lastVisited>=r)){var h=a[c];a[c]=e;var p=this.orient();if(a[c]=h,p<0){s=f;continue e}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},c.addPeaks=function(e,t){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,f=[t];t.lastVisited=r,t.vertices[t.vertices.indexOf(-1)]=r,t.boundary=!1,u.push(t);for(var h=[];f.length>0;){var p=(t=f.pop()).vertices,d=t.adjacent,v=p.indexOf(r);if(!(v<0))for(var g=0;g<=n;++g)if(g!==v){var m=d[g];if(m.boundary&&!(m.lastVisited>=r)){var y=m.vertices;if(m.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=e):l[b]=i[y[b]];if(this.orient()>0){y[x]=r,m.boundary=!1,u.push(m),f.push(m),m.lastVisited=r;continue}m.lastVisited=-r}var _=m.adjacent,w=p.slice(),k=d.slice(),T=new a(w,k,!0);c.push(T);var M=_.indexOf(t);if(!(M<0))for(_[M]=T,k[v]=m,w[g]=-1,k[g]=t,d[g]=T,T.flip(),b=0;b<=n;++b){var A=w[b];if(!(A<0||A===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var L=w[C];L<0||C===b||(S[E++]=L)}h.push(new o(S,T,b))}}}}}for(h.sort(s),g=0;g+1<h.length;g+=2){var P=h[g],O=h[g+1],I=P.index,D=O.index;I<0||D<0||(P.cell.adjacent[P.index]=O.cell,O.cell.adjacent[O.index]=P.cell)}},c.insert=function(e,t){var r=this.vertices;r.push(e);var n=this.walk(e,t);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?e:r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,e)))&&this.addPeaks(e,n)}},c.boundary=function(){for(var e=this.dimension,t=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(e),s=a.vertices,l=0,u=0,c=0;c<=e;++c)s[c]>=0?o[l++]=s[c]:u=1&c;if(u===(1&e)){var f=o[0];o[0]=o[1],o[1]=f}t.push(o)}}return t}},9014:function(e,t,r){\"use strict\";var n=r(5070);function i(e,t,r,n,i){this.mid=e,this.left=t,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(t?t.count:0)+(r?r.count:0)+n.length}e.exports=function(e){return e&&0!==e.length?new m(g(e)):new m(null)};var a=i.prototype;function o(e,t){e.mid=t.mid,e.left=t.left,e.right=t.right,e.leftPoints=t.leftPoints,e.rightPoints=t.rightPoints,e.count=t.count}function s(e,t){var r=g(t);e.mid=r.mid,e.left=r.left,e.right=r.right,e.leftPoints=r.leftPoints,e.rightPoints=r.rightPoints,e.count=r.count}function l(e,t){var r=e.intervals([]);r.push(t),s(e,r)}function u(e,t){var r=e.intervals([]),n=r.indexOf(t);return n<0?0:(r.splice(n,1),s(e,r),1)}function c(e,t,r){for(var n=0;n<e.length&&e[n][0]<=t;++n){var i=r(e[n]);if(i)return i}}function f(e,t,r){for(var n=e.length-1;n>=0&&e[n][1]>=t;--n){var i=r(e[n]);if(i)return i}}function h(e,t){for(var r=0;r<e.length;++r){var n=t(e[r]);if(n)return n}}function p(e,t){return e-t}function d(e,t){return e[0]-t[0]||e[1]-t[1]}function v(e,t){return e[1]-t[1]||e[0]-t[0]}function g(e){if(0===e.length)return null;for(var t=[],r=0;r<e.length;++r)t.push(e[r][0],e[r][1]);t.sort(p);var n=t[t.length>>1],a=[],o=[],s=[];for(r=0;r<e.length;++r){var l=e[r];l[1]<n?a.push(l):n<l[0]?o.push(l):s.push(l)}var u=s,c=s.slice();return u.sort(d),c.sort(v),new i(n,g(a),g(o),u,c)}function m(e){this.root=e}a.intervals=function(e){return e.push.apply(e,this.leftPoints),this.left&&this.left.intervals(e),this.right&&this.right.intervals(e),e},a.insert=function(e){var t=this.count-this.leftPoints.length;if(this.count+=1,e[1]<this.mid)this.left?4*(this.left.count+1)>3*(t+1)?l(this,e):this.left.insert(e):this.left=g([e]);else if(e[0]>this.mid)this.right?4*(this.right.count+1)>3*(t+1)?l(this,e):this.right.insert(e):this.right=g([e]);else{var r=n.ge(this.leftPoints,e,d),i=n.ge(this.rightPoints,e,v);this.leftPoints.splice(r,0,e),this.rightPoints.splice(i,0,e)}},a.remove=function(e){var t=this.count-this.leftPoints;if(e[1]<this.mid)return this.left?4*(this.right?this.right.count:0)>3*(t-1)?u(this,e):2===(s=this.left.remove(e))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(e[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(t-1)?u(this,e):2===(s=this.right.remove(e))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===e?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===e){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,e,d);a<this.leftPoints.length&&this.leftPoints[a][0]===e[0];++a)if(this.leftPoints[a]===e)for(this.count-=1,this.leftPoints.splice(a,1),s=n.ge(this.rightPoints,e,v);s<this.rightPoints.length&&this.rightPoints[s][1]===e[1];++s)if(this.rightPoints[s]===e)return this.rightPoints.splice(s,1),1;return 0},a.queryPoint=function(e,t){return e<this.mid?this.left&&(r=this.left.queryPoint(e,t))?r:c(this.leftPoints,e,t):e>this.mid?this.right&&(r=this.right.queryPoint(e,t))?r:f(this.rightPoints,e,t):h(this.leftPoints,t);var r},a.queryInterval=function(e,t,r){var n;return e<this.mid&&this.left&&(n=this.left.queryInterval(e,t,r))||t>this.mid&&this.right&&(n=this.right.queryInterval(e,t,r))?n:t<this.mid?c(this.leftPoints,t,r):e>this.mid?f(this.rightPoints,e,r):h(this.leftPoints,r)};var y=m.prototype;y.insert=function(e){this.root?this.root.insert(e):this.root=new i(e[0],null,null,[e],[e])},y.remove=function(e){if(this.root){var t=this.root.remove(e);return 2===t&&(this.root=null),0!==t}return!1},y.queryPoint=function(e,t){if(this.root)return this.root.queryPoint(e,t)},y.queryInterval=function(e,t,r){if(e<=t&&this.root)return this.root.queryInterval(e,t,r)},Object.defineProperty(y,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(y,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}})},9560:function(e){\"use strict\";e.exports=function(e){for(var t=new Array(e),r=0;r<e;++r)t[r]=r;return t}},4846:function(e){e.exports=!0},4780:function(e){function t(e){return!!e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return\"function\"==typeof e.readFloatLE&&\"function\"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},3596:function(e){\"use strict\";e.exports=function(e){for(var t,r=e.length,n=0;n<r;n++)if(((t=e.charCodeAt(n))<9||t>13)&&32!==t&&133!==t&&160!==t&&5760!==t&&6158!==t&&(t<8192||t>8205)&&8232!==t&&8233!==t&&8239!==t&&8287!==t&&8288!==t&&12288!==t&&65279!==t)return!1;return!0}},3578:function(e){e.exports=function(e,t,r){return e*(1-r)+t*r}},7191:function(e,t,r){var n=r(4690),i=r(9823),a=r(7332),o=r(7787),s=r(7437),l=r(2142),u={length:r(4693),normalize:r(899),dot:r(9305),cross:r(903)},c=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function v(e,t,r,n,i){e[0]=t[0]*n+r[0]*i,e[1]=t[1]*n+r[1]*i,e[2]=t[2]*n+r[2]*i}e.exports=function(e,t,r,i,g,m){if(t||(t=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),m||(m=[0,0,0,1]),!n(c,e))return!1;if(a(f,c),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var y,x,b,_,w,k,T,M=c[3],A=c[7],S=c[11],E=c[12],C=c[13],L=c[14],P=c[15];if(0!==M||0!==A||0!==S){if(h[0]=M,h[1]=A,h[2]=S,h[3]=P,!s(f,f))return!1;l(f,f),y=g,b=f,_=(x=h)[0],w=x[1],k=x[2],T=x[3],y[0]=b[0]*_+b[4]*w+b[8]*k+b[12]*T,y[1]=b[1]*_+b[5]*w+b[9]*k+b[13]*T,y[2]=b[2]*_+b[6]*w+b[10]*k+b[14]*T,y[3]=b[3]*_+b[7]*w+b[11]*k+b[15]*T}else g[0]=g[1]=g[2]=0,g[3]=1;if(t[0]=E,t[1]=C,t[2]=L,function(e,t){e[0][0]=t[0],e[0][1]=t[1],e[0][2]=t[2],e[1][0]=t[4],e[1][1]=t[5],e[1][2]=t[6],e[2][0]=t[8],e[2][1]=t[9],e[2][2]=t[10]}(p,c),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),i[0]=u.dot(p[0],p[1]),v(p[1],p[1],p[0],1,-i[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),i[0]/=r[1],i[1]=u.dot(p[0],p[2]),v(p[2],p[2],p[0],1,-i[1]),i[2]=u.dot(p[1],p[2]),v(p[2],p[2],p[1],1,-i[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],u.cross(d,p[1],p[2]),u.dot(p[0],d)<0)for(var O=0;O<3;O++)r[O]*=-1,p[O][0]*=-1,p[O][1]*=-1,p[O][2]*=-1;return m[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),m[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),m[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),m[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(m[0]=-m[0]),p[0][2]>p[2][0]&&(m[1]=-m[1]),p[1][0]>p[0][1]&&(m[2]=-m[2]),!0}},4690:function(e){e.exports=function(e,t){var r=t[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)e[i]=t[i]*n;return!0}},7649:function(e,t,r){var n=r(1868),i=r(1102),a=r(7191),o=r(7787),s=r(1116),l=f(),u=f(),c=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(e){return[e||0,e||0,e||0]}e.exports=function(e,t,r,f){if(0===o(t)||0===o(r))return!1;var h=a(t,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,u.translate,u.scale,u.skew,u.perspective,u.quaternion);return!(!h||!p||(n(c.translate,l.translate,u.translate,f),n(c.skew,l.skew,u.skew,f),n(c.scale,l.scale,u.scale,f),n(c.perspective,l.perspective,u.perspective,f),s(c.quaternion,l.quaternion,u.quaternion,f),i(e,c.translate,c.scale,c.skew,c.perspective,c.quaternion),0))}},1102:function(e,t,r){var n={identity:r(9947),translate:r(998),multiply:r(104),create:r(9823),scale:r(3668),fromRotationTranslation:r(7280)},i=(n.create(),n.create());e.exports=function(e,t,r,a,o,s){return n.identity(e),n.fromRotationTranslation(e,s,t),e[3]=o[0],e[7]=o[1],e[11]=o[2],e[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(e,e,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(e,e,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(e,e,i)),n.scale(e,e,r),e}},9298:function(e,t,r){\"use strict\";var n=r(5070),i=r(7649),a=r(7437),o=r(6109),s=r(7115),l=r(5240),u=r(3012),c=r(998),f=(r(3668),r(899)),h=[0,0,0];function p(e){this._components=e.slice(),this._time=[0],this.prevMatrix=e.slice(),this.nextMatrix=e.slice(),this.computedMatrix=e.slice(),this.computedInverse=e.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(e){return new p((e=e||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(e){var t=this._time,r=n.le(t,e),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===t.length-1)for(var l=16*r,u=0;u<16;++u)o[u]=s[l++];else{var c=t[r+1]-t[r],h=(l=16*r,this.prevMatrix),p=!0;for(u=0;u<16;++u)h[u]=s[l++];var d=this.nextMatrix;for(u=0;u<16;++u)d[u]=s[l++],p=p&&h[u]===d[u];if(c<1e-6||p)for(u=0;u<16;++u)o[u]=h[u];else i(o,h,d,(e-t[r])/c)}var v=this.computedUp;v[0]=o[1],v[1]=o[5],v[2]=o[9],f(v,v);var g=this.computedInverse;a(g,o);var m=this.computedEye,y=g[15];m[0]=g[12]/y,m[1]=g[13]/y,m[2]=g[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(u=0;u<3;++u)x[u]=m[u]-o[2+4*u]*b}},d.idle=function(e){if(!(e<this.lastT())){for(var t=this._components,r=t.length-16,n=0;n<16;++n)t.push(t[r++]);this._time.push(e)}},d.flush=function(e){var t=n.gt(this._time,e)-2;t<0||(this._time.splice(0,t),this._components.splice(0,16*t))},d.lastT=function(){return this._time[this._time.length-1]},d.lookAt=function(e,t,r,n){this.recalcMatrix(e),t=t||this.computedEye,r=r||h,n=n||this.computedUp,this.setMatrix(e,u(this.computedMatrix,t,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-t[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},d.rotate=function(e,t,r,n){this.recalcMatrix(e);var i=this.computedInverse;t&&s(i,i,t),r&&o(i,i,r),n&&l(i,i,n),this.setMatrix(e,a(this.computedMatrix,i))};var v=[0,0,0];d.pan=function(e,t,r,n){v[0]=-(t||0),v[1]=-(r||0),v[2]=-(n||0),this.recalcMatrix(e);var i=this.computedInverse;c(i,i,v),this.setMatrix(e,a(i,i))},d.translate=function(e,t,r,n){v[0]=t||0,v[1]=r||0,v[2]=n||0,this.recalcMatrix(e);var i=this.computedMatrix;c(i,i,v),this.setMatrix(e,i)},d.setMatrix=function(e,t){if(!(e<this.lastT())){this._time.push(e);for(var r=0;r<16;++r)this._components.push(t[r])}},d.setDistance=function(e,t){this.computedRadius[0]=t},d.setDistanceLimits=function(e,t){var r=this._limits;r[0]=e,r[1]=t},d.getDistanceLimits=function(e){var t=this._limits;return e?(e[0]=t[0],e[1]=t[1],e):t}},3266:function(e,t,r){\"use strict\";e.exports=function(e){var t=e.length;if(t<3){for(var r=new Array(t),i=0;i<t;++i)r[i]=i;return 2===t&&e[0][0]===e[1][0]&&e[0][1]===e[1][1]?[0]:r}var a=new Array(t);for(i=0;i<t;++i)a[i]=i;a.sort((function(t,r){return e[t][0]-e[r][0]||e[t][1]-e[r][1]}));var o=[a[0],a[1]],s=[a[0],a[1]];for(i=2;i<t;++i){for(var l=a[i],u=e[l],c=o.length;c>1&&n(e[o[c-2]],e[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&n(e[s[c-2]],e[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i<h;++i)r[f++]=o[i];for(var p=s.length-2;p>0;--p)r[f++]=s[p];return r};var n=r(417)[3]},6145:function(e,t,r){\"use strict\";e.exports=function(e,t){t||(t=e,e=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(e){var t=!1;return\"altKey\"in e&&(t=t||e.altKey!==o.alt,o.alt=!!e.altKey),\"shiftKey\"in e&&(t=t||e.shiftKey!==o.shift,o.shift=!!e.shiftKey),\"ctrlKey\"in e&&(t=t||e.ctrlKey!==o.control,o.control=!!e.ctrlKey),\"metaKey\"in e&&(t=t||e.metaKey!==o.meta,o.meta=!!e.metaKey),t}function u(e,s){var u=n.x(s),c=n.y(s);\"buttons\"in s&&(e=0|s.buttons),(e!==r||u!==i||c!==a||l(s))&&(r=0|e,i=u||0,a=c||0,t&&t(r,i,a,o))}function c(e){u(0,e)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,t&&t(0,0,0,o))}function h(e){l(e)&&t&&t(r,i,a,o)}function p(e){0===n.buttons(e)?u(0,e):u(r,e)}function d(e){u(r|n.buttons(e),e)}function v(e){u(r&~n.buttons(e),e)}function g(){s||(s=!0,e.addEventListener(\"mousemove\",p),e.addEventListener(\"mousedown\",d),e.addEventListener(\"mouseup\",v),e.addEventListener(\"mouseleave\",c),e.addEventListener(\"mouseenter\",c),e.addEventListener(\"mouseout\",c),e.addEventListener(\"mouseover\",c),e.addEventListener(\"blur\",f),e.addEventListener(\"keyup\",h),e.addEventListener(\"keydown\",h),e.addEventListener(\"keypress\",h),e!==window&&(window.addEventListener(\"blur\",f),window.addEventListener(\"keyup\",h),window.addEventListener(\"keydown\",h),window.addEventListener(\"keypress\",h)))}g();var m={element:e};return Object.defineProperties(m,{enabled:{get:function(){return s},set:function(t){t?g():s&&(s=!1,e.removeEventListener(\"mousemove\",p),e.removeEventListener(\"mousedown\",d),e.removeEventListener(\"mouseup\",v),e.removeEventListener(\"mouseleave\",c),e.removeEventListener(\"mouseenter\",c),e.removeEventListener(\"mouseout\",c),e.removeEventListener(\"mouseover\",c),e.removeEventListener(\"blur\",f),e.removeEventListener(\"keyup\",h),e.removeEventListener(\"keydown\",h),e.removeEventListener(\"keypress\",h),e!==window&&(window.removeEventListener(\"blur\",f),window.removeEventListener(\"keyup\",h),window.removeEventListener(\"keydown\",h),window.removeEventListener(\"keypress\",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),m};var n=r(4110)},2565:function(e){var t={left:0,top:0};e.exports=function(e,r,n){r=r||e.currentTarget||e.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=e.clientX||0,o=e.clientY||0,s=(i=r)===window||i===document||i===document.body?t:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4110:function(e,t){\"use strict\";function r(e){return e.target||e.srcElement||window}t.buttons=function(e){if(\"object\"==typeof e){if(\"buttons\"in e)return e.buttons;if(\"which\"in e){if(2===(t=e.which))return 4;if(3===t)return 2;if(t>0)return 1<<t-1}else if(\"button\"in e){var t;if(1===(t=e.button))return 4;if(2===t)return 2;if(t>=0)return 1<<t}}return 0},t.element=r,t.x=function(e){if(\"object\"==typeof e){if(\"offsetX\"in e)return e.offsetX;var t=r(e).getBoundingClientRect();return e.clientX-t.left}return 0},t.y=function(e){if(\"object\"==typeof e){if(\"offsetY\"in e)return e.offsetY;var t=r(e).getBoundingClientRect();return e.clientY-t.top}return 0}},6475:function(e,t,r){\"use strict\";var n=r(14);e.exports=function(e,t,r){\"function\"==typeof e&&(r=!!t,t=e,e=window);var i=n(\"ex\",e),a=function(e){r&&e.preventDefault();var n=e.deltaX||0,a=e.deltaY||0,o=e.deltaZ||0,s=1;switch(e.deltaMode){case 1:s=i;break;case 2:s=window.innerHeight}if(a*=s,o*=s,(n*=s)||a||o)return t(n,a,o,e)};return e.addEventListener(\"wheel\",a),a}},9284:function(e,t,r){\"use strict\";var n=r(5306);e.exports=function(e){function t(e){throw new Error(\"ndarray-extract-contour: \"+e)}\"object\"!=typeof e&&t(\"Must specify arguments\");var r=e.order;Array.isArray(r)||t(\"Must specify order\");var a=e.arrayArguments||1;a<1&&t(\"Must have at least one array argument\"),(e.scalarArguments||0)<0&&t(\"Scalar arg count must be > 0\"),\"function\"!=typeof e.vertex&&t(\"Must specify vertex creation function\"),\"function\"!=typeof e.cell&&t(\"Must specify cell creation function\"),\"function\"!=typeof e.phase&&t(\"Must specify phase function\");for(var o=e.getters||[],s=new Array(a),l=0;l<a;++l)o.indexOf(l)>=0?s[l]=!0:s[l]=!1;return function(e,t,r,a,o,s){var l=[s,o].join(\",\");return(0,i[l])(e,t,r,n.mallocUint32,n.freeUint32)}(e.vertex,e.cell,e.phase,0,r,s)};var i={\"false,0,1\":function(e,t,r,n,i){return function(a,o,s,l){var u,c=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],v=0|a.stride[1],g=p,m=0|-d,y=0,x=0|-v,b=0,_=-d-v|0,w=0,k=0|d,T=v-d*c|0,M=0,A=0,S=0,E=2*c|0,C=n(E),L=n(E),P=0,O=0,I=-1,D=-1,z=0,R=0|-c,F=0|c,B=0,N=-c-1|0,j=c-1|0,U=0,V=0,H=0;for(M=0;M<c;++M)C[P++]=r(h[g],o,s,l),g+=k;if(g+=T,f>0){if(A=1,C[P++]=r(h[g],o,s,l),g+=k,c>0)for(M=1,u=h[g],O=C[P]=r(u,o,s,l),z=C[P+I],B=C[P+R],U=C[P+N],O===z&&O===B&&O===U||(y=h[g+m],b=h[g+x],w=h[g+_],e(M,A,u,y,b,w,O,z,B,U,o,s,l),V=L[P]=S++),P+=1,g+=k,M=2;M<c;++M)u=h[g],O=C[P]=r(u,o,s,l),z=C[P+I],B=C[P+R],U=C[P+N],O===z&&O===B&&O===U||(y=h[g+m],b=h[g+x],w=h[g+_],e(M,A,u,y,b,w,O,z,B,U,o,s,l),V=L[P]=S++,U!==z&&t(L[P+I],V,w,y,U,z,o,s,l)),P+=1,g+=k;for(g+=T,P=0,H=I,I=D,D=H,H=R,R=F,F=H,H=N,N=j,j=H,A=2;A<f;++A){if(C[P++]=r(h[g],o,s,l),g+=k,c>0)for(M=1,u=h[g],O=C[P]=r(u,o,s,l),z=C[P+I],B=C[P+R],U=C[P+N],O===z&&O===B&&O===U||(y=h[g+m],b=h[g+x],w=h[g+_],e(M,A,u,y,b,w,O,z,B,U,o,s,l),V=L[P]=S++,U!==B&&t(L[P+R],V,b,w,B,U,o,s,l)),P+=1,g+=k,M=2;M<c;++M)u=h[g],O=C[P]=r(u,o,s,l),z=C[P+I],B=C[P+R],U=C[P+N],O===z&&O===B&&O===U||(y=h[g+m],b=h[g+x],w=h[g+_],e(M,A,u,y,b,w,O,z,B,U,o,s,l),V=L[P]=S++,U!==B&&t(L[P+R],V,b,w,B,U,o,s,l),U!==z&&t(L[P+I],V,w,y,U,z,o,s,l)),P+=1,g+=k;1&A&&(P=0),H=I,I=D,D=H,H=R,R=F,F=H,H=N,N=j,j=H,g+=T}}i(L),i(C)}},\"false,1,0\":function(e,t,r,n,i){return function(a,o,s,l){var u,c=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],v=0|a.stride[1],g=p,m=0|-d,y=0,x=0|-v,b=0,_=-d-v|0,w=0,k=0|v,T=d-v*f|0,M=0,A=0,S=0,E=2*f|0,C=n(E),L=n(E),P=0,O=0,I=-1,D=-1,z=0,R=0|-f,F=0|f,B=0,N=-f-1|0,j=f-1|0,U=0,V=0,H=0;for(A=0;A<f;++A)C[P++]=r(h[g],o,s,l),g+=k;if(g+=T,c>0){if(M=1,C[P++]=r(h[g],o,s,l),g+=k,f>0)for(A=1,u=h[g],O=C[P]=r(u,o,s,l),B=C[P+R],z=C[P+I],U=C[P+N],O===B&&O===z&&O===U||(y=h[g+m],b=h[g+x],w=h[g+_],e(M,A,u,y,b,w,O,B,z,U,o,s,l),V=L[P]=S++),P+=1,g+=k,A=2;A<f;++A)u=h[g],O=C[P]=r(u,o,s,l),B=C[P+R],z=C[P+I],U=C[P+N],O===B&&O===z&&O===U||(y=h[g+m],b=h[g+x],w=h[g+_],e(M,A,u,y,b,w,O,B,z,U,o,s,l),V=L[P]=S++,U!==z&&t(L[P+I],V,b,w,z,U,o,s,l)),P+=1,g+=k;for(g+=T,P=0,H=R,R=F,F=H,H=I,I=D,D=H,H=N,N=j,j=H,M=2;M<c;++M){if(C[P++]=r(h[g],o,s,l),g+=k,f>0)for(A=1,u=h[g],O=C[P]=r(u,o,s,l),B=C[P+R],z=C[P+I],U=C[P+N],O===B&&O===z&&O===U||(y=h[g+m],b=h[g+x],w=h[g+_],e(M,A,u,y,b,w,O,B,z,U,o,s,l),V=L[P]=S++,U!==B&&t(L[P+R],V,w,y,U,B,o,s,l)),P+=1,g+=k,A=2;A<f;++A)u=h[g],O=C[P]=r(u,o,s,l),B=C[P+R],z=C[P+I],U=C[P+N],O===B&&O===z&&O===U||(y=h[g+m],b=h[g+x],w=h[g+_],e(M,A,u,y,b,w,O,B,z,U,o,s,l),V=L[P]=S++,U!==z&&t(L[P+I],V,b,w,z,U,o,s,l),U!==B&&t(L[P+R],V,w,y,U,B,o,s,l)),P+=1,g+=k;1&M&&(P=0),H=R,R=F,F=H,H=I,I=D,D=H,H=N,N=j,j=H,g+=T}}i(L),i(C)}}}},9144:function(e,t,r){\"use strict\";var n=r(3094),i={zero:function(e,t,r,n){var i=e[0];n|=0;var a=0,o=r[0];for(a=0;a<i;++a)t[n]=0,n+=o},fdTemplate1:function(e,t,r,n,i,a,o){var s=e[0],l=r[0],u=-1*l,c=l;n|=0,o|=0;var f=0,h=l,p=a[0];for(f=0;f<s;++f)i[o]=.5*(t[n+u]-t[n+c]),n+=h,o+=p},fdTemplate2:function(e,t,r,n,i,a,o,s,l,u){var c=e[0],f=e[1],h=r[0],p=r[1],d=a[0],v=a[1],g=l[0],m=l[1],y=-1*h,x=h,b=-1*p,_=p;n|=0,o|=0,u|=0;var w=0,k=0,T=p,M=h-f*p,A=v,S=d-f*v,E=m,C=g-f*m;for(k=0;k<c;++k){for(w=0;w<f;++w)i[o]=.5*(t[n+y]-t[n+x]),s[u]=.5*(t[n+b]-t[n+_]),n+=T,o+=A,u+=E;n+=M,o+=S,u+=C}}},a={cdiff:function(e){var t={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,u=i.dtype,c=i.order,f=[a,o.join(),s,l.join(),u,c.join()].join(),h=t[f];return h||(t[f]=h=e([a,o,s,l,u,c])),h(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i.data,i.stride,0|i.offset)}},zero:function(e){var t={};return function(r){var n=r.dtype,i=r.order,a=[n,i.join()].join(),o=t[a];return o||(t[a]=o=e([n,i])),o(r.shape.slice(0),r.data,r.stride,0|r.offset)}},fdTemplate1:function(e){var t={};return function(r,n){var i=r.dtype,a=r.order,o=n.dtype,s=n.order,l=[i,a.join(),o,s.join()].join(),u=t[l];return u||(t[l]=u=e([i,a,o,s])),u(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset)}},fdTemplate2:function(e){var t={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,u=i.dtype,c=i.order,f=[a,o.join(),s,l.join(),u,c.join()].join(),h=t[f];return h||(t[f]=h=e([a,o,s,l,u,c])),h(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i.data,i.stride,0|i.offset)}}};function o(e){return(0,a[e.funcName])(s.bind(void 0,e))}function s(e){return i[e.funcName]}function l(e){return o({funcName:e.funcName})}var u={},c={},f=l({funcName:\"cdiff\"}),h=l({funcName:\"zero\"});function p(e){return e in u?u[e]:u[e]=l({funcName:\"fdTemplate\"+e})}function d(e,t,r,n){return function(e,i){var a=i.shape.slice();return a[0]>2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),e.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),e.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),e.pick(0,-1,1).lo(1).hi(a[1]-2)),t(e.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),e.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),t(e.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),e.pick(-1,0,0).lo(1).hi(a[0]-2)),t(e.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),e.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),t(e.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),e.set(0,0,0,0),e.set(0,0,1,0),e.set(a[0]-1,0,0,0),e.set(a[0]-1,0,1,0),e.set(0,a[1]-1,0,0),e.set(0,a[1]-1,1,0),e.set(a[0]-1,a[1]-1,0,0),e.set(a[0]-1,a[1]-1,1,0),e}}e.exports=function(e,t,r){return Array.isArray(r)||(r=n(t.dimension,\"string\"==typeof r?r:\"clamp\")),0===t.size?e:0===t.dimension?(e.set(0),e):function(e){var t=e.join();if(a=c[t])return a;for(var r=e.length,n=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return c[t]=a,a}(r)(e,t)}},3581:function(e){\"use strict\";function t(e,t){var r=Math.floor(t),n=t-r,i=0<=r&&r<e.shape[0],a=0<=r+1&&r+1<e.shape[0];return(1-n)*(i?+e.get(r):0)+n*(a?+e.get(r+1):0)}function r(e,t,r){var n=Math.floor(t),i=t-n,a=0<=n&&n<e.shape[0],o=0<=n+1&&n+1<e.shape[0],s=Math.floor(r),l=r-s,u=0<=s&&s<e.shape[1],c=0<=s+1&&s+1<e.shape[1],f=a&&u?e.get(n,s):0,h=a&&c?e.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&&u?e.get(n+1,s):0))+l*((1-i)*h+i*(o&&c?e.get(n+1,s+1):0))}function n(e,t,r,n){var i=Math.floor(t),a=t-i,o=0<=i&&i<e.shape[0],s=0<=i+1&&i+1<e.shape[0],l=Math.floor(r),u=r-l,c=0<=l&&l<e.shape[1],f=0<=l+1&&l+1<e.shape[1],h=Math.floor(n),p=n-h,d=0<=h&&h<e.shape[2],v=0<=h+1&&h+1<e.shape[2],g=o&&c&&d?e.get(i,l,h):0,m=o&&f&&d?e.get(i,l+1,h):0,y=s&&c&&d?e.get(i+1,l,h):0,x=s&&f&&d?e.get(i+1,l+1,h):0,b=o&&c&&v?e.get(i,l,h+1):0,_=o&&f&&v?e.get(i,l+1,h+1):0;return(1-p)*((1-u)*((1-a)*g+a*y)+u*((1-a)*m+a*x))+p*((1-u)*((1-a)*b+a*(s&&c&&v?e.get(i+1,l,h+1):0))+u*((1-a)*_+a*(s&&f&&v?e.get(i+1,l+1,h+1):0)))}function i(e){var t,r,n=0|e.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(t=0;t<n;++t)r=+arguments[t+1],i[t]=Math.floor(r),a[t]=r-i[t],o[t]=0<=i[t]&&i[t]<e.shape[t],s[t]=0<=i[t]+1&&i[t]+1<e.shape[t];var l,u,c,f=0;e:for(t=0;t<1<<n;++t){for(u=1,c=e.offset,l=0;l<n;++l)if(t&1<<l){if(!s[l])continue e;u*=a[l],c+=e.stride[l]*(i[l]+1)}else{if(!o[l])continue e;u*=1-a[l],c+=e.stride[l]*i[l]}f+=u*e.data[c]}return f}e.exports=function(e,a,o,s){switch(e.shape.length){case 0:return 0;case 1:return t(e,a);case 2:return r(e,a,o);case 3:return n(e,a,o,s);default:return i.apply(void 0,arguments)}},e.exports.d1=t,e.exports.d2=r,e.exports.d3=n},7498:function(e,t){\"use strict\";var r={\"float64,2,1,0\":function(){return function(e,t,r,n,i){var a=e[0],o=e[1],s=e[2],l=r[0],u=r[1],c=r[2];n|=0;var f=0,h=0,p=0,d=c,v=u-s*c,g=l-o*u;for(p=0;p<a;++p){for(h=0;h<o;++h){for(f=0;f<s;++f)t[n]/=i,n+=d;n+=v}n+=g}}},\"uint8,2,0,1,float64,2,1,0\":function(){return function(e,t,r,n,i,a,o,s){for(var l=e[0],u=e[1],c=e[2],f=r[0],h=r[1],p=r[2],d=a[0],v=a[1],g=a[2],m=n|=0,y=o|=0,x=0|e[0];x>0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|e[1];b>0;){b<64?(u=b,b=0):(u=64,b-=64),n=m+x*f+b*h,o=y+x*d+b*v;var _=0,w=0,k=0,T=p,M=f-c*p,A=h-l*f,S=g,E=d-c*g,C=v-l*d;for(k=0;k<u;++k){for(w=0;w<l;++w){for(_=0;_<c;++_)t[n]=i[o]*s,n+=T,o+=S;n+=M,o+=E}n+=A,o+=C}}}}},\"float32,1,0,float32,1,0\":function(){return function(e,t,r,n,i,a,o){var s=e[0],l=e[1],u=r[0],c=r[1],f=a[0],h=a[1];n|=0,o|=0;var p=0,d=0,v=c,g=u-l*c,m=h,y=f-l*h;for(d=0;d<s;++d){for(p=0;p<l;++p)t[n]=i[o],n+=v,o+=m;n+=g,o+=y}}},\"float32,1,0,float32,0,1\":function(){return function(e,t,r,n,i,a,o){for(var s=e[0],l=e[1],u=r[0],c=r[1],f=a[0],h=a[1],p=n|=0,d=o|=0,v=0|e[1];v>0;){v<64?(l=v,v=0):(l=64,v-=64);for(var g=0|e[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+v*c+g*u,o=d+v*h+g*f;var m=0,y=0,x=c,b=u-l*c,_=h,w=f-l*h;for(y=0;y<s;++y){for(m=0;m<l;++m)t[n]=i[o],n+=x,o+=_;n+=b,o+=w}}}}},\"uint8,2,0,1,uint8,1,2,0\":function(){return function(e,t,r,n,i,a,o){for(var s=e[0],l=e[1],u=e[2],c=r[0],f=r[1],h=r[2],p=a[0],d=a[1],v=a[2],g=n|=0,m=o|=0,y=0|e[2];y>0;){y<64?(u=y,y=0):(u=64,y-=64);for(var x=0|e[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|e[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+y*h+x*c+b*f,o=m+y*v+x*p+b*d;var _=0,w=0,k=0,T=h,M=c-u*h,A=f-s*c,S=v,E=p-u*v,C=d-s*p;for(k=0;k<l;++k){for(w=0;w<s;++w){for(_=0;_<u;++_)t[n]=i[o],n+=T,o+=S;n+=M,o+=E}n+=A,o+=C}}}}}},\"uint8,2,0,1,array,2,0,1\":function(){return function(e,t,r,n,i,a,o){var s=e[0],l=e[1],u=e[2],c=r[0],f=r[1],h=r[2],p=a[0],d=a[1],v=a[2];n|=0,o|=0;var g=0,m=0,y=0,x=h,b=c-u*h,_=f-s*c,w=v,k=p-u*v,T=d-s*p;for(y=0;y<l;++y){for(m=0;m<s;++m){for(g=0;g<u;++g)t[n]=i[o],n+=x,o+=w;n+=b,o+=k}n+=_,o+=T}}}},n=function(e,t){var n=t.join(\",\");return(0,r[n])()},i={mul:function(e){var t={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,u=i.dtype,c=i.order,f=[a,o.join(),s,l.join(),u,c.join()].join(),h=t[f];return h||(t[f]=h=e([a,o,s,l,u,c])),h(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i.data,i.stride,0|i.offset)}},muls:function(e){var t={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,u=[a,o.join(),s,l.join()].join(),c=t[u];return c||(t[u]=c=e([a,o,s,l])),c(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i)}},mulseq:function(e){var t={};return function(r,n){var i=r.dtype,a=r.order,o=[i,a.join()].join(),s=t[o];return s||(t[o]=s=e([i,a])),s(r.shape.slice(0),r.data,r.stride,0|r.offset,n)}},div:function(e){var t={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,u=i.dtype,c=i.order,f=[a,o.join(),s,l.join(),u,c.join()].join(),h=t[f];return h||(t[f]=h=e([a,o,s,l,u,c])),h(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i.data,i.stride,0|i.offset)}},divs:function(e){var t={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,u=[a,o.join(),s,l.join()].join(),c=t[u];return c||(t[u]=c=e([a,o,s,l])),c(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i)}},divseq:function(e){var t={};return function(r,n){var i=r.dtype,a=r.order,o=[i,a.join()].join(),s=t[o];return s||(t[o]=s=e([i,a])),s(r.shape.slice(0),r.data,r.stride,0|r.offset,n)}},assign:function(e){var t={};return function(r,n){var i=r.dtype,a=r.order,o=n.dtype,s=n.order,l=[i,a.join(),o,s.join()].join(),u=t[l];return u||(t[l]=u=e([i,a,o,s])),u(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset)}}};function a(e){return t={funcName:e.funcName},(0,i[t.funcName])(n.bind(void 0,t));var t}var o={mul:\"*\",div:\"/\"};!function(){for(var e in o)t[e]=a({funcName:e}),t[e+\"s\"]=a({funcName:e+\"s\"}),t[e+\"seq\"]=a({funcName:e+\"seq\"})}(),t.assign=a({funcName:\"assign\"})},7382:function(e,t,r){\"use strict\";var n=r(5050),i=r(9262);e.exports=function(e,t){for(var r=[],a=e,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(t||(t=n(new Float64Array(o),r)),i(t,e),t)}},9262:function(e){\"use strict\";e.exports=function(e){var t={};return function(r,n){var i=r.dtype,a=r.order,o=[i,a.join()].join(),s=t[o];return s||(t[o]=s=e([i,a])),s(r.shape.slice(0),r.data,r.stride,0|r.offset,n)}}(function(){return function(e,t,r,n,i){var a=e[0],o=e[1],s=e[2],l=r[0],u=r[1],c=r[2],f=[0,0,0];n|=0;var h=0,p=0,d=0,v=c,g=u-s*c,m=l-o*u;for(d=0;d<a;++d){for(p=0;p<o;++p){for(h=0;h<s;++h){var y,x=i;for(y=0;y<f.length-1;++y)x=x[f[y]];t[n]=x[f[f.length-1]],n+=v,++f[2]}n+=g,f[2]-=s,++f[1]}n+=m,f[1]-=o,++f[0]}}}.bind(void 0,{funcName:\"convert\"}))},8139:function(e,t,r){\"use strict\";var n=r(5306);function i(e){return\"uint32\"===e?[n.mallocUint32,n.freeUint32]:null}var a={\"uint32,1,0\":function(e,t){return function(r,n,i,a,o,s,l,u,c,f,h){var p,d,v,g,m,y,x,b,_=r*o+a,w=e(u);for(p=r+1;p<=n;++p){for(d=p,v=_+=o,m=0,y=_,g=0;g<u;++g)w[m++]=i[y],y+=c;e:for(;d-- >r;){m=0,y=v-o;t:for(g=0;g<u;++g){if((x=i[y])<(b=w[m]))break e;if(x>b)break t;y+=f,m+=h}for(m=v,y=v-o,g=0;g<u;++g)i[m]=i[y],m+=c,y+=c;v-=o}for(m=v,y=0,g=0;g<u;++g)i[m]=w[y++],m+=c}t(w)}}},o={\"uint32,1,0\":function(e,t,r){return function n(i,a,o,s,l,u,c,f,h,p,d){var v,g,m,y,x,b,_,w,k,T,M,A,S,E,C,L,P,O,I,D,z,R,F,B,N,j=(a-i+1)/6|0,U=i+j,V=a-j,H=i+a>>1,q=H-j,G=H+j,Y=U,W=q,Z=H,X=G,K=V,J=i+1,$=a-1,Q=!0,ee=0,te=0,re=0,ne=f,ie=t(ne),ae=t(ne);M=l*Y,A=l*W,N=s;e:for(T=0;T<f;++T){if(w=A+N,(re=o[_=M+N]-o[w])>0){g=Y,Y=W,W=g;break e}if(re<0)break e;N+=p}M=l*X,A=l*K,N=s;e:for(T=0;T<f;++T){if(w=A+N,(re=o[_=M+N]-o[w])>0){g=X,X=K,K=g;break e}if(re<0)break e;N+=p}M=l*Y,A=l*Z,N=s;e:for(T=0;T<f;++T){if(w=A+N,(re=o[_=M+N]-o[w])>0){g=Y,Y=Z,Z=g;break e}if(re<0)break e;N+=p}M=l*W,A=l*Z,N=s;e:for(T=0;T<f;++T){if(w=A+N,(re=o[_=M+N]-o[w])>0){g=W,W=Z,Z=g;break e}if(re<0)break e;N+=p}M=l*Y,A=l*X,N=s;e:for(T=0;T<f;++T){if(w=A+N,(re=o[_=M+N]-o[w])>0){g=Y,Y=X,X=g;break e}if(re<0)break e;N+=p}M=l*Z,A=l*X,N=s;e:for(T=0;T<f;++T){if(w=A+N,(re=o[_=M+N]-o[w])>0){g=Z,Z=X,X=g;break e}if(re<0)break e;N+=p}M=l*W,A=l*K,N=s;e:for(T=0;T<f;++T){if(w=A+N,(re=o[_=M+N]-o[w])>0){g=W,W=K,K=g;break e}if(re<0)break e;N+=p}M=l*W,A=l*Z,N=s;e:for(T=0;T<f;++T){if(w=A+N,(re=o[_=M+N]-o[w])>0){g=W,W=Z,Z=g;break e}if(re<0)break e;N+=p}M=l*X,A=l*K,N=s;e:for(T=0;T<f;++T){if(w=A+N,(re=o[_=M+N]-o[w])>0){g=X,X=K,K=g;break e}if(re<0)break e;N+=p}for(M=l*Y,A=l*W,S=l*Z,E=l*X,C=l*K,L=l*U,P=l*H,O=l*V,B=0,N=s,T=0;T<f;++T)_=M+N,w=A+N,k=S+N,I=E+N,D=C+N,z=L+N,R=P+N,F=O+N,ie[B]=o[w],ae[B]=o[I],Q=Q&&ie[B]===ae[B],m=o[_],y=o[k],x=o[D],o[z]=m,o[R]=y,o[F]=x,++B,N+=h;for(M=l*q,A=l*i,N=s,T=0;T<f;++T)w=A+N,o[_=M+N]=o[w],N+=h;for(M=l*G,A=l*a,N=s,T=0;T<f;++T)w=A+N,o[_=M+N]=o[w],N+=h;if(Q)for(b=J;b<=$;++b){for(_=s+b*l,B=0,T=0;T<f&&0==(re=o[_]-ie[B]);++T)B+=d,_+=p;if(0!==re)if(re<0){if(b!==J)for(M=l*b,A=l*J,N=s,T=0;T<f;++T)w=A+N,v=o[_=M+N],o[_]=o[w],o[w]=v,N+=h;++J}else for(;;){for(_=s+$*l,B=0,T=0;T<f&&0==(re=o[_]-ie[B]);++T)B+=d,_+=p;if(!(re>0)){if(re<0){for(M=l*b,A=l*J,S=l*$,N=s,T=0;T<f;++T)w=A+N,k=S+N,v=o[_=M+N],o[_]=o[w],o[w]=o[k],o[k]=v,N+=h;++J,--$;break}for(M=l*b,A=l*$,N=s,T=0;T<f;++T)w=A+N,v=o[_=M+N],o[_]=o[w],o[w]=v,N+=h;--$;break}$--}}else for(b=J;b<=$;++b){for(_=s+b*l,B=0,T=0;T<f&&0==(ee=o[_]-ie[B]);++T)B+=d,_+=p;if(ee<0){if(b!==J)for(M=l*b,A=l*J,N=s,T=0;T<f;++T)w=A+N,v=o[_=M+N],o[_]=o[w],o[w]=v,N+=h;++J}else{for(_=s+b*l,B=0,T=0;T<f&&0==(te=o[_]-ae[B]);++T)B+=d,_+=p;if(te>0)for(;;){for(_=s+$*l,B=0,T=0;T<f&&0==(re=o[_]-ae[B]);++T)B+=d,_+=p;if(!(re>0)){for(_=s+$*l,B=0,T=0;T<f&&0==(re=o[_]-ie[B]);++T)B+=d,_+=p;if(re<0){for(M=l*b,A=l*J,S=l*$,N=s,T=0;T<f;++T)w=A+N,k=S+N,v=o[_=M+N],o[_]=o[w],o[w]=o[k],o[k]=v,N+=h;++J,--$}else{for(M=l*b,A=l*$,N=s,T=0;T<f;++T)w=A+N,v=o[_=M+N],o[_]=o[w],o[w]=v,N+=h;--$}break}if(--$<b)break}}}for(M=l*i,A=l*(J-1),B=0,N=s,T=0;T<f;++T)w=A+N,o[_=M+N]=o[w],o[w]=ie[B],++B,N+=h;for(M=l*a,A=l*($+1),B=0,N=s,T=0;T<f;++T)w=A+N,o[_=M+N]=o[w],o[w]=ae[B],++B,N+=h;if(J-2-i<=32?e(i,J-2,o,s,l,u,c,f,h,p,d):n(i,J-2,o,s,l,u,c,f,h,p,d),a-($+2)<=32?e($+2,a,o,s,l,u,c,f,h,p,d):n($+2,a,o,s,l,u,c,f,h,p,d),Q)return r(ie),void r(ae);if(J<U&&$>V){e:for(;;){for(_=s+J*l,B=0,N=s,T=0;T<f;++T){if(o[_]!==ie[B])break e;++B,_+=h}++J}e:for(;;){for(_=s+$*l,B=0,N=s,T=0;T<f;++T){if(o[_]!==ae[B])break e;++B,_+=h}--$}for(b=J;b<=$;++b){for(_=s+b*l,B=0,T=0;T<f&&0==(ee=o[_]-ie[B]);++T)B+=d,_+=p;if(0===ee){if(b!==J)for(M=l*b,A=l*J,N=s,T=0;T<f;++T)w=A+N,v=o[_=M+N],o[_]=o[w],o[w]=v,N+=h;++J}else{for(_=s+b*l,B=0,T=0;T<f&&0==(te=o[_]-ae[B]);++T)B+=d,_+=p;if(0===te)for(;;){for(_=s+$*l,B=0,T=0;T<f&&0==(re=o[_]-ae[B]);++T)B+=d,_+=p;if(0!==re){for(_=s+$*l,B=0,T=0;T<f&&0==(re=o[_]-ie[B]);++T)B+=d,_+=p;if(re<0){for(M=l*b,A=l*J,S=l*$,N=s,T=0;T<f;++T)w=A+N,k=S+N,v=o[_=M+N],o[_]=o[w],o[w]=o[k],o[k]=v,N+=h;++J,--$}else{for(M=l*b,A=l*$,N=s,T=0;T<f;++T)w=A+N,v=o[_=M+N],o[_]=o[w],o[w]=v,N+=h;--$}break}if(--$<b)break}}}}r(ie),r(ae),$-J<=32?e(J,$,o,s,l,u,c,f,h,p,d):n(J,$,o,s,l,u,c,f,h,p,d)}}},s={\"uint32,1,0\":function(e,t){return function(r){var n=r.data,i=0|r.offset,a=r.shape,o=r.stride,s=0|o[0],l=0|a[0],u=0|o[1],c=0|a[1],f=u,h=u;l<=32?e(0,l-1,n,i,s,u,l,c,f,h,1):t(0,l-1,n,i,s,u,l,c,f,h,1)}}};e.exports=function(e,t){var r=[t,e].join(\",\"),n=s[r],l=function(e,t){var r=i(t),n=[t,e].join(\",\"),o=a[n];return r?o(r[0],r[1]):o()}(e,t),u=function(e,t,r){var n=i(t),a=[t,e].join(\",\"),s=o[a];return e.length>1&&n?s(r,n[0],n[1]):s(r)}(e,t,l);return n(l,u)}},8729:function(e,t,r){\"use strict\";var n=r(8139),i={};e.exports=function(e){var t=e.order,r=e.dtype,a=[t,r].join(\":\"),o=i[a];return o||(i[a]=o=n(t,r)),o(e),e}},5050:function(e,t,r){var n=r(4780),i=\"undefined\"!=typeof Float64Array;function a(e,t){return e[0]-t[0]}function o(){var e,t=this.stride,r=new Array(t.length);for(e=0;e<r.length;++e)r[e]=[Math.abs(t[e]),e];r.sort(a);var n=new Array(r.length);for(e=0;e<n.length;++e)n[e]=r[e][1];return n}var s={T:function(e){function t(e){this.data=e}var r=t.prototype;return r.dtype=e,r.index=function(){return-1},r.size=0,r.dimension=-1,r.shape=r.stride=r.order=[],r.lo=r.hi=r.transpose=r.step=function(){return new t(this.data)},r.get=r.set=function(){},r.pick=function(){return null},function(e){return new t(e)}},0:function(e,t){function r(e,t){this.data=e,this.offset=t}var n=r.prototype;return n.dtype=e,n.index=function(){return this.offset},n.dimension=0,n.size=1,n.shape=n.stride=n.order=[],n.lo=n.hi=n.transpose=n.step=function(){return new r(this.data,this.offset)},n.pick=function(){return t(this.data)},n.valueOf=n.get=function(){return\"generic\"===e?this.data.get(this.offset):this.data[this.offset]},n.set=function(t){return\"generic\"===e?this.data.set(this.offset,t):this.data[this.offset]=t},function(e,t,n,i){return new r(e,i)}},1:function(e,t,r){function n(e,t,r,n){this.data=e,this.shape=[t],this.stride=[r],this.offset=0|n}var i=n.prototype;return i.dtype=e,i.dimension=1,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]}}),i.order=[0],i.set=function(t,r){return\"generic\"===e?this.data.set(this.offset+this.stride[0]*t,r):this.data[this.offset+this.stride[0]*t]=r},i.get=function(t){return\"generic\"===e?this.data.get(this.offset+this.stride[0]*t):this.data[this.offset+this.stride[0]*t]},i.index=function(e){return this.offset+this.stride[0]*e},i.hi=function(e){return new n(this.data,\"number\"!=typeof e||e<0?this.shape[0]:0|e,this.stride[0],this.offset)},i.lo=function(e){var t=this.offset,r=0,i=this.shape[0],a=this.stride[0];return\"number\"==typeof e&&e>=0&&(t+=a*(r=0|e),i-=r),new n(this.data,i,a,t)},i.step=function(e){var t=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return\"number\"==typeof e&&((a=0|e)<0?(i+=r*(t-1),t=o(-t/a)):t=o(t/a),r*=a),new n(this.data,t,r,i)},i.transpose=function(e){e=void 0===e?0:0|e;var t=this.shape,r=this.stride;return new n(this.data,t[e],r[e],this.offset)},i.pick=function(e){var r=[],n=[],i=this.offset;return\"number\"==typeof e&&e>=0?i=i+this.stride[0]*e|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,t[r.length+1])(this.data,r,n,i)},function(e,t,r,i){return new n(e,t[0],r[0],i)}},2:function(e,t,r){function n(e,t,r,n,i,a){this.data=e,this.shape=[t,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=e,i.dimension=2,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(t,r,n){return\"generic\"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*t+this.stride[1]*r]=n},i.get=function(t,r){return\"generic\"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r):this.data[this.offset+this.stride[0]*t+this.stride[1]*r]},i.index=function(e,t){return this.offset+this.stride[0]*e+this.stride[1]*t},i.hi=function(e,t){return new n(this.data,\"number\"!=typeof e||e<0?this.shape[0]:0|e,\"number\"!=typeof t||t<0?this.shape[1]:0|t,this.stride[0],this.stride[1],this.offset)},i.lo=function(e,t){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return\"number\"==typeof e&&e>=0&&(r+=s*(i=0|e),a-=i),\"number\"==typeof t&&t>=0&&(r+=l*(i=0|t),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(e,t){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,u=Math.ceil;return\"number\"==typeof e&&((l=0|e)<0?(s+=a*(r-1),r=u(-r/l)):r=u(r/l),a*=l),\"number\"==typeof t&&((l=0|t)<0?(s+=o*(i-1),i=u(-i/l)):i=u(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(e,t){e=void 0===e?0:0|e,t=void 0===t?1:0|t;var r=this.shape,i=this.stride;return new n(this.data,r[e],r[t],i[e],i[t],this.offset)},i.pick=function(e,r){var n=[],i=[],a=this.offset;return\"number\"==typeof e&&e>=0?a=a+this.stride[0]*e|0:(n.push(this.shape[0]),i.push(this.stride[0])),\"number\"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,t[n.length+1])(this.data,n,i,a)},function(e,t,r,i){return new n(e,t[0],t[1],r[0],r[1],i)}},3:function(e,t,r){function n(e,t,r,n,i,a,o,s){this.data=e,this.shape=[t,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=e,i.dimension=3,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,\"order\",{get:function(){var e=Math.abs(this.stride[0]),t=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return e>t?t>r?[2,1,0]:e>r?[1,2,0]:[1,0,2]:e>r?[2,0,1]:r>t?[0,1,2]:[0,2,1]}}),i.set=function(t,r,n,i){return\"generic\"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(t,r,n){return\"generic\"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n]},i.index=function(e,t,r){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r},i.hi=function(e,t,r){return new n(this.data,\"number\"!=typeof e||e<0?this.shape[0]:0|e,\"number\"!=typeof t||t<0?this.shape[1]:0|t,\"number\"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(e,t,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.stride[0],c=this.stride[1],f=this.stride[2];return\"number\"==typeof e&&e>=0&&(i+=u*(a=0|e),o-=a),\"number\"==typeof t&&t>=0&&(i+=c*(a=0|t),s-=a),\"number\"==typeof r&&r>=0&&(i+=f*(a=0|r),l-=a),new n(this.data,o,s,l,u,c,f,i)},i.step=function(e,t,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],u=this.stride[2],c=this.offset,f=0,h=Math.ceil;return\"number\"==typeof e&&((f=0|e)<0?(c+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),\"number\"==typeof t&&((f=0|t)<0?(c+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),\"number\"==typeof r&&((f=0|r)<0?(c+=u*(o-1),o=h(-o/f)):o=h(o/f),u*=f),new n(this.data,i,a,o,s,l,u,c)},i.transpose=function(e,t,r){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[e],i[t],i[r],a[e],a[t],a[r],this.offset)},i.pick=function(e,r,n){var i=[],a=[],o=this.offset;return\"number\"==typeof e&&e>=0?o=o+this.stride[0]*e|0:(i.push(this.shape[0]),a.push(this.stride[0])),\"number\"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),\"number\"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,t[i.length+1])(this.data,i,a,o)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],r[0],r[1],r[2],i)}},4:function(e,t,r){function n(e,t,r,n,i,a,o,s,l,u){this.data=e,this.shape=[t,r,n,i],this.stride=[a,o,s,l],this.offset=0|u}var i=n.prototype;return i.dtype=e,i.dimension=4,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,\"order\",{get:r}),i.set=function(t,r,n,i,a){return\"generic\"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(t,r,n,i){return\"generic\"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(e,t,r,n){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r+this.stride[3]*n},i.hi=function(e,t,r,i){return new n(this.data,\"number\"!=typeof e||e<0?this.shape[0]:0|e,\"number\"!=typeof t||t<0?this.shape[1]:0|t,\"number\"!=typeof r||r<0?this.shape[2]:0|r,\"number\"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(e,t,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],u=this.shape[2],c=this.shape[3],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3];return\"number\"==typeof e&&e>=0&&(a+=f*(o=0|e),s-=o),\"number\"==typeof t&&t>=0&&(a+=h*(o=0|t),l-=o),\"number\"==typeof r&&r>=0&&(a+=p*(o=0|r),u-=o),\"number\"==typeof i&&i>=0&&(a+=d*(o=0|i),c-=o),new n(this.data,s,l,u,c,f,h,p,d,a)},i.step=function(e,t,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],u=this.stride[0],c=this.stride[1],f=this.stride[2],h=this.stride[3],p=this.offset,d=0,v=Math.ceil;return\"number\"==typeof e&&((d=0|e)<0?(p+=u*(a-1),a=v(-a/d)):a=v(a/d),u*=d),\"number\"==typeof t&&((d=0|t)<0?(p+=c*(o-1),o=v(-o/d)):o=v(o/d),c*=d),\"number\"==typeof r&&((d=0|r)<0?(p+=f*(s-1),s=v(-s/d)):s=v(s/d),f*=d),\"number\"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=v(-l/d)):l=v(l/d),h*=d),new n(this.data,a,o,s,l,u,c,f,h,p)},i.transpose=function(e,t,r,i){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[e],a[t],a[r],a[i],o[e],o[t],o[r],o[i],this.offset)},i.pick=function(e,r,n,i){var a=[],o=[],s=this.offset;return\"number\"==typeof e&&e>=0?s=s+this.stride[0]*e|0:(a.push(this.shape[0]),o.push(this.stride[0])),\"number\"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),\"number\"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),\"number\"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,t[a.length+1])(this.data,a,o,s)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],t[3],r[0],r[1],r[2],r[3],i)}},5:function(e,t,r){function n(e,t,r,n,i,a,o,s,l,u,c,f){this.data=e,this.shape=[t,r,n,i,a],this.stride=[o,s,l,u,c],this.offset=0|f}var i=n.prototype;return i.dtype=e,i.dimension=5,Object.defineProperty(i,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,\"order\",{get:r}),i.set=function(t,r,n,i,a,o){return\"generic\"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(t,r,n,i,a){return\"generic\"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(e,t,r,n,i){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(e,t,r,i,a){return new n(this.data,\"number\"!=typeof e||e<0?this.shape[0]:0|e,\"number\"!=typeof t||t<0?this.shape[1]:0|t,\"number\"!=typeof r||r<0?this.shape[2]:0|r,\"number\"!=typeof i||i<0?this.shape[3]:0|i,\"number\"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(e,t,r,i,a){var o=this.offset,s=0,l=this.shape[0],u=this.shape[1],c=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],v=this.stride[2],g=this.stride[3],m=this.stride[4];return\"number\"==typeof e&&e>=0&&(o+=p*(s=0|e),l-=s),\"number\"==typeof t&&t>=0&&(o+=d*(s=0|t),u-=s),\"number\"==typeof r&&r>=0&&(o+=v*(s=0|r),c-=s),\"number\"==typeof i&&i>=0&&(o+=g*(s=0|i),f-=s),\"number\"==typeof a&&a>=0&&(o+=m*(s=0|a),h-=s),new n(this.data,l,u,c,f,h,p,d,v,g,m,o)},i.step=function(e,t,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.shape[3],c=this.shape[4],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],v=this.stride[4],g=this.offset,m=0,y=Math.ceil;return\"number\"==typeof e&&((m=0|e)<0?(g+=f*(o-1),o=y(-o/m)):o=y(o/m),f*=m),\"number\"==typeof t&&((m=0|t)<0?(g+=h*(s-1),s=y(-s/m)):s=y(s/m),h*=m),\"number\"==typeof r&&((m=0|r)<0?(g+=p*(l-1),l=y(-l/m)):l=y(l/m),p*=m),\"number\"==typeof i&&((m=0|i)<0?(g+=d*(u-1),u=y(-u/m)):u=y(u/m),d*=m),\"number\"==typeof a&&((m=0|a)<0?(g+=v*(c-1),c=y(-c/m)):c=y(c/m),v*=m),new n(this.data,o,s,l,u,c,f,h,p,d,v,g)},i.transpose=function(e,t,r,i,a){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[e],o[t],o[r],o[i],o[a],s[e],s[t],s[r],s[i],s[a],this.offset)},i.pick=function(e,r,n,i,a){var o=[],s=[],l=this.offset;return\"number\"==typeof e&&e>=0?l=l+this.stride[0]*e|0:(o.push(this.shape[0]),s.push(this.stride[0])),\"number\"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),\"number\"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),\"number\"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),\"number\"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,t[o.length+1])(this.data,o,s,l)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],t[3],t[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(e,t){var r=-1===t?\"T\":String(t),n=s[r];return-1===t?n(e):0===t?n(e,u[e][0]):n(e,u[e],o)}var u={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};e.exports=function(e,t,r,a){if(void 0===e)return(0,u.array[0])([]);\"number\"==typeof e&&(e=[e]),void 0===t&&(t=[e.length]);var o=t.length;if(void 0===r){r=new Array(o);for(var s=o-1,c=1;s>=0;--s)r[s]=c,c*=t[s]}if(void 0===a)for(a=0,s=0;s<o;++s)r[s]<0&&(a-=(t[s]-1)*r[s]);for(var f=function(e){if(n(e))return\"buffer\";if(i)switch(Object.prototype.toString.call(e)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object BigInt64Array]\":return\"bigint64\";case\"[object BigUint64Array]\":return\"biguint64\"}return Array.isArray(e)?\"array\":\"generic\"}(e),h=u[f];h.length<=o+1;)h.push(l(f,h.length-1));return(0,h[o+1])(e,t,r,a)}},8551:function(e,t,r){\"use strict\";var n=r(8362),i=Math.pow(2,-1074),a=-1>>>0;e.exports=function(e,t){if(isNaN(e)||isNaN(t))return NaN;if(e===t)return e;if(0===e)return t<0?-i:i;var r=n.hi(e),o=n.lo(e);return t>e==e>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},115:function(e,t){t.vertexNormals=function(e,t,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[o]=[0,0,0];for(o=0;o<e.length;++o)for(var s=e[o],l=0,u=s[s.length-1],c=s[0],f=0;f<s.length;++f){l=u,u=c,c=s[(f+1)%s.length];for(var h=t[l],p=t[u],d=t[c],v=new Array(3),g=0,m=new Array(3),y=0,x=0;x<3;++x)v[x]=h[x]-p[x],g+=v[x]*v[x],m[x]=d[x]-p[x],y+=m[x]*m[x];if(g*y>a){var b=i[u],_=1/Math.sqrt(g*y);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(m[w]*v[k]-m[k]*v[w])}}}for(o=0;o<n;++o){b=i[o];var T=0;for(x=0;x<3;++x)T+=b[x]*b[x];if(T>a)for(_=1/Math.sqrt(T),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},t.faceNormals=function(e,t,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=e[o],l=new Array(3),u=0;u<3;++u)l[u]=t[s[u]];var c=new Array(3),f=new Array(3);for(u=0;u<3;++u)c[u]=l[1][u]-l[0][u],f[u]=l[2][u]-l[0][u];var h=new Array(3),p=0;for(u=0;u<3;++u){var d=(u+1)%3,v=(u+2)%3;h[u]=c[d]*f[v]-c[v]*f[d],p+=h[u]*h[u]}for(p=p>a?1/Math.sqrt(p):0,u=0;u<3;++u)h[u]*=p;i[o]=h}return i}},567:function(e){\"use strict\";e.exports=function(e,t,r,n,i,a,o,s,l,u){var c=t+a+u;if(f>0){var f=Math.sqrt(c+1);e[0]=.5*(o-l)/f,e[1]=.5*(s-n)/f,e[2]=.5*(r-a)/f,e[3]=.5*f}else{var h=Math.max(t,a,u);f=Math.sqrt(2*h-c+1),t>=h?(e[0]=.5*f,e[1]=.5*(i+r)/f,e[2]=.5*(s+n)/f,e[3]=.5*(o-l)/f):a>=h?(e[0]=.5*(r+i)/f,e[1]=.5*f,e[2]=.5*(l+o)/f,e[3]=.5*(s-n)/f):(e[0]=.5*(n+s)/f,e[1]=.5*(o+l)/f,e[2]=.5*f,e[3]=.5*(r-i)/f)}return e}},7774:function(e,t,r){\"use strict\";e.exports=function(e){var t=(e=e||{}).center||[0,0,0],r=e.rotation||[0,0,0,1],n=e.radius||1;t=[].slice.call(t,0,3),c(r=[].slice.call(r,0,4),r);var i=new f(r,t,Math.log(n));return i.setDistanceLimits(e.zoomMin,e.zoomMax),(\"eye\"in e||\"up\"in e)&&i.lookAt(0,e.eye,e.center,e.up),i};var n=r(8444),i=r(3012),a=r(5950),o=r(7437),s=r(567);function l(e,t,r){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2))}function u(e,t,r,n){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2)+Math.pow(n,2))}function c(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=u(r,n,i,a);o>1e-6?(e[0]=r/o,e[1]=n/o,e[2]=i/o,e[3]=a/o):(e[0]=e[1]=e[2]=0,e[3]=1)}function f(e,t,r){this.radius=n([r]),this.center=n(t),this.rotation=n(e),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(e){this.radius.curve(e),this.center.curve(e),this.rotation.curve(e);var t=this.computedRotation;c(t,t);var r=this.computedMatrix;a(r,t);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,f=0;f<3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(e,t){this.recalcMatrix(e);var r=this.computedMatrix;if(t){for(var n=0;n<16;++n)t[n]=r[n];return t}return r},h.idle=function(e){this.center.idle(e),this.radius.idle(e),this.rotation.idle(e)},h.flush=function(e){this.center.flush(e),this.radius.flush(e),this.rotation.flush(e)},h.pan=function(e,t,r,n){t=t||0,r=r||0,n=n||0,this.recalcMatrix(e);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],u=l(a,o,s);a/=u,o/=u,s/=u;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=l(c-=a*p,f-=o*p,h-=s*p);c/=d,f/=d,h/=d;var v=i[2],g=i[6],m=i[10],y=v*a+g*o+m*s,x=v*c+g*f+m*h,b=l(v-=y*a+x*c,g-=y*o+x*f,m-=y*s+x*h);v/=b,g/=b,m/=b;var _=c*t+a*r,w=f*t+o*r,k=h*t+s*r;this.center.move(e,_,w,k);var T=Math.exp(this.computedRadius[0]);T=Math.max(1e-4,T+n),this.radius.set(e,Math.log(T))},h.rotate=function(e,t,r,n){this.recalcMatrix(e),t=t||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],c=i[1],f=i[5],h=i[9],p=i[2],d=i[6],v=i[10],g=t*a+r*c,m=t*o+r*f,y=t*s+r*h,x=-(d*y-v*m),b=-(v*g-p*y),_=-(p*m-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),k=u(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var T=this.computedRotation,M=T[0],A=T[1],S=T[2],E=T[3],C=M*w+E*x+A*_-S*b,L=A*w+E*b+S*x-M*_,P=S*w+E*_+M*b-A*x,O=E*w-M*x-A*b-S*_;if(n){x=p,b=d,_=v;var I=Math.sin(n)/l(x,b,_);x*=I,b*=I,_*=I,O=O*(w=Math.cos(t))-(C=C*w+O*x+L*_-P*b)*x-(L=L*w+O*b+P*x-C*_)*b-(P=P*w+O*_+C*b-L*x)*_}var D=u(C,L,P,O);D>1e-6?(C/=D,L/=D,P/=D,O/=D):(C=L=P=0,O=1),this.rotation.set(e,C,L,P,O)},h.lookAt=function(e,t,r,n){this.recalcMatrix(e),r=r||this.computedCenter,t=t||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,t,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),c(o,o),this.rotation.set(e,o[0],o[1],o[2],o[3]);for(var l=0,u=0;u<3;++u)l+=Math.pow(r[u]-t[u],2);this.radius.set(e,.5*Math.log(Math.max(l,1e-6))),this.center.set(e,r[0],r[1],r[2])},h.translate=function(e,t,r,n){this.center.move(e,t||0,r||0,n||0)},h.setMatrix=function(e,t){var r=this.computedRotation;s(r,t[0],t[1],t[2],t[4],t[5],t[6],t[8],t[9],t[10]),c(r,r),this.rotation.set(e,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,t);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,u=n[14]/i;this.recalcMatrix(e);var f=Math.exp(this.computedRadius[0]);this.center.set(e,a-n[2]*f,l-n[6]*f,u-n[10]*f),this.radius.idle(e)}else this.center.idle(e),this.radius.idle(e)},h.setDistance=function(e,t){t>0&&this.radius.set(e,Math.log(t))},h.setDistanceLimits=function(e,t){e=e>0?Math.log(e):-1/0,t=t>0?Math.log(t):1/0,t=Math.max(t,e),this.radius.bounds[0][0]=e,this.radius.bounds[1][0]=t},h.getDistanceLimits=function(e){var t=this.radius.bounds;return e?(e[0]=Math.exp(t[0][0]),e[1]=Math.exp(t[1][0]),e):[Math.exp(t[0][0]),Math.exp(t[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(e){var t=this.lastT(),r=e.center;r&&this.center.set(t,r[0],r[1],r[2]);var n=e.rotation;n&&this.rotation.set(t,n[0],n[1],n[2],n[3]);var i=e.distance;i&&i>0&&this.radius.set(t,Math.log(i)),this.setDistanceLimits(e.zoomMin,e.zoomMax)}},4930:function(e,t,r){\"use strict\";var n=r(6184);e.exports=function(e,t,r){return n(r=void 0!==r?r+\"\":\" \",t)+e}},4405:function(e){e.exports=function(e,t){t||(t=[0,\"\"]),e=String(e);var r=parseFloat(e,10);return t[0]=r,t[1]=e.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",t}},4166:function(e,t,r){\"use strict\";e.exports=function(e,t){for(var r=0|t.length,i=e.length,a=[new Array(r),new Array(r)],o=0;o<r;++o)a[0][o]=[],a[1][o]=[];for(o=0;o<i;++o){var s=e[o];a[0][s[0]].push(s),a[1][s[1]].push(s)}var l=[];for(o=0;o<r;++o)a[0][o].length+a[1][o].length===0&&l.push([o]);function u(e,t){var r=a[t][e[t]];r.splice(r.indexOf(e),1)}function c(e,r,i){for(var o,s,l,c=0;c<2;++c)if(a[c][r].length>0){o=a[c][r][0],l=c;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p<h.length;++p){var d=h[p],v=d[1^f];n(t[e],t[r],t[s],t[v])>0&&(o=d,s=v,l=f)}return i||o&&u(o,l),s}function f(e,r){var i=a[r][e][0],o=[e];u(i,r);for(var s=i[1^r];;){for(;s!==e;)o.push(s),s=c(o[o.length-2],s,!1);if(a[0][e].length+a[1][e].length===0)break;var l=o[o.length-1],f=e,h=o[1],p=c(l,f,!0);if(n(t[l],t[f],t[h],t[p])<0)break;o.push(e),s=c(l,f)}return o}function h(e,t){return t[1]===t[t.length-1]}for(o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];a[p][o].length>0;){a[0][o].length;var v=f(o,p);h(0,v)?d.push.apply(d,v):(d.length>0&&l.push(d),d=v)}d.length>0&&l.push(d)}return l};var n=r(9398)},3959:function(e,t,r){\"use strict\";e.exports=function(e,t){for(var r=n(e,t.length),i=new Array(t.length),a=new Array(t.length),o=[],s=0;s<t.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){i[p=o.pop()]=!1;var u=r[p];for(s=0;s<u.length;++s){var c=u[s];0==--a[c]&&o.push(c)}}var f=new Array(t.length),h=[];for(s=0;s<t.length;++s)if(i[s]){var p=h.length;f[s]=p,h.push(t[s])}else f[s]=-1;var d=[];for(s=0;s<e.length;++s){var v=e[s];i[v[0]]&&i[v[1]]&&d.push([f[v[0]],f[v[1]]])}return[d,h]};var n=r(8348)},8040:function(e,t,r){\"use strict\";e.exports=function(e,t){var r=u(e,t);e=r[0];for(var f=(t=r[1]).length,h=(e.length,n(e,t.length)),p=0;p<f;++p)if(h[p].length%2==1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var d=i(e,t),v=(d=d.filter((function(e){for(var r=e.length,n=[0],i=0;i<r;++i){var a=t[e[i]],l=t[e[(i+1)%r]],u=o(-a[0],a[1]),c=o(-a[0],l[1]),f=o(l[0],a[1]),h=o(l[0],l[1]);n=s(n,s(s(u,c),s(f,h)))}return n[n.length-1]>0}))).length,g=new Array(v),m=new Array(v);for(p=0;p<v;++p){g[p]=p;var y=new Array(v),x=d[p].map((function(e){return t[e]})),b=a([x]),_=0;e:for(var w=0;w<v;++w)if(y[w]=0,p!==w){for(var k=(H=d[w]).length,T=0;T<k;++T){var M=b(t[H[T]]);if(0!==M){M<0&&(y[w]=1,_+=1);continue e}}y[w]=1,_+=1}m[p]=[_,p,y]}for(m.sort((function(e,t){return t[0]-e[0]})),p=0;p<v;++p){var A=(y=m[p])[1],S=y[2];for(w=0;w<v;++w)S[w]&&(g[w]=A)}var E=function(e){for(var t=new Array(e),r=0;r<e;++r)t[r]=[];return t}(v);for(p=0;p<v;++p)E[p].push(g[p]),E[g[p]].push(p);var C={},L=c(f,!1);for(p=0;p<v;++p)for(k=(H=d[p]).length,w=0;w<k;++w){var P=H[w],O=H[(w+1)%k],I=Math.min(P,O)+\":\"+Math.max(P,O);if(I in C){var D=C[I];E[D].push(p),E[p].push(D),L[P]=L[O]=!0}else C[I]=p}function z(e){for(var t=e.length,r=0;r<t;++r)if(!L[e[r]])return!1;return!0}var R=[],F=c(v,-1);for(p=0;p<v;++p)g[p]!==p||z(d[p])?F[p]=-1:(R.push(p),F[p]=0);for(r=[];R.length>0;){var B=R.pop(),N=E[B];l(N,(function(e,t){return e-t}));var j,U=N.length,V=F[B];for(0===V&&(j=[H=d[B]]),p=0;p<U;++p){var H,q=N[p];F[q]>=0||(F[q]=1^V,R.push(q),0===V&&(z(H=d[q])||(H.reverse(),j.push(H))))}0===V&&r.push(j)}return r};var n=r(8348),i=r(4166),a=r(211),o=r(9660),s=r(9662),l=r(1215),u=r(3959);function c(e,t){for(var r=new Array(e),n=0;n<e;++n)r[n]=t;return r}},211:function(e,t,r){e.exports=function(e){for(var t=e.length,r=[],a=[],s=0;s<t;++s)for(var c=e[s],f=c.length,h=f-1,p=0;p<f;h=p++){var d=c[h],v=c[p];d[0]===v[0]?a.push([d,v]):r.push([d,v])}if(0===r.length)return 0===a.length?u:(g=l(a),function(e){return g(e[0],e[1])?0:1});var g,m=i(r),y=function(e,t){return function(r){var i=o.le(t,r[0]);if(i<0)return 1;var a=e[i];if(!a){if(!(i>0&&t[i]===r[0]))return 1;a=e[i-1]}for(var s=1;a;){var l=a.key,u=n(r,l[0],l[1]);if(l[0][0]<l[1][0])if(u<0)a=a.left;else{if(!(u>0))return 0;s=-1,a=a.right}else if(u>0)a=a.left;else{if(!(u<0))return 0;s=1,a=a.right}}return s}}(m.slabs,m.coordinates);return 0===a.length?y:function(e,t){return function(r){return e(r[0],r[1])?0:t(r)}}(l(a),y)};var n=r(417)[3],i=r(4385),a=r(9014),o=r(5070);function s(){return!0}function l(e){for(var t={},r=0;r<e.length;++r){var n=e[r],i=n[0][0],o=n[0][1],l=n[1][1],u=[Math.min(o,l),Math.max(o,l)];i in t?t[i].push(u):t[i]=[u]}var c={},f=Object.keys(t);for(r=0;r<f.length;++r){var h=t[f[r]];c[f[r]]=a(h)}return function(e){return function(t,r){var n=e[t];return!!n&&!!n.queryPoint(r,s)}}(c)}function u(e){return 1}},7309:function(e){\"use strict\";var t=new Float64Array(4),r=new Float64Array(4),n=new Float64Array(4);e.exports=function(e,i,a,o,s){t.length<o.length&&(t=new Float64Array(o.length),r=new Float64Array(o.length),n=new Float64Array(o.length));for(var l=0;l<o.length;++l)t[l]=e[l]-o[l],r[l]=i[l]-e[l],n[l]=a[l]-e[l];var u=0,c=0,f=0,h=0,p=0,d=0;for(l=0;l<o.length;++l){var v=r[l],g=n[l],m=t[l];u+=v*v,c+=v*g,f+=g*g,h+=m*v,p+=m*g,d+=m*m}var y,x,b,_,w,k=Math.abs(u*f-c*c),T=c*p-f*h,M=c*h-u*p;if(T+M<=k)if(T<0)M<0&&h<0?(M=0,-h>=u?(T=1,y=u+2*h+d):y=h*(T=-h/u)+d):(T=0,p>=0?(M=0,y=d):-p>=f?(M=1,y=f+2*p+d):y=p*(M=-p/f)+d);else if(M<0)M=0,h>=0?(T=0,y=d):-h>=u?(T=1,y=u+2*h+d):y=h*(T=-h/u)+d;else{var A=1/k;y=(T*=A)*(u*T+c*(M*=A)+2*h)+M*(c*T+f*M+2*p)+d}else T<0?(b=f+p)>(x=c+h)?(_=b-x)>=(w=u-2*c+f)?(T=1,M=0,y=u+2*h+d):y=(T=_/w)*(u*T+c*(M=1-T)+2*h)+M*(c*T+f*M+2*p)+d:(T=0,b<=0?(M=1,y=f+2*p+d):p>=0?(M=0,y=d):y=p*(M=-p/f)+d):M<0?(b=u+h)>(x=c+p)?(_=b-x)>=(w=u-2*c+f)?(M=1,T=0,y=f+2*p+d):y=(T=1-(M=_/w))*(u*T+c*M+2*h)+M*(c*T+f*M+2*p)+d:(M=0,b<=0?(T=1,y=u+2*h+d):h>=0?(T=0,y=d):y=h*(T=-h/u)+d):(_=f+p-c-h)<=0?(T=0,M=1,y=f+2*p+d):_>=(w=u-2*c+f)?(T=1,M=0,y=u+2*h+d):y=(T=_/w)*(u*T+c*(M=1-T)+2*h)+M*(c*T+f*M+2*p)+d;var S=1-T-M;for(l=0;l<o.length;++l)s[l]=S*e[l]+T*i[l]+M*a[l];return y<0?0:y}},1116:function(e,t,r){e.exports=r(6093)},7584:function(e,t,r){\"use strict\";var n=r(1539);e.exports=function(e,t){for(var r=e.length,i=new Array(r),a=0;a<r;++a)i[a]=n(e[a],t[a]);return i}},2826:function(e,t,r){\"use strict\";e.exports=function(e){for(var t=new Array(e.length),r=0;r<e.length;++r)t[r]=n(e[r]);return t};var n=r(5125)},4469:function(e,t,r){\"use strict\";var n=r(5125),i=r(3962);e.exports=function(e,t){for(var r=n(t),a=e.length,o=new Array(a),s=0;s<a;++s)o[s]=i(e[s],r);return o}},6695:function(e,t,r){\"use strict\";var n=r(4354);e.exports=function(e,t){for(var r=e.length,i=new Array(r),a=0;a<r;++a)i[a]=n(e[a],t[a]);return i}},7037:function(e,t,r){\"use strict\";var n=r(9209),i=r(1284),a=r(9887);e.exports=function(e){e.sort(i);for(var t=e.length,r=0,o=0;o<t;++o){var s=e[o],l=a(s);if(0!==l){if(r>0){var u=e[r-1];if(0===n(s,u)&&a(u)!==l){r-=1;continue}}e[r++]=s}}return e.length=r,e}},6184:function(e){\"use strict\";var t,r=\"\";e.exports=function(e,n){if(\"string\"!=typeof e)throw new TypeError(\"expected a string\");if(1===n)return e;if(2===n)return e+e;var i=e.length*n;if(t!==e||void 0===t)t=e,r=\"\";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=e),n>>=1,e+=e;return r=(r+=e).substr(0,i)}},8161:function(e,t,r){e.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},402:function(e){\"use strict\";e.exports=function(e){for(var t=e.length,r=e[e.length-1],n=t,i=t-2;i>=0;--i){var a=r;(l=(s=e[i])-((r=a+s)-a))&&(e[--n]=r,r=l)}var o=0;for(i=n;i<t;++i){var s,l;(l=(s=r)-((r=(a=e[i])+s)-a))&&(e[o++]=l)}return e[o++]=r,e.length=o,e}},8167:function(e,t,r){\"use strict\";var n=r(9660),i=r(9662),a=r(8289),o=r(402);function s(e,t,r,n){return function(t){return n(e(r(t[0][0],t[1][1]),r(-t[0][1],t[1][0])))}}function l(e,t,r,n){return function(i){return n(e(t(e(r(i[1][1],i[2][2]),r(-i[1][2],i[2][1])),i[0][0]),e(t(e(r(i[1][0],i[2][2]),r(-i[1][2],i[2][0])),-i[0][1]),t(e(r(i[1][0],i[2][1]),r(-i[1][1],i[2][0])),i[0][2]))))}}function u(e,t,r,n){return function(i){return n(e(e(t(e(t(e(r(i[2][2],i[3][3]),r(-i[2][3],i[3][2])),i[1][1]),e(t(e(r(i[2][1],i[3][3]),r(-i[2][3],i[3][1])),-i[1][2]),t(e(r(i[2][1],i[3][2]),r(-i[2][2],i[3][1])),i[1][3]))),i[0][0]),t(e(t(e(r(i[2][2],i[3][3]),r(-i[2][3],i[3][2])),i[1][0]),e(t(e(r(i[2][0],i[3][3]),r(-i[2][3],i[3][0])),-i[1][2]),t(e(r(i[2][0],i[3][2]),r(-i[2][2],i[3][0])),i[1][3]))),-i[0][1])),e(t(e(t(e(r(i[2][1],i[3][3]),r(-i[2][3],i[3][1])),i[1][0]),e(t(e(r(i[2][0],i[3][3]),r(-i[2][3],i[3][0])),-i[1][1]),t(e(r(i[2][0],i[3][1]),r(-i[2][1],i[3][0])),i[1][3]))),i[0][2]),t(e(t(e(r(i[2][1],i[3][2]),r(-i[2][2],i[3][1])),i[1][0]),e(t(e(r(i[2][0],i[3][2]),r(-i[2][2],i[3][0])),-i[1][1]),t(e(r(i[2][0],i[3][1]),r(-i[2][1],i[3][0])),i[1][2]))),-i[0][3]))))}}function c(e,t,r,n){return function(i){return n(e(e(t(e(e(t(e(t(e(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][2]),e(t(e(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),-i[2][3]),t(e(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][4]))),i[1][1]),t(e(t(e(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][1]),e(t(e(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),-i[2][3]),t(e(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),i[2][4]))),-i[1][2])),e(t(e(t(e(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),i[2][1]),e(t(e(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),-i[2][2]),t(e(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][4]))),i[1][3]),t(e(t(e(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][1]),e(t(e(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),-i[2][2]),t(e(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][3]))),-i[1][4]))),i[0][0]),t(e(e(t(e(t(e(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][2]),e(t(e(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),-i[2][3]),t(e(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][4]))),i[1][0]),t(e(t(e(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][0]),e(t(e(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][3]),t(e(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),i[2][4]))),-i[1][2])),e(t(e(t(e(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),i[2][0]),e(t(e(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][2]),t(e(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),i[2][4]))),i[1][3]),t(e(t(e(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][0]),e(t(e(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),-i[2][2]),t(e(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),i[2][3]))),-i[1][4]))),-i[0][1])),e(t(e(e(t(e(t(e(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][1]),e(t(e(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),-i[2][3]),t(e(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),i[2][4]))),i[1][0]),t(e(t(e(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][0]),e(t(e(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][3]),t(e(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),i[2][4]))),-i[1][1])),e(t(e(t(e(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),i[2][0]),e(t(e(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][1]),t(e(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][4]))),i[1][3]),t(e(t(e(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),i[2][0]),e(t(e(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),-i[2][1]),t(e(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][3]))),-i[1][4]))),i[0][2]),e(t(e(e(t(e(t(e(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),i[2][1]),e(t(e(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),-i[2][2]),t(e(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][4]))),i[1][0]),t(e(t(e(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),i[2][0]),e(t(e(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][2]),t(e(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),i[2][4]))),-i[1][1])),e(t(e(t(e(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),i[2][0]),e(t(e(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][1]),t(e(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][4]))),i[1][2]),t(e(t(e(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][0]),e(t(e(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),-i[2][1]),t(e(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][2]))),-i[1][4]))),-i[0][3]),t(e(e(t(e(t(e(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][1]),e(t(e(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),-i[2][2]),t(e(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][3]))),i[1][0]),t(e(t(e(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][0]),e(t(e(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),-i[2][2]),t(e(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),i[2][3]))),-i[1][1])),e(t(e(t(e(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),i[2][0]),e(t(e(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),-i[2][1]),t(e(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][3]))),i[1][2]),t(e(t(e(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][0]),e(t(e(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),-i[2][1]),t(e(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][2]))),-i[1][3]))),i[0][4])))))}}function f(e){return(2===e?s:3===e?l:4===e?u:5===e?c:void 0)(i,a,n,o)}var h=[function(){return[0]},function(e){return[e[0][0]]}];function p(e,t,r,n,i,a,o,s){return function(l){switch(l.length){case 0:return e(l);case 1:return t(l);case 2:return r(l);case 3:return n(l);case 4:return i(l);case 5:return a(l)}var u=o[l.length];return u||(u=o[l.length]=s(l.length)),u(l)}}!function(){for(;h.length<6;)h.push(f(h.length));e.exports=p.apply(void 0,h.concat([h,f]));for(var t=0;t<h.length;++t)e.exports[t]=h[t]}()},9130:function(e,t,r){\"use strict\";var n=r(9660),i=r(9662);e.exports=function(e,t){for(var r=n(e[0],t[0]),a=1;a<e.length;++a)r=i(r,n(e[a],t[a]));return r}},2227:function(e,t,r){\"use strict\";var n=r(9660),i=r(9662),a=r(4078),o=r(8289);function s(e){return(3===e?l:4===e?u:5===e?c:f)(i,a,n,o)}function l(e,t,r,n){return function(i,a,o){var s=r(i[0],i[0]),l=n(s,a[0]),u=n(s,o[0]),c=r(a[0],a[0]),f=n(c,i[0]),h=n(c,o[0]),p=r(o[0],o[0]),d=n(p,i[0]),v=n(p,a[0]),g=e(t(v,h),t(f,l)),m=t(d,u),y=t(g,m);return y[y.length-1]}}function u(e,t,r,n){return function(i,a,o,s){var l=e(r(i[0],i[0]),r(i[1],i[1])),u=n(l,a[0]),c=n(l,o[0]),f=n(l,s[0]),h=e(r(a[0],a[0]),r(a[1],a[1])),p=n(h,i[0]),d=n(h,o[0]),v=n(h,s[0]),g=e(r(o[0],o[0]),r(o[1],o[1])),m=n(g,i[0]),y=n(g,a[0]),x=n(g,s[0]),b=e(r(s[0],s[0]),r(s[1],s[1])),_=n(b,i[0]),w=n(b,a[0]),k=n(b,o[0]),T=e(e(n(t(k,x),a[1]),e(n(t(w,v),-o[1]),n(t(y,d),s[1]))),e(n(t(w,v),i[1]),e(n(t(_,f),-a[1]),n(t(p,u),s[1])))),M=e(e(n(t(k,x),i[1]),e(n(t(_,f),-o[1]),n(t(m,c),s[1]))),e(n(t(y,d),i[1]),e(n(t(m,c),-a[1]),n(t(p,u),o[1])))),A=t(T,M);return A[A.length-1]}}function c(e,t,r,n){return function(i,a,o,s,l){var u=e(r(i[0],i[0]),e(r(i[1],i[1]),r(i[2],i[2]))),c=n(u,a[0]),f=n(u,o[0]),h=n(u,s[0]),p=n(u,l[0]),d=e(r(a[0],a[0]),e(r(a[1],a[1]),r(a[2],a[2]))),v=n(d,i[0]),g=n(d,o[0]),m=n(d,s[0]),y=n(d,l[0]),x=e(r(o[0],o[0]),e(r(o[1],o[1]),r(o[2],o[2]))),b=n(x,i[0]),_=n(x,a[0]),w=n(x,s[0]),k=n(x,l[0]),T=e(r(s[0],s[0]),e(r(s[1],s[1]),r(s[2],s[2]))),M=n(T,i[0]),A=n(T,a[0]),S=n(T,o[0]),E=n(T,l[0]),C=e(r(l[0],l[0]),e(r(l[1],l[1]),r(l[2],l[2]))),L=n(C,i[0]),P=n(C,a[0]),O=n(C,o[0]),I=n(C,s[0]),D=e(e(e(n(e(n(t(I,E),o[1]),e(n(t(O,k),-s[1]),n(t(S,w),l[1]))),a[2]),e(n(e(n(t(I,E),a[1]),e(n(t(P,y),-s[1]),n(t(A,m),l[1]))),-o[2]),n(e(n(t(O,k),a[1]),e(n(t(P,y),-o[1]),n(t(_,g),l[1]))),s[2]))),e(n(e(n(t(S,w),a[1]),e(n(t(A,m),-o[1]),n(t(_,g),s[1]))),-l[2]),e(n(e(n(t(I,E),a[1]),e(n(t(P,y),-s[1]),n(t(A,m),l[1]))),i[2]),n(e(n(t(I,E),i[1]),e(n(t(L,p),-s[1]),n(t(M,h),l[1]))),-a[2])))),e(e(n(e(n(t(P,y),i[1]),e(n(t(L,p),-a[1]),n(t(v,c),l[1]))),s[2]),e(n(e(n(t(A,m),i[1]),e(n(t(M,h),-a[1]),n(t(v,c),s[1]))),-l[2]),n(e(n(t(S,w),a[1]),e(n(t(A,m),-o[1]),n(t(_,g),s[1]))),i[2]))),e(n(e(n(t(S,w),i[1]),e(n(t(M,h),-o[1]),n(t(b,f),s[1]))),-a[2]),e(n(e(n(t(A,m),i[1]),e(n(t(M,h),-a[1]),n(t(v,c),s[1]))),o[2]),n(e(n(t(_,g),i[1]),e(n(t(b,f),-a[1]),n(t(v,c),o[1]))),-s[2]))))),z=e(e(e(n(e(n(t(I,E),o[1]),e(n(t(O,k),-s[1]),n(t(S,w),l[1]))),i[2]),n(e(n(t(I,E),i[1]),e(n(t(L,p),-s[1]),n(t(M,h),l[1]))),-o[2])),e(n(e(n(t(O,k),i[1]),e(n(t(L,p),-o[1]),n(t(b,f),l[1]))),s[2]),n(e(n(t(S,w),i[1]),e(n(t(M,h),-o[1]),n(t(b,f),s[1]))),-l[2]))),e(e(n(e(n(t(O,k),a[1]),e(n(t(P,y),-o[1]),n(t(_,g),l[1]))),i[2]),n(e(n(t(O,k),i[1]),e(n(t(L,p),-o[1]),n(t(b,f),l[1]))),-a[2])),e(n(e(n(t(P,y),i[1]),e(n(t(L,p),-a[1]),n(t(v,c),l[1]))),o[2]),n(e(n(t(_,g),i[1]),e(n(t(b,f),-a[1]),n(t(v,c),o[1]))),-l[2])))),R=t(D,z);return R[R.length-1]}}function f(e,t,r,n){return function(i,a,o,s,l,u){var c=e(e(r(i[0],i[0]),r(i[1],i[1])),e(r(i[2],i[2]),r(i[3],i[3]))),f=n(c,a[0]),h=n(c,o[0]),p=n(c,s[0]),d=n(c,l[0]),v=n(c,u[0]),g=e(e(r(a[0],a[0]),r(a[1],a[1])),e(r(a[2],a[2]),r(a[3],a[3]))),m=n(g,i[0]),y=n(g,o[0]),x=n(g,s[0]),b=n(g,l[0]),_=n(g,u[0]),w=e(e(r(o[0],o[0]),r(o[1],o[1])),e(r(o[2],o[2]),r(o[3],o[3]))),k=n(w,i[0]),T=n(w,a[0]),M=n(w,s[0]),A=n(w,l[0]),S=n(w,u[0]),E=e(e(r(s[0],s[0]),r(s[1],s[1])),e(r(s[2],s[2]),r(s[3],s[3]))),C=n(E,i[0]),L=n(E,a[0]),P=n(E,o[0]),O=n(E,l[0]),I=n(E,u[0]),D=e(e(r(l[0],l[0]),r(l[1],l[1])),e(r(l[2],l[2]),r(l[3],l[3]))),z=n(D,i[0]),R=n(D,a[0]),F=n(D,o[0]),B=n(D,s[0]),N=n(D,u[0]),j=e(e(r(u[0],u[0]),r(u[1],u[1])),e(r(u[2],u[2]),r(u[3],u[3]))),U=n(j,i[0]),V=n(j,a[0]),H=n(j,o[0]),q=n(j,s[0]),G=n(j,l[0]),Y=e(e(e(n(e(e(n(e(n(t(G,N),s[1]),e(n(t(q,I),-l[1]),n(t(B,O),u[1]))),o[2]),n(e(n(t(G,N),o[1]),e(n(t(H,S),-l[1]),n(t(F,A),u[1]))),-s[2])),e(n(e(n(t(q,I),o[1]),e(n(t(H,S),-s[1]),n(t(P,M),u[1]))),l[2]),n(e(n(t(B,O),o[1]),e(n(t(F,A),-s[1]),n(t(P,M),l[1]))),-u[2]))),a[3]),e(n(e(e(n(e(n(t(G,N),s[1]),e(n(t(q,I),-l[1]),n(t(B,O),u[1]))),a[2]),n(e(n(t(G,N),a[1]),e(n(t(V,_),-l[1]),n(t(R,b),u[1]))),-s[2])),e(n(e(n(t(q,I),a[1]),e(n(t(V,_),-s[1]),n(t(L,x),u[1]))),l[2]),n(e(n(t(B,O),a[1]),e(n(t(R,b),-s[1]),n(t(L,x),l[1]))),-u[2]))),-o[3]),n(e(e(n(e(n(t(G,N),o[1]),e(n(t(H,S),-l[1]),n(t(F,A),u[1]))),a[2]),n(e(n(t(G,N),a[1]),e(n(t(V,_),-l[1]),n(t(R,b),u[1]))),-o[2])),e(n(e(n(t(H,S),a[1]),e(n(t(V,_),-o[1]),n(t(T,y),u[1]))),l[2]),n(e(n(t(F,A),a[1]),e(n(t(R,b),-o[1]),n(t(T,y),l[1]))),-u[2]))),s[3]))),e(e(n(e(e(n(e(n(t(q,I),o[1]),e(n(t(H,S),-s[1]),n(t(P,M),u[1]))),a[2]),n(e(n(t(q,I),a[1]),e(n(t(V,_),-s[1]),n(t(L,x),u[1]))),-o[2])),e(n(e(n(t(H,S),a[1]),e(n(t(V,_),-o[1]),n(t(T,y),u[1]))),s[2]),n(e(n(t(P,M),a[1]),e(n(t(L,x),-o[1]),n(t(T,y),s[1]))),-u[2]))),-l[3]),n(e(e(n(e(n(t(B,O),o[1]),e(n(t(F,A),-s[1]),n(t(P,M),l[1]))),a[2]),n(e(n(t(B,O),a[1]),e(n(t(R,b),-s[1]),n(t(L,x),l[1]))),-o[2])),e(n(e(n(t(F,A),a[1]),e(n(t(R,b),-o[1]),n(t(T,y),l[1]))),s[2]),n(e(n(t(P,M),a[1]),e(n(t(L,x),-o[1]),n(t(T,y),s[1]))),-l[2]))),u[3])),e(n(e(e(n(e(n(t(G,N),s[1]),e(n(t(q,I),-l[1]),n(t(B,O),u[1]))),a[2]),n(e(n(t(G,N),a[1]),e(n(t(V,_),-l[1]),n(t(R,b),u[1]))),-s[2])),e(n(e(n(t(q,I),a[1]),e(n(t(V,_),-s[1]),n(t(L,x),u[1]))),l[2]),n(e(n(t(B,O),a[1]),e(n(t(R,b),-s[1]),n(t(L,x),l[1]))),-u[2]))),i[3]),n(e(e(n(e(n(t(G,N),s[1]),e(n(t(q,I),-l[1]),n(t(B,O),u[1]))),i[2]),n(e(n(t(G,N),i[1]),e(n(t(U,v),-l[1]),n(t(z,d),u[1]))),-s[2])),e(n(e(n(t(q,I),i[1]),e(n(t(U,v),-s[1]),n(t(C,p),u[1]))),l[2]),n(e(n(t(B,O),i[1]),e(n(t(z,d),-s[1]),n(t(C,p),l[1]))),-u[2]))),-a[3])))),e(e(e(n(e(e(n(e(n(t(G,N),a[1]),e(n(t(V,_),-l[1]),n(t(R,b),u[1]))),i[2]),n(e(n(t(G,N),i[1]),e(n(t(U,v),-l[1]),n(t(z,d),u[1]))),-a[2])),e(n(e(n(t(V,_),i[1]),e(n(t(U,v),-a[1]),n(t(m,f),u[1]))),l[2]),n(e(n(t(R,b),i[1]),e(n(t(z,d),-a[1]),n(t(m,f),l[1]))),-u[2]))),s[3]),n(e(e(n(e(n(t(q,I),a[1]),e(n(t(V,_),-s[1]),n(t(L,x),u[1]))),i[2]),n(e(n(t(q,I),i[1]),e(n(t(U,v),-s[1]),n(t(C,p),u[1]))),-a[2])),e(n(e(n(t(V,_),i[1]),e(n(t(U,v),-a[1]),n(t(m,f),u[1]))),s[2]),n(e(n(t(L,x),i[1]),e(n(t(C,p),-a[1]),n(t(m,f),s[1]))),-u[2]))),-l[3])),e(n(e(e(n(e(n(t(B,O),a[1]),e(n(t(R,b),-s[1]),n(t(L,x),l[1]))),i[2]),n(e(n(t(B,O),i[1]),e(n(t(z,d),-s[1]),n(t(C,p),l[1]))),-a[2])),e(n(e(n(t(R,b),i[1]),e(n(t(z,d),-a[1]),n(t(m,f),l[1]))),s[2]),n(e(n(t(L,x),i[1]),e(n(t(C,p),-a[1]),n(t(m,f),s[1]))),-l[2]))),u[3]),n(e(e(n(e(n(t(q,I),o[1]),e(n(t(H,S),-s[1]),n(t(P,M),u[1]))),a[2]),n(e(n(t(q,I),a[1]),e(n(t(V,_),-s[1]),n(t(L,x),u[1]))),-o[2])),e(n(e(n(t(H,S),a[1]),e(n(t(V,_),-o[1]),n(t(T,y),u[1]))),s[2]),n(e(n(t(P,M),a[1]),e(n(t(L,x),-o[1]),n(t(T,y),s[1]))),-u[2]))),i[3]))),e(e(n(e(e(n(e(n(t(q,I),o[1]),e(n(t(H,S),-s[1]),n(t(P,M),u[1]))),i[2]),n(e(n(t(q,I),i[1]),e(n(t(U,v),-s[1]),n(t(C,p),u[1]))),-o[2])),e(n(e(n(t(H,S),i[1]),e(n(t(U,v),-o[1]),n(t(k,h),u[1]))),s[2]),n(e(n(t(P,M),i[1]),e(n(t(C,p),-o[1]),n(t(k,h),s[1]))),-u[2]))),-a[3]),n(e(e(n(e(n(t(q,I),a[1]),e(n(t(V,_),-s[1]),n(t(L,x),u[1]))),i[2]),n(e(n(t(q,I),i[1]),e(n(t(U,v),-s[1]),n(t(C,p),u[1]))),-a[2])),e(n(e(n(t(V,_),i[1]),e(n(t(U,v),-a[1]),n(t(m,f),u[1]))),s[2]),n(e(n(t(L,x),i[1]),e(n(t(C,p),-a[1]),n(t(m,f),s[1]))),-u[2]))),o[3])),e(n(e(e(n(e(n(t(H,S),a[1]),e(n(t(V,_),-o[1]),n(t(T,y),u[1]))),i[2]),n(e(n(t(H,S),i[1]),e(n(t(U,v),-o[1]),n(t(k,h),u[1]))),-a[2])),e(n(e(n(t(V,_),i[1]),e(n(t(U,v),-a[1]),n(t(m,f),u[1]))),o[2]),n(e(n(t(T,y),i[1]),e(n(t(k,h),-a[1]),n(t(m,f),o[1]))),-u[2]))),-s[3]),n(e(e(n(e(n(t(P,M),a[1]),e(n(t(L,x),-o[1]),n(t(T,y),s[1]))),i[2]),n(e(n(t(P,M),i[1]),e(n(t(C,p),-o[1]),n(t(k,h),s[1]))),-a[2])),e(n(e(n(t(L,x),i[1]),e(n(t(C,p),-a[1]),n(t(m,f),s[1]))),o[2]),n(e(n(t(T,y),i[1]),e(n(t(k,h),-a[1]),n(t(m,f),o[1]))),-s[2]))),u[3]))))),W=e(e(e(n(e(e(n(e(n(t(G,N),s[1]),e(n(t(q,I),-l[1]),n(t(B,O),u[1]))),o[2]),n(e(n(t(G,N),o[1]),e(n(t(H,S),-l[1]),n(t(F,A),u[1]))),-s[2])),e(n(e(n(t(q,I),o[1]),e(n(t(H,S),-s[1]),n(t(P,M),u[1]))),l[2]),n(e(n(t(B,O),o[1]),e(n(t(F,A),-s[1]),n(t(P,M),l[1]))),-u[2]))),i[3]),e(n(e(e(n(e(n(t(G,N),s[1]),e(n(t(q,I),-l[1]),n(t(B,O),u[1]))),i[2]),n(e(n(t(G,N),i[1]),e(n(t(U,v),-l[1]),n(t(z,d),u[1]))),-s[2])),e(n(e(n(t(q,I),i[1]),e(n(t(U,v),-s[1]),n(t(C,p),u[1]))),l[2]),n(e(n(t(B,O),i[1]),e(n(t(z,d),-s[1]),n(t(C,p),l[1]))),-u[2]))),-o[3]),n(e(e(n(e(n(t(G,N),o[1]),e(n(t(H,S),-l[1]),n(t(F,A),u[1]))),i[2]),n(e(n(t(G,N),i[1]),e(n(t(U,v),-l[1]),n(t(z,d),u[1]))),-o[2])),e(n(e(n(t(H,S),i[1]),e(n(t(U,v),-o[1]),n(t(k,h),u[1]))),l[2]),n(e(n(t(F,A),i[1]),e(n(t(z,d),-o[1]),n(t(k,h),l[1]))),-u[2]))),s[3]))),e(e(n(e(e(n(e(n(t(q,I),o[1]),e(n(t(H,S),-s[1]),n(t(P,M),u[1]))),i[2]),n(e(n(t(q,I),i[1]),e(n(t(U,v),-s[1]),n(t(C,p),u[1]))),-o[2])),e(n(e(n(t(H,S),i[1]),e(n(t(U,v),-o[1]),n(t(k,h),u[1]))),s[2]),n(e(n(t(P,M),i[1]),e(n(t(C,p),-o[1]),n(t(k,h),s[1]))),-u[2]))),-l[3]),n(e(e(n(e(n(t(B,O),o[1]),e(n(t(F,A),-s[1]),n(t(P,M),l[1]))),i[2]),n(e(n(t(B,O),i[1]),e(n(t(z,d),-s[1]),n(t(C,p),l[1]))),-o[2])),e(n(e(n(t(F,A),i[1]),e(n(t(z,d),-o[1]),n(t(k,h),l[1]))),s[2]),n(e(n(t(P,M),i[1]),e(n(t(C,p),-o[1]),n(t(k,h),s[1]))),-l[2]))),u[3])),e(n(e(e(n(e(n(t(G,N),o[1]),e(n(t(H,S),-l[1]),n(t(F,A),u[1]))),a[2]),n(e(n(t(G,N),a[1]),e(n(t(V,_),-l[1]),n(t(R,b),u[1]))),-o[2])),e(n(e(n(t(H,S),a[1]),e(n(t(V,_),-o[1]),n(t(T,y),u[1]))),l[2]),n(e(n(t(F,A),a[1]),e(n(t(R,b),-o[1]),n(t(T,y),l[1]))),-u[2]))),i[3]),n(e(e(n(e(n(t(G,N),o[1]),e(n(t(H,S),-l[1]),n(t(F,A),u[1]))),i[2]),n(e(n(t(G,N),i[1]),e(n(t(U,v),-l[1]),n(t(z,d),u[1]))),-o[2])),e(n(e(n(t(H,S),i[1]),e(n(t(U,v),-o[1]),n(t(k,h),u[1]))),l[2]),n(e(n(t(F,A),i[1]),e(n(t(z,d),-o[1]),n(t(k,h),l[1]))),-u[2]))),-a[3])))),e(e(e(n(e(e(n(e(n(t(G,N),a[1]),e(n(t(V,_),-l[1]),n(t(R,b),u[1]))),i[2]),n(e(n(t(G,N),i[1]),e(n(t(U,v),-l[1]),n(t(z,d),u[1]))),-a[2])),e(n(e(n(t(V,_),i[1]),e(n(t(U,v),-a[1]),n(t(m,f),u[1]))),l[2]),n(e(n(t(R,b),i[1]),e(n(t(z,d),-a[1]),n(t(m,f),l[1]))),-u[2]))),o[3]),n(e(e(n(e(n(t(H,S),a[1]),e(n(t(V,_),-o[1]),n(t(T,y),u[1]))),i[2]),n(e(n(t(H,S),i[1]),e(n(t(U,v),-o[1]),n(t(k,h),u[1]))),-a[2])),e(n(e(n(t(V,_),i[1]),e(n(t(U,v),-a[1]),n(t(m,f),u[1]))),o[2]),n(e(n(t(T,y),i[1]),e(n(t(k,h),-a[1]),n(t(m,f),o[1]))),-u[2]))),-l[3])),e(n(e(e(n(e(n(t(F,A),a[1]),e(n(t(R,b),-o[1]),n(t(T,y),l[1]))),i[2]),n(e(n(t(F,A),i[1]),e(n(t(z,d),-o[1]),n(t(k,h),l[1]))),-a[2])),e(n(e(n(t(R,b),i[1]),e(n(t(z,d),-a[1]),n(t(m,f),l[1]))),o[2]),n(e(n(t(T,y),i[1]),e(n(t(k,h),-a[1]),n(t(m,f),o[1]))),-l[2]))),u[3]),n(e(e(n(e(n(t(B,O),o[1]),e(n(t(F,A),-s[1]),n(t(P,M),l[1]))),a[2]),n(e(n(t(B,O),a[1]),e(n(t(R,b),-s[1]),n(t(L,x),l[1]))),-o[2])),e(n(e(n(t(F,A),a[1]),e(n(t(R,b),-o[1]),n(t(T,y),l[1]))),s[2]),n(e(n(t(P,M),a[1]),e(n(t(L,x),-o[1]),n(t(T,y),s[1]))),-l[2]))),i[3]))),e(e(n(e(e(n(e(n(t(B,O),o[1]),e(n(t(F,A),-s[1]),n(t(P,M),l[1]))),i[2]),n(e(n(t(B,O),i[1]),e(n(t(z,d),-s[1]),n(t(C,p),l[1]))),-o[2])),e(n(e(n(t(F,A),i[1]),e(n(t(z,d),-o[1]),n(t(k,h),l[1]))),s[2]),n(e(n(t(P,M),i[1]),e(n(t(C,p),-o[1]),n(t(k,h),s[1]))),-l[2]))),-a[3]),n(e(e(n(e(n(t(B,O),a[1]),e(n(t(R,b),-s[1]),n(t(L,x),l[1]))),i[2]),n(e(n(t(B,O),i[1]),e(n(t(z,d),-s[1]),n(t(C,p),l[1]))),-a[2])),e(n(e(n(t(R,b),i[1]),e(n(t(z,d),-a[1]),n(t(m,f),l[1]))),s[2]),n(e(n(t(L,x),i[1]),e(n(t(C,p),-a[1]),n(t(m,f),s[1]))),-l[2]))),o[3])),e(n(e(e(n(e(n(t(F,A),a[1]),e(n(t(R,b),-o[1]),n(t(T,y),l[1]))),i[2]),n(e(n(t(F,A),i[1]),e(n(t(z,d),-o[1]),n(t(k,h),l[1]))),-a[2])),e(n(e(n(t(R,b),i[1]),e(n(t(z,d),-a[1]),n(t(m,f),l[1]))),o[2]),n(e(n(t(T,y),i[1]),e(n(t(k,h),-a[1]),n(t(m,f),o[1]))),-l[2]))),-s[3]),n(e(e(n(e(n(t(P,M),a[1]),e(n(t(L,x),-o[1]),n(t(T,y),s[1]))),i[2]),n(e(n(t(P,M),i[1]),e(n(t(C,p),-o[1]),n(t(k,h),s[1]))),-a[2])),e(n(e(n(t(L,x),i[1]),e(n(t(C,p),-a[1]),n(t(m,f),s[1]))),o[2]),n(e(n(t(T,y),i[1]),e(n(t(k,h),-a[1]),n(t(m,f),o[1]))),-s[2]))),l[3]))))),Z=t(Y,W);return Z[Z.length-1]}}var h=[function(){return 0},function(){return 0},function(){return 0}];function p(e){var t=h[e.length];return t||(t=h[e.length]=s(e.length)),t.apply(void 0,e)}function d(e,t,r,n,i,a,o,s){return function(t,r,l,u,c,f){switch(arguments.length){case 0:case 1:return 0;case 2:return n(t,r);case 3:return i(t,r,l);case 4:return a(t,r,l,u);case 5:return o(t,r,l,u,c);case 6:return s(t,r,l,u,c,f)}for(var h=new Array(arguments.length),p=0;p<arguments.length;++p)h[p]=arguments[p];return e(h)}}!function(){for(;h.length<=6;)h.push(s(h.length));e.exports=d.apply(void 0,[p].concat(h));for(var t=0;t<=6;++t)e.exports[t]=h[t]}()},6606:function(e,t,r){\"use strict\";var n=r(8167);function i(e){return(2===e?a:3===e?o:4===e?s:5===e?l:u)(e<6?n[e]:n)}function a(e){return function(t,r){return[e([[+r[0],+t[0][1]],[+r[1],+t[1][1]]]),e([[+t[0][0],+r[0]],[+t[1][0],+r[1]]]),e(t)]}}function o(e){return function(t,r){return[e([[+r[0],+t[0][1],+t[0][2]],[+r[1],+t[1][1],+t[1][2]],[+r[2],+t[2][1],+t[2][2]]]),e([[+t[0][0],+r[0],+t[0][2]],[+t[1][0],+r[1],+t[1][2]],[+t[2][0],+r[2],+t[2][2]]]),e([[+t[0][0],+t[0][1],+r[0]],[+t[1][0],+t[1][1],+r[1]],[+t[2][0],+t[2][1],+r[2]]]),e(t)]}}function s(e){return function(t,r){return[e([[+r[0],+t[0][1],+t[0][2],+t[0][3]],[+r[1],+t[1][1],+t[1][2],+t[1][3]],[+r[2],+t[2][1],+t[2][2],+t[2][3]],[+r[3],+t[3][1],+t[3][2],+t[3][3]]]),e([[+t[0][0],+r[0],+t[0][2],+t[0][3]],[+t[1][0],+r[1],+t[1][2],+t[1][3]],[+t[2][0],+r[2],+t[2][2],+t[2][3]],[+t[3][0],+r[3],+t[3][2],+t[3][3]]]),e([[+t[0][0],+t[0][1],+r[0],+t[0][3]],[+t[1][0],+t[1][1],+r[1],+t[1][3]],[+t[2][0],+t[2][1],+r[2],+t[2][3]],[+t[3][0],+t[3][1],+r[3],+t[3][3]]]),e([[+t[0][0],+t[0][1],+t[0][2],+r[0]],[+t[1][0],+t[1][1],+t[1][2],+r[1]],[+t[2][0],+t[2][1],+t[2][2],+r[2]],[+t[3][0],+t[3][1],+t[3][2],+r[3]]]),e(t)]}}function l(e){return function(t,r){return[e([[+r[0],+t[0][1],+t[0][2],+t[0][3],+t[0][4]],[+r[1],+t[1][1],+t[1][2],+t[1][3],+t[1][4]],[+r[2],+t[2][1],+t[2][2],+t[2][3],+t[2][4]],[+r[3],+t[3][1],+t[3][2],+t[3][3],+t[3][4]],[+r[4],+t[4][1],+t[4][2],+t[4][3],+t[4][4]]]),e([[+t[0][0],+r[0],+t[0][2],+t[0][3],+t[0][4]],[+t[1][0],+r[1],+t[1][2],+t[1][3],+t[1][4]],[+t[2][0],+r[2],+t[2][2],+t[2][3],+t[2][4]],[+t[3][0],+r[3],+t[3][2],+t[3][3],+t[3][4]],[+t[4][0],+r[4],+t[4][2],+t[4][3],+t[4][4]]]),e([[+t[0][0],+t[0][1],+r[0],+t[0][3],+t[0][4]],[+t[1][0],+t[1][1],+r[1],+t[1][3],+t[1][4]],[+t[2][0],+t[2][1],+r[2],+t[2][3],+t[2][4]],[+t[3][0],+t[3][1],+r[3],+t[3][3],+t[3][4]],[+t[4][0],+t[4][1],+r[4],+t[4][3],+t[4][4]]]),e([[+t[0][0],+t[0][1],+t[0][2],+r[0],+t[0][4]],[+t[1][0],+t[1][1],+t[1][2],+r[1],+t[1][4]],[+t[2][0],+t[2][1],+t[2][2],+r[2],+t[2][4]],[+t[3][0],+t[3][1],+t[3][2],+r[3],+t[3][4]],[+t[4][0],+t[4][1],+t[4][2],+r[4],+t[4][4]]]),e([[+t[0][0],+t[0][1],+t[0][2],+t[0][3],+r[0]],[+t[1][0],+t[1][1],+t[1][2],+t[1][3],+r[1]],[+t[2][0],+t[2][1],+t[2][2],+t[2][3],+r[2]],[+t[3][0],+t[3][1],+t[3][2],+t[3][3],+r[3]],[+t[4][0],+t[4][1],+t[4][2],+t[4][3],+r[4]]]),e(t)]}}function u(e){return function(t,r){return[e([[+r[0],+t[0][1],+t[0][2],+t[0][3],+t[0][4],+t[0][5]],[+r[1],+t[1][1],+t[1][2],+t[1][3],+t[1][4],+t[1][5]],[+r[2],+t[2][1],+t[2][2],+t[2][3],+t[2][4],+t[2][5]],[+r[3],+t[3][1],+t[3][2],+t[3][3],+t[3][4],+t[3][5]],[+r[4],+t[4][1],+t[4][2],+t[4][3],+t[4][4],+t[4][5]],[+r[5],+t[5][1],+t[5][2],+t[5][3],+t[5][4],+t[5][5]]]),e([[+t[0][0],+r[0],+t[0][2],+t[0][3],+t[0][4],+t[0][5]],[+t[1][0],+r[1],+t[1][2],+t[1][3],+t[1][4],+t[1][5]],[+t[2][0],+r[2],+t[2][2],+t[2][3],+t[2][4],+t[2][5]],[+t[3][0],+r[3],+t[3][2],+t[3][3],+t[3][4],+t[3][5]],[+t[4][0],+r[4],+t[4][2],+t[4][3],+t[4][4],+t[4][5]],[+t[5][0],+r[5],+t[5][2],+t[5][3],+t[5][4],+t[5][5]]]),e([[+t[0][0],+t[0][1],+r[0],+t[0][3],+t[0][4],+t[0][5]],[+t[1][0],+t[1][1],+r[1],+t[1][3],+t[1][4],+t[1][5]],[+t[2][0],+t[2][1],+r[2],+t[2][3],+t[2][4],+t[2][5]],[+t[3][0],+t[3][1],+r[3],+t[3][3],+t[3][4],+t[3][5]],[+t[4][0],+t[4][1],+r[4],+t[4][3],+t[4][4],+t[4][5]],[+t[5][0],+t[5][1],+r[5],+t[5][3],+t[5][4],+t[5][5]]]),e([[+t[0][0],+t[0][1],+t[0][2],+r[0],+t[0][4],+t[0][5]],[+t[1][0],+t[1][1],+t[1][2],+r[1],+t[1][4],+t[1][5]],[+t[2][0],+t[2][1],+t[2][2],+r[2],+t[2][4],+t[2][5]],[+t[3][0],+t[3][1],+t[3][2],+r[3],+t[3][4],+t[3][5]],[+t[4][0],+t[4][1],+t[4][2],+r[4],+t[4][4],+t[4][5]],[+t[5][0],+t[5][1],+t[5][2],+r[5],+t[5][4],+t[5][5]]]),e([[+t[0][0],+t[0][1],+t[0][2],+t[0][3],+r[0],+t[0][5]],[+t[1][0],+t[1][1],+t[1][2],+t[1][3],+r[1],+t[1][5]],[+t[2][0],+t[2][1],+t[2][2],+t[2][3],+r[2],+t[2][5]],[+t[3][0],+t[3][1],+t[3][2],+t[3][3],+r[3],+t[3][5]],[+t[4][0],+t[4][1],+t[4][2],+t[4][3],+r[4],+t[4][5]],[+t[5][0],+t[5][1],+t[5][2],+t[5][3],+r[5],+t[5][5]]]),e([[+t[0][0],+t[0][1],+t[0][2],+t[0][3],+t[0][4],+r[0]],[+t[1][0],+t[1][1],+t[1][2],+t[1][3],+t[1][4],+r[1]],[+t[2][0],+t[2][1],+t[2][2],+t[2][3],+t[2][4],+r[2]],[+t[3][0],+t[3][1],+t[3][2],+t[3][3],+t[3][4],+r[3]],[+t[4][0],+t[4][1],+t[4][2],+t[4][3],+t[4][4],+r[4]],[+t[5][0],+t[5][1],+t[5][2],+t[5][3],+t[5][4],+r[5]]]),e(t)]}}var c=[function(){return[[0]]},function(e,t){return[[t[0]],[e[0][0]]]}];function f(e,t,r,n,i,a,o,s){return function(l,u){switch(l.length){case 0:return e(l,u);case 1:return t(l,u);case 2:return r(l,u);case 3:return n(l,u);case 4:return i(l,u);case 5:return a(l,u)}var c=o[l.length];return c||(c=o[l.length]=s(l.length)),c(l,u)}}!function(){for(;c.length<6;)c.push(i(c.length));e.exports=f.apply(void 0,c.concat([c,i]));for(var t=0;t<6;++t)e.exports[t]=c[t]}()},417:function(e,t,r){\"use strict\";var n=r(9660),i=r(9662),a=r(8289),o=r(4078);function s(e,t,r,n){return function(r,i,a){var o=e(e(t(i[1],a[0]),t(-a[1],i[0])),e(t(r[1],i[0]),t(-i[1],r[0]))),s=e(t(r[1],a[0]),t(-a[1],r[0])),l=n(o,s);return l[l.length-1]}}function l(e,t,r,n){return function(i,a,o,s){var l=e(e(r(e(t(o[1],s[0]),t(-s[1],o[0])),a[2]),e(r(e(t(a[1],s[0]),t(-s[1],a[0])),-o[2]),r(e(t(a[1],o[0]),t(-o[1],a[0])),s[2]))),e(r(e(t(a[1],s[0]),t(-s[1],a[0])),i[2]),e(r(e(t(i[1],s[0]),t(-s[1],i[0])),-a[2]),r(e(t(i[1],a[0]),t(-a[1],i[0])),s[2])))),u=e(e(r(e(t(o[1],s[0]),t(-s[1],o[0])),i[2]),e(r(e(t(i[1],s[0]),t(-s[1],i[0])),-o[2]),r(e(t(i[1],o[0]),t(-o[1],i[0])),s[2]))),e(r(e(t(a[1],o[0]),t(-o[1],a[0])),i[2]),e(r(e(t(i[1],o[0]),t(-o[1],i[0])),-a[2]),r(e(t(i[1],a[0]),t(-a[1],i[0])),o[2])))),c=n(l,u);return c[c.length-1]}}function u(e,t,r,n){return function(i,a,o,s,l){var u=e(e(e(r(e(r(e(t(s[1],l[0]),t(-l[1],s[0])),o[2]),e(r(e(t(o[1],l[0]),t(-l[1],o[0])),-s[2]),r(e(t(o[1],s[0]),t(-s[1],o[0])),l[2]))),a[3]),e(r(e(r(e(t(s[1],l[0]),t(-l[1],s[0])),a[2]),e(r(e(t(a[1],l[0]),t(-l[1],a[0])),-s[2]),r(e(t(a[1],s[0]),t(-s[1],a[0])),l[2]))),-o[3]),r(e(r(e(t(o[1],l[0]),t(-l[1],o[0])),a[2]),e(r(e(t(a[1],l[0]),t(-l[1],a[0])),-o[2]),r(e(t(a[1],o[0]),t(-o[1],a[0])),l[2]))),s[3]))),e(r(e(r(e(t(o[1],s[0]),t(-s[1],o[0])),a[2]),e(r(e(t(a[1],s[0]),t(-s[1],a[0])),-o[2]),r(e(t(a[1],o[0]),t(-o[1],a[0])),s[2]))),-l[3]),e(r(e(r(e(t(s[1],l[0]),t(-l[1],s[0])),a[2]),e(r(e(t(a[1],l[0]),t(-l[1],a[0])),-s[2]),r(e(t(a[1],s[0]),t(-s[1],a[0])),l[2]))),i[3]),r(e(r(e(t(s[1],l[0]),t(-l[1],s[0])),i[2]),e(r(e(t(i[1],l[0]),t(-l[1],i[0])),-s[2]),r(e(t(i[1],s[0]),t(-s[1],i[0])),l[2]))),-a[3])))),e(e(r(e(r(e(t(a[1],l[0]),t(-l[1],a[0])),i[2]),e(r(e(t(i[1],l[0]),t(-l[1],i[0])),-a[2]),r(e(t(i[1],a[0]),t(-a[1],i[0])),l[2]))),s[3]),e(r(e(r(e(t(a[1],s[0]),t(-s[1],a[0])),i[2]),e(r(e(t(i[1],s[0]),t(-s[1],i[0])),-a[2]),r(e(t(i[1],a[0]),t(-a[1],i[0])),s[2]))),-l[3]),r(e(r(e(t(o[1],s[0]),t(-s[1],o[0])),a[2]),e(r(e(t(a[1],s[0]),t(-s[1],a[0])),-o[2]),r(e(t(a[1],o[0]),t(-o[1],a[0])),s[2]))),i[3]))),e(r(e(r(e(t(o[1],s[0]),t(-s[1],o[0])),i[2]),e(r(e(t(i[1],s[0]),t(-s[1],i[0])),-o[2]),r(e(t(i[1],o[0]),t(-o[1],i[0])),s[2]))),-a[3]),e(r(e(r(e(t(a[1],s[0]),t(-s[1],a[0])),i[2]),e(r(e(t(i[1],s[0]),t(-s[1],i[0])),-a[2]),r(e(t(i[1],a[0]),t(-a[1],i[0])),s[2]))),o[3]),r(e(r(e(t(a[1],o[0]),t(-o[1],a[0])),i[2]),e(r(e(t(i[1],o[0]),t(-o[1],i[0])),-a[2]),r(e(t(i[1],a[0]),t(-a[1],i[0])),o[2]))),-s[3]))))),c=e(e(e(r(e(r(e(t(s[1],l[0]),t(-l[1],s[0])),o[2]),e(r(e(t(o[1],l[0]),t(-l[1],o[0])),-s[2]),r(e(t(o[1],s[0]),t(-s[1],o[0])),l[2]))),i[3]),r(e(r(e(t(s[1],l[0]),t(-l[1],s[0])),i[2]),e(r(e(t(i[1],l[0]),t(-l[1],i[0])),-s[2]),r(e(t(i[1],s[0]),t(-s[1],i[0])),l[2]))),-o[3])),e(r(e(r(e(t(o[1],l[0]),t(-l[1],o[0])),i[2]),e(r(e(t(i[1],l[0]),t(-l[1],i[0])),-o[2]),r(e(t(i[1],o[0]),t(-o[1],i[0])),l[2]))),s[3]),r(e(r(e(t(o[1],s[0]),t(-s[1],o[0])),i[2]),e(r(e(t(i[1],s[0]),t(-s[1],i[0])),-o[2]),r(e(t(i[1],o[0]),t(-o[1],i[0])),s[2]))),-l[3]))),e(e(r(e(r(e(t(o[1],l[0]),t(-l[1],o[0])),a[2]),e(r(e(t(a[1],l[0]),t(-l[1],a[0])),-o[2]),r(e(t(a[1],o[0]),t(-o[1],a[0])),l[2]))),i[3]),r(e(r(e(t(o[1],l[0]),t(-l[1],o[0])),i[2]),e(r(e(t(i[1],l[0]),t(-l[1],i[0])),-o[2]),r(e(t(i[1],o[0]),t(-o[1],i[0])),l[2]))),-a[3])),e(r(e(r(e(t(a[1],l[0]),t(-l[1],a[0])),i[2]),e(r(e(t(i[1],l[0]),t(-l[1],i[0])),-a[2]),r(e(t(i[1],a[0]),t(-a[1],i[0])),l[2]))),o[3]),r(e(r(e(t(a[1],o[0]),t(-o[1],a[0])),i[2]),e(r(e(t(i[1],o[0]),t(-o[1],i[0])),-a[2]),r(e(t(i[1],a[0]),t(-a[1],i[0])),o[2]))),-l[3])))),f=n(u,c);return f[f.length-1]}}function c(e){return(3===e?s:4===e?l:u)(i,n,a,o)}var f=c(3),h=c(4),p=[function(){return 0},function(){return 0},function(e,t){return t[0]-e[0]},function(e,t,r){var n,i=(e[1]-r[1])*(t[0]-r[0]),a=(e[0]-r[0])*(t[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(e,t,r)},function(e,t,r,n){var i=e[0]-n[0],a=t[0]-n[0],o=r[0]-n[0],s=e[1]-n[1],l=t[1]-n[1],u=r[1]-n[1],c=e[2]-n[2],f=t[2]-n[2],p=r[2]-n[2],d=a*u,v=o*l,g=o*s,m=i*u,y=i*l,x=a*s,b=c*(d-v)+f*(g-m)+p*(y-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(v))*Math.abs(c)+(Math.abs(g)+Math.abs(m))*Math.abs(f)+(Math.abs(y)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(e,t,r,n)}];function d(e){var t=p[e.length];return t||(t=p[e.length]=c(e.length)),t.apply(void 0,e)}function v(e,t,r,n,i,a,o){return function(t,r,s,l,u){switch(arguments.length){case 0:case 1:return 0;case 2:return n(t,r);case 3:return i(t,r,s);case 4:return a(t,r,s,l);case 5:return o(t,r,s,l,u)}for(var c=new Array(arguments.length),f=0;f<arguments.length;++f)c[f]=arguments[f];return e(c)}}!function(){for(;p.length<=5;)p.push(c(p.length));e.exports=v.apply(void 0,[d].concat(p));for(var t=0;t<=5;++t)e.exports[t]=p[t]}()},2019:function(e,t,r){\"use strict\";var n=r(9662),i=r(8289);e.exports=function(e,t){if(1===e.length)return i(t,e[0]);if(1===t.length)return i(e,t[0]);if(0===e.length||0===t.length)return[0];var r=[0];if(e.length<t.length)for(var a=0;a<e.length;++a)r=n(r,i(t,e[a]));else for(a=0;a<t.length;++a)r=n(r,i(e,t[a]));return r}},8289:function(e,t,r){\"use strict\";var n=r(9660),i=r(87);e.exports=function(e,t){var r=e.length;if(1===r){var a=n(e[0],t);return a[0]?a:[a[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],u=0;n(e[0],t,s),s[0]&&(o[u++]=s[0]);for(var c=1;c<r;++c){n(e[c],t,l);var f=s[1];i(f,l[0],s),s[0]&&(o[u++]=s[0]);var h=l[1],p=s[1],d=h+p,v=p-(d-h);s[1]=d,v&&(o[u++]=v)}return s[1]&&(o[u++]=s[1]),0===u&&(o[u++]=0),o.length=u,o}},4434:function(e,t,r){\"use strict\";e.exports=function(e,t,r,i){var a=n(e,r,i),o=n(t,r,i);if(a>0&&o>0||a<0&&o<0)return!1;var s=n(r,e,t),l=n(i,e,t);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(e,t,r,n){for(var i=0;i<2;++i){var a=e[i],o=t[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],f=Math.min(u,c);if(Math.max(u,c)<s||l<f)return!1}return!0}(e,t,r,i))};var n=r(417)[3]},4078:function(e){\"use strict\";e.exports=function(e,t){var r=0|e.length,n=0|t.length;if(1===r&&1===n)return function(e,t){var r=e+t,n=r-e,i=e-(r-n)+(t-n);return i?[i,r]:[r]}(e[0],-t[0]);var i,a,o=new Array(r+n),s=0,l=0,u=0,c=Math.abs,f=e[l],h=c(f),p=-t[u],d=c(p);h<d?(a=f,(l+=1)<r&&(h=c(f=e[l]))):(a=p,(u+=1)<n&&(d=c(p=-t[u]))),l<r&&h<d||u>=n?(i=f,(l+=1)<r&&(h=c(f=e[l]))):(i=p,(u+=1)<n&&(d=c(p=-t[u])));for(var v,g,m=i+a,y=m-i,x=a-y,b=x,_=m;l<r&&u<n;)h<d?(i=f,(l+=1)<r&&(h=c(f=e[l]))):(i=p,(u+=1)<n&&(d=c(p=-t[u]))),(x=(a=b)-(y=(m=i+a)-i))&&(o[s++]=x),b=_-((v=_+m)-(g=v-_))+(m-g),_=v;for(;l<r;)(x=(a=b)-(y=(m=(i=f)+a)-i))&&(o[s++]=x),b=_-((v=_+m)-(g=v-_))+(m-g),_=v,(l+=1)<r&&(f=e[l]);for(;u<n;)(x=(a=b)-(y=(m=(i=p)+a)-i))&&(o[s++]=x),b=_-((v=_+m)-(g=v-_))+(m-g),_=v,(u+=1)<n&&(p=-t[u]);return b&&(o[s++]=b),_&&(o[s++]=_),s||(o[s++]=0),o.length=s,o}},9662:function(e){\"use strict\";e.exports=function(e,t){var r=0|e.length,n=0|t.length;if(1===r&&1===n)return function(e,t){var r=e+t,n=r-e,i=e-(r-n)+(t-n);return i?[i,r]:[r]}(e[0],t[0]);var i,a,o=new Array(r+n),s=0,l=0,u=0,c=Math.abs,f=e[l],h=c(f),p=t[u],d=c(p);h<d?(a=f,(l+=1)<r&&(h=c(f=e[l]))):(a=p,(u+=1)<n&&(d=c(p=t[u]))),l<r&&h<d||u>=n?(i=f,(l+=1)<r&&(h=c(f=e[l]))):(i=p,(u+=1)<n&&(d=c(p=t[u])));for(var v,g,m=i+a,y=m-i,x=a-y,b=x,_=m;l<r&&u<n;)h<d?(i=f,(l+=1)<r&&(h=c(f=e[l]))):(i=p,(u+=1)<n&&(d=c(p=t[u]))),(x=(a=b)-(y=(m=i+a)-i))&&(o[s++]=x),b=_-((v=_+m)-(g=v-_))+(m-g),_=v;for(;l<r;)(x=(a=b)-(y=(m=(i=f)+a)-i))&&(o[s++]=x),b=_-((v=_+m)-(g=v-_))+(m-g),_=v,(l+=1)<r&&(f=e[l]);for(;u<n;)(x=(a=b)-(y=(m=(i=p)+a)-i))&&(o[s++]=x),b=_-((v=_+m)-(g=v-_))+(m-g),_=v,(u+=1)<n&&(p=t[u]);return b&&(o[s++]=b),_&&(o[s++]=_),s||(o[s++]=0),o.length=s,o}},8691:function(e,t,r){\"use strict\";e.exports=function(e){return i(n(e))};var n=r(2692),i=r(7037)},7212:function(e,t,r){\"use strict\";e.exports=function(e,t,r,s){if(r=r||0,void 0===s&&(s=function(e){for(var t=e.length,r=0,n=0;n<t;++n)r=0|Math.max(r,e[n].length);return r-1}(e)),0===e.length||s<1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(e,t){for(var r=e.length,n=i.mallocUint8(r),a=0;a<r;++a)n[a]=e[a]<t|0;return n}(t,+r),u=function(e,t){for(var r=e.length,o=t*(t+1)/2*r|0,s=i.mallocUint32(2*o),l=0,u=0;u<r;++u)for(var c=e[u],f=(t=c.length,0);f<t;++f)for(var h=0;h<f;++h){var p=c[h],d=c[f];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}a(n(s,[l/2|0,2]));var v=2;for(u=2;u<l;u+=2)s[u-2]===s[u]&&s[u-1]===s[u+1]||(s[v++]=s[u],s[v++]=s[u+1]);return n(s,[v/2|0,2])}(e,s),c=function(e,t,r,a){for(var o=e.data,s=e.shape[0],l=i.mallocDouble(s),u=0,c=0;c<s;++c){var f=o[2*c],h=o[2*c+1];if(r[f]!==r[h]){var p=t[f],d=t[h];o[2*u]=f,o[2*u+1]=h,l[u++]=(d-a)/(d-p)}}return e.shape[0]=u,n(l,[u])}(u,t,l,+r),f=function(e,t){var r=i.mallocInt32(2*t),n=e.shape[0],a=e.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=a[2*s];if(l!==o){for(r[2*o+1]=s;++o<l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}for(r[2*o+1]=n;++o<t;)r[2*o]=r[2*o+1]=n;return r}(u,0|t.length),h=o(s)(e,u.data,f,l),p=function(e){for(var t=0|e.shape[0],r=e.data,n=new Array(t),i=0;i<t;++i)n[i]=[r[2*i],r[2*i+1]];return n}(u),d=[].slice.call(c.data,0,c.shape[0]);return i.free(l),i.free(u.data),i.free(c.data),i.free(f),{cells:h,vertexIds:p,vertexWeights:d}};var n=r(5050),i=r(5306),a=r(8729),o=r(1168)},1168:function(e){\"use strict\";e.exports=function(e){return t[e]()};var t=[function(){return function(e,t,r,n){for(var i=e.length,a=0;a<i;++a)e[a].length;return[]}},function(){function e(e,t,r,n){for(var i=0|Math.min(r,n),a=0|Math.max(r,n),o=e[2*i],s=e[2*i+1];o<s;){var l=o+s>>1,u=t[2*l+1];if(u===a)return l;a<u?s=l:o=l+1}return o}return function(t,r,n,i){for(var a=t.length,o=[],s=0;s<a;++s){var l=t[s];if(2===l.length){var u=(i[l[0]]<<0)+(i[l[1]]<<1);if(0===u||3===u)continue;switch(u){case 0:case 3:break;case 1:o.push([e(n,r,l[0],l[1])]);break;case 2:o.push([e(n,r,l[1],l[0])])}}}return o}},function(){function e(e,t,r,n){for(var i=0|Math.min(r,n),a=0|Math.max(r,n),o=e[2*i],s=e[2*i+1];o<s;){var l=o+s>>1,u=t[2*l+1];if(u===a)return l;a<u?s=l:o=l+1}return o}return function(t,r,n,i){for(var a=t.length,o=[],s=0;s<a;++s){var l=t[s],u=l.length;if(3===u){if(0==(c=(i[l[0]]<<0)+(i[l[1]]<<1)+(i[l[2]]<<2))||7===c)continue;switch(c){case 0:case 7:break;case 1:o.push([e(n,r,l[0],l[2]),e(n,r,l[0],l[1])]);break;case 2:o.push([e(n,r,l[1],l[0]),e(n,r,l[1],l[2])]);break;case 3:o.push([e(n,r,l[0],l[2]),e(n,r,l[1],l[2])]);break;case 4:o.push([e(n,r,l[2],l[1]),e(n,r,l[2],l[0])]);break;case 5:o.push([e(n,r,l[2],l[1]),e(n,r,l[0],l[1])]);break;case 6:o.push([e(n,r,l[1],l[0]),e(n,r,l[2],l[0])])}}else if(2===u){var c;if(0==(c=(i[l[0]]<<0)+(i[l[1]]<<1))||3===c)continue;switch(c){case 0:case 3:break;case 1:o.push([e(n,r,l[0],l[1])]);break;case 2:o.push([e(n,r,l[1],l[0])])}}}return o}},function(){function e(e,t,r,n){for(var i=0|Math.min(r,n),a=0|Math.max(r,n),o=e[2*i],s=e[2*i+1];o<s;){var l=o+s>>1,u=t[2*l+1];if(u===a)return l;a<u?s=l:o=l+1}return o}return function(t,r,n,i){for(var a=t.length,o=[],s=0;s<a;++s){var l=t[s],u=l.length;if(4===u){if(0==(c=(i[l[0]]<<0)+(i[l[1]]<<1)+(i[l[2]]<<2)+(i[l[3]]<<3))||15===c)continue;switch(c){case 0:case 15:break;case 1:o.push([e(n,r,l[0],l[1]),e(n,r,l[0],l[2]),e(n,r,l[0],l[3])]);break;case 2:o.push([e(n,r,l[1],l[2]),e(n,r,l[1],l[0]),e(n,r,l[1],l[3])]);break;case 3:o.push([e(n,r,l[1],l[2]),e(n,r,l[0],l[2]),e(n,r,l[0],l[3])],[e(n,r,l[1],l[3]),e(n,r,l[1],l[2]),e(n,r,l[0],l[3])]);break;case 4:o.push([e(n,r,l[2],l[0]),e(n,r,l[2],l[1]),e(n,r,l[2],l[3])]);break;case 5:o.push([e(n,r,l[0],l[1]),e(n,r,l[2],l[1]),e(n,r,l[0],l[3])],[e(n,r,l[2],l[1]),e(n,r,l[2],l[3]),e(n,r,l[0],l[3])]);break;case 6:o.push([e(n,r,l[2],l[0]),e(n,r,l[1],l[0]),e(n,r,l[1],l[3])],[e(n,r,l[2],l[3]),e(n,r,l[2],l[0]),e(n,r,l[1],l[3])]);break;case 7:o.push([e(n,r,l[0],l[3]),e(n,r,l[1],l[3]),e(n,r,l[2],l[3])]);break;case 8:o.push([e(n,r,l[3],l[1]),e(n,r,l[3],l[0]),e(n,r,l[3],l[2])]);break;case 9:o.push([e(n,r,l[3],l[1]),e(n,r,l[0],l[1]),e(n,r,l[0],l[2])],[e(n,r,l[3],l[2]),e(n,r,l[3],l[1]),e(n,r,l[0],l[2])]);break;case 10:o.push([e(n,r,l[1],l[0]),e(n,r,l[3],l[0]),e(n,r,l[1],l[2])],[e(n,r,l[3],l[0]),e(n,r,l[3],l[2]),e(n,r,l[1],l[2])]);break;case 11:o.push([e(n,r,l[1],l[2]),e(n,r,l[0],l[2]),e(n,r,l[3],l[2])]);break;case 12:o.push([e(n,r,l[3],l[0]),e(n,r,l[2],l[0]),e(n,r,l[2],l[1])],[e(n,r,l[3],l[1]),e(n,r,l[3],l[0]),e(n,r,l[2],l[1])]);break;case 13:o.push([e(n,r,l[0],l[1]),e(n,r,l[2],l[1]),e(n,r,l[3],l[1])]);break;case 14:o.push([e(n,r,l[2],l[0]),e(n,r,l[1],l[0]),e(n,r,l[3],l[0])])}}else if(3===u){if(0==(c=(i[l[0]]<<0)+(i[l[1]]<<1)+(i[l[2]]<<2))||7===c)continue;switch(c){case 0:case 7:break;case 1:o.push([e(n,r,l[0],l[2]),e(n,r,l[0],l[1])]);break;case 2:o.push([e(n,r,l[1],l[0]),e(n,r,l[1],l[2])]);break;case 3:o.push([e(n,r,l[0],l[2]),e(n,r,l[1],l[2])]);break;case 4:o.push([e(n,r,l[2],l[1]),e(n,r,l[2],l[0])]);break;case 5:o.push([e(n,r,l[2],l[1]),e(n,r,l[0],l[1])]);break;case 6:o.push([e(n,r,l[1],l[0]),e(n,r,l[2],l[0])])}}else if(2===u){var c;if(0==(c=(i[l[0]]<<0)+(i[l[1]]<<1))||3===c)continue;switch(c){case 0:case 3:break;case 1:o.push([e(n,r,l[0],l[1])]);break;case 2:o.push([e(n,r,l[1],l[0])])}}}return o}}]},8211:function(e,t,r){\"use strict\";r(2288),r(1731),t.H=function(e,t){var r=e.length,n=e.length-t.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return e[0]-t[0];case 2:return(s=e[0]+e[1]-t[0]-t[1])||i(e[0],e[1])-i(t[0],t[1]);case 3:var a=e[0]+e[1],o=t[0]+t[1];if(s=a+e[2]-(o+t[2]))return s;var s,l=i(e[0],e[1]),u=i(t[0],t[1]);return(s=i(l,e[2])-i(u,t[2]))||i(l+e[2],a)-i(u+t[2],o);default:var c=e.slice(0);c.sort();var f=t.slice(0);f.sort();for(var h=0;h<r;++h)if(n=c[h]-f[h])return n;return 0}}},9392:function(e,t){\"use strict\";function r(e){var t=32;return(e&=-e)&&t--,65535&e&&(t-=16),16711935&e&&(t-=8),252645135&e&&(t-=4),858993459&e&&(t-=2),1431655765&e&&(t-=1),t}t.INT_BITS=32,t.INT_MAX=2147483647,t.INT_MIN=-1<<31,t.sign=function(e){return(e>0)-(e<0)},t.abs=function(e){var t=e>>31;return(e^t)-t},t.min=function(e,t){return t^(e^t)&-(e<t)},t.max=function(e,t){return e^(e^t)&-(e<t)},t.isPow2=function(e){return!(e&e-1||!e)},t.log2=function(e){var t,r;return t=(e>65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1},t.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0},t.popCount=function(e){return 16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24},t.countTrailingZeros=r,t.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,1+((e|=e>>>8)|e>>>16)},t.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},t.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var n=new Array(256);!function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;e[t]=n<<i&255}}(n),t.reverse=function(e){return n[255&e]<<24|n[e>>>8&255]<<16|n[e>>>16&255]<<8|n[e>>>24&255]},t.interleave2=function(e,t){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))<<1},t.deinterleave2=function(e,t){return(e=65535&((e=16711935&((e=252645135&((e=858993459&((e=e>>>t&1431655765)|e>>>1))|e>>>2))|e>>>4))|e>>>16))<<16>>16},t.interleave3=function(e,t,r){return e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2),(e|=(t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},t.deinterleave3=function(e,t){return(e=1023&((e=4278190335&((e=251719695&((e=3272356035&((e=e>>>t&1227133513)|e>>>2))|e>>>4))|e>>>8))|e>>>16))<<22>>22},t.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>r(e)+1}},6656:function(e,t,r){\"use strict\";var n=r(9392),i=r(9521);function a(e,t){var r=e.length,n=e.length-t.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return e[0]-t[0];case 2:return(s=e[0]+e[1]-t[0]-t[1])||i(e[0],e[1])-i(t[0],t[1]);case 3:var a=e[0]+e[1],o=t[0]+t[1];if(s=a+e[2]-(o+t[2]))return s;var s,l=i(e[0],e[1]),u=i(t[0],t[1]);return(s=i(l,e[2])-i(u,t[2]))||i(l+e[2],a)-i(u+t[2],o);default:var c=e.slice(0);c.sort();var f=t.slice(0);f.sort();for(var h=0;h<r;++h)if(n=c[h]-f[h])return n;return 0}}function o(e,t){return a(e[0],t[0])}function s(e,t){if(t){for(var r=e.length,n=new Array(r),i=0;i<r;++i)n[i]=[e[i],t[i]];for(n.sort(o),i=0;i<r;++i)e[i]=n[i][0],t[i]=n[i][1];return e}return e.sort(a),e}function l(e){if(0===e.length)return[];for(var t=1,r=e.length,n=1;n<r;++n){var i=e[n];if(a(i,e[n-1])){if(n===t){t++;continue}e[t++]=i}}return e.length=t,e}function u(e,t){for(var r=0,n=e.length-1,i=-1;r<=n;){var o=r+n>>1,s=a(e[o],t);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function c(e,t){for(var r=new Array(e.length),i=0,o=r.length;i<o;++i)r[i]=[];for(var s=[],l=(i=0,t.length);i<l;++i)for(var c=t[i],f=c.length,h=1,p=1<<f;h<p;++h){s.length=n.popCount(h);for(var d=0,v=0;v<f;++v)h&1<<v&&(s[d++]=c[v]);var g=u(e,s);if(!(g<0))for(;r[g++].push(i),!(g>=e.length||0!==a(e[g],s)););}return r}function f(e,t){if(t<0)return[];for(var r=[],i=(1<<t+1)-1,a=0;a<e.length;++a)for(var o=e[a],l=i;l<1<<o.length;l=n.nextCombination(l)){for(var u=new Array(t+1),c=0,f=0;f<o.length;++f)l&1<<f&&(u[c++]=o[f]);r.push(u)}return s(r)}t.dimension=function(e){for(var t=0,r=Math.max,n=0,i=e.length;n<i;++n)t=r(t,e[n].length);return t-1},t.countVertices=function(e){for(var t=-1,r=Math.max,n=0,i=e.length;n<i;++n)for(var a=e[n],o=0,s=a.length;o<s;++o)t=r(t,a[o]);return t+1},t.cloneCells=function(e){for(var t=new Array(e.length),r=0,n=e.length;r<n;++r)t[r]=e[r].slice(0);return t},t.compareCells=a,t.normalize=s,t.unique=l,t.findCell=u,t.incidence=c,t.dual=function(e,t){if(!t)return c(l(f(e,0)),e);for(var r=new Array(t),n=0;n<t;++n)r[n]=[];n=0;for(var i=e.length;n<i;++n)for(var a=e[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},t.explode=function(e){for(var t=[],r=0,n=e.length;r<n;++r)for(var i=e[r],a=0|i.length,o=1,l=1<<a;o<l;++o){for(var u=[],c=0;c<a;++c)o>>>c&1&&u.push(i[c]);t.push(u)}return s(t)},t.skeleton=f,t.boundary=function(e){for(var t=[],r=0,n=e.length;r<n;++r)for(var i=e[r],a=0,o=i.length;a<o;++a){for(var l=new Array(i.length-1),u=0,c=0;u<o;++u)u!==a&&(l[c++]=i[u]);t.push(l)}return s(t)},t.connectedComponents=function(e,t){return t?function(e,t){for(var r=new i(t),n=0;n<e.length;++n)for(var a=e[n],o=0;o<a.length;++o)for(var s=o+1;s<a.length;++s)r.link(a[o],a[s]);var l=[],u=r.ranks;for(n=0;n<u.length;++n)u[n]=-1;for(n=0;n<e.length;++n){var c=r.find(e[n][0]);u[c]<0?(u[c]=l.length,l.push([e[n].slice(0)])):l[u[c]].push(e[n].slice(0))}return l}(e,t):function(e){for(var t=l(s(f(e,0))),r=new i(t.length),n=0;n<e.length;++n)for(var a=e[n],o=0;o<a.length;++o)for(var c=u(t,[a[o]]),h=o+1;h<a.length;++h)r.link(c,u(t,[a[h]]));var p=[],d=r.ranks;for(n=0;n<d.length;++n)d[n]=-1;for(n=0;n<e.length;++n){var v=r.find(u(t,[e[n][0]]));d[v]<0?(d[v]=p.length,p.push([e[n].slice(0)])):p[d[v]].push(e[n].slice(0))}return p}(e)}},9521:function(e){\"use strict\";function t(e){this.roots=new Array(e),this.ranks=new Array(e);for(var t=0;t<e;++t)this.roots[t]=t,this.ranks[t]=0}e.exports=t,t.prototype.length=function(){return this.roots.length},t.prototype.makeSet=function(){var e=this.roots.length;return this.roots.push(e),this.ranks.push(0),e},t.prototype.find=function(e){for(var t=this.roots;t[e]!==e;){var r=t[e];t[e]=t[r],e=r}return e},t.prototype.link=function(e,t){var r=this.find(e),n=this.find(t);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},8243:function(e,t,r){\"use strict\";e.exports=function(e,t,r){for(var a=t.length,o=e.length,s=new Array(a),l=new Array(a),u=new Array(a),c=new Array(a),f=0;f<a;++f)s[f]=l[f]=-1,u[f]=1/0,c[f]=!1;for(f=0;f<o;++f){var h=e[f];if(2!==h.length)throw new Error(\"Input must be a graph\");var p=h[1],d=h[0];-1!==l[d]?l[d]=-2:l[d]=p,-1!==s[p]?s[p]=-2:s[p]=d}function v(e){if(c[e])return 1/0;var r,i,a,o=s[e],u=l[e];return o<0||u<0?1/0:(r=t[e],i=t[o],a=t[u],Math.abs(n(r,i,a))/Math.sqrt(Math.pow(i[0]-a[0],2)+Math.pow(i[1]-a[1],2)))}function g(e,t){var r=T[e],n=T[t];T[e]=n,T[t]=r,M[r]=t,M[n]=e}function m(e){return u[T[e]]}function y(e){return 1&e?e-1>>1:(e>>1)-1}function x(e){for(var t=m(e);;){var r=t,n=2*e+1,i=2*(e+1),a=e;if(n<A){var o=m(n);o<r&&(a=n,r=o)}if(i<A&&m(i)<r&&(a=i),a===e)return e;g(e,a),e=a}}function b(e){for(var t=m(e);e>0;){var r=y(e);if(!(r>=0&&t<m(r)))return e;g(e,r),e=r}}function _(){if(A>0){var e=T[0];return g(0,A-1),A-=1,x(0),e}return-1}function w(e,t){var r=T[e];return u[r]===t?e:(u[r]=-1/0,b(e),_(),u[r]=t,b((A+=1)-1))}function k(e){if(!c[e]){c[e]=!0;var t=s[e],r=l[e];s[r]>=0&&(s[r]=t),l[t]>=0&&(l[t]=r),M[t]>=0&&w(M[t],v(t)),M[r]>=0&&w(M[r],v(r))}}var T=[],M=new Array(a);for(f=0;f<a;++f)(u[f]=v(f))<1/0?(M[f]=T.length,T.push(f)):M[f]=-1;var A=T.length;for(f=A>>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||u[S]>r)break;k(S)}var E=[];for(f=0;f<a;++f)c[f]||(M[f]=E.length,E.push(t[f].slice()));function C(e,t){if(e[t]<0)return t;var r=t,n=t;do{var i=e[n];if(!c[n]||i<0||i===n)break;if(i=e[n=i],!c[n]||i<0||i===n)break;n=i,r=e[r]}while(r!==n);for(var a=t;a!==n;a=e[a])e[a]=n;return n}E.length;var L=[];return e.forEach((function(e){var t=C(s,e[0]),r=C(l,e[1]);if(t>=0&&r>=0&&t!==r){var n=M[t],i=M[r];n!==i&&L.push([n,i])}})),i.unique(i.normalize(L)),{positions:E,edges:L}};var n=r(417),i=r(6656)},6638:function(e,t,r){\"use strict\";e.exports=function(e,t){var r,a,o,s;if(t[0][0]<t[1][0])r=t[0],a=t[1];else{if(!(t[0][0]>t[1][0]))return i(t,e);r=t[1],a=t[0]}if(e[0][0]<e[1][0])o=e[0],s=e[1];else{if(!(e[0][0]>e[1][0]))return-i(e,t);o=e[1],s=e[0]}var l=n(r,a,s),u=n(r,a,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=n(s,o,a),u=n(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return a[0]-s[0]};var n=r(417);function i(e,t){var r,i,a,o;if(t[0][0]<t[1][0])r=t[0],i=t[1];else{if(!(t[0][0]>t[1][0])){var s=Math.min(e[0][1],e[1][1]),l=Math.max(e[0][1],e[1][1]),u=Math.min(t[0][1],t[1][1]),c=Math.max(t[0][1],t[1][1]);return l<u?l-u:s>c?s-c:l-c}r=t[1],i=t[0]}e[0][1]<e[1][1]?(a=e[0],o=e[1]):(a=e[1],o=e[0]);var f=n(i,r,a);return f||(f=n(i,r,o))||o-i}},4385:function(e,t,r){\"use strict\";e.exports=function(e){for(var t=e.length,r=2*t,n=new Array(r),a=0;a<t;++a){var l=e[a],u=l[0][0]<l[1][0];n[2*a]=new f(l[0][0],l,u,a),n[2*a+1]=new f(l[1][0],l,!u,a)}n.sort((function(e,t){var r=e.x-t.x;return r||(r=e.create-t.create)||Math.min(e.segment[0][1],e.segment[1][1])-Math.min(t.segment[0][1],t.segment[1][1])}));var h=i(o),p=[],d=[],v=[];for(a=0;a<r;){for(var g=n[a].x,m=[];a<r;){var y=n[a];if(y.x!==g)break;a+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(m.push(new c(y.segment[0][1],y.index,!0,!0)),m.push(new c(y.segment[1][1],y.index,!1,!1))):(m.push(new c(y.segment[1][1],y.index,!0,!1)),m.push(new c(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}p.push(h.root),d.push(g),v.push(m)}return new s(p,d,v)};var n=r(5070),i=r(7080),a=r(417),o=r(6638);function s(e,t,r){this.slabs=e,this.coordinates=t,this.horizontal=r}function l(e,t){return e.y-t}function u(e,t){for(var r=null;e;){var n,i,o=e.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=a(n,i,t);if(s<0)e=e.left;else if(s>0)if(t[0]!==o[1][0])r=e,e=e.right;else{if(l=u(e.right,t))return l;e=e.left}else{if(t[0]!==o[1][0])return e;var l;if(l=u(e.right,t))return l;e=e.left}}return r}function c(e,t,r,n){this.y=e,this.index=t,this.start=r,this.closed=n}function f(e,t,r,n){this.x=e,this.segment=t,this.create=r,this.index=n}s.prototype.castUp=function(e){var t=n.le(this.coordinates,e[0]);if(t<0)return-1;this.slabs[t];var r=u(this.slabs[t],e),i=-1;if(r&&(i=r.value),this.coordinates[t]===e[0]){var s=null;if(r&&(s=r.key),t>0){var c=u(this.slabs[t-1],e);c&&(s?o(c.key,s)>0&&(s=c.key,i=c.value):(i=c.value,s=c.key))}var f=this.horizontal[t];if(f.length>0){var h=n.ge(f,e[1],l);if(h<f.length){var p=f[h];if(e[1]===p.y){if(p.closed)return p.index;for(;h<f.length-1&&f[h+1].y===e[1];)if((p=f[h+=1]).closed)return p.index;if(p.y===e[1]&&!p.start){if((h+=1)>=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[e[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==e[1]&&(i=p.index)}}}return i}},4670:function(e,t,r){\"use strict\";var n=r(9130),i=r(9662);function a(e,t){var r=i(n(e,t),[t[t.length-1]]);return r[r.length-1]}function o(e,t,r,n){var i=-t/(n-t);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=e.length,s=new Array(o),l=0;l<o;++l)s[l]=i*e[l]+a*r[l];return s}e.exports=function(e,t){for(var r=[],n=[],i=a(e[e.length-1],t),s=e[e.length-1],l=e[0],u=0;u<e.length;++u,s=l){var c=a(l=e[u],t);if(i<0&&c>0||i>0&&c<0){var f=o(s,c,l,i);r.push(f),n.push(f.slice())}c<0?n.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=c}return{positive:r,negative:n}},e.exports.positive=function(e,t){for(var r=[],n=a(e[e.length-1],t),i=e[e.length-1],s=e[0],l=0;l<e.length;++l,i=s){var u=a(s=e[l],t);(n<0&&u>0||n>0&&u<0)&&r.push(o(i,u,s,n)),u>=0&&r.push(s.slice()),n=u}return r},e.exports.negative=function(e,t){for(var r=[],n=a(e[e.length-1],t),i=e[e.length-1],s=e[0],l=0;l<e.length;++l,i=s){var u=a(s=e[l],t);(n<0&&u>0||n>0&&u<0)&&r.push(o(i,u,s,n)),u<=0&&r.push(s.slice()),n=u}return r}},8974:function(e,t,r){var n;!function(){\"use strict\";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function a(e){return function(e,t){var r,n,o,s,l,u,c,f,h,p=1,d=e.length,v=\"\";for(n=0;n<d;n++)if(\"string\"==typeof e[n])v+=e[n];else if(\"object\"==typeof e[n]){if((s=e[n]).keys)for(r=t[p],o=0;o<s.keys.length;o++){if(null==r)throw new Error(a('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"',s.keys[o],s.keys[o-1]));r=r[s.keys[o]]}else r=s.param_no?t[s.param_no]:t[p++];if(i.not_type.test(s.type)&&i.not_primitive.test(s.type)&&r instanceof Function&&(r=r()),i.numeric_arg.test(s.type)&&\"number\"!=typeof r&&isNaN(r))throw new TypeError(a(\"[sprintf] expecting number but found %T\",r));switch(i.number.test(s.type)&&(f=r>=0),s.type){case\"b\":r=parseInt(r,10).toString(2);break;case\"c\":r=String.fromCharCode(parseInt(r,10));break;case\"d\":case\"i\":r=parseInt(r,10);break;case\"j\":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case\"e\":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case\"f\":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case\"g\":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case\"o\":r=(parseInt(r,10)>>>0).toString(8);break;case\"s\":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case\"t\":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case\"T\":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case\"u\":r=parseInt(r,10)>>>0;break;case\"v\":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case\"x\":r=(parseInt(r,10)>>>0).toString(16);break;case\"X\":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=r:(!i.number.test(s.type)||f&&!s.sign?h=\"\":(h=f?\"+\":\"-\",r=r.toString().replace(i.sign,\"\")),u=s.pad_char?\"0\"===s.pad_char?\"0\":s.pad_char.charAt(1):\" \",c=s.width-(h+r).length,l=s.width&&c>0?u.repeat(c):\"\",v+=s.align?h+r+l:\"0\"===u?h+l+r:l+h+r)}return v}(function(e){if(s[e])return s[e];for(var t,r=e,n=[],a=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push(\"%\");else{if(null===(t=i.placeholder.exec(r)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(t[2]){a|=1;var o=[],l=t[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(o.push(u[1]);\"\"!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))o.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");o.push(u[1])}t[2]=o}else a|=2;if(3===a)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[e]=n}(e),arguments)}function o(e,t){return a.apply(null,[e].concat(t||[]))}var s=Object.create(null);t.sprintf=a,t.vsprintf=o,\"undefined\"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(t,r,t,e))||(e.exports=n))}()},4162:function(e,t,r){\"use strict\";e.exports=function(e,t){if(e.dimension<=0)return{positions:[],cells:[]};if(1===e.dimension)return function(e,t){for(var r=i(e,t),n=r.length,a=new Array(n),o=new Array(n),s=0;s<n;++s)a[s]=[r[s]],o[s]=[s];return{positions:a,cells:o}}(e,t);var r=e.order.join()+\"-\"+e.dtype,s=o[r];return t=+t||0,s||(s=o[r]=function(e,t){var r=e.length+\"d\",i=a[r];if(i)return i(n,e,t)}(e.order,e.dtype)),s(e,t)};var n=r(9284),i=r(9584),a={\"2d\":function(e,t,r){var n=e({order:t,scalarArguments:3,getters:\"generic\"===r?[0]:void 0,phase:function(e,t,r,n){return e>n|0},vertex:function(e,t,r,n,i,a,o,s,l,u,c,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(u<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:c.push([e-.5,t-.5]);break;case 1:c.push([e-.25-.25*(n+r-2*h)/(r-n),t-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:c.push([e-.75-.25*(-n-r+2*h)/(n-r),t-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:c.push([e-.5,t-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:c.push([e-.25-.25*(a+i-2*h)/(i-a),t-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:c.push([e-.5-.5*(n+r+a+i-4*h)/(r-n+i-a),t-.5]);break;case 6:c.push([e-.5-.25*(-n-r+a+i)/(n-r+i-a),t-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:c.push([e-.75-.25*(a+i-2*h)/(i-a),t-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:c.push([e-.75-.25*(-a-i+2*h)/(a-i),t-.75-.25*(-a-n+2*h)/(a-n)]);break;case 9:c.push([e-.5-.25*(n+r+-a-i)/(r-n+a-i),t-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:c.push([e-.5-.5*(-n-r-a-i+4*h)/(n-r+a-i),t-.5]);break;case 11:c.push([e-.25-.25*(-a-i+2*h)/(a-i),t-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:c.push([e-.5,t-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:c.push([e-.75-.25*(n+r-2*h)/(r-n),t-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:c.push([e-.25-.25*(-n-r+2*h)/(n-r),t-.25-.25*(-i-r+2*h)/(i-r)])}},cell:function(e,t,r,n,i,a,o,s,l){i?s.push([e,t]):s.push([t,e])}});return function(e,t){var r=[],i=[];return n(e,r,i,t),{positions:r,cells:i}}}},o={}},6946:function(e,t,r){\"use strict\";e.exports=function e(t,r,i){i=i||{};var a=o[t];a||(a=o[t]={\" \":{data:new Float32Array(0),shape:.2}});var s=a[r];if(!s)if(r.length<=1||!/\\d/.test(r))s=a[r]=function(e){for(var t=e.cells,r=e.positions,n=new Float32Array(6*t.length),i=0,a=0,o=0;o<t.length;++o)for(var s=t[o],l=0;l<3;++l){var u=r[s[l]];n[i++]=u[0],n[i++]=u[1]+1.4,a=Math.max(u[0],a)}return{data:n,shape:a}}(n(r,{triangles:!0,font:t,textAlign:i.textAlign||\"left\",textBaseline:\"alphabetic\",styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}}));else{for(var l=r.split(/(\\d|\\s)/),u=new Array(l.length),c=0,f=0,h=0;h<l.length;++h)u[h]=e(t,l[h]),c+=u[h].data.length,f+=u[h].shape,h>0&&(f+=.02);var p=new Float32Array(c),d=0,v=-.5*f;for(h=0;h<u.length;++h){for(var g=u[h].data,m=0;m<g.length;m+=2)p[d++]=g[m]+v,p[d++]=g[m+1];v+=u[h].shape+.02}s=a[r]={data:p,shape:f}}return s};var n=r(875),a=window||i.global||{},o=a.__TEXT_CACHE||{};a.__TEXT_CACHE={}},14:function(e,t,r){\"use strict\";var n=r(4405);e.exports=o;var i=96;function a(e,t){var r=n(getComputedStyle(e).getPropertyValue(t));return r[0]*o(r[1],e)}function o(e,t){switch(t=t||document.body,e=(e||\"px\").trim().toLowerCase(),t!==window&&t!==document||(t=document.body),e){case\"%\":return t.clientHeight/100;case\"ch\":case\"ex\":return function(e,t){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+e,t.appendChild(r);var n=a(r,\"font-size\")/128;return t.removeChild(r),n}(e,t);case\"em\":return a(t,\"font-size\");case\"rem\":return a(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return i;case\"cm\":return i/2.54;case\"mm\":return i/25.4;case\"pt\":return i/72;case\"pc\":return i/6}return 1}},3440:function(e,t,r){\"use strict\";e.exports=function(e){var t=(e=e||{}).center||[0,0,0],r=e.up||[0,1,0],n=e.right||f(r),i=e.radius||1,a=e.theta||0,c=e.phi||0;if(t=[].slice.call(t,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),\"eye\"in e){var p=e.eye,d=[p[0]-t[0],p[1]-t[1],p[2]-t[2]];o(n,d,r),u(n[0],n[1],n[2])<1e-6?n=f(r):s(n,n),i=u(d[0],d[1],d[2]);var v=l(r,d)/i,g=l(n,d)/i;c=Math.acos(v),a=Math.acos(g)}return i=Math.log(i),new h(e.zoomMin,e.zoomMax,t,r,n,i,a,c)};var n=r(8444),i=r(7437),a=r(4422),o=r(903),s=r(899),l=r(9305);function u(e,t,r){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2))}function c(e){return Math.min(1,Math.max(-1,e))}function f(e){var t=Math.abs(e[0]),r=Math.abs(e[1]),n=Math.abs(e[2]),i=[0,0,0];t>Math.max(r,n)?i[2]=1:r>Math.max(t,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=e[l]*e[l],o+=i[l]*e[l];for(l=0;l<3;++l)i[l]-=o/a*e[l];return s(i,i),i}function h(e,t,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(e,t),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(e,t){e=e>0?Math.log(e):-1/0,t=t>0?Math.log(t):1/0,t=Math.max(t,e),this.radius.bounds[0][0]=e,this.radius.bounds[1][0]=t},p.getDistanceLimits=function(e){var t=this.radius.bounds[0];return e?(e[0]=Math.exp(t[0][0]),e[1]=Math.exp(t[1][0]),e):[Math.exp(t[0][0]),Math.exp(t[1][0])]},p.recalcMatrix=function(e){this.center.curve(e),this.up.curve(e),this.right.curve(e),this.radius.curve(e),this.angle.curve(e);for(var t=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=t[a]*r[a],n+=t[a]*t[a];var l=Math.sqrt(n),c=0;for(a=0;a<3;++a)r[a]-=t[a]*i/n,c+=r[a]*r[a],t[a]/=l;var f=Math.sqrt(c);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,t,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],v=this.computedAngle[1],g=Math.cos(d),m=Math.sin(d),y=Math.cos(v),x=Math.sin(v),b=this.computedCenter,_=g*y,w=m*y,k=x,T=-g*x,M=-m*x,A=y,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var C=_*r[a]+w*h[a]+k*t[a];E[4*a+1]=T*r[a]+M*h[a]+A*t[a],E[4*a+2]=C,E[4*a+3]=0}var L=E[1],P=E[5],O=E[9],I=E[2],D=E[6],z=E[10],R=P*z-O*D,F=O*I-L*z,B=L*D-P*I,N=u(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){c=0;for(var j=0;j<3;++j)c+=E[a+4*j]*S[j];E[12+a]=-c}E[15]=1},p.getMatrix=function(e,t){this.recalcMatrix(e);var r=this.computedMatrix;if(t){for(var n=0;n<16;++n)t[n]=r[n];return t}return r};var d=[0,0,0];p.rotate=function(e,t,r,n){if(this.angle.move(e,t,r),n){this.recalcMatrix(e);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,u=0;u<3;++u)i[4*u]=o[u],i[4*u+1]=s[u],i[4*u+2]=l[u];for(a(i,i,n,d),u=0;u<3;++u)o[u]=i[4*u],s[u]=i[4*u+1];this.up.set(e,o[0],o[1],o[2]),this.right.set(e,s[0],s[1],s[2])}},p.pan=function(e,t,r,n){t=t||0,r=r||0,n=n||0,this.recalcMatrix(e);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=u(a,o,s);a/=l,o/=l,s/=l;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=u(c-=a*p,f-=o*p,h-=s*p),v=(c/=d)*t+a*r,g=(f/=d)*t+o*r,m=(h/=d)*t+s*r;this.center.move(e,v,g,m);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(e,Math.log(y))},p.translate=function(e,t,r,n){this.center.move(e,t||0,r||0,n||0)},p.setMatrix=function(e,t,r,n){var a=1;\"number\"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;t||(this.recalcMatrix(e),t=this.computedMatrix);var s=t[a],l=t[a+4],f=t[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),v=Math.max(h,p,d);h===v?(s=s<0?-1:1,l=f=0):d===v?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=u(s,l,f);s/=g,l/=g,f/=g}var m,y,x=t[o],b=t[o+4],_=t[o+8],w=x*s+b*l+_*f,k=u(x-=s*w,b-=l*w,_-=f*w),T=l*(_/=k)-f*(b/=k),M=f*(x/=k)-s*_,A=s*b-l*x,S=u(T,M,A);if(T/=S,M/=S,A/=S,this.center.jump(e,q,G,Y),this.radius.idle(e),this.up.jump(e,s,l,f),this.right.jump(e,x,b,_),2===a){var E=t[1],C=t[5],L=t[9],P=E*x+C*b+L*_,O=E*T+C*M+L*A;m=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(O,P)}else{var I=t[2],D=t[6],z=t[10],R=I*s+D*l+z*f,F=I*x+D*b+z*_,B=I*T+D*M+z*A;m=Math.asin(c(R)),y=Math.atan2(B,F)}this.angle.jump(e,y,m),this.recalcMatrix(e);var N=t[2],j=t[6],U=t[10],V=this.computedMatrix;i(V,t);var H=V[15],q=V[12]/H,G=V[13]/H,Y=V[14]/H,W=Math.exp(this.computedRadius[0]);this.center.jump(e,q-N*W,G-j*W,Y-U*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(e){this.center.idle(e),this.up.idle(e),this.right.idle(e),this.radius.idle(e),this.angle.idle(e)},p.flush=function(e){this.center.flush(e),this.up.flush(e),this.right.flush(e),this.radius.flush(e),this.angle.flush(e)},p.setDistance=function(e,t){t>0&&this.radius.set(e,Math.log(t))},p.lookAt=function(e,t,r,n){this.recalcMatrix(e),t=t||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=u(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=t[0]-r[0],f=t[1]-r[1],h=t[2]-r[2],p=u(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,v=d[0],g=d[1],m=d[2],y=i*v+a*g+o*m,x=u(v-=y*i,g-=y*a,m-=y*o);if(!(x<.01&&(x=u(v=a*h-o*f,g=o*l-i*h,m=i*f-a*l))<1e-6)){v/=x,g/=x,m/=x,this.up.set(e,i,a,o),this.right.set(e,v,g,m),this.center.set(e,r[0],r[1],r[2]),this.radius.set(e,Math.log(p));var b=a*m-o*g,_=o*v-i*m,w=i*g-a*v,k=u(b,_,w),T=i*l+a*f+o*h,M=v*l+g*f+m*h,A=(b/=k)*l+(_/=k)*f+(w/=k)*h,S=Math.asin(c(T)),E=Math.atan2(A,M),C=this.angle._state,L=C[C.length-1],P=C[C.length-2];L%=2*Math.PI;var O=Math.abs(L+2*Math.PI-E),I=Math.abs(L-E),D=Math.abs(L-2*Math.PI-E);O<I&&(L+=2*Math.PI),D<I&&(L-=2*Math.PI),this.angle.jump(this.angle.lastT(),L,P),this.angle.set(e,E,S)}}}}},9660:function(e){\"use strict\";e.exports=function(e,r,n){var i=e*r,a=t*e,o=a-(a-e),s=e-o,l=t*r,u=l-(l-r),c=r-u,f=s*c-(i-o*u-s*u-o*c);return n?(n[0]=f,n[1]=i,n):[f,i]};var t=+(Math.pow(2,27)+1)},87:function(e){\"use strict\";e.exports=function(e,t,r){var n=e+t,i=n-e,a=t-i,o=e-(n-i);return r?(r[0]=o+a,r[1]=n,r):[o+a,n]}},5306:function(e,t,r){\"use strict\";var n=r(2288),i=r(3094),a=r(2146).lW;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o=\"undefined\"!=typeof Uint8ClampedArray,s=\"undefined\"!=typeof BigUint64Array,l=\"undefined\"!=typeof BigInt64Array,u=r.g.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=i([32,0])),u.BIGUINT64||(u.BIGUINT64=i([32,0])),u.BIGINT64||(u.BIGINT64=i([32,0])),u.BUFFER||(u.BUFFER=i([32,0]));var c=u.DATA,f=u.BUFFER;function h(e){if(e){var t=e.length||e.byteLength,r=n.log2(t);c[r].push(e)}}function p(e){e=n.nextPow2(e);var t=n.log2(e),r=c[t];return r.length>0?r.pop():new ArrayBuffer(e)}function d(e){return new Uint8Array(p(e),0,e)}function v(e){return new Uint16Array(p(2*e),0,e)}function g(e){return new Uint32Array(p(4*e),0,e)}function m(e){return new Int8Array(p(e),0,e)}function y(e){return new Int16Array(p(2*e),0,e)}function x(e){return new Int32Array(p(4*e),0,e)}function b(e){return new Float32Array(p(4*e),0,e)}function _(e){return new Float64Array(p(8*e),0,e)}function w(e){return o?new Uint8ClampedArray(p(e),0,e):d(e)}function k(e){return s?new BigUint64Array(p(8*e),0,e):null}function T(e){return l?new BigInt64Array(p(8*e),0,e):null}function M(e){return new DataView(p(e),0,e)}function A(e){e=n.nextPow2(e);var t=n.log2(e),r=f[t];return r.length>0?r.pop():new a(e)}t.free=function(e){if(a.isBuffer(e))f[n.log2(e.length)].push(e);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(e)&&(e=e.buffer),!e)return;var t=e.length||e.byteLength,r=0|n.log2(t);c[r].push(e)}},t.freeUint8=t.freeUint16=t.freeUint32=t.freeBigUint64=t.freeInt8=t.freeInt16=t.freeInt32=t.freeBigInt64=t.freeFloat32=t.freeFloat=t.freeFloat64=t.freeDouble=t.freeUint8Clamped=t.freeDataView=function(e){h(e.buffer)},t.freeArrayBuffer=h,t.freeBuffer=function(e){f[n.log2(e.length)].push(e)},t.malloc=function(e,t){if(void 0===t||\"arraybuffer\"===t)return p(e);switch(t){case\"uint8\":return d(e);case\"uint16\":return v(e);case\"uint32\":return g(e);case\"int8\":return m(e);case\"int16\":return y(e);case\"int32\":return x(e);case\"float\":case\"float32\":return b(e);case\"double\":case\"float64\":return _(e);case\"uint8_clamped\":return w(e);case\"bigint64\":return T(e);case\"biguint64\":return k(e);case\"buffer\":return A(e);case\"data\":case\"dataview\":return M(e);default:return null}return null},t.mallocArrayBuffer=p,t.mallocUint8=d,t.mallocUint16=v,t.mallocUint32=g,t.mallocInt8=m,t.mallocInt16=y,t.mallocInt32=x,t.mallocFloat32=t.mallocFloat=b,t.mallocFloat64=t.mallocDouble=_,t.mallocUint8Clamped=w,t.mallocBigUint64=k,t.mallocBigInt64=T,t.mallocDataView=M,t.mallocBuffer=A,t.clearCache=function(){for(var e=0;e<32;++e)u.UINT8[e].length=0,u.UINT16[e].length=0,u.UINT32[e].length=0,u.INT8[e].length=0,u.INT16[e].length=0,u.INT32[e].length=0,u.FLOAT[e].length=0,u.DOUBLE[e].length=0,u.BIGUINT64[e].length=0,u.BIGINT64[e].length=0,u.UINT8C[e].length=0,c[e].length=0,f[e].length=0}},1731:function(e){\"use strict\";function t(e){this.roots=new Array(e),this.ranks=new Array(e);for(var t=0;t<e;++t)this.roots[t]=t,this.ranks[t]=0}e.exports=t;var r=t.prototype;Object.defineProperty(r,\"length\",{get:function(){return this.roots.length}}),r.makeSet=function(){var e=this.roots.length;return this.roots.push(e),this.ranks.push(0),e},r.find=function(e){for(var t=e,r=this.roots;r[e]!==e;)e=r[e];for(;r[t]!==e;){var n=r[t];r[t]=e,t=n}return e},r.link=function(e,t){var r=this.find(e),n=this.find(t);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},1215:function(e){\"use strict\";e.exports=function(e,t,r){return 0===e.length?e:t?(r||e.sort(t),function(e,t){for(var r=1,n=e.length,i=e[0],a=e[0],o=1;o<n;++o)if(a=i,t(i=e[o],a)){if(o===r){r++;continue}e[r++]=i}return e.length=r,e}(e,t)):(r||e.sort(),function(e){for(var t=1,r=e.length,n=e[0],i=e[0],a=1;a<r;++a,i=n)if(i=n,(n=e[a])!==i){if(a===t){t++;continue}e[t++]=n}return e.length=t,e}(e))}},875:function(e,t,r){\"use strict\";e.exports=function(e,t){return\"object\"==typeof t&&null!==t||(t={}),n(e,t.canvas||i,t.context||a,t)};var n=r(712),i=null,a=null;\"undefined\"!=typeof document&&((i=document.createElement(\"canvas\")).width=8192,i.height=1024,a=i.getContext(\"2d\"))},712:function(e,t,r){e.exports=function(e,t,r,n){var a=64,o=1.25,s={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};return n&&(n.size&&n.size>0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+\"px\",n.font].filter((function(e){return e})).join(\" \"),r.textAlign=\"start\",r.textBaseline=\"alphabetic\",r.direction=\"ltr\",w(function(e,t,r,n,a,o){r=r.replace(/\\n/g,\"\"),r=!0===o.breaklines?r.replace(/\\<br\\>/g,\"\\n\"):r.replace(/\\<br\\>/g,\" \");var s=\"\",l=[];for(k=0;k<r.length;++k)l[k]=s;!0===o.bolds&&(l=x(u,c,r,l)),!0===o.italics&&(l=x(f,h,r,l)),!0===o.superscripts&&(l=x(p,v,r,l)),!0===o.subscripts&&(l=x(g,y,r,l));var b=[],_=\"\";for(k=0;k<r.length;++k)null!==l[k]&&(_+=r[k],b.push(l[k]));var w,k,T,M,A,S=_.split(\"\\n\"),E=S.length,C=Math.round(a*n),L=n,P=2*n,O=0,I=E*C+P;e.height<I&&(e.height=I),t.fillStyle=\"#000\",t.fillRect(0,0,e.width,e.height),t.fillStyle=\"#fff\";var D=0,z=\"\";function R(){if(\"\"!==z){var e=t.measureText(z).width;t.fillText(z,L+T,P+M),T+=e}}function F(){return Math.round(A)+\"px \"}function B(e,r){var n=\"\"+t.font;if(!0===o.subscripts){var i=e.indexOf(m),a=r.indexOf(m),s=i>-1?parseInt(e[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(F(),\"?px \"),A*=Math.pow(.75,l-s),n=n.replace(\"?px \",F())),M+=.25*C*(l-s)}if(!0===o.superscripts){var u=e.indexOf(d),f=r.indexOf(d),p=u>-1?parseInt(e[1+u]):0,v=f>-1?parseInt(r[1+f]):0;p!==v&&(n=n.replace(F(),\"?px \"),A*=Math.pow(.75,v-p),n=n.replace(\"?px \",F())),M-=.25*C*(v-p)}if(!0===o.bolds){var g=e.indexOf(c)>-1,y=r.indexOf(c)>-1;!g&&y&&(n=x?n.replace(\"italic \",\"italic bold \"):\"bold \"+n),g&&!y&&(n=n.replace(\"bold \",\"\"))}if(!0===o.italics){var x=e.indexOf(h)>-1,b=r.indexOf(h)>-1;!x&&b&&(n=\"italic \"+n),x&&!b&&(n=n.replace(\"italic \",\"\"))}t.font=n}for(w=0;w<E;++w){var N=S[w]+\"\\n\";for(T=0,M=w*C,A=n,z=\"\",k=0;k<N.length;++k){var j=k+D<b.length?b[k+D]:b[b.length-1];s===j?z+=N[k]:(R(),z=N[k],void 0!==j&&(B(s,j),s=j))}R(),D+=N.length;var U=0|Math.round(T+2*L);O<U&&(O=U)}var V=O,H=P+C*E;return i(t.getImageData(0,0,V,H).data,[H,V,4]).pick(-1,-1,0).transpose(1,0)}(t,r,e,a,o,s),n,a)},e.exports.processPixels=w;var n=r(4162),i=r(5050),a=r(8243),o=r(197),s=r(7761),l=r(8040),u=\"b\",c=\"b|\",f=\"i\",h=\"i|\",p=\"sup\",d=\"+\",v=\"+1\",g=\"sub\",m=\"-\",y=\"-1\";function x(e,t,r,n){for(var i=\"<\"+e+\">\",a=\"</\"+e+\">\",o=i.length,s=a.length,l=t[0]===d||t[0]===m,u=0,c=-s;u>-1&&-1!==(u=r.indexOf(i,u))&&-1!==(c=r.indexOf(a,u+o))&&!(c<=u);){for(var f=u;f<c+s;++f)if(f<u+o||f>=c)n[f]=null,r=r.substr(0,f)+\" \"+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(t[0]);-1===h?n[f]+=t:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=u+o,v=r.substr(p,c-p).indexOf(i);u=-1!==v?v:c+s}return n}function b(e,t){var r=n(e,128);return t?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function _(e,t,r,n){var i=b(e,n),a=function(e,t,r){for(var n=t.textAlign||\"start\",i=t.textBaseline||\"alphabetic\",a=[1<<30,1<<30],o=[0,0],s=e.length,l=0;l<s;++l)for(var u=e[l],c=0;c<2;++c)a[c]=0|Math.min(a[c],u[c]),o[c]=0|Math.max(o[c],u[c]);var f=0;switch(n){case\"center\":f=-.5*(a[0]+o[0]);break;case\"right\":case\"end\":f=-o[0];break;case\"left\":case\"start\":f=-a[0];break;default:throw new Error(\"vectorize-text: Unrecognized textAlign: '\"+n+\"'\")}var h=0;switch(i){case\"hanging\":case\"top\":h=-a[1];break;case\"middle\":h=-.5*(a[1]+o[1]);break;case\"alphabetic\":case\"ideographic\":h=-3*r;break;case\"bottom\":h=-o[1];break;default:throw new Error(\"vectorize-text: Unrecoginized textBaseline: '\"+i+\"'\")}var p=1/r;return\"lineHeight\"in t?p*=+t.lineHeight:\"width\"in t?p=t.width/(o[0]-a[0]):\"height\"in t&&(p=t.height/(o[1]-a[1])),e.map((function(e){return[p*(e[0]+f),p*(e[1]+h)]}))}(i.positions,t,r),u=i.edges,c=\"ccw\"===t.orientation;if(o(a,u),t.polygons||t.polygon||t.polyline){for(var f=l(u,a),h=new Array(f.length),p=0;p<f.length;++p){for(var d=f[p],v=new Array(d.length),g=0;g<d.length;++g){for(var m=d[g],y=new Array(m.length),x=0;x<m.length;++x)y[x]=a[m[x]].slice();c&&y.reverse(),v[g]=y}h[p]=v}return h}return t.triangles||t.triangulate||t.triangle?{cells:s(a,u,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:u,positions:a}}function w(e,t,r){try{return _(e,t,r,!0)}catch(e){}try{return _(e,t,r,!1)}catch(e){}return t.polygons||t.polyline||t.polygon?[]:t.triangles||t.triangulate||t.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},5346:function(e){!function(){\"use strict\";if(\"undefined\"==typeof ses||!ses.ok||ses.ok()){\"undefined\"!=typeof ses&&(ses.weakMapPermitHostObjects=g);var t=!1;if(\"function\"==typeof WeakMap){var r=WeakMap;if(\"undefined\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,i=Object.freeze({});if(n.set(i,1),1===n.get(i))return void(e.exports=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var a=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l=\"weakmap:\",u=l+\"ident:\"+Math.random()+\"___\";if(\"undefined\"!=typeof crypto&&\"function\"==typeof crypto.getRandomValues&&\"function\"==typeof ArrayBuffer&&\"function\"==typeof Uint8Array){var c=new ArrayBuffer(25),f=new Uint8Array(c);crypto.getRandomValues(f),u=l+\"rand:\"+Array.prototype.map.call(f,(function(e){return(e%36).toString(36)})).join(\"\")+\"___\"}if(o(Object,\"getOwnPropertyNames\",{value:function(e){return a(e).filter(m)}}),\"getPropertyNames\"in Object){var h=Object.getPropertyNames;o(Object,\"getPropertyNames\",{value:function(e){return h(e).filter(m)}})}!function(){var e=Object.freeze;o(Object,\"freeze\",{value:function(t){return y(t),e(t)}});var t=Object.seal;o(Object,\"seal\",{value:function(e){return y(e),t(e)}});var r=Object.preventExtensions;o(Object,\"preventExtensions\",{value:function(e){return y(e),r(e)}})}();var p=!1,d=0,v=function(){this instanceof v||b();var e=[],t=[],r=d++;return Object.create(v.prototype,{get___:{value:x((function(n,i){var a,o=y(n);return o?r in o?o[r]:i:(a=e.indexOf(n))>=0?t[a]:i}))},has___:{value:x((function(t){var n=y(t);return n?r in n:e.indexOf(t)>=0}))},set___:{value:x((function(n,i){var a,o=y(n);return o?o[r]=i:(a=e.indexOf(n))>=0?t[a]=i:(a=e.length,t[a]=i,e[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=y(n);return o?r in o&&delete o[r]:!((i=e.indexOf(n))<0||(a=e.length-1,e[i]=void 0,t[i]=t[a],e[i]=e[a],e.length=a,t.length=a,0))}))}})};v.prototype=Object.create(Object.prototype,{get:{value:function(e,t){return this.get___(e,t)},writable:!0,configurable:!0},has:{value:function(e){return this.has___(e)},writable:!0,configurable:!0},set:{value:function(e,t){return this.set___(e,t)},writable:!0,configurable:!0},delete:{value:function(e){return this.delete___(e)},writable:!0,configurable:!0}}),\"function\"==typeof r?function(){function n(){this instanceof v||b();var e,n=new r,i=void 0,a=!1;return e=t?function(e,t){return n.set(e,t),n.has(e)||(i||(i=new v),i.set(e,t)),this}:function(e,t){if(a)try{n.set(e,t)}catch(r){i||(i=new v),i.set___(e,t)}else n.set(e,t);return this},Object.create(v.prototype,{get___:{value:x((function(e,t){return i?n.has(e)?n.get(e):i.get___(e,t):n.get(e,t)}))},has___:{value:x((function(e){return n.has(e)||!!i&&i.has___(e)}))},set___:{value:x(e)},delete___:{value:x((function(e){var t=!!n.delete(e);return i&&i.delete___(e)||t}))},permitHostObjects___:{value:x((function(e){if(e!==g)throw new Error(\"bogus call to permitHostObjects___\");a=!0}))}})}t&&\"undefined\"!=typeof Proxy&&(Proxy=void 0),n.prototype=v.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\"undefined\"!=typeof Proxy&&(Proxy=void 0),e.exports=v)}function g(e){e.permitHostObjects___&&e.permitHostObjects___(g)}function m(e){return!(e.substr(0,8)==l&&\"___\"===e.substr(e.length-3))}function y(e){if(e!==Object(e))throw new TypeError(\"Not an object: \"+e);var t=e[u];if(t&&t.key===e)return t;if(s(e)){t={key:e};try{return o(e,u,{value:t,writable:!1,enumerable:!1,configurable:!1}),t}catch(e){return}}}function x(e){return e.prototype=null,Object.freeze(e)}function b(){p||\"undefined\"==typeof console||(p=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}}()},9222:function(e,t,r){var n=r(7178);e.exports=function(){var e={};return function(t){if((\"object\"!=typeof t||null===t)&&\"function\"!=typeof t)throw new Error(\"Weakmap-shim: Key must be object\");var r=t.valueOf(e);return r&&r.identity===e?r:n(t,e)}}},7178:function(e){e.exports=function(e,t){var r={identity:t},n=e.valueOf;return Object.defineProperty(e,\"valueOf\",{value:function(e){return e!==t?n.apply(this,arguments):r},writable:!0}),r}},4037:function(e,t,r){var n=r(9222);e.exports=function(){var e=n();return{get:function(t,r){var n=e(t);return n.hasOwnProperty(\"value\")?n.value:r},set:function(t,r){return e(t).value=r,this},has:function(t){return\"value\"in e(t)},delete:function(t){return delete e(t).value}}}},6183:function(e){\"use strict\";e.exports=function(e){var t={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=t[s];return l||(t[s]=l=e([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(e,t,r,n,i,a){var o=e[0],s=r[0],l=[0],u=s;n|=0;var c=0,f=s;for(c=0;c<o;++c){var h=t[n]-a,p=t[n+u]-a;h>=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}}.bind(void 0,{funcName:\"zeroCrossings\"}))},9584:function(e,t,r){\"use strict\";e.exports=function(e,t){var r=[];return t=+t||0,n(e.hi(e.shape[0]-1),r,t),r};var n=r(6183)},6601:function(){}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),r.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},r(7386)}()},e.exports=n()},12856:function(e,t,r){\"use strict\";function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,(void 0,i=function(e,t){if(\"object\"!==s(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,\"string\");if(\"object\"!==s(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(n.key),\"symbol\"===s(i)?i:String(i)),n)}var i}function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}function a(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}function s(e){return s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},s(e)}var l=r(95341),u=r(95280),c=\"function\"==typeof Symbol&&\"function\"==typeof Symbol.for?Symbol.for(\"nodejs.util.inspect.custom\"):null;t.Buffer=p,t.SlowBuffer=function(e){return+e!=e&&(e=0),p.alloc(+e)},t.INSPECT_MAX_BYTES=50;var f=2147483647;function h(e){if(e>f)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,p.prototype),t}function p(e,t,r){if(\"number\"==typeof e){if(\"string\"==typeof t)throw new TypeError('The \"string\" argument must be of type string. Received type number');return g(e)}return d(e,t,r)}function d(e,t,r){if(\"string\"==typeof e)return function(e,t){if(\"string\"==typeof t&&\"\"!==t||(t=\"utf8\"),!p.isEncoding(t))throw new TypeError(\"Unknown encoding: \"+t);var r=0|b(e,t),n=h(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(ee(e,Uint8Array)){var t=new Uint8Array(e);return y(t.buffer,t.byteOffset,t.byteLength)}return m(e)}(e);if(null==e)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+s(e));if(ee(e,ArrayBuffer)||e&&ee(e.buffer,ArrayBuffer))return y(e,t,r);if(\"undefined\"!=typeof SharedArrayBuffer&&(ee(e,SharedArrayBuffer)||e&&ee(e.buffer,SharedArrayBuffer)))return y(e,t,r);if(\"number\"==typeof e)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return p.from(n,t,r);var i=function(e){if(p.isBuffer(e)){var t=0|x(e.length),r=h(t);return 0===r.length||e.copy(r,0,0,t),r}return void 0!==e.length?\"number\"!=typeof e.length||te(e.length)?h(0):m(e):\"Buffer\"===e.type&&Array.isArray(e.data)?m(e.data):void 0}(e);if(i)return i;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof e[Symbol.toPrimitive])return p.from(e[Symbol.toPrimitive](\"string\"),t,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+s(e))}function v(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be of type number');if(e<0)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"')}function g(e){return v(e),h(e<0?0:0|x(e))}function m(e){for(var t=e.length<0?0:0|x(e.length),r=h(t),n=0;n<t;n+=1)r[n]=255&e[n];return r}function y(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('\"offset\" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');var n;return n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r),Object.setPrototypeOf(n,p.prototype),n}function x(e){if(e>=f)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+f.toString(16)+\" bytes\");return 0|e}function b(e,t){if(p.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||ee(e,ArrayBuffer))return e.byteLength;if(\"string\"!=typeof e)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+s(e));var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return J(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return $(e).length;default:if(i)return n?-1:J(e).length;t=(\"\"+t).toLowerCase(),i=!0}}function _(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return z(this,t,r);case\"utf8\":case\"utf-8\":return P(this,t,r);case\"ascii\":return I(this,t,r);case\"latin1\":case\"binary\":return D(this,t,r);case\"base64\":return L(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return R(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}function w(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function k(e,t,r,n,i){if(0===e.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),te(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof t&&(t=p.from(t,n)),p.isBuffer(t))return 0===t.length?-1:T(e,t,r,n,i);if(\"number\"==typeof t)return t&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):T(e,[t],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function T(e,t,r,n,i){var a,o=1,s=e.length,l=t.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var c=-1;for(a=r;a<s;a++)if(u(e,a)===u(t,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===l)return c*o}else-1!==c&&(a-=a-c),c=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h<l;h++)if(u(e,a+h)!==u(t,h)){f=!1;break}if(f)return a}return-1}function M(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a,o=t.length;for(n>o/2&&(n=o/2),a=0;a<n;++a){var s=parseInt(t.substr(2*a,2),16);if(te(s))return a;e[r+a]=s}return a}function A(e,t,r,n){return Q(J(t,e.length-r),e,r,n)}function S(e,t,r,n){return Q(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function E(e,t,r,n){return Q($(t),e,r,n)}function C(e,t,r,n){return Q(function(e,t){for(var r,n,i,a=[],o=0;o<e.length&&!((t-=2)<0);++o)n=(r=e.charCodeAt(o))>>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function L(e,t,r){return 0===t&&r===e.length?l.fromByteArray(e):l.fromByteArray(e.slice(t,r))}function P(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var a=e[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=e[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=e[i+1],u=e[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=e[i+1],u=e[i+2],c=e[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(e){var t=e.length;if(t<=O)return String.fromCharCode.apply(String,e);for(var r=\"\",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=O));return r}(n)}t.kMaxLength=f,p.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),p.TYPED_ARRAY_SUPPORT||\"undefined\"==typeof console||\"function\"!=typeof console.error||console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"),Object.defineProperty(p.prototype,\"parent\",{enumerable:!0,get:function(){if(p.isBuffer(this))return this.buffer}}),Object.defineProperty(p.prototype,\"offset\",{enumerable:!0,get:function(){if(p.isBuffer(this))return this.byteOffset}}),p.poolSize=8192,p.from=function(e,t,r){return d(e,t,r)},Object.setPrototypeOf(p.prototype,Uint8Array.prototype),Object.setPrototypeOf(p,Uint8Array),p.alloc=function(e,t,r){return function(e,t,r){return v(e),e<=0?h(e):void 0!==t?\"string\"==typeof r?h(e).fill(t,r):h(e).fill(t):h(e)}(e,t,r)},p.allocUnsafe=function(e){return g(e)},p.allocUnsafeSlow=function(e){return g(e)},p.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==p.prototype},p.compare=function(e,t){if(ee(e,Uint8Array)&&(e=p.from(e,e.offset,e.byteLength)),ee(t,Uint8Array)&&(t=p.from(t,t.offset,t.byteLength)),!p.isBuffer(e)||!p.isBuffer(t))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0},p.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},p.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return p.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=p.allocUnsafe(t),i=0;for(r=0;r<e.length;++r){var a=e[r];if(ee(a,Uint8Array))i+a.length>n.length?(p.isBuffer(a)||(a=p.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!p.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},p.byteLength=b,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)w(this,t,t+1);return this},p.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)w(this,t,t+3),w(this,t+1,t+2);return this},p.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)w(this,t,t+7),w(this,t+1,t+6),w(this,t+2,t+5),w(this,t+3,t+4);return this},p.prototype.toString=function(){var e=this.length;return 0===e?\"\":0===arguments.length?P(this,0,e):_.apply(this,arguments)},p.prototype.toLocaleString=p.prototype.toString,p.prototype.equals=function(e){if(!p.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===p.compare(this,e)},p.prototype.inspect=function(){var e=\"\",r=t.INSPECT_MAX_BYTES;return e=this.toString(\"hex\",0,r).replace(/(.{2})/g,\"$1 \").trim(),this.length>r&&(e+=\" ... \"),\"<Buffer \"+e+\">\"},c&&(p.prototype[c]=p.prototype.inspect),p.prototype.compare=function(e,t,r,n,i){if(ee(e,Uint8Array)&&(e=p.from(e,e.offset,e.byteLength)),!p.isBuffer(e))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+s(e));if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),l=Math.min(a,o),u=this.slice(n,i),c=e.slice(t,r),f=0;f<l;++f)if(u[f]!==c[f]){a=u[f],o=c[f];break}return a<o?-1:o<a?1:0},p.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},p.prototype.indexOf=function(e,t,r){return k(this,e,t,r,!0)},p.prototype.lastIndexOf=function(e,t,r){return k(this,e,t,r,!1)},p.prototype.write=function(e,t,r,n){if(void 0===t)n=\"utf8\",r=this.length,t=0;else if(void 0===r&&\"string\"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return M(this,e,t,r);case\"utf8\":case\"utf-8\":return A(this,e,t,r);case\"ascii\":case\"latin1\":case\"binary\":return S(this,e,t,r);case\"base64\":return E(this,e,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return C(this,e,t,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},p.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function I(e,t,r){var n=\"\";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(127&e[i]);return n}function D(e,t,r){var n=\"\";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function z(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i=\"\",a=t;a<r;++a)i+=re[e[a]];return i}function R(e,t,r){for(var n=e.slice(t,r),i=\"\",a=0;a<n.length-1;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function F(e,t,r){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>r)throw new RangeError(\"Trying to access beyond buffer length\")}function B(e,t,r,n,i,a){if(!p.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('\"value\" argument is out of bounds');if(r+n>e.length)throw new RangeError(\"Index out of range\")}function N(e,t,r,n,i){W(t,n,i,e,r,7);var a=Number(t&BigInt(4294967295));e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a;var o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,r}function j(e,t,r,n,i){W(t,n,i,e,r,7);var a=Number(t&BigInt(4294967295));e[r+7]=a,a>>=8,e[r+6]=a,a>>=8,e[r+5]=a,a>>=8,e[r+4]=a;var o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o>>=8,e[r+2]=o,o>>=8,e[r+1]=o,o>>=8,e[r]=o,r+8}function U(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function V(e,t,r,n,i){return t=+t,r>>>=0,i||U(e,0,r,4),u.write(e,t,r,n,23,4),r+4}function H(e,t,r,n,i){return t=+t,r>>>=0,i||U(e,0,r,8),u.write(e,t,r,n,52,8),r+8}p.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var n=this.subarray(e,t);return Object.setPrototypeOf(n,p.prototype),n},p.prototype.readUintLE=p.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||F(e,t,this.length);for(var n=this[e],i=1,a=0;++a<t&&(i*=256);)n+=this[e+a]*i;return n},p.prototype.readUintBE=p.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||F(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},p.prototype.readUint8=p.prototype.readUInt8=function(e,t){return e>>>=0,t||F(e,1,this.length),this[e]},p.prototype.readUint16LE=p.prototype.readUInt16LE=function(e,t){return e>>>=0,t||F(e,2,this.length),this[e]|this[e+1]<<8},p.prototype.readUint16BE=p.prototype.readUInt16BE=function(e,t){return e>>>=0,t||F(e,2,this.length),this[e]<<8|this[e+1]},p.prototype.readUint32LE=p.prototype.readUInt32LE=function(e,t){return e>>>=0,t||F(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},p.prototype.readUint32BE=p.prototype.readUInt32BE=function(e,t){return e>>>=0,t||F(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},p.prototype.readBigUInt64LE=ne((function(e){Z(e>>>=0,\"offset\");var t=this[e],r=this[e+7];void 0!==t&&void 0!==r||X(e,this.length-8);var n=t+this[++e]*Math.pow(2,8)+this[++e]*Math.pow(2,16)+this[++e]*Math.pow(2,24),i=this[++e]+this[++e]*Math.pow(2,8)+this[++e]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<<BigInt(32))})),p.prototype.readBigUInt64BE=ne((function(e){Z(e>>>=0,\"offset\");var t=this[e],r=this[e+7];void 0!==t&&void 0!==r||X(e,this.length-8);var n=t*Math.pow(2,24)+this[++e]*Math.pow(2,16)+this[++e]*Math.pow(2,8)+this[++e],i=this[++e]*Math.pow(2,24)+this[++e]*Math.pow(2,16)+this[++e]*Math.pow(2,8)+r;return(BigInt(n)<<BigInt(32))+BigInt(i)})),p.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||F(e,t,this.length);for(var n=this[e],i=1,a=0;++a<t&&(i*=256);)n+=this[e+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},p.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||F(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},p.prototype.readInt8=function(e,t){return e>>>=0,t||F(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},p.prototype.readInt16LE=function(e,t){e>>>=0,t||F(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt16BE=function(e,t){e>>>=0,t||F(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt32LE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},p.prototype.readInt32BE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},p.prototype.readBigInt64LE=ne((function(e){Z(e>>>=0,\"offset\");var t=this[e],r=this[e+7];void 0!==t&&void 0!==r||X(e,this.length-8);var n=this[e+4]+this[e+5]*Math.pow(2,8)+this[e+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<<BigInt(32))+BigInt(t+this[++e]*Math.pow(2,8)+this[++e]*Math.pow(2,16)+this[++e]*Math.pow(2,24))})),p.prototype.readBigInt64BE=ne((function(e){Z(e>>>=0,\"offset\");var t=this[e],r=this[e+7];void 0!==t&&void 0!==r||X(e,this.length-8);var n=(t<<24)+this[++e]*Math.pow(2,16)+this[++e]*Math.pow(2,8)+this[++e];return(BigInt(n)<<BigInt(32))+BigInt(this[++e]*Math.pow(2,24)+this[++e]*Math.pow(2,16)+this[++e]*Math.pow(2,8)+r)})),p.prototype.readFloatLE=function(e,t){return e>>>=0,t||F(e,4,this.length),u.read(this,e,!0,23,4)},p.prototype.readFloatBE=function(e,t){return e>>>=0,t||F(e,4,this.length),u.read(this,e,!1,23,4)},p.prototype.readDoubleLE=function(e,t){return e>>>=0,t||F(e,8,this.length),u.read(this,e,!0,52,8)},p.prototype.readDoubleBE=function(e,t){return e>>>=0,t||F(e,8,this.length),u.read(this,e,!1,52,8)},p.prototype.writeUintLE=p.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||B(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a<r&&(i*=256);)this[t+a]=e/i&255;return t+r},p.prototype.writeUintBE=p.prototype.writeUIntBE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||B(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},p.prototype.writeUint8=p.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,1,255,0),this[t]=255&e,t+1},p.prototype.writeUint16LE=p.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},p.prototype.writeUint16BE=p.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},p.prototype.writeUint32LE=p.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},p.prototype.writeUint32BE=p.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},p.prototype.writeBigUInt64LE=ne((function(e){return N(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),p.prototype.writeBigUInt64BE=ne((function(e){return j(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),p.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a<r&&(o*=256);)e<0&&0===s&&0!==this[t+a-1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},p.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},p.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},p.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},p.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},p.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},p.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},p.prototype.writeBigInt64LE=ne((function(e){return N(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),p.prototype.writeBigInt64BE=ne((function(e){return j(this,e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),p.prototype.writeFloatLE=function(e,t,r){return V(this,e,t,!0,r)},p.prototype.writeFloatBE=function(e,t,r){return V(this,e,t,!1,r)},p.prototype.writeDoubleLE=function(e,t,r){return H(this,e,t,!0,r)},p.prototype.writeDoubleBE=function(e,t,r){return H(this,e,t,!1,r)},p.prototype.copy=function(e,t,r,n){if(!p.isBuffer(e))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(r<0||r>=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var i=n-r;return this===e&&\"function\"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(t,r,n):Uint8Array.prototype.set.call(e,this.subarray(r,n),t),i},p.prototype.fill=function(e,t,r,n){if(\"string\"==typeof e){if(\"string\"==typeof t?(n=t,t=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!p.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===e.length){var i=e.charCodeAt(0);(\"utf8\"===n&&i<128||\"latin1\"===n)&&(e=i)}}else\"number\"==typeof e?e&=255:\"boolean\"==typeof e&&(e=Number(e));if(t<0||this.length<t||this.length<r)throw new RangeError(\"Out of range index\");if(r<=t)return this;var a;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),\"number\"==typeof e)for(a=t;a<r;++a)this[a]=e;else{var o=p.isBuffer(e)?e:p.from(e,n),s=o.length;if(0===s)throw new TypeError('The value \"'+e+'\" is invalid for argument \"value\"');for(a=0;a<r-t;++a)this[a+t]=o[a%s]}return this};var q={};function G(e,t,r){q[e]=function(r){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&i(e,t)}(p,r);var l,u,c,f,h=(c=p,f=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=o(c);if(f){var r=o(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return function(e,t){if(t&&(\"object\"===s(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return a(e)}(this,e)});function p(){var r;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,p),r=h.call(this),Object.defineProperty(a(r),\"message\",{value:t.apply(a(r),arguments),writable:!0,configurable:!0}),r.name=\"\".concat(r.name,\" [\").concat(e,\"]\"),r.stack,delete r.name,r}return l=p,(u=[{key:\"code\",get:function(){return e},set:function(e){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:e,writable:!0})}},{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(e,\"]: \").concat(this.message)}}])&&n(l.prototype,u),Object.defineProperty(l,\"prototype\",{writable:!1}),p}(r)}function Y(e){for(var t=\"\",r=e.length,n=\"-\"===e[0]?1:0;r>=n+4;r-=3)t=\"_\".concat(e.slice(r-3,r)).concat(t);return\"\".concat(e.slice(0,r)).concat(t)}function W(e,t,r,n,i,a){if(e>r||e<t){var o,s=\"bigint\"==typeof t?\"n\":\"\";throw o=a>3?0===t||t===BigInt(0)?\">= 0\".concat(s,\" and < 2\").concat(s,\" ** \").concat(8*(a+1)).concat(s):\">= -(2\".concat(s,\" ** \").concat(8*(a+1)-1).concat(s,\") and < 2 ** \")+\"\".concat(8*(a+1)-1).concat(s):\">= \".concat(t).concat(s,\" and <= \").concat(r).concat(s),new q.ERR_OUT_OF_RANGE(\"value\",o,e)}!function(e,t,r){Z(t,\"offset\"),void 0!==e[t]&&void 0!==e[t+r]||X(t,e.length-(r+1))}(n,i,a)}function Z(e,t){if(\"number\"!=typeof e)throw new q.ERR_INVALID_ARG_TYPE(t,\"number\",e)}function X(e,t,r){if(Math.floor(e)!==e)throw Z(e,r),new q.ERR_OUT_OF_RANGE(r||\"offset\",\"an integer\",e);if(t<0)throw new q.ERR_BUFFER_OUT_OF_BOUNDS;throw new q.ERR_OUT_OF_RANGE(r||\"offset\",\">= \".concat(r?1:0,\" and <= \").concat(t),e)}G(\"ERR_BUFFER_OUT_OF_BOUNDS\",(function(e){return e?\"\".concat(e,\" is outside of buffer bounds\"):\"Attempt to access memory outside buffer bounds\"}),RangeError),G(\"ERR_INVALID_ARG_TYPE\",(function(e,t){return'The \"'.concat(e,'\" argument must be of type number. Received type ').concat(s(t))}),TypeError),G(\"ERR_OUT_OF_RANGE\",(function(e,t,r){var n='The value of \"'.concat(e,'\" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=Y(String(r)):\"bigint\"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=Y(i)),i+=\"n\"),n+\" It must be \".concat(t,\". Received \").concat(i)}),RangeError);var K=/[^+/0-9A-Za-z-_]/g;function J(e,t){var r;t=t||1/0;for(var n=e.length,i=null,a=[],o=0;o<n;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function $(e){return l.toByteArray(function(e){if((e=(e=e.split(\"=\")[0]).trim().replace(K,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function Q(e,t,r,n){var i;for(i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function ee(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function te(e){return e!=e}var re=function(){for(var e=\"0123456789abcdef\",t=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)t[n+i]=e[r]+e[i];return t}();function ne(e){return\"undefined\"==typeof BigInt?ie:e}function ie(){throw new Error(\"BigInt not supported\")}},35791:function(e){\"use strict\";e.exports=i,e.exports.isMobile=i,e.exports.default=i;var t=/(android|bb\\d+|meego).+mobile|armv7l|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(e){e||(e={});var i=e.ua;if(i||\"undefined\"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&\"string\"==typeof i.headers[\"user-agent\"]&&(i=i.headers[\"user-agent\"]),\"string\"!=typeof i)return!1;var a=t.test(i)&&!r.test(i)||!!e.tablet&&n.test(i);return!a&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf(\"Macintosh\")&&-1!==i.indexOf(\"Safari\")&&(a=!0),a}},86781:function(e,t,r){\"use strict\";r.r(t),r.d(t,{sankeyCenter:function(){return h},sankeyCircular:function(){return L},sankeyJustify:function(){return f},sankeyLeft:function(){return u},sankeyRight:function(){return c}});var n=r(33064),i=r(15140),a=r(45879),o=r(2502),s=r.n(o);function l(e){return e.target.depth}function u(e){return e.depth}function c(e,t){return t-1-e.height}function f(e,t){return e.sourceLinks.length?e.depth:t-1}function h(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?(0,n.VV)(e.sourceLinks,l)-1:0}function p(e){return function(){return e}}var d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e};function v(e,t){return m(e.source,t.source)||e.index-t.index}function g(e,t){return m(e.target,t.target)||e.index-t.index}function m(e,t){return e.partOfCycle===t.partOfCycle?e.y0-t.y0:\"top\"===e.circularLinkType||\"bottom\"===t.circularLinkType?-1:1}function y(e){return e.value}function x(e){return(e.y0+e.y1)/2}function b(e){return x(e.source)}function _(e){return x(e.target)}function w(e){return e.index}function k(e){return e.nodes}function T(e){return e.links}function M(e,t){var r=e.get(t);if(!r)throw new Error(\"missing: \"+t);return r}function A(e,t){return t(e)}var S=25,E=10,C=.3;function L(){var e,t,r=0,a=0,o=1,l=1,u=24,c=w,h=f,A=k,L=T,O=32,D=2,z=null;function F(){var f={nodes:A.apply(null,arguments),links:L.apply(null,arguments)};!function(e){e.nodes.forEach((function(e,t){e.index=t,e.sourceLinks=[],e.targetLinks=[]}));var t=(0,i.UI)(e.nodes,c);e.links.forEach((function(e,r){e.index=r;var n=e.source,i=e.target;\"object\"!==(void 0===n?\"undefined\":d(n))&&(n=e.source=M(t,n)),\"object\"!==(void 0===i?\"undefined\":d(i))&&(i=e.target=M(t,i)),n.sourceLinks.push(e),i.targetLinks.push(e)}))}(f),function(e,t,r){var n=0;if(null===r){for(var i=[],a=0;a<e.links.length;a++){var o=e.links[a],l=o.source.index,u=o.target.index;i[l]||(i[l]=[]),i[u]||(i[u]=[]),-1===i[l].indexOf(u)&&i[l].push(u)}var c=s()(i);c.sort((function(e,t){return e.length-t.length}));var f={};for(a=0;a<c.length;a++){var h=c[a].slice(-2);f[h[0]]||(f[h[0]]={}),f[h[0]][h[1]]=!0}e.links.forEach((function(e){var t=e.target.index,r=e.source.index;t===r||f[r]&&f[r][t]?(e.circular=!0,e.circularLinkID=n,n+=1):e.circular=!1}))}else e.links.forEach((function(e){e.source[r]<e.target[r]?e.circular=!1:(e.circular=!0,e.circularLinkID=n,n+=1)}))}(f,0,z),function(e){e.nodes.forEach((function(e){e.partOfCycle=!1,e.value=Math.max((0,n.Sm)(e.sourceLinks,y),(0,n.Sm)(e.targetLinks,y)),e.sourceLinks.forEach((function(t){t.circular&&(e.partOfCycle=!0,e.circularLinkType=t.circularLinkType)})),e.targetLinks.forEach((function(t){t.circular&&(e.partOfCycle=!0,e.circularLinkType=t.circularLinkType)}))}))}(f),function(e){var t,r,n;for(t=e.nodes,r=[],n=0;t.length;++n,t=r,r=[])t.forEach((function(e){e.depth=n,e.sourceLinks.forEach((function(e){r.indexOf(e.target)<0&&!e.circular&&r.push(e.target)}))}));for(t=e.nodes,r=[],n=0;t.length;++n,t=r,r=[])t.forEach((function(e){e.height=n,e.targetLinks.forEach((function(e){r.indexOf(e.source)<0&&!e.circular&&r.push(e.source)}))}));e.nodes.forEach((function(e){e.column=Math.floor(h.call(null,e,n))}))}(f),P(f,c),function(s,c,f){var h=(0,i.b1)().key((function(e){return e.column})).sortKeys(n.j2).entries(s.nodes).map((function(e){return e.values}));(function(i){if(t){var c=1/0;h.forEach((function(e){var r=l*t/(e.length+1);c=r<c?r:c})),e=c}var f=(0,n.VV)(h,(function(t){return(l-a-(t.length-1)*e)/(0,n.Sm)(t,y)}));f*=C,s.links.forEach((function(e){e.width=e.value*f}));var p=function(e){var t=0,r=0,i=0,a=0,o=(0,n.Fp)(e.nodes,(function(e){return e.column}));return e.links.forEach((function(e){e.circular&&(\"top\"==e.circularLinkType?t+=e.width:r+=e.width,0==e.target.column&&(a+=e.width),e.source.column==o&&(i+=e.width))})),{top:t=t>0?t+S+E:t,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(s),d=function(e,t){var i=(0,n.Fp)(e.nodes,(function(e){return e.column})),s=o-r,c=l-a,f=s/(s+t.right+t.left),h=c/(c+t.top+t.bottom);return r=r*f+t.left,o=0==t.right?o:o*f,a=a*h+t.top,l*=h,e.nodes.forEach((function(e){e.x0=r+e.column*((o-r-u)/i),e.x1=e.x0+u})),h}(s,p);f*=d,s.links.forEach((function(e){e.width=e.value*f})),h.forEach((function(e){var t=e.length;e.forEach((function(e,r){e.depth==h.length-1&&1==t||0==e.depth&&1==t?(e.y0=l/2-e.value*f,e.y1=e.y0+e.value*f):e.partOfCycle?0==I(e,i)?(e.y0=l/2+r,e.y1=e.y0+e.value*f):\"top\"==e.circularLinkType?(e.y0=a+r,e.y1=e.y0+e.value*f):(e.y0=l-e.value*f-r,e.y1=e.y0+e.value*f):0==p.top||0==p.bottom?(e.y0=(l-a)/t*r,e.y1=e.y0+e.value*f):(e.y0=(l-a)/2-t/2+r,e.y1=e.y0+e.value*f)}))}))})(f),g();for(var p=1,d=c;d>0;--d)v(p*=.99,f),g();function v(e,t){var r=h.length;h.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&I(i,t)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else if(o==r-1&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else{var u=(0,n.J6)(i.sourceLinks,_),c=(0,n.J6)(i.targetLinks,b),f=((u&&c?(u+c)/2:u||c)-x(i))*e;i.y0+=f,i.y1+=f}}))}))}function g(){h.forEach((function(t){var r,n,i,o=a,s=t.length;for(t.sort(m),i=0;i<s;++i)(n=o-(r=t[i]).y0)>0&&(r.y0+=n,r.y1+=n),o=r.y1+e;if((n=o-e-l)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=t[i]).y1+e-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(f,O,c),B(f);for(var p=0;p<4;p++)Z(f,l,c),X(f,0,c),Y(f,a,l,c),Z(f,l,c),X(f,0,c);return function(e,t,r){var i=e.nodes,a=e.links,o=!1,s=!1;if(a.forEach((function(e){\"top\"==e.circularLinkType?o=!0:\"bottom\"==e.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.VV)(i,(function(e){return e.y0})),u=(r-t)/((0,n.Fp)(i,(function(e){return e.y1}))-l);i.forEach((function(e){var t=(e.y1-e.y0)*u;e.y0=(e.y0-l)*u,e.y1=e.y0+t})),a.forEach((function(e){e.y0=(e.y0-l)*u,e.y1=(e.y1-l)*u,e.width=e.width*u}))}}(f,a,l),R(f,D,l,c),f}function B(e){e.nodes.forEach((function(e){e.sourceLinks.sort(g),e.targetLinks.sort(v)})),e.nodes.forEach((function(e){var t=e.y0,r=t,n=e.y1,i=n;e.sourceLinks.forEach((function(e){e.circular?(e.y0=n-e.width/2,n-=e.width):(e.y0=t+e.width/2,t+=e.width)})),e.targetLinks.forEach((function(e){e.circular?(e.y1=i-e.width/2,i-=e.width):(e.y1=r+e.width/2,r+=e.width)}))}))}return F.nodeId=function(e){return arguments.length?(c=\"function\"==typeof e?e:p(e),F):c},F.nodeAlign=function(e){return arguments.length?(h=\"function\"==typeof e?e:p(e),F):h},F.nodeWidth=function(e){return arguments.length?(u=+e,F):u},F.nodePadding=function(t){return arguments.length?(e=+t,F):e},F.nodes=function(e){return arguments.length?(A=\"function\"==typeof e?e:p(e),F):A},F.links=function(e){return arguments.length?(L=\"function\"==typeof e?e:p(e),F):L},F.size=function(e){return arguments.length?(r=a=0,o=+e[0],l=+e[1],F):[o-r,l-a]},F.extent=function(e){return arguments.length?(r=+e[0][0],o=+e[1][0],a=+e[0][1],l=+e[1][1],F):[[r,a],[o,l]]},F.iterations=function(e){return arguments.length?(O=+e,F):O},F.circularLinkGap=function(e){return arguments.length?(D=+e,F):D},F.nodePaddingRatio=function(e){return arguments.length?(t=+e,F):t},F.sortNodes=function(e){return arguments.length?(z=e,F):z},F.update=function(e){return P(e,c),B(e),e.links.forEach((function(e){e.circular&&(e.circularLinkType=e.y0+e.y1<l?\"top\":\"bottom\",e.source.circularLinkType=e.circularLinkType,e.target.circularLinkType=e.circularLinkType)})),Z(e,l,c,!1),X(e,0,c),R(e,D,l,c),e},F}function P(e,t){var r=0,n=0;e.links.forEach((function(i){i.circular&&(i.source.circularLinkType||i.target.circularLinkType?i.circularLinkType=i.source.circularLinkType?i.source.circularLinkType:i.target.circularLinkType:i.circularLinkType=r<n?\"top\":\"bottom\",\"top\"==i.circularLinkType?r+=1:n+=1,e.nodes.forEach((function(e){A(e,t)!=A(i.source,t)&&A(e,t)!=A(i.target,t)||(e.circularLinkType=i.circularLinkType)})))})),e.links.forEach((function(e){e.circular&&(e.source.circularLinkType==e.target.circularLinkType&&(e.circularLinkType=e.source.circularLinkType),$(e,t)&&(e.circularLinkType=e.source.circularLinkType))}))}function O(e){var t=Math.abs(e.y1-e.y0),r=Math.abs(e.target.x0-e.source.x1);return Math.atan(r/t)}function I(e,t){var r=0;e.sourceLinks.forEach((function(e){r=e.circular&&!$(e,t)?r+1:r}));var n=0;return e.targetLinks.forEach((function(e){n=e.circular&&!$(e,t)?n+1:n})),r+n}function D(e){var t=e.source.sourceLinks,r=0;t.forEach((function(e){r=e.circular?r+1:r}));var n=e.target.targetLinks,i=0;return n.forEach((function(e){i=e.circular?i+1:i})),!(r>1||i>1)}function z(e,t,r){return e.sort(F),e.forEach((function(n,i){var a,o,s=0;if($(n,r)&&D(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;l<i;l++)if(a=e[i],o=e[l],!(a.source.column<o.target.column||a.target.column>o.source.column)){var u=e[l].circularPathData.verticalBuffer+e[l].width/2+t;s=u>s?u:s}n.circularPathData.verticalBuffer=s+n.width/2}})),e}function R(e,t,r,i){var o=(0,n.VV)(e.links,(function(e){return e.source.y0}));e.links.forEach((function(e){e.circular&&(e.circularPathData={})})),z(e.links.filter((function(e){return\"top\"==e.circularLinkType})),t,i),z(e.links.filter((function(e){return\"bottom\"==e.circularLinkType})),t,i),e.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,$(n,i)&&D(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,\"bottom\"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,u=e.links.filter((function(e){return e.source.column==s&&e.circularLinkType==l}));\"bottom\"==n.circularLinkType?u.sort(N):u.sort(B);var c=0;u.forEach((function(e,r){e.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+c,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*t+c),c+=e.width})),s=n.target.column,u=e.links.filter((function(e){return e.target.column==s&&e.circularLinkType==l})),\"bottom\"==n.circularLinkType?u.sort(U):u.sort(j),c=0,u.forEach((function(e,r){e.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+c,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*t+c),c+=e.width})),\"bottom\"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(e){return\"top\"==e.circularLinkType?\"M\"+e.circularPathData.sourceX+\" \"+e.circularPathData.sourceY+\" L\"+e.circularPathData.leftInnerExtent+\" \"+e.circularPathData.sourceY+\" A\"+e.circularPathData.leftLargeArcRadius+\" \"+e.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+e.circularPathData.leftFullExtent+\" \"+(e.circularPathData.sourceY-e.circularPathData.leftSmallArcRadius)+\" L\"+e.circularPathData.leftFullExtent+\" \"+e.circularPathData.verticalLeftInnerExtent+\" A\"+e.circularPathData.leftLargeArcRadius+\" \"+e.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+e.circularPathData.leftInnerExtent+\" \"+e.circularPathData.verticalFullExtent+\" L\"+e.circularPathData.rightInnerExtent+\" \"+e.circularPathData.verticalFullExtent+\" A\"+e.circularPathData.rightLargeArcRadius+\" \"+e.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+e.circularPathData.rightFullExtent+\" \"+e.circularPathData.verticalRightInnerExtent+\" L\"+e.circularPathData.rightFullExtent+\" \"+(e.circularPathData.targetY-e.circularPathData.rightSmallArcRadius)+\" A\"+e.circularPathData.rightLargeArcRadius+\" \"+e.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+e.circularPathData.rightInnerExtent+\" \"+e.circularPathData.targetY+\" L\"+e.circularPathData.targetX+\" \"+e.circularPathData.targetY:\"M\"+e.circularPathData.sourceX+\" \"+e.circularPathData.sourceY+\" L\"+e.circularPathData.leftInnerExtent+\" \"+e.circularPathData.sourceY+\" A\"+e.circularPathData.leftLargeArcRadius+\" \"+e.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+e.circularPathData.leftFullExtent+\" \"+(e.circularPathData.sourceY+e.circularPathData.leftSmallArcRadius)+\" L\"+e.circularPathData.leftFullExtent+\" \"+e.circularPathData.verticalLeftInnerExtent+\" A\"+e.circularPathData.leftLargeArcRadius+\" \"+e.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+e.circularPathData.leftInnerExtent+\" \"+e.circularPathData.verticalFullExtent+\" L\"+e.circularPathData.rightInnerExtent+\" \"+e.circularPathData.verticalFullExtent+\" A\"+e.circularPathData.rightLargeArcRadius+\" \"+e.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+e.circularPathData.rightFullExtent+\" \"+e.circularPathData.verticalRightInnerExtent+\" L\"+e.circularPathData.rightFullExtent+\" \"+(e.circularPathData.targetY+e.circularPathData.rightSmallArcRadius)+\" A\"+e.circularPathData.rightLargeArcRadius+\" \"+e.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+e.circularPathData.rightInnerExtent+\" \"+e.circularPathData.targetY+\" L\"+e.circularPathData.targetX+\" \"+e.circularPathData.targetY}(n);else{var f=(0,a.h5)().source((function(e){return[e.source.x0+(e.source.x1-e.source.x0),e.y0]})).target((function(e){return[e.target.x0,e.y1]}));n.path=f(n)}}))}function F(e,t){return V(e)==V(t)?\"bottom\"==e.circularLinkType?N(e,t):B(e,t):V(t)-V(e)}function B(e,t){return e.y0-t.y0}function N(e,t){return t.y0-e.y0}function j(e,t){return e.y1-t.y1}function U(e,t){return t.y1-e.y1}function V(e){return e.target.column-e.source.column}function H(e){return e.target.x0-e.source.x1}function q(e,t){var r=O(e),n=H(t)/Math.tan(r);return\"up\"==J(e)?e.y1+n:e.y1-n}function G(e,t){var r=O(e),n=H(t)/Math.tan(r);return\"up\"==J(e)?e.y1-n:e.y1+n}function Y(e,t,r,n){e.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)e.nodes.forEach((function(o){if(o.column==a){var u,c=s/(l+1),f=Math.pow(1-c,3),h=3*c*Math.pow(1-c,2),p=3*Math.pow(c,2)*(1-c),d=Math.pow(c,3),v=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=v-i.width/2,m=v+i.width/2;g>o.y0&&g<o.y1?(u=o.y1-g+10,u=\"bottom\"==o.circularLinkType?u:-u,o=W(o,u,t,r),e.nodes.forEach((function(e){var i,a;A(e,n)!=A(o,n)&&e.column==o.column&&(a=e,(i=o).y0>a.y0&&i.y0<a.y1||i.y1>a.y0&&i.y1<a.y1||i.y0<a.y0&&i.y1>a.y1)&&W(e,u,t,r)}))):(m>o.y0&&m<o.y1||g<o.y0&&m>o.y1)&&(u=m-o.y0+10,o=W(o,u,t,r),e.nodes.forEach((function(e){A(e,n)!=A(o,n)&&e.column==o.column&&e.y0<o.y1&&e.y1>o.y1&&W(e,u,t,r)})))}}))}}))}function W(e,t,r,n){return e.y0+t>=r&&e.y1+t<=n&&(e.y0=e.y0+t,e.y1=e.y1+t,e.targetLinks.forEach((function(e){e.y1=e.y1+t})),e.sourceLinks.forEach((function(e){e.y0=e.y0+t}))),e}function Z(e,t,r,n){e.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>t&&(i.y=i.y-(i.y+(i.y1-i.y0)-t));var a=e.links.filter((function(e){return A(e.source,r)==A(i,r)})),o=a.length;o>1&&a.sort((function(e,t){if(!e.circular&&!t.circular){if(e.target.column==t.target.column)return e.y1-t.y1;if(!K(e,t))return e.y1-t.y1;if(e.target.column>t.target.column){var r=G(t,e);return e.y1-r}if(t.target.column>e.target.column)return G(e,t)-t.y1}return e.circular&&!t.circular?\"top\"==e.circularLinkType?-1:1:t.circular&&!e.circular?\"top\"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&\"top\"==e.circularLinkType?e.target.column===t.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:e.circularLinkType===t.circularLinkType&&\"bottom\"==e.circularLinkType?e.target.column===t.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:\"top\"==e.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(e){e.y0=s+e.width/2,s+=e.width})),a.forEach((function(e,t){if(\"bottom\"==e.circularLinkType){for(var r=t+1,n=0;r<o;r++)n+=a[r].width;e.y0=i.y1-n-e.width/2}}))}))}function X(e,t,r){e.nodes.forEach((function(t){var n=e.links.filter((function(e){return A(e.target,r)==A(t,r)})),i=n.length;i>1&&n.sort((function(e,t){if(!e.circular&&!t.circular){if(e.source.column==t.source.column)return e.y0-t.y0;if(!K(e,t))return e.y0-t.y0;if(t.source.column<e.source.column){var r=q(t,e);return e.y0-r}if(e.source.column<t.source.column)return q(e,t)-t.y0}return e.circular&&!t.circular?\"top\"==e.circularLinkType?-1:1:t.circular&&!e.circular?\"top\"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&\"top\"==e.circularLinkType?e.source.column===t.source.column?e.source.y1-t.source.y1:e.source.column-t.source.column:e.circularLinkType===t.circularLinkType&&\"bottom\"==e.circularLinkType?e.source.column===t.source.column?e.source.y1-t.source.y1:t.source.column-e.source.column:\"top\"==e.circularLinkType?-1:1:void 0}));var a=t.y0;n.forEach((function(e){e.y1=a+e.width/2,a+=e.width})),n.forEach((function(e,r){if(\"bottom\"==e.circularLinkType){for(var a=r+1,o=0;a<i;a++)o+=n[a].width;e.y1=t.y1-o-e.width/2}}))}))}function K(e,t){return J(e)==J(t)}function J(e){return e.y0-e.y1>0?\"up\":\"down\"}function $(e,t){return A(e.source,t)==A(e.target,t)}},30838:function(e,t,r){\"use strict\";r.r(t),r.d(t,{sankey:function(){return w},sankeyCenter:function(){return u},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return A},sankeyRight:function(){return s}});var n=r(33064),i=r(15140);function a(e){return e.target.depth}function o(e){return e.depth}function s(e,t){return t-1-e.height}function l(e,t){return e.sourceLinks.length?e.depth:t-1}function u(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?(0,n.VV)(e.sourceLinks,a)-1:0}function c(e){return function(){return e}}function f(e,t){return p(e.source,t.source)||e.index-t.index}function h(e,t){return p(e.target,t.target)||e.index-t.index}function p(e,t){return e.y0-t.y0}function d(e){return e.value}function v(e){return(e.y0+e.y1)/2}function g(e){return v(e.source)*e.value}function m(e){return v(e.target)*e.value}function y(e){return e.index}function x(e){return e.nodes}function b(e){return e.links}function _(e,t){var r=e.get(t);if(!r)throw new Error(\"missing: \"+t);return r}function w(){var e=0,t=0,r=1,a=1,o=24,s=8,u=y,w=l,k=x,T=b,M=32;function A(){var l={nodes:k.apply(null,arguments),links:T.apply(null,arguments)};return function(e){e.nodes.forEach((function(e,t){e.index=t,e.sourceLinks=[],e.targetLinks=[]}));var t=(0,i.UI)(e.nodes,u);e.links.forEach((function(e,r){e.index=r;var n=e.source,i=e.target;\"object\"!=typeof n&&(n=e.source=_(t,n)),\"object\"!=typeof i&&(i=e.target=_(t,i)),n.sourceLinks.push(e),i.targetLinks.push(e)}))}(l),function(e){e.nodes.forEach((function(e){e.value=Math.max((0,n.Sm)(e.sourceLinks,d),(0,n.Sm)(e.targetLinks,d))}))}(l),function(t){var n,i,a;for(n=t.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(e){e.depth=a,e.sourceLinks.forEach((function(e){i.indexOf(e.target)<0&&i.push(e.target)}))}));for(n=t.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(e){e.height=a,e.targetLinks.forEach((function(e){i.indexOf(e.source)<0&&i.push(e.source)}))}));var s=(r-e-o)/(a-1);t.nodes.forEach((function(t){t.x1=(t.x0=e+Math.max(0,Math.min(a-1,Math.floor(w.call(null,t,a))))*s)+o}))}(l),function(e){var r=(0,i.b1)().key((function(e){return e.x0})).sortKeys(n.j2).entries(e.nodes).map((function(e){return e.values}));(function(){var i=(0,n.Fp)(r,(function(e){return e.length})),o=.6666666666666666*(a-t)/(i-1);s>o&&(s=o);var l=(0,n.VV)(r,(function(e){return(a-t-(e.length-1)*s)/(0,n.Sm)(e,d)}));r.forEach((function(e){e.forEach((function(e,t){e.y1=(e.y0=t)+e.value*l}))})),e.links.forEach((function(e){e.width=e.value*l}))})(),f();for(var o=1,l=M;l>0;--l)c(o*=.99),f(),u(o),f();function u(e){r.forEach((function(t){t.forEach((function(t){if(t.targetLinks.length){var r=((0,n.Sm)(t.targetLinks,g)/(0,n.Sm)(t.targetLinks,d)-v(t))*e;t.y0+=r,t.y1+=r}}))}))}function c(e){r.slice().reverse().forEach((function(t){t.forEach((function(t){if(t.sourceLinks.length){var r=((0,n.Sm)(t.sourceLinks,m)/(0,n.Sm)(t.sourceLinks,d)-v(t))*e;t.y0+=r,t.y1+=r}}))}))}function f(){r.forEach((function(e){var r,n,i,o=t,l=e.length;for(e.sort(p),i=0;i<l;++i)(n=o-(r=e[i]).y0)>0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=e[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(l),S(l),l}function S(e){e.nodes.forEach((function(e){e.sourceLinks.sort(h),e.targetLinks.sort(f)})),e.nodes.forEach((function(e){var t=e.y0,r=t;e.sourceLinks.forEach((function(e){e.y0=t+e.width/2,t+=e.width})),e.targetLinks.forEach((function(e){e.y1=r+e.width/2,r+=e.width}))}))}return A.update=function(e){return S(e),e},A.nodeId=function(e){return arguments.length?(u=\"function\"==typeof e?e:c(e),A):u},A.nodeAlign=function(e){return arguments.length?(w=\"function\"==typeof e?e:c(e),A):w},A.nodeWidth=function(e){return arguments.length?(o=+e,A):o},A.nodePadding=function(e){return arguments.length?(s=+e,A):s},A.nodes=function(e){return arguments.length?(k=\"function\"==typeof e?e:c(e),A):k},A.links=function(e){return arguments.length?(T=\"function\"==typeof e?e:c(e),A):T},A.size=function(n){return arguments.length?(e=t=0,r=+n[0],a=+n[1],A):[r-e,a-t]},A.extent=function(n){return arguments.length?(e=+n[0][0],r=+n[1][0],t=+n[0][1],a=+n[1][1],A):[[e,t],[r,a]]},A.iterations=function(e){return arguments.length?(M=+e,A):M},A}var k=r(45879);function T(e){return[e.source.x1,e.y0]}function M(e){return[e.target.x0,e.y1]}function A(){return(0,k.h5)().source(T).target(M)}},39898:function(e,t,r){var n,i;(function(){var a={version:\"3.8.0\"},o=[].slice,s=function(e){return o.call(e)},l=self.document;function u(e){return e&&(e.ownerDocument||e.document||e).documentElement}function c(e){return e&&(e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(e){s=function(e){for(var t=e.length,r=new Array(t);t--;)r[t]=e[t];return r}}if(Date.now||(Date.now=function(){return+new Date}),l)try{l.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(e){var f=this.Element.prototype,h=f.setAttribute,p=f.setAttributeNS,d=this.CSSStyleDeclaration.prototype,v=d.setProperty;f.setAttribute=function(e,t){h.call(this,e,t+\"\")},f.setAttributeNS=function(e,t,r){p.call(this,e,t,r+\"\")},d.setProperty=function(e,t,r){v.call(this,e,t+\"\",r)}}function g(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function m(e){return null===e?NaN:+e}function y(e){return!isNaN(e)}function x(e){return{left:function(t,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=t.length);n<i;){var a=n+i>>>1;e(t[a],r)<0?n=a+1:i=a}return n},right:function(t,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=t.length);n<i;){var a=n+i>>>1;e(t[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(e,t){return t<e?-1:t>e?1:t>=e?0:NaN},a.min=function(e,t){var r,n,i=-1,a=e.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=e[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=e[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=t.call(e,e[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=t.call(e,e[i],i))&&r>n&&(r=n)}return r},a.max=function(e,t){var r,n,i=-1,a=e.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=e[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=e[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=t.call(e,e[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=t.call(e,e[i],i))&&n>r&&(r=n)}return r},a.extent=function(e,t){var r,n,i,a=-1,o=e.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=e[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=t.call(e,e[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t.call(e,e[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},a.sum=function(e,t){var r,n=0,i=e.length,a=-1;if(1===arguments.length)for(;++a<i;)y(r=+e[a])&&(n+=r);else for(;++a<i;)y(r=+t.call(e,e[a],a))&&(n+=r);return n},a.mean=function(e,t){var r,n=0,i=e.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)y(r=m(e[a]))?n+=r:--o;else for(;++a<i;)y(r=m(t.call(e,e[a],a)))?n+=r:--o;if(o)return n/o},a.quantile=function(e,t){var r=(e.length-1)*t+1,n=Math.floor(r),i=+e[n-1],a=r-n;return a?i+a*(e[n]-i):i},a.median=function(e,t){var r,n=[],i=e.length,o=-1;if(1===arguments.length)for(;++o<i;)y(r=m(e[o]))&&n.push(r);else for(;++o<i;)y(r=m(t.call(e,e[o],o)))&&n.push(r);if(n.length)return a.quantile(n.sort(g),.5)},a.variance=function(e,t){var r,n,i=e.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)y(r=m(e[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)y(r=m(t.call(e,e[s],s)))&&(o+=(n=r-a)*(r-(a+=n/++l)));if(l>1)return o/(l-1)},a.deviation=function(){var e=a.variance.apply(this,arguments);return e?Math.sqrt(e):e};var b=x(g);function _(e){return e.length}a.bisectLeft=b.left,a.bisect=a.bisectRight=b.right,a.bisector=function(e){return x(1===e.length?function(t,r){return g(e(t),r)}:e)},a.shuffle=function(e,t,r){(a=arguments.length)<3&&(r=e.length,a<2&&(t=0));for(var n,i,a=r-t;a;)i=Math.random()*a--|0,n=e[a+t],e[a+t]=e[i+t],e[i+t]=n;return e},a.permute=function(e,t){for(var r=t.length,n=new Array(r);r--;)n[r]=e[t[r]];return n},a.pairs=function(e){for(var t=0,r=e.length-1,n=e[0],i=new Array(r<0?0:r);t<r;)i[t]=[n,n=e[++t]];return i},a.transpose=function(e){if(!(i=e.length))return[];for(var t=-1,r=a.min(e,_),n=new Array(r);++t<r;)for(var i,o=-1,s=n[t]=new Array(i);++o<i;)s[o]=e[o][t];return n},a.zip=function(){return a.transpose(arguments)},a.keys=function(e){var t=[];for(var r in e)t.push(r);return t},a.values=function(e){var t=[];for(var r in e)t.push(e[r]);return t},a.entries=function(e){var t=[];for(var r in e)t.push({key:r,value:e[r]});return t},a.merge=function(e){for(var t,r,n,i=e.length,a=-1,o=0;++a<i;)o+=e[a].length;for(r=new Array(o);--i>=0;)for(t=(n=e[i]).length;--t>=0;)r[--o]=n[t];return r};var w=Math.abs;function k(e,t){for(var r in t)Object.defineProperty(e.prototype,r,{value:t[r],enumerable:!1})}function T(){this._=Object.create(null)}a.range=function(e,t,r){if(arguments.length<3&&(r=1,arguments.length<2&&(t=e,e=0)),(t-e)/r==1/0)throw new Error(\"infinite range\");var n,i=[],a=function(e){for(var t=1;e*t%1;)t*=10;return t}(w(r)),o=-1;if(e*=a,t*=a,(r*=a)<0)for(;(n=e+r*++o)>t;)i.push(n/a);else for(;(n=e+r*++o)<t;)i.push(n/a);return i},a.map=function(e,t){var r=new T;if(e instanceof T)e.forEach((function(e,t){r.set(e,t)}));else if(Array.isArray(e)){var n,i=-1,a=e.length;if(1===arguments.length)for(;++i<a;)r.set(i,e[i]);else for(;++i<a;)r.set(t.call(e,n=e[i],i),n)}else for(var o in e)r.set(o,e[o]);return r};var M=\"__proto__\",A=\"\\0\";function S(e){return(e+=\"\")===M||e[0]===A?A+e:e}function E(e){return(e+=\"\")[0]===A?e.slice(1):e}function C(e){return S(e)in this._}function L(e){return(e=S(e))in this._&&delete this._[e]}function P(){var e=[];for(var t in this._)e.push(E(t));return e}function O(){var e=0;for(var t in this._)++e;return e}function I(){for(var e in this._)return!1;return!0}function D(){this._=Object.create(null)}function z(e){return e}function R(e,t,r){return function(){var n=r.apply(t,arguments);return n===t?e:n}}function F(e,t){if(t in e)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var r=0,n=B.length;r<n;++r){var i=B[r]+t;if(i in e)return i}}k(T,{has:C,get:function(e){return this._[S(e)]},set:function(e,t){return this._[S(e)]=t},remove:L,keys:P,values:function(){var e=[];for(var t in this._)e.push(this._[t]);return e},entries:function(){var e=[];for(var t in this._)e.push({key:E(t),value:this._[t]});return e},size:O,empty:I,forEach:function(e){for(var t in this._)e.call(this,E(t),this._[t])}}),a.nest=function(){var e,t,r={},n=[],i=[];function o(i,a,s){if(s>=n.length)return t?t.call(r,a):e?a.sort(e):a;for(var l,u,c,f,h=-1,p=a.length,d=n[s++],v=new T;++h<p;)(f=v.get(l=d(u=a[h])))?f.push(u):v.set(l,[u]);return i?(u=i(),c=function(e,t){u.set(e,o(i,t,s))}):(u={},c=function(e,t){u[e]=o(i,t,s)}),v.forEach(c),u}function s(e,t){if(t>=n.length)return e;var r=[],a=i[t++];return e.forEach((function(e,n){r.push({key:e,values:s(n,t)})})),a?r.sort((function(e,t){return a(e.key,t.key)})):r}return r.map=function(e,t){return o(t,e,0)},r.entries=function(e){return s(o(a.map,e,0),0)},r.key=function(e){return n.push(e),r},r.sortKeys=function(e){return i[n.length-1]=e,r},r.sortValues=function(t){return e=t,r},r.rollup=function(e){return t=e,r},r},a.set=function(e){var t=new D;if(e)for(var r=0,n=e.length;r<n;++r)t.add(e[r]);return t},k(D,{has:C,add:function(e){return this._[S(e+=\"\")]=!0,e},remove:L,values:P,size:O,empty:I,forEach:function(e){for(var t in this._)e.call(this,E(t))}}),a.behavior={},a.rebind=function(e,t){for(var r,n=1,i=arguments.length;++n<i;)e[r=arguments[n]]=R(e,t,t[r]);return e};var B=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];function N(){}function j(){}function U(e){var t=[],r=new T;function n(){for(var r,n=t,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return e}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,t=t.slice(0,a=t.indexOf(o)).concat(t.slice(a+1)),r.remove(n)),i&&t.push(r.set(n,{on:i})),e)},n}function V(){a.event.preventDefault()}function H(){for(var e,t=a.event;e=t.sourceEvent;)t=e;return t}function q(e){for(var t=new j,r=0,n=arguments.length;++r<n;)t[arguments[r]]=U(t);return t.of=function(r,n){return function(i){try{var o=i.sourceEvent=a.event;i.target=e,a.event=i,t[i.type].apply(r,n)}finally{a.event=o}}},t}a.dispatch=function(){for(var e=new j,t=-1,r=arguments.length;++t<r;)e[arguments[t]]=U(e);return e},j.prototype.on=function(e,t){var r=e.indexOf(\".\"),n=\"\";if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e)return arguments.length<2?this[e].on(n):this[e].on(n,t);if(2===arguments.length){if(null==t)for(e in this)this.hasOwnProperty(e)&&this[e].on(n,null);return this}},a.event=null,a.requote=function(e){return e.replace(G,\"\\\\$&\")};var G=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,Y={}.__proto__?function(e,t){e.__proto__=t}:function(e,t){for(var r in t)e[r]=t[r]};function W(e){return Y(e,J),e}var Z=function(e,t){return t.querySelector(e)},X=function(e,t){return t.querySelectorAll(e)},K=function(e,t){var r=e.matches||e[F(e,\"matchesSelector\")];return K=function(e,t){return r.call(e,t)},K(e,t)};\"function\"==typeof Sizzle&&(Z=function(e,t){return Sizzle(e,t)[0]||null},X=Sizzle,K=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function $(e){return\"function\"==typeof e?e:function(){return Z(e,this)}}function Q(e){return\"function\"==typeof e?e:function(){return X(e,this)}}J.select=function(e){var t,r,n,i,a=[];e=$(e);for(var o=-1,s=this.length;++o<s;){a.push(t=[]),t.parentNode=(n=this[o]).parentNode;for(var l=-1,u=n.length;++l<u;)(i=n[l])?(t.push(r=e.call(i,i.__data__,l,o)),r&&\"__data__\"in i&&(r.__data__=i.__data__)):t.push(null)}return W(a)},J.selectAll=function(e){var t,r,n=[];e=Q(e);for(var i=-1,a=this.length;++i<a;)for(var o=this[i],l=-1,u=o.length;++l<u;)(r=o[l])&&(n.push(t=s(e.call(r,r.__data__,l,i))),t.parentNode=r);return W(n)};var ee=\"http://www.w3.org/1999/xhtml\",te={svg:\"http://www.w3.org/2000/svg\",xhtml:ee,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};function re(e,t){return e=a.ns.qualify(e),null==t?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:\"function\"==typeof t?e.local?function(){var r=t.apply(this,arguments);null==r?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,r)}:function(){var r=t.apply(this,arguments);null==r?this.removeAttribute(e):this.setAttribute(e,r)}:e.local?function(){this.setAttributeNS(e.space,e.local,t)}:function(){this.setAttribute(e,t)}}function ne(e){return e.trim().replace(/\\s+/g,\" \")}function ie(e){return new RegExp(\"(?:^|\\\\s+)\"+a.requote(e)+\"(?:\\\\s+|$)\",\"g\")}function ae(e){return(e+\"\").trim().split(/^|\\s+/)}function oe(e,t){var r=(e=ae(e).map(se)).length;return\"function\"==typeof t?function(){for(var n=-1,i=t.apply(this,arguments);++n<r;)e[n](this,i)}:function(){for(var n=-1;++n<r;)e[n](this,t)}}function se(e){var t=ie(e);return function(r,n){if(i=r.classList)return n?i.add(e):i.remove(e);var i=r.getAttribute(\"class\")||\"\";n?(t.lastIndex=0,t.test(i)||r.setAttribute(\"class\",ne(i+\" \"+e))):r.setAttribute(\"class\",ne(i.replace(t,\" \")))}}function le(e,t,r){return null==t?function(){this.style.removeProperty(e)}:\"function\"==typeof t?function(){var n=t.apply(this,arguments);null==n?this.style.removeProperty(e):this.style.setProperty(e,n,r)}:function(){this.style.setProperty(e,t,r)}}function ue(e,t){return null==t?function(){delete this[e]}:\"function\"==typeof t?function(){var r=t.apply(this,arguments);null==r?delete this[e]:this[e]=r}:function(){this[e]=t}}function ce(e){return\"function\"==typeof e?e:(e=a.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===ee&&t.documentElement.namespaceURI===ee?t.createElement(e):t.createElementNS(r,e)}}function fe(){var e=this.parentNode;e&&e.removeChild(this)}function he(e){return{__data__:e}}function pe(e){return function(){return K(this,e)}}function de(e){return arguments.length||(e=g),function(t,r){return t&&r?e(t.__data__,r.__data__):!t-!r}}function ve(e,t){for(var r=0,n=e.length;r<n;r++)for(var i,a=e[r],o=0,s=a.length;o<s;o++)(i=a[o])&&t(i,o,r);return e}function ge(e){return Y(e,me),e}a.ns={prefix:te,qualify:function(e){var t=e.indexOf(\":\"),r=e;return t>=0&&\"xmlns\"!==(r=e.slice(0,t))&&(e=e.slice(t+1)),te.hasOwnProperty(r)?{space:te[r],local:e}:e}},J.attr=function(e,t){if(arguments.length<2){if(\"string\"==typeof e){var r=this.node();return(e=a.ns.qualify(e)).local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}for(t in e)this.each(re(t,e[t]));return this}return this.each(re(e,t))},J.classed=function(e,t){if(arguments.length<2){if(\"string\"==typeof e){var r=this.node(),n=(e=ae(e)).length,i=-1;if(t=r.classList){for(;++i<n;)if(!t.contains(e[i]))return!1}else for(t=r.getAttribute(\"class\");++i<n;)if(!ie(e[i]).test(t))return!1;return!0}for(t in e)this.each(oe(t,e[t]));return this}return this.each(oe(e,t))},J.style=function(e,t,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof e){for(r in n<2&&(t=\"\"),e)this.each(le(r,e[r],t));return this}if(n<2){var i=this.node();return c(i).getComputedStyle(i,null).getPropertyValue(e)}r=\"\"}return this.each(le(e,t,r))},J.property=function(e,t){if(arguments.length<2){if(\"string\"==typeof e)return this.node()[e];for(t in e)this.each(ue(t,e[t]));return this}return this.each(ue(e,t))},J.text=function(e){return arguments.length?this.each(\"function\"==typeof e?function(){var t=e.apply(this,arguments);this.textContent=null==t?\"\":t}:null==e?function(){this.textContent=\"\"}:function(){this.textContent=e}):this.node().textContent},J.html=function(e){return arguments.length?this.each(\"function\"==typeof e?function(){var t=e.apply(this,arguments);this.innerHTML=null==t?\"\":t}:null==e?function(){this.innerHTML=\"\"}:function(){this.innerHTML=e}):this.node().innerHTML},J.append=function(e){return e=ce(e),this.select((function(){return this.appendChild(e.apply(this,arguments))}))},J.insert=function(e,t){return e=ce(e),t=$(t),this.select((function(){return this.insertBefore(e.apply(this,arguments),t.apply(this,arguments)||null)}))},J.remove=function(){return this.each(fe)},J.data=function(e,t){var r,n,i=-1,a=this.length;if(!arguments.length){for(e=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(e[i]=n.__data__);return e}function o(e,r){var n,i,a,o=e.length,c=r.length,f=Math.min(o,c),h=new Array(c),p=new Array(c),d=new Array(o);if(t){var v,g=new T,m=new Array(o);for(n=-1;++n<o;)(i=e[n])&&(g.has(v=t.call(i,i.__data__,n))?d[n]=i:g.set(v,i),m[n]=v);for(n=-1;++n<c;)(i=g.get(v=t.call(r,a=r[n],n)))?!0!==i&&(h[n]=i,i.__data__=a):p[n]=he(a),g.set(v,!0);for(n=-1;++n<o;)n in m&&!0!==g.get(m[n])&&(d[n]=e[n])}else{for(n=-1;++n<f;)i=e[n],a=r[n],i?(i.__data__=a,h[n]=i):p[n]=he(a);for(;n<c;++n)p[n]=he(r[n]);for(;n<o;++n)d[n]=e[n]}p.update=h,p.parentNode=h.parentNode=d.parentNode=e.parentNode,s.push(p),l.push(h),u.push(d)}var s=ge([]),l=W([]),u=W([]);if(\"function\"==typeof e)for(;++i<a;)o(r=this[i],e.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],e);return l.enter=function(){return s},l.exit=function(){return u},l},J.datum=function(e){return arguments.length?this.property(\"__data__\",e):this.property(\"__data__\")},J.filter=function(e){var t,r,n,i=[];\"function\"!=typeof e&&(e=pe(e));for(var a=0,o=this.length;a<o;a++){i.push(t=[]),t.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&e.call(n,n.__data__,s,a)&&t.push(n)}return W(i)},J.order=function(){for(var e=-1,t=this.length;++e<t;)for(var r,n=this[e],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(e){e=de.apply(this,arguments);for(var t=-1,r=this.length;++t<r;)this[t].sort(e);return this.order()},J.each=function(e){return ve(this,(function(t,r,n){e.call(t,t.__data__,r,n)}))},J.call=function(e){var t=s(arguments);return e.apply(t[0]=this,t),this},J.empty=function(){return!this.node()},J.node=function(){for(var e=0,t=this.length;e<t;e++)for(var r=this[e],n=0,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},J.size=function(){var e=0;return ve(this,(function(){++e})),e};var me=[];function ye(e,t,r){var n=\"__on\"+e,i=e.indexOf(\".\"),o=be;i>0&&(e=e.slice(0,i));var l=xe.get(e);function u(){var t=this[n];t&&(this.removeEventListener(e,t,t.$),delete this[n])}return l&&(e=l,o=_e),i?t?function(){var i=o(t,s(arguments));u.call(this),this.addEventListener(e,this[n]=i,i.$=r),i._=t}:u:t?N:function(){var t,r=new RegExp(\"^__on([^.]+)\"+a.requote(e)+\"$\");for(var n in this)if(t=n.match(r)){var i=this[n];this.removeEventListener(t[1],i,i.$),delete this[n]}}}a.selection.enter=ge,a.selection.enter.prototype=me,me.append=J.append,me.empty=J.empty,me.node=J.node,me.call=J.call,me.size=J.size,me.select=function(e){for(var t,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(t=[]),t.parentNode=i.parentNode;for(var u=-1,c=i.length;++u<c;)(a=i[u])?(t.push(n[u]=r=e.call(i.parentNode,a.__data__,u,s)),r.__data__=a.__data__):t.push(null)}return W(o)},me.insert=function(e,t){var r,n,i;return arguments.length<2&&(r=this,t=function(e,t,a){var o,s=r[a].update,l=s.length;for(a!=i&&(i=a,n=0),t>=n&&(n=t+1);!(o=s[n])&&++n<l;);return o}),J.insert.call(this,e,t)},a.select=function(e){var t;return\"string\"==typeof e?(t=[Z(e,l)]).parentNode=l.documentElement:(t=[e]).parentNode=u(e),W([t])},a.selectAll=function(e){var t;return\"string\"==typeof e?(t=s(X(e,l))).parentNode=l.documentElement:(t=s(e)).parentNode=null,W([t])},J.on=function(e,t,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof e){for(r in n<2&&(t=!1),e)this.each(ye(r,e[r],t));return this}if(n<2)return(n=this.node()[\"__on\"+e])&&n._;r=!1}return this.each(ye(e,t,r))};var xe=a.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});function be(e,t){return function(r){var n=a.event;a.event=r,t[0]=this.__data__;try{e.apply(this,t)}finally{a.event=n}}}function _e(e,t){var r=be(e,t);return function(e){var t=this,n=e.relatedTarget;n&&(n===t||8&n.compareDocumentPosition(t))||r.call(t,e)}}l&&xe.forEach((function(e){\"on\"+e in l&&xe.remove(e)}));var we,ke=0;function Te(e){var t=\".dragsuppress-\"+ ++ke,r=\"click\"+t,n=a.select(c(e)).on(\"touchmove\"+t,V).on(\"dragstart\"+t,V).on(\"selectstart\"+t,V);if(null==we&&(we=!(\"onselectstart\"in e)&&F(e.style,\"userSelect\")),we){var i=u(e).style,o=i[we];i[we]=\"none\"}return function(e){if(n.on(t,null),we&&(i[we]=o),e){var a=function(){n.on(r,null)};n.on(r,(function(){V(),a()}),!0),setTimeout(a,0)}}}a.mouse=function(e){return Ae(e,H())};var Me=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Ae(e,t){t.changedTouches&&(t=t.changedTouches[0]);var r=e.ownerSVGElement||e;if(r.createSVGPoint){var n=r.createSVGPoint();if(Me<0){var i=c(e);if(i.scrollX||i.scrollY){var o=(r=a.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\"))[0][0].getScreenCTM();Me=!(o.f||o.e),r.remove()}}return Me?(n.x=t.pageX,n.y=t.pageY):(n.x=t.clientX,n.y=t.clientY),[(n=n.matrixTransform(e.getScreenCTM().inverse())).x,n.y]}var s=e.getBoundingClientRect();return[t.clientX-s.left-e.clientLeft,t.clientY-s.top-e.clientTop]}function Se(){return a.event.changedTouches[0].identifier}a.touch=function(e,t,r){if(arguments.length<3&&(r=t,t=H().changedTouches),t)for(var n,i=0,a=t.length;i<a;++i)if((n=t[i]).identifier===r)return Ae(e,n)},a.behavior.drag=function(){var e=q(i,\"drag\",\"dragstart\",\"dragend\"),t=null,r=o(N,a.mouse,c,\"mousemove\",\"mouseup\"),n=o(Se,a.touch,z,\"touchmove\",\"touchend\");function i(){this.on(\"mousedown.drag\",r).on(\"touchstart.drag\",n)}function o(r,n,i,o,s){return function(){var l,u=this,c=a.event.target.correspondingElement||a.event.target,f=u.parentNode,h=e.of(u,arguments),p=0,d=r(),v=\".drag\"+(null==d?\"\":\"-\"+d),g=a.select(i(c)).on(o+v,(function(){var e,t,r=n(f,d);r&&(e=r[0]-y[0],t=r[1]-y[1],p|=e|t,y=r,h({type:\"drag\",x:r[0]+l[0],y:r[1]+l[1],dx:e,dy:t}))})).on(s+v,(function(){n(f,d)&&(g.on(o+v,null).on(s+v,null),m(p),h({type:\"dragend\"}))})),m=Te(c),y=n(f,d);l=t?[(l=t.apply(u,arguments)).x-y[0],l.y-y[1]]:[0,0],h({type:\"dragstart\"})}}return i.origin=function(e){return arguments.length?(t=e,i):t},a.rebind(i,e,\"on\")},a.touches=function(e,t){return arguments.length<2&&(t=H().touches),t?s(t).map((function(t){var r=Ae(e,t);return r.identifier=t.identifier,r})):[]};var Ee=1e-6,Ce=Ee*Ee,Le=Math.PI,Pe=2*Le,Oe=Pe-Ee,Ie=Le/2,De=Le/180,ze=180/Le;function Re(e){return e>1?Ie:e<-1?-Ie:Math.asin(e)}function Fe(e){return((e=Math.exp(e))+1/e)/2}var Be=Math.SQRT2;a.interpolateZoom=function(e,t){var r,n,i=e[0],a=e[1],o=e[2],s=t[0],l=t[1],u=t[2],c=s-i,f=l-a,h=c*c+f*f;if(h<Ce)n=Math.log(u/o)/Be,r=function(e){return[i+e*c,a+e*f,o*Math.exp(Be*e*n)]};else{var p=Math.sqrt(h),d=(u*u-o*o+4*h)/(2*o*2*p),v=(u*u-o*o-4*h)/(2*u*2*p),g=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(v*v+1)-v);n=(m-g)/Be,r=function(e){var t,r=e*n,s=Fe(g),l=o/(2*p)*(s*(t=Be*r+g,((t=Math.exp(2*t))-1)/(t+1))-function(e){return((e=Math.exp(e))-1/e)/2}(g));return[i+l*c,a+l*f,o*s/Fe(Be*r+g)]}}return r.duration=1e3*n,r},a.behavior.zoom=function(){var e,t,r,n,i,o,s,u,f,h={x:0,y:0,k:1},p=[960,500],d=Ue,v=250,g=0,m=\"mousedown.zoom\",y=\"mousemove.zoom\",x=\"mouseup.zoom\",b=\"touchstart.zoom\",_=q(w,\"zoomstart\",\"zoom\",\"zoomend\");function w(e){e.on(m,P).on(je+\".zoom\",I).on(\"dblclick.zoom\",D).on(b,O)}function k(e){return[(e[0]-h.x)/h.k,(e[1]-h.y)/h.k]}function T(e){h.k=Math.max(d[0],Math.min(d[1],e))}function M(e,t){t=function(e){return[e[0]*h.k+h.x,e[1]*h.k+h.y]}(t),h.x+=e[0]-t[0],h.y+=e[1]-t[1]}function A(e,r,n,i){e.__chart__={x:h.x,y:h.y,k:h.k},T(Math.pow(2,i)),M(t=r,n),e=a.select(e),v>0&&(e=e.transition().duration(v)),e.call(w.event)}function S(){s&&s.domain(o.range().map((function(e){return(e-h.x)/h.k})).map(o.invert)),f&&f.domain(u.range().map((function(e){return(e-h.y)/h.k})).map(u.invert))}function E(e){g++||e({type:\"zoomstart\"})}function C(e){S(),e({type:\"zoom\",scale:h.k,translate:[h.x,h.y]})}function L(e){--g||(e({type:\"zoomend\"}),t=null)}function P(){var e=this,t=_.of(e,arguments),r=0,n=a.select(c(e)).on(y,(function(){r=1,M(a.mouse(e),i),C(t)})).on(x,(function(){n.on(y,null).on(x,null),o(r),L(t)})),i=k(a.mouse(e)),o=Te(e);Ki.call(e),E(t)}function O(){var e,t=this,r=_.of(t,arguments),n={},o=0,s=\".zoom-\"+a.event.changedTouches[0].identifier,l=\"touchmove\"+s,u=\"touchend\"+s,c=[],f=a.select(t),p=Te(t);function d(){var r=a.touches(t);return e=h.k,r.forEach((function(e){e.identifier in n&&(n[e.identifier]=k(e))})),r}function v(){var e=a.event.target;a.select(e).on(l,g).on(u,y),c.push(e);for(var r=a.event.changedTouches,s=0,f=r.length;s<f;++s)n[r[s].identifier]=null;var p=d(),v=Date.now();if(1===p.length){if(v-i<500){var m=p[0];A(t,m,n[m.identifier],Math.floor(Math.log(h.k)/Math.LN2)+1),V()}i=v}else if(p.length>1){m=p[0];var x=p[1],b=m[0]-x[0],_=m[1]-x[1];o=b*b+_*_}}function g(){var s,l,u,c,f=a.touches(t);Ki.call(t);for(var h=0,p=f.length;h<p;++h,c=null)if(u=f[h],c=n[u.identifier]){if(l)break;s=u,l=c}if(c){var d=(d=u[0]-s[0])*d+(d=u[1]-s[1])*d,v=o&&Math.sqrt(d/o);s=[(s[0]+u[0])/2,(s[1]+u[1])/2],l=[(l[0]+c[0])/2,(l[1]+c[1])/2],T(v*e)}i=null,M(s,l),C(r)}function y(){if(a.event.touches.length){for(var e=a.event.changedTouches,t=0,i=e.length;t<i;++t)delete n[e[t].identifier];for(var o in n)return void d()}a.selectAll(c).on(s,null),f.on(m,P).on(b,O),p(),L(r)}v(),E(r),f.on(m,null).on(b,v)}function I(){var i=_.of(this,arguments);n?clearTimeout(n):(Ki.call(this),e=k(t=r||a.mouse(this)),E(i)),n=setTimeout((function(){n=null,L(i)}),50),V(),T(Math.pow(2,.002*Ne())*h.k),M(t,e),C(i)}function D(){var e=a.mouse(this),t=Math.log(h.k)/Math.LN2;A(this,e,k(e),a.event.shiftKey?Math.ceil(t)-1:Math.floor(t)+1)}return je||(je=\"onwheel\"in l?(Ne=function(){return-a.event.deltaY*(a.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in l?(Ne=function(){return a.event.wheelDelta},\"mousewheel\"):(Ne=function(){return-a.event.detail},\"MozMousePixelScroll\")),w.event=function(e){e.each((function(){var e=_.of(this,arguments),r=h;Qi?a.select(this).transition().each(\"start.zoom\",(function(){h=this.__chart__||{x:0,y:0,k:1},E(e)})).tween(\"zoom:zoom\",(function(){var n=p[0],i=p[1],o=t?t[0]:n/2,s=t?t[1]:i/2,l=a.interpolateZoom([(o-h.x)/h.k,(s-h.y)/h.k,n/h.k],[(o-r.x)/r.k,(s-r.y)/r.k,n/r.k]);return function(t){var r=l(t),i=n/r[2];this.__chart__=h={x:o-r[0]*i,y:s-r[1]*i,k:i},C(e)}})).each(\"interrupt.zoom\",(function(){L(e)})).each(\"end.zoom\",(function(){L(e)})):(this.__chart__=h,E(e),C(e),L(e))}))},w.translate=function(e){return arguments.length?(h={x:+e[0],y:+e[1],k:h.k},S(),w):[h.x,h.y]},w.scale=function(e){return arguments.length?(h={x:h.x,y:h.y,k:null},T(+e),S(),w):h.k},w.scaleExtent=function(e){return arguments.length?(d=null==e?Ue:[+e[0],+e[1]],w):d},w.center=function(e){return arguments.length?(r=e&&[+e[0],+e[1]],w):r},w.size=function(e){return arguments.length?(p=e&&[+e[0],+e[1]],w):p},w.duration=function(e){return arguments.length?(v=+e,w):v},w.x=function(e){return arguments.length?(s=e,o=e.copy(),h={x:0,y:0,k:1},w):s},w.y=function(e){return arguments.length?(f=e,u=e.copy(),h={x:0,y:0,k:1},w):f},a.rebind(w,_,\"on\")};var Ne,je,Ue=[0,1/0];function Ve(){}function He(e,t,r){return this instanceof He?(this.h=+e,this.s=+t,void(this.l=+r)):arguments.length<2?e instanceof He?new He(e.h,e.s,e.l):ct(\"\"+e,ft,He):new He(e,t,r)}a.color=Ve,Ve.prototype.toString=function(){return this.rgb()+\"\"},a.hsl=He;var qe=He.prototype=new Ve;function Ge(e,t,r){var n,i;function a(e){return Math.round(255*function(e){return e>360?e-=360:e<0&&(e+=360),e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n}(e))}return e=isNaN(e)?0:(e%=360)<0?e+360:e,t=isNaN(t)||t<0?0:t>1?1:t,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+t):r+t-r*t),new at(a(e+120),a(e),a(e-120))}function Ye(e,t,r){return this instanceof Ye?(this.h=+e,this.c=+t,void(this.l=+r)):arguments.length<2?e instanceof Ye?new Ye(e.h,e.c,e.l):function(e,t,r){return e>0?new Ye(Math.atan2(r,t)*ze,Math.sqrt(t*t+r*r),e):new Ye(NaN,NaN,e)}(e instanceof Xe?e.l:(e=ht((e=a.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Ye(e,t,r)}qe.brighter=function(e){return e=Math.pow(.7,arguments.length?e:1),new He(this.h,this.s,this.l/e)},qe.darker=function(e){return e=Math.pow(.7,arguments.length?e:1),new He(this.h,this.s,e*this.l)},qe.rgb=function(){return Ge(this.h,this.s,this.l)},a.hcl=Ye;var We=Ye.prototype=new Ve;function Ze(e,t,r){return isNaN(e)&&(e=0),isNaN(t)&&(t=0),new Xe(r,Math.cos(e*=De)*t,Math.sin(e)*t)}function Xe(e,t,r){return this instanceof Xe?(this.l=+e,this.a=+t,void(this.b=+r)):arguments.length<2?e instanceof Xe?new Xe(e.l,e.a,e.b):e instanceof Ye?Ze(e.h,e.c,e.l):ht((e=at(e)).r,e.g,e.b):new Xe(e,t,r)}We.brighter=function(e){return new Ye(this.h,this.c,Math.min(100,this.l+Ke*(arguments.length?e:1)))},We.darker=function(e){return new Ye(this.h,this.c,Math.max(0,this.l-Ke*(arguments.length?e:1)))},We.rgb=function(){return Ze(this.h,this.c,this.l).rgb()},a.lab=Xe;var Ke=18,Je=.95047,$e=1,Qe=1.08883,et=Xe.prototype=new Ve;function tt(e,t,r){var n=(e+16)/116,i=n+t/500,a=n-r/200;return new at(it(3.2404542*(i=rt(i)*Je)-1.5371385*(n=rt(n)*$e)-.4985314*(a=rt(a)*Qe)),it(-.969266*i+1.8760108*n+.041556*a),it(.0556434*i-.2040259*n+1.0572252*a))}function rt(e){return e>.206893034?e*e*e:(e-4/29)/7.787037}function nt(e){return e>.008856?Math.pow(e,1/3):7.787037*e+4/29}function it(e){return Math.round(255*(e<=.00304?12.92*e:1.055*Math.pow(e,1/2.4)-.055))}function at(e,t,r){return this instanceof at?(this.r=~~e,this.g=~~t,void(this.b=~~r)):arguments.length<2?e instanceof at?new at(e.r,e.g,e.b):ct(\"\"+e,at,Ge):new at(e,t,r)}function ot(e){return new at(e>>16,e>>8&255,255&e)}function st(e){return ot(e)+\"\"}et.brighter=function(e){return new Xe(Math.min(100,this.l+Ke*(arguments.length?e:1)),this.a,this.b)},et.darker=function(e){return new Xe(Math.max(0,this.l-Ke*(arguments.length?e:1)),this.a,this.b)},et.rgb=function(){return tt(this.l,this.a,this.b)},a.rgb=at;var lt=at.prototype=new Ve;function ut(e){return e<16?\"0\"+Math.max(0,e).toString(16):Math.min(255,e).toString(16)}function ct(e,t,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\((.*)\\)/.exec(e=e.toLowerCase()))switch(i=n[2].split(\",\"),n[1]){case\"hsl\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\"rgb\":return t(dt(i[0]),dt(i[1]),dt(i[2]))}return(a=vt.get(e))?t(a.r,a.g,a.b):(null==e||\"#\"!==e.charAt(0)||isNaN(a=parseInt(e.slice(1),16))||(4===e.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===e.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),t(o,s,l))}function ft(e,t,r){var n,i,a=Math.min(e/=255,t/=255,r/=255),o=Math.max(e,t,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=e==o?(t-r)/s+(t<r?6:0):t==o?(r-e)/s+2:(e-t)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new He(n,i,l)}function ht(e,t,r){var n=nt((.4124564*(e=pt(e))+.3575761*(t=pt(t))+.1804375*(r=pt(r)))/Je),i=nt((.2126729*e+.7151522*t+.072175*r)/$e);return Xe(116*i-16,500*(n-i),200*(i-nt((.0193339*e+.119192*t+.9503041*r)/Qe)))}function pt(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function dt(e){var t=parseFloat(e);return\"%\"===e.charAt(e.length-1)?Math.round(2.55*t):t}lt.brighter=function(e){e=Math.pow(.7,arguments.length?e:1);var t=this.r,r=this.g,n=this.b,i=30;return t||r||n?(t&&t<i&&(t=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new at(Math.min(255,t/e),Math.min(255,r/e),Math.min(255,n/e))):new at(i,i,i)},lt.darker=function(e){return new at((e=Math.pow(.7,arguments.length?e:1))*this.r,e*this.g,e*this.b)},lt.hsl=function(){return ft(this.r,this.g,this.b)},lt.toString=function(){return\"#\"+ut(this.r)+ut(this.g)+ut(this.b)};var vt=a.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});function gt(e){return\"function\"==typeof e?e:function(){return e}}function mt(e){return function(t,r,n){return 2===arguments.length&&\"function\"==typeof r&&(n=r,r=null),yt(t,r,e,n)}}function yt(e,t,r,n){var i={},o=a.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),l={},u=new XMLHttpRequest,c=null;function f(){var e,t=u.status;if(!t&&function(e){var t=e.responseType;return t&&\"text\"!==t?e.response:e.responseText}(u)||t>=200&&t<300||304===t){try{e=r.call(i,u)}catch(e){return void o.error.call(i,e)}o.load.call(i,e)}else o.error.call(i,u)}return self.XDomainRequest&&!(\"withCredentials\"in u)&&/^(http(s)?:)?\\/\\//.test(e)&&(u=new XDomainRequest),\"onload\"in u?u.onload=u.onerror=f:u.onreadystatechange=function(){u.readyState>3&&f()},u.onprogress=function(e){var t=a.event;a.event=e;try{o.progress.call(i,u)}finally{a.event=t}},i.header=function(e,t){return e=(e+\"\").toLowerCase(),arguments.length<2?l[e]:(null==t?delete l[e]:l[e]=t+\"\",i)},i.mimeType=function(e){return arguments.length?(t=null==e?null:e+\"\",i):t},i.responseType=function(e){return arguments.length?(c=e,i):c},i.response=function(e){return r=e,i},[\"get\",\"post\"].forEach((function(e){i[e]=function(){return i.send.apply(i,[e].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&\"function\"==typeof n&&(a=n,n=null),u.open(r,e,!0),null==t||\"accept\"in l||(l.accept=t+\",*/*\"),u.setRequestHeader)for(var s in l)u.setRequestHeader(s,l[s]);return null!=t&&u.overrideMimeType&&u.overrideMimeType(t),null!=c&&(u.responseType=c),null!=a&&i.on(\"error\",a).on(\"load\",(function(e){a(null,e)})),o.beforesend.call(i,u),u.send(null==n?null:n),i},i.abort=function(){return u.abort(),i},a.rebind(i,o,\"on\"),null==n?i:i.get(function(e){return 1===e.length?function(t,r){e(null==t?r:null)}:e}(n))}vt.forEach((function(e,t){vt.set(e,ot(t))})),a.functor=gt,a.xhr=mt(z),a.dsv=function(e,t){var r=new RegExp('[\"'+e+\"\\n]\"),n=e.charCodeAt(0);function i(e,r,n){arguments.length<3&&(n=r,r=null);var i=yt(e,t,null==r?a:o(r),n);return i.row=function(e){return arguments.length?i.response(null==(r=e)?a:o(e)):r},i}function a(e){return i.parse(e.responseText)}function o(e){return function(t){return i.parse(t.responseText,e)}}function s(t){return t.map(l).join(e)}function l(e){return r.test(e)?'\"'+e.replace(/\\\"/g,'\"\"')+'\"':e}return i.parse=function(e,t){var r;return i.parseRows(e,(function(e,n){if(r)return r(e,n-1);var i=function(t){for(var r={},n=e.length,i=0;i<n;++i)r[e[i]]=t[i];return r};r=t?function(e,r){return t(i(e),r)}:i}))},i.parseRows=function(e,t){var r,i,a={},o={},s=[],l=e.length,u=0,c=0;function f(){if(u>=l)return o;if(i)return i=!1,a;var t=u;if(34===e.charCodeAt(t)){for(var r=t;r++<l;)if(34===e.charCodeAt(r)){if(34!==e.charCodeAt(r+1))break;++r}return u=r+2,13===(s=e.charCodeAt(r+1))?(i=!0,10===e.charCodeAt(r+2)&&++u):10===s&&(i=!0),e.slice(t+1,r).replace(/\"\"/g,'\"')}for(;u<l;){var s,c=1;if(10===(s=e.charCodeAt(u++)))i=!0;else if(13===s)i=!0,10===e.charCodeAt(u)&&(++u,++c);else if(s!==n)continue;return e.slice(t,u-c)}return e.slice(t)}for(;(r=f())!==o;){for(var h=[];r!==a&&r!==o;)h.push(r),r=f();t&&null==(h=t(h,c++))||s.push(h)}return s},i.format=function(t){if(Array.isArray(t[0]))return i.formatRows(t);var r=new D,n=[];return t.forEach((function(e){for(var t in e)r.has(t)||n.push(r.add(t))})),[n.map(l).join(e)].concat(t.map((function(t){return n.map((function(e){return l(t[e])})).join(e)}))).join(\"\\n\")},i.formatRows=function(e){return e.map(s).join(\"\\n\")},i},a.csv=a.dsv(\",\",\"text/csv\"),a.tsv=a.dsv(\"\\t\",\"text/tab-separated-values\");var xt,bt,_t,wt,kt=this[F(this,\"requestAnimationFrame\")]||function(e){setTimeout(e,17)};function Tt(e,t,r){var n=arguments.length;n<2&&(t=0),n<3&&(r=Date.now());var i={c:e,t:r+t,n:null};return bt?bt.n=i:xt=i,bt=i,_t||(wt=clearTimeout(wt),_t=1,kt(Mt)),i}function Mt(){var e=At(),t=St()-e;t>24?(isFinite(t)&&(clearTimeout(wt),wt=setTimeout(Mt,t)),_t=0):(_t=1,kt(Mt))}function At(){for(var e=Date.now(),t=xt;t;)e>=t.t&&t.c(e-t.t)&&(t.c=null),t=t.n;return e}function St(){for(var e,t=xt,r=1/0;t;)t.c?(t.t<r&&(r=t.t),t=(e=t).n):t=e?e.n=t.n:xt=t.n;return bt=e,r}function Et(e){return e[0]}function Ct(e){return e[1]}function Lt(e){for(var t,r,n,i=e.length,a=[0,1],o=2,s=2;s<i;s++){for(;o>1&&(t=e[a[o-2]],r=e[a[o-1]],n=e[s],(r[0]-t[0])*(n[1]-t[1])-(r[1]-t[1])*(n[0]-t[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Pt(e,t){return e[0]-t[0]||e[1]-t[1]}a.timer=function(){Tt.apply(this,arguments)},a.timer.flush=function(){At(),St()},a.round=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},a.geom={},a.geom.hull=function(e){var t=Et,r=Ct;if(arguments.length)return n(e);function n(e){if(e.length<3)return[];var n,i=gt(t),a=gt(r),o=e.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,e[n],n),+a.call(this,e[n],n),n]);for(s.sort(Pt),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var u=Lt(s),c=Lt(l),f=c[0]===u[0],h=c[c.length-1]===u[u.length-1],p=[];for(n=u.length-1;n>=0;--n)p.push(e[s[u[n]][2]]);for(n=+f;n<c.length-h;++n)p.push(e[s[c[n]][2]]);return p}return n.x=function(e){return arguments.length?(t=e,n):t},n.y=function(e){return arguments.length?(r=e,n):r},n},a.geom.polygon=function(e){return Y(e,Ot),e};var Ot=a.geom.polygon.prototype=[];function It(e,t,r){return(r[0]-t[0])*(e[1]-t[1])<(r[1]-t[1])*(e[0]-t[0])}function Dt(e,t,r,n){var i=e[0],a=r[0],o=t[0]-i,s=n[0]-a,l=e[1],u=r[1],c=t[1]-l,f=n[1]-u,h=(s*(l-u)-f*(i-a))/(f*o-s*c);return[i+h*o,l+h*c]}function zt(e){var t=e[0],r=e[e.length-1];return!(t[0]-r[0]||t[1]-r[1])}Ot.area=function(){for(var e,t=-1,r=this.length,n=this[r-1],i=0;++t<r;)e=n,n=this[t],i+=e[1]*n[0]-e[0]*n[1];return.5*i},Ot.centroid=function(e){var t,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(e=-1/(6*this.area()));++n<i;)t=s,s=this[n],r=t[0]*s[1]-s[0]*t[1],a+=(t[0]+s[0])*r,o+=(t[1]+s[1])*r;return[a*e,o*e]},Ot.clip=function(e){for(var t,r,n,i,a,o,s=zt(e),l=-1,u=this.length-zt(this),c=this[u-1];++l<u;){for(t=e.slice(),e.length=0,i=this[l],a=t[(n=t.length-s)-1],r=-1;++r<n;)It(o=t[r],c,i)?(It(a,c,i)||e.push(Dt(a,o,c,i)),e.push(o)):It(a,c,i)&&e.push(Dt(a,o,c,i)),a=o;s&&e.push(e[0]),c=i}return e};var Rt,Ft,Bt,Nt,jt,Ut=[],Vt=[];function Ht(){sr(this),this.edge=this.site=this.circle=null}function qt(e){var t=Ut.pop()||new Ht;return t.site=e,t}function Gt(e){er(e),Bt.remove(e),Ut.push(e),sr(e)}function Yt(e){var t=e.circle,r=t.x,n=t.cy,i={x:r,y:n},a=e.P,o=e.N,s=[e];Gt(e);for(var l=a;l.circle&&w(r-l.circle.x)<Ee&&w(n-l.circle.cy)<Ee;)a=l.P,s.unshift(l),Gt(l),l=a;s.unshift(l),er(l);for(var u=o;u.circle&&w(r-u.circle.x)<Ee&&w(n-u.circle.cy)<Ee;)o=u.N,s.push(u),Gt(u),u=o;s.push(u),er(u);var c,f=s.length;for(c=1;c<f;++c)u=s[c],l=s[c-1],ir(u.edge,l.site,u.site,i);l=s[0],(u=s[f-1]).edge=nr(l.site,u.site,null,i),Qt(l),Qt(u)}function Wt(e){for(var t,r,n,i,a=e.x,o=e.y,s=Bt._;s;)if((n=Zt(s,o)-a)>Ee)s=s.L;else{if(!((i=a-Xt(s,o))>Ee)){n>-Ee?(t=s.P,r=s):i>-Ee?(t=s,r=s.N):t=r=s;break}if(!s.R){t=s;break}s=s.R}var l=qt(e);if(Bt.insert(t,l),t||r){if(t===r)return er(t),r=qt(t.site),Bt.insert(l,r),l.edge=r.edge=nr(t.site,l.site),Qt(t),void Qt(r);if(r){er(t),er(r);var u=t.site,c=u.x,f=u.y,h=e.x-c,p=e.y-f,d=r.site,v=d.x-c,g=d.y-f,m=2*(h*g-p*v),y=h*h+p*p,x=v*v+g*g,b={x:(g*y-p*x)/m+c,y:(h*x-v*y)/m+f};ir(r.edge,u,d,b),l.edge=nr(u,e,null,b),r.edge=nr(e,d,null,b),Qt(t),Qt(r)}else l.edge=nr(t.site,l.site)}}function Zt(e,t){var r=e.site,n=r.x,i=r.y,a=i-t;if(!a)return n;var o=e.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,u=l-t;if(!u)return s;var c=s-n,f=1/a-1/u,h=c/u;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+i-a/2)))/f+n:(n+s)/2}function Xt(e,t){var r=e.N;if(r)return Zt(r,t);var n=e.site;return n.y===t?n.x:1/0}function Kt(e){this.site=e,this.edges=[]}function Jt(e,t){return t.angle-e.angle}function $t(){sr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Qt(e){var t=e.P,r=e.N;if(t&&r){var n=t.site,i=e.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,f=2*(l*(g=a.y-s)-u*c);if(!(f>=-Ce)){var h=l*l+u*u,p=c*c+g*g,d=(g*h-u*p)/f,v=(l*p-c*h)/f,g=v+s,m=Vt.pop()||new $t;m.arc=e,m.site=i,m.x=d+o,m.y=g+Math.sqrt(d*d+v*v),m.cy=g,e.circle=m;for(var y=null,x=jt._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}jt.insert(y,m),y||(Nt=m)}}}}function er(e){var t=e.circle;t&&(t.P||(Nt=t.N),jt.remove(t),Vt.push(t),sr(t),e.circle=null)}function tr(e,t){var r=e.b;if(r)return!0;var n,i,a=e.a,o=t[0][0],s=t[1][0],l=t[0][1],u=t[1][1],c=e.l,f=e.r,h=c.x,p=c.y,d=f.x,v=f.y,g=(h+d)/2,m=(p+v)/2;if(v===p){if(g<o||g>=s)return;if(h>d){if(a){if(a.y>=u)return}else a={x:g,y:l};r={x:g,y:u}}else{if(a){if(a.y<l)return}else a={x:g,y:u};r={x:g,y:l}}}else if(i=m-(n=(h-d)/(v-p))*g,n<-1||n>1)if(h>d){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y<l)return}else a={x:(u-i)/n,y:u};r={x:(l-i)/n,y:l}}else if(p<v){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return e.a=a,e.b=r,!0}function rr(e,t){this.l=e,this.r=t,this.a=this.b=null}function nr(e,t,r,n){var i=new rr(e,t);return Rt.push(i),r&&ir(i,e,t,r),n&&ir(i,t,e,n),Ft[e.i].edges.push(new ar(i,e,t)),Ft[t.i].edges.push(new ar(i,t,e)),i}function ir(e,t,r,n){e.a||e.b?e.l===r?e.b=n:e.a=n:(e.a=n,e.l=t,e.r=r)}function ar(e,t,r){var n=e.a,i=e.b;this.edge=e,this.site=t,this.angle=r?Math.atan2(r.y-t.y,r.x-t.x):e.l===t?Math.atan2(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function or(){this._=null}function sr(e){e.U=e.C=e.L=e.R=e.P=e.N=null}function lr(e,t){var r=t,n=t.R,i=r.U;i?i.L===r?i.L=n:i.R=n:e._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function ur(e,t){var r=t,n=t.L,i=r.U;i?i.L===r?i.L=n:i.R=n:e._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function cr(e){for(;e.L;)e=e.L;return e}function fr(e,t){var r,n,i,a=e.sort(hr).pop();for(Rt=[],Ft=new Array(e.length),Bt=new or,jt=new or;;)if(i=Nt,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(Ft[a.i]=new Kt(a),Wt(a),r=a.x,n=a.y),a=e.pop();else{if(!i)break;Yt(i.arc)}t&&(function(e){for(var t,r,n,i,a,o=Rt,s=(r=e[0][0],n=e[0][1],i=e[1][0],a=e[1][1],function(e){var t,o=e.a,s=e.b,l=o.x,u=o.y,c=0,f=1,h=s.x-l,p=s.y-u;if(t=r-l,h||!(t>0)){if(t/=h,h<0){if(t<c)return;t<f&&(f=t)}else if(h>0){if(t>f)return;t>c&&(c=t)}if(t=i-l,h||!(t<0)){if(t/=h,h<0){if(t>f)return;t>c&&(c=t)}else if(h>0){if(t<c)return;t<f&&(f=t)}if(t=n-u,p||!(t>0)){if(t/=p,p<0){if(t<c)return;t<f&&(f=t)}else if(p>0){if(t>f)return;t>c&&(c=t)}if(t=a-u,p||!(t<0)){if(t/=p,p<0){if(t>f)return;t>c&&(c=t)}else if(p>0){if(t<c)return;t<f&&(f=t)}return c>0&&(e.a={x:l+c*h,y:u+c*p}),f<1&&(e.b={x:l+f*h,y:u+f*p}),e}}}}}),l=o.length;l--;)(!tr(t=o[l],e)||!s(t)||w(t.a.x-t.b.x)<Ee&&w(t.a.y-t.b.y)<Ee)&&(t.a=t.b=null,o.splice(l,1))}(t),function(e){for(var t,r,n,i,a,o,s,l,u,c,f=e[0][0],h=e[1][0],p=e[0][1],d=e[1][1],v=Ft,g=v.length;g--;)if((a=v[g])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(c=s[o].end()).x,i=c.y,t=(u=s[++o%l].start()).x,r=u.y,(w(n-t)>Ee||w(i-r)>Ee)&&(s.splice(o,0,new ar((m=a.site,y=c,x=w(n-f)<Ee&&d-i>Ee?{x:f,y:w(t-f)<Ee?r:d}:w(i-d)<Ee&&h-n>Ee?{x:w(r-d)<Ee?t:h,y:d}:w(n-h)<Ee&&i-p>Ee?{x:h,y:w(t-h)<Ee?r:p}:w(i-p)<Ee&&n-f>Ee?{x:w(r-p)<Ee?t:f,y:p}:null,b=void 0,(b=new rr(m,null)).a=y,b.b=x,Rt.push(b),b),a.site,null)),++l);var m,y,x,b}(t));var o={cells:Ft,edges:Rt};return Bt=jt=Rt=Ft=null,o}function hr(e,t){return t.y-e.y||t.x-e.x}Kt.prototype.prepare=function(){for(var e,t=this.edges,r=t.length;r--;)(e=t[r].edge).b&&e.a||t.splice(r,1);return t.sort(Jt),t.length},ar.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},or.prototype={insert:function(e,t){var r,n,i;if(e){if(t.P=e,t.N=e.N,e.N&&(e.N.P=t),e.N=t,e.R){for(e=e.R;e.L;)e=e.L;e.L=t}else e.R=t;r=e}else this._?(e=cr(this._),t.P=null,t.N=e,e.P=e.L=t,r=e):(t.P=t.N=null,this._=t,r=null);for(t.L=t.R=null,t.U=r,t.C=!0,e=t;r&&r.C;)r===(n=r.U).L?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,e=n):(e===r.R&&(lr(this,r),r=(e=r).U),r.C=!1,n.C=!0,ur(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,e=n):(e===r.L&&(ur(this,r),r=(e=r).U),r.C=!1,n.C=!0,lr(this,n)),r=e.U;this._.C=!1},remove:function(e){e.N&&(e.N.P=e.P),e.P&&(e.P.N=e.N),e.N=e.P=null;var t,r,n,i=e.U,a=e.L,o=e.R;if(r=a?o?cr(o):a:o,i?i.L===e?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=e.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=e.U,e=r.R,i.L=e,r.R=o,o.U=r):(r.U=i,i=r,e=r.R)):(n=e.C,e=r),e&&(e.U=i),!n)if(e&&e.C)e.C=!1;else{do{if(e===this._)break;if(e===i.L){if((t=i.R).C&&(t.C=!1,i.C=!0,lr(this,i),t=i.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,ur(this,t),t=i.R),t.C=i.C,i.C=t.R.C=!1,lr(this,i),e=this._;break}}else if((t=i.L).C&&(t.C=!1,i.C=!0,ur(this,i),t=i.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,lr(this,t),t=i.L),t.C=i.C,i.C=t.L.C=!1,ur(this,i),e=this._;break}t.C=!0,e=i,i=i.U}while(!e.C);e&&(e.C=!1)}}},a.geom.voronoi=function(e){var t=Et,r=Ct,n=t,i=r,a=pr;if(e)return o(e);function o(e){var t=new Array(e.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return fr(s(e),a).cells.forEach((function(a,s){var l=a.edges,u=a.site;(t[s]=l.length?l.map((function(e){var t=e.start();return[t.x,t.y]})):u.x>=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=e[s]})),t}function s(e){return e.map((function(e,t){return{x:Math.round(n(e,t)/Ee)*Ee,y:Math.round(i(e,t)/Ee)*Ee,i:t}}))}return o.links=function(e){return fr(s(e)).edges.filter((function(e){return e.l&&e.r})).map((function(t){return{source:e[t.l.i],target:e[t.r.i]}}))},o.triangles=function(e){var t=[];return fr(s(e)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(Jt),c=-1,f=u.length,h=u[f-1].edge,p=h.l===l?h.r:h.l;++c<f;)i=p,p=(h=u[c].edge).l===l?h.r:h.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&t.push([e[n],e[i.i],e[p.i]])})),t},o.x=function(e){return arguments.length?(n=gt(t=e),o):t},o.y=function(e){return arguments.length?(i=gt(r=e),o):r},o.clipExtent=function(e){return arguments.length?(a=null==e?pr:e,o):a===pr?null:a},o.size=function(e){return arguments.length?o.clipExtent(e&&[[0,0],e]):a===pr?null:a&&a[1]},o};var pr=[[-1e6,-1e6],[1e6,1e6]];function dr(e){return e.x}function vr(e){return e.y}function gr(e,t,r,n,i,a){if(!e(t,r,n,i,a)){var o=.5*(r+i),s=.5*(n+a),l=t.nodes;l[0]&&gr(e,l[0],r,n,o,s),l[1]&&gr(e,l[1],o,n,i,s),l[2]&&gr(e,l[2],r,s,o,a),l[3]&&gr(e,l[3],o,s,i,a)}}function mr(e,t){e=a.rgb(e),t=a.rgb(t);var r=e.r,n=e.g,i=e.b,o=t.r-r,s=t.g-n,l=t.b-i;return function(e){return\"#\"+ut(Math.round(r+o*e))+ut(Math.round(n+s*e))+ut(Math.round(i+l*e))}}function yr(e,t){var r,n={},i={};for(r in e)r in t?n[r]=kr(e[r],t[r]):i[r]=e[r];for(r in t)r in e||(i[r]=t[r]);return function(e){for(r in n)i[r]=n[r](e);return i}}function xr(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}function br(e,t){var r,n,i,a=_r.lastIndex=wr.lastIndex=0,o=-1,s=[],l=[];for(e+=\"\",t+=\"\";(r=_r.exec(e))&&(n=wr.exec(t));)(i=n.index)>a&&(i=t.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:xr(r,n)})),a=wr.lastIndex;return a<t.length&&(i=t.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?(t=l[0].x,function(e){return t(e)+\"\"}):function(){return t}:(t=l.length,function(e){for(var r,n=0;n<t;++n)s[(r=l[n]).i]=r.x(e);return s.join(\"\")})}a.geom.delaunay=function(e){return a.geom.voronoi().triangles(e)},a.geom.quadtree=function(e,t,r,n,i){var a,o=Et,s=Ct;if(a=arguments.length)return o=dr,s=vr,3===a&&(i=r,n=t,r=t=0),l(e);function l(e){var l,u,c,f,h,p,d,v,g,m=gt(o),y=gt(s);if(null!=t)p=t,d=r,v=n,g=i;else if(v=g=-(p=d=1/0),u=[],c=[],h=e.length,a)for(f=0;f<h;++f)(l=e[f]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>v&&(v=l.x),l.y>g&&(g=l.y),u.push(l.x),c.push(l.y);else for(f=0;f<h;++f){var x=+m(l=e[f],f),b=+y(l,f);x<p&&(p=x),b<d&&(d=b),x>v&&(v=x),b>g&&(g=b),u.push(x),c.push(b)}var _=v-p,k=g-d;function T(e,t,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(e.leaf){var l=e.x,u=e.y;if(null!=l)if(w(l-r)+w(u-n)<.01)M(e,t,r,n,i,a,o,s);else{var c=e.point;e.x=e.y=e.point=null,M(e,c,l,u,i,a,o,s),M(e,t,r,n,i,a,o,s)}else e.x=r,e.y=n,e.point=t}else M(e,t,r,n,i,a,o,s)}function M(e,t,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,f=n>=u,h=f<<1|c;e.leaf=!1,c?i=l:o=l,f?a=u:s=u,T(e=e.nodes[h]||(e.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),t,r,n,i,a,o,s)}_>k?g=d+_:v=p+k;var A={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(e){T(A,e,+m(e,++f),+y(e,f),p,d,v,g)},visit:function(e){gr(e,A,p,d,v,g)},find:function(e){return function(e,t,r,n,i,a,o){var s,l=1/0;return function e(u,c,f,h,p){if(!(c>a||f>o||h<n||p<i)){if(d=u.point){var d,v=t-u.x,g=r-u.y,m=v*v+g*g;if(m<l){var y=Math.sqrt(l=m);n=t-y,i=r-y,a=t+y,o=r+y,s=d}}for(var x=u.nodes,b=.5*(c+h),_=.5*(f+p),w=(r>=_)<<1|t>=b,k=w+4;w<k;++w)if(u=x[3&w])switch(3&w){case 0:e(u,c,f,b,_);break;case 1:e(u,b,f,h,_);break;case 2:e(u,c,_,b,p);break;case 3:e(u,b,_,h,p)}}}(e,n,i,a,o),s}(A,e[0],e[1],p,d,v,g)}};if(f=-1,null==t){for(;++f<h;)T(A,e[f],u[f],c[f],p,d,v,g);--f}else e.forEach(A.add);return u=c=e=l=null,A}return l.x=function(e){return arguments.length?(o=e,l):o},l.y=function(e){return arguments.length?(s=e,l):s},l.extent=function(e){return arguments.length?(null==e?t=r=n=i=null:(t=+e[0][0],r=+e[0][1],n=+e[1][0],i=+e[1][1]),l):null==t?null:[[t,r],[n,i]]},l.size=function(e){return arguments.length?(null==e?t=r=n=i=null:(t=r=0,n=+e[0],i=+e[1]),l):null==t?null:[n-t,i-r]},l},a.interpolateRgb=mr,a.interpolateObject=yr,a.interpolateNumber=xr,a.interpolateString=br;var _r=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,wr=new RegExp(_r.source,\"g\");function kr(e,t){for(var r,n=a.interpolators.length;--n>=0&&!(r=a.interpolators[n](e,t)););return r}function Tr(e,t){var r,n=[],i=[],a=e.length,o=t.length,s=Math.min(e.length,t.length);for(r=0;r<s;++r)n.push(kr(e[r],t[r]));for(;r<a;++r)i[r]=e[r];for(;r<o;++r)i[r]=t[r];return function(e){for(r=0;r<s;++r)i[r]=n[r](e);return i}}a.interpolate=kr,a.interpolators=[function(e,t){var r=typeof t;return(\"string\"===r?vt.has(t.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(t)?mr:br:t instanceof Ve?mr:Array.isArray(t)?Tr:\"object\"===r&&isNaN(t)?yr:xr)(e,t)}],a.interpolateArray=Tr;var Mr=function(){return z},Ar=a.map({linear:Mr,poly:function(e){return function(t){return Math.pow(t,e)}},quad:function(){return Lr},cubic:function(){return Pr},sin:function(){return Ir},exp:function(){return Dr},circle:function(){return zr},elastic:function(e,t){var r;return arguments.length<2&&(t=.45),arguments.length?r=t/Pe*Math.asin(1/e):(e=1,r=t/4),function(n){return 1+e*Math.pow(2,-10*n)*Math.sin((n-r)*Pe/t)}},back:function(e){return e||(e=1.70158),function(t){return t*t*((e+1)*t-e)}},bounce:function(){return Rr}}),Sr=a.map({in:z,out:Er,\"in-out\":Cr,\"out-in\":function(e){return Cr(Er(e))}});function Er(e){return function(t){return 1-e(1-t)}}function Cr(e){return function(t){return.5*(t<.5?e(2*t):2-e(2-2*t))}}function Lr(e){return e*e}function Pr(e){return e*e*e}function Or(e){if(e<=0)return 0;if(e>=1)return 1;var t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}function Ir(e){return 1-Math.cos(e*Ie)}function Dr(e){return Math.pow(2,10*(e-1))}function zr(e){return 1-Math.sqrt(1-e*e)}function Rr(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375}function Fr(e,t){return t-=e,function(r){return Math.round(e+t*r)}}function Br(e){var t,r,n,i=[e.a,e.b],a=[e.c,e.d],o=jr(i),s=Nr(i,a),l=jr(((t=a)[0]+=(n=-s)*(r=i)[0],t[1]+=n*r[1],t))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*ze,this.translate=[e.e,e.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*ze:0}function Nr(e,t){return e[0]*t[0]+e[1]*t[1]}function jr(e){var t=Math.sqrt(Nr(e,e));return t&&(e[0]/=t,e[1]/=t),t}a.ease=function(e){var t,r=e.indexOf(\"-\"),n=r>=0?e.slice(0,r):e,i=r>=0?e.slice(r+1):\"in\";return n=Ar.get(n)||Mr,i=Sr.get(i)||z,t=i(n.apply(null,o.call(arguments,1))),function(e){return e<=0?0:e>=1?1:t(e)}},a.interpolateHcl=function(e,t){e=a.hcl(e),t=a.hcl(t);var r=e.h,n=e.c,i=e.l,o=t.h-r,s=t.c-n,l=t.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?t.c:n),isNaN(o)?(o=0,r=isNaN(r)?t.h:r):o>180?o-=360:o<-180&&(o+=360),function(e){return Ze(r+o*e,n+s*e,i+l*e)+\"\"}},a.interpolateHsl=function(e,t){e=a.hsl(e),t=a.hsl(t);var r=e.h,n=e.s,i=e.l,o=t.h-r,s=t.s-n,l=t.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?t.s:n),isNaN(o)?(o=0,r=isNaN(r)?t.h:r):o>180?o-=360:o<-180&&(o+=360),function(e){return Ge(r+o*e,n+s*e,i+l*e)+\"\"}},a.interpolateLab=function(e,t){e=a.lab(e),t=a.lab(t);var r=e.l,n=e.a,i=e.b,o=t.l-r,s=t.a-n,l=t.b-i;return function(e){return tt(r+o*e,n+s*e,i+l*e)+\"\"}},a.interpolateRound=Fr,a.transform=function(e){var t=l.createElementNS(a.ns.prefix.svg,\"g\");return(a.transform=function(e){if(null!=e){t.setAttribute(\"transform\",e);var r=t.transform.baseVal.consolidate()}return new Br(r?r.matrix:Ur)})(e)},Br.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var Ur={a:1,b:0,c:0,d:1,e:0,f:0};function Vr(e){return e.length?e.pop()+\",\":\"\"}function Hr(e,t){var r=[],n=[];return e=a.transform(e),t=a.transform(t),function(e,t,r,n){if(e[0]!==t[0]||e[1]!==t[1]){var i=r.push(\"translate(\",null,\",\",null,\")\");n.push({i:i-4,x:xr(e[0],t[0])},{i:i-2,x:xr(e[1],t[1])})}else(t[0]||t[1])&&r.push(\"translate(\"+t+\")\")}(e.translate,t.translate,r,n),function(e,t,r,n){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),n.push({i:r.push(Vr(r)+\"rotate(\",null,\")\")-2,x:xr(e,t)})):t&&r.push(Vr(r)+\"rotate(\"+t+\")\")}(e.rotate,t.rotate,r,n),function(e,t,r,n){e!==t?n.push({i:r.push(Vr(r)+\"skewX(\",null,\")\")-2,x:xr(e,t)}):t&&r.push(Vr(r)+\"skewX(\"+t+\")\")}(e.skew,t.skew,r,n),function(e,t,r,n){if(e[0]!==t[0]||e[1]!==t[1]){var i=r.push(Vr(r)+\"scale(\",null,\",\",null,\")\");n.push({i:i-4,x:xr(e[0],t[0])},{i:i-2,x:xr(e[1],t[1])})}else 1===t[0]&&1===t[1]||r.push(Vr(r)+\"scale(\"+t+\")\")}(e.scale,t.scale,r,n),e=t=null,function(e){for(var t,i=-1,a=n.length;++i<a;)r[(t=n[i]).i]=t.x(e);return r.join(\"\")}}function qr(e,t){return t=(t-=e=+e)||1/t,function(r){return(r-e)/t}}function Gr(e,t){return t=(t-=e=+e)||1/t,function(r){return Math.max(0,Math.min(1,(r-e)/t))}}function Yr(e){for(var t=e.source,r=e.target,n=function(e,t){if(e===t)return e;for(var r=Wr(e),n=Wr(t),i=r.pop(),a=n.pop(),o=null;i===a;)o=i,i=r.pop(),a=n.pop();return o}(t,r),i=[t];t!==n;)t=t.parent,i.push(t);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function Wr(e){for(var t=[],r=e.parent;null!=r;)t.push(e),e=r,r=r.parent;return t.push(e),t}function Zr(e){e.fixed|=2}function Xr(e){e.fixed&=-7}function Kr(e){e.fixed|=4,e.px=e.x,e.py=e.y}function Jr(e){e.fixed&=-5}function $r(e,t,r){var n=0,i=0;if(e.charge=0,!e.leaf)for(var a,o=e.nodes,s=o.length,l=-1;++l<s;)null!=(a=o[l])&&($r(a,t,r),e.charge+=a.charge,n+=a.charge*a.cx,i+=a.charge*a.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var u=t*r[e.point.index];e.charge+=e.pointCharge=u,n+=u*e.point.x,i+=u*e.point.y}e.cx=n/e.charge,e.cy=i/e.charge}a.interpolateTransform=Hr,a.layout={},a.layout.bundle=function(){return function(e){for(var t=[],r=-1,n=e.length;++r<n;)t.push(Yr(e[r]));return t}},a.layout.chord=function(){var e,t,r,n,i,o,s,l={},u=0;function c(){var l,c,h,p,d,v={},g=[],m=a.range(n),y=[];for(e=[],t=[],l=0,p=-1;++p<n;){for(c=0,d=-1;++d<n;)c+=r[p][d];g.push(c),y.push(a.range(n)),l+=c}for(i&&m.sort((function(e,t){return i(g[e],g[t])})),o&&y.forEach((function(e,t){e.sort((function(e,n){return o(r[t][e],r[t][n])}))})),l=(Pe-u*n)/l,c=0,p=-1;++p<n;){for(h=c,d=-1;++d<n;){var x=m[p],b=y[x][d],_=r[x][b],w=c,k=c+=_*l;v[x+\"-\"+b]={index:x,subindex:b,startAngle:w,endAngle:k,value:_}}t[x]={index:x,startAngle:h,endAngle:c,value:g[x]},c+=u}for(p=-1;++p<n;)for(d=p-1;++d<n;){var T=v[p+\"-\"+d],M=v[d+\"-\"+p];(T.value||M.value)&&e.push(T.value<M.value?{source:M,target:T}:{source:T,target:M})}s&&f()}function f(){e.sort((function(e,t){return s((e.source.value+e.target.value)/2,(t.source.value+t.target.value)/2)}))}return l.matrix=function(i){return arguments.length?(n=(r=i)&&r.length,e=t=null,l):r},l.padding=function(r){return arguments.length?(u=r,e=t=null,l):u},l.sortGroups=function(r){return arguments.length?(i=r,e=t=null,l):i},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&f(),l):s},l.chords=function(){return e||c(),e},l.groups=function(){return t||c(),t},l},a.layout.force=function(){var e,t,r,n,i,o,s={},l=a.dispatch(\"start\",\"tick\",\"end\"),u=[1,1],c=.9,f=Qr,h=en,p=-30,d=tn,v=.1,g=.64,m=[],y=[];function x(e){return function(t,r,n,i){if(t.point!==e){var a=t.cx-e.x,o=t.cy-e.y,s=i-r,l=a*a+o*o;if(s*s/g<l){if(l<d){var u=t.charge/l;e.px-=a*u,e.py-=o*u}return!0}t.point&&l&&l<d&&(u=t.pointCharge/l,e.px-=a*u,e.py-=o*u)}return!t.charge}}function b(e){e.px=a.event.x,e.py=a.event.y,s.resume()}return s.tick=function(){if((r*=.99)<.005)return e=null,l.end({type:\"end\",alpha:r=0}),!0;var t,s,f,h,d,g,b,_,w,k=m.length,T=y.length;for(s=0;s<T;++s)h=(f=y[s]).source,(g=(_=(d=f.target).x-h.x)*_+(w=d.y-h.y)*w)&&(_*=g=r*i[s]*((g=Math.sqrt(g))-n[s])/g,w*=g,d.x-=_*(b=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=w*b,h.x+=_*(b=1-b),h.y+=w*b);if((b=r*v)&&(_=u[0]/2,w=u[1]/2,s=-1,b))for(;++s<k;)(f=m[s]).x+=(_-f.x)*b,f.y+=(w-f.y)*b;if(p)for($r(t=a.geom.quadtree(m),r,o),s=-1;++s<k;)(f=m[s]).fixed||t.visit(x(f));for(s=-1;++s<k;)(f=m[s]).fixed?(f.x=f.px,f.y=f.py):(f.x-=(f.px-(f.px=f.x))*c,f.y-=(f.py-(f.py=f.y))*c);l.tick({type:\"tick\",alpha:r})},s.nodes=function(e){return arguments.length?(m=e,s):m},s.links=function(e){return arguments.length?(y=e,s):y},s.size=function(e){return arguments.length?(u=e,s):u},s.linkDistance=function(e){return arguments.length?(f=\"function\"==typeof e?e:+e,s):f},s.distance=s.linkDistance,s.linkStrength=function(e){return arguments.length?(h=\"function\"==typeof e?e:+e,s):h},s.friction=function(e){return arguments.length?(c=+e,s):c},s.charge=function(e){return arguments.length?(p=\"function\"==typeof e?e:+e,s):p},s.chargeDistance=function(e){return arguments.length?(d=e*e,s):Math.sqrt(d)},s.gravity=function(e){return arguments.length?(v=+e,s):v},s.theta=function(e){return arguments.length?(g=e*e,s):Math.sqrt(g)},s.alpha=function(t){return arguments.length?(t=+t,r?t>0?r=t:(e.c=null,e.t=NaN,e=null,l.end({type:\"end\",alpha:r=0})):t>0&&(l.start({type:\"start\",alpha:r=t}),e=Tt(s.tick)),s):r},s.start=function(){var e,t,r,a=m.length,l=y.length,c=u[0],d=u[1];for(e=0;e<a;++e)(r=m[e]).index=e,r.weight=0;for(e=0;e<l;++e)\"number\"==typeof(r=y[e]).source&&(r.source=m[r.source]),\"number\"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(e=0;e<a;++e)r=m[e],isNaN(r.x)&&(r.x=v(\"x\",c)),isNaN(r.y)&&(r.y=v(\"y\",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(n=[],\"function\"==typeof f)for(e=0;e<l;++e)n[e]=+f.call(this,y[e],e);else for(e=0;e<l;++e)n[e]=f;if(i=[],\"function\"==typeof h)for(e=0;e<l;++e)i[e]=+h.call(this,y[e],e);else for(e=0;e<l;++e)i[e]=h;if(o=[],\"function\"==typeof p)for(e=0;e<a;++e)o[e]=+p.call(this,m[e],e);else for(e=0;e<a;++e)o[e]=p;function v(r,n){if(!t){for(t=new Array(a),u=0;u<a;++u)t[u]=[];for(u=0;u<l;++u){var i=y[u];t[i.source.index].push(i.target),t[i.target.index].push(i.source)}}for(var o,s=t[e],u=-1,c=s.length;++u<c;)if(!isNaN(o=s[u][r]))return o;return Math.random()*n}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(t||(t=a.behavior.drag().origin(z).on(\"dragstart.force\",Zr).on(\"drag.force\",b).on(\"dragend.force\",Xr)),!arguments.length)return t;this.on(\"mouseover.force\",Kr).on(\"mouseout.force\",Jr).call(t)},a.rebind(s,l,\"on\")};var Qr=20,en=1,tn=1/0;function rn(e,t){return a.rebind(e,t,\"sort\",\"children\",\"value\"),e.nodes=e,e.links=un,e}function nn(e,t){for(var r=[e];null!=(e=r.pop());)if(t(e),(i=e.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function an(e,t){for(var r=[e],n=[];null!=(e=r.pop());)if(n.push(e),(a=e.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(e=n.pop());)t(e)}function on(e){return e.children}function sn(e){return e.value}function ln(e,t){return t.value-e.value}function un(e){return a.merge(e.map((function(e){return(e.children||[]).map((function(t){return{source:e,target:t}}))})))}a.layout.hierarchy=function(){var e=ln,t=on,r=sn;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(u=t.call(n,a,a.depth))&&(l=u.length)){for(var l,u,c;--l>=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return an(i,(function(t){var n,i;e&&(n=t.children)&&n.sort(e),r&&(i=t.parent)&&(i.value+=t.value)})),s}return n.sort=function(t){return arguments.length?(e=t,n):e},n.children=function(e){return arguments.length?(t=e,n):t},n.value=function(e){return arguments.length?(r=e,n):r},n.revalue=function(e){return r&&(nn(e,(function(e){e.children&&(e.value=0)})),an(e,(function(e){var t;e.children||(e.value=+r.call(n,e,e.depth)||0),(t=e.parent)&&(t.value+=e.value)}))),e},n},a.layout.partition=function(){var e=a.layout.hierarchy(),t=[1,1];function r(e,t,n,i){var a=e.children;if(e.x=t,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=e.value?n/e.value:0;++u<o;)r(s=a[u],t,l=s.value*n,i),t+=l}}function n(e){var t=e.children,r=0;if(t&&(i=t.length))for(var i,a=-1;++a<i;)r=Math.max(r,n(t[a]));return 1+r}function i(i,a){var o=e.call(this,i,a);return r(o[0],0,t[0],t[1]/n(o[0])),o}return i.size=function(e){return arguments.length?(t=e,i):t},rn(i,e)},a.layout.pie=function(){var e=Number,t=cn,r=0,n=Pe,i=0;function o(s){var l,u=s.length,c=s.map((function(t,r){return+e.call(o,t,r)})),f=+(\"function\"==typeof r?r.apply(this,arguments):r),h=(\"function\"==typeof n?n.apply(this,arguments):n)-f,p=Math.min(Math.abs(h)/u,+(\"function\"==typeof i?i.apply(this,arguments):i)),d=p*(h<0?-1:1),v=a.sum(c),g=v?(h-u*d)/v:0,m=a.range(u),y=[];return null!=t&&m.sort(t===cn?function(e,t){return c[t]-c[e]}:function(e,r){return t(s[e],s[r])}),m.forEach((function(e){y[e]={data:s[e],value:l=c[e],startAngle:f,endAngle:f+=l*g+d,padAngle:p}})),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(e){return arguments.length?(t=e,o):t},o.startAngle=function(e){return arguments.length?(r=e,o):r},o.endAngle=function(e){return arguments.length?(n=e,o):n},o.padAngle=function(e){return arguments.length?(i=e,o):i},o};var cn={};function fn(e){return e.x}function hn(e){return e.y}function pn(e,t,r){e.y0=t,e.y=r}a.layout.stack=function(){var e=z,t=gn,r=mn,n=pn,i=fn,o=hn;function s(l,u){if(!(p=l.length))return l;var c=l.map((function(t,r){return e.call(s,t,r)})),f=c.map((function(e){return e.map((function(e,t){return[i.call(s,e,t),o.call(s,e,t)]}))})),h=t.call(s,f,u);c=a.permute(c,h),f=a.permute(f,h);var p,d,v,g,m=r.call(s,f,u),y=c[0].length;for(v=0;v<y;++v)for(n.call(s,c[0][v],g=m[v],f[0][v][1]),d=1;d<p;++d)n.call(s,c[d][v],g+=f[d-1][v][1],f[d][v][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(e){return arguments.length?(t=\"function\"==typeof e?e:dn.get(e)||gn,s):t},s.offset=function(e){return arguments.length?(r=\"function\"==typeof e?e:vn.get(e)||mn,s):r},s.x=function(e){return arguments.length?(i=e,s):i},s.y=function(e){return arguments.length?(o=e,s):o},s.out=function(e){return arguments.length?(n=e,s):n},s};var dn=a.map({\"inside-out\":function(e){var t,r,n=e.length,i=e.map(yn),o=e.map(xn),s=a.range(n).sort((function(e,t){return i[e]-i[t]})),l=0,u=0,c=[],f=[];for(t=0;t<n;++t)r=s[t],l<u?(l+=o[r],c.push(r)):(u+=o[r],f.push(r));return f.reverse().concat(c)},reverse:function(e){return a.range(e.length).reverse()},default:gn}),vn=a.map({silhouette:function(e){var t,r,n,i=e.length,a=e[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(t=0,n=0;t<i;t++)n+=e[t][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(e){var t,r,n,i,a,o,s,l,u,c=e.length,f=e[0],h=f.length,p=[];for(p[0]=l=u=0,r=1;r<h;++r){for(t=0,i=0;t<c;++t)i+=e[t][r][1];for(t=0,a=0,s=f[r][0]-f[r-1][0];t<c;++t){for(n=0,o=(e[t][r][1]-e[t][r-1][1])/(2*s);n<t;++n)o+=(e[n][r][1]-e[n][r-1][1])/s;a+=o*e[t][r][1]}p[r]=l-=i?a/i*s:0,l<u&&(u=l)}for(r=0;r<h;++r)p[r]-=u;return p},expand:function(e){var t,r,n,i=e.length,a=e[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(t=0,n=0;t<i;t++)n+=e[t][r][1];if(n)for(t=0;t<i;t++)e[t][r][1]/=n;else for(t=0;t<i;t++)e[t][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:mn});function gn(e){return a.range(e.length)}function mn(e){for(var t=-1,r=e[0].length,n=[];++t<r;)n[t]=0;return n}function yn(e){for(var t,r=1,n=0,i=e[0][1],a=e.length;r<a;++r)(t=e[r][1])>i&&(n=r,i=t);return n}function xn(e){return e.reduce(bn,0)}function bn(e,t){return e+t[1]}function _n(e,t){return wn(e,Math.ceil(Math.log(t.length)/Math.LN2+1))}function wn(e,t){for(var r=-1,n=+e[0],i=(e[1]-n)/t,a=[];++r<=t;)a[r]=i*r+n;return a}function kn(e){return[a.min(e),a.max(e)]}function Tn(e,t){return e.value-t.value}function Mn(e,t){var r=e._pack_next;e._pack_next=t,t._pack_prev=e,t._pack_next=r,r._pack_prev=t}function An(e,t){e._pack_next=t,t._pack_prev=e}function Sn(e,t){var r=t.x-e.x,n=t.y-e.y,i=e.r+t.r;return.999*i*i>r*r+n*n}function En(e){if((t=e.children)&&(l=t.length)){var t,r,n,i,a,o,s,l,u=1/0,c=-1/0,f=1/0,h=-1/0;if(t.forEach(Cn),(r=t[0]).x=-r.r,r.y=0,x(r),l>1&&((n=t[1]).x=n.r,n.y=0,x(n),l>2))for(On(r,n,i=t[2]),x(i),Mn(r,i),r._pack_prev=i,Mn(i,n),n=r._pack_next,a=3;a<l;a++){On(r,n,i=t[a]);var p=0,d=1,v=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(Sn(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!Sn(s,i);s=s._pack_prev,v++);p?(d<v||d==v&&n.r<r.r?An(r,n=o):An(r=s,n),a--):(Mn(r,i),n=i,x(i))}var g=(u+c)/2,m=(f+h)/2,y=0;for(a=0;a<l;a++)(i=t[a]).x-=g,i.y-=m,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));e.r=y,t.forEach(Ln)}function x(e){u=Math.min(e.x-e.r,u),c=Math.max(e.x+e.r,c),f=Math.min(e.y-e.r,f),h=Math.max(e.y+e.r,h)}}function Cn(e){e._pack_next=e._pack_prev=e}function Ln(e){delete e._pack_next,delete e._pack_prev}function Pn(e,t,r,n){var i=e.children;if(e.x=t+=n*e.x,e.y=r+=n*e.y,e.r*=n,i)for(var a=-1,o=i.length;++a<o;)Pn(i[a],t,r,n)}function On(e,t,r){var n=e.r+r.r,i=t.x-e.x,a=t.y-e.y;if(n&&(i||a)){var o=t.r+r.r,s=i*i+a*a,l=.5+((n*=n)-(o*=o))/(2*s),u=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=e.x+l*i+u*a,r.y=e.y+l*a-u*i}else r.x=e.x+n,r.y=e.y}function In(e,t){return e.parent==t.parent?1:2}function Dn(e){var t=e.children;return t.length?t[0]:e.t}function zn(e){var t,r=e.children;return(t=r.length)?r[t-1]:e.t}function Rn(e,t,r){var n=r/(t.i-e.i);t.c-=n,t.s+=r,e.c+=n,t.z+=r,t.m+=r}function Fn(e,t,r){return e.a.parent===t.parent?e.a:r}function Bn(e){var t=e.children;return t&&t.length?Bn(t[0]):e}function Nn(e){var t,r=e.children;return r&&(t=r.length)?Nn(r[t-1]):e}function jn(e){return{x:e.x,y:e.y,dx:e.dx,dy:e.dy}}function Un(e,t){var r=e.x+t[3],n=e.y+t[0],i=e.dx-t[1]-t[3],a=e.dy-t[0]-t[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function Vn(e){var t=e[0],r=e[e.length-1];return t<r?[t,r]:[r,t]}function Hn(e){return e.rangeExtent?e.rangeExtent():Vn(e.range())}function qn(e,t,r,n){var i=r(e[0],e[1]),a=n(t[0],t[1]);return function(e){return a(i(e))}}function Gn(e,t){var r,n=0,i=e.length-1,a=e[n],o=e[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),e[n]=t.floor(a),e[i]=t.ceil(o),e}function Yn(e){return e?{floor:function(t){return Math.floor(t/e)*e},ceil:function(t){return Math.ceil(t/e)*e}}:Wn}a.layout.histogram=function(){var e=!0,t=Number,r=kn,n=_n;function i(i,o){for(var s,l,u=[],c=i.map(t,this),f=r.call(this,c,o),h=n.call(this,f,c,o),p=(o=-1,c.length),d=h.length-1,v=e?1:1/p;++o<d;)(s=u[o]=[]).dx=h[o+1]-(s.x=h[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=c[o])>=f[0]&&l<=f[1]&&((s=u[a.bisect(h,l,1,d)-1]).y+=v,s.push(i[o]));return u}return i.value=function(e){return arguments.length?(t=e,i):t},i.range=function(e){return arguments.length?(r=gt(e),i):r},i.bins=function(e){return arguments.length?(n=\"number\"==typeof e?function(t){return wn(t,e)}:gt(e),i):n},i.frequency=function(t){return arguments.length?(e=!!t,i):e},i},a.layout.pack=function(){var e,t=a.layout.hierarchy().sort(Tn),r=0,n=[1,1];function i(i,a){var o=t.call(this,i,a),s=o[0],l=n[0],u=n[1],c=null==e?Math.sqrt:\"function\"==typeof e?e:function(){return e};if(s.x=s.y=0,an(s,(function(e){e.r=+c(e.value)})),an(s,En),r){var f=r*(e?1:Math.max(2*s.r/l,2*s.r/u))/2;an(s,(function(e){e.r+=f})),an(s,En),an(s,(function(e){e.r-=f}))}return Pn(s,l/2,u/2,e?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return i.size=function(e){return arguments.length?(n=e,i):n},i.radius=function(t){return arguments.length?(e=null==t||\"function\"==typeof t?t:+t,i):e},i.padding=function(e){return arguments.length?(r=+e,i):r},rn(i,t)},a.layout.tree=function(){var e=a.layout.hierarchy().sort(null).value(null),t=In,r=[1,1],n=null;function i(i,a){var u=e.call(this,i,a),c=u[0],f=function(e){for(var t,r={A:null,children:[e]},n=[r];null!=(t=n.pop());)for(var i,a=t.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:t,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}(c);if(an(f,o),f.parent.m=-f.z,nn(f,s),n)nn(c,l);else{var h=c,p=c,d=c;nn(c,(function(e){e.x<h.x&&(h=e),e.x>p.x&&(p=e),e.depth>d.depth&&(d=e)}));var v=t(h,p)/2-h.x,g=r[0]/(p.x+t(p,h)/2+v),m=r[1]/(d.depth||1);nn(c,(function(e){e.x=(e.x+v)*g,e.y=e.depth*m}))}return u}function o(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r.length){!function(e){for(var t,r=0,n=0,i=e.children,a=i.length;--a>=0;)(t=i[a]).z+=r,t.m+=r,r+=t.s+(n+=t.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=zn(s),a=Dn(a),s&&a;)l=Dn(l),(o=zn(o)).a=e,(i=s.z+f-a.z-u+t(s._,a._))>0&&(Rn(Fn(s,e,n),e,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!zn(o)&&(o.t=s,o.m+=f-c),a&&!Dn(l)&&(l.t=a,l.m+=u-h,n=e)}return n}(e,i,e.parent.A||n[0])}function s(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function l(e){e.x*=r[0],e.y=e.depth*r[1]}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(e){return arguments.length?(n=null==(r=e)?l:null,i):n?null:r},i.nodeSize=function(e){return arguments.length?(n=null==(r=e)?null:l,i):n?r:null},rn(i,e)},a.layout.cluster=function(){var e=a.layout.hierarchy().sort(null).value(null),t=In,r=[1,1],n=!1;function i(i,o){var s,l=e.call(this,i,o),u=l[0],c=0;an(u,(function(e){var r=e.children;r&&r.length?(e.x=function(e){return e.reduce((function(e,t){return e+t.x}),0)/e.length}(r),e.y=function(e){return 1+a.max(e,(function(e){return e.y}))}(r)):(e.x=s?c+=t(e,s):0,e.y=0,s=e)}));var f=Bn(u),h=Nn(u),p=f.x-t(f,h)/2,d=h.x+t(h,f)/2;return an(u,n?function(e){e.x=(e.x-u.x)*r[0],e.y=(u.y-e.y)*r[1]}:function(e){e.x=(e.x-p)/(d-p)*r[0],e.y=(1-(u.y?e.y/u.y:1))*r[1]}),l}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(e){return arguments.length?(n=null==(r=e),i):n?null:r},i.nodeSize=function(e){return arguments.length?(n=null!=(r=e),i):n?r:null},rn(i,e)},a.layout.treemap=function(){var e,t=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=jn,s=!1,l=\"squarify\",u=.5*(1+Math.sqrt(5));function c(e,t){for(var r,n,i=-1,a=e.length;++i<a;)n=(r=e[i]).value*(t<0?0:t),r.area=isNaN(n)||n<=0?0:n}function f(e){var t=e.children;if(t&&t.length){var r,n,i,a=o(e),s=[],u=t.slice(),h=1/0,v=\"slice\"===l?a.dx:\"dice\"===l?a.dy:\"slice-dice\"===l?1&e.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(c(u,a.dx*a.dy/e.value),s.area=0;(i=u.length)>0;)s.push(r=u[i-1]),s.area+=r.area,\"squarify\"!==l||(n=p(s,v))<=h?(u.pop(),h=n):(s.area-=s.pop().area,d(s,v,a,!1),v=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,v,a,!0),s.length=s.area=0),t.forEach(f)}}function h(e){var t=e.children;if(t&&t.length){var r,n=o(e),i=t.slice(),a=[];for(c(i,n.dx*n.dy/e.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);t.forEach(h)}}function p(e,t){for(var r,n=e.area,i=0,a=1/0,o=-1,s=e.length;++o<s;)(r=e[o].area)&&(r<a&&(a=r),r>i&&(i=r));return t*=t,(n*=n)?Math.max(t*i*u/n,n/(t*a*u)):1/0}function d(e,t,n,i){var a,o=-1,s=e.length,l=n.x,u=n.y,c=t?r(e.area/t):0;if(t==n.dx){for((i||c>n.dy)&&(c=n.dy);++o<s;)(a=e[o]).x=l,a.y=u,a.dy=c,l+=a.dx=Math.min(n.x+n.dx-l,c?r(a.area/c):0);a.z=!0,a.dx+=n.x+n.dx-l,n.y+=c,n.dy-=c}else{for((i||c>n.dx)&&(c=n.dx);++o<s;)(a=e[o]).x=l,a.y=u,a.dx=c,u+=a.dy=Math.min(n.y+n.dy-u,c?r(a.area/c):0);a.z=!1,a.dy+=n.y+n.dy-u,n.x+=c,n.dx-=c}}function v(r){var i=e||t(r),a=i[0];return a.x=a.y=0,a.value?(a.dx=n[0],a.dy=n[1]):a.dx=a.dy=0,e&&t.revalue(a),c([a],a.dx*a.dy/a.value),(e?h:f)(a),s&&(e=i),i}return v.size=function(e){return arguments.length?(n=e,v):n},v.padding=function(e){if(!arguments.length)return i;function t(t){return Un(t,e)}var r;return o=null==(i=e)?jn:\"function\"==(r=typeof e)?function(t){var r=e.call(v,t,t.depth);return null==r?jn(t):Un(t,\"number\"==typeof r?[r,r,r,r]:r)}:\"number\"===r?(e=[e,e,e,e],t):t,v},v.round=function(e){return arguments.length?(r=e?Math.round:Number,v):r!=Number},v.sticky=function(t){return arguments.length?(s=t,e=null,v):s},v.ratio=function(e){return arguments.length?(u=e,v):u},v.mode=function(e){return arguments.length?(l=e+\"\",v):l},rn(v,t)},a.random={normal:function(e,t){var r=arguments.length;return r<2&&(t=1),r<1&&(e=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return e+t*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var e=a.random.normal.apply(a,arguments);return function(){return Math.exp(e())}},bates:function(e){var t=a.random.irwinHall(e);return function(){return t()/e}},irwinHall:function(e){return function(){for(var t=0,r=0;r<e;r++)t+=Math.random();return t}}},a.scale={};var Wn={floor:z,ceil:z};function Zn(e,t,r,n){var i=[],o=[],s=0,l=Math.min(e.length,t.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++s<=l;)i.push(r(e[s-1],e[s])),o.push(n(t[s-1],t[s]));return function(t){var r=a.bisect(e,t,1,l)-1;return o[r](i[r](t))}}function Xn(e,t,r,n){var i,a;function o(){var o=Math.min(e.length,t.length)>2?Zn:qn,l=n?Gr:qr;return i=o(e,t,l,r),a=o(t,e,l,kr),s}function s(e){return i(e)}return s.invert=function(e){return a(e)},s.domain=function(t){return arguments.length?(e=t.map(Number),o()):e},s.range=function(e){return arguments.length?(t=e,o()):t},s.rangeRound=function(e){return s.range(e).interpolate(Fr)},s.clamp=function(e){return arguments.length?(n=e,o()):n},s.interpolate=function(e){return arguments.length?(r=e,o()):r},s.ticks=function(t){return Qn(e,t)},s.tickFormat=function(t,r){return d3_scale_linearTickFormat(e,t,r)},s.nice=function(t){return Jn(e,t),o()},s.copy=function(){return Xn(e,t,r,n)},o()}function Kn(e,t){return a.rebind(e,t,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function Jn(e,t){return Gn(e,Yn($n(e,t)[2])),Gn(e,Yn($n(e,t)[2])),e}function $n(e,t){null==t&&(t=10);var r=Vn(e),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/t)/Math.LN10)),a=t/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(e,t){return a.range.apply(a,$n(e,t))}function ei(e,t,r,n){function i(e){return(r?Math.log(e<0?0:e):-Math.log(e>0?0:-e))/Math.log(t)}function a(e){return r?Math.pow(t,e):-Math.pow(t,-e)}function o(t){return e(i(t))}return o.invert=function(t){return a(e.invert(t))},o.domain=function(t){return arguments.length?(r=t[0]>=0,e.domain((n=t.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(t=+r,e.domain(n.map(i)),o):t},o.nice=function(){var t=Gn(n.map(i),r?Math:ti);return e.domain(t),n=t.map(a),o},o.ticks=function(){var e=Vn(n),o=[],s=e[0],l=e[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),f=t%1?2:t;if(isFinite(c-u)){if(r){for(;u<c;u++)for(var h=1;h<f;h++)o.push(a(u)*h);o.push(a(u))}else for(o.push(a(u));u++<c;)for(h=f-1;h>0;h--)o.push(a(u)*h);for(u=0;o[u]<s;u++);for(c=o.length;o[c-1]>l;c--);o=o.slice(u,c)}return o},o.copy=function(){return ei(e.copy(),t,r,n)},Kn(o,e)}a.scale.linear=function(){return Xn([0,1],[0,1],kr,!1)},a.scale.log=function(){return ei(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ti={floor:function(e){return-Math.ceil(-e)},ceil:function(e){return-Math.floor(-e)}};function ri(e,t,r){var n=ni(t),i=ni(1/t);function a(t){return e(n(t))}return a.invert=function(t){return i(e.invert(t))},a.domain=function(t){return arguments.length?(e.domain((r=t.map(Number)).map(n)),a):r},a.ticks=function(e){return Qn(r,e)},a.tickFormat=function(e,t){return d3_scale_linearTickFormat(r,e,t)},a.nice=function(e){return a.domain(Jn(r,e))},a.exponent=function(o){return arguments.length?(n=ni(t=o),i=ni(1/t),e.domain(r.map(n)),a):t},a.copy=function(){return ri(e.copy(),t,r)},Kn(a,e)}function ni(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function ii(e,t){var r,n,i;function o(i){return n[((r.get(i)||(\"range\"===t.t?r.set(i,e.push(i)):NaN))-1)%n.length]}function s(t,r){return a.range(e.length).map((function(e){return t+r*e}))}return o.domain=function(n){if(!arguments.length)return e;e=[],r=new T;for(var i,a=-1,s=n.length;++a<s;)r.has(i=n[a])||r.set(i,e.push(i));return o[t.t].apply(o,t.a)},o.range=function(e){return arguments.length?(n=e,i=0,t={t:\"range\",a:arguments},o):n},o.rangePoints=function(r,a){arguments.length<2&&(a=0);var l=r[0],u=r[1],c=e.length<2?(l=(l+u)/2,0):(u-l)/(e.length-1+a);return n=s(l+c*a/2,c),i=0,t={t:\"rangePoints\",a:arguments},o},o.rangeRoundPoints=function(r,a){arguments.length<2&&(a=0);var l=r[0],u=r[1],c=e.length<2?(l=u=Math.round((l+u)/2),0):(u-l)/(e.length-1+a)|0;return n=s(l+Math.round(c*a/2+(u-l-(e.length-1+a)*c)/2),c),i=0,t={t:\"rangeRoundPoints\",a:arguments},o},o.rangeBands=function(r,a,l){arguments.length<2&&(a=0),arguments.length<3&&(l=a);var u=r[1]<r[0],c=r[u-0],f=(r[1-u]-c)/(e.length-a+2*l);return n=s(c+f*l,f),u&&n.reverse(),i=f*(1-a),t={t:\"rangeBands\",a:arguments},o},o.rangeRoundBands=function(r,a,l){arguments.length<2&&(a=0),arguments.length<3&&(l=a);var u=r[1]<r[0],c=r[u-0],f=r[1-u],h=Math.floor((f-c)/(e.length-a+2*l));return n=s(c+Math.round((f-c-(e.length-a)*h)/2),h),u&&n.reverse(),i=Math.round(h*(1-a)),t={t:\"rangeRoundBands\",a:arguments},o},o.rangeBand=function(){return i},o.rangeExtent=function(){return Vn(t.a[0])},o.copy=function(){return ii(e,t)},o.domain(e)}a.scale.pow=function(){return ri(a.scale.linear(),1,[0,1])},a.scale.sqrt=function(){return a.scale.pow().exponent(.5)},a.scale.ordinal=function(){return ii([],{t:\"range\",a:[[]]})},a.scale.category10=function(){return a.scale.ordinal().range(ai)},a.scale.category20=function(){return a.scale.ordinal().range(oi)},a.scale.category20b=function(){return a.scale.ordinal().range(si)},a.scale.category20c=function(){return a.scale.ordinal().range(li)};var ai=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(st),oi=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(st),si=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(st),li=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(st);function ui(e,t){var r;function n(){var n=0,o=t.length;for(r=[];++n<o;)r[n-1]=a.quantile(e,n/o);return i}function i(e){if(!isNaN(e=+e))return t[a.bisect(r,e)]}return i.domain=function(t){return arguments.length?(e=t.map(m).filter(y).sort(g),n()):e},i.range=function(e){return arguments.length?(t=e,n()):t},i.quantiles=function(){return r},i.invertExtent=function(n){return(n=t.indexOf(n))<0?[NaN,NaN]:[n>0?r[n-1]:e[0],n<r.length?r[n]:e[e.length-1]]},i.copy=function(){return ui(e,t)},n()}function ci(e,t,r){var n,i;function a(t){return r[Math.max(0,Math.min(i,Math.floor(n*(t-e))))]}function o(){return n=r.length/(t-e),i=r.length-1,a}return a.domain=function(r){return arguments.length?(e=+r[0],t=+r[r.length-1],o()):[e,t]},a.range=function(e){return arguments.length?(r=e,o()):r},a.invertExtent=function(t){return[t=(t=r.indexOf(t))<0?NaN:t/n+e,t+1/n]},a.copy=function(){return ci(e,t,r)},o()}function fi(e,t){function r(r){if(r<=r)return t[a.bisect(e,r)]}return r.domain=function(t){return arguments.length?(e=t,r):e},r.range=function(e){return arguments.length?(t=e,r):t},r.invertExtent=function(r){return r=t.indexOf(r),[e[r-1],e[r]]},r.copy=function(){return fi(e,t)},r}function hi(e){function t(e){return+e}return t.invert=t,t.domain=t.range=function(r){return arguments.length?(e=r.map(t),t):e},t.ticks=function(t){return Qn(e,t)},t.tickFormat=function(t,r){return d3_scale_linearTickFormat(e,t,r)},t.copy=function(){return hi(e)},t}function pi(){return 0}a.scale.quantile=function(){return ui([],[])},a.scale.quantize=function(){return ci(0,1,[0,1])},a.scale.threshold=function(){return fi([.5],[0,1])},a.scale.identity=function(){return hi([0,1])},a.svg={},a.svg.arc=function(){var e=vi,t=gi,r=pi,n=di,i=mi,a=yi,o=xi;function s(){var s=Math.max(0,+e.apply(this,arguments)),u=Math.max(0,+t.apply(this,arguments)),c=i.apply(this,arguments)-Ie,f=a.apply(this,arguments)-Ie,h=Math.abs(f-c),p=c>f?0:1;if(u<s&&(d=u,u=s,s=d),h>=Oe)return l(u,p)+(s?l(s,1-p):\"\")+\"Z\";var d,v,g,m,y,x,b,_,w,k,T,M,A=0,S=0,E=[];if((m=(+o.apply(this,arguments)||0)/2)&&(g=n===di?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=Re(g/u*Math.sin(m))),s&&(A=Re(g/s*Math.sin(m)))),u){y=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(f-S),_=u*Math.sin(f-S);var C=Math.abs(f-c-2*S)<=Le?0:1;if(S&&bi(y,x,b,_)===p^C){var L=(c+f)/2;y=u*Math.cos(L),x=u*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(f-A),k=s*Math.sin(f-A),T=s*Math.cos(c+A),M=s*Math.sin(c+A);var P=Math.abs(c-f+2*A)<=Le?0:1;if(A&&bi(w,k,T,M)===1-p^P){var O=(c+f)/2;w=s*Math.cos(O),k=s*Math.sin(O),T=M=null}}else w=k=0;if(h>Ee&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){v=s<u^p?0:1;var I=d,D=d;if(h<Le){var z=null==T?[w,k]:null==b?[y,x]:Dt([y,x],[T,M],[b,_],[w,k]),R=y-z[0],F=x-z[1],B=b-z[0],N=_-z[1],j=1/Math.sin(Math.acos((R*B+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(B*B+N*N)))/2),U=Math.sqrt(z[0]*z[0]+z[1]*z[1]);D=Math.min(d,(s-U)/(j-1)),I=Math.min(d,(u-U)/(j+1))}if(null!=b){var V=_i(null==T?[w,k]:[T,M],[y,x],u,I,p),H=_i([b,_],[w,k],u,I,p);d===I?E.push(\"M\",V[0],\"A\",I,\",\",I,\" 0 0,\",v,\" \",V[1],\"A\",u,\",\",u,\" 0 \",1-p^bi(V[1][0],V[1][1],H[1][0],H[1][1]),\",\",p,\" \",H[1],\"A\",I,\",\",I,\" 0 0,\",v,\" \",H[0]):E.push(\"M\",V[0],\"A\",I,\",\",I,\" 0 1,\",v,\" \",H[0])}else E.push(\"M\",y,\",\",x);if(null!=T){var q=_i([y,x],[T,M],s,-D,p),G=_i([w,k],null==b?[y,x]:[b,_],s,-D,p);d===D?E.push(\"L\",G[0],\"A\",D,\",\",D,\" 0 0,\",v,\" \",G[1],\"A\",s,\",\",s,\" 0 \",p^bi(G[1][0],G[1][1],q[1][0],q[1][1]),\",\",1-p,\" \",q[1],\"A\",D,\",\",D,\" 0 0,\",v,\" \",q[0]):E.push(\"L\",G[0],\"A\",D,\",\",D,\" 0 0,\",v,\" \",q[0])}else E.push(\"L\",w,\",\",k)}else E.push(\"M\",y,\",\",x),null!=b&&E.push(\"A\",u,\",\",u,\" 0 \",C,\",\",p,\" \",b,\",\",_),E.push(\"L\",w,\",\",k),null!=T&&E.push(\"A\",s,\",\",s,\" 0 \",P,\",\",1-p,\" \",T,\",\",M);return E.push(\"Z\"),E.join(\"\")}function l(e,t){return\"M0,\"+e+\"A\"+e+\",\"+e+\" 0 1,\"+t+\" 0,\"+-e+\"A\"+e+\",\"+e+\" 0 1,\"+t+\" 0,\"+e}return s.innerRadius=function(t){return arguments.length?(e=gt(t),s):e},s.outerRadius=function(e){return arguments.length?(t=gt(e),s):t},s.cornerRadius=function(e){return arguments.length?(r=gt(e),s):r},s.padRadius=function(e){return arguments.length?(n=e==di?di:gt(e),s):n},s.startAngle=function(e){return arguments.length?(i=gt(e),s):i},s.endAngle=function(e){return arguments.length?(a=gt(e),s):a},s.padAngle=function(e){return arguments.length?(o=gt(e),s):o},s.centroid=function(){var r=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Ie;return[Math.cos(n)*r,Math.sin(n)*r]},s};var di=\"auto\";function vi(e){return e.innerRadius}function gi(e){return e.outerRadius}function mi(e){return e.startAngle}function yi(e){return e.endAngle}function xi(e){return e&&e.padAngle}function bi(e,t,r,n){return(e-r)*t-(t-n)*e>0?0:1}function _i(e,t,r,n,i){var a=e[0]-t[0],o=e[1]-t[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=e[0]+l,f=e[1]+u,h=t[0]+l,p=t[1]+u,d=(c+h)/2,v=(f+p)/2,g=h-c,m=p-f,y=g*g+m*m,x=r-n,b=c*p-h*f,_=(m<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*m-g*_)/y,k=(-b*g-m*_)/y,T=(b*m+g*_)/y,M=(-b*g+m*_)/y,A=w-d,S=k-v,E=T-d,C=M-v;return A*A+S*S>E*E+C*C&&(w=T,k=M),[[w-l,k-u],[w*r/x,k*r/x]]}function wi(){return!0}function ki(e){var t=Et,r=Ct,n=wi,i=Mi,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,f=a.length,h=gt(t),p=gt(r);function d(){l.push(\"M\",i(e(u),o))}for(;++c<f;)n.call(this,s=a[c],c)?u.push([+h.call(this,s,c),+p.call(this,s,c)]):u.length&&(d(),u=[]);return u.length&&d(),l.length?l.join(\"\"):null}return s.x=function(e){return arguments.length?(t=e,s):t},s.y=function(e){return arguments.length?(r=e,s):r},s.defined=function(e){return arguments.length?(n=e,s):n},s.interpolate=function(e){return arguments.length?(a=\"function\"==typeof e?i=e:(i=Ti.get(e)||Mi).key,s):a},s.tension=function(e){return arguments.length?(o=e,s):o},s}a.svg.line=function(){return ki(z)};var Ti=a.map({linear:Mi,\"linear-closed\":Ai,step:function(e){for(var t=0,r=e.length,n=e[0],i=[n[0],\",\",n[1]];++t<r;)i.push(\"H\",(n[0]+(n=e[t])[0])/2,\"V\",n[1]);return r>1&&i.push(\"H\",n[0]),i.join(\"\")},\"step-before\":Si,\"step-after\":Ei,basis:Pi,\"basis-open\":function(e){if(e.length<4)return Mi(e);for(var t,r=[],n=-1,i=e.length,a=[0],o=[0];++n<3;)t=e[n],a.push(t[0]),o.push(t[1]);for(r.push(Oi(zi,a)+\",\"+Oi(zi,o)),--n;++n<i;)t=e[n],a.shift(),a.push(t[0]),o.shift(),o.push(t[1]),Ri(r,a,o);return r.join(\"\")},\"basis-closed\":function(e){for(var t,r,n=-1,i=e.length,a=i+4,o=[],s=[];++n<4;)r=e[n%i],o.push(r[0]),s.push(r[1]);for(t=[Oi(zi,o),\",\",Oi(zi,s)],--n;++n<a;)r=e[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Ri(t,o,s);return t.join(\"\")},bundle:function(e,t){var r=e.length-1;if(r)for(var n,i,a=e[0][0],o=e[0][1],s=e[r][0]-a,l=e[r][1]-o,u=-1;++u<=r;)i=u/r,(n=e[u])[0]=t*n[0]+(1-t)*(a+i*s),n[1]=t*n[1]+(1-t)*(o+i*l);return Pi(e)},cardinal:function(e,t){return e.length<3?Mi(e):e[0]+Ci(e,Li(e,t))},\"cardinal-open\":function(e,t){return e.length<4?Mi(e):e[1]+Ci(e.slice(1,-1),Li(e,t))},\"cardinal-closed\":function(e,t){return e.length<3?Ai(e):e[0]+Ci((e.push(e[0]),e),Li([e[e.length-2]].concat(e,[e[1]]),t))},monotone:function(e){return e.length<3?Mi(e):e[0]+Ci(e,function(e){for(var t,r,n,i,a=[],o=function(e){for(var t=0,r=e.length-1,n=[],i=e[0],a=e[1],o=n[0]=Fi(i,a);++t<r;)n[t]=(o+(o=Fi(i=a,a=e[t+1])))/2;return n[t]=o,n}(e),s=-1,l=e.length-1;++s<l;)t=Fi(e[s],e[s+1]),w(t)<Ee?o[s]=o[s+1]=0:(i=(r=o[s]/t)*r+(n=o[s+1]/t)*n)>9&&(i=3*t/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(e[Math.min(l,s+1)][0]-e[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(e))}});function Mi(e){return e.length>1?e.join(\"L\"):e+\"Z\"}function Ai(e){return e.join(\"L\")+\"Z\"}function Si(e){for(var t=0,r=e.length,n=e[0],i=[n[0],\",\",n[1]];++t<r;)i.push(\"V\",(n=e[t])[1],\"H\",n[0]);return i.join(\"\")}function Ei(e){for(var t=0,r=e.length,n=e[0],i=[n[0],\",\",n[1]];++t<r;)i.push(\"H\",(n=e[t])[0],\"V\",n[1]);return i.join(\"\")}function Ci(e,t){if(t.length<1||e.length!=t.length&&e.length!=t.length+2)return Mi(e);var r=e.length!=t.length,n=\"\",i=e[0],a=e[1],o=t[0],s=o,l=1;if(r&&(n+=\"Q\"+(a[0]-2*o[0]/3)+\",\"+(a[1]-2*o[1]/3)+\",\"+a[0]+\",\"+a[1],i=e[1],l=2),t.length>1){s=t[1],a=e[l],l++,n+=\"C\"+(i[0]+o[0])+\",\"+(i[1]+o[1])+\",\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1];for(var u=2;u<t.length;u++,l++)a=e[l],s=t[u],n+=\"S\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1]}if(r){var c=e[l];n+=\"Q\"+(a[0]+2*s[0]/3)+\",\"+(a[1]+2*s[1]/3)+\",\"+c[0]+\",\"+c[1]}return n}function Li(e,t){for(var r,n=[],i=(1-t)/2,a=e[0],o=e[1],s=1,l=e.length;++s<l;)r=a,a=o,o=e[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function Pi(e){if(e.length<3)return Mi(e);var t=1,r=e.length,n=e[0],i=n[0],a=n[1],o=[i,i,i,(n=e[1])[0]],s=[a,a,a,n[1]],l=[i,\",\",a,\"L\",Oi(zi,o),\",\",Oi(zi,s)];for(e.push(e[r-1]);++t<=r;)n=e[t],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Ri(l,o,s);return e.pop(),l.push(\"L\",n),l.join(\"\")}function Oi(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}Ti.forEach((function(e,t){t.key=e,t.closed=/-closed$/.test(e)}));var Ii=[0,2/3,1/3,0],Di=[0,1/3,2/3,0],zi=[0,1/6,2/3,1/6];function Ri(e,t,r){e.push(\"C\",Oi(Ii,t),\",\",Oi(Ii,r),\",\",Oi(Di,t),\",\",Oi(Di,r),\",\",Oi(zi,t),\",\",Oi(zi,r))}function Fi(e,t){return(t[1]-e[1])/(t[0]-e[0])}function Bi(e){for(var t,r,n,i=-1,a=e.length;++i<a;)r=(t=e[i])[0],n=t[1]-Ie,t[0]=r*Math.cos(n),t[1]=r*Math.sin(n);return e}function Ni(e){var t=Et,r=Et,n=0,i=Ct,a=wi,o=Mi,s=o.key,l=o,u=\"L\",c=.7;function f(s){var f,h,p,d=[],v=[],g=[],m=-1,y=s.length,x=gt(t),b=gt(n),_=t===r?function(){return h}:gt(r),w=n===i?function(){return p}:gt(i);function k(){d.push(\"M\",o(e(g),c),u,l(e(v.reverse()),c),\"Z\")}for(;++m<y;)a.call(this,f=s[m],m)?(v.push([h=+x.call(this,f,m),p=+b.call(this,f,m)]),g.push([+_.call(this,f,m),+w.call(this,f,m)])):v.length&&(k(),v=[],g=[]);return v.length&&k(),d.length?d.join(\"\"):null}return f.x=function(e){return arguments.length?(t=r=e,f):r},f.x0=function(e){return arguments.length?(t=e,f):t},f.x1=function(e){return arguments.length?(r=e,f):r},f.y=function(e){return arguments.length?(n=i=e,f):i},f.y0=function(e){return arguments.length?(n=e,f):n},f.y1=function(e){return arguments.length?(i=e,f):i},f.defined=function(e){return arguments.length?(a=e,f):a},f.interpolate=function(e){return arguments.length?(s=\"function\"==typeof e?o=e:(o=Ti.get(e)||Mi).key,l=o.reverse||o,u=o.closed?\"M\":\"L\",f):s},f.tension=function(e){return arguments.length?(c=e,f):c},f}function ji(e){return e.source}function Ui(e){return e.target}function Vi(e){return e.radius}function Hi(e){return[e.x,e.y]}function qi(){return 64}function Gi(){return\"circle\"}function Yi(e){var t=Math.sqrt(e/Le);return\"M0,\"+t+\"A\"+t+\",\"+t+\" 0 1,1 0,\"+-t+\"A\"+t+\",\"+t+\" 0 1,1 0,\"+t+\"Z\"}a.svg.line.radial=function(){var e=ki(Bi);return e.radius=e.x,delete e.x,e.angle=e.y,delete e.y,e},Si.reverse=Ei,Ei.reverse=Si,a.svg.area=function(){return Ni(z)},a.svg.area.radial=function(){var e=Ni(Bi);return e.radius=e.x,delete e.x,e.innerRadius=e.x0,delete e.x0,e.outerRadius=e.x1,delete e.x1,e.angle=e.y,delete e.y,e.startAngle=e.y0,delete e.y0,e.endAngle=e.y1,delete e.y1,e},a.svg.chord=function(){var e=ji,t=Ui,r=Vi,n=mi,i=yi;function a(r,n){var i,a,u=o(this,e,r,n),c=o(this,t,r,n);return\"M\"+u.p0+s(u.r,u.p1,u.a1-u.a0)+(a=c,((i=u).a0==a.a0&&i.a1==a.a1?l(u.r,u.p1,u.r,u.p0):l(u.r,u.p1,c.r,c.p0)+s(c.r,c.p1,c.a1-c.a0)+l(c.r,c.p1,u.r,u.p0))+\"Z\")}function o(e,t,a,o){var s=t.call(e,a,o),l=r.call(e,s,o),u=n.call(e,s,o)-Ie,c=i.call(e,s,o)-Ie;return{r:l,a0:u,a1:c,p0:[l*Math.cos(u),l*Math.sin(u)],p1:[l*Math.cos(c),l*Math.sin(c)]}}function s(e,t,r){return\"A\"+e+\",\"+e+\" 0 \"+ +(r>Le)+\",1 \"+t}function l(e,t,r,n){return\"Q 0,0 \"+n}return a.radius=function(e){return arguments.length?(r=gt(e),a):r},a.source=function(t){return arguments.length?(e=gt(t),a):e},a.target=function(e){return arguments.length?(t=gt(e),a):t},a.startAngle=function(e){return arguments.length?(n=gt(e),a):n},a.endAngle=function(e){return arguments.length?(i=gt(e),a):i},a},a.svg.diagonal=function(){var e=ji,t=Ui,r=Hi;function n(n,i){var a=e.call(this,n,i),o=t.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return\"M\"+(l=l.map(r))[0]+\"C\"+l[1]+\" \"+l[2]+\" \"+l[3]}return n.source=function(t){return arguments.length?(e=gt(t),n):e},n.target=function(e){return arguments.length?(t=gt(e),n):t},n.projection=function(e){return arguments.length?(r=e,n):r},n},a.svg.diagonal.radial=function(){var e=a.svg.diagonal(),t=Hi,r=e.projection;return e.projection=function(e){return arguments.length?r(function(e){return function(){var t=e.apply(this,arguments),r=t[0],n=t[1]-Ie;return[r*Math.cos(n),r*Math.sin(n)]}}(t=e)):t},e},a.svg.symbol=function(){var e=Gi,t=qi;function r(r,n){return(Wi.get(e.call(this,r,n))||Yi)(t.call(this,r,n))}return r.type=function(t){return arguments.length?(e=gt(t),r):e},r.size=function(e){return arguments.length?(t=gt(e),r):t},r};var Wi=a.map({circle:Yi,cross:function(e){var t=Math.sqrt(e/5)/2;return\"M\"+-3*t+\",\"+-t+\"H\"+-t+\"V\"+-3*t+\"H\"+t+\"V\"+-t+\"H\"+3*t+\"V\"+t+\"H\"+t+\"V\"+3*t+\"H\"+-t+\"V\"+t+\"H\"+-3*t+\"Z\"},diamond:function(e){var t=Math.sqrt(e/(2*Xi)),r=t*Xi;return\"M0,\"+-t+\"L\"+r+\",0 0,\"+t+\" \"+-r+\",0Z\"},square:function(e){var t=Math.sqrt(e)/2;return\"M\"+-t+\",\"+-t+\"L\"+t+\",\"+-t+\" \"+t+\",\"+t+\" \"+-t+\",\"+t+\"Z\"},\"triangle-down\":function(e){var t=Math.sqrt(e/Zi),r=t*Zi/2;return\"M0,\"+r+\"L\"+t+\",\"+-r+\" \"+-t+\",\"+-r+\"Z\"},\"triangle-up\":function(e){var t=Math.sqrt(e/Zi),r=t*Zi/2;return\"M0,\"+-r+\"L\"+t+\",\"+r+\" \"+-t+\",\"+r+\"Z\"}});a.svg.symbolTypes=Wi.keys();var Zi=Math.sqrt(3),Xi=Math.tan(30*De);J.transition=function(e){for(var t,r,n=Qi||++ra,i=aa(e),a=[],o=ea||{time:Date.now(),ease:Or,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(t=[]);for(var u=this[s],c=-1,f=u.length;++c<f;)(r=u[c])&&oa(r,c,i,n,o),t.push(r)}return $i(a,i,n)},J.interrupt=function(e){return this.each(null==e?Ki:Ji(aa(e)))};var Ki=Ji(aa());function Ji(e){return function(){var t,r,n;(t=this[e])&&(n=t[r=t.active])&&(n.timer.c=null,n.timer.t=NaN,--t.count?delete t[r]:delete this[e],t.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function $i(e,t,r){return Y(e,ta),e.namespace=t,e.id=r,e}var Qi,ea,ta=[],ra=0;function na(e,t,r,n){var i=e.id,a=e.namespace;return ve(e,\"function\"==typeof r?function(e,o,s){e[a][i].tween.set(t,n(r.call(e,e.__data__,o,s)))}:(r=n(r),function(e){e[a][i].tween.set(t,r)}))}function ia(e){return null==e&&(e=\"\"),function(){this.textContent=e}}function aa(e){return null==e?\"__transition__\":\"__transition_\"+e+\"__\"}function oa(e,t,r,n,i){var a,o,s,l,u,c=e[r]||(e[r]={active:0,count:0}),f=c[n];function h(r){var i=c.active,h=c[i];for(var d in h&&(h.timer.c=null,h.timer.t=NaN,--c.count,delete c[i],h.event&&h.event.interrupt.call(e,e.__data__,h.index)),c)if(+d<n){var v=c[d];v.timer.c=null,v.timer.t=NaN,--c.count,delete c[d]}o.c=p,Tt((function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1}),0,a),c.active=n,f.event&&f.event.start.call(e,e.__data__,t),u=[],f.tween.forEach((function(r,n){(n=n.call(e,e.__data__,t))&&u.push(n)})),l=f.ease,s=f.duration}function p(i){for(var a=i/s,o=l(a),h=u.length;h>0;)u[--h].call(e,o);if(a>=1)return f.event&&f.event.end.call(e,e.__data__,t),--c.count?delete c[n]:delete e[r],1}f||(a=i.time,o=Tt((function(e){var t=f.delay;if(o.t=t+a,t<=e)return h(e-t);o.c=h}),0,a),f=c[n]={tween:new T,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:t},i=null,++c.count)}ta.call=J.call,ta.empty=J.empty,ta.node=J.node,ta.size=J.size,a.transition=function(e,t){return e&&e.transition?Qi?e.transition(t):e:a.selection().transition(e)},a.transition.prototype=ta,ta.select=function(e){var t,r,n,i=this.id,a=this.namespace,o=[];e=$(e);for(var s=-1,l=this.length;++s<l;){o.push(t=[]);for(var u=this[s],c=-1,f=u.length;++c<f;)(n=u[c])&&(r=e.call(n,n.__data__,c,s))?(\"__data__\"in n&&(r.__data__=n.__data__),oa(r,c,a,i,n[a][i]),t.push(r)):t.push(null)}return $i(o,a,i)},ta.selectAll=function(e){var t,r,n,i,a,o=this.id,s=this.namespace,l=[];e=Q(e);for(var u=-1,c=this.length;++u<c;)for(var f=this[u],h=-1,p=f.length;++h<p;)if(n=f[h]){a=n[s][o],r=e.call(n,n.__data__,h,u),l.push(t=[]);for(var d=-1,v=r.length;++d<v;)(i=r[d])&&oa(i,d,s,o,a),t.push(i)}return $i(l,s,o)},ta.filter=function(e){var t,r,n=[];\"function\"!=typeof e&&(e=pe(e));for(var i=0,a=this.length;i<a;i++){n.push(t=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&e.call(r,r.__data__,s,i)&&t.push(r)}return $i(n,this.namespace,this.id)},ta.tween=function(e,t){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(e):ve(this,null==t?function(t){t[n][r].tween.remove(e)}:function(i){i[n][r].tween.set(e,t)})},ta.attr=function(e,t){if(arguments.length<2){for(t in e)this.attr(t,e[t]);return this}var r=\"transform\"==e?Hr:kr,n=a.ns.qualify(e);function i(){this.removeAttribute(n)}function o(){this.removeAttributeNS(n.space,n.local)}return na(this,\"attr.\"+e,t,n.local?function(e){return null==e?o:(e+=\"\",function(){var t,i=this.getAttributeNS(n.space,n.local);return i!==e&&(t=r(i,e),function(e){this.setAttributeNS(n.space,n.local,t(e))})})}:function(e){return null==e?i:(e+=\"\",function(){var t,i=this.getAttribute(n);return i!==e&&(t=r(i,e),function(e){this.setAttribute(n,t(e))})})})},ta.attrTween=function(e,t){var r=a.ns.qualify(e);return this.tween(\"attr.\"+e,r.local?function(e,n){var i=t.call(this,e,n,this.getAttributeNS(r.space,r.local));return i&&function(e){this.setAttributeNS(r.space,r.local,i(e))}}:function(e,n){var i=t.call(this,e,n,this.getAttribute(r));return i&&function(e){this.setAttribute(r,i(e))}})},ta.style=function(e,t,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof e){for(r in n<2&&(t=\"\"),e)this.style(r,e[r],t);return this}r=\"\"}function i(){this.style.removeProperty(e)}return na(this,\"style.\"+e,t,(function(t){return null==t?i:(t+=\"\",function(){var n,i=c(this).getComputedStyle(this,null).getPropertyValue(e);return i!==t&&(n=kr(i,t),function(t){this.style.setProperty(e,n(t),r)})})}))},ta.styleTween=function(e,t,r){return arguments.length<3&&(r=\"\"),this.tween(\"style.\"+e,(function(n,i){var a=t.call(this,n,i,c(this).getComputedStyle(this,null).getPropertyValue(e));return a&&function(t){this.style.setProperty(e,a(t),r)}}))},ta.text=function(e){return na(this,\"text\",e,ia)},ta.remove=function(){var e=this.namespace;return this.each(\"end.transition\",(function(){var t;this[e].count<2&&(t=this.parentNode)&&t.removeChild(this)}))},ta.ease=function(e){var t=this.id,r=this.namespace;return arguments.length<1?this.node()[r][t].ease:(\"function\"!=typeof e&&(e=a.ease.apply(a,arguments)),ve(this,(function(n){n[r][t].ease=e})))},ta.delay=function(e){var t=this.id,r=this.namespace;return arguments.length<1?this.node()[r][t].delay:ve(this,\"function\"==typeof e?function(n,i,a){n[r][t].delay=+e.call(n,n.__data__,i,a)}:(e=+e,function(n){n[r][t].delay=e}))},ta.duration=function(e){var t=this.id,r=this.namespace;return arguments.length<1?this.node()[r][t].duration:ve(this,\"function\"==typeof e?function(n,i,a){n[r][t].duration=Math.max(1,e.call(n,n.__data__,i,a))}:(e=Math.max(1,e),function(n){n[r][t].duration=e}))},ta.each=function(e,t){var r=this.id,n=this.namespace;if(arguments.length<2){var i=ea,o=Qi;try{Qi=r,ve(this,(function(t,i,a){ea=t[n][r],e.call(t,t.__data__,i,a)}))}finally{ea=i,Qi=o}}else ve(this,(function(i){var o=i[n][r];(o.event||(o.event=a.dispatch(\"start\",\"end\",\"interrupt\"))).on(e,t)}));return this},ta.transition=function(){for(var e,t,r,n=this.id,i=++ra,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(e=[]);for(var u,c=0,f=(u=this[s]).length;c<f;c++)(t=u[c])&&oa(t,c,a,i,{time:(r=t[a][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),e.push(t)}return $i(o,a,i)},a.svg.axis=function(){var e,t=a.scale.linear(),r=sa,n=6,i=6,o=3,l=[10],u=null;function c(s){s.each((function(){var s,c=a.select(this),f=this.__chart__||t,h=this.__chart__=t.copy(),p=null==u?h.ticks?h.ticks.apply(h,l):h.domain():u,d=null==e?h.tickFormat?h.tickFormat.apply(h,l):z:e,v=c.selectAll(\".tick\").data(p,h),g=v.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Ee),m=a.transition(v.exit()).style(\"opacity\",Ee).remove(),y=a.transition(v.order()).style(\"opacity\",1),x=Math.max(n,0)+o,b=Hn(h),_=c.selectAll(\".domain\").data([0]),w=(_.enter().append(\"path\").attr(\"class\",\"domain\"),a.transition(_));g.append(\"line\"),g.append(\"text\");var k,T,M,A,S=g.select(\"line\"),E=y.select(\"line\"),C=v.select(\"text\").text(d),L=g.select(\"text\"),P=y.select(\"text\"),O=\"top\"===r||\"left\"===r?-1:1;if(\"bottom\"===r||\"top\"===r?(s=ua,k=\"x\",M=\"y\",T=\"x2\",A=\"y2\",C.attr(\"dy\",O<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),w.attr(\"d\",\"M\"+b[0]+\",\"+O*i+\"V0H\"+b[1]+\"V\"+O*i)):(s=ca,k=\"y\",M=\"x\",T=\"y2\",A=\"x2\",C.attr(\"dy\",\".32em\").style(\"text-anchor\",O<0?\"end\":\"start\"),w.attr(\"d\",\"M\"+O*i+\",\"+b[0]+\"H0V\"+b[1]+\"H\"+O*i)),S.attr(A,O*n),L.attr(M,O*x),E.attr(T,0).attr(A,O*n),P.attr(k,0).attr(M,O*x),h.rangeBand){var I=h,D=I.rangeBand()/2;f=h=function(e){return I(e)+D}}else f.rangeBand?f=h:m.call(s,h,f);g.call(s,f,h),y.call(s,h,h)}))}return c.scale=function(e){return arguments.length?(t=e,c):t},c.orient=function(e){return arguments.length?(r=e in la?e+\"\":sa,c):r},c.ticks=function(){return arguments.length?(l=s(arguments),c):l},c.tickValues=function(e){return arguments.length?(u=e,c):u},c.tickFormat=function(t){return arguments.length?(e=t,c):e},c.tickSize=function(e){var t=arguments.length;return t?(n=+e,i=+arguments[t-1],c):n},c.innerTickSize=function(e){return arguments.length?(n=+e,c):n},c.outerTickSize=function(e){return arguments.length?(i=+e,c):i},c.tickPadding=function(e){return arguments.length?(o=+e,c):o},c.tickSubdivide=function(){return arguments.length&&c},c};var sa=\"bottom\",la={top:1,right:1,bottom:1,left:1};function ua(e,t,r){e.attr(\"transform\",(function(e){var n=t(e);return\"translate(\"+(isFinite(n)?n:r(e))+\",0)\"}))}function ca(e,t,r){e.attr(\"transform\",(function(e){var n=t(e);return\"translate(0,\"+(isFinite(n)?n:r(e))+\")\"}))}a.svg.brush=function(){var e,t,r=q(h,\"brushstart\",\"brush\",\"brushend\"),n=null,i=null,o=[0,0],s=[0,0],l=!0,u=!0,f=ha[0];function h(e){e.each((function(){var e=a.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",g).on(\"touchstart.brush\",g),t=e.selectAll(\".background\").data([0]);t.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),e.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var r=e.selectAll(\".resize\").data(f,z);r.exit().remove(),r.enter().append(\"g\").attr(\"class\",(function(e){return\"resize \"+e})).style(\"cursor\",(function(e){return fa[e]})).append(\"rect\").attr(\"x\",(function(e){return/[ew]$/.test(e)?-3:null})).attr(\"y\",(function(e){return/^[ns]/.test(e)?-3:null})).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),r.style(\"display\",h.empty()?\"none\":null);var o,s=a.transition(e),l=a.transition(t);n&&(o=Hn(n),l.attr(\"x\",o[0]).attr(\"width\",o[1]-o[0]),d(s)),i&&(o=Hn(i),l.attr(\"y\",o[0]).attr(\"height\",o[1]-o[0]),v(s)),p(s)}))}function p(e){e.selectAll(\".resize\").attr(\"transform\",(function(e){return\"translate(\"+o[+/e$/.test(e)]+\",\"+s[+/^s/.test(e)]+\")\"}))}function d(e){e.select(\".extent\").attr(\"x\",o[0]),e.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",o[1]-o[0])}function v(e){e.select(\".extent\").attr(\"y\",s[0]),e.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",s[1]-s[0])}function g(){var f,g,m=this,y=a.select(a.event.target),x=r.of(m,arguments),b=a.select(m),_=y.datum(),w=!/^(n|s)$/.test(_)&&n,k=!/^(e|w)$/.test(_)&&i,T=y.classed(\"extent\"),M=Te(m),A=a.mouse(m),S=a.select(c(m)).on(\"keydown.brush\",(function(){32==a.event.keyCode&&(T||(f=null,A[0]-=o[1],A[1]-=s[1],T=2),V())})).on(\"keyup.brush\",(function(){32==a.event.keyCode&&2==T&&(A[0]+=o[1],A[1]+=s[1],T=0,V())}));if(a.event.changedTouches?S.on(\"touchmove.brush\",L).on(\"touchend.brush\",O):S.on(\"mousemove.brush\",L).on(\"mouseup.brush\",O),b.interrupt().selectAll(\"*\").interrupt(),T)A[0]=o[0]-A[0],A[1]=s[0]-A[1];else if(_){var E=+/w$/.test(_),C=+/^n/.test(_);g=[o[1-E]-A[0],s[1-C]-A[1]],A[0]=o[E],A[1]=s[C]}else a.event.altKey&&(f=A.slice());function L(){var e=a.mouse(m),t=!1;g&&(e[0]+=g[0],e[1]+=g[1]),T||(a.event.altKey?(f||(f=[(o[0]+o[1])/2,(s[0]+s[1])/2]),A[0]=o[+(e[0]<f[0])],A[1]=s[+(e[1]<f[1])]):f=null),w&&P(e,n,0)&&(d(b),t=!0),k&&P(e,i,1)&&(v(b),t=!0),t&&(p(b),x({type:\"brush\",mode:T?\"move\":\"resize\"}))}function P(r,n,i){var a,c,h=Hn(n),p=h[0],d=h[1],v=A[i],g=i?s:o,m=g[1]-g[0];if(T&&(p-=v,d-=m+v),a=(i?u:l)?Math.max(p,Math.min(d,r[i])):r[i],T?c=(a+=v)+m:(f&&(v=Math.max(p,Math.min(d,2*f[i]-a))),v<a?(c=a,a=v):c=v),g[0]!=a||g[1]!=c)return i?t=null:e=null,g[0]=a,g[1]=c,!0}function O(){L(),b.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",h.empty()?\"none\":null),a.select(\"body\").style(\"cursor\",null),S.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),M(),x({type:\"brushend\"})}b.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),a.select(\"body\").style(\"cursor\",y.style(\"cursor\")),x({type:\"brushstart\"}),L()}return h.event=function(n){n.each((function(){var n=r.of(this,arguments),i={x:o,y:s,i:e,j:t},l=this.__chart__||i;this.__chart__=i,Qi?a.select(this).transition().each(\"start.brush\",(function(){e=l.i,t=l.j,o=l.x,s=l.y,n({type:\"brushstart\"})})).tween(\"brush:brush\",(function(){var r=Tr(o,i.x),a=Tr(s,i.y);return e=t=null,function(e){o=i.x=r(e),s=i.y=a(e),n({type:\"brush\",mode:\"resize\"})}})).each(\"end.brush\",(function(){e=i.i,t=i.j,n({type:\"brush\",mode:\"resize\"}),n({type:\"brushend\"})})):(n({type:\"brushstart\"}),n({type:\"brush\",mode:\"resize\"}),n({type:\"brushend\"}))}))},h.x=function(e){return arguments.length?(f=ha[!(n=e)<<1|!i],h):n},h.y=function(e){return arguments.length?(f=ha[!n<<1|!(i=e)],h):i},h.clamp=function(e){return arguments.length?(n&&i?(l=!!e[0],u=!!e[1]):n?l=!!e:i&&(u=!!e),h):n&&i?[l,u]:n?l:i?u:null},h.extent=function(r){var a,l,u,c,f;return arguments.length?(n&&(a=r[0],l=r[1],i&&(a=a[0],l=l[0]),e=[a,l],n.invert&&(a=n(a),l=n(l)),l<a&&(f=a,a=l,l=f),a==o[0]&&l==o[1]||(o=[a,l])),i&&(u=r[0],c=r[1],n&&(u=u[1],c=c[1]),t=[u,c],i.invert&&(u=i(u),c=i(c)),c<u&&(f=u,u=c,c=f),u==s[0]&&c==s[1]||(s=[u,c])),h):(n&&(e?(a=e[0],l=e[1]):(a=o[0],l=o[1],n.invert&&(a=n.invert(a),l=n.invert(l)),l<a&&(f=a,a=l,l=f))),i&&(t?(u=t[0],c=t[1]):(u=s[0],c=s[1],i.invert&&(u=i.invert(u),c=i.invert(c)),c<u&&(f=u,u=c,c=f))),n&&i?[[a,u],[l,c]]:n?[a,l]:i&&[u,c])},h.clear=function(){return h.empty()||(o=[0,0],s=[0,0],e=t=null),h},h.empty=function(){return!!n&&o[0]==o[1]||!!i&&s[0]==s[1]},a.rebind(h,r,\"on\")};var fa={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},ha=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]];function pa(e){return JSON.parse(e.responseText)}function da(e){var t=l.createRange();return t.selectNode(l.body),t.createContextualFragment(e.responseText)}a.text=mt((function(e){return e.responseText})),a.json=function(e,t){return yt(e,\"application/json\",pa,t)},a.html=function(e,t){return yt(e,\"text/html\",da,t)},a.xml=mt((function(e){return e.responseXML})),void 0===(i=\"function\"==typeof(n=a)?n.call(t,r,t,e):n)||(e.exports=i)}).apply(self)},88294:function(e,t,r){\"use strict\";e.exports=r(62849)},62849:function(e,t,r){\"use strict\";var n=r(91358),i=r(53435),a=r(18863),o=r(21527),s=r(71299),l=r(46775),u=r(30120),c=r(64941),f=r(90660),h=r(27084);function p(e,t){for(var r=t[0],n=t[1],a=1/(t[2]-r),o=1/(t[3]-n),s=new Array(e.length),l=0,u=e.length/2;l<u;l++)s[2*l]=i((e[2*l]-r)*a,0,1),s[2*l+1]=i((e[2*l+1]-n)*o,0,1);return s}e.exports=function(e,t){t||(t={}),e=u(e,\"float64\"),t=s(t,{bounds:\"range bounds dataBox databox\",maxDepth:\"depth maxDepth maxdepth level maxLevel maxlevel levels\",dtype:\"type dtype format out dst output destination\"});var r=l(t.maxDepth,255),i=l(t.bounds,o(e,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;var d,v=p(e,i),g=e.length>>>1;t.dtype||(t.dtype=\"array\"),\"string\"==typeof t.dtype?d=new(f(t.dtype))(g):t.dtype&&(d=t.dtype,Array.isArray(d)&&(d.length=g));for(var m=0;m<g;++m)d[m]=m;var y=[],x=[],b=[],_=[];!function e(t,n,i,a,o,s){if(!a.length)return null;var l=y[o]||(y[o]=[]),u=b[o]||(b[o]=[]),c=x[o]||(x[o]=[]),f=l.length;if(++o>r||s>1073741824){for(var h=0;h<a.length;h++)l.push(a[h]),u.push(s),c.push(null,null,null,null);return f}if(l.push(a[0]),u.push(s),a.length<=1)return c.push(null,null,null,null),f;for(var p=.5*i,d=t+p,g=n+p,m=[],_=[],w=[],k=[],T=1,M=a.length;T<M;T++){var A=a[T],S=v[2*A],E=v[2*A+1];S<d?E<g?m.push(A):_.push(A):E<g?w.push(A):k.push(A)}return s<<=2,c.push(e(t,n,p,m,o,s),e(t,g,p,_,o,s+1),e(d,n,p,w,o,s+2),e(d,g,p,k,o,s+3)),f}(0,0,1,d,0,1);for(var w=0,k=0;k<y.length;k++){var T=y[k];if(d.set)d.set(T,w);else for(var M=0,A=T.length;M<A;M++)d[M+w]=T[M];var S=w+y[k].length;_[k]=[w,S],w=S}return d.range=function(){for(var t,r=[],o=arguments.length;o--;)r[o]=arguments[o];if(c(r[r.length-1])){var u=r.pop();r.length||null==u.x&&null==u.l&&null==u.left||(r=[u],t={}),t=s(u,{level:\"level maxLevel\",d:\"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize\",lod:\"lod details ranges offsets\"})}else t={};r.length||(r=i);var f,d=a.apply(void 0,r),v=[Math.min(d.x,d.x+d.width),Math.min(d.y,d.y+d.height),Math.max(d.x,d.x+d.width),Math.max(d.y,d.y+d.height)],g=v[0],m=v[1],w=v[2],k=v[3],T=p([g,m,w,k],i),M=T[0],A=T[1],S=T[2],C=T[3],L=l(t.level,y.length);if(null!=t.d&&(\"number\"==typeof t.d?f=[t.d,t.d]:t.d.length&&(f=t.d),L=Math.min(Math.max(Math.ceil(-h(Math.abs(f[0])/(i[2]-i[0]))),Math.ceil(-h(Math.abs(f[1])/(i[3]-i[1])))),L)),L=Math.min(L,y.length),t.lod)return function(e,t,r,i,a){for(var o=[],s=0;s<a;s++){var l=b[s],u=_[s][0],c=E(e,t,s),f=E(r,i,s),h=n.ge(l,c),p=n.gt(l,f,h,l.length-1);o[s]=[h+u,p+u]}return o}(M,A,S,C,L);var P=[];return function t(r,n,i,a,o,s){if(null!==o&&null!==s&&!(M>r+i||A>n+i||S<r||C<n||a>=L||o===s)){var l=y[a];void 0===s&&(s=l.length);for(var u=o;u<s;u++){var c=l[u],f=e[2*c],h=e[2*c+1];f>=g&&f<=w&&h>=m&&h<=k&&P.push(c)}var p=x[a],d=p[4*o+0],v=p[4*o+1],b=p[4*o+2],_=p[4*o+3],T=function(e,t){for(var r=null,n=0;null===r;)if(r=e[4*t+n],++n>e.length)return null;return r}(p,o+1),E=.5*i,O=a+1;t(r,n,E,O,d,v||b||_||T),t(r,n+E,E,O,v,b||_||T),t(r+E,n,E,O,b,_||T),t(r+E,n+E,E,O,_,T)}}(0,0,1,0,0,1),P},d;function E(e,t,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s<r;s++)n<<=2,n+=e<i?t<a?0:1:t<a?2:3,o*=.5,i+=e<i?-o:o,a+=t<a?-o:o;return n}}},30774:function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(60302),i=6378137;function a(e){var t=0;if(e&&e.length>0){t+=Math.abs(o(e[0]));for(var r=1;r<e.length;r++)t-=Math.abs(o(e[r]))}return t}function o(e){var t,r,n,a,o,l,u=0,c=e.length;if(c>2){for(l=0;l<c;l++)l===c-2?(n=c-2,a=c-1,o=0):l===c-1?(n=c-1,a=0,o=1):(n=l,a=l+1,o=l+2),t=e[n],r=e[a],u+=(s(e[o][0])-s(t[0]))*Math.sin(s(r[1]));u=u*i*i/2}return u}function s(e){return e*Math.PI/180}t.default=function(e){return n.geomReduce(e,(function(e,t){return e+function(e){var t,r=0;switch(e.type){case\"Polygon\":return a(e.coordinates);case\"MultiPolygon\":for(t=0;t<e.coordinates.length;t++)r+=a(e.coordinates[t]);return r;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0}return 0}(t)}),0)}},23132:function(e,t){\"use strict\";function r(e,t,r){void 0===r&&(r={});var n={type:\"Feature\"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function n(e,t,n){if(void 0===n&&(n={}),!e)throw new Error(\"coordinates is required\");if(!Array.isArray(e))throw new Error(\"coordinates must be an Array\");if(e.length<2)throw new Error(\"coordinates must be at least 2 numbers long\");if(!p(e[0])||!p(e[1]))throw new Error(\"coordinates must contain numbers\");return r({type:\"Point\",coordinates:e},t,n)}function i(e,t,n){void 0===n&&(n={});for(var i=0,a=e;i<a.length;i++){var o=a[i];if(o.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error(\"First and last Position are not equivalent.\")}return r({type:\"Polygon\",coordinates:e},t,n)}function a(e,t,n){if(void 0===n&&(n={}),e.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return r({type:\"LineString\",coordinates:e},t,n)}function o(e,t){void 0===t&&(t={});var r={type:\"FeatureCollection\"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function s(e,t,n){return void 0===n&&(n={}),r({type:\"MultiLineString\",coordinates:e},t,n)}function l(e,t,n){return void 0===n&&(n={}),r({type:\"MultiPoint\",coordinates:e},t,n)}function u(e,t,n){return void 0===n&&(n={}),r({type:\"MultiPolygon\",coordinates:e},t,n)}function c(e,r){void 0===r&&(r=\"kilometers\");var n=t.factors[r];if(!n)throw new Error(r+\" units is invalid\");return e*n}function f(e,r){void 0===r&&(r=\"kilometers\");var n=t.factors[r];if(!n)throw new Error(r+\" units is invalid\");return e/n}function h(e){return e%(2*Math.PI)*180/Math.PI}function p(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.earthRadius=6371008.8,t.factors={centimeters:100*t.earthRadius,centimetres:100*t.earthRadius,degrees:t.earthRadius/111325,feet:3.28084*t.earthRadius,inches:39.37*t.earthRadius,kilometers:t.earthRadius/1e3,kilometres:t.earthRadius/1e3,meters:t.earthRadius,metres:t.earthRadius,miles:t.earthRadius/1609.344,millimeters:1e3*t.earthRadius,millimetres:1e3*t.earthRadius,nauticalmiles:t.earthRadius/1852,radians:1,yards:1.0936*t.earthRadius},t.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/t.earthRadius,yards:1.0936133},t.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046},t.feature=r,t.geometry=function(e,t,r){switch(void 0===r&&(r={}),e){case\"Point\":return n(t).geometry;case\"LineString\":return a(t).geometry;case\"Polygon\":return i(t).geometry;case\"MultiPoint\":return l(t).geometry;case\"MultiLineString\":return s(t).geometry;case\"MultiPolygon\":return u(t).geometry;default:throw new Error(e+\" is invalid\")}},t.point=n,t.points=function(e,t,r){return void 0===r&&(r={}),o(e.map((function(e){return n(e,t)})),r)},t.polygon=i,t.polygons=function(e,t,r){return void 0===r&&(r={}),o(e.map((function(e){return i(e,t)})),r)},t.lineString=a,t.lineStrings=function(e,t,r){return void 0===r&&(r={}),o(e.map((function(e){return a(e,t)})),r)},t.featureCollection=o,t.multiLineString=s,t.multiPoint=l,t.multiPolygon=u,t.geometryCollection=function(e,t,n){return void 0===n&&(n={}),r({type:\"GeometryCollection\",geometries:e},t,n)},t.round=function(e,t){if(void 0===t&&(t=0),t&&!(t>=0))throw new Error(\"precision must be a positive number\");var r=Math.pow(10,t||0);return Math.round(e*r)/r},t.radiansToLength=c,t.lengthToRadians=f,t.lengthToDegrees=function(e,t){return h(f(e,t))},t.bearingToAzimuth=function(e){var t=e%360;return t<0&&(t+=360),t},t.radiansToDegrees=h,t.degreesToRadians=function(e){return e%360*Math.PI/180},t.convertLength=function(e,t,r){if(void 0===t&&(t=\"kilometers\"),void 0===r&&(r=\"kilometers\"),!(e>=0))throw new Error(\"length must be a positive number\");return c(f(e,t),r)},t.convertArea=function(e,r,n){if(void 0===r&&(r=\"meters\"),void 0===n&&(n=\"kilometers\"),!(e>=0))throw new Error(\"area must be a positive number\");var i=t.areaFactors[r];if(!i)throw new Error(\"invalid original units\");var a=t.areaFactors[n];if(!a)throw new Error(\"invalid final units\");return e/i*a},t.isNumber=p,t.isObject=function(e){return!!e&&e.constructor===Object},t.validateBBox=function(e){if(!e)throw new Error(\"bbox is required\");if(!Array.isArray(e))throw new Error(\"bbox must be an Array\");if(4!==e.length&&6!==e.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");e.forEach((function(e){if(!p(e))throw new Error(\"bbox must only contain numbers\")}))},t.validateId=function(e){if(!e)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof e))throw new Error(\"id must be a number or a string\")}},60302:function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(23132);function i(e,t,r){if(null!==e)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=e.type,v=\"FeatureCollection\"===d,g=\"Feature\"===d,m=v?e.features.length:1,y=0;y<m;y++){l=(f=!!(c=v?e.features[y].geometry:g?e.geometry:e)&&\"GeometryCollection\"===c.type)?c.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=f?c.geometries[x]:c)){u=s.coordinates;var w=s.type;switch(h=!r||\"Polygon\"!==w&&\"MultiPolygon\"!==w?0:1,w){case null:break;case\"Point\":if(!1===t(u,p,y,b,_))return!1;p++,b++;break;case\"LineString\":case\"MultiPoint\":for(n=0;n<u.length;n++){if(!1===t(u[n],p,y,b,_))return!1;p++,\"MultiPoint\"===w&&b++}\"LineString\"===w&&b++;break;case\"Polygon\":case\"MultiLineString\":for(n=0;n<u.length;n++){for(a=0;a<u[n].length-h;a++){if(!1===t(u[n][a],p,y,b,_))return!1;p++}\"MultiLineString\"===w&&b++,\"Polygon\"===w&&_++}\"Polygon\"===w&&b++;break;case\"MultiPolygon\":for(n=0;n<u.length;n++){for(_=0,a=0;a<u[n].length;a++){for(o=0;o<u[n][a].length-h;o++){if(!1===t(u[n][a][o],p,y,b,_))return!1;p++}_++}b++}break;case\"GeometryCollection\":for(n=0;n<s.geometries.length;n++)if(!1===i(s.geometries[n],t,r))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function a(e,t){var r;switch(e.type){case\"FeatureCollection\":for(r=0;r<e.features.length&&!1!==t(e.features[r].properties,r);r++);break;case\"Feature\":t(e.properties,0)}}function o(e,t){if(\"Feature\"===e.type)t(e,0);else if(\"FeatureCollection\"===e.type)for(var r=0;r<e.features.length&&!1!==t(e.features[r],r);r++);}function s(e,t){var r,n,i,a,o,s,l,u,c,f,h=0,p=\"FeatureCollection\"===e.type,d=\"Feature\"===e.type,v=p?e.features.length:1;for(r=0;r<v;r++){for(s=p?e.features[r].geometry:d?e.geometry:e,u=p?e.features[r].properties:d?e.properties:{},c=p?e.features[r].bbox:d?e.bbox:void 0,f=p?e.features[r].id:d?e.id:void 0,o=(l=!!s&&\"GeometryCollection\"===s.type)?s.geometries.length:1,i=0;i<o;i++)if(null!==(a=l?s.geometries[i]:s))switch(a.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":if(!1===t(a,h,u,c,f))return!1;break;case\"GeometryCollection\":for(n=0;n<a.geometries.length;n++)if(!1===t(a.geometries[n],h,u,c,f))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}else if(!1===t(null,h,u,c,f))return!1;h++}}function l(e,t){s(e,(function(e,r,i,a,o){var s,l=null===e?null:e.type;switch(l){case null:case\"Point\":case\"LineString\":case\"Polygon\":return!1!==t(n.feature(e,i,{bbox:a,id:o}),r,0)&&void 0}switch(l){case\"MultiPoint\":s=\"Point\";break;case\"MultiLineString\":s=\"LineString\";break;case\"MultiPolygon\":s=\"Polygon\"}for(var u=0;u<e.coordinates.length;u++){var c={type:s,coordinates:e.coordinates[u]};if(!1===t(n.feature(c,i),r,u))return!1}}))}function u(e,t){l(e,(function(e,r,a){var o=0;if(e.geometry){var s=e.geometry.type;if(\"Point\"!==s&&\"MultiPoint\"!==s){var l,u=0,c=0,f=0;return!1!==i(e,(function(i,s,h,p,d){if(void 0===l||r>u||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],e.properties);if(!1===t(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(e,t){if(!e)throw new Error(\"geojson is required\");l(e,(function(e,r,i){if(null!==e.geometry){var a=e.geometry.type,o=e.geometry.coordinates;switch(a){case\"LineString\":if(!1===t(e,r,i,0,0))return!1;break;case\"Polygon\":for(var s=0;s<o.length;s++)if(!1===t(n.lineString(o[s],e.properties),r,i,s))return!1}}}))}t.coordEach=i,t.coordReduce=function(e,t,r,n){var a=r;return i(e,(function(e,n,i,o,s){a=0===n&&void 0===r?e:t(a,e,n,i,o,s)}),n),a},t.propEach=a,t.propReduce=function(e,t,r){var n=r;return a(e,(function(e,i){n=0===i&&void 0===r?e:t(n,e,i)})),n},t.featureEach=o,t.featureReduce=function(e,t,r){var n=r;return o(e,(function(e,i){n=0===i&&void 0===r?e:t(n,e,i)})),n},t.coordAll=function(e){var t=[];return i(e,(function(e){t.push(e)})),t},t.geomEach=s,t.geomReduce=function(e,t,r){var n=r;return s(e,(function(e,i,a,o,s){n=0===i&&void 0===r?e:t(n,e,i,a,o,s)})),n},t.flattenEach=l,t.flattenReduce=function(e,t,r){var n=r;return l(e,(function(e,i,a){n=0===i&&0===a&&void 0===r?e:t(n,e,i,a)})),n},t.segmentEach=u,t.segmentReduce=function(e,t,r){var n=r,i=!1;return u(e,(function(e,a,o,s,l){n=!1===i&&void 0===r?e:t(n,e,a,o,s,l),i=!0})),n},t.lineEach=c,t.lineReduce=function(e,t,r){var n=r;return c(e,(function(e,i,a,o){n=0===i&&void 0===r?e:t(n,e,i,a,o)})),n},t.findSegment=function(e,t){if(t=t||{},!n.isObject(t))throw new Error(\"options is invalid\");var r,i=t.featureIndex||0,a=t.multiFeatureIndex||0,o=t.geometryIndex||0,s=t.segmentIndex||0,l=t.properties;switch(e.type){case\"FeatureCollection\":i<0&&(i=e.features.length+i),l=l||e.features[i].properties,r=e.features[i].geometry;break;case\"Feature\":l=l||e.properties,r=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=e;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var u=r.coordinates;switch(r.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return s<0&&(s=u.length+s-1),n.lineString([u[s],u[s+1]],l,t);case\"Polygon\":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s-1),n.lineString([u[o][s],u[o][s+1]],l,t);case\"MultiLineString\":return a<0&&(a=u.length+a),s<0&&(s=u[a].length+s-1),n.lineString([u[a][s],u[a][s+1]],l,t);case\"MultiPolygon\":return a<0&&(a=u.length+a),o<0&&(o=u[a].length+o),s<0&&(s=u[a][o].length-s-1),n.lineString([u[a][o][s],u[a][o][s+1]],l,t)}throw new Error(\"geojson is invalid\")},t.findPoint=function(e,t){if(t=t||{},!n.isObject(t))throw new Error(\"options is invalid\");var r,i=t.featureIndex||0,a=t.multiFeatureIndex||0,o=t.geometryIndex||0,s=t.coordIndex||0,l=t.properties;switch(e.type){case\"FeatureCollection\":i<0&&(i=e.features.length+i),l=l||e.features[i].properties,r=e.features[i].geometry;break;case\"Feature\":l=l||e.properties,r=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=e;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var u=r.coordinates;switch(r.type){case\"Point\":return n.point(u,l,t);case\"MultiPoint\":return a<0&&(a=u.length+a),n.point(u[a],l,t);case\"LineString\":return s<0&&(s=u.length+s),n.point(u[s],l,t);case\"Polygon\":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s),n.point(u[o][s],l,t);case\"MultiLineString\":return a<0&&(a=u.length+a),s<0&&(s=u[a].length+s),n.point(u[a][s],l,t);case\"MultiPolygon\":return a<0&&(a=u.length+a),o<0&&(o=u[a].length+o),s<0&&(s=u[a][o].length-s),n.point(u[a][o][s],l,t)}throw new Error(\"geojson is invalid\")}},85268:function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(27138);function i(e){var t=[1/0,1/0,-1/0,-1/0];return n.coordEach(e,(function(e){t[0]>e[0]&&(t[0]=e[0]),t[1]>e[1]&&(t[1]=e[1]),t[2]<e[0]&&(t[2]=e[0]),t[3]<e[1]&&(t[3]=e[1])})),t}i.default=i,t.default=i},94228:function(e,t){\"use strict\";function r(e,t,r){void 0===r&&(r={});var n={type:\"Feature\"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function n(e,t,n){if(void 0===n&&(n={}),!e)throw new Error(\"coordinates is required\");if(!Array.isArray(e))throw new Error(\"coordinates must be an Array\");if(e.length<2)throw new Error(\"coordinates must be at least 2 numbers long\");if(!p(e[0])||!p(e[1]))throw new Error(\"coordinates must contain numbers\");return r({type:\"Point\",coordinates:e},t,n)}function i(e,t,n){void 0===n&&(n={});for(var i=0,a=e;i<a.length;i++){var o=a[i];if(o.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error(\"First and last Position are not equivalent.\")}return r({type:\"Polygon\",coordinates:e},t,n)}function a(e,t,n){if(void 0===n&&(n={}),e.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return r({type:\"LineString\",coordinates:e},t,n)}function o(e,t){void 0===t&&(t={});var r={type:\"FeatureCollection\"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function s(e,t,n){return void 0===n&&(n={}),r({type:\"MultiLineString\",coordinates:e},t,n)}function l(e,t,n){return void 0===n&&(n={}),r({type:\"MultiPoint\",coordinates:e},t,n)}function u(e,t,n){return void 0===n&&(n={}),r({type:\"MultiPolygon\",coordinates:e},t,n)}function c(e,r){void 0===r&&(r=\"kilometers\");var n=t.factors[r];if(!n)throw new Error(r+\" units is invalid\");return e*n}function f(e,r){void 0===r&&(r=\"kilometers\");var n=t.factors[r];if(!n)throw new Error(r+\" units is invalid\");return e/n}function h(e){return e%(2*Math.PI)*180/Math.PI}function p(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.earthRadius=6371008.8,t.factors={centimeters:100*t.earthRadius,centimetres:100*t.earthRadius,degrees:t.earthRadius/111325,feet:3.28084*t.earthRadius,inches:39.37*t.earthRadius,kilometers:t.earthRadius/1e3,kilometres:t.earthRadius/1e3,meters:t.earthRadius,metres:t.earthRadius,miles:t.earthRadius/1609.344,millimeters:1e3*t.earthRadius,millimetres:1e3*t.earthRadius,nauticalmiles:t.earthRadius/1852,radians:1,yards:1.0936*t.earthRadius},t.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/t.earthRadius,yards:1.0936133},t.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046},t.feature=r,t.geometry=function(e,t,r){switch(void 0===r&&(r={}),e){case\"Point\":return n(t).geometry;case\"LineString\":return a(t).geometry;case\"Polygon\":return i(t).geometry;case\"MultiPoint\":return l(t).geometry;case\"MultiLineString\":return s(t).geometry;case\"MultiPolygon\":return u(t).geometry;default:throw new Error(e+\" is invalid\")}},t.point=n,t.points=function(e,t,r){return void 0===r&&(r={}),o(e.map((function(e){return n(e,t)})),r)},t.polygon=i,t.polygons=function(e,t,r){return void 0===r&&(r={}),o(e.map((function(e){return i(e,t)})),r)},t.lineString=a,t.lineStrings=function(e,t,r){return void 0===r&&(r={}),o(e.map((function(e){return a(e,t)})),r)},t.featureCollection=o,t.multiLineString=s,t.multiPoint=l,t.multiPolygon=u,t.geometryCollection=function(e,t,n){return void 0===n&&(n={}),r({type:\"GeometryCollection\",geometries:e},t,n)},t.round=function(e,t){if(void 0===t&&(t=0),t&&!(t>=0))throw new Error(\"precision must be a positive number\");var r=Math.pow(10,t||0);return Math.round(e*r)/r},t.radiansToLength=c,t.lengthToRadians=f,t.lengthToDegrees=function(e,t){return h(f(e,t))},t.bearingToAzimuth=function(e){var t=e%360;return t<0&&(t+=360),t},t.radiansToDegrees=h,t.degreesToRadians=function(e){return e%360*Math.PI/180},t.convertLength=function(e,t,r){if(void 0===t&&(t=\"kilometers\"),void 0===r&&(r=\"kilometers\"),!(e>=0))throw new Error(\"length must be a positive number\");return c(f(e,t),r)},t.convertArea=function(e,r,n){if(void 0===r&&(r=\"meters\"),void 0===n&&(n=\"kilometers\"),!(e>=0))throw new Error(\"area must be a positive number\");var i=t.areaFactors[r];if(!i)throw new Error(\"invalid original units\");var a=t.areaFactors[n];if(!a)throw new Error(\"invalid final units\");return e/i*a},t.isNumber=p,t.isObject=function(e){return!!e&&e.constructor===Object},t.validateBBox=function(e){if(!e)throw new Error(\"bbox is required\");if(!Array.isArray(e))throw new Error(\"bbox must be an Array\");if(4!==e.length&&6!==e.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");e.forEach((function(e){if(!p(e))throw new Error(\"bbox must only contain numbers\")}))},t.validateId=function(e){if(!e)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof e))throw new Error(\"id must be a number or a string\")}},27138:function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(94228);function i(e,t,r){if(null!==e)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=e.type,v=\"FeatureCollection\"===d,g=\"Feature\"===d,m=v?e.features.length:1,y=0;y<m;y++){l=(f=!!(c=v?e.features[y].geometry:g?e.geometry:e)&&\"GeometryCollection\"===c.type)?c.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=f?c.geometries[x]:c)){u=s.coordinates;var w=s.type;switch(h=!r||\"Polygon\"!==w&&\"MultiPolygon\"!==w?0:1,w){case null:break;case\"Point\":if(!1===t(u,p,y,b,_))return!1;p++,b++;break;case\"LineString\":case\"MultiPoint\":for(n=0;n<u.length;n++){if(!1===t(u[n],p,y,b,_))return!1;p++,\"MultiPoint\"===w&&b++}\"LineString\"===w&&b++;break;case\"Polygon\":case\"MultiLineString\":for(n=0;n<u.length;n++){for(a=0;a<u[n].length-h;a++){if(!1===t(u[n][a],p,y,b,_))return!1;p++}\"MultiLineString\"===w&&b++,\"Polygon\"===w&&_++}\"Polygon\"===w&&b++;break;case\"MultiPolygon\":for(n=0;n<u.length;n++){for(_=0,a=0;a<u[n].length;a++){for(o=0;o<u[n][a].length-h;o++){if(!1===t(u[n][a][o],p,y,b,_))return!1;p++}_++}b++}break;case\"GeometryCollection\":for(n=0;n<s.geometries.length;n++)if(!1===i(s.geometries[n],t,r))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function a(e,t){var r;switch(e.type){case\"FeatureCollection\":for(r=0;r<e.features.length&&!1!==t(e.features[r].properties,r);r++);break;case\"Feature\":t(e.properties,0)}}function o(e,t){if(\"Feature\"===e.type)t(e,0);else if(\"FeatureCollection\"===e.type)for(var r=0;r<e.features.length&&!1!==t(e.features[r],r);r++);}function s(e,t){var r,n,i,a,o,s,l,u,c,f,h=0,p=\"FeatureCollection\"===e.type,d=\"Feature\"===e.type,v=p?e.features.length:1;for(r=0;r<v;r++){for(s=p?e.features[r].geometry:d?e.geometry:e,u=p?e.features[r].properties:d?e.properties:{},c=p?e.features[r].bbox:d?e.bbox:void 0,f=p?e.features[r].id:d?e.id:void 0,o=(l=!!s&&\"GeometryCollection\"===s.type)?s.geometries.length:1,i=0;i<o;i++)if(null!==(a=l?s.geometries[i]:s))switch(a.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":if(!1===t(a,h,u,c,f))return!1;break;case\"GeometryCollection\":for(n=0;n<a.geometries.length;n++)if(!1===t(a.geometries[n],h,u,c,f))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}else if(!1===t(null,h,u,c,f))return!1;h++}}function l(e,t){s(e,(function(e,r,i,a,o){var s,l=null===e?null:e.type;switch(l){case null:case\"Point\":case\"LineString\":case\"Polygon\":return!1!==t(n.feature(e,i,{bbox:a,id:o}),r,0)&&void 0}switch(l){case\"MultiPoint\":s=\"Point\";break;case\"MultiLineString\":s=\"LineString\";break;case\"MultiPolygon\":s=\"Polygon\"}for(var u=0;u<e.coordinates.length;u++){var c={type:s,coordinates:e.coordinates[u]};if(!1===t(n.feature(c,i),r,u))return!1}}))}function u(e,t){l(e,(function(e,r,a){var o=0;if(e.geometry){var s=e.geometry.type;if(\"Point\"!==s&&\"MultiPoint\"!==s){var l,u=0,c=0,f=0;return!1!==i(e,(function(i,s,h,p,d){if(void 0===l||r>u||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],e.properties);if(!1===t(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(e,t){if(!e)throw new Error(\"geojson is required\");l(e,(function(e,r,i){if(null!==e.geometry){var a=e.geometry.type,o=e.geometry.coordinates;switch(a){case\"LineString\":if(!1===t(e,r,i,0,0))return!1;break;case\"Polygon\":for(var s=0;s<o.length;s++)if(!1===t(n.lineString(o[s],e.properties),r,i,s))return!1}}}))}t.coordEach=i,t.coordReduce=function(e,t,r,n){var a=r;return i(e,(function(e,n,i,o,s){a=0===n&&void 0===r?e:t(a,e,n,i,o,s)}),n),a},t.propEach=a,t.propReduce=function(e,t,r){var n=r;return a(e,(function(e,i){n=0===i&&void 0===r?e:t(n,e,i)})),n},t.featureEach=o,t.featureReduce=function(e,t,r){var n=r;return o(e,(function(e,i){n=0===i&&void 0===r?e:t(n,e,i)})),n},t.coordAll=function(e){var t=[];return i(e,(function(e){t.push(e)})),t},t.geomEach=s,t.geomReduce=function(e,t,r){var n=r;return s(e,(function(e,i,a,o,s){n=0===i&&void 0===r?e:t(n,e,i,a,o,s)})),n},t.flattenEach=l,t.flattenReduce=function(e,t,r){var n=r;return l(e,(function(e,i,a){n=0===i&&0===a&&void 0===r?e:t(n,e,i,a)})),n},t.segmentEach=u,t.segmentReduce=function(e,t,r){var n=r,i=!1;return u(e,(function(e,a,o,s,l){n=!1===i&&void 0===r?e:t(n,e,a,o,s,l),i=!0})),n},t.lineEach=c,t.lineReduce=function(e,t,r){var n=r;return c(e,(function(e,i,a,o){n=0===i&&void 0===r?e:t(n,e,i,a,o)})),n},t.findSegment=function(e,t){if(t=t||{},!n.isObject(t))throw new Error(\"options is invalid\");var r,i=t.featureIndex||0,a=t.multiFeatureIndex||0,o=t.geometryIndex||0,s=t.segmentIndex||0,l=t.properties;switch(e.type){case\"FeatureCollection\":i<0&&(i=e.features.length+i),l=l||e.features[i].properties,r=e.features[i].geometry;break;case\"Feature\":l=l||e.properties,r=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=e;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var u=r.coordinates;switch(r.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return s<0&&(s=u.length+s-1),n.lineString([u[s],u[s+1]],l,t);case\"Polygon\":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s-1),n.lineString([u[o][s],u[o][s+1]],l,t);case\"MultiLineString\":return a<0&&(a=u.length+a),s<0&&(s=u[a].length+s-1),n.lineString([u[a][s],u[a][s+1]],l,t);case\"MultiPolygon\":return a<0&&(a=u.length+a),o<0&&(o=u[a].length+o),s<0&&(s=u[a][o].length-s-1),n.lineString([u[a][o][s],u[a][o][s+1]],l,t)}throw new Error(\"geojson is invalid\")},t.findPoint=function(e,t){if(t=t||{},!n.isObject(t))throw new Error(\"options is invalid\");var r,i=t.featureIndex||0,a=t.multiFeatureIndex||0,o=t.geometryIndex||0,s=t.coordIndex||0,l=t.properties;switch(e.type){case\"FeatureCollection\":i<0&&(i=e.features.length+i),l=l||e.features[i].properties,r=e.features[i].geometry;break;case\"Feature\":l=l||e.properties,r=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=e;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var u=r.coordinates;switch(r.type){case\"Point\":return n.point(u,l,t);case\"MultiPoint\":return a<0&&(a=u.length+a),n.point(u[a],l,t);case\"LineString\":return s<0&&(s=u.length+s),n.point(u[s],l,t);case\"Polygon\":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s),n.point(u[o][s],l,t);case\"MultiLineString\":return a<0&&(a=u.length+a),s<0&&(s=u[a].length+s),n.point(u[a][s],l,t);case\"MultiPolygon\":return a<0&&(a=u.length+a),o<0&&(o=u[a].length+o),s<0&&(s=u[a][o].length-s),n.point(u[a][o][s],l,t)}throw new Error(\"geojson is invalid\")}},29261:function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(88553),i=r(64182);t.default=function(e,t){void 0===t&&(t={});var r=0,a=0,o=0;return n.coordEach(e,(function(e){r+=e[0],a+=e[1],o++})),i.point([r/o,a/o],t.properties)}},64182:function(e,t){\"use strict\";function r(e,t,r){void 0===r&&(r={});var n={type:\"Feature\"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function n(e,t,n){return void 0===n&&(n={}),r({type:\"Point\",coordinates:e},t,n)}function i(e,t,n){void 0===n&&(n={});for(var i=0,a=e;i<a.length;i++){var o=a[i];if(o.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error(\"First and last Position are not equivalent.\")}return r({type:\"Polygon\",coordinates:e},t,n)}function a(e,t,n){if(void 0===n&&(n={}),e.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return r({type:\"LineString\",coordinates:e},t,n)}function o(e,t){void 0===t&&(t={});var r={type:\"FeatureCollection\"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function s(e,t,n){return void 0===n&&(n={}),r({type:\"MultiLineString\",coordinates:e},t,n)}function l(e,t,n){return void 0===n&&(n={}),r({type:\"MultiPoint\",coordinates:e},t,n)}function u(e,t,n){return void 0===n&&(n={}),r({type:\"MultiPolygon\",coordinates:e},t,n)}function c(e,r){void 0===r&&(r=\"kilometers\");var n=t.factors[r];if(!n)throw new Error(r+\" units is invalid\");return e*n}function f(e,r){void 0===r&&(r=\"kilometers\");var n=t.factors[r];if(!n)throw new Error(r+\" units is invalid\");return e/n}function h(e){return e%(2*Math.PI)*180/Math.PI}function p(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)&&!/^\\s*$/.test(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.earthRadius=6371008.8,t.factors={centimeters:100*t.earthRadius,centimetres:100*t.earthRadius,degrees:t.earthRadius/111325,feet:3.28084*t.earthRadius,inches:39.37*t.earthRadius,kilometers:t.earthRadius/1e3,kilometres:t.earthRadius/1e3,meters:t.earthRadius,metres:t.earthRadius,miles:t.earthRadius/1609.344,millimeters:1e3*t.earthRadius,millimetres:1e3*t.earthRadius,nauticalmiles:t.earthRadius/1852,radians:1,yards:t.earthRadius/1.0936},t.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/t.earthRadius,yards:1/1.0936},t.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046},t.feature=r,t.geometry=function(e,t,r){switch(void 0===r&&(r={}),e){case\"Point\":return n(t).geometry;case\"LineString\":return a(t).geometry;case\"Polygon\":return i(t).geometry;case\"MultiPoint\":return l(t).geometry;case\"MultiLineString\":return s(t).geometry;case\"MultiPolygon\":return u(t).geometry;default:throw new Error(e+\" is invalid\")}},t.point=n,t.points=function(e,t,r){return void 0===r&&(r={}),o(e.map((function(e){return n(e,t)})),r)},t.polygon=i,t.polygons=function(e,t,r){return void 0===r&&(r={}),o(e.map((function(e){return i(e,t)})),r)},t.lineString=a,t.lineStrings=function(e,t,r){return void 0===r&&(r={}),o(e.map((function(e){return a(e,t)})),r)},t.featureCollection=o,t.multiLineString=s,t.multiPoint=l,t.multiPolygon=u,t.geometryCollection=function(e,t,n){return void 0===n&&(n={}),r({type:\"GeometryCollection\",geometries:e},t,n)},t.round=function(e,t){if(void 0===t&&(t=0),t&&!(t>=0))throw new Error(\"precision must be a positive number\");var r=Math.pow(10,t||0);return Math.round(e*r)/r},t.radiansToLength=c,t.lengthToRadians=f,t.lengthToDegrees=function(e,t){return h(f(e,t))},t.bearingToAzimuth=function(e){var t=e%360;return t<0&&(t+=360),t},t.radiansToDegrees=h,t.degreesToRadians=function(e){return e%360*Math.PI/180},t.convertLength=function(e,t,r){if(void 0===t&&(t=\"kilometers\"),void 0===r&&(r=\"kilometers\"),!(e>=0))throw new Error(\"length must be a positive number\");return c(f(e,t),r)},t.convertArea=function(e,r,n){if(void 0===r&&(r=\"meters\"),void 0===n&&(n=\"kilometers\"),!(e>=0))throw new Error(\"area must be a positive number\");var i=t.areaFactors[r];if(!i)throw new Error(\"invalid original units\");var a=t.areaFactors[n];if(!a)throw new Error(\"invalid final units\");return e/i*a},t.isNumber=p,t.isObject=function(e){return!!e&&e.constructor===Object},t.validateBBox=function(e){if(!e)throw new Error(\"bbox is required\");if(!Array.isArray(e))throw new Error(\"bbox must be an Array\");if(4!==e.length&&6!==e.length)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");e.forEach((function(e){if(!p(e))throw new Error(\"bbox must only contain numbers\")}))},t.validateId=function(e){if(!e)throw new Error(\"id is required\");if(-1===[\"string\",\"number\"].indexOf(typeof e))throw new Error(\"id must be a number or a string\")},t.radians2degrees=function(){throw new Error(\"method has been renamed to `radiansToDegrees`\")},t.degrees2radians=function(){throw new Error(\"method has been renamed to `degreesToRadians`\")},t.distanceToDegrees=function(){throw new Error(\"method has been renamed to `lengthToDegrees`\")},t.distanceToRadians=function(){throw new Error(\"method has been renamed to `lengthToRadians`\")},t.radiansToDistance=function(){throw new Error(\"method has been renamed to `radiansToLength`\")},t.bearingToAngle=function(){throw new Error(\"method has been renamed to `bearingToAzimuth`\")},t.convertDistance=function(){throw new Error(\"method has been renamed to `convertLength`\")}},88553:function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(64182);function i(e,t,r){if(null!==e)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=e.type,v=\"FeatureCollection\"===d,g=\"Feature\"===d,m=v?e.features.length:1,y=0;y<m;y++){l=(f=!!(c=v?e.features[y].geometry:g?e.geometry:e)&&\"GeometryCollection\"===c.type)?c.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=f?c.geometries[x]:c)){u=s.coordinates;var w=s.type;switch(h=!r||\"Polygon\"!==w&&\"MultiPolygon\"!==w?0:1,w){case null:break;case\"Point\":if(!1===t(u,p,y,b,_))return!1;p++,b++;break;case\"LineString\":case\"MultiPoint\":for(n=0;n<u.length;n++){if(!1===t(u[n],p,y,b,_))return!1;p++,\"MultiPoint\"===w&&b++}\"LineString\"===w&&b++;break;case\"Polygon\":case\"MultiLineString\":for(n=0;n<u.length;n++){for(a=0;a<u[n].length-h;a++){if(!1===t(u[n][a],p,y,b,_))return!1;p++}\"MultiLineString\"===w&&b++,\"Polygon\"===w&&_++}\"Polygon\"===w&&b++;break;case\"MultiPolygon\":for(n=0;n<u.length;n++){for(_=0,a=0;a<u[n].length;a++){for(o=0;o<u[n][a].length-h;o++){if(!1===t(u[n][a][o],p,y,b,_))return!1;p++}_++}b++}break;case\"GeometryCollection\":for(n=0;n<s.geometries.length;n++)if(!1===i(s.geometries[n],t,r))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function a(e,t){var r;switch(e.type){case\"FeatureCollection\":for(r=0;r<e.features.length&&!1!==t(e.features[r].properties,r);r++);break;case\"Feature\":t(e.properties,0)}}function o(e,t){if(\"Feature\"===e.type)t(e,0);else if(\"FeatureCollection\"===e.type)for(var r=0;r<e.features.length&&!1!==t(e.features[r],r);r++);}function s(e,t){var r,n,i,a,o,s,l,u,c,f,h=0,p=\"FeatureCollection\"===e.type,d=\"Feature\"===e.type,v=p?e.features.length:1;for(r=0;r<v;r++){for(s=p?e.features[r].geometry:d?e.geometry:e,u=p?e.features[r].properties:d?e.properties:{},c=p?e.features[r].bbox:d?e.bbox:void 0,f=p?e.features[r].id:d?e.id:void 0,o=(l=!!s&&\"GeometryCollection\"===s.type)?s.geometries.length:1,i=0;i<o;i++)if(null!==(a=l?s.geometries[i]:s))switch(a.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":if(!1===t(a,h,u,c,f))return!1;break;case\"GeometryCollection\":for(n=0;n<a.geometries.length;n++)if(!1===t(a.geometries[n],h,u,c,f))return!1;break;default:throw new Error(\"Unknown Geometry Type\")}else if(!1===t(null,h,u,c,f))return!1;h++}}function l(e,t){s(e,(function(e,r,i,a,o){var s,l=null===e?null:e.type;switch(l){case null:case\"Point\":case\"LineString\":case\"Polygon\":return!1!==t(n.feature(e,i,{bbox:a,id:o}),r,0)&&void 0}switch(l){case\"MultiPoint\":s=\"Point\";break;case\"MultiLineString\":s=\"LineString\";break;case\"MultiPolygon\":s=\"Polygon\"}for(var u=0;u<e.coordinates.length;u++){var c={type:s,coordinates:e.coordinates[u]};if(!1===t(n.feature(c,i),r,u))return!1}}))}function u(e,t){l(e,(function(e,r,a){var o=0;if(e.geometry){var s=e.geometry.type;if(\"Point\"!==s&&\"MultiPoint\"!==s){var l,u=0,c=0,f=0;return!1!==i(e,(function(i,s,h,p,d){if(void 0===l||r>u||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],e.properties);if(!1===t(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(e,t){if(!e)throw new Error(\"geojson is required\");l(e,(function(e,r,i){if(null!==e.geometry){var a=e.geometry.type,o=e.geometry.coordinates;switch(a){case\"LineString\":if(!1===t(e,r,i,0,0))return!1;break;case\"Polygon\":for(var s=0;s<o.length;s++)if(!1===t(n.lineString(o[s],e.properties),r,i,s))return!1}}}))}t.coordEach=i,t.coordReduce=function(e,t,r,n){var a=r;return i(e,(function(e,n,i,o,s){a=0===n&&void 0===r?e:t(a,e,n,i,o,s)}),n),a},t.propEach=a,t.propReduce=function(e,t,r){var n=r;return a(e,(function(e,i){n=0===i&&void 0===r?e:t(n,e,i)})),n},t.featureEach=o,t.featureReduce=function(e,t,r){var n=r;return o(e,(function(e,i){n=0===i&&void 0===r?e:t(n,e,i)})),n},t.coordAll=function(e){var t=[];return i(e,(function(e){t.push(e)})),t},t.geomEach=s,t.geomReduce=function(e,t,r){var n=r;return s(e,(function(e,i,a,o,s){n=0===i&&void 0===r?e:t(n,e,i,a,o,s)})),n},t.flattenEach=l,t.flattenReduce=function(e,t,r){var n=r;return l(e,(function(e,i,a){n=0===i&&0===a&&void 0===r?e:t(n,e,i,a)})),n},t.segmentEach=u,t.segmentReduce=function(e,t,r){var n=r,i=!1;return u(e,(function(e,a,o,s,l){n=!1===i&&void 0===r?e:t(n,e,a,o,s,l),i=!0})),n},t.lineEach=c,t.lineReduce=function(e,t,r){var n=r;return c(e,(function(e,i,a,o){n=0===i&&void 0===r?e:t(n,e,i,a,o)})),n},t.findSegment=function(e,t){if(t=t||{},!n.isObject(t))throw new Error(\"options is invalid\");var r,i=t.featureIndex||0,a=t.multiFeatureIndex||0,o=t.geometryIndex||0,s=t.segmentIndex||0,l=t.properties;switch(e.type){case\"FeatureCollection\":i<0&&(i=e.features.length+i),l=l||e.features[i].properties,r=e.features[i].geometry;break;case\"Feature\":l=l||e.properties,r=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=e;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var u=r.coordinates;switch(r.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return s<0&&(s=u.length+s-1),n.lineString([u[s],u[s+1]],l,t);case\"Polygon\":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s-1),n.lineString([u[o][s],u[o][s+1]],l,t);case\"MultiLineString\":return a<0&&(a=u.length+a),s<0&&(s=u[a].length+s-1),n.lineString([u[a][s],u[a][s+1]],l,t);case\"MultiPolygon\":return a<0&&(a=u.length+a),o<0&&(o=u[a].length+o),s<0&&(s=u[a][o].length-s-1),n.lineString([u[a][o][s],u[a][o][s+1]],l,t)}throw new Error(\"geojson is invalid\")},t.findPoint=function(e,t){if(t=t||{},!n.isObject(t))throw new Error(\"options is invalid\");var r,i=t.featureIndex||0,a=t.multiFeatureIndex||0,o=t.geometryIndex||0,s=t.coordIndex||0,l=t.properties;switch(e.type){case\"FeatureCollection\":i<0&&(i=e.features.length+i),l=l||e.features[i].properties,r=e.features[i].geometry;break;case\"Feature\":l=l||e.properties,r=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":r=e;break;default:throw new Error(\"geojson is invalid\")}if(null===r)return null;var u=r.coordinates;switch(r.type){case\"Point\":return n.point(u,l,t);case\"MultiPoint\":return a<0&&(a=u.length+a),n.point(u[a],l,t);case\"LineString\":return s<0&&(s=u.length+s),n.point(u[s],l,t);case\"Polygon\":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s),n.point(u[o][s],l,t);case\"MultiLineString\":return a<0&&(a=u.length+a),s<0&&(s=u[a].length+s),n.point(u[a][s],l,t);case\"MultiPolygon\":return a<0&&(a=u.length+a),o<0&&(o=u[a].length+o),s<0&&(s=u[a][o].length-s),n.point(u[a][o][s],l,t)}throw new Error(\"geojson is invalid\")}},65185:function(e){e.exports=function(e){var t=0,r=0,n=0,i=0;return e.map((function(e){var a=(e=e.slice())[0],o=a.toUpperCase();if(a!=o)switch(e[0]=o,a){case\"a\":e[6]+=n,e[7]+=i;break;case\"v\":e[1]+=i;break;case\"h\":e[1]+=n;break;default:for(var s=1;s<e.length;)e[s++]+=n,e[s++]+=i}switch(o){case\"Z\":n=t,i=r;break;case\"H\":n=e[1];break;case\"V\":i=e[1];break;case\"M\":n=t=e[1],i=r=e[2];break;default:n=e[e.length-2],i=e[e.length-1]}return e}))}},21527:function(e){\"use strict\";e.exports=function(e,t){if(!e||null==e.length)throw Error(\"Argument should be an array\");t=null==t?1:Math.floor(t);for(var r=Array(2*t),n=0;n<t;n++){for(var i=-1/0,a=1/0,o=n,s=e.length;o<s;o+=t)e[o]>i&&(i=e[o]),e[o]<a&&(a=e[o]);r[n]=a,r[t+n]=i}return r}},6851:function(e){\"use strict\";e.exports=function(e,t,r){if(\"function\"==typeof Array.prototype.findIndex)return e.findIndex(t,r);if(\"function\"!=typeof t)throw new TypeError(\"predicate must be a function\");var n=Object(e),i=n.length;if(0===i)return-1;for(var a=0;a<i;a++)if(t.call(r,n[a],a,n))return a;return-1}},54:function(e,t,r){\"use strict\";var n=r(21527);e.exports=function(e,t,r){if(!e||null==e.length)throw Error(\"Argument should be an array\");null==t&&(t=1),null==r&&(r=n(e,t));for(var i=0;i<t;i++){var a=r[t+i],o=r[i],s=i,l=e.length;if(a===1/0&&o===-1/0)for(s=i;s<l;s+=t)e[s]=e[s]===a?1:e[s]===o?0:.5;else if(a===1/0)for(s=i;s<l;s+=t)e[s]=e[s]===a?1:0;else if(o===-1/0)for(s=i;s<l;s+=t)e[s]=e[s]===o?0:1;else{var u=a-o;for(s=i;s<l;s+=t)isNaN(e[s])||(e[s]=0===u?.5:(e[s]-o)/u)}}return e}},57471:function(e){e.exports=function(e,t){var r=\"number\"==typeof e,n=\"number\"==typeof t;r&&!n?(t=e,e=0):r||n||(e=0,t=0);var i=(t|=0)-(e|=0);if(i<0)throw new Error(\"array length must be positive\");for(var a=new Array(i),o=0,s=e;o<i;o++,s++)a[o]=s;return a}},32791:function(e,t,r){\"use strict\";var n=r(90386);function i(e){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}var a,o,s=r(79616).codes,l=s.ERR_AMBIGUOUS_ARGUMENT,u=s.ERR_INVALID_ARG_TYPE,c=s.ERR_INVALID_ARG_VALUE,f=s.ERR_INVALID_RETURN_VALUE,h=s.ERR_MISSING_ARGS,p=r(73894),d=r(43827).inspect,v=r(43827).types,g=v.isPromise,m=v.isRegExp,y=Object.assign?Object.assign:r(73523).assign,x=Object.is?Object.is:r(64003);function b(){var e=r(74061);a=e.isDeepEqual,o=e.isDeepStrictEqual}new Map;var _=!1,w=e.exports=A,k={};function T(e){if(e.message instanceof Error)throw e.message;throw new p(e)}function M(e,t,r,n){if(!r){var i=!1;if(0===t)i=!0,n=\"No value argument passed to `assert.ok()`\";else if(n instanceof Error)throw n;var a=new p({actual:r,expected:!0,message:n,operator:\"==\",stackStartFn:e});throw a.generatedMessage=i,a}}function A(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];M.apply(void 0,[A,t.length].concat(t))}w.fail=function e(t,r,i,a,o){var s,l=arguments.length;if(0===l?s=\"Failed\":1===l?(i=t,t=void 0):(!1===_&&(_=!0,(n.emitWarning?n.emitWarning:console.warn.bind(console))(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\",\"DeprecationWarning\",\"DEP0094\")),2===l&&(a=\"!=\")),i instanceof Error)throw i;var u={actual:t,expected:r,operator:void 0===a?\"fail\":a,stackStartFn:o||e};void 0!==i&&(u.message=i);var c=new p(u);throw s&&(c.message=s,c.generatedMessage=!0),c},w.AssertionError=p,w.ok=A,w.equal=function e(t,r,n){if(arguments.length<2)throw new h(\"actual\",\"expected\");t!=r&&T({actual:t,expected:r,message:n,operator:\"==\",stackStartFn:e})},w.notEqual=function e(t,r,n){if(arguments.length<2)throw new h(\"actual\",\"expected\");t==r&&T({actual:t,expected:r,message:n,operator:\"!=\",stackStartFn:e})},w.deepEqual=function e(t,r,n){if(arguments.length<2)throw new h(\"actual\",\"expected\");void 0===a&&b(),a(t,r)||T({actual:t,expected:r,message:n,operator:\"deepEqual\",stackStartFn:e})},w.notDeepEqual=function e(t,r,n){if(arguments.length<2)throw new h(\"actual\",\"expected\");void 0===a&&b(),a(t,r)&&T({actual:t,expected:r,message:n,operator:\"notDeepEqual\",stackStartFn:e})},w.deepStrictEqual=function e(t,r,n){if(arguments.length<2)throw new h(\"actual\",\"expected\");void 0===a&&b(),o(t,r)||T({actual:t,expected:r,message:n,operator:\"deepStrictEqual\",stackStartFn:e})},w.notDeepStrictEqual=function e(t,r,n){if(arguments.length<2)throw new h(\"actual\",\"expected\");void 0===a&&b(),o(t,r)&&T({actual:t,expected:r,message:n,operator:\"notDeepStrictEqual\",stackStartFn:e})},w.strictEqual=function e(t,r,n){if(arguments.length<2)throw new h(\"actual\",\"expected\");x(t,r)||T({actual:t,expected:r,message:n,operator:\"strictEqual\",stackStartFn:e})},w.notStrictEqual=function e(t,r,n){if(arguments.length<2)throw new h(\"actual\",\"expected\");x(t,r)&&T({actual:t,expected:r,message:n,operator:\"notStrictEqual\",stackStartFn:e})};var S=function e(t,r,n){var i=this;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),r.forEach((function(e){e in t&&(void 0!==n&&\"string\"==typeof n[e]&&m(t[e])&&t[e].test(n[e])?i[e]=n[e]:i[e]=t[e])}))};function E(e,t,r,n){if(\"function\"!=typeof t){if(m(t))return t.test(e);if(2===arguments.length)throw new u(\"expected\",[\"Function\",\"RegExp\"],t);if(\"object\"!==i(e)||null===e){var s=new p({actual:e,expected:t,message:r,operator:\"deepStrictEqual\",stackStartFn:n});throw s.operator=n.name,s}var l=Object.keys(t);if(t instanceof Error)l.push(\"name\",\"message\");else if(0===l.length)throw new c(\"error\",t,\"may not be an empty object\");return void 0===a&&b(),l.forEach((function(i){\"string\"==typeof e[i]&&m(t[i])&&t[i].test(e[i])||function(e,t,r,n,i,a){if(!(r in e)||!o(e[r],t[r])){if(!n){var s=new S(e,i),l=new S(t,i,e),u=new p({actual:s,expected:l,operator:\"deepStrictEqual\",stackStartFn:a});throw u.actual=e,u.expected=t,u.operator=a.name,u}T({actual:e,expected:t,message:n,operator:a.name,stackStartFn:a})}}(e,t,i,r,l,n)})),!0}return void 0!==t.prototype&&e instanceof t||!Error.isPrototypeOf(t)&&!0===t.call({},e)}function C(e){if(\"function\"!=typeof e)throw new u(\"fn\",\"Function\",e);try{e()}catch(e){return e}return k}function L(e){return g(e)||null!==e&&\"object\"===i(e)&&\"function\"==typeof e.then&&\"function\"==typeof e.catch}function P(e){return Promise.resolve().then((function(){var t;if(\"function\"==typeof e){if(!L(t=e()))throw new f(\"instance of Promise\",\"promiseFn\",t)}else{if(!L(e))throw new u(\"promiseFn\",[\"Function\",\"Promise\"],e);t=e}return Promise.resolve().then((function(){return t})).then((function(){return k})).catch((function(e){return e}))}))}function O(e,t,r,n){if(\"string\"==typeof r){if(4===arguments.length)throw new u(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r);if(\"object\"===i(t)&&null!==t){if(t.message===r)throw new l(\"error/message\",'The error message \"'.concat(t.message,'\" is identical to the message.'))}else if(t===r)throw new l(\"error/message\",'The error \"'.concat(t,'\" is identical to the message.'));n=r,r=void 0}else if(null!=r&&\"object\"!==i(r)&&\"function\"!=typeof r)throw new u(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r);if(t===k){var a=\"\";r&&r.name&&(a+=\" (\".concat(r.name,\")\")),a+=n?\": \".concat(n):\".\";var o=\"rejects\"===e.name?\"rejection\":\"exception\";T({actual:void 0,expected:r,operator:e.name,message:\"Missing expected \".concat(o).concat(a),stackStartFn:e})}if(r&&!E(t,r,n,e))throw t}function I(e,t,r,n){if(t!==k){if(\"string\"==typeof r&&(n=r,r=void 0),!r||E(t,r)){var i=n?\": \".concat(n):\".\",a=\"doesNotReject\"===e.name?\"rejection\":\"exception\";T({actual:t,expected:r,operator:e.name,message:\"Got unwanted \".concat(a).concat(i,\"\\n\")+'Actual message: \"'.concat(t&&t.message,'\"'),stackStartFn:e})}throw t}}function D(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];M.apply(void 0,[D,t.length].concat(t))}w.throws=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];O.apply(void 0,[e,C(t)].concat(n))},w.rejects=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return P(t).then((function(t){return O.apply(void 0,[e,t].concat(n))}))},w.doesNotThrow=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];I.apply(void 0,[e,C(t)].concat(n))},w.doesNotReject=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return P(t).then((function(t){return I.apply(void 0,[e,t].concat(n))}))},w.ifError=function e(t){if(null!=t){var r=\"ifError got unwanted exception: \";\"object\"===i(t)&&\"string\"==typeof t.message?0===t.message.length&&t.constructor?r+=t.constructor.name:r+=t.message:r+=d(t);var n=new p({actual:t,expected:null,operator:\"ifError\",message:r,stackStartFn:e}),a=t.stack;if(\"string\"==typeof a){var o=a.split(\"\\n\");o.shift();for(var s=n.stack.split(\"\\n\"),l=0;l<o.length;l++){var u=s.indexOf(o[l]);if(-1!==u){s=s.slice(0,u);break}}n.stack=\"\".concat(s.join(\"\\n\"),\"\\n\").concat(o.join(\"\\n\"))}throw n}},w.strict=y(D,w,{equal:w.strictEqual,deepEqual:w.deepStrictEqual,notEqual:w.notStrictEqual,notDeepEqual:w.notDeepStrictEqual}),w.strict.strict=w.strict},73894:function(e,t,r){\"use strict\";var n=r(90386);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function o(e,t){return!t||\"object\"!==h(t)&&\"function\"!=typeof t?s(e):t}function s(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function l(e){var t=\"function\"==typeof Map?new Map:void 0;return l=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf(\"[native code]\")))return e;var r;if(\"function\"!=typeof e)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return u(e,arguments,f(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),c(n,e)},l(e)}function u(e,t,r){return u=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var i=new(Function.bind.apply(e,n));return r&&c(i,r.prototype),i},u.apply(null,arguments)}function c(e,t){return c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},c(e,t)}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function h(e){return h=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},h(e)}var p=r(43827).inspect,d=r(79616).codes.ERR_INVALID_ARG_TYPE;function v(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}var g=\"\",m=\"\",y=\"\",x=\"\",b={deepStrictEqual:\"Expected values to be strictly deep-equal:\",strictEqual:\"Expected values to be strictly equal:\",strictEqualObject:'Expected \"actual\" to be reference-equal to \"expected\":',deepEqual:\"Expected values to be loosely deep-equal:\",equal:\"Expected values to be loosely equal:\",notDeepStrictEqual:'Expected \"actual\" not to be strictly deep-equal to:',notStrictEqual:'Expected \"actual\" to be strictly unequal to:',notStrictEqualObject:'Expected \"actual\" not to be reference-equal to \"expected\":',notDeepEqual:'Expected \"actual\" not to be loosely deep-equal to:',notEqual:'Expected \"actual\" to be loosely unequal to:',notIdentical:\"Values identical but not reference-equal:\"};function _(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach((function(t){r[t]=e[t]})),Object.defineProperty(r,\"message\",{value:e.message}),r}function w(e){return p(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var k=function(e){function t(e){var r;if(function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t),\"object\"!==h(e)||null===e)throw new d(\"options\",\"Object\",e);var i=e.message,a=e.operator,l=e.stackStartFn,u=e.actual,c=e.expected,p=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=i)r=o(this,f(t).call(this,String(i)));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(g=\"\u001b[34m\",m=\"\u001b[32m\",x=\"\u001b[39m\",y=\"\u001b[31m\"):(g=\"\",m=\"\",x=\"\",y=\"\")),\"object\"===h(u)&&null!==u&&\"object\"===h(c)&&null!==c&&\"stack\"in u&&u instanceof Error&&\"stack\"in c&&c instanceof Error&&(u=_(u),c=_(c)),\"deepStrictEqual\"===a||\"strictEqual\"===a)r=o(this,f(t).call(this,function(e,t,r){var i=\"\",a=\"\",o=0,s=\"\",l=!1,u=w(e),c=u.split(\"\\n\"),f=w(t).split(\"\\n\"),p=0,d=\"\";if(\"strictEqual\"===r&&\"object\"===h(e)&&\"object\"===h(t)&&null!==e&&null!==t&&(r=\"strictEqualObject\"),1===c.length&&1===f.length&&c[0]!==f[0]){var _=c[0].length+f[0].length;if(_<=10){if(!(\"object\"===h(e)&&null!==e||\"object\"===h(t)&&null!==t||0===e&&0===t))return\"\".concat(b[r],\"\\n\\n\")+\"\".concat(c[0],\" !== \").concat(f[0],\"\\n\")}else if(\"strictEqualObject\"!==r&&_<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;c[0][p]===f[0][p];)p++;p>2&&(d=\"\\n  \".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return\"\";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,r-e.length)}(\" \",p),\"^\"),p=0)}}for(var k=c[c.length-1],T=f[f.length-1];k===T&&(p++<2?s=\"\\n  \".concat(k).concat(s):i=k,c.pop(),f.pop(),0!==c.length&&0!==f.length);)k=c[c.length-1],T=f[f.length-1];var M=Math.max(c.length,f.length);if(0===M){var A=u.split(\"\\n\");if(A.length>30)for(A[26]=\"\".concat(g,\"...\").concat(x);A.length>27;)A.pop();return\"\".concat(b.notIdentical,\"\\n\\n\").concat(A.join(\"\\n\"),\"\\n\")}p>3&&(s=\"\\n\".concat(g,\"...\").concat(x).concat(s),l=!0),\"\"!==i&&(s=\"\\n  \".concat(i).concat(s),i=\"\");var S=0,E=b[r]+\"\\n\".concat(m,\"+ actual\").concat(x,\" \").concat(y,\"- expected\").concat(x),C=\" \".concat(g,\"...\").concat(x,\" Lines skipped\");for(p=0;p<M;p++){var L=p-o;if(c.length<p+1)L>1&&p>2&&(L>4?(a+=\"\\n\".concat(g,\"...\").concat(x),l=!0):L>3&&(a+=\"\\n  \".concat(f[p-2]),S++),a+=\"\\n  \".concat(f[p-1]),S++),o=p,i+=\"\\n\".concat(y,\"-\").concat(x,\" \").concat(f[p]),S++;else if(f.length<p+1)L>1&&p>2&&(L>4?(a+=\"\\n\".concat(g,\"...\").concat(x),l=!0):L>3&&(a+=\"\\n  \".concat(c[p-2]),S++),a+=\"\\n  \".concat(c[p-1]),S++),o=p,a+=\"\\n\".concat(m,\"+\").concat(x,\" \").concat(c[p]),S++;else{var P=f[p],O=c[p],I=O!==P&&(!v(O,\",\")||O.slice(0,-1)!==P);I&&v(P,\",\")&&P.slice(0,-1)===O&&(I=!1,O+=\",\"),I?(L>1&&p>2&&(L>4?(a+=\"\\n\".concat(g,\"...\").concat(x),l=!0):L>3&&(a+=\"\\n  \".concat(c[p-2]),S++),a+=\"\\n  \".concat(c[p-1]),S++),o=p,a+=\"\\n\".concat(m,\"+\").concat(x,\" \").concat(O),i+=\"\\n\".concat(y,\"-\").concat(x,\" \").concat(P),S+=2):(a+=i,i=\"\",1!==L&&0!==p||(a+=\"\\n  \".concat(O),S++))}if(S>20&&p<M-2)return\"\".concat(E).concat(C,\"\\n\").concat(a,\"\\n\").concat(g,\"...\").concat(x).concat(i,\"\\n\")+\"\".concat(g,\"...\").concat(x)}return\"\".concat(E).concat(l?C:\"\",\"\\n\").concat(a).concat(i).concat(s).concat(d)}(u,c,a)));else if(\"notDeepStrictEqual\"===a||\"notStrictEqual\"===a){var k=b[a],T=w(u).split(\"\\n\");if(\"notStrictEqual\"===a&&\"object\"===h(u)&&null!==u&&(k=b.notStrictEqualObject),T.length>30)for(T[26]=\"\".concat(g,\"...\").concat(x);T.length>27;)T.pop();r=1===T.length?o(this,f(t).call(this,\"\".concat(k,\" \").concat(T[0]))):o(this,f(t).call(this,\"\".concat(k,\"\\n\\n\").concat(T.join(\"\\n\"),\"\\n\")))}else{var M=w(u),A=\"\",S=b[a];\"notDeepEqual\"===a||\"notEqual\"===a?(M=\"\".concat(b[a],\"\\n\\n\").concat(M)).length>1024&&(M=\"\".concat(M.slice(0,1021),\"...\")):(A=\"\".concat(w(c)),M.length>512&&(M=\"\".concat(M.slice(0,509),\"...\")),A.length>512&&(A=\"\".concat(A.slice(0,509),\"...\")),\"deepEqual\"===a||\"equal\"===a?M=\"\".concat(S,\"\\n\\n\").concat(M,\"\\n\\nshould equal\\n\\n\"):A=\" \".concat(a,\" \").concat(A)),r=o(this,f(t).call(this,\"\".concat(M).concat(A)))}return Error.stackTraceLimit=p,r.generatedMessage=!i,Object.defineProperty(s(r),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),r.code=\"ERR_ASSERTION\",r.actual=u,r.expected=c,r.operator=a,Error.captureStackTrace&&Error.captureStackTrace(s(r),l),r.stack,r.name=\"AssertionError\",o(r)}var r,l;return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(t,e),r=t,l=[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:p.custom,value:function(e,t){return p(this,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);\"function\"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){i(e,t,r[t])}))}return e}({},t,{customInspect:!1,depth:0}))}}],l&&a(r.prototype,l),t}(l(Error));e.exports=k},79616:function(e,t,r){\"use strict\";function n(e){return n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},n(e)}function i(e){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},i(e)}function a(e,t){return a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},a(e,t)}var o,s,l={};function u(e,t,r){r||(r=Error);var o=function(r){function o(r,a,s){var l;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,o),l=function(e,t){return!t||\"object\"!==n(t)&&\"function\"!=typeof t?function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e):t}(this,i(o).call(this,function(e,r,n){return\"string\"==typeof t?t:t(e,r,n)}(r,a,s))),l.code=e,l}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}(o,r),o}(r);l[e]=o}function c(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:2===r?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}return\"of \".concat(t,\" \").concat(String(e))}u(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError),u(\"ERR_INVALID_ARG_TYPE\",(function(e,t,i){var a,s,l,u,f;if(void 0===o&&(o=r(32791)),o(\"string\"==typeof e,\"'name' must be a string\"),\"string\"==typeof t&&(s=\"not \",t.substr(0,4)===s)?(a=\"must not be\",t=t.replace(/^not /,\"\")):a=\"must be\",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-9,r)===t}(e,\" argument\"))l=\"The \".concat(e,\" \").concat(a,\" \").concat(c(t,\"type\"));else{var h=(\"number\"!=typeof f&&(f=0),f+1>(u=e).length||-1===u.indexOf(\".\",f)?\"argument\":\"property\");l='The \"'.concat(e,'\" ').concat(h,\" \").concat(a,\" \").concat(c(t,\"type\"))}return l+\". Received type \".concat(n(i))}),TypeError),u(\"ERR_INVALID_ARG_VALUE\",(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"is invalid\";void 0===s&&(s=r(43827));var i=s.inspect(t);return i.length>128&&(i=\"\".concat(i.slice(0,128),\"...\")),\"The argument '\".concat(e,\"' \").concat(n,\". Received \").concat(i)}),TypeError,RangeError),u(\"ERR_INVALID_RETURN_VALUE\",(function(e,t,r){var i;return i=r&&r.constructor&&r.constructor.name?\"instance of \".concat(r.constructor.name):\"type \".concat(n(r)),\"Expected \".concat(e,' to be returned from the \"').concat(t,'\"')+\" function but got \".concat(i,\".\")}),TypeError),u(\"ERR_MISSING_ARGS\",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];void 0===o&&(o=r(32791)),o(t.length>0,\"At least one arg needs to be specified\");var i=\"The \",a=t.length;switch(t=t.map((function(e){return'\"'.concat(e,'\"')})),a){case 1:i+=\"\".concat(t[0],\" argument\");break;case 2:i+=\"\".concat(t[0],\" and \").concat(t[1],\" arguments\");break;default:i+=t.slice(0,a-1).join(\", \"),i+=\", and \".concat(t[a-1],\" arguments\")}return\"\".concat(i,\" must be specified\")}),TypeError),e.exports.codes=l},74061:function(e,t,r){\"use strict\";function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}function i(e){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}var a=void 0!==/a/g.flags,o=function(e){var t=[];return e.forEach((function(e){return t.push(e)})),t},s=function(e){var t=[];return e.forEach((function(e,r){return t.push([r,e])})),t},l=Object.is?Object.is:r(64003),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},c=Number.isNaN?Number.isNaN:r(15567);function f(e){return e.call.bind(e)}var h=f(Object.prototype.hasOwnProperty),p=f(Object.prototype.propertyIsEnumerable),d=f(Object.prototype.toString),v=r(43827).types,g=v.isAnyArrayBuffer,m=v.isArrayBufferView,y=v.isDate,x=v.isMap,b=v.isRegExp,_=v.isSet,w=v.isNativeError,k=v.isBoxedPrimitive,T=v.isNumberObject,M=v.isStringObject,A=v.isBooleanObject,S=v.isBigIntObject,E=v.isSymbolObject,C=v.isFloat32Array,L=v.isFloat64Array;function P(e){if(0===e.length||e.length>10)return!0;for(var t=0;t<e.length;t++){var r=e.charCodeAt(t);if(r<48||r>57)return!0}return 10===e.length&&e>=Math.pow(2,32)}function O(e){return Object.keys(e).filter(P).concat(u(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function I(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0}var D=0,z=1,R=2,F=3;function B(e,t,r,n){if(e===t)return 0!==e||!r||l(e,t);if(r){if(\"object\"!==i(e))return\"number\"==typeof e&&c(e)&&c(t);if(\"object\"!==i(t)||null===e||null===t)return!1;if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1}else{if(null===e||\"object\"!==i(e))return(null===t||\"object\"!==i(t))&&e==t;if(null===t||\"object\"!==i(t))return!1}var o,s,u,f,h=d(e);if(h!==d(t))return!1;if(Array.isArray(e)){if(e.length!==t.length)return!1;var p=O(e),v=O(t);return p.length===v.length&&j(e,t,r,n,z,p)}if(\"[object Object]\"===h&&(!x(e)&&x(t)||!_(e)&&_(t)))return!1;if(y(e)){if(!y(t)||Date.prototype.getTime.call(e)!==Date.prototype.getTime.call(t))return!1}else if(b(e)){if(!b(t)||(u=e,f=t,!(a?u.source===f.source&&u.flags===f.flags:RegExp.prototype.toString.call(u)===RegExp.prototype.toString.call(f))))return!1}else if(w(e)||e instanceof Error){if(e.message!==t.message||e.name!==t.name)return!1}else{if(m(e)){if(r||!C(e)&&!L(e)){if(!function(e,t){return e.byteLength===t.byteLength&&0===I(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}(e,t))return!1}else if(!function(e,t){if(e.byteLength!==t.byteLength)return!1;for(var r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}(e,t))return!1;var P=O(e),B=O(t);return P.length===B.length&&j(e,t,r,n,D,P)}if(_(e))return!(!_(t)||e.size!==t.size)&&j(e,t,r,n,R);if(x(e))return!(!x(t)||e.size!==t.size)&&j(e,t,r,n,F);if(g(e)){if(s=t,(o=e).byteLength!==s.byteLength||0!==I(new Uint8Array(o),new Uint8Array(s)))return!1}else if(k(e)&&!function(e,t){return T(e)?T(t)&&l(Number.prototype.valueOf.call(e),Number.prototype.valueOf.call(t)):M(e)?M(t)&&String.prototype.valueOf.call(e)===String.prototype.valueOf.call(t):A(e)?A(t)&&Boolean.prototype.valueOf.call(e)===Boolean.prototype.valueOf.call(t):S(e)?S(t)&&BigInt.prototype.valueOf.call(e)===BigInt.prototype.valueOf.call(t):E(t)&&Symbol.prototype.valueOf.call(e)===Symbol.prototype.valueOf.call(t)}(e,t))return!1}return j(e,t,r,n,D)}function N(e,t){return t.filter((function(t){return p(e,t)}))}function j(e,t,r,a,l,c){if(5===arguments.length){c=Object.keys(e);var f=Object.keys(t);if(c.length!==f.length)return!1}for(var d=0;d<c.length;d++)if(!h(t,c[d]))return!1;if(r&&5===arguments.length){var v=u(e);if(0!==v.length){var g=0;for(d=0;d<v.length;d++){var m=v[d];if(p(e,m)){if(!p(t,m))return!1;c.push(m),g++}else if(p(t,m))return!1}var y=u(t);if(v.length!==y.length&&N(t,y).length!==g)return!1}else{var x=u(t);if(0!==x.length&&0!==N(t,x).length)return!1}}if(0===c.length&&(l===D||l===z&&0===e.length||0===e.size))return!0;if(void 0===a)a={val1:new Map,val2:new Map,position:0};else{var b=a.val1.get(e);if(void 0!==b){var _=a.val2.get(t);if(void 0!==_)return b===_}a.position++}a.val1.set(e,a.position),a.val2.set(t,a.position);var w=function(e,t,r,a,l,u){var c=0;if(u===R){if(!function(e,t,r,n){for(var a=null,s=o(e),l=0;l<s.length;l++){var u=s[l];if(\"object\"===i(u)&&null!==u)null===a&&(a=new Set),a.add(u);else if(!t.has(u)){if(r)return!1;if(!H(e,t,u))return!1;null===a&&(a=new Set),a.add(u)}}if(null!==a){for(var c=o(t),f=0;f<c.length;f++){var h=c[f];if(\"object\"===i(h)&&null!==h){if(!U(a,h,r,n))return!1}else if(!r&&!e.has(h)&&!U(a,h,r,n))return!1}return 0===a.size}return!0}(e,t,r,l))return!1}else if(u===F){if(!function(e,t,r,a){for(var o=null,l=s(e),u=0;u<l.length;u++){var c=n(l[u],2),f=c[0],h=c[1];if(\"object\"===i(f)&&null!==f)null===o&&(o=new Set),o.add(f);else{var p=t.get(f);if(void 0===p&&!t.has(f)||!B(h,p,r,a)){if(r)return!1;if(!q(e,t,f,h,a))return!1;null===o&&(o=new Set),o.add(f)}}}if(null!==o){for(var d=s(t),v=0;v<d.length;v++){var g=n(d[v],2),m=(f=g[0],g[1]);if(\"object\"===i(f)&&null!==f){if(!G(o,e,f,m,r,a))return!1}else if(!(r||e.has(f)&&B(e.get(f),m,!1,a)||G(o,e,f,m,!1,a)))return!1}return 0===o.size}return!0}(e,t,r,l))return!1}else if(u===z)for(;c<e.length;c++){if(!h(e,c)){if(h(t,c))return!1;for(var f=Object.keys(e);c<f.length;c++){var p=f[c];if(!h(t,p)||!B(e[p],t[p],r,l))return!1}return f.length===Object.keys(t).length}if(!h(t,c)||!B(e[c],t[c],r,l))return!1}for(c=0;c<a.length;c++){var d=a[c];if(!B(e[d],t[d],r,l))return!1}return!0}(e,t,r,c,a,l);return a.val1.delete(e),a.val2.delete(t),w}function U(e,t,r,n){for(var i=o(e),a=0;a<i.length;a++){var s=i[a];if(B(t,s,r,n))return e.delete(s),!0}return!1}function V(e){switch(i(e)){case\"undefined\":return null;case\"object\":return;case\"symbol\":return!1;case\"string\":e=+e;case\"number\":if(c(e))return!1}return!0}function H(e,t,r){var n=V(r);return null!=n?n:t.has(n)&&!e.has(n)}function q(e,t,r,n,i){var a=V(r);if(null!=a)return a;var o=t.get(a);return!(void 0===o&&!t.has(a)||!B(n,o,!1,i))&&!e.has(a)&&B(n,o,!1,i)}function G(e,t,r,n,i,a){for(var s=o(e),l=0;l<s.length;l++){var u=s[l];if(B(r,u,i,a)&&B(n,t.get(u),i,a))return e.delete(u),!0}return!1}e.exports={isDeepEqual:function(e,t){return B(e,t,!1)},isDeepStrictEqual:function(e,t){return B(e,t,!0)}}},95341:function(e,t){\"use strict\";t.byteLength=function(e){var t=s(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,a=s(e),o=a[0],l=a[1],u=new i(function(e,t,r){return 3*(t+r)/4-r}(0,o,l)),c=0,f=l>0?o-4:o;for(r=0;r<f;r+=4)t=n[e.charCodeAt(r)]<<18|n[e.charCodeAt(r+1)]<<12|n[e.charCodeAt(r+2)]<<6|n[e.charCodeAt(r+3)],u[c++]=t>>16&255,u[c++]=t>>8&255,u[c++]=255&t;return 2===l&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,u[c++]=255&t),1===l&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,u[c++]=t>>8&255,u[c++]=255&t),u},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,a=[],o=16383,s=0,u=n-i;s<u;s+=o)a.push(l(e,s,s+o>u?u:s+o));return 1===i?(t=e[n-1],a.push(r[t>>2]+r[t<<4&63]+\"==\")):2===i&&(t=(e[n-2]<<8)+e[n-1],a.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+\"=\")),a.join(\"\")};for(var r=[],n=[],i=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=e.indexOf(\"=\");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function l(e,t,n){for(var i,a,o=[],s=t;s<n;s+=3)i=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),o.push(r[(a=i)>>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join(\"\")}n[\"-\".charCodeAt(0)]=62,n[\"_\".charCodeAt(0)]=63},91358:function(e){\"use strict\";function t(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>=0?(a=o,i=o-1):n=o+1}return a}function r(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>0?(a=o,i=o-1):n=o+1}return a}function n(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<0?(a=o,n=o+1):i=o-1}return a}function i(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<=0?(a=o,n=o+1):i=o-1}return a}function a(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=void 0!==r?r(o,t):o-t;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(e,t,r,n,i,a){return\"function\"==typeof r?a(e,t,r,void 0===n?0:0|n,void 0===i?e.length-1:0|i):a(e,t,void 0,void 0===r?0:0|r,void 0===n?e.length-1:0|n)}e.exports={ge:function(e,r,n,i,a){return o(e,r,n,i,a,t)},gt:function(e,t,n,i,a){return o(e,t,n,i,a,r)},lt:function(e,t,r,i,a){return o(e,t,r,i,a,n)},le:function(e,t,r,n,a){return o(e,t,r,n,a,i)},eq:function(e,t,r,n,i){return o(e,t,r,n,i,a)}}},13547:function(e,t){\"use strict\";function r(e){var t=32;return(e&=-e)&&t--,65535&e&&(t-=16),16711935&e&&(t-=8),252645135&e&&(t-=4),858993459&e&&(t-=2),1431655765&e&&(t-=1),t}t.INT_BITS=32,t.INT_MAX=2147483647,t.INT_MIN=-1<<31,t.sign=function(e){return(e>0)-(e<0)},t.abs=function(e){var t=e>>31;return(e^t)-t},t.min=function(e,t){return t^(e^t)&-(e<t)},t.max=function(e,t){return e^(e^t)&-(e<t)},t.isPow2=function(e){return!(e&e-1||!e)},t.log2=function(e){var t,r;return t=(e>65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1},t.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0},t.popCount=function(e){return 16843009*((e=(858993459&(e-=e>>>1&1431655765))+(e>>>2&858993459))+(e>>>4)&252645135)>>>24},t.countTrailingZeros=r,t.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,1+((e|=e>>>8)|e>>>16)},t.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},t.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var n=new Array(256);!function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;e[t]=n<<i&255}}(n),t.reverse=function(e){return n[255&e]<<24|n[e>>>8&255]<<16|n[e>>>16&255]<<8|n[e>>>24&255]},t.interleave2=function(e,t){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))<<1},t.deinterleave2=function(e,t){return(e=65535&((e=16711935&((e=252645135&((e=858993459&((e=e>>>t&1431655765)|e>>>1))|e>>>2))|e>>>4))|e>>>16))<<16>>16},t.interleave3=function(e,t,r){return e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2),(e|=(t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},t.deinterleave3=function(e,t){return(e=1023&((e=4278190335&((e=251719695&((e=3272356035&((e=e>>>t&1227133513)|e>>>2))|e>>>4))|e>>>8))|e>>>16))<<22>>22},t.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>r(e)+1}},44781:function(e,t,r){\"use strict\";var n=r(53435);e.exports=function(e,t){t||(t={});var r,o,s,l,u,c,f,h,p,d,v,g=null==t.cutoff?.25:t.cutoff,m=null==t.radius?8:t.radius,y=t.channel||0;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error(\"For raw data width and height should be provided by options\");r=t.width,o=t.height,l=e,c=t.stride?t.stride:Math.floor(e.length/r/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(f=(h=e).getContext(\"2d\"),r=h.width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(f=e,r=(h=e.canvas).width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.ImageData&&e instanceof window.ImageData&&(p=e,r=e.width,o=e.height,l=p.data,c=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(r*o),d=0,v=u.length;d<v;d++)l[d]=u[d*c+y]/255;else if(1!==c)throw Error(\"Raw data can have only 1 value per pixel\");var x=Array(r*o),b=Array(r*o),_=Array(s),w=Array(s),k=Array(s+1),T=Array(s);for(d=0,v=r*o;d<v;d++){var M=l[d];x[d]=1===M?0:0===M?i:Math.pow(Math.max(0,.5-M),2),b[d]=1===M?i:0===M?0:Math.pow(Math.max(0,M-.5),2)}a(x,r,o,_,w,T,k),a(b,r,o,_,w,T,k);var A=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,v=r*o;d<v;d++)A[d]=n(1-((x[d]-b[d])/m+g),0,1);return A};var i=1e20;function a(e,t,r,n,i,a,s){for(var l=0;l<t;l++){for(var u=0;u<r;u++)n[u]=e[u*t+l];for(o(n,i,a,s,r),u=0;u<r;u++)e[u*t+l]=i[u]}for(u=0;u<r;u++){for(l=0;l<t;l++)n[l]=e[u*t+l];for(o(n,i,a,s,t),l=0;l<t;l++)e[u*t+l]=Math.sqrt(i[l])}}function o(e,t,r,n,a){r[0]=0,n[0]=-i,n[1]=+i;for(var o=1,s=0;o<a;o++){for(var l=(e[o]+o*o-(e[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(e[o]+o*o-(e[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+i}for(o=0,s=0;o<a;o++){for(;n[s+1]<o;)s++;t[o]=(o-r[s])*(o-r[s])+e[r[s]]}}},6614:function(e,t,r){\"use strict\";var n=r(68318),i=r(68222),a=i(n(\"String.prototype.indexOf\"));e.exports=function(e,t){var r=n(e,!!t);return\"function\"==typeof r&&a(e,\".prototype.\")>-1?i(r):r}},68222:function(e,t,r){\"use strict\";var n=r(77575),i=r(68318),a=i(\"%Function.prototype.apply%\"),o=i(\"%Function.prototype.call%\"),s=i(\"%Reflect.apply%\",!0)||n.call(o,a),l=i(\"%Object.getOwnPropertyDescriptor%\",!0),u=i(\"%Object.defineProperty%\",!0),c=i(\"%Math.max%\");if(u)try{u({},\"a\",{value:1})}catch(e){u=null}e.exports=function(e){var t=s(n,o,arguments);return l&&u&&l(t,\"length\").configurable&&u(t,\"length\",{value:1+c(0,e.length-(arguments.length-1))}),t};var f=function(){return s(n,a,arguments)};u?u(e.exports,\"apply\",{value:f}):e.exports.apply=f},53435:function(e){e.exports=function(e,t,r){return t<r?e<t?t:e>r?r:e:e<r?r:e>t?t:e}},6475:function(e,t,r){\"use strict\";var n=r(53435);function i(e,t){null==t&&(t=!0);var r=e[0],i=e[1],a=e[2],o=e[3];return null==o&&(o=t?1:255),t&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}e.exports=i,e.exports.to=i,e.exports.from=function(e,t){var r=(e=+e)>>>24,n=(16711680&e)>>>16,i=(65280&e)>>>8,a=255&e;return!1===t?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},76857:function(e){\"use strict\";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},25075:function(e,t,r){\"use strict\";var n=r(36652),i=r(53435),a=r(90660);e.exports=function(e,t){\"float\"!==t&&t||(t=\"array\"),\"uint\"===t&&(t=\"uint8\"),\"uint_clamped\"===t&&(t=\"uint8_clamped\");var r=new(a(t))(4),o=\"uint8\"!==t&&\"uint8_clamped\"!==t;return e.length&&\"string\"!=typeof e||((e=n(e))[0]/=255,e[1]/=255,e[2]/=255),function(e){return e instanceof Uint8Array||e instanceof Uint8ClampedArray||!!(Array.isArray(e)&&(e[0]>1||0===e[0])&&(e[1]>1||0===e[1])&&(e[2]>1||0===e[2])&&(!e[3]||e[3]>1))}(e)?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=null!=e[3]?e[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=null!=e[3]?e[3]:1):(r[0]=i(Math.floor(255*e[0]),0,255),r[1]=i(Math.floor(255*e[1]),0,255),r[2]=i(Math.floor(255*e[2]),0,255),r[3]=null==e[3]?255:i(Math.floor(255*e[3]),0,255)),r)}},90736:function(e,t,r){\"use strict\";var n=r(76857),i=r(10973),a=r(46775);e.exports=function(e){var t,s,l=[],u=1;if(\"string\"==typeof e)if(n[e])l=n[e].slice(),s=\"rgb\";else if(\"transparent\"===e)u=0,s=\"rgb\",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var c=e.slice(1);u=1,(p=c.length)<=4?(l=[parseInt(c[0]+c[0],16),parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16)],4===p&&(u=parseInt(c[3]+c[3],16)/255)):(l=[parseInt(c[0]+c[1],16),parseInt(c[2]+c[3],16),parseInt(c[4]+c[5],16)],8===p&&(u=parseInt(c[6]+c[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s=\"rgb\"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(e)){var f=t[1],h=\"rgb\"===f;s=c=f.replace(/a$/,\"\");var p=\"cmyk\"===c?4:\"gray\"===c?1:3;l=t[2].trim().split(/\\s*,\\s*/).map((function(e,t){if(/%$/.test(e))return t===p?parseFloat(e)/100:\"rgb\"===c?255*parseFloat(e)/100:parseFloat(e);if(\"h\"===c[t]){if(/deg$/.test(e))return parseFloat(e);if(void 0!==o[e])return o[e]}return parseFloat(e)})),f===c&&l.push(1),u=h||void 0===l[p]?1:l[p],l=l.slice(0,p)}else e.length>10&&/[0-9](?:\\s|\\/)/.test(e)&&(l=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),s=e.match(/([a-z])/gi).join(\"\").toLowerCase());else if(isNaN(e))if(i(e)){var d=a(e.r,e.red,e.R,null);null!==d?(s=\"rgb\",l=[d,a(e.g,e.green,e.G),a(e.b,e.blue,e.B)]):(s=\"hsl\",l=[a(e.h,e.hue,e.H),a(e.s,e.saturation,e.S),a(e.l,e.lightness,e.L,e.b,e.brightness)]),u=a(e.a,e.alpha,e.opacity,1),null!=e.opacity&&(u/=100)}else(Array.isArray(e)||r.g.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(e))&&(l=[e[0],e[1],e[2]],s=\"rgb\",u=4===e.length?e[3]:1);else s=\"rgb\",l=[e>>>16,(65280&e)>>>8,255&e];return{space:s,values:l,alpha:u}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},36652:function(e,t,r){\"use strict\";var n=r(90736),i=r(80009),a=r(53435);e.exports=function(e){var t,r=n(e);return r.space?((t=Array(3))[0]=a(r.values[0],0,255),t[1]=a(r.values[1],0,255),t[2]=a(r.values[2],0,255),\"h\"===r.space[0]&&(t=i.rgb(t)),t.push(a(r.alpha,0,1)),t):[]}},80009:function(e,t,r){\"use strict\";var n=r(6866);e.exports={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(e){var t,r,n,i,a,o=e[0]/360,s=e[1]/100,l=e[2]/100;if(0===s)return[a=255*l,a,a];t=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<0?n++:n>1&&n--,a=6*n<1?t+6*(r-t)*n:2*n<1?r:3*n<2?t+(r-t)*(2/3-n)*6:t,i[u]=255*a;return i}},n.hsl=function(e){var t,r,n=e[0]/255,i=e[1]/255,a=e[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?t=0:n===s?t=(i-a)/l:i===s?t=2+(a-n)/l:a===s&&(t=4+(n-i)/l),(t=Math.min(60*t,360))<0&&(t+=360),r=(o+s)/2,[t,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},6866:function(e){\"use strict\";e.exports={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}},24138:function(e){e.exports={AFG:\"afghan\",ALA:\"\\\\b\\\\wland\",ALB:\"albania\",DZA:\"algeria\",ASM:\"^(?=.*americ).*samoa\",AND:\"andorra\",AGO:\"angola\",AIA:\"anguill?a\",ATA:\"antarctica\",ATG:\"antigua\",ARG:\"argentin\",ARM:\"armenia\",ABW:\"^(?!.*bonaire).*\\\\baruba\",AUS:\"australia\",AUT:\"^(?!.*hungary).*austria|\\\\baustri.*\\\\bemp\",AZE:\"azerbaijan\",BHS:\"bahamas\",BHR:\"bahrain\",BGD:\"bangladesh|^(?=.*east).*paki?stan\",BRB:\"barbados\",BLR:\"belarus|byelo\",BEL:\"^(?!.*luxem).*belgium\",BLZ:\"belize|^(?=.*british).*honduras\",BEN:\"benin|dahome\",BMU:\"bermuda\",BTN:\"bhutan\",BOL:\"bolivia\",BES:\"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\\\bbes.?islands\",BIH:\"herzegovina|bosnia\",BWA:\"botswana|bechuana\",BVT:\"bouvet\",BRA:\"brazil\",IOT:\"british.?indian.?ocean\",BRN:\"brunei\",BGR:\"bulgaria\",BFA:\"burkina|\\\\bfaso|upper.?volta\",BDI:\"burundi\",CPV:\"verde\",KHM:\"cambodia|kampuchea|khmer\",CMR:\"cameroon\",CAN:\"canada\",CYM:\"cayman\",CAF:\"\\\\bcentral.african.republic\",TCD:\"\\\\bchad\",CHL:\"\\\\bchile\",CHN:\"^(?!.*\\\\bmac)(?!.*\\\\bhong)(?!.*\\\\btai)(?!.*\\\\brep).*china|^(?=.*peo)(?=.*rep).*china\",CXR:\"christmas\",CCK:\"\\\\bcocos|keeling\",COL:\"colombia\",COM:\"comoro\",COG:\"^(?!.*\\\\bdem)(?!.*\\\\bd[\\\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\\\bcongo\",COK:\"\\\\bcook\",CRI:\"costa.?rica\",CIV:\"ivoire|ivory\",HRV:\"croatia\",CUB:\"\\\\bcuba\",CUW:\"^(?!.*bonaire).*\\\\bcura(c|ç)ao\",CYP:\"cyprus\",CSK:\"czechoslovakia\",CZE:\"^(?=.*rep).*czech|czechia|bohemia\",COD:\"\\\\bdem.*congo|congo.*\\\\bdem|congo.*\\\\bd[\\\\.]?r|\\\\bd[\\\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc\",DNK:\"denmark\",DJI:\"djibouti\",DMA:\"dominica(?!n)\",DOM:\"dominican.rep\",ECU:\"ecuador\",EGY:\"egypt\",SLV:\"el.?salvador\",GNQ:\"guine.*eq|eq.*guine|^(?=.*span).*guinea\",ERI:\"eritrea\",EST:\"estonia\",ETH:\"ethiopia|abyssinia\",FLK:\"falkland|malvinas\",FRO:\"faroe|faeroe\",FJI:\"fiji\",FIN:\"finland\",FRA:\"^(?!.*\\\\bdep)(?!.*martinique).*france|french.?republic|\\\\bgaul\",GUF:\"^(?=.*french).*guiana\",PYF:\"french.?polynesia|tahiti\",ATF:\"french.?southern\",GAB:\"gabon\",GMB:\"gambia\",GEO:\"^(?!.*south).*georgia\",DDR:\"german.?democratic.?republic|democratic.?republic.*germany|east.germany\",DEU:\"^(?!.*east).*germany|^(?=.*\\\\bfed.*\\\\brep).*german\",GHA:\"ghana|gold.?coast\",GIB:\"gibraltar\",GRC:\"greece|hellenic|hellas\",GRL:\"greenland\",GRD:\"grenada\",GLP:\"guadeloupe\",GUM:\"\\\\bguam\",GTM:\"guatemala\",GGY:\"guernsey\",GIN:\"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea\",GNB:\"bissau|^(?=.*portu).*guinea\",GUY:\"guyana|british.?guiana\",HTI:\"haiti\",HMD:\"heard.*mcdonald\",VAT:\"holy.?see|vatican|papal.?st\",HND:\"^(?!.*brit).*honduras\",HKG:\"hong.?kong\",HUN:\"^(?!.*austr).*hungary\",ISL:\"iceland\",IND:\"india(?!.*ocea)\",IDN:\"indonesia\",IRN:\"\\\\biran|persia\",IRQ:\"\\\\biraq|mesopotamia\",IRL:\"(^ireland)|(^republic.*ireland)\",IMN:\"^(?=.*isle).*\\\\bman\",ISR:\"israel\",ITA:\"italy\",JAM:\"jamaica\",JPN:\"japan\",JEY:\"jersey\",JOR:\"jordan\",KAZ:\"kazak\",KEN:\"kenya|british.?east.?africa|east.?africa.?prot\",KIR:\"kiribati\",PRK:\"^(?=.*democrat|people|north|d.*p.*.r).*\\\\bkorea|dprk|korea.*(d.*p.*r)\",KWT:\"kuwait\",KGZ:\"kyrgyz|kirghiz\",LAO:\"\\\\blaos?\\\\b\",LVA:\"latvia\",LBN:\"lebanon\",LSO:\"lesotho|basuto\",LBR:\"liberia\",LBY:\"libya\",LIE:\"liechtenstein\",LTU:\"lithuania\",LUX:\"^(?!.*belg).*luxem\",MAC:\"maca(o|u)\",MDG:\"madagascar|malagasy\",MWI:\"malawi|nyasa\",MYS:\"malaysia\",MDV:\"maldive\",MLI:\"\\\\bmali\\\\b\",MLT:\"\\\\bmalta\",MHL:\"marshall\",MTQ:\"martinique\",MRT:\"mauritania\",MUS:\"mauritius\",MYT:\"\\\\bmayotte\",MEX:\"\\\\bmexic\",FSM:\"fed.*micronesia|micronesia.*fed\",MCO:\"monaco\",MNG:\"mongolia\",MNE:\"^(?!.*serbia).*montenegro\",MSR:\"montserrat\",MAR:\"morocco|\\\\bmaroc\",MOZ:\"mozambique\",MMR:\"myanmar|burma\",NAM:\"namibia\",NRU:\"nauru\",NPL:\"nepal\",NLD:\"^(?!.*\\\\bant)(?!.*\\\\bcarib).*netherlands\",ANT:\"^(?=.*\\\\bant).*(nether|dutch)\",NCL:\"new.?caledonia\",NZL:\"new.?zealand\",NIC:\"nicaragua\",NER:\"\\\\bniger(?!ia)\",NGA:\"nigeria\",NIU:\"niue\",NFK:\"norfolk\",MNP:\"mariana\",NOR:\"norway\",OMN:\"\\\\boman|trucial\",PAK:\"^(?!.*east).*paki?stan\",PLW:\"palau\",PSE:\"palestin|\\\\bgaza|west.?bank\",PAN:\"panama\",PNG:\"papua|new.?guinea\",PRY:\"paraguay\",PER:\"peru\",PHL:\"philippines\",PCN:\"pitcairn\",POL:\"poland\",PRT:\"portugal\",PRI:\"puerto.?rico\",QAT:\"qatar\",KOR:\"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\\\bkorea(?!.*d.*p.*r)\",MDA:\"moldov|b(a|e)ssarabia\",REU:\"r(e|é)union\",ROU:\"r(o|u|ou)mania\",RUS:\"\\\\brussia|soviet.?union|u\\\\.?s\\\\.?s\\\\.?r|socialist.?republics\",RWA:\"rwanda\",BLM:\"barth(e|é)lemy\",SHN:\"helena\",KNA:\"kitts|\\\\bnevis\",LCA:\"\\\\blucia\",MAF:\"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)\",SPM:\"miquelon\",VCT:\"vincent\",WSM:\"^(?!.*amer).*samoa\",SMR:\"san.?marino\",STP:\"\\\\bs(a|ã)o.?tom(e|é)\",SAU:\"\\\\bsa\\\\w*.?arabia\",SEN:\"senegal\",SRB:\"^(?!.*monte).*serbia\",SYC:\"seychell\",SLE:\"sierra\",SGP:\"singapore\",SXM:\"^(?!.*martin)(?!.*saba).*maarten\",SVK:\"^(?!.*cze).*slovak\",SVN:\"slovenia\",SLB:\"solomon\",SOM:\"somali\",ZAF:\"south.africa|s\\\\\\\\..?africa\",SGS:\"south.?georgia|sandwich\",SSD:\"\\\\bs\\\\w*.?sudan\",ESP:\"spain\",LKA:\"sri.?lanka|ceylon\",SDN:\"^(?!.*\\\\bs(?!u)).*sudan\",SUR:\"surinam|dutch.?guiana\",SJM:\"svalbard\",SWZ:\"swaziland\",SWE:\"sweden\",CHE:\"switz|swiss\",SYR:\"syria\",TWN:\"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china\",TJK:\"tajik\",THA:\"thailand|\\\\bsiam\",MKD:\"macedonia|fyrom\",TLS:\"^(?=.*leste).*timor|^(?=.*east).*timor\",TGO:\"togo\",TKL:\"tokelau\",TON:\"tonga\",TTO:\"trinidad|tobago\",TUN:\"tunisia\",TUR:\"turkey\",TKM:\"turkmen\",TCA:\"turks\",TUV:\"tuvalu\",UGA:\"uganda\",UKR:\"ukrain\",ARE:\"emirates|^u\\\\.?a\\\\.?e\\\\.?$|united.?arab.?em\",GBR:\"united.?kingdom|britain|^u\\\\.?k\\\\.?$\",TZA:\"tanzania\",USA:\"united.?states\\\\b(?!.*islands)|\\\\bu\\\\.?s\\\\.?a\\\\.?\\\\b|^\\\\s*u\\\\.?s\\\\.?\\\\b(?!.*islands)\",UMI:\"minor.?outlying.?is\",URY:\"uruguay\",UZB:\"uzbek\",VUT:\"vanuatu|new.?hebrides\",VEN:\"venezuela\",VNM:\"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam\",VGB:\"^(?=.*\\\\bu\\\\.?\\\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin\",VIR:\"^(?=.*\\\\bu\\\\.?\\\\s?s).*virgin|^(?=.*states).*virgin\",WLF:\"futuna|wallis\",ESH:\"western.sahara\",YEM:\"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YMD:\"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YUG:\"yugoslavia\",ZMB:\"zambia|northern.?rhodesia\",EAZ:\"zanzibar\",ZWE:\"zimbabwe|^(?!.*northern).*rhodesia\"}},72791:function(e,t,r){\"use strict\";e.exports={parse:r(41004),stringify:r(53313)}},63625:function(e,t,r){\"use strict\";var n=r(40402);e.exports={isSize:function(e){return/^[\\d\\.]/.test(e)||-1!==e.indexOf(\"/\")||-1!==n.indexOf(e)}}},41004:function(e,t,r){\"use strict\";var n=r(90448),i=r(38732),a=r(41901),o=r(15659),s=r(96209),l=r(83794),u=r(99011),c=r(63625).isSize;e.exports=h;var f=h.cache={};function h(e){if(\"string\"!=typeof e)throw new Error(\"Font argument must be a string.\");if(f[e])return f[e];if(\"\"===e)throw new Error(\"Cannot parse an empty string.\");if(-1!==a.indexOf(e))return f[e]={system:e};for(var t,r={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},h=u(e,/\\s+/);t=h.shift();){if(-1!==i.indexOf(t))return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach((function(e){r[e]=t})),f[e]=r;if(-1===s.indexOf(t))if(\"normal\"!==t&&\"small-caps\"!==t)if(-1===l.indexOf(t)){if(-1===o.indexOf(t)){if(c(t)){var d=u(t,\"/\");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):\"/\"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error(\"Missing required font-family.\");return r.family=u(h.join(\" \"),/\\s*,\\s*/).map(n),f[e]=r}throw new Error(\"Unknown or unsupported font token: \"+t)}r.weight=t}else r.stretch=t;else r.variant=t;else r.style=t}throw new Error(\"Missing required font-size.\")}function p(e){var t=parseFloat(e);return t.toString()===e?t:e}},53313:function(e,t,r){\"use strict\";var n=r(71299),i=r(63625).isSize,a=d(r(38732)),o=d(r(41901)),s=d(r(15659)),l=d(r(96209)),u=d(r(83794)),c={normal:1,\"small-caps\":1},f={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},h=\"serif\";function p(e,t){if(e&&!t[e]&&!a[e])throw Error(\"Unknown keyword `\"+e+\"`\");return e}function d(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=1;return t}e.exports=function(e){if((e=n(e,{style:\"style fontstyle fontStyle font-style slope distinction\",variant:\"variant font-variant fontVariant fontvariant var capitalization\",weight:\"weight w font-weight fontWeight fontweight\",stretch:\"stretch font-stretch fontStretch fontstretch width\",size:\"size s font-size fontSize fontsize height em emSize\",lineHeight:\"lh line-height lineHeight lineheight leading\",family:\"font family fontFamily font-family fontfamily type typeface face\",system:\"system reserved default global\"})).system)return e.system&&p(e.system,o),e.system;if(p(e.style,l),p(e.variant,c),p(e.weight,s),p(e.stretch,u),null==e.size&&(e.size=\"1rem\"),\"number\"==typeof e.size&&(e.size+=\"px\"),!i)throw Error(\"Bad size value `\"+e.size+\"`\");e.family||(e.family=h),Array.isArray(e.family)&&(e.family.length||(e.family=[h]),e.family=e.family.map((function(e){return f[e]?e:'\"'+e+'\"'})).join(\", \"));var t=[];return t.push(e.style),e.variant!==e.style&&t.push(e.variant),e.weight!==e.variant&&e.weight!==e.style&&t.push(e.weight),e.stretch!==e.weight&&e.stretch!==e.variant&&e.stretch!==e.style&&t.push(e.stretch),t.push(e.size+(null==e.lineHeight||\"normal\"===e.lineHeight||e.lineHeight+\"\"==\"1\"?\"\":\"/\"+e.lineHeight)),t.push(e.family),t.filter(Boolean).join(\" \")}},55174:function(e,t,r){\"use strict\";var n,i=r(24582),a=r(10424),o=r(82527),s=r(19012),l=r(21780),u=r(16906),c=Function.prototype.bind,f=Object.defineProperty,h=Object.prototype.hasOwnProperty;n=function(e,t,r){var n,i=a(t)&&o(t.value);return delete(n=s(t)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&h.call(this,e)?i:(t.value=c.call(i,r.resolveContext?r.resolveContext(this):this),f(this,e,t),this[e])},n},e.exports=function(e){var t=l(arguments[1]);return i(t.resolveContext)&&o(t.resolveContext),u(e,(function(e,r){return n(r,e,t)}))}},62072:function(e,t,r){\"use strict\";var n=r(24582),i=r(84985),a=r(95879),o=r(21780),s=r(66741),l=e.exports=function(e,t){var r,i,l,u,c;return arguments.length<2||\"string\"!=typeof e?(u=t,t=e,e=null):u=arguments[2],n(e)?(r=s.call(e,\"c\"),i=s.call(e,\"e\"),l=s.call(e,\"w\")):(r=l=!0,i=!1),c={value:t,configurable:r,enumerable:i,writable:l},u?a(o(u),c):c};l.gs=function(e,t,r){var l,u,c,f;return\"string\"!=typeof e?(c=r,r=t,t=e,e=null):c=arguments[3],n(t)?i(t)?n(r)?i(r)||(c=r,r=void 0):r=void 0:(c=t,t=r=void 0):t=void 0,n(e)?(l=s.call(e,\"c\"),u=s.call(e,\"e\")):(l=!0,u=!1),f={get:t,set:r,configurable:l,enumerable:u},c?a(o(c),f):f}},33064:function(e,t,r){\"use strict\";function n(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}r.d(t,{j2:function(){return n},Fp:function(){return s},J6:function(){return u},TS:function(){return c},VV:function(){return f},w6:function(){return h},Sm:function(){return p}}),1===(i=n).length&&(a=i,i=function(e,t){return n(a(e),t)});var i,a,o=Array.prototype;function s(e,t){var r,n,i=e.length,a=-1;if(null==t){for(;++a<i;)if(null!=(r=e[a])&&r>=r)for(n=r;++a<i;)null!=(r=e[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=t(e[a],a,e))&&r>=r)for(n=r;++a<i;)null!=(r=t(e[a],a,e))&&r>n&&(n=r);return n}function l(e){return null===e?NaN:+e}function u(e,t){var r,n=e.length,i=n,a=-1,o=0;if(null==t)for(;++a<n;)isNaN(r=l(e[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=l(t(e[a],a,e)))?--i:o+=r;if(i)return o/i}function c(e){for(var t,r,n,i=e.length,a=-1,o=0;++a<i;)o+=e[a].length;for(r=new Array(o);--i>=0;)for(t=(n=e[i]).length;--t>=0;)r[--o]=n[t];return r}function f(e,t){var r,n,i=e.length,a=-1;if(null==t){for(;++a<i;)if(null!=(r=e[a])&&r>=r)for(n=r;++a<i;)null!=(r=e[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=t(e[a],a,e))&&r>=r)for(n=r;++a<i;)null!=(r=t(e[a],a,e))&&n>r&&(n=r);return n}function h(e,t,r){e=+e,t=+t,r=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((t-e)/r)),a=new Array(i);++n<i;)a[n]=e+n*r;return a}function p(e,t){var r,n=e.length,i=-1,a=0;if(null==t)for(;++i<n;)(r=+e[i])&&(a+=r);else for(;++i<n;)(r=+t(e[i],i,e))&&(a+=r);return a}o.slice,o.map,Math.sqrt(50),Math.sqrt(10),Math.sqrt(2)},15140:function(e,t,r){\"use strict\";r.d(t,{UI:function(){return o},b1:function(){return s}});var n=\"$\";function i(){}function a(e,t){var r=new i;if(e instanceof i)e.each((function(e,t){r.set(t,e)}));else if(Array.isArray(e)){var n,a=-1,o=e.length;if(null==t)for(;++a<o;)r.set(a,e[a]);else for(;++a<o;)r.set(t(n=e[a],a,e),n)}else if(e)for(var s in e)r.set(s,e[s]);return r}i.prototype=a.prototype={constructor:i,has:function(e){return n+e in this},get:function(e){return this[n+e]},set:function(e,t){return this[n+e]=t,this},remove:function(e){var t=n+e;return t in this&&delete this[t]},clear:function(){for(var e in this)e[0]===n&&delete this[e]},keys:function(){var e=[];for(var t in this)t[0]===n&&e.push(t.slice(1));return e},values:function(){var e=[];for(var t in this)t[0]===n&&e.push(this[t]);return e},entries:function(){var e=[];for(var t in this)t[0]===n&&e.push({key:t.slice(1),value:this[t]});return e},size:function(){var e=0;for(var t in this)t[0]===n&&++e;return e},empty:function(){for(var e in this)if(e[0]===n)return!1;return!0},each:function(e){for(var t in this)t[0]===n&&e(this[t],t.slice(1),this)}};var o=a;function s(){var e,t,r,n=[],i=[];function a(r,i,s,l){if(i>=n.length)return null!=e&&r.sort(e),null!=t?t(r):r;for(var u,c,f,h=-1,p=r.length,d=n[i++],v=o(),g=s();++h<p;)(f=v.get(u=d(c=r[h])+\"\"))?f.push(c):v.set(u,[c]);return v.each((function(e,t){l(g,t,a(e,i,s,l))})),g}function s(e,r){if(++r>n.length)return e;var a,o=i[r-1];return null!=t&&r>=n.length?a=e.entries():(a=[],e.each((function(e,t){a.push({key:t,values:s(e,r)})}))),null!=o?a.sort((function(e,t){return o(e.key,t.key)})):a}return r={object:function(e){return a(e,0,l,u)},map:function(e){return a(e,0,c,f)},entries:function(e){return s(a(e,0,c,f),0)},key:function(e){return n.push(e),r},sortKeys:function(e){return i[n.length-1]=e,r},sortValues:function(t){return e=t,r},rollup:function(e){return t=e,r}}}function l(){return{}}function u(e,t,r){e[t]=r}function c(){return o()}function f(e,t,r){e.set(t,r)}function h(){}var p=o.prototype;h.prototype=function(e,t){var r=new h;if(e instanceof h)e.each((function(e){r.add(e)}));else if(e){var n=-1,i=e.length;if(null==t)for(;++n<i;)r.add(e[n]);else for(;++n<i;)r.add(t(e[n],n,e))}return r}.prototype={constructor:h,has:p.has,add:function(e){return this[n+(e+=\"\")]=e,this},remove:p.remove,clear:p.clear,values:p.keys,size:p.size,empty:p.empty,each:p.each}},49887:function(e,t,r){\"use strict\";function n(e,t){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-e,s=s/a-t,n=0;n<a;++n)(i=r[n]).x-=o,i.y-=s}return null==e&&(e=0),null==t&&(t=0),n.initialize=function(e){r=e},n.x=function(t){return arguments.length?(e=+t,n):e},n.y=function(e){return arguments.length?(t=+e,n):t},n}function i(e){return function(){return e}}function a(){return 1e-6*(Math.random()-.5)}function o(e,t,r,n){if(isNaN(t)||isNaN(r))return e;var i,a,o,s,l,u,c,f,h,p=e._root,d={data:n},v=e._x0,g=e._y0,m=e._x1,y=e._y1;if(!p)return e._root=d,e;for(;p.length;)if((u=t>=(a=(v+m)/2))?v=a:m=a,(c=r>=(o=(g+y)/2))?g=o:y=o,i=p,!(p=p[f=c<<1|u]))return i[f]=d,e;if(s=+e._x.call(null,p.data),l=+e._y.call(null,p.data),t===s&&r===l)return d.next=p,i?i[f]=d:e._root=d,e;do{i=i?i[f]=new Array(4):e._root=new Array(4),(u=t>=(a=(v+m)/2))?v=a:m=a,(c=r>=(o=(g+y)/2))?g=o:y=o}while((f=c<<1|u)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,e}function s(e,t,r,n,i){this.node=e,this.x0=t,this.y0=r,this.x1=n,this.y1=i}function l(e){return e[0]}function u(e){return e[1]}function c(e,t,r){var n=new f(null==t?l:t,null==r?u:r,NaN,NaN,NaN,NaN);return null==e?n:n.addAll(e)}function f(e,t,r,n,i,a){this._x=e,this._y=t,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function h(e){for(var t={data:e.data},r=t;e=e.next;)r=r.next={data:e.data};return t}r.r(t),r.d(t,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return b},forceManyBody:function(){return K},forceRadial:function(){return J},forceSimulation:function(){return X},forceX:function(){return $},forceY:function(){return Q}});var p=c.prototype=f.prototype;function d(e){return e.x+e.vx}function v(e){return e.y+e.vy}function g(e){var t,r,n=1,o=1;function s(){for(var e,i,s,u,f,h,p,g=t.length,m=0;m<o;++m)for(i=c(t,d,v).visitAfter(l),e=0;e<g;++e)s=t[e],h=r[s.index],p=h*h,u=s.x+s.vx,f=s.y+s.vy,i.visit(y);function y(e,t,r,i,o){var l=e.data,c=e.r,d=h+c;if(!l)return t>u+d||i<u-d||r>f+d||o<f-d;if(l.index>s.index){var v=u-l.x-l.vx,g=f-l.y-l.vy,m=v*v+g*g;m<d*d&&(0===v&&(m+=(v=a())*v),0===g&&(m+=(g=a())*g),m=(d-(m=Math.sqrt(m)))/m*n,s.vx+=(v*=m)*(d=(c*=c)/(p+c)),s.vy+=(g*=m)*d,l.vx-=v*(d=1-d),l.vy-=g*d)}}}function l(e){if(e.data)return e.r=r[e.data.index];for(var t=e.r=0;t<4;++t)e[t]&&e[t].r>e.r&&(e.r=e[t].r)}function u(){if(t){var n,i,a=t.length;for(r=new Array(a),n=0;n<a;++n)i=t[n],r[i.index]=+e(i,n,t)}}return\"function\"!=typeof e&&(e=i(null==e?1:+e)),s.initialize=function(e){t=e,u()},s.iterations=function(e){return arguments.length?(o=+e,s):o},s.strength=function(e){return arguments.length?(n=+e,s):n},s.radius=function(t){return arguments.length?(e=\"function\"==typeof t?t:i(+t),u(),s):e},s}p.copy=function(){var e,t,r=new f(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=h(n),r;for(e=[{source:n,target:r._root=new Array(4)}];n=e.pop();)for(var i=0;i<4;++i)(t=n.source[i])&&(t.length?e.push({source:t,target:n.target[i]=new Array(4)}):n.target[i]=h(t));return r},p.add=function(e){var t=+this._x.call(null,e),r=+this._y.call(null,e);return o(this.cover(t,r),t,r,e)},p.addAll=function(e){var t,r,n,i,a=e.length,s=new Array(a),l=new Array(a),u=1/0,c=1/0,f=-1/0,h=-1/0;for(r=0;r<a;++r)isNaN(n=+this._x.call(null,t=e[r]))||isNaN(i=+this._y.call(null,t))||(s[r]=n,l[r]=i,n<u&&(u=n),n>f&&(f=n),i<c&&(c=i),i>h&&(h=i));if(u>f||c>h)return this;for(this.cover(u,c).cover(f,h),r=0;r<a;++r)o(this,s[r],l[r],e[r]);return this},p.cover=function(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var r=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(e))+1,a=(n=Math.floor(t))+1;else{for(var o,s,l=i-r,u=this._root;r>e||e>=i||n>t||t>=a;)switch(s=(t<n)<<1|e<r,(o=new Array(4))[s]=u,u=o,l*=2,s){case 0:i=r+l,a=n+l;break;case 1:r=i-l,a=n+l;break;case 2:i=r+l,n=a-l;break;case 3:r=i-l,n=a-l}this._root&&this._root.length&&(this._root=u)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},p.data=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},p.extent=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},p.find=function(e,t,r){var n,i,a,o,l,u,c,f=this._x0,h=this._y0,p=this._x1,d=this._y1,v=[],g=this._root;for(g&&v.push(new s(g,f,h,p,d)),null==r?r=1/0:(f=e-r,h=t-r,p=e+r,d=t+r,r*=r);u=v.pop();)if(!(!(g=u.node)||(i=u.x0)>p||(a=u.y0)>d||(o=u.x1)<f||(l=u.y1)<h))if(g.length){var m=(i+o)/2,y=(a+l)/2;v.push(new s(g[3],m,y,o,l),new s(g[2],i,y,m,l),new s(g[1],m,a,o,y),new s(g[0],i,a,m,y)),(c=(t>=y)<<1|e>=m)&&(u=v[v.length-1],v[v.length-1]=v[v.length-1-c],v[v.length-1-c]=u)}else{var x=e-+this._x.call(null,g.data),b=t-+this._y.call(null,g.data),_=x*x+b*b;if(_<r){var w=Math.sqrt(r=_);f=e-w,h=t-w,p=e+w,d=t+w,n=g.data}}return n},p.remove=function(e){if(isNaN(a=+this._x.call(null,e))||isNaN(o=+this._y.call(null,e)))return this;var t,r,n,i,a,o,s,l,u,c,f,h,p=this._root,d=this._x0,v=this._y0,g=this._x1,m=this._y1;if(!p)return this;if(p.length)for(;;){if((u=a>=(s=(d+g)/2))?d=s:g=s,(c=o>=(l=(v+m)/2))?v=l:m=l,t=p,!(p=p[f=c<<1|u]))return this;if(!p.length)break;(t[f+1&3]||t[f+2&3]||t[f+3&3])&&(r=t,h=f)}for(;p.data!==e;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):t?(i?t[f]=i:delete t[f],(p=t[0]||t[1]||t[2]||t[3])&&p===(t[3]||t[2]||t[1]||t[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},p.removeAll=function(e){for(var t=0,r=e.length;t<r;++t)this.remove(e[t]);return this},p.root=function(){return this._root},p.size=function(){var e=0;return this.visit((function(t){if(!t.length)do{++e}while(t=t.next)})),e},p.visit=function(e){var t,r,n,i,a,o,l=[],u=this._root;for(u&&l.push(new s(u,this._x0,this._y0,this._x1,this._y1));t=l.pop();)if(!e(u=t.node,n=t.x0,i=t.y0,a=t.x1,o=t.y1)&&u.length){var c=(n+a)/2,f=(i+o)/2;(r=u[3])&&l.push(new s(r,c,f,a,o)),(r=u[2])&&l.push(new s(r,n,f,c,o)),(r=u[1])&&l.push(new s(r,c,i,a,f)),(r=u[0])&&l.push(new s(r,n,i,c,f))}return this},p.visitAfter=function(e){var t,r=[],n=[];for(this._root&&r.push(new s(this._root,this._x0,this._y0,this._x1,this._y1));t=r.pop();){var i=t.node;if(i.length){var a,o=t.x0,l=t.y0,u=t.x1,c=t.y1,f=(o+u)/2,h=(l+c)/2;(a=i[0])&&r.push(new s(a,o,l,f,h)),(a=i[1])&&r.push(new s(a,f,l,u,h)),(a=i[2])&&r.push(new s(a,o,h,f,c)),(a=i[3])&&r.push(new s(a,f,h,u,c))}n.push(t)}for(;t=n.pop();)e(t.node,t.x0,t.y0,t.x1,t.y1);return this},p.x=function(e){return arguments.length?(this._x=e,this):this._x},p.y=function(e){return arguments.length?(this._y=e,this):this._y};var m=r(15140);function y(e){return e.index}function x(e,t){var r=e.get(t);if(!r)throw new Error(\"missing: \"+t);return r}function b(e){var t,r,n,o,s,l=y,u=function(e){return 1/Math.min(o[e.source.index],o[e.target.index])},c=i(30),f=1;function h(n){for(var i=0,o=e.length;i<f;++i)for(var l,u,c,h,p,d,v,g=0;g<o;++g)u=(l=e[g]).source,h=(c=l.target).x+c.vx-u.x-u.vx||a(),p=c.y+c.vy-u.y-u.vy||a(),h*=d=((d=Math.sqrt(h*h+p*p))-r[g])/d*n*t[g],p*=d,c.vx-=h*(v=s[g]),c.vy-=p*v,u.vx+=h*(v=1-v),u.vy+=p*v}function p(){if(n){var i,a,u=n.length,c=e.length,f=(0,m.UI)(n,l);for(i=0,o=new Array(u);i<c;++i)(a=e[i]).index=i,\"object\"!=typeof a.source&&(a.source=x(f,a.source)),\"object\"!=typeof a.target&&(a.target=x(f,a.target)),o[a.source.index]=(o[a.source.index]||0)+1,o[a.target.index]=(o[a.target.index]||0)+1;for(i=0,s=new Array(c);i<c;++i)a=e[i],s[i]=o[a.source.index]/(o[a.source.index]+o[a.target.index]);t=new Array(c),d(),r=new Array(c),v()}}function d(){if(n)for(var r=0,i=e.length;r<i;++r)t[r]=+u(e[r],r,e)}function v(){if(n)for(var t=0,i=e.length;t<i;++t)r[t]=+c(e[t],t,e)}return null==e&&(e=[]),h.initialize=function(e){n=e,p()},h.links=function(t){return arguments.length?(e=t,p(),h):e},h.id=function(e){return arguments.length?(l=e,h):l},h.iterations=function(e){return arguments.length?(f=+e,h):f},h.strength=function(e){return arguments.length?(u=\"function\"==typeof e?e:i(+e),d(),h):u},h.distance=function(e){return arguments.length?(c=\"function\"==typeof e?e:i(+e),v(),h):c},h}var _={value:function(){}};function w(){for(var e,t=0,r=arguments.length,n={};t<r;++t){if(!(e=arguments[t]+\"\")||e in n||/[\\s.]/.test(e))throw new Error(\"illegal type: \"+e);n[e]=[]}return new k(n)}function k(e){this._=e}function T(e,t){for(var r,n=0,i=e.length;n<i;++n)if((r=e[n]).name===t)return r.value}function M(e,t,r){for(var n=0,i=e.length;n<i;++n)if(e[n].name===t){e[n]=_,e=e.slice(0,n).concat(e.slice(n+1));break}return null!=r&&e.push({name:t,value:r}),e}k.prototype=w.prototype={constructor:k,on:function(e,t){var r,n,i=this._,a=(n=i,(e+\"\").trim().split(/^|\\s+/).map((function(e){var t=\"\",r=e.indexOf(\".\");if(r>=0&&(t=e.slice(r+1),e=e.slice(0,r)),e&&!n.hasOwnProperty(e))throw new Error(\"unknown type: \"+e);return{type:e,name:t}}))),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=t&&\"function\"!=typeof t)throw new Error(\"invalid callback: \"+t);for(;++o<s;)if(r=(e=a[o]).type)i[r]=M(i[r],e.name,t);else if(null==t)for(r in i)i[r]=M(i[r],e.name,null);return this}for(;++o<s;)if((r=(e=a[o]).type)&&(r=T(i[r],e.name)))return r},copy:function(){var e={},t=this._;for(var r in t)e[r]=t[r].slice();return new k(e)},call:function(e,t){if((r=arguments.length-2)>0)for(var r,n,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(e))throw new Error(\"unknown type: \"+e);for(a=0,r=(n=this._[e]).length;a<r;++a)n[a].value.apply(t,i)},apply:function(e,t,r){if(!this._.hasOwnProperty(e))throw new Error(\"unknown type: \"+e);for(var n=this._[e],i=0,a=n.length;i<a;++i)n[i].value.apply(t,r)}};var A,S,E=w,C=0,L=0,P=0,O=1e3,I=0,D=0,z=0,R=\"object\"==typeof performance&&performance.now?performance:Date,F=\"object\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function B(){return D||(F(N),D=R.now()+z)}function N(){D=0}function j(){this._call=this._time=this._next=null}function U(e,t,r){var n=new j;return n.restart(e,t,r),n}function V(){D=(I=R.now())+z,C=L=0;try{!function(){B(),++C;for(var e,t=A;t;)(e=D-t._time)>=0&&t._call.call(null,e),t=t._next;--C}()}finally{C=0,function(){for(var e,t,r=A,n=1/0;r;)r._call?(n>r._time&&(n=r._time),e=r,r=r._next):(t=r._next,r._next=null,r=e?e._next=t:A=t);S=e,q(n)}(),D=0}}function H(){var e=R.now(),t=e-I;t>O&&(z-=t,I=e)}function q(e){C||(L&&(L=clearTimeout(L)),e-D>24?(e<1/0&&(L=setTimeout(V,e-R.now()-z)),P&&(P=clearInterval(P))):(P||(I=R.now(),P=setInterval(H,O)),C=1,F(V)))}function G(e){return e.x}function Y(e){return e.y}j.prototype=U.prototype={constructor:j,restart:function(e,t,r){if(\"function\"!=typeof e)throw new TypeError(\"callback is not a function\");r=(null==r?B():+r)+(null==t?0:+t),this._next||S===this||(S?S._next=this:A=this,S=this),this._call=e,this._time=r,q()},stop:function(){this._call&&(this._call=null,this._time=1/0,q())}};var W=10,Z=Math.PI*(3-Math.sqrt(5));function X(e){var t,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,m.UI)(),l=U(c),u=E(\"tick\",\"end\");function c(){f(),u.call(\"tick\",t),r<n&&(l.stop(),u.call(\"end\",t))}function f(n){var l,u,c=e.length;void 0===n&&(n=1);for(var f=0;f<n;++f)for(r+=(a-r)*i,s.each((function(e){e(r)})),l=0;l<c;++l)null==(u=e[l]).fx?u.x+=u.vx*=o:(u.x=u.fx,u.vx=0),null==u.fy?u.y+=u.vy*=o:(u.y=u.fy,u.vy=0);return t}function h(){for(var t,r=0,n=e.length;r<n;++r){if((t=e[r]).index=r,null!=t.fx&&(t.x=t.fx),null!=t.fy&&(t.y=t.fy),isNaN(t.x)||isNaN(t.y)){var i=W*Math.sqrt(r),a=r*Z;t.x=i*Math.cos(a),t.y=i*Math.sin(a)}(isNaN(t.vx)||isNaN(t.vy))&&(t.vx=t.vy=0)}}function p(t){return t.initialize&&t.initialize(e),t}return null==e&&(e=[]),h(),t={tick:f,restart:function(){return l.restart(c),t},stop:function(){return l.stop(),t},nodes:function(r){return arguments.length?(e=r,h(),s.each(p),t):e},alpha:function(e){return arguments.length?(r=+e,t):r},alphaMin:function(e){return arguments.length?(n=+e,t):n},alphaDecay:function(e){return arguments.length?(i=+e,t):+i},alphaTarget:function(e){return arguments.length?(a=+e,t):a},velocityDecay:function(e){return arguments.length?(o=1-e,t):1-o},force:function(e,r){return arguments.length>1?(null==r?s.remove(e):s.set(e,p(r)),t):s.get(e)},find:function(t,r,n){var i,a,o,s,l,u=0,c=e.length;for(null==n?n=1/0:n*=n,u=0;u<c;++u)(o=(i=t-(s=e[u]).x)*i+(a=r-s.y)*a)<n&&(l=s,n=o);return l},on:function(e,r){return arguments.length>1?(u.on(e,r),t):u.on(e)}}}function K(){var e,t,r,n,o=i(-30),s=1,l=1/0,u=.81;function f(n){var i,a=e.length,o=c(e,G,Y).visitAfter(p);for(r=n,i=0;i<a;++i)t=e[i],o.visit(d)}function h(){if(e){var t,r,i=e.length;for(n=new Array(i),t=0;t<i;++t)r=e[t],n[r.index]=+o(r,t,e)}}function p(e){var t,r,i,a,o,s=0,l=0;if(e.length){for(i=a=o=0;o<4;++o)(t=e[o])&&(r=Math.abs(t.value))&&(s+=t.value,l+=r,i+=r*t.x,a+=r*t.y);e.x=i/l,e.y=a/l}else{(t=e).x=t.data.x,t.y=t.data.y;do{s+=n[t.data.index]}while(t=t.next)}e.value=s}function d(e,i,o,c){if(!e.value)return!0;var f=e.x-t.x,h=e.y-t.y,p=c-i,d=f*f+h*h;if(p*p/u<d)return d<l&&(0===f&&(d+=(f=a())*f),0===h&&(d+=(h=a())*h),d<s&&(d=Math.sqrt(s*d)),t.vx+=f*e.value*r/d,t.vy+=h*e.value*r/d),!0;if(!(e.length||d>=l)){(e.data!==t||e.next)&&(0===f&&(d+=(f=a())*f),0===h&&(d+=(h=a())*h),d<s&&(d=Math.sqrt(s*d)));do{e.data!==t&&(p=n[e.data.index]*r/d,t.vx+=f*p,t.vy+=h*p)}while(e=e.next)}}return f.initialize=function(t){e=t,h()},f.strength=function(e){return arguments.length?(o=\"function\"==typeof e?e:i(+e),h(),f):o},f.distanceMin=function(e){return arguments.length?(s=e*e,f):Math.sqrt(s)},f.distanceMax=function(e){return arguments.length?(l=e*e,f):Math.sqrt(l)},f.theta=function(e){return arguments.length?(u=e*e,f):Math.sqrt(u)},f}function J(e,t,r){var n,a,o,s=i(.1);function l(e){for(var i=0,s=n.length;i<s;++i){var l=n[i],u=l.x-t||1e-6,c=l.y-r||1e-6,f=Math.sqrt(u*u+c*c),h=(o[i]-f)*a[i]*e/f;l.vx+=u*h,l.vy+=c*h}}function u(){if(n){var t,r=n.length;for(a=new Array(r),o=new Array(r),t=0;t<r;++t)o[t]=+e(n[t],t,n),a[t]=isNaN(o[t])?0:+s(n[t],t,n)}}return\"function\"!=typeof e&&(e=i(+e)),null==t&&(t=0),null==r&&(r=0),l.initialize=function(e){n=e,u()},l.strength=function(e){return arguments.length?(s=\"function\"==typeof e?e:i(+e),u(),l):s},l.radius=function(t){return arguments.length?(e=\"function\"==typeof t?t:i(+t),u(),l):e},l.x=function(e){return arguments.length?(t=+e,l):t},l.y=function(e){return arguments.length?(r=+e,l):r},l}function $(e){var t,r,n,a=i(.1);function o(e){for(var i,a=0,o=t.length;a<o;++a)(i=t[a]).vx+=(n[a]-i.x)*r[a]*e}function s(){if(t){var i,o=t.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+e(t[i],i,t))?0:+a(t[i],i,t)}}return\"function\"!=typeof e&&(e=i(null==e?0:+e)),o.initialize=function(e){t=e,s()},o.strength=function(e){return arguments.length?(a=\"function\"==typeof e?e:i(+e),s(),o):a},o.x=function(t){return arguments.length?(e=\"function\"==typeof t?t:i(+t),s(),o):e},o}function Q(e){var t,r,n,a=i(.1);function o(e){for(var i,a=0,o=t.length;a<o;++a)(i=t[a]).vy+=(n[a]-i.y)*r[a]*e}function s(){if(t){var i,o=t.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+e(t[i],i,t))?0:+a(t[i],i,t)}}return\"function\"!=typeof e&&(e=i(null==e?0:+e)),o.initialize=function(e){t=e,s()},o.strength=function(e){return arguments.length?(a=\"function\"==typeof e?e:i(+e),s(),o):a},o.y=function(t){return arguments.length?(e=\"function\"==typeof t?t:i(+t),s(),o):e},o}},60721:function(e,t,r){\"use strict\";function n(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(\"e\"))<0)return null;var r,n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}r.d(t,{WU:function(){return h},FF:function(){return v}});var i,a=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function o(e){if(!(t=a.exec(e)))throw new Error(\"invalid format: \"+e);var t;return new s({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function s(e){this.fill=void 0===e.fill?\" \":e.fill+\"\",this.align=void 0===e.align?\">\":e.align+\"\",this.sign=void 0===e.sign?\"-\":e.sign+\"\",this.symbol=void 0===e.symbol?\"\":e.symbol+\"\",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?\"\":e.type+\"\"}function l(e,t){var r=n(e,t);if(!r)return e+\"\";var i=r[0],a=r[1];return a<0?\"0.\"+new Array(-a).join(\"0\")+i:i.length>a+1?i.slice(0,a+1)+\".\"+i.slice(a+1):i+new Array(a-i.length+2).join(\"0\")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(void 0===this.width?\"\":Math.max(1,0|this.width))+(this.comma?\",\":\"\")+(void 0===this.precision?\"\":\".\"+Math.max(0,0|this.precision))+(this.trim?\"~\":\"\")+this.type};var u={\"%\":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+\"\"},d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(\"en\").replace(/,/g,\"\"):e.toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return l(100*e,t)},r:l,s:function(e,t){var r=n(e,t);if(!r)return e+\"\";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join(\"0\"):s>0?a.slice(0,s)+\".\"+a.slice(s):\"0.\"+new Array(1-s).join(\"0\")+n(e,Math.max(0,t+s-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}};function c(e){return e}var f,h,p=Array.prototype.map,d=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function v(e){var t,r,a=void 0===e.grouping||void 0===e.thousands?c:(t=p.call(e.grouping,Number),r=e.thousands+\"\",function(e,n){for(var i=e.length,a=[],o=0,s=t[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(e.substring(i-=s,i+s)),!((l+=s+1)>n));)s=t[o=(o+1)%t.length];return a.reverse().join(r)}),s=void 0===e.currency?\"\":e.currency[0]+\"\",l=void 0===e.currency?\"\":e.currency[1]+\"\",f=void 0===e.decimal?\".\":e.decimal+\"\",h=void 0===e.numerals?c:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(p.call(e.numerals,String)),v=void 0===e.percent?\"%\":e.percent+\"\",g=void 0===e.minus?\"-\":e.minus+\"\",m=void 0===e.nan?\"NaN\":e.nan+\"\";function y(e){var t=(e=o(e)).fill,r=e.align,n=e.sign,c=e.symbol,p=e.zero,y=e.width,x=e.comma,b=e.precision,_=e.trim,w=e.type;\"n\"===w?(x=!0,w=\"g\"):u[w]||(void 0===b&&(b=12),_=!0,w=\"g\"),(p||\"0\"===t&&\"=\"===r)&&(p=!0,t=\"0\",r=\"=\");var k=\"$\"===c?s:\"#\"===c&&/[boxX]/.test(w)?\"0\"+w.toLowerCase():\"\",T=\"$\"===c?l:/[%p]/.test(w)?v:\"\",M=u[w],A=/[defgprs%]/.test(w);function S(e){var o,s,l,u=k,c=T;if(\"c\"===w)c=M(e)+c,e=\"\";else{var v=(e=+e)<0||1/e<0;if(e=isNaN(e)?m:M(Math.abs(e),b),_&&(e=function(e){e:for(var t,r=e.length,n=1,i=-1;n<r;++n)switch(e[n]){case\".\":i=t=n;break;case\"0\":0===i&&(i=n),t=n;break;default:if(!+e[n])break e;i>0&&(i=0)}return i>0?e.slice(0,i)+e.slice(t+1):e}(e)),v&&0==+e&&\"+\"!==n&&(v=!1),u=(v?\"(\"===n?n:g:\"-\"===n||\"(\"===n?\"\":n)+u,c=(\"s\"===w?d[8+i/3]:\"\")+c+(v&&\"(\"===n?\")\":\"\"),A)for(o=-1,s=e.length;++o<s;)if(48>(l=e.charCodeAt(o))||l>57){c=(46===l?f+e.slice(o+1):e.slice(o))+c,e=e.slice(0,o);break}}x&&!p&&(e=a(e,1/0));var S=u.length+e.length+c.length,E=S<y?new Array(y-S+1).join(t):\"\";switch(x&&p&&(e=a(E+e,E.length?y-c.length:1/0),E=\"\"),r){case\"<\":e=u+e+c+E;break;case\"=\":e=u+E+e+c;break;case\"^\":e=E.slice(0,S=E.length>>1)+u+e+c+E.slice(S);break;default:e=E+u+e+c}return h(e)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return e+\"\"},S}return{format:y,formatPrefix:function(e,t){var r,i=y(((e=o(e)).type=\"f\",e)),a=3*Math.max(-8,Math.min(8,Math.floor((r=t,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(e){return i(s*e)+l}}}}f=v({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"}),h=f.format,f.formatPrefix},65704:function(e,t,r){\"use strict\";r.r(t),r.d(t,{geoAiry:function(){return z},geoAiryRaw:function(){return D},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return q},geoBerghaus:function(){return Z},geoBerghausRaw:function(){return W},geoBertin1953:function(){return re},geoBertin1953Raw:function(){return te},geoBoggs:function(){return ce},geoBoggsRaw:function(){return ue},geoBonne:function(){return ve},geoBonneRaw:function(){return de},geoBottomley:function(){return me},geoBottomleyRaw:function(){return ge},geoBromley:function(){return xe},geoBromleyRaw:function(){return ye},geoChamberlin:function(){return Ee},geoChamberlinAfrica:function(){return Se},geoChamberlinRaw:function(){return Me},geoCollignon:function(){return Le},geoCollignonRaw:function(){return Ce},geoCraig:function(){return Oe},geoCraigRaw:function(){return Pe},geoCraster:function(){return ze},geoCrasterRaw:function(){return De},geoCylindricalEqualArea:function(){return Fe},geoCylindricalEqualAreaRaw:function(){return Re},geoCylindricalStereographic:function(){return Ne},geoCylindricalStereographicRaw:function(){return Be},geoEckert1:function(){return Ue},geoEckert1Raw:function(){return je},geoEckert2:function(){return He},geoEckert2Raw:function(){return Ve},geoEckert3:function(){return Ge},geoEckert3Raw:function(){return qe},geoEckert4:function(){return We},geoEckert4Raw:function(){return Ye},geoEckert5:function(){return Xe},geoEckert5Raw:function(){return Ze},geoEckert6:function(){return Je},geoEckert6Raw:function(){return Ke},geoEisenlohr:function(){return et},geoEisenlohrRaw:function(){return Qe},geoFahey:function(){return nt},geoFaheyRaw:function(){return rt},geoFoucaut:function(){return at},geoFoucautRaw:function(){return it},geoFoucautSinusoidal:function(){return st},geoFoucautSinusoidalRaw:function(){return ot},geoGilbert:function(){return ht},geoGingery:function(){return gt},geoGingeryRaw:function(){return pt},geoGinzburg4:function(){return xt},geoGinzburg4Raw:function(){return yt},geoGinzburg5:function(){return _t},geoGinzburg5Raw:function(){return bt},geoGinzburg6:function(){return kt},geoGinzburg6Raw:function(){return wt},geoGinzburg8:function(){return Mt},geoGinzburg8Raw:function(){return Tt},geoGinzburg9:function(){return St},geoGinzburg9Raw:function(){return At},geoGringorten:function(){return Lt},geoGringortenQuincuncial:function(){return ii},geoGringortenRaw:function(){return Ct},geoGuyou:function(){return Dt},geoGuyouRaw:function(){return It},geoHammer:function(){return $},geoHammerRaw:function(){return K},geoHammerRetroazimuthal:function(){return Bt},geoHammerRetroazimuthalRaw:function(){return Rt},geoHealpix:function(){return Wt},geoHealpixRaw:function(){return Ht},geoHill:function(){return Xt},geoHillRaw:function(){return Zt},geoHomolosine:function(){return tr},geoHomolosineRaw:function(){return er},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return cr},geoInterruptedBoggs:function(){return hr},geoInterruptedHomolosine:function(){return dr},geoInterruptedMollweide:function(){return gr},geoInterruptedMollweideHemispheres:function(){return yr},geoInterruptedQuarticAuthalic:function(){return fn},geoInterruptedSinuMollweide:function(){return br},geoInterruptedSinusoidal:function(){return wr},geoKavrayskiy7:function(){return Tr},geoKavrayskiy7Raw:function(){return kr},geoLagrange:function(){return Ar},geoLagrangeRaw:function(){return Mr},geoLarrivee:function(){return Cr},geoLarriveeRaw:function(){return Er},geoLaskowski:function(){return Pr},geoLaskowskiRaw:function(){return Lr},geoLittrow:function(){return Ir},geoLittrowRaw:function(){return Or},geoLoximuthal:function(){return zr},geoLoximuthalRaw:function(){return Dr},geoMiller:function(){return Fr},geoMillerRaw:function(){return Rr},geoModifiedStereographic:function(){return Xr},geoModifiedStereographicAlaska:function(){return qr},geoModifiedStereographicGs48:function(){return Gr},geoModifiedStereographicGs50:function(){return Yr},geoModifiedStereographicLee:function(){return Zr},geoModifiedStereographicMiller:function(){return Wr},geoModifiedStereographicRaw:function(){return Br},geoMollweide:function(){return oe},geoMollweideRaw:function(){return ae},geoMtFlatPolarParabolic:function(){return Qr},geoMtFlatPolarParabolicRaw:function(){return $r},geoMtFlatPolarQuartic:function(){return tn},geoMtFlatPolarQuarticRaw:function(){return en},geoMtFlatPolarSinusoidal:function(){return nn},geoMtFlatPolarSinusoidalRaw:function(){return rn},geoNaturalEarth:function(){return an.Z},geoNaturalEarth2:function(){return sn},geoNaturalEarth2Raw:function(){return on},geoNaturalEarthRaw:function(){return an.K},geoNellHammer:function(){return un},geoNellHammerRaw:function(){return ln},geoNicolosi:function(){return pn},geoNicolosiRaw:function(){return hn},geoPatterson:function(){return Tn},geoPattersonRaw:function(){return kn},geoPeirceQuincuncial:function(){return ai},geoPierceQuincuncial:function(){return ai},geoPolyconic:function(){return An},geoPolyconicRaw:function(){return Mn},geoPolyhedral:function(){return On},geoPolyhedralButterfly:function(){return Nn},geoPolyhedralCollignon:function(){return Vn},geoPolyhedralWaterman:function(){return Hn},geoProject:function(){return Zn},geoQuantize:function(){return oi},geoQuincuncial:function(){return ni},geoRectangularPolyconic:function(){return li},geoRectangularPolyconicRaw:function(){return si},geoRobinson:function(){return fi},geoRobinsonRaw:function(){return ci},geoSatellite:function(){return pi},geoSatelliteRaw:function(){return hi},geoSinuMollweide:function(){return Qt},geoSinuMollweideRaw:function(){return $t},geoSinusoidal:function(){return pe},geoSinusoidalRaw:function(){return he},geoStitch:function(){return Oi},geoTimes:function(){return Di},geoTimesRaw:function(){return Ii},geoTwoPointAzimuthal:function(){return Bi},geoTwoPointAzimuthalRaw:function(){return Ri},geoTwoPointAzimuthalUsa:function(){return Fi},geoTwoPointEquidistant:function(){return Ui},geoTwoPointEquidistantRaw:function(){return Ni},geoTwoPointEquidistantUsa:function(){return ji},geoVanDerGrinten:function(){return Hi},geoVanDerGrinten2:function(){return Gi},geoVanDerGrinten2Raw:function(){return qi},geoVanDerGrinten3:function(){return Wi},geoVanDerGrinten3Raw:function(){return Yi},geoVanDerGrinten4:function(){return Xi},geoVanDerGrinten4Raw:function(){return Zi},geoVanDerGrintenRaw:function(){return Vi},geoWagner:function(){return Ji},geoWagner4:function(){return ra},geoWagner4Raw:function(){return ta},geoWagner6:function(){return ia},geoWagner6Raw:function(){return na},geoWagner7:function(){return $i},geoWagnerRaw:function(){return Ki},geoWiechel:function(){return oa},geoWiechelRaw:function(){return aa},geoWinkel3:function(){return la},geoWinkel3Raw:function(){return sa}});var n=r(15002),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,u=Math.floor,c=Math.log,f=Math.max,h=Math.min,p=Math.pow,d=Math.round,v=Math.sign||function(e){return e>0?1:e<0?-1:0},g=Math.sin,m=Math.tan,y=1e-6,x=1e-12,b=Math.PI,_=b/2,w=b/4,k=Math.SQRT1_2,T=P(2),M=P(b),A=2*b,S=180/b,E=b/180;function C(e){return e>1?_:e<-1?-_:Math.asin(e)}function L(e){return e>1?0:e<-1?b:Math.acos(e)}function P(e){return e>0?Math.sqrt(e):0}function O(e){return(l(e)-l(-e))/2}function I(e){return(l(e)+l(-e))/2}function D(e){var t=m(e/2),r=2*c(s(e/2))/(t*t);function n(e,t){var n=s(e),i=s(t),a=g(t),o=i*n,l=-((1-o?c((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(e),l*a]}return n.invert=function(t,n){var a,l=P(t*t+n*n),u=-e/2,f=50;if(!l)return[0,0];do{var h=u/2,p=s(h),d=g(h),v=d/p,m=-c(i(p));u-=a=(2/v*m-r*v-l)/(-m/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>y&&--f>0);var x=g(u);return[o(t*x,l*s(u)),C(n*x/l)]},n}function z(){var e=_,t=(0,n.r)(D),r=t(e);return r.radius=function(r){return arguments.length?t(e=r*E):e*S},r.scale(179.976).clipAngle(147)}function R(e,t){var r=s(t),n=function(e){return e?e/Math.sin(e):1}(L(r*s(e/=2)));return[2*r*g(e)*n,g(t)*n]}function F(){return(0,n.Z)(R).scale(152.63)}function B(e){var t=g(e),r=s(e),n=e>=0?1:-1,a=m(n*e),l=(1+t-r)/2;function u(e,i){var u=s(i),c=s(e/=2);return[(1+u)*g(e),(n*i>-o(c,a)-.001?0:10*-n)+l+g(i)*r-(1+u)*t*c]}return u.invert=function(e,u){var c=0,f=0,h=50;do{var p=s(c),d=g(c),v=s(f),m=g(f),x=1+v,b=x*d-e,_=l+m*r-x*t*p-u,w=x*p/2,k=-d*m,T=t*x*d/2,M=r*v+t*p*m,A=k*T-M*w,S=(_*k-b*M)/A/2,E=(b*T-_*w)/A;i(E)>2&&(E/=2),c-=S,f-=E}while((i(S)>y||i(E)>y)&&--h>0);return n*f>-o(s(c),a)-.001?[2*c,f]:null},u}function N(){var e=20*E,t=e>=0?1:-1,r=m(t*e),i=(0,n.r)(B),a=i(e),l=a.stream;return a.parallel=function(n){return arguments.length?(r=m((t=(e=n*E)>=0?1:-1)*e),i(e)):e*S},a.stream=function(n){var i=a.rotate(),u=l(n),c=(a.rotate([0,0]),l(n)),f=a.precision();return a.rotate(i),u.sphere=function(){c.polygonStart(),c.lineStart();for(var n=-180*t;t*n<180;n+=90*t)c.point(n,90*t);if(e)for(;t*(n-=3*t*f)>=-180;)c.point(n,t*-o(s(n*E/2),r)*S);c.lineEnd(),c.polygonEnd()},u},a.scale(218.695).center([0,28.0974])}function j(e,t){var r=m(t/2),n=P(1-r*r),i=1+n*s(e/=2),a=g(e)*n/i,o=r/i,l=a*a,u=o*o;return[4/3*a*(3+l-3*u),4/3*o*(3+3*l-u)]}function U(){return(0,n.Z)(j).scale(66.1603)}R.invert=function(e,t){if(!(e*e+4*t*t>b*b+y)){var r=e,n=t,a=25;do{var o,l=g(r),u=g(r/2),c=s(r/2),f=g(n),h=s(n),p=g(2*n),d=f*f,v=h*h,m=u*u,x=1-v*c*c,_=x?L(h*c)*P(o=1/x):o=0,w=2*_*h*u-e,k=_*f-t,T=o*(v*m+_*h*c*d),M=o*(.5*l*p-2*_*f*u),A=.25*o*(p*u-_*f*v*l),S=o*(d*c+_*m*h),E=M*A-S*T;if(!E)break;var C=(k*M-w*S)/E,O=(w*A-k*T)/E;r-=C,n-=O}while((i(C)>y||i(O)>y)&&--a>0);return[r,n]}},j.invert=function(e,t){if(t*=3/8,!(e*=3/8)&&i(t)>1)return null;var r=1+e*e+t*t,n=P((r-P(r*r-4*t*t))/2),a=C(n)/3,l=n?function(e){return c(e+P(e*e-1))}(i(t/n))/3:function(e){return c(e+P(e*e+1))}(i(e))/3,u=s(a),f=I(l),h=f*f-u*u;return[2*v(e)*o(O(l)*u,.25-h),2*v(t)*o(f*g(a),.25+h)]};var V=P(8),H=c(1+T);function q(e,t){var r=i(t);return r<w?[e,c(m(w+t/2))]:[e*s(r)*(2*T-1/g(r)),v(t)*(2*T*(r-w)-c(m(r/2)))]}function G(){return(0,n.Z)(q).scale(112.314)}q.invert=function(e,t){if((n=i(t))<H)return[e,2*a(l(t))-_];var r,n,o=w,u=25;do{var f=s(o/2),h=m(o/2);o-=r=(V*(o-w)-c(h)-n)/(V-f*f/(2*h))}while(i(r)>x&&--u>0);return[e/(s(o)*(V-1/g(o))),v(t)*o]};var Y=r(17889);function W(e){var t=2*b/e;function r(e,r){var n=(0,Y.N)(e,r);if(i(e)>_){var a=o(n[1],n[0]),l=P(n[0]*n[0]+n[1]*n[1]),u=t*d((a-_)/t)+_,c=o(g(a-=u),2-s(a));a=u+C(b/l*g(c))-c,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(e,r){var n=P(e*e+r*r);if(n>_){var i=o(r,e),l=t*d((i-_)/t)+_,u=i>l?-1:1,c=n*s(l-i),f=1/m(u*L((c-b)/P(b*(b-2*c)+n*n)));i=l+2*a((f+u*P(f*f-3))/3),e=n*s(i),r=n*g(i)}return Y.N.invert(e,r)},r}function Z(){var e=5,t=(0,n.r)(W),r=t(e),i=r.stream,a=.01,l=-s(a*E),u=g(a*E);return r.lobes=function(r){return arguments.length?t(e=+r):e},r.stream=function(t){var n=r.rotate(),c=i(t),f=(r.rotate([0,0]),i(t));return r.rotate(n),c.sphere=function(){f.polygonStart(),f.lineStart();for(var t=0,r=360/e,n=2*b/e,i=90-180/e,c=_;t<e;++t,i-=r,c-=n)f.point(o(u*s(c),l)*S,C(u*g(c))*S),i<-90?(f.point(-90,-180-i-a),f.point(-90,-180-i+a)):(f.point(90,i+a),f.point(90,i-a));f.lineEnd(),f.polygonEnd()},c},r.scale(87.8076).center([0,17.1875]).clipAngle(179.999)}var X=r(12956);function K(e,t){if(arguments.length<2&&(t=e),1===t)return X.l;if(t===1/0)return J;function r(r,n){var i=(0,X.l)(r/t,n);return i[0]*=e,i}return r.invert=function(r,n){var i=X.l.invert(r/e,n);return i[0]*=t,i},r}function J(e,t){return[e*s(t)/s(t/=2),2*g(t)]}function $(){var e=2,t=(0,n.r)(K),r=t(e);return r.coefficient=function(r){return arguments.length?t(e=+r):e},r.scale(169.529)}function Q(e,t,r){var n,a,o,s=100;r=void 0===r?0:+r,t=+t;do{(a=e(r))===(o=e(r+y))&&(o=a+y),r-=n=-1*y*(a-t)/(a-o)}while(s-- >0&&i(n)>y);return s<0?NaN:r}function ee(e,t,r){return void 0===t&&(t=40),void 0===r&&(r=x),function(n,a,o,s){var l,u,c;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;f<t;f++){var h=e(o,s),p=h[0]-n,d=h[1]-a;if(i(p)<r&&i(d)<r)break;var v=p*p+d*d;if(v>l)o-=u/=2,s-=c/=2;else{l=v;var g=(o>0?-1:1)*r,m=(s>0?-1:1)*r,y=e(o+g,s),x=e(o,s+m),b=(y[0]-h[0])/g,_=(y[1]-h[1])/g,w=(x[0]-h[0])/m,k=(x[1]-h[1])/m,T=k*b-_*w,M=(i(T)<.5?.5:1)/T;if(o+=u=(d*w-p*k)*M,s+=c=(p*_-d*b)*M,i(u)<r&&i(c)<r)break}}return[o,s]}}function te(){var e=K(1.68,2);function t(t,r){if(t+r<-1.4){var n=(t-r+1.6)*(t+r+1.4)/8;t+=n,r-=.8*n*g(r+b/2)}var i=e(t,r),a=(1-s(t*r))/12;return i[1]<0&&(i[0]*=1+a),i[1]>0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return t.invert=ee(t),t}function re(){return(0,n.Z)(te()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function ne(e,t){var r,n=e*g(t),a=30;do{t-=r=(t+g(t)-n)/(1+s(t))}while(i(r)>y&&--a>0);return t/2}function ie(e,t,r){function n(n,i){return[e*n*s(i=ne(r,i)),t*g(i)]}return n.invert=function(n,i){return i=C(i/t),[n/(e*s(i)),C((2*i+g(2*i))/r)]},n}J.invert=function(e,t){var r=2*C(t/2);return[e*s(r/2)/s(r),r]};var ae=ie(T/_,T,b);function oe(){return(0,n.Z)(ae).scale(169.529)}var se=2.00276,le=1.11072;function ue(e,t){var r=ne(b,t);return[se*e/(1/s(t)+le/s(r)),(t+T*g(r))/se]}function ce(){return(0,n.Z)(ue).scale(160.857)}function fe(e){var t=0,r=(0,n.r)(e),i=r(t);return i.parallel=function(e){return arguments.length?r(t=e*E):t*S},i}function he(e,t){return[e*s(t),t]}function pe(){return(0,n.Z)(he).scale(152.63)}function de(e){if(!e)return he;var t=1/m(e);function r(r,n){var i=t+e-n,a=i?r*s(n)/i:i;return[i*g(a),t-i*s(a)]}return r.invert=function(r,n){var i=P(r*r+(n=t-n)*n),a=t+e-i;return[i/s(a)*o(r,n),a]},r}function ve(){return fe(de).scale(123.082).center([0,26.1441]).parallel(45)}function ge(e){function t(t,r){var n=_-r,i=n?t*e*g(n)/n:n;return[n*g(i)/e,_-n*s(i)]}return t.invert=function(t,r){var n=t*e,i=_-r,a=P(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/e,_-a]},t}function me(){var e=.5,t=(0,n.r)(ge),r=t(e);return r.fraction=function(r){return arguments.length?t(e=+r):e},r.scale(158.837)}ue.invert=function(e,t){var r,n,a=se*t,o=t<0?-w:w,l=25;do{n=a-T*g(o),o-=r=(g(2*o)+2*o-b*g(n))/(2*s(2*o)+2+b*s(n)*T*s(o))}while(i(r)>y&&--l>0);return n=a-T*g(o),[e*(1/s(n)+le/s(o))/se,n]},he.invert=function(e,t){return[e/s(t),t]};var ye=ie(1,4/b,b);function xe(){return(0,n.Z)(ye).scale(152.63)}var be=r(66624),_e=r(49386);function we(e,t,r,n,a,l){var u,c=s(l);if(i(e)>1||i(l)>1)u=L(r*a+t*n*c);else{var f=g(e/2),h=g(l/2);u=2*C(P(f*f+t*n*h*h))}return i(u)>y?[u,o(n*g(l),t*a-r*n*c)]:[0,0]}function ke(e,t,r){return L((e*e+t*t-r*r)/(2*e*t))}function Te(e){return e-2*b*u((e+b)/(2*b))}function Me(e,t,r){for(var n,i=[[e[0],e[1],g(e[1]),s(e[1])],[t[0],t[1],g(t[1]),s(t[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=we(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=ke(i[0].v[0],i[2].v[0],i[1].v[0]),u=ke(i[0].v[0],i[1].v[0],i[2].v[0]),c=b-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(e,t){var r,n=g(t),a=s(t),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=we(t-l[1],l[3],l[2],a,n,e-l[0]),!o[r][0])return l.point;o[r][1]=Te(o[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=ke(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=u-d,h[0]-=o[r][0]*s(d),h[1]-=o[r][0]*g(d)):(d=c-d,h[0]+=o[r][0]*s(d),h[1]+=o[r][0]*g(d)):(h[0]+=o[r][0]*s(d),h[1]-=o[r][0]*g(d))}return h[0]/=3,h[1]/=3,h}}function Ae(e){return e[0]*=E,e[1]*=E,e}function Se(){return Ee([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Ee(e,t,r){var i=(0,be.Z)({type:\"MultiPoint\",coordinates:[e,t,r]}),a=[-i[0],-i[1]],o=(0,_e.Z)(a),s=Me(Ae(o(e)),Ae(o(t)),Ae(o(r)));s.invert=ee(s);var l=(0,n.Z)(s).rotate(a),u=l.center;return delete l.rotate,l.center=function(e){return arguments.length?u(o(e)):o.invert(u())},l.clipAngle(90)}function Ce(e,t){var r=P(1-g(t));return[2/M*e*r,M*(1-r)]}function Le(){return(0,n.Z)(Ce).scale(95.6464).center([0,30])}function Pe(e){var t=m(e);function r(e,r){return[e,(e?e/g(e):1)*(g(r)*s(e)-t*s(r))]}return r.invert=t?function(e,r){e&&(r*=g(e)/e);var n=s(e);return[e,2*o(P(n*n+t*t-r*r)-n,t-r)]}:function(e,t){return[e,C(e?t*m(e)/e:t)]},r}function Oe(){return fe(Pe).scale(249.828).clipAngle(90)}Ce.invert=function(e,t){var r=(r=t/M-1)*r;return[r>0?e*P(b/r)/2:0,C(1-r)]};var Ie=P(3);function De(e,t){return[Ie*e*(2*s(2*t/3)-1)/M,Ie*M*g(t/3)]}function ze(){return(0,n.Z)(De).scale(156.19)}function Re(e){var t=s(e);function r(e,r){return[e*t,g(r)/t]}return r.invert=function(e,r){return[e/t,C(r*t)]},r}function Fe(){return fe(Re).parallel(38.58).scale(195.044)}function Be(e){var t=s(e);function r(e,r){return[e*t,(1+t)*m(r/2)]}return r.invert=function(e,r){return[e/t,2*a(r/(1+t))]},r}function Ne(){return fe(Be).scale(124.75)}function je(e,t){var r=P(8/(3*b));return[r*e*(1-i(t)/b),r*t]}function Ue(){return(0,n.Z)(je).scale(165.664)}function Ve(e,t){var r=P(4-3*g(i(t)));return[2/P(6*b)*e*r,v(t)*P(2*b/3)*(2-r)]}function He(){return(0,n.Z)(Ve).scale(165.664)}function qe(e,t){var r=P(b*(4+b));return[2/r*e*(1+P(1-4*t*t/(b*b))),4/r*t]}function Ge(){return(0,n.Z)(qe).scale(180.739)}function Ye(e,t){var r=(2+_)*g(t);t/=2;for(var n=0,a=1/0;n<10&&i(a)>y;n++){var o=s(t);t-=a=(t+g(t)*(o+2)-r)/(2*o*(1+o))}return[2/P(b*(4+b))*e*(1+s(t)),2*P(b/(4+b))*g(t)]}function We(){return(0,n.Z)(Ye).scale(180.739)}function Ze(e,t){return[e*(1+s(t))/P(2+b),2*t/P(2+b)]}function Xe(){return(0,n.Z)(Ze).scale(173.044)}function Ke(e,t){for(var r=(1+_)*g(t),n=0,a=1/0;n<10&&i(a)>y;n++)t-=a=(t+g(t)-r)/(1+s(t));return r=P(2+b),[e*(1+s(t))/r,2*t/r]}function Je(){return(0,n.Z)(Ke).scale(173.044)}De.invert=function(e,t){var r=3*C(t/(Ie*M));return[M*e/(Ie*(2*s(2*r/3)-1)),r]},je.invert=function(e,t){var r=P(8/(3*b)),n=t/r;return[e/(r*(1-i(n)/b)),n]},Ve.invert=function(e,t){var r=2-i(t)/P(2*b/3);return[e*P(6*b)/(2*r),v(t)*C((4-r*r)/3)]},qe.invert=function(e,t){var r=P(b*(4+b))/2;return[e*r/(1+P(1-t*t*(4+b)/(4*b))),t*r/2]},Ye.invert=function(e,t){var r=t*P((4+b)/b)/2,n=C(r),i=s(n);return[e/(2/P(b*(4+b))*(1+i)),C((n+r*(i+2))/(2+_))]},Ze.invert=function(e,t){var r=P(2+b),n=t*r/2;return[r*e/(1+s(n)),n]},Ke.invert=function(e,t){var r=1+_,n=P(r/2);return[2*e*n/(1+s(t*=n)),C((t+g(t))/r)]};var $e=3+2*T;function Qe(e,t){var r=g(e/=2),n=s(e),i=P(s(t)),o=s(t/=2),l=g(t)/(o+T*n*i),u=P(2/(1+l*l)),f=P((T*o+(n+r)*i)/(T*o+(n-r)*i));return[$e*(u*(f-1/f)-2*c(f)),$e*(u*l*(f+1/f)-2*a(l))]}function et(){return(0,n.Z)(Qe).scale(62.5271)}Qe.invert=function(e,t){if(!(r=j.invert(e/1.2,1.065*t)))return null;var r,n=r[0],o=r[1],l=20;e/=$e,t/=$e;do{var u=n/2,p=o/2,d=g(u),v=s(u),m=g(p),x=s(p),b=s(o),w=P(b),M=m/(x+T*v*w),A=M*M,S=P(2/(1+A)),E=(T*x+(v+d)*w)/(T*x+(v-d)*w),C=P(E),L=C-1/C,O=C+1/C,I=S*L-2*c(C)-e,D=S*M*O-2*a(M)-t,z=m&&k*w*d*A/m,R=(T*v*x+w)/(2*(x+T*v*w)*(x+T*v*w)*w),F=-.5*M*S*S*S,B=F*z,N=F*R,U=(U=2*x+T*w*(v-d))*U*C,V=(T*v*x*w+b)/U,H=-T*d*m/(w*U),q=L*B-2*V/C+S*(V+V/E),G=L*N-2*H/C+S*(H+H/E),Y=M*O*B-2*z/(1+A)+S*O*z+S*M*(V-V/E),W=M*O*N-2*R/(1+A)+S*O*R+S*M*(H-H/E),Z=G*Y-W*q;if(!Z)break;var X=(D*G-I*W)/Z,K=(I*Y-D*q)/Z;n-=X,o=f(-_,h(_,o-K))}while((i(X)>y||i(K)>y)&&--l>0);return i(i(o)-_)<y?[0,o]:l&&[n,o]};var tt=s(35*E);function rt(e,t){var r=m(t/2);return[e*tt*P(1-r*r),(1+tt)*r]}function nt(){return(0,n.Z)(rt).scale(137.152)}function it(e,t){var r=t/2,n=s(r);return[2*e/M*s(t)*n*n,M*m(r)]}function at(){return(0,n.Z)(it).scale(135.264)}function ot(e){var t=1-e,r=i(b,0)[0]-i(-b,0)[0],n=P(2*(i(0,_)[1]-i(0,-_)[1])/r);function i(r,n){var i=s(n),a=g(n);return[i/(t+e*i)*r,t*n+e*a]}function a(e,t){var r=i(e,t);return[r[0]*n,r[1]/n]}function o(e){return a(0,e)[1]}return a.invert=function(r,i){var a=Q(o,i);return[r/n*(e+t/s(a)),a]},a}function st(){var e=.5,t=(0,n.r)(ot),r=t(e);return r.alpha=function(r){return arguments.length?t(e=+r):e},r.scale(168.725)}rt.invert=function(e,t){var r=t/(1+tt);return[e&&e/(tt*P(1-r*r)),2*a(r)]},it.invert=function(e,t){var r=a(t/M),n=s(r),i=2*r;return[e*M/2/(s(i)*n*n),i]};var lt=r(57962),ut=r(97492);function ct(e){return[e[0]/2,C(m(e[1]/2*E))*S]}function ft(e){return[2*e[0],2*a(g(e[1]*E))*S]}function ht(e){null==e&&(e=lt.Z);var t=e(),r=(0,ut.Z)().scale(S).precision(0).clipAngle(null).translate([0,0]);function n(e){return t(ct(e))}function i(e){n[e]=function(){return arguments.length?(t[e].apply(t,arguments),n):t[e]()}}return t.invert&&(n.invert=function(e){return ft(t.invert(e))}),n.stream=function(e){var n=t.stream(e),i=r.stream({point:function(e,t){n.point(e/2,C(m(-t/2*E))*S)},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}});return i.sphere=n.sphere,i},n.rotate=function(e){return arguments.length?(r.rotate(e),n):r.rotate()},n.center=function(e){return arguments.length?(t.center(ct(e)),n):ft(t.center())},i(\"angle\"),i(\"clipAngle\"),i(\"clipExtent\"),i(\"fitExtent\"),i(\"fitHeight\"),i(\"fitSize\"),i(\"fitWidth\"),i(\"scale\"),i(\"translate\"),i(\"precision\"),n.scale(249.5)}function pt(e,t){var r=2*b/t,n=e*e;function a(t,a){var l=(0,Y.N)(t,a),u=l[0],c=l[1],f=u*u+c*c;if(f>n){var h=P(f),p=o(c,u),v=r*d(p/r),m=p-v,x=e*s(m),w=(e*g(m)-m*g(x))/(_-x),k=dt(m,w),T=(b-e)/vt(k,x,b);u=h;var M,A=50;do{u-=M=(e+vt(k,x,u)*T-h)/(k(u)*T)}while(i(M)>y&&--A>0);c=m*g(u),u<_&&(c-=w*(u-_));var S=g(v),E=s(v);l[0]=u*E-c*S,l[1]=u*S+c*E}return l}return a.invert=function(t,a){var l=t*t+a*a;if(l>n){var u=P(l),c=o(a,t),f=r*d(c/r),h=c-f;t=u*s(h),a=u*g(h);for(var p=t-_,v=g(t),m=a/v,y=t<_?1/0:0,w=10;;){var k=e*g(m),T=e*s(m),M=g(T),A=_-T,S=(k-m*M)/A,E=dt(m,S);if(i(y)<x||! --w)break;m-=y=(m*v-S*p-a)/(v-2*p*(A*(T+m*k*s(T)-M)-k*(k-m*M))/(A*A))}t=(u=e+vt(E,T,t)*(b-e)/vt(E,T,b))*s(c=f+m),a=u*g(c)}return Y.N.invert(t,a)},a}function dt(e,t){return function(r){var n=e*s(r);return r<_&&(n-=t),P(1+n*n)}}function vt(e,t,r){for(var n=(r-t)/50,i=e(t)+e(r),a=1,o=t;a<50;++a)i+=2*e(o+=n);return.5*i*n}function gt(){var e=6,t=30*E,r=s(t),i=g(t),a=(0,n.r)(pt),l=a(t,e),u=l.stream,c=-s(.01*E),f=g(.01*E);return l.radius=function(n){return arguments.length?(r=s(t=n*E),i=g(t),a(t,e)):t*S},l.lobes=function(r){return arguments.length?a(t,e=+r):e},l.stream=function(t){var n=l.rotate(),a=u(t),h=(l.rotate([0,0]),u(t));return l.rotate(n),a.sphere=function(){h.polygonStart(),h.lineStart();for(var t=0,n=2*b/e,a=0;t<e;++t,a-=n)h.point(o(f*s(a),c)*S,C(f*g(a))*S),h.point(o(i*s(a-n/2),r)*S,C(i*g(a-n/2))*S);h.lineEnd(),h.polygonEnd()},a},l.rotate([90,-40]).scale(91.7095).clipAngle(179.999)}function mt(e,t,r,n,a,o,l,u){function c(i,c){if(!c)return[e*i/b,0];var f=c*c,h=e+f*(t+f*(r+f*n)),p=c*(a-1+f*(o-u+f*l)),d=(h*h+p*p)/(2*p),v=i*C(h/d)/b;return[d*g(v),c*(1+f*u)+d*(1-s(v))]}return arguments.length<8&&(u=0),c.invert=function(c,f){var h,p,d=b*c/e,v=f,m=50;do{var x=v*v,_=e+x*(t+x*(r+x*n)),w=v*(a-1+x*(o-u+x*l)),k=_*_+w*w,T=2*w,M=k/T,A=M*M,S=C(_/M)/b,E=d*S,L=_*_,O=(2*t+x*(4*r+6*x*n))*v,I=a+x*(3*o+5*x*l),D=(2*(_*O+w*(I-1))*T-k*(2*(I-1)))/(T*T),z=s(E),R=g(E),F=M*z,B=M*R,N=d/b*(1/P(1-L/A))*(O*M-_*D)/A,j=B-c,U=v*(1+x*u)+M-F-f,V=D*R+F*N,H=F*S,q=1+D-(D*z-B*N),G=B*S,Y=V*G-q*H;if(!Y)break;d-=h=(U*V-j*q)/Y,v-=p=(j*G-U*H)/Y}while((i(h)>y||i(p)>y)&&--m>0);return[d,v]},c}var yt=mt(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xt(){return(0,n.Z)(yt).scale(149.995)}var bt=mt(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function _t(){return(0,n.Z)(bt).scale(153.93)}var wt=mt(5/6*b,-.62636,-.0344,0,1.3493,-.05524,0,.045);function kt(){return(0,n.Z)(wt).scale(130.945)}function Tt(e,t){var r=e*e,n=t*t;return[e*(1-.162388*n)*(.87-952426e-9*r*r),t*(1+n/12)]}function Mt(){return(0,n.Z)(Tt).scale(131.747)}Tt.invert=function(e,t){var r,n=e,a=t,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-t)/(1+s/4)}while(i(r)>y&&--o>0);o=50,e/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-e)/(.87-.00476213*l)}while(i(r)>y&&--o>0);return[n,a]};var At=mt(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function St(){return(0,n.Z)(At).scale(131.087)}function Et(e){var t=e(_,0)[0]-e(-_,0)[0];function r(r,n){var i=r>0?-.5:.5,a=e(r+i*b,n);return a[0]-=i*t,a}return e.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=e.invert(r+i*t,n),o=a[0]-i*b;return o<-b?o+=2*b:o>b&&(o-=2*b),a[0]=o,a}),r}function Ct(e,t){var r=v(e),n=v(t),a=s(t),l=s(e)*a,u=g(e)*a,c=g(n*t);e=i(o(u,c)),t=C(l),i(e-_)>y&&(e%=_);var f=function(e,t){if(t===_)return[0,0];var r,n,a=g(t),o=a*a,l=o*o,u=1+l,c=1+3*l,f=1-l,h=C(1/P(u)),p=f+o*u*h,d=(1-a)/p,v=P(d),m=d*u,x=P(m),w=v*f;if(0===e)return[0,-(w+o*x)];var k,T=s(t),M=1/T,A=2*a*T,S=(-p*T-(1-a)*((-3*o+h*c)*A))/(p*p),E=-M*A,L=-M*(o*u*S+d*c*A),O=-2*M*(f*(.5*S/v)-2*o*v*A),I=4*e/b;if(e>.222*b||t<b/4&&e>.175*b){if(r=(w+o*P(m*(1+l)-w*w))/(1+l),e>b/4)return[r,r];var D=r,z=.5*r;r=.5*(z+D),n=50;do{var R=r*(O+E*P(m-r*r))+L*C(r/x)-I;if(!R)break;R<0?z=r:D=r,r=.5*(z+D)}while(i(D-z)>y&&--n>0)}else{r=y,n=25;do{var F=r*r,B=P(m-F),N=O+E*B,j=r*N+L*C(r/x)-I;r-=k=B?j/(N+(L-E*F)/B):0}while(i(k)>y&&--n>0)}return[r,-w-o*P(m-r*r)]}(e>b/4?_-e:e,t);return e>b/4&&(c=f[0],f[0]=-f[1],f[1]=-c),f[0]*=r,f[1]*=-n,f}function Lt(){return(0,n.Z)(Et(Ct)).scale(239.75)}function Pt(e,t){var r,n,o,u,c,f;if(t<y)return[(u=g(e))-(r=t*(e-u*(n=s(e)))/4)*n,n+r*u,1-t*u*u/2,e-r];if(t>=1-y)return r=(1-t)/4,o=1/(n=I(e)),[(u=((f=l(2*(f=e)))-1)/(f+1))+r*((c=n*O(e))-e)/(n*n),o-r*u*o*(c-e),o+r*u*o*(c+e),2*a(l(e))-_+r*(c-e)/n];var h=[1,0,0,0,0,0,0,0,0],p=[P(t),0,0,0,0,0,0,0,0],d=0;for(n=P(1-t),c=1;i(p[d]/h[d])>y&&d<8;)r=h[d++],p[d]=(r-n)/2,h[d]=(r+n)/2,n=P(r*n),c*=2;o=c*h[d]*e;do{o=(C(u=p[d]*g(n=o)/h[d])+o)/2}while(--d);return[g(o),u=s(o),u/s(o-n),o]}function Ot(e,t){if(!t)return e;if(1===t)return c(m(e/2+w));for(var r=1,n=P(1-t),o=P(t),s=0;i(o)>y;s++){if(e%b){var l=a(n*m(e)/r);l<0&&(l+=b),e+=l+~~(e/b)*b}else e+=e;o=(r+n)/2,n=P(r*n),o=((r=o)-n)/2}return e/(p(2,s)*r)}function It(e,t){var r=(T-1)/(T+1),n=P(1-r*r),u=Ot(_,n*n),f=c(m(b/4+i(t)/2)),h=l(-1*f)/P(r),p=function(e,t){var r=e*e,n=t+1,i=1-r-t*t;return[.5*((e>=0?_:-_)-o(i,2*e)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*s(-1*e),h*g(-1*e)),d=function(e,t,r){var n=i(e),o=O(i(t));if(n){var s=1/g(n),l=1/(m(n)*m(n)),u=-(l+r*(o*o*s*s)-1+r),c=(-u+P(u*u-(r-1)*l*4))/2;return[Ot(a(1/P(c)),r)*v(e),Ot(a(P((c/l-1)/r)),1-r)*v(t)]}return[0,Ot(a(o),1-r)*v(t)]}(p[0],p[1],n*n);return[-d[1],(t>=0?1:-1)*(.5*u-d[0])]}function Dt(){return(0,n.Z)(Et(It)).scale(151.496)}Ct.invert=function(e,t){i(e)>1&&(e=2*v(e)-e),i(t)>1&&(t=2*v(t)-t);var r=v(e),n=v(t),a=-r*e,l=-n*t,u=l/a<1,c=function(e,t){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,u=P(a),c=C(1/P(1+l)),f=1-l+a*(1+l)*c,h=(1-u)/f,p=P(h),d=h*(1+l),v=p*(1-l),g=P(d-e*e),m=t+v+a*g;if(i(n-r)<x||0==--o||0===m)break;m>0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var y=C(u),_=s(y),w=1/_,k=2*u*_,T=(-f*_-(-3*a+c*(1+3*l))*k*(1-u))/(f*f);return[b/4*(e*(-2*w*((1-l)*(.5*T/p)-2*a*p*k)+-w*k*g)+-w*(a*(1+l)*T+h*(1+3*l)*k)*C(e/P(d))),y]}(u?l:a,u?a:l),f=c[0],h=c[1],p=s(h);return u&&(f=-_-f),[r*(o(g(f)*p,-g(h))+b),n*C(s(f)*p)]},It.invert=function(e,t){var r,n,i,s,u,f,h=(T-1)/(T+1),p=P(1-h*h),d=(n=-e,i=p*p,(r=.5*Ot(_,p*p)-t)?(s=Pt(r,i),n?(f=(u=Pt(n,1-i))[1]*u[1]+i*s[0]*s[0]*u[0]*u[0],[[s[0]*u[2]/f,s[1]*s[2]*u[0]*u[1]/f],[s[1]*u[1]/f,-s[0]*s[2]*u[0]*u[2]/f],[s[2]*u[1]*u[2]/f,-i*s[0]*s[1]*u[0]/f]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(u=Pt(n,1-i))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),v=function(e,t){var r=t[0]*t[0]+t[1]*t[1];return[(e[0]*t[0]+e[1]*t[1])/r,(e[1]*t[0]-e[0]*t[1])/r]}(d[0],d[1]);return[o(v[1],v[0])/-1,2*a(l(-.5*c(h*v[0]*v[0]+h*v[1]*v[1])))-_]};var zt=r(7613);function Rt(e){var t=g(e),r=s(e),n=Ft(e);function a(e,a){var o=n(e,a);e=o[0],a=o[1];var l=g(a),u=s(a),c=s(e),f=L(t*l+r*u*c),h=g(f),p=i(h)>y?f/h:1;return[p*r*g(e),(i(e)>_?p:-p)*(t*u-r*l*c)]}return n.invert=Ft(-e),a.invert=function(e,r){var i=P(e*e+r*r),a=-g(i),l=s(i),u=i*l,c=-r*a,f=i*t,h=P(u*u+c*c-f*f),p=o(u*f+c*h,c*f-u*h),d=(i>_?-1:1)*o(e*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Ft(e){var t=g(e),r=s(e);return function(e,n){var i=s(n),a=s(e)*i,l=g(e)*i,u=g(n);return[o(l,a*r-u*t),C(u*r+a*t)]}}function Bt(){var e=0,t=(0,n.r)(Rt),r=t(e),i=r.rotate,a=r.stream,o=(0,zt.Z)();return r.parallel=function(n){if(!arguments.length)return e*S;var i=r.rotate();return t(e=n*E).rotate(i)},r.rotate=function(t){return arguments.length?(i.call(r,[t[0],t[1]-e*S]),o.center([-t[0],-t[1]]),r):((t=i.call(r))[1]+=e*S,t)},r.stream=function(e){return(e=a(e)).sphere=function(){e.polygonStart();var t,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(e.lineStart();++i<n;)e.point((t=r[i])[0],t[1]);for(e.lineEnd(),n=(r=o.radius(90.01)().coordinates[0]).length-1,e.lineStart();--i>=0;)e.point((t=r[i])[0],t[1]);e.lineEnd(),e.polygonEnd()},e},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Nt=r(33064),jt=r(72736),Ut=C(1-1/3)*S,Vt=Re(0);function Ht(e){var t=Ut*E,r=Ce(b,t)[0]-Ce(-b,t)[0],n=Vt(0,t)[1],a=Ce(0,t)[1],o=M-a,s=A/e,l=4/A,c=n+o*o*4/A;function p(p,d){var v,g=i(d);if(g>t){var m=h(e-1,f(0,u((p+b)/s)));(v=Ce(p+=b*(e-1)/e-m*s,g))[0]=v[0]*A/r-A*(e-1)/(2*e)+m*A/e,v[1]=n+4*(v[1]-a)*o/A,d<0&&(v[1]=-v[1])}else v=Vt(p,d);return v[0]*=l,v[1]/=c,v}return p.invert=function(t,p){t/=l;var d=i(p*=c);if(d>n){var v=h(e-1,f(0,u((t+b)/s)));t=(t+b*(e-1)/e-v*s)*r/A;var g=Ce.invert(t,.25*(d-n)*A/o+a);return g[0]-=b*(e-1)/e-v*s,p<0&&(g[1]=-g[1]),g}return Vt.invert(t,p)},p}function qt(e,t){return[e,1&t?90-y:Ut]}function Gt(e,t){return[e,1&t?-90+y:-Ut]}function Yt(e){return[e[0]*(1-y),e[1]]}function Wt(){var e=4,t=(0,n.r)(Ht),r=t(e),i=r.stream;return r.lobes=function(r){return arguments.length?t(e=+r):e},r.stream=function(t){var n=r.rotate(),a=i(t),o=(r.rotate([0,0]),i(t));return r.rotate(n),a.sphere=function(){var t,r;(0,jt.Z)((t=180/e,r=[].concat((0,Nt.w6)(-180,180+t/2,t).map(qt),(0,Nt.w6)(180,-180-t/2,-t).map(Gt)),{type:\"Polygon\",coordinates:[180===t?r.map(Yt):r]}),o)},a},r.scale(239.75)}function Zt(e){var t,r=1+e,n=C(g(1/r)),a=2*P(b/(t=b+4*n*r)),l=.5*a*(r+P(e*(2+e))),u=e*e,c=r*r;function f(f,h){var p,d,v=1-g(h);if(v&&v<2){var m,y=_-h,w=25;do{var k=g(y),T=s(y),M=n+o(k,r-T),A=1+c-2*r*T;y-=m=(y-u*n-r*k+A*M-.5*v*t)/(2*r*k*M)}while(i(m)>x&&--w>0);p=a*P(A),d=f*M/b}else p=a*(e+v),d=f*n/b;return[p*g(d),l-p*s(d)]}return f.invert=function(e,i){var s=e*e+(i-=l)*i,f=(1+c-s/(a*a))/(2*r),h=L(f),p=g(h),d=n+o(p,r-f);return[C(e/P(s))*b/d,C(1-2*(h-u*n-r*p+(1+c-2*r*f)*d)/t)]},f}function Xt(){var e=1,t=(0,n.r)(Zt),r=t(e);return r.ratio=function(r){return arguments.length?t(e=+r):e},r.scale(167.774).center([0,18.67])}var Kt=.7109889596207567,Jt=.0528035274542;function $t(e,t){return t>-Kt?((e=ae(e,t))[1]+=Jt,e):he(e,t)}function Qt(){return(0,n.Z)($t).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function er(e,t){return i(t)>Kt?((e=ae(e,t))[1]-=t>0?Jt:-Jt,e):he(e,t)}function tr(){return(0,n.Z)(er).scale(152.63)}function rr(e,t,r,n){var i=P(4*b/(2*r+(1+e-t/2)*g(2*r)+(e+t)/2*g(4*r)+t/2*g(6*r))),a=P(n*g(r)*P((1+e*s(2*r)+t*s(4*r))/(1+e+t))),o=r*u(1);function l(r){return P(1+e*s(2*r)+t*s(4*r))}function u(n){var i=n*r;return(2*i+(1+e-t/2)*g(2*i)+(e+t)/2*g(4*i)+t/2*g(6*i))/r}function c(e){return l(e)*g(e)}var f=function(e,t){var n=r*Q(u,o*g(t)/r,t/b);isNaN(n)&&(n=r*v(t));var c=i*l(n);return[c*a*e/b*s(n),c/a*g(n)]};return f.invert=function(e,t){var n=Q(c,t*a/i);return[e*b/(s(n)*i*a*l(n)),C(r*u(n/r)/o)]},0===r&&(i=P(n/b),(f=function(e,t){return[e*i,g(t)/i]}).invert=function(e,t){return[e/i,C(t*i)]}),f}function nr(){var e=1,t=0,r=45*E,i=2,a=(0,n.r)(rr),o=a(e,t,r,i);return o.a=function(n){return arguments.length?a(e=+n,t,r,i):e},o.b=function(n){return arguments.length?a(e,t=+n,r,i):t},o.psiMax=function(n){return arguments.length?a(e,t,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(e,t,r,i=+n):i},o.scale(180.739)}function ir(e,t,r,n,i,a,o,s,l,u,c){if(c.nanEncountered)return NaN;var f,h,p,d,v,g,m,y,x,b;if(h=e(t+.25*(f=r-t)),p=e(r-.25*f),isNaN(h))c.nanEncountered=!0;else{if(!isNaN(p))return b=((g=(d=f*(n+4*h+i)/12)+(v=f*(i+4*p+a)/12))-o)/15,u>l?(c.maxDepthCount++,g+b):Math.abs(b)<s?g+b:(y=ir(e,t,m=t+.5*f,n,h,i,d,.5*s,l,u+1,c),isNaN(y)?(c.nanEncountered=!0,NaN):(x=ir(e,m,r,i,p,a,v,.5*s,l,u+1,c),isNaN(x)?(c.nanEncountered=!0,NaN):y+x));c.nanEncountered=!0}}function ar(e,t,r,n,i){void 0===n&&(n=1e-8),void 0===i&&(i=20);var a=e(t),o=e(.5*(t+r)),s=e(r);return ir(e,t,r,a,o,s,(a+4*o+s)*(r-t)/6,n,i,1,{maxDepthCount:0,nanEncountered:!1})}function or(e,t,r){function n(r){return e+(1-e)*p(1-p(r,t),1/t)}function a(e){return ar(n,0,e,1e-4)}for(var o=1/a(1),s=1e3,l=(1+1e-8)*o,u=[],c=0;c<=s;c++)u.push(a(c/s)*l);function f(e){var t=0,r=s,n=500;do{u[n]>e?r=n:t=n,n=t+r>>1}while(n>t);var i=u[n+1]-u[n];return i&&(i=(e-u[n+1])/i),(n+1+i)/s}var h=2*f(1)/b*o/r,d=function(e,t){var r=f(i(g(t))),a=n(r)*e;return r/=h,[a,t>=0?r:-r]};return d.invert=function(e,t){var r;return i(t*=h)<1&&(r=v(t)*C(a(i(t))*o)),[e/n(i(t)),r]},d}function sr(){var e=0,t=2.5,r=1.183136,i=(0,n.r)(or),a=i(e,t,r);return a.alpha=function(n){return arguments.length?i(e=+n,t,r):e},a.k=function(n){return arguments.length?i(e,t=+n,r):t},a.gamma=function(n){return arguments.length?i(e,t,r=+n):r},a.scale(152.63)}function lr(e,t){return i(e[0]-t[0])<y&&i(e[1]-t[1])<y}function ur(e,t){for(var r,n,i,a=-1,o=e.length,s=e[0],l=[];++a<o;){n=((r=e[a])[0]-s[0])/t,i=(r[1]-s[1])/t;for(var u=0;u<t;++u)l.push([s[0]+u*n,s[1]+u*i]);s=r}return l.push(r),l}function cr(e,t,r){var i,a;function o(r,n){for(var i=n<0?-1:1,a=t[+(n<0)],o=0,s=a.length-1;o<s&&r>a[o][2][0];++o);var l=e(r-a[o][1][0],n);return l[0]+=e(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):e.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=t[+(n<0)],l=0,u=i.length;l<u;++l){var c=i[l];if(c[0][0]<=r&&r<c[1][0]&&c[0][1]<=n&&n<c[1][1]){var f=e.invert(r-e(s[l][1][0],0)[0],n);return f[0]+=s[l][1][0],lr(o(f[0],f[1]),[r,n])?f:null}}});var s=(0,n.Z)(o),l=s.stream;return s.stream=function(e){var t=s.rotate(),r=l(e),n=(s.rotate([0,0]),l(e));return s.rotate(t),r.sphere=function(){(0,jt.Z)(i,n)},r},s.lobes=function(r){return arguments.length?(i=function(e){var t,r,n,i,a,o,s,l=[],u=e[0].length;for(s=0;s<u;++s)r=(t=e[0][s])[0][0],n=t[0][1],i=t[1][1],a=t[2][0],o=t[2][1],l.push(ur([[r+y,n+y],[r+y,i-y],[a-y,i-y],[a-y,o+y]],30));for(s=e[1].length-1;s>=0;--s)r=(t=e[1][s])[0][0],n=t[0][1],i=t[1][1],a=t[2][0],o=t[2][1],l.push(ur([[a-y,o-y],[a-y,i+y],[r+y,i+y],[r+y,n-y]],30));return{type:\"Polygon\",coordinates:[(0,Nt.TS)(l)]}}(r),t=r.map((function(e){return e.map((function(e){return[[e[0][0]*E,e[0][1]*E],[e[1][0]*E,e[1][1]*E],[e[2][0]*E,e[2][1]*E]]}))})),a=t.map((function(t){return t.map((function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):t.map((function(e){return e.map((function(e){return[[e[0][0]*S,e[0][1]*S],[e[1][0]*S,e[1][1]*S],[e[2][0]*S,e[2][1]*S]]}))}))},null!=t&&s.lobes(t),s}$t.invert=function(e,t){return t>-Kt?ae.invert(e,t-Jt):he.invert(e,t)},er.invert=function(e,t){return i(t)>Kt?ae.invert(e,t+(t>0?Jt:-Jt)):he.invert(e,t)};var fr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function hr(){return cr(ue,fr).scale(160.857)}var pr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function dr(){return cr(er,pr).scale(152.63)}var vr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function gr(){return cr(ae,vr).scale(169.529)}var mr=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function yr(){return cr(ae,mr).scale(169.529).rotate([20,0])}var xr=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function br(){return cr($t,xr,ee).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var _r=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function wr(){return cr(he,_r).scale(152.63).rotate([-20,0])}function kr(e,t){return[3/A*e*P(b*b/3-t*t),t]}function Tr(){return(0,n.Z)(kr).scale(158.837)}function Mr(e){function t(t,r){if(i(i(r)-_)<y)return[0,r<0?-2:2];var n=g(r),a=p((1+n)/(1-n),e/2),o=.5*(a+1/a)+s(t*=e);return[2*g(t)/o,(a-1/a)/o]}return t.invert=function(t,r){var n=i(r);if(i(n-2)<y)return t?null:[0,v(r)*_];if(n>2)return null;var a=(t/=2)*t,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/e),[o(2*t,1-a-s)/e,C((l-1)/(l+1))]},t}function Ar(){var e=.5,t=(0,n.r)(Mr),r=t(e);return r.spacing=function(r){return arguments.length?t(e=+r):e},r.scale(124.75)}kr.invert=function(e,t){return[A/3*e/P(b*b/3-t*t),t]};var Sr=b/T;function Er(e,t){return[e*(1+P(s(t)))/2,t/(s(t/2)*s(e/6))]}function Cr(){return(0,n.Z)(Er).scale(97.2672)}function Lr(e,t){var r=e*e,n=t*t;return[e*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),t*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Pr(){return(0,n.Z)(Lr).scale(139.98)}function Or(e,t){return[g(e)/s(t),m(t)*s(e)]}function Ir(){return(0,n.Z)(Or).scale(144.049).clipAngle(89.999)}function Dr(e){var t=s(e),r=m(w+e/2);function n(n,a){var o=a-e,s=i(o)<y?n*t:i(s=w+a/2)<y||i(i(s)-_)<y?0:n*o/c(m(s)/r);return[s,o]}return n.invert=function(n,a){var o,s=a+e;return[i(a)<y?n/t:i(o=w+s/2)<y||i(i(o)-_)<y?0:n*c(m(o)/r)/a,s]},n}function zr(){return fe(Dr).parallel(40).scale(158.837)}function Rr(e,t){return[e,1.25*c(m(w+.4*t))]}function Fr(){return(0,n.Z)(Rr).scale(108.318)}function Br(e){var t=e.length-1;function r(r,n){for(var i,a=s(n),o=2/(1+a*s(r)),l=o*a*g(r),u=o*g(n),c=t,f=e[c],h=f[0],p=f[1];--c>=0;)h=(f=e[c])[0]+l*(i=h)-u*p,p=f[1]+l*p+u*i;return[h=l*(i=h)-u*p,p=l*p+u*i]}return r.invert=function(r,n){var l=20,u=r,c=n;do{for(var f,h=t,p=e[h],d=p[0],v=p[1],m=0,x=0;--h>=0;)m=d+u*(f=m)-c*x,x=v+u*x+c*f,d=(p=e[h])[0]+u*(f=d)-c*v,v=p[1]+u*v+c*f;var b,_,w=(m=d+u*(f=m)-c*x)*m+(x=v+u*x+c*f)*x;u-=b=((d=u*(f=d)-c*v-r)*m+(v=u*v+c*f-n)*x)/w,c-=_=(v*m-d*x)/w}while(i(b)+i(_)>y*y&&--l>0);if(l){var k=P(u*u+c*c),T=2*a(.5*k),M=g(T);return[o(u*M,k*s(T)),k?C(c*M/k):0]}},r}Er.invert=function(e,t){var r=i(e),n=i(t),a=y,o=_;n<Sr?o*=n/Sr:a+=6*L(Sr/n);for(var l=0;l<25;l++){var u=g(o),c=P(s(o)),f=g(o/2),h=s(o/2),p=g(a/6),d=s(a/6),v=.5*a*(1+c)-r,m=o/(h*d)-n,x=c?-.25*a*u/c:0,b=.5*(1+c),w=(1+.5*o*f/h)/(h*d),k=o/h*(p/6)/(d*d),T=x*k-w*b,M=(v*k-m*b)/T,A=(m*x-v*w)/T;if(o-=M,a-=A,i(M)<y&&i(A)<y)break}return[e<0?-a:a,t<0?-o:o]},Lr.invert=function(e,t){var r=v(e)*b,n=t/2,a=50;do{var o=r*r,s=n*n,l=r*n,u=r*(.975534+s*(-.0143059*o-.119161+-.0547009*s))-e,c=n*(1.00384+o*(.0802894+-.02855*s+199025e-9*o)+s*(.0998909+-.0491032*s))-t,f=.975534-s*(.119161+3*o*.0143059+.0547009*s),h=-l*(.238322+.2188036*s+.0286118*o),p=l*(.1605788+7961e-7*o+-.0571*s),d=1.00384+o*(.0802894+199025e-9*o)+s*(3*(.0998909-.02855*o)-.245516*s),g=h*p-d*f,m=(c*h-u*d)/g,x=(u*p-c*f)/g;r-=m,n-=x}while((i(m)>y||i(x)>y)&&--a>0);return a&&[r,n]},Or.invert=function(e,t){var r=e*e,n=t*t+1,i=r+n,a=e?k*P((i-P(i*i-4*r))/r):1/P(n);return[C(e*a),v(t)*L(a)]},Rr.invert=function(e,t){return[e,2.5*a(l(.8*t))-.625*b]};var Nr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],jr=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Ur=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Vr=[[.9245,0],[0,0],[.01943,0]],Hr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function qr(){return Xr(Nr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Gr(){return Xr(jr,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Yr(){return Xr(Ur,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Wr(){return Xr(Vr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Zr(){return Xr(Hr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Xr(e,t){var r=(0,n.Z)(Br(e)).rotate(t).clipAngle(90),i=(0,_e.Z)(t),a=r.center;return delete r.rotate,r.center=function(e){return arguments.length?a(i(e)):i.invert(a())},r}var Kr=P(6),Jr=P(7);function $r(e,t){var r=C(7*g(t)/(3*Kr));return[Kr*e*(2*s(2*r/3)-1)/Jr,9*g(r/3)/Jr]}function Qr(){return(0,n.Z)($r).scale(164.859)}function en(e,t){for(var r,n=(1+k)*g(t),a=t,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)<y));o++);return[e*(1+2*s(a)/s(a/2))/(3*T),2*P(3)*g(a/2)/P(2+T)]}function tn(){return(0,n.Z)(en).scale(188.209)}function rn(e,t){for(var r,n=P(6/(4+b)),a=(1+b/4)*g(t),o=t/2,l=0;l<25&&(o-=r=(o/2+g(o)-a)/(.5+s(o)),!(i(r)<y));l++);return[n*(.5+s(o))*e/1.5,n*o]}function nn(){return(0,n.Z)(rn).scale(166.518)}$r.invert=function(e,t){var r=3*C(t*Jr/9);return[e*Jr/(Kr*(2*s(2*r/3)-1)),C(3*g(r)*Kr/7)]},en.invert=function(e,t){var r=t*P(2+T)/(2*P(3)),n=2*C(r);return[3*T*e/(1+2*s(n)/s(n/2)),C((r+g(n))/(1+k))]},rn.invert=function(e,t){var r=P(6/(4+b)),n=t/r;return i(i(n)-_)<y&&(n=n<0?-_:_),[1.5*e/(r*(.5+s(n))),C((n/2+g(n))/(1+b/4))]};var an=r(26867);function on(e,t){var r=t*t,n=r*r,i=r*n;return[e*(.84719-.13063*r+i*i*(.05494*r-.04515-.02326*n+.00331*i)),t*(1.01183+n*n*(.01926*r-.02625-.00396*n))]}function sn(){return(0,n.Z)(on).scale(175.295)}function ln(e,t){return[e*(1+s(t))/2,2*(t-m(t/2))]}function un(){return(0,n.Z)(ln).scale(152.63)}on.invert=function(e,t){var r,n,a,o,s=t,l=25;do{s-=r=(s*(1.01183+(a=(n=s*s)*n)*a*(.01926*n-.02625-.00396*a))-t)/(1.01183+a*a*(.21186*n-.23625+-.05148*a))}while(i(r)>x&&--l>0);return[e/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},ln.invert=function(e,t){for(var r=t/2,n=0,a=1/0;n<10&&i(a)>y;++n){var o=s(t/2);t-=a=(t-m(t/2)-r)/(1-.5/(o*o))}return[2*e/(1+s(t)),t]};var cn=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function fn(){return cr(K(1/0),cn).rotate([20,0]).scale(152.63)}function hn(e,t){var r=g(t),n=s(t),a=v(e);if(0===e||i(t)===_)return[0,t];if(0===t)return[e,0];if(i(e)===_)return[e*n,_*r];var o=b/(2*e)-2*e/b,l=2*t/b,u=(1-l*l)/(r-l),c=o*o,f=u*u,h=1+c/f,p=1+f/c,d=(o*r/u-o/2)/h,m=(f*r/c+u/2)/p,y=m*m-(f*r*r/c+u*r-1)/p;return[_*(d+P(d*d+n*n/h)*a),_*(m+P(y<0?0:y)*v(-t*o)*a)]}function pn(){return(0,n.Z)(hn).scale(127.267)}hn.invert=function(e,t){var r=(e/=_)*e,n=r+(t/=_)*t,i=b*b;return[e?(n-1+P((1-n)*(1-n)+4*r))/(2*e)*_:0,Q((function(e){return n*(b*g(e)-2*e)*b+4*e*e*(t-g(e))+2*b*e-i*t}),0)]};var dn=1.0148,vn=.23185,gn=-.14499,mn=.02406,yn=dn,xn=5*vn,bn=7*gn,_n=9*mn,wn=1.790857183;function kn(e,t){var r=t*t;return[e,t*(dn+r*r*(vn+r*(gn+mn*r)))]}function Tn(){return(0,n.Z)(kn).scale(139.319)}function Mn(e,t){if(i(t)<y)return[e,0];var r=m(t),n=e*g(t);return[g(n)/r,t+(1-s(n))/r]}function An(){return(0,n.Z)(Mn).scale(103.74)}kn.invert=function(e,t){t>wn?t=wn:t<-1.790857183&&(t=-1.790857183);var r,n=t;do{var a=n*n;n-=r=(n*(dn+a*a*(vn+a*(gn+mn*a)))-t)/(yn+a*a*(xn+a*(bn+_n*a)))}while(i(r)>y);return[e,n]},Mn.invert=function(e,t){if(i(t)<y)return[e,0];var r,n=e*e+t*t,a=.5*t,o=10;do{var l=m(a),u=1/s(a),c=n-2*t*a+a*a;a-=r=(l*c+2*(a-t))/(2+c*u*u+2*(a-t)*l)}while(i(r)>y&&--o>0);return l=m(a),[(i(t)<i(a+1/l)?C(e*l):v(t)*v(e)*(L(i(e*l))+_))/g(a),a]};var Sn=r(77338),En=r(83074);function Cn(e,t){return[e[0]*t[0]+e[1]*t[3],e[0]*t[1]+e[1]*t[4],e[0]*t[2]+e[1]*t[5]+e[2],e[3]*t[0]+e[4]*t[3],e[3]*t[1]+e[4]*t[4],e[3]*t[2]+e[4]*t[5]+e[5]]}function Ln(e,t){return[e[0]-t[0],e[1]-t[1]]}function Pn(e){return P(e[0]*e[0]+e[1]*e[1])}function On(e,t,r){function i(e,r){var n,i=t(e,r),a=i.project([e*S,r*S]);return(n=i.transform)?[n[0]*a[0]+n[1]*a[1]+n[2],-(n[3]*a[0]+n[4]*a[1]+n[5])]:(a[1]=-a[1],a)}function a(e,r){var n=e.project.invert,i=e.transform,o=r;if(i&&(i=function(e){var t=1/(e[0]*e[4]-e[1]*e[3]);return[t*e[4],-t*e[1],t*(e[1]*e[5]-e[2]*e[4]),-t*e[3],t*e[0],t*(e[2]*e[3]-e[0]*e[5])]}(i),o=[i[0]*o[0]+i[1]*o[1]+i[2],i[3]*o[0]+i[4]*o[1]+i[5]]),n&&e===function(e){return t(e[0]*E,e[1]*E)}(s=n(o)))return s;for(var s,l=e.children,u=0,c=l&&l.length;u<c;++u)if(s=a(l[u],r))return s}!function e(t,r){if(t.edges=function(e){for(var t=e.length,r=[],n=e[t-1],i=0;i<t;++i)r.push([n,n=e[i]]);return r}(t.face),r.face){var n=t.shared=function(e,t){for(var r,n,i=e.length,a=null,o=0;o<i;++o){r=e[o];for(var s=t.length;--s>=0;)if(n=t[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(t.face,r.face),i=(c=n.map(r.project),f=n.map(t.project),h=Ln(c[1],c[0]),p=Ln(f[1],f[0]),d=function(e,t){return o(e[0]*t[1]-e[1]*t[0],e[0]*t[0]+e[1]*t[1])}(h,p),v=Pn(h)/Pn(p),Cn([1,0,c[0][0],0,1,c[0][1]],Cn([v,0,0,0,v,0],Cn([s(d),g(d),0,-g(d),s(d),0],[1,0,-f[0][0],0,1,-f[0][1]]))));t.transform=r.transform?Cn(r.transform,i):i;for(var a=r.edges,l=0,u=a.length;l<u;++l)Dn(n[0],a[l][1])&&Dn(n[1],a[l][0])&&(a[l]=t),Dn(n[0],a[l][0])&&Dn(n[1],a[l][1])&&(a[l]=t);for(l=0,u=(a=t.edges).length;l<u;++l)Dn(n[0],a[l][0])&&Dn(n[1],a[l][1])&&(a[l]=r),Dn(n[0],a[l][1])&&Dn(n[1],a[l][0])&&(a[l]=r)}else t.transform=r.transform;var c,f,h,p,d,v;return t.children&&t.children.forEach((function(r){e(r,t)})),t}(e,{transform:null}),zn(e)&&(i.invert=function(t,r){var n=a(e,[t,-r]);return n&&(n[0]*=E,n[1]*=E,n)});var l=(0,n.Z)(i),u=l.stream;return l.stream=function(t){var r=l.rotate(),n=u(t),i=(l.rotate([0,0]),u(t));return l.rotate(r),n.sphere=function(){i.polygonStart(),i.lineStart(),In(i,e),i.lineEnd(),i.polygonEnd()},n},l.angle(null==r?-30:r*S)}function In(e,t,r){var n,a,o=t.edges,s=o.length,l={type:\"MultiPoint\",coordinates:t.face},u=t.face.filter((function(e){return 90!==i(e[1])})),c=(0,Sn.Z)({type:\"MultiPoint\",coordinates:u}),f=!1,h=-1,p=c[1][0]-c[0][0],d=180===p||360===p?[(c[0][0]+c[1][0])/2,(c[0][1]+c[1][1])/2]:(0,be.Z)(l);if(r)for(;++h<s&&o[h]!==r;);++h;for(var v=0;v<s;++v)a=o[(v+h)%s],Array.isArray(a)?(f||(e.point((n=(0,En.Z)(a[0],d)(y))[0],n[1]),f=!0),e.point((n=(0,En.Z)(a[1],d)(y))[0],n[1])):(f=!1,a!==r&&In(e,a,t))}function Dn(e,t){return e&&t&&e[0]===t[0]&&e[1]===t[1]}function zn(e){return e.project.invert||e.children&&e.children.some(zn)}var Rn=r(98936),Fn=[[0,90],[-90,0],[0,0],[90,0],[180,0],[0,-90]],Bn=[[0,2,1],[0,3,2],[5,1,2],[5,2,3],[0,1,4],[0,4,3],[5,4,1],[5,3,4]].map((function(e){return e.map((function(e){return Fn[e]}))}));function Nn(e){e=e||function(e){var t=(0,be.Z)({type:\"MultiPoint\",coordinates:e});return(0,Rn.Z)().scale(1).translate([0,0]).rotate([-t[0],-t[1]])};var t=Bn.map((function(t){return{face:t,project:e(t)}}));return[-1,0,0,1,0,1,4,5].forEach((function(e,r){var n=t[e];n&&(n.children||(n.children=[])).push(t[r])})),On(t[0],(function(e,r){return t[e<-b/2?r<0?6:4:e<0?r<0?2:0:e<b/2?r<0?3:1:r<0?7:5]})).angle(-30).scale(101.858).center([0,45])}var jn=2/P(3);function Un(e,t){var r=Ce(e,t);return[r[0]*jn,r[1]]}function Vn(e){e=e||function(e){var t=(0,be.Z)({type:\"MultiPoint\",coordinates:e});return(0,n.Z)(Un).translate([0,0]).scale(1).rotate(t[1]>0?[-t[0],0]:[180-t[0],180])};var t=Bn.map((function(t){return{face:t,project:e(t)}}));return[-1,0,0,1,0,1,4,5].forEach((function(e,r){var n=t[e];n&&(n.children||(n.children=[])).push(t[r])})),On(t[0],(function(e,r){return t[e<-b/2?r<0?6:4:e<0?r<0?2:0:e<b/2?r<0?3:1:r<0?7:5]})).angle(-30).scale(121.906).center([0,48.5904])}function Hn(e){e=e||function(e){var t=6===e.length?(0,be.Z)({type:\"MultiPoint\",coordinates:e}):e[0];return(0,Rn.Z)().scale(1).translate([0,0]).rotate([-t[0],-t[1]])};var t=Bn.map((function(e){for(var t,r=e.map(Yn),n=r.length,i=r[n-1],a=[],o=0;o<n;++o)t=r[o],a.push(Gn([.9486832980505138*i[0]+.31622776601683794*t[0],.9486832980505138*i[1]+.31622776601683794*t[1],.9486832980505138*i[2]+.31622776601683794*t[2]]),Gn([.9486832980505138*t[0]+.31622776601683794*i[0],.9486832980505138*t[1]+.31622776601683794*i[1],.9486832980505138*t[2]+.31622776601683794*i[2]])),i=t;return a})),r=[],n=[-1,0,0,1,0,1,4,5];t.forEach((function(e,i){for(var a,o,s=Bn[i],l=s.length,u=r[i]=[],c=0;c<l;++c)t.push([s[c],e[(2*c+2)%(2*l)],e[(2*c+1)%(2*l)]]),n.push(i),u.push((a=Yn(e[(2*c+2)%(2*l)]),o=Yn(e[(2*c+1)%(2*l)]),[a[1]*o[2]-a[2]*o[1],a[2]*o[0]-a[0]*o[2],a[0]*o[1]-a[1]*o[0]]))}));var i=t.map((function(t){return{project:e(t),face:t}}));return n.forEach((function(e,t){var r=i[e];r&&(r.children||(r.children=[])).push(i[t])})),On(i[0],(function(e,t){var n=s(t),a=[n*s(e),n*g(e),g(t)],o=e<-b/2?t<0?6:4:e<0?t<0?2:0:e<b/2?t<0?3:1:t<0?7:5,l=r[o];return i[qn(l[0],a)<0?8+3*o:qn(l[1],a)<0?8+3*o+1:qn(l[2],a)<0?8+3*o+2:o]})).angle(-30).scale(110.625).center([0,45])}function qn(e,t){for(var r=0,n=e.length,i=0;r<n;++r)i+=e[r]*t[r];return i}function Gn(e){return[o(e[1],e[0])*S,C(f(-1,h(1,e[2])))*S]}function Yn(e){var t=e[0]*E,r=e[1]*E,n=s(r);return[n*s(t),n*g(t),g(r)]}function Wn(){}function Zn(e,t){var r,n=t.stream;if(!n)throw new Error(\"invalid projection\");switch(e&&e.type){case\"Feature\":r=Kn;break;case\"FeatureCollection\":r=Xn;break;default:r=Jn}return r(e,n)}function Xn(e,t){return{type:\"FeatureCollection\",features:e.features.map((function(e){return Kn(e,t)}))}}function Kn(e,t){return{type:\"Feature\",id:e.id,properties:e.properties,geometry:Jn(e.geometry,t)}}function Jn(e,t){if(!e)return null;if(\"GeometryCollection\"===e.type)return function(e,t){return{type:\"GeometryCollection\",geometries:e.geometries.map((function(e){return Jn(e,t)}))}}(e,t);var r;switch(e.type){case\"Point\":case\"MultiPoint\":r=ei;break;case\"LineString\":case\"MultiLineString\":r=ti;break;case\"Polygon\":case\"MultiPolygon\":case\"Sphere\":r=ri;break;default:return null}return(0,jt.Z)(e,t(r)),r.result()}Un.invert=function(e,t){return Ce.invert(e/jn,t)};var $n=[],Qn=[],ei={point:function(e,t){$n.push([e,t])},result:function(){var e=$n.length?$n.length<2?{type:\"Point\",coordinates:$n[0]}:{type:\"MultiPoint\",coordinates:$n}:null;return $n=[],e}},ti={lineStart:Wn,point:function(e,t){$n.push([e,t])},lineEnd:function(){$n.length&&(Qn.push($n),$n=[])},result:function(){var e=Qn.length?Qn.length<2?{type:\"LineString\",coordinates:Qn[0]}:{type:\"MultiLineString\",coordinates:Qn}:null;return Qn=[],e}},ri={polygonStart:Wn,lineStart:Wn,point:function(e,t){$n.push([e,t])},lineEnd:function(){var e=$n.length;if(e){do{$n.push($n[0].slice())}while(++e<4);Qn.push($n),$n=[]}},polygonEnd:Wn,result:function(){if(!Qn.length)return null;var e=[],t=[];return Qn.forEach((function(r){!function(e){if((t=e.length)<4)return!1;for(var t,r=0,n=e[t-1][1]*e[0][0]-e[t-1][0]*e[0][1];++r<t;)n+=e[r-1][1]*e[r][0]-e[r-1][0]*e[r][1];return n<=0}(r)?t.push(r):e.push([r])})),t.forEach((function(t){var r=t[0];e.some((function(e){if(function(e,t){for(var r=t[0],n=t[1],i=!1,a=0,o=e.length,s=o-1;a<o;s=a++){var l=e[a],u=l[0],c=l[1],f=e[s],h=f[0],p=f[1];c>n^p>n&&r<(h-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(e[0],r))return e.push(t),!0}))||e.push([t])})),Qn=[],e.length?e.length>1?{type:\"MultiPolygon\",coordinates:e}:{type:\"Polygon\",coordinates:e[0]}:null}};function ni(e){var t=e(_,0)[0]-e(-_,0)[0];function r(r,n){var a=i(r)<_,o=e(a?r:r>0?r-b:r+b,n),s=(o[0]-o[1])*k,l=(o[0]+o[1])*k;if(a)return[s,l];var u=t*k,c=s>0^l>0?-1:1;return[c*s-v(l)*u,c*l-v(s)*u]}return e.invert&&(r.invert=function(r,n){var a=(r+n)*k,o=(n-r)*k,s=i(a)<.5*t&&i(o)<.5*t;if(!s){var l=t*k,u=a>0^o>0?-1:1,c=-u*r+(o>0?1:-1)*l,f=-u*n+(a>0?1:-1)*l;a=(-c-f)*k,o=(c-f)*k}var h=e.invert(a,o);return s||(h[0]+=a>0?b:-b),h}),(0,n.Z)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ii(){return ni(Ct).scale(176.423)}function ai(){return ni(It).scale(111.48)}function oi(e,t){if(!(0<=(t=+t)&&t<=20))throw new Error(\"invalid digits\");function r(e){var r=e.length,n=2,i=new Array(r);for(i[0]=+e[0].toFixed(t),i[1]=+e[1].toFixed(t);n<r;)i[n]=e[n],++n;return i}function n(e){return e.map(r)}function i(e){for(var t=r(e[0]),n=[t],i=1;i<e.length;i++){var a=r(e[i]);(a.length>2||a[0]!=t[0]||a[1]!=t[1])&&(n.push(a),t=a)}return 1===n.length&&e.length>1&&n.push(r(e[e.length-1])),n}function a(e){return e.map(i)}function o(e){if(null==e)return e;var t;switch(e.type){case\"GeometryCollection\":t={type:\"GeometryCollection\",geometries:e.geometries.map(o)};break;case\"Point\":t={type:\"Point\",coordinates:r(e.coordinates)};break;case\"MultiPoint\":t={type:e.type,coordinates:n(e.coordinates)};break;case\"LineString\":t={type:e.type,coordinates:i(e.coordinates)};break;case\"MultiLineString\":case\"Polygon\":t={type:e.type,coordinates:a(e.coordinates)};break;case\"MultiPolygon\":t={type:\"MultiPolygon\",coordinates:e.coordinates.map(a)};break;default:return e}return null!=e.bbox&&(t.bbox=e.bbox),t}function s(e){var t={type:\"Feature\",properties:e.properties,geometry:o(e.geometry)};return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),t}if(null!=e)switch(e.type){case\"Feature\":return s(e);case\"FeatureCollection\":var l={type:\"FeatureCollection\",features:e.features.map(s)};return null!=e.bbox&&(l.bbox=e.bbox),l;default:return o(e)}return e}function si(e){var t=g(e);function r(r,n){var i=t?m(r*t/2)/t:r/2;if(!n)return[2*i,-e];var o=2*a(i*g(n)),l=1/m(n);return[g(o)*l,n+(1-s(o))*l-e]}return r.invert=function(r,n){if(i(n+=e)<y)return[t?2*a(t*r/2)/t:r,0];var o,l=r*r+n*n,u=0,c=10;do{var f=m(u),h=1/s(u),p=l-2*n*u+u*u;u-=o=(f*p+2*(u-n))/(2+p*h*h+2*(u-n)*f)}while(i(o)>y&&--c>0);var d=r*(f=m(u)),v=m(i(n)<i(u+1/f)?.5*C(d):.5*L(d)+b/4)/g(u);return[t?2*a(t*v)/t:2*v,u]},r}function li(){return fe(si).scale(131.215)}var ui=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function ci(e,t){var r,n=h(18,36*i(t)/b),a=u(n),o=n-a,s=(r=ui[a])[0],l=r[1],c=(r=ui[++a])[0],f=r[1],p=(r=ui[h(19,++a)])[0],d=r[1];return[e*(c+o*(p-s)/2+o*o*(p-2*c+s)/2),(t>0?_:-_)*(f+o*(d-l)/2+o*o*(d-2*f+l)/2)]}function fi(){return(0,n.Z)(ci).scale(152.63)}function hi(e,t){var r=function(e){function t(t,r){var n=s(r),i=(e-1)/(e-n*s(t));return[i*n*g(t),i*g(r)]}return t.invert=function(t,r){var n=t*t+r*r,i=P(n),a=(e-P(1-n*(e+1)/(e-1)))/((e-1)/i+i/(e-1));return[o(t*a,i*P(1-a*a)),i?C(r*a/i):0]},t}(e);if(!t)return r;var n=s(t),i=g(t);function a(t,a){var o=r(t,a),s=o[1],l=s*i/(e-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(t,a){var o=(e-1)/(e-1-a*i);return r.invert(o*t,o*a*n)},a}function pi(){var e=2,t=0,r=(0,n.r)(hi),i=r(e,t);return i.distance=function(n){return arguments.length?r(e=+n,t):e},i.tilt=function(n){return arguments.length?r(e,t=n*E):t*S},i.scale(432.147).clipAngle(L(1/e)*S-1e-6)}ui.forEach((function(e){e[1]*=1.0144})),ci.invert=function(e,t){var r=t/_,n=90*r,a=h(18,i(n/5)),o=f(0,u(a));do{var s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],p=c-s,d=c-2*l+s,v=2*(i(r)-l)/p,g=d/p,m=v*(1-g*v*(1-2*g*v));if(m>=0||1===o){n=(t>=0?5:-5)*(m+a);var y,b=50;do{m=(a=h(18,i(n)/5))-(o=u(a)),s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],n-=(y=(t>=0?_:-_)*(l+m*(c-s)/2+m*m*(c-2*l+s)/2)-t)*S}while(i(y)>x&&--b>0);break}}while(--o>=0);var w=ui[o][0],k=ui[o+1][0],T=ui[h(19,o+2)][0];return[e/(k+m*(T-w)/2+m*m*(T-2*k+w)/2),n*E]};var di=1e-4,vi=1e4,gi=-180,mi=gi+di,yi=180,xi=yi-di,bi=-90,_i=bi+di,wi=90,ki=wi-di;function Ti(e){return e.length>0}function Mi(e){return e===bi||e===wi?[0,e]:[gi,(t=e,Math.floor(t*vi)/vi)];var t}function Ai(e){var t=e[0],r=e[1],n=!1;return t<=mi?(t=gi,n=!0):t>=xi&&(t=yi,n=!0),r<=_i?(r=bi,n=!0):r>=ki&&(r=wi,n=!0),n?[t,r]:e}function Si(e){return e.map(Ai)}function Ei(e,t,r){for(var n=0,i=e.length;n<i;++n){var a=e[n].slice();r.push({index:-1,polygon:t,ring:a});for(var o=0,s=a.length;o<s;++o){var l=a[o],u=l[0],c=l[1];if(u<=mi||u>=xi||c<=_i||c>=ki){a[o]=Ai(l);for(var f=o+1;f<s;++f){var h=a[f],p=h[0],d=h[1];if(p>mi&&p<xi&&d>_i&&d<ki)break}if(f===o+1)continue;if(o){var v={index:-1,polygon:t,ring:a.slice(0,o+1)};v.ring[v.ring.length-1]=Mi(c),r[r.length-1]=v}else r.pop();if(f>=s)break;r.push({index:-1,polygon:t,ring:a=a.slice(f-1)}),a[0]=Mi(a[0][1]),o=-1,s=a.length}}}}function Ci(e){var t,r,n,i,a,o,s=e.length,l={},u={};for(t=0;t<s;++t)n=(r=e[t]).ring[0],a=r.ring[r.ring.length-1],n[0]!==a[0]||n[1]!==a[1]?(r.index=t,l[n]=u[a]=r):(r.polygon.push(r.ring),e[t]=null);for(t=0;t<s;++t)if(r=e[t]){if(n=r.ring[0],a=r.ring[r.ring.length-1],i=u[n],o=l[a],delete l[n],delete u[a],n[0]===a[0]&&n[1]===a[1]){r.polygon.push(r.ring);continue}i?(delete u[n],delete l[i.ring[0]],i.ring.pop(),e[i.index]=null,r={index:-1,polygon:i.polygon,ring:i.ring.concat(r.ring)},i===o?r.polygon.push(r.ring):(r.index=s++,e.push(l[r.ring[0]]=u[r.ring[r.ring.length-1]]=r))):o?(delete l[a],delete u[o.ring[o.ring.length-1]],r.ring.pop(),r={index:s++,polygon:o.polygon,ring:r.ring.concat(o.ring)},e[o.index]=null,e.push(l[r.ring[0]]=u[r.ring[r.ring.length-1]]=r)):(r.ring.push(r.ring[0]),r.polygon.push(r.ring))}}function Li(e){var t={type:\"Feature\",geometry:Pi(e.geometry)};return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),null!=e.properties&&(t.properties=e.properties),t}function Pi(e){if(null==e)return e;var t,r,n,i;switch(e.type){case\"GeometryCollection\":t={type:\"GeometryCollection\",geometries:e.geometries.map(Pi)};break;case\"Point\":t={type:\"Point\",coordinates:Ai(e.coordinates)};break;case\"MultiPoint\":case\"LineString\":t={type:e.type,coordinates:Si(e.coordinates)};break;case\"MultiLineString\":t={type:\"MultiLineString\",coordinates:e.coordinates.map(Si)};break;case\"Polygon\":var a=[];Ei(e.coordinates,a,r=[]),Ci(r),t={type:\"Polygon\",coordinates:a};break;case\"MultiPolygon\":r=[],n=-1,i=e.coordinates.length;for(var o=new Array(i);++n<i;)Ei(e.coordinates[n],o[n]=[],r);Ci(r),t={type:\"MultiPolygon\",coordinates:o.filter(Ti)};break;default:return e}return null!=e.bbox&&(t.bbox=e.bbox),t}function Oi(e){if(null==e)return e;switch(e.type){case\"Feature\":return Li(e);case\"FeatureCollection\":var t={type:\"FeatureCollection\",features:e.features.map(Li)};return null!=e.bbox&&(t.bbox=e.bbox),t;default:return Pi(e)}}function Ii(e,t){var r=m(t/2),n=g(w*r);return[e*(.74482-.34588*n*n),1.70711*r]}function Di(){return(0,n.Z)(Ii).scale(146.153)}function zi(e,t,r){var i=(0,En.Z)(t,r),a=i(.5),o=(0,_e.Z)([-a[0],-a[1]])(t),s=i.distance/2,l=-C(g(o[1]*E)/g(s)),u=[-a[0],-a[1],-(o[0]>0?b-l:l)*S],c=(0,n.Z)(e(s)).rotate(u),f=(0,_e.Z)(u),h=c.center;return delete c.rotate,c.center=function(e){return arguments.length?h(f(e)):f.invert(h())},c.clipAngle(90)}function Ri(e){var t=s(e);function r(e,r){var n=(0,Rn.M)(e,r);return n[0]*=t,n}return r.invert=function(e,r){return Rn.M.invert(e/t,r)},r}function Fi(){return Bi([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Bi(e,t){return zi(Ri,e,t)}function Ni(e){if(!(e*=2))return Y.N;var t=-e/2,r=-t,n=e*e,i=m(r),a=.5/g(r);function l(i,a){var o=L(s(a)*s(i-t)),l=L(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*e),(a<0?-1:1)*P(4*n*l-(n-o+l)*(n-o+l))/(2*e)]}return l.invert=function(e,n){var l,u,c=n*n,f=s(P(c+(l=e+t)*l)),h=s(P(c+(l=e+r)*l));return[o(u=f-h,l=(f+h)*i),(n<0?-1:1)*L(P(l*l+u*u)*a)]},l}function ji(){return Ui([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Ui(e,t){return zi(Ni,e,t)}function Vi(e,t){if(i(t)<y)return[e,0];var r=i(t/_),n=C(r);if(i(e)<y||i(i(t)-_)<y)return[0,v(t)*b*m(n/2)];var a=s(n),o=i(b/e-e/b)/2,l=o*o,u=a/(r+a-1),c=u*(2/r-1),f=c*c,h=f+l,p=u-f,d=l+u;return[v(e)*b*(o*p+P(l*p*p-h*(u*u-f)))/h,v(t)*b*(c*d-o*P((l+1)*h-d*d))/h]}function Hi(){return(0,n.Z)(Vi).scale(79.4183)}function qi(e,t){if(i(t)<y)return[e,0];var r=i(t/_),n=C(r);if(i(e)<y||i(i(t)-_)<y)return[0,v(t)*b*m(n/2)];var a=s(n),o=i(b/e-e/b)/2,l=o*o,u=a*(P(1+l)-o*a)/(1+l*r*r);return[v(e)*b*u,v(t)*b*P(1-u*(2*o+u))]}function Gi(){return(0,n.Z)(qi).scale(79.4183)}function Yi(e,t){if(i(t)<y)return[e,0];var r=t/_,n=C(r);if(i(e)<y||i(i(t)-_)<y)return[0,b*m(n/2)];var a=(b/e-e/b)/2,o=r/(1+s(n));return[b*(v(e)*P(a*a+1-o*o)-a),b*o]}function Wi(){return(0,n.Z)(Yi).scale(79.4183)}function Zi(e,t){if(!t)return[e,0];var r=i(t);if(!e||r===_)return[0,t];var n=r/_,a=n*n,o=(8*n-a*(a+2)-5)/(2*a*(n-1)),s=o*o,l=n*o,u=a+s+2*l,c=n+3*o,f=e/_,h=f+1/f,p=v(i(e)-_)*P(h*h-4),d=p*p,g=(p*(u+s-1)+2*P(u*(a+s*d-1)+(1-a)*(a*(c*c+4*s)+12*l*s+4*s*s)))/(4*u+d);return[v(e)*_*g,v(t)*_*P(1+p*i(g)-g*g)]}function Xi(){return(0,n.Z)(Zi).scale(127.16)}function Ki(e,t,r,n){var i=b/3;e=f(e,y),t=f(t,y),e=h(e,_),t=h(t,b-y),r=f(r,0),r=h(r,100-y);var a=(n=f(n,y))/100,l=L((r/100+1)*s(i))/i,u=g(e)/g(l*_),c=t/b,p=P(a*g(e/2)/g(t/2));return function(e,t,r,n,i){function a(a,o){var l=r*g(n*o),u=P(1-l*l),c=P(2/(1+u*s(a*=i)));return[e*u*c*g(a),t*l*c]}return a.invert=function(a,s){var l=a/e,u=s/t,c=P(l*l+u*u),f=2*C(c/2);return[o(a*m(f),e*c)/i,c&&C(s*g(f)/(t*r*c))/n]},a}(p/P(c*u*l),1/(p*P(c*u*l)),u,l,c)}function Ji(){var e=65*E,t=60*E,r=20,i=200,a=(0,n.r)(Ki),o=a(e,t,r,i);return o.poleline=function(n){return arguments.length?a(e=+n*E,t,r,i):e*S},o.parallels=function(n){return arguments.length?a(e,t=+n*E,r,i):t*S},o.inflation=function(n){return arguments.length?a(e,t,r=+n,i):r},o.ratio=function(n){return arguments.length?a(e,t,r,i=+n):i},o.scale(163.775)}function $i(){return Ji().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}Ii.invert=function(e,t){var r=t/1.70711,n=g(w*r);return[e/(.74482-.34588*n*n),2*a(r)]},Vi.invert=function(e,t){if(i(t)<y)return[e,0];if(i(e)<y)return[0,_*g(2*a(t/b))];var r=(e/=b)*e,n=(t/=b)*t,o=r+n,l=o*o,u=-i(t)*(1+o),c=u-2*n+r,f=-2*u+1+2*n+l,h=n/f+(2*c*c*c/(f*f*f)-9*u*c/(f*f))/27,p=(u-c*c/(3*f))/f,d=2*P(-p/3),m=L(3*h/(p*d))/3;return[b*(o-1+P(1+2*(r-n)+l))/(2*e),v(t)*b*(-d*s(m+b/3)-c/(3*f))]},qi.invert=function(e,t){if(!e)return[0,_*g(2*a(t/b))];var r=i(e/b),n=(1-r*r-(t/=b)*t)/(2*r),s=P(n*n+1);return[v(e)*b*(s-n),v(t)*_*g(2*o(P((1-2*n*r)*(n+s)-r),P(s+n+r)))]},Yi.invert=function(e,t){if(!t)return[e,0];var r=t/b,n=(b*b*(1-r*r)-e*e)/(2*b*e);return[e?b*(v(e)*P(n*n+1)-n):0,_*g(2*a(r))]},Zi.invert=function(e,t){var r;if(!e||!t)return[e,t];t/=b;var n=v(e)*e/_,a=(n*n-1+4*t*t)/i(n),o=a*a,s=2*t,l=50;do{var u=s*s,c=(8*s-u*(u+2)-5)/(2*u*(s-1)),f=(3*s-u*s-10)/(2*u*s),h=c*c,p=s*c,d=s+c,g=d*d,m=s+3*c,x=-2*d*(4*p*h+(1-4*u+3*u*u)*(1+f)+h*(14*u-6-o+(8*u-8-2*o)*f)+p*(12*u-8+(10*u-10-o)*f)),w=P(g*(u+h*o-1)+(1-u)*(u*(m*m+4*h)+h*(12*p+4*h)));s-=r=(a*(g+h-1)+2*w-n*(4*g+o))/(a*(2*c*f+2*d*(1+f))+x/w-8*d*(a*(-1+h+g)+2*w)*(1+f)/(o+4*g))}while(r>y&&--l>0);return[v(e)*(P(a*a+4)+a)*b/4,_*s]};var Qi=4*b+3*P(3),ea=2*P(2*b*P(3)/Qi),ta=ie(ea*P(3)/b,ea,Qi/6);function ra(){return(0,n.Z)(ta).scale(176.84)}function na(e,t){return[e*P(1-3*t*t/(b*b)),t]}function ia(){return(0,n.Z)(na).scale(152.63)}function aa(e,t){var r=s(t),n=s(e)*r,i=1-n,a=s(e=o(g(e)*r,-g(t))),l=g(e);return[l*(r=P(1-n*n))-a*i,-a*r-l*i]}function oa(){return(0,n.Z)(aa).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function sa(e,t){var r=R(e,t);return[(r[0]+e/_)/2,(r[1]+t)/2]}function la(){return(0,n.Z)(sa).scale(158.837)}na.invert=function(e,t){return[e/P(1-3*t*t/(b*b)),t]},aa.invert=function(e,t){var r=(e*e+t*t)/-2,n=P(-r*(2+r)),i=t*r+e*n,a=e*r-t*n,s=P(a*a+i*i);return[o(n*i,s*(1+r)),s?-C(n*a/s):0]},sa.invert=function(e,t){var r=e,n=t,a=25;do{var o,l=s(n),u=g(n),c=g(2*n),f=u*u,h=l*l,p=g(r),d=s(r/2),v=g(r/2),m=v*v,x=1-h*d*d,b=x?L(l*d)*P(o=1/x):o=0,w=.5*(2*b*l*v+r/_)-e,k=.5*(b*u+n)-t,T=.5*o*(h*m+b*l*d*f)+.5/_,M=o*(p*c/4-b*u*v),A=.125*o*(c*v-b*u*h*p),S=.5*o*(f*d+b*m*l)+.5,E=M*A-S*T,C=(k*M-w*S)/E,O=(w*A-k*T)/E;r-=C,n-=O}while((i(C)>y||i(O)>y)&&--a>0);return[r,n]}},33940:function(e,t,r){\"use strict\";function n(){return new i}function i(){this.reset()}r.d(t,{Z:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(e){o(a,e,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(e,t,r){var n=e.s=t+r,i=n-t,a=n-i;e.t=t-a+(r-i)}},97860:function(e,t,r){\"use strict\";r.d(t,{L9:function(){return h},ZP:function(){return x},gL:function(){return d}});var n,i,a,o,s,l=r(33940),u=r(39695),c=r(73182),f=r(72736),h=(0,l.Z)(),p=(0,l.Z)(),d={point:c.Z,lineStart:c.Z,lineEnd:c.Z,polygonStart:function(){h.reset(),d.lineStart=v,d.lineEnd=g},polygonEnd:function(){var e=+h;p.add(e<0?u.BZ+e:e),this.lineStart=this.lineEnd=this.point=c.Z},sphere:function(){p.add(u.BZ)}};function v(){d.point=m}function g(){y(n,i)}function m(e,t){d.point=y,n=e,i=t,e*=u.uR,t*=u.uR,a=e,o=(0,u.mC)(t=t/2+u.pu),s=(0,u.O$)(t)}function y(e,t){e*=u.uR,t=(t*=u.uR)/2+u.pu;var r=e-a,n=r>=0?1:-1,i=n*r,l=(0,u.mC)(t),c=(0,u.O$)(t),f=s*c,p=o*l+f*(0,u.mC)(i),d=f*n*(0,u.O$)(i);h.add((0,u.fv)(d,p)),a=e,o=l,s=c}function x(e){return p.reset(),(0,f.Z)(e,d),2*p}},77338:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return L}});var n,i,a,o,s,l,u,c,f,h,p=r(33940),d=r(97860),v=r(7620),g=r(39695),m=r(72736),y=(0,p.Z)(),x={point:b,lineStart:w,lineEnd:k,polygonStart:function(){x.point=T,x.lineStart=M,x.lineEnd=A,y.reset(),d.gL.polygonStart()},polygonEnd:function(){d.gL.polygonEnd(),x.point=b,x.lineStart=w,x.lineEnd=k,d.L9<0?(n=-(a=180),i=-(o=90)):y>g.Ho?o=90:y<-g.Ho&&(i=-90),h[0]=n,h[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function b(e,t){f.push(h=[n=e,a=e]),t<i&&(i=t),t>o&&(o=t)}function _(e,t){var r=(0,v.Og)([e*g.uR,t*g.uR]);if(c){var l=(0,v.T5)(c,r),u=[l[1],-l[0],0],p=(0,v.T5)(u,l);(0,v.iJ)(p),p=(0,v.Y1)(p);var d,m=e-s,y=m>0?1:-1,x=p[0]*g.RW*y,b=(0,g.Wn)(m)>180;b^(y*s<x&&x<y*e)?(d=p[1]*g.RW)>o&&(o=d):b^(y*s<(x=(x+360)%360-180)&&x<y*e)?(d=-p[1]*g.RW)<i&&(i=d):(t<i&&(i=t),t>o&&(o=t)),b?e<s?S(n,e)>S(n,a)&&(a=e):S(e,a)>S(n,a)&&(n=e):a>=n?(e<n&&(n=e),e>a&&(a=e)):e>s?S(n,e)>S(n,a)&&(a=e):S(e,a)>S(n,a)&&(n=e)}else f.push(h=[n=e,a=e]);t<i&&(i=t),t>o&&(o=t),c=r,s=e}function w(){x.point=_}function k(){h[0]=n,h[1]=a,x.point=b,c=null}function T(e,t){if(c){var r=e-s;y.add((0,g.Wn)(r)>180?r+(r>0?360:-360):r)}else l=e,u=t;d.gL.point(e,t),_(e,t)}function M(){d.gL.lineStart()}function A(){T(l,u),d.gL.lineEnd(),(0,g.Wn)(y)>g.Ho&&(n=-(a=180)),h[0]=n,h[1]=a,c=null}function S(e,t){return(t-=e)<0?t+360:t}function E(e,t){return e[0]-t[0]}function C(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}function L(e){var t,r,s,l,u,c,p;if(o=a=-(n=i=1/0),f=[],(0,m.Z)(e,x),r=f.length){for(f.sort(E),t=1,u=[s=f[0]];t<r;++t)C(s,(l=f[t])[0])||C(s,l[1])?(S(s[0],l[1])>S(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):u.push(s=l);for(c=-1/0,t=0,s=u[r=u.length-1];t<=r;s=l,++t)l=u[t],(p=S(s[1],l[0]))>c&&(c=p,n=l[0],a=s[1])}return f=h=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},7620:function(e,t,r){\"use strict\";r.d(t,{Og:function(){return a},T:function(){return u},T5:function(){return s},Y1:function(){return i},iJ:function(){return c},j9:function(){return o},s0:function(){return l}});var n=r(39695);function i(e){return[(0,n.fv)(e[1],e[0]),(0,n.ZR)(e[2])]}function a(e){var t=e[0],r=e[1],i=(0,n.mC)(r);return[i*(0,n.mC)(t),i*(0,n.O$)(t),(0,n.O$)(r)]}function o(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function s(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function l(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function u(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function c(e){var t=(0,n._b)(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}},66624:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return I}});var n,i,a,o,s,l,u,c,f,h,p,d,v,g,m,y,x=r(39695),b=r(73182),_=r(72736),w={sphere:b.Z,point:k,lineStart:M,lineEnd:E,polygonStart:function(){w.lineStart=C,w.lineEnd=L},polygonEnd:function(){w.lineStart=M,w.lineEnd=E}};function k(e,t){e*=x.uR,t*=x.uR;var r=(0,x.mC)(t);T(r*(0,x.mC)(e),r*(0,x.O$)(e),(0,x.O$)(t))}function T(e,t,r){++n,a+=(e-a)/n,o+=(t-o)/n,s+=(r-s)/n}function M(){w.point=A}function A(e,t){e*=x.uR,t*=x.uR;var r=(0,x.mC)(t);g=r*(0,x.mC)(e),m=r*(0,x.O$)(e),y=(0,x.O$)(t),w.point=S,T(g,m,y)}function S(e,t){e*=x.uR,t*=x.uR;var r=(0,x.mC)(t),n=r*(0,x.mC)(e),a=r*(0,x.O$)(e),o=(0,x.O$)(t),s=(0,x.fv)((0,x._b)((s=m*o-y*a)*s+(s=y*n-g*o)*s+(s=g*a-m*n)*s),g*n+m*a+y*o);i+=s,l+=s*(g+(g=n)),u+=s*(m+(m=a)),c+=s*(y+(y=o)),T(g,m,y)}function E(){w.point=k}function C(){w.point=P}function L(){O(d,v),w.point=k}function P(e,t){d=e,v=t,e*=x.uR,t*=x.uR,w.point=O;var r=(0,x.mC)(t);g=r*(0,x.mC)(e),m=r*(0,x.O$)(e),y=(0,x.O$)(t),T(g,m,y)}function O(e,t){e*=x.uR,t*=x.uR;var r=(0,x.mC)(t),n=r*(0,x.mC)(e),a=r*(0,x.O$)(e),o=(0,x.O$)(t),s=m*o-y*a,d=y*n-g*o,v=g*a-m*n,b=(0,x._b)(s*s+d*d+v*v),_=(0,x.ZR)(b),w=b&&-_/b;f+=w*s,h+=w*d,p+=w*v,i+=_,l+=_*(g+(g=n)),u+=_*(m+(m=a)),c+=_*(y+(y=o)),T(g,m,y)}function I(e){n=i=a=o=s=l=u=c=f=h=p=0,(0,_.Z)(e,w);var t=f,r=h,d=p,v=t*t+r*r+d*d;return v<x.aW&&(t=l,r=u,d=c,i<x.Ho&&(t=a,r=o,d=s),(v=t*t+r*r+d*d)<x.aW)?[NaN,NaN]:[(0,x.fv)(r,t)*x.RW,(0,x.ZR)(d/(0,x._b)(v))*x.RW]}},7613:function(e,t,r){\"use strict\";r.d(t,{m:function(){return s},Z:function(){return u}});var n=r(7620);function i(e){return function(){return e}}var a=r(39695),o=r(49386);function s(e,t,r,i,o,s){if(r){var u=(0,a.mC)(t),c=(0,a.O$)(t),f=i*r;null==o?(o=t+i*a.BZ,s=t-f/2):(o=l(u,o),s=l(u,s),(i>0?o<s:o>s)&&(o+=i*a.BZ));for(var h,p=o;i>0?p>s:p<s;p-=f)h=(0,n.Y1)([u,-c*(0,a.mC)(p),-c*(0,a.O$)(p)]),e.point(h[0],h[1])}}function l(e,t){(t=(0,n.Og)(t))[0]-=e,(0,n.iJ)(t);var r=(0,a.Kh)(-t[1]);return((-t[2]<0?-r:r)+a.BZ-a.Ho)%a.BZ}function u(){var e,t,r=i([0,0]),n=i(90),l=i(6),u={point:function(r,n){e.push(r=t(r,n)),r[0]*=a.RW,r[1]*=a.RW}};function c(){var i=r.apply(this,arguments),c=n.apply(this,arguments)*a.uR,f=l.apply(this,arguments)*a.uR;return e=[],t=(0,o.I)(-i[0]*a.uR,-i[1]*a.uR,0).invert,s(u,c,f,1),i={type:\"Polygon\",coordinates:[e]},e=t=null,i}return c.center=function(e){return arguments.length?(r=\"function\"==typeof e?e:i([+e[0],+e[1]]),c):r},c.radius=function(e){return arguments.length?(n=\"function\"==typeof e?e:i(+e),c):n},c.precision=function(e){return arguments.length?(l=\"function\"==typeof e?e:i(+e),c):l},c}},87070:function(e,t,r){\"use strict\";var n=r(97023),i=r(39695);t.Z=(0,n.Z)((function(){return!0}),(function(e){var t,r=NaN,n=NaN,a=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(o,s){var l=o>0?i.pi:-i.pi,u=(0,i.Wn)(o-r);(0,i.Wn)(u-i.pi)<i.Ho?(e.point(r,n=(n+s)/2>0?i.ou:-i.ou),e.point(a,n),e.lineEnd(),e.lineStart(),e.point(l,n),e.point(o,n),t=0):a!==l&&u>=i.pi&&((0,i.Wn)(r-a)<i.Ho&&(r-=a*i.Ho),(0,i.Wn)(o-l)<i.Ho&&(o-=l*i.Ho),n=function(e,t,r,n){var a,o,s=(0,i.O$)(e-r);return(0,i.Wn)(s)>i.Ho?(0,i.z4)(((0,i.O$)(t)*(o=(0,i.mC)(n))*(0,i.O$)(r)-(0,i.O$)(n)*(a=(0,i.mC)(t))*(0,i.O$)(e))/(a*o*s)):(t+n)/2}(r,n,o,s),e.point(a,n),e.lineEnd(),e.lineStart(),e.point(l,n),t=0),e.point(r=o,n=s),a=l},lineEnd:function(){e.lineEnd(),r=n=NaN},clean:function(){return 2-t}}}),(function(e,t,r,n){var a;if(null==e)a=r*i.ou,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.Wn)(e[0]-t[0])>i.Ho){var o=e[0]<t[0]?i.pi:-i.pi;a=r*o/2,n.point(-o,a),n.point(0,a),n.point(o,a)}else n.point(t[0],t[1])}),[-i.pi,-i.ou])},85272:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return i}});var n=r(73182);function i(){var e,t=[];return{point:function(t,r,n){e.push([t,r,n])},lineStart:function(){t.push(e=[])},lineEnd:n.Z,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var r=t;return t=[],e=null,r}}}},1457:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return l}});var n=r(7620),i=r(7613),a=r(39695),o=r(67108),s=r(97023);function l(e){var t=(0,a.mC)(e),r=6*a.uR,l=t>0,u=(0,a.Wn)(t)>a.Ho;function c(e,r){return(0,a.mC)(e)*(0,a.mC)(r)>t}function f(e,r,i){var o=(0,n.Og)(e),s=(0,n.Og)(r),l=[1,0,0],u=(0,n.T5)(o,s),c=(0,n.j9)(u,u),f=u[0],h=c-f*f;if(!h)return!i&&e;var p=t*c/h,d=-t*f/h,v=(0,n.T5)(l,u),g=(0,n.T)(l,p),m=(0,n.T)(u,d);(0,n.s0)(g,m);var y=v,x=(0,n.j9)(g,y),b=(0,n.j9)(y,y),_=x*x-b*((0,n.j9)(g,g)-1);if(!(_<0)){var w=(0,a._b)(_),k=(0,n.T)(y,(-x-w)/b);if((0,n.s0)(k,g),k=(0,n.Y1)(k),!i)return k;var T,M=e[0],A=r[0],S=e[1],E=r[1];A<M&&(T=M,M=A,A=T);var C=A-M,L=(0,a.Wn)(C-a.pi)<a.Ho;if(!L&&E<S&&(T=S,S=E,E=T),L||C<a.Ho?L?S+E>0^k[1]<((0,a.Wn)(k[0]-M)<a.Ho?S:E):S<=k[1]&&k[1]<=E:C>a.pi^(M<=k[0]&&k[0]<=A)){var P=(0,n.T)(y,(-x+w)/b);return(0,n.s0)(P,g),[k,(0,n.Y1)(P)]}}}function h(t,r){var n=l?e:a.pi-e,i=0;return t<-n?i|=1:t>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.Z)(c,(function(e){var t,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var v,g=[p,d],m=c(p,d),y=l?m?0:h(p,d):m?h(p+(p<0?a.pi:-a.pi),d):0;if(!t&&(i=n=m)&&e.lineStart(),m!==n&&(!(v=f(t,g))||(0,o.Z)(t,v)||(0,o.Z)(g,v))&&(g[2]=1),m!==n)s=0,m?(e.lineStart(),v=f(g,t),e.point(v[0],v[1])):(v=f(t,g),e.point(v[0],v[1],2),e.lineEnd()),t=v;else if(u&&t&&l^m){var x;y&r||!(x=f(g,t,!0))||(s=0,l?(e.lineStart(),e.point(x[0][0],x[0][1]),e.point(x[1][0],x[1][1]),e.lineEnd()):(e.point(x[1][0],x[1][1]),e.lineEnd(),e.lineStart(),e.point(x[0][0],x[0][1],3)))}!m||t&&(0,o.Z)(t,g)||e.point(g[0],g[1]),t=g,n=m,r=y},lineEnd:function(){n&&e.lineEnd(),t=null},clean:function(){return s|(i&&n)<<1}}}),(function(t,n,a,o){(0,i.m)(o,e,r,a,t,n)}),l?[0,-e]:[-a.pi,e-a.pi])}},97023:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return l}});var n=r(85272),i=r(46225),a=r(39695),o=r(23071),s=r(33064);function l(e,t,r,a){return function(l){var f,h,p,d=t(l),v=(0,n.Z)(),g=t(v),m=!1,y={point:x,lineStart:_,lineEnd:w,polygonStart:function(){y.point=k,y.lineStart=T,y.lineEnd=M,h=[],f=[]},polygonEnd:function(){y.point=x,y.lineStart=_,y.lineEnd=w,h=(0,s.TS)(h);var e=(0,o.Z)(f,a);h.length?(m||(l.polygonStart(),m=!0),(0,i.Z)(h,c,e,r,l)):e&&(m||(l.polygonStart(),m=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),m&&(l.polygonEnd(),m=!1),h=f=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(t,r){e(t,r)&&l.point(t,r)}function b(e,t){d.point(e,t)}function _(){y.point=b,d.lineStart()}function w(){y.point=x,d.lineEnd()}function k(e,t){p.push([e,t]),g.point(e,t)}function T(){g.lineStart(),p=[]}function M(){k(p[0][0],p[0][1]),g.lineEnd();var e,t,r,n,i=g.clean(),a=v.result(),o=a.length;if(p.pop(),f.push(p),p=null,o)if(1&i){if((t=(r=a[0]).length-1)>0){for(m||(l.polygonStart(),m=!0),l.lineStart(),e=0;e<t;++e)l.point((n=r[e])[0],n[1]);l.lineEnd()}}else o>1&&2&i&&a.push(a.pop().concat(a.shift())),h.push(a.filter(u))}return y}}function u(e){return e.length>1}function c(e,t){return((e=e.x)[0]<0?e[1]-a.ou-a.Ho:a.ou-e[1])-((t=t.x)[0]<0?t[1]-a.ou-a.Ho:a.ou-t[1])}},87605:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return u}});var n=r(39695),i=r(85272),a=r(46225),o=r(33064),s=1e9,l=-s;function u(e,t,r,u){function c(n,i){return e<=n&&n<=r&&t<=i&&i<=u}function f(n,i,a,o){var s=0,l=0;if(null==n||(s=h(n,a))!==(l=h(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?e:r,s>1?u:t)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function h(i,a){return(0,n.Wn)(i[0]-e)<n.Ho?a>0?0:3:(0,n.Wn)(i[0]-r)<n.Ho?a>0?2:1:(0,n.Wn)(i[1]-t)<n.Ho?a>0?1:0:a>0?3:2}function p(e,t){return d(e.x,t.x)}function d(e,t){var r=h(e,1),n=h(t,1);return r!==n?r-n:0===r?t[1]-e[1]:1===r?e[0]-t[0]:2===r?e[1]-t[1]:t[0]-e[0]}return function(n){var h,d,v,g,m,y,x,b,_,w,k,T=n,M=(0,i.Z)(),A={point:S,lineStart:function(){A.point=E,d&&d.push(v=[]),w=!0,_=!1,x=b=NaN},lineEnd:function(){h&&(E(g,m),y&&_&&M.rejoin(),h.push(M.result())),A.point=S,_&&T.lineEnd()},polygonStart:function(){T=M,h=[],d=[],k=!0},polygonEnd:function(){var t=function(){for(var t=0,r=0,n=d.length;r<n;++r)for(var i,a,o=d[r],s=1,l=o.length,c=o[0],f=c[0],h=c[1];s<l;++s)i=f,a=h,f=(c=o[s])[0],h=c[1],a<=u?h>u&&(f-i)*(u-a)>(h-a)*(e-i)&&++t:h<=u&&(f-i)*(u-a)<(h-a)*(e-i)&&--t;return t}(),r=k&&t,i=(h=(0,o.TS)(h)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),f(null,null,1,n),n.lineEnd()),i&&(0,a.Z)(h,p,t,f,n),n.polygonEnd()),T=n,h=d=v=null}};function S(e,t){c(e,t)&&T.point(e,t)}function E(n,i){var a=c(n,i);if(d&&v.push([n,i]),w)g=n,m=i,y=a,w=!1,a&&(T.lineStart(),T.point(n,i));else if(a&&_)T.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),b=Math.max(l,Math.min(s,b))],f=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(e,t,r,n,i,a){var o,s=e[0],l=e[1],u=0,c=1,f=t[0]-s,h=t[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o<u)return;o<c&&(c=o)}else if(f>0){if(o>c)return;o>u&&(u=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>c)return;o>u&&(u=o)}else if(f>0){if(o<u)return;o<c&&(c=o)}if(o=n-l,h||!(o>0)){if(o/=h,h<0){if(o<u)return;o<c&&(c=o)}else if(h>0){if(o>c)return;o>u&&(u=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>c)return;o>u&&(u=o)}else if(h>0){if(o<u)return;o<c&&(c=o)}return u>0&&(e[0]=s+u*f,e[1]=l+u*h),c<1&&(t[0]=s+c*f,t[1]=l+c*h),!0}}}}}(o,f,e,t,r,u)?a&&(T.lineStart(),T.point(n,i),k=!1):(_||(T.lineStart(),T.point(o[0],o[1])),T.point(f[0],f[1]),a||T.lineEnd(),k=!1)}x=n,b=i,_=a}return A}}},46225:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return o}});var n=r(67108),i=r(39695);function a(e,t,r,n){this.x=e,this.z=t,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function o(e,t,r,o,l){var u,c,f=[],h=[];if(e.forEach((function(e){if(!((t=e.length-1)<=0)){var t,r,o=e[0],s=e[t];if((0,n.Z)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),u=0;u<t;++u)l.point((o=e[u])[0],o[1]);return void l.lineEnd()}s[0]+=2*i.Ho}f.push(r=new a(o,e,null,!0)),h.push(r.o=new a(o,null,r,!1)),f.push(r=new a(s,e,null,!1)),h.push(r.o=new a(s,null,r,!0))}})),f.length){for(h.sort(t),s(f),s(h),u=0,c=h.length;u<c;++u)h[u].e=r=!r;for(var p,d,v=f[0];;){for(var g=v,m=!0;g.v;)if((g=g.n)===v)return;p=g.z,l.lineStart();do{if(g.v=g.o.v=!0,g.e){if(m)for(u=0,c=p.length;u<c;++u)l.point((d=p[u])[0],d[1]);else o(g.x,g.n.x,1,l);g=g.n}else{if(m)for(p=g.p.z,u=p.length-1;u>=0;--u)l.point((d=p[u])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,m=!m}while(!g.v);l.lineEnd()}}}function s(e){if(t=e.length){for(var t,r,n=0,i=e[0];++n<t;)i.n=r=e[n],r.p=i,i=r;i.n=r=e[0],r.p=i}}},96059:function(e,t,r){\"use strict\";function n(e,t){function r(r,n){return r=e(r,n),t(r[0],r[1])}return e.invert&&t.invert&&(r.invert=function(r,n){return(r=t.invert(r,n))&&e.invert(r[0],r[1])}),r}r.d(t,{Z:function(){return n}})},8593:function(e,t,r){\"use strict\";function n(e){return e}r.d(t,{Z:function(){return n}})},27362:function(e,t,r){\"use strict\";r.r(t),r.d(t,{geoAlbers:function(){return Ge},geoAlbersUsa:function(){return We},geoArea:function(){return n.ZP},geoAzimuthalEqualArea:function(){return Ze.Z},geoAzimuthalEqualAreaRaw:function(){return Ze.l},geoAzimuthalEquidistant:function(){return Xe.Z},geoAzimuthalEquidistantRaw:function(){return Xe.N},geoBounds:function(){return i.Z},geoCentroid:function(){return a.Z},geoCircle:function(){return o.Z},geoClipAntimeridian:function(){return s.Z},geoClipCircle:function(){return l.Z},geoClipExtent:function(){return c},geoClipRectangle:function(){return u.Z},geoConicConformal:function(){return rt},geoConicConformalRaw:function(){return tt},geoConicEqualArea:function(){return qe},geoConicEqualAreaRaw:function(){return He},geoConicEquidistant:function(){return at},geoConicEquidistantRaw:function(){return it},geoContains:function(){return R},geoDistance:function(){return S},geoEqualEarth:function(){return ht},geoEqualEarthRaw:function(){return ft},geoEquirectangular:function(){return nt.Z},geoEquirectangularRaw:function(){return nt.k},geoGnomonic:function(){return pt.Z},geoGnomonicRaw:function(){return pt.M},geoGraticule:function(){return j},geoGraticule10:function(){return U},geoIdentity:function(){return vt},geoInterpolate:function(){return Y.Z},geoLength:function(){return T},geoMercator:function(){return $e},geoMercatorRaw:function(){return Je},geoNaturalEarth1:function(){return gt.Z},geoNaturalEarth1Raw:function(){return gt.K},geoOrthographic:function(){return mt.Z},geoOrthographicRaw:function(){return mt.I},geoPath:function(){return je},geoProjection:function(){return Ue.Z},geoProjectionMutator:function(){return Ue.r},geoRotation:function(){return Ke.Z},geoStereographic:function(){return bt},geoStereographicRaw:function(){return xt},geoStream:function(){return y.Z},geoTransform:function(){return dt.Z},geoTransverseMercator:function(){return wt},geoTransverseMercatorRaw:function(){return _t}});var n=r(97860),i=r(77338),a=r(66624),o=r(7613),s=r(87070),l=r(1457),u=r(87605);function c(){var e,t,r,n=0,i=0,a=960,o=500;return r={stream:function(r){return e&&t===r?e:e=(0,u.Z)(n,i,a,o)(t=r)},extent:function(s){return arguments.length?(n=+s[0][0],i=+s[0][1],a=+s[1][0],o=+s[1][1],e=t=null,r):[[n,i],[a,o]]}}}var f,h,p,d=r(23071),v=r(33940),g=r(39695),m=r(73182),y=r(72736),x=(0,v.Z)(),b={sphere:m.Z,point:m.Z,lineStart:function(){b.point=w,b.lineEnd=_},lineEnd:m.Z,polygonStart:m.Z,polygonEnd:m.Z};function _(){b.point=b.lineEnd=m.Z}function w(e,t){e*=g.uR,t*=g.uR,f=e,h=(0,g.O$)(t),p=(0,g.mC)(t),b.point=k}function k(e,t){e*=g.uR,t*=g.uR;var r=(0,g.O$)(t),n=(0,g.mC)(t),i=(0,g.Wn)(e-f),a=(0,g.mC)(i),o=n*(0,g.O$)(i),s=p*r-h*n*a,l=h*r+p*n*a;x.add((0,g.fv)((0,g._b)(o*o+s*s),l)),f=e,h=r,p=n}function T(e){return x.reset(),(0,y.Z)(e,b),+x}var M=[null,null],A={type:\"LineString\",coordinates:M};function S(e,t){return M[0]=e,M[1]=t,T(A)}var E={Feature:function(e,t){return L(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,n=-1,i=r.length;++n<i;)if(L(r[n].geometry,t))return!0;return!1}},C={Sphere:function(){return!0},Point:function(e,t){return P(e.coordinates,t)},MultiPoint:function(e,t){for(var r=e.coordinates,n=-1,i=r.length;++n<i;)if(P(r[n],t))return!0;return!1},LineString:function(e,t){return O(e.coordinates,t)},MultiLineString:function(e,t){for(var r=e.coordinates,n=-1,i=r.length;++n<i;)if(O(r[n],t))return!0;return!1},Polygon:function(e,t){return I(e.coordinates,t)},MultiPolygon:function(e,t){for(var r=e.coordinates,n=-1,i=r.length;++n<i;)if(I(r[n],t))return!0;return!1},GeometryCollection:function(e,t){for(var r=e.geometries,n=-1,i=r.length;++n<i;)if(L(r[n],t))return!0;return!1}};function L(e,t){return!(!e||!C.hasOwnProperty(e.type))&&C[e.type](e,t)}function P(e,t){return 0===S(e,t)}function O(e,t){for(var r,n,i,a=0,o=e.length;a<o;a++){if(0===(n=S(e[a],t)))return!0;if(a>0&&(i=S(e[a],e[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))<g.aW*i)return!0;r=n}return!1}function I(e,t){return!!(0,d.Z)(e.map(D),z(t))}function D(e){return(e=e.map(z)).pop(),e}function z(e){return[e[0]*g.uR,e[1]*g.uR]}function R(e,t){return(e&&E.hasOwnProperty(e.type)?E[e.type]:L)(e,t)}var F=r(33064);function B(e,t,r){var n=(0,F.w6)(e,t-g.Ho,r).concat(t);return function(e){return n.map((function(t){return[e,t]}))}}function N(e,t,r){var n=(0,F.w6)(e,t-g.Ho,r).concat(t);return function(e){return n.map((function(t){return[t,e]}))}}function j(){var e,t,r,n,i,a,o,s,l,u,c,f,h=10,p=h,d=90,v=360,m=2.5;function y(){return{type:\"MultiLineString\",coordinates:x()}}function x(){return(0,F.w6)((0,g.mD)(n/d)*d,r,d).map(c).concat((0,F.w6)((0,g.mD)(s/v)*v,o,v).map(f)).concat((0,F.w6)((0,g.mD)(t/h)*h,e,h).filter((function(e){return(0,g.Wn)(e%d)>g.Ho})).map(l)).concat((0,F.w6)((0,g.mD)(a/p)*p,i,p).filter((function(e){return(0,g.Wn)(e%v)>g.Ho})).map(u))}return y.lines=function(){return x().map((function(e){return{type:\"LineString\",coordinates:e}}))},y.outline=function(){return{type:\"Polygon\",coordinates:[c(n).concat(f(o).slice(1),c(r).reverse().slice(1),f(s).reverse().slice(1))]}},y.extent=function(e){return arguments.length?y.extentMajor(e).extentMinor(e):y.extentMinor()},y.extentMajor=function(e){return arguments.length?(n=+e[0][0],r=+e[1][0],s=+e[0][1],o=+e[1][1],n>r&&(e=n,n=r,r=e),s>o&&(e=s,s=o,o=e),y.precision(m)):[[n,s],[r,o]]},y.extentMinor=function(r){return arguments.length?(t=+r[0][0],e=+r[1][0],a=+r[0][1],i=+r[1][1],t>e&&(r=t,t=e,e=r),a>i&&(r=a,a=i,i=r),y.precision(m)):[[t,a],[e,i]]},y.step=function(e){return arguments.length?y.stepMajor(e).stepMinor(e):y.stepMinor()},y.stepMajor=function(e){return arguments.length?(d=+e[0],v=+e[1],y):[d,v]},y.stepMinor=function(e){return arguments.length?(h=+e[0],p=+e[1],y):[h,p]},y.precision=function(h){return arguments.length?(m=+h,l=B(a,i,90),u=N(t,e,m),c=B(s,o,90),f=N(n,r,m),y):m},y.extentMajor([[-180,-90+g.Ho],[180,90-g.Ho]]).extentMinor([[-180,-80-g.Ho],[180,80+g.Ho]])}function U(){return j()()}var V,H,q,G,Y=r(83074),W=r(8593),Z=(0,v.Z)(),X=(0,v.Z)(),K={point:m.Z,lineStart:m.Z,lineEnd:m.Z,polygonStart:function(){K.lineStart=J,K.lineEnd=ee},polygonEnd:function(){K.lineStart=K.lineEnd=K.point=m.Z,Z.add((0,g.Wn)(X)),X.reset()},result:function(){var e=Z/2;return Z.reset(),e}};function J(){K.point=$}function $(e,t){K.point=Q,V=q=e,H=G=t}function Q(e,t){X.add(G*e-q*t),q=e,G=t}function ee(){Q(V,H)}var te,re,ne,ie,ae=K,oe=r(3559),se=0,le=0,ue=0,ce=0,fe=0,he=0,pe=0,de=0,ve=0,ge={point:me,lineStart:ye,lineEnd:_e,polygonStart:function(){ge.lineStart=we,ge.lineEnd=ke},polygonEnd:function(){ge.point=me,ge.lineStart=ye,ge.lineEnd=_e},result:function(){var e=ve?[pe/ve,de/ve]:he?[ce/he,fe/he]:ue?[se/ue,le/ue]:[NaN,NaN];return se=le=ue=ce=fe=he=pe=de=ve=0,e}};function me(e,t){se+=e,le+=t,++ue}function ye(){ge.point=xe}function xe(e,t){ge.point=be,me(ne=e,ie=t)}function be(e,t){var r=e-ne,n=t-ie,i=(0,g._b)(r*r+n*n);ce+=i*(ne+e)/2,fe+=i*(ie+t)/2,he+=i,me(ne=e,ie=t)}function _e(){ge.point=me}function we(){ge.point=Te}function ke(){Me(te,re)}function Te(e,t){ge.point=Me,me(te=ne=e,re=ie=t)}function Me(e,t){var r=e-ne,n=t-ie,i=(0,g._b)(r*r+n*n);ce+=i*(ne+e)/2,fe+=i*(ie+t)/2,he+=i,pe+=(i=ie*e-ne*t)*(ne+e),de+=i*(ie+t),ve+=3*i,me(ne=e,ie=t)}var Ae=ge;function Se(e){this._context=e}Se.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,g.BZ)}},result:m.Z};var Ee,Ce,Le,Pe,Oe,Ie=(0,v.Z)(),De={point:m.Z,lineStart:function(){De.point=ze},lineEnd:function(){Ee&&Re(Ce,Le),De.point=m.Z},polygonStart:function(){Ee=!0},polygonEnd:function(){Ee=null},result:function(){var e=+Ie;return Ie.reset(),e}};function ze(e,t){De.point=Re,Ce=Pe=e,Le=Oe=t}function Re(e,t){Pe-=e,Oe-=t,Ie.add((0,g._b)(Pe*Pe+Oe*Oe)),Pe=e,Oe=t}var Fe=De;function Be(){this._string=[]}function Ne(e){return\"m0,\"+e+\"a\"+e+\",\"+e+\" 0 1,1 0,\"+-2*e+\"a\"+e+\",\"+e+\" 0 1,1 0,\"+2*e+\"z\"}function je(e,t){var r,n,i=4.5;function a(e){return e&&(\"function\"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,y.Z)(e,r(n))),n.result()}return a.area=function(e){return(0,y.Z)(e,r(ae)),ae.result()},a.measure=function(e){return(0,y.Z)(e,r(Fe)),Fe.result()},a.bounds=function(e){return(0,y.Z)(e,r(oe.Z)),oe.Z.result()},a.centroid=function(e){return(0,y.Z)(e,r(Ae)),Ae.result()},a.projection=function(t){return arguments.length?(r=null==t?(e=null,W.Z):(e=t).stream,a):e},a.context=function(e){return arguments.length?(n=null==e?(t=null,new Be):new Se(t=e),\"function\"!=typeof i&&n.pointRadius(i),a):t},a.pointRadius=function(e){return arguments.length?(i=\"function\"==typeof e?e:(n.pointRadius(+e),+e),a):i},a.projection(e).context(t)}Be.prototype={_radius:4.5,_circle:Ne(4.5),pointRadius:function(e){return(e=+e)!==this._radius&&(this._radius=e,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push(\"Z\"),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._string.push(\"M\",e,\",\",t),this._point=1;break;case 1:this._string.push(\"L\",e,\",\",t);break;default:null==this._circle&&(this._circle=Ne(this._radius)),this._string.push(\"M\",e,\",\",t,this._circle)}},result:function(){if(this._string.length){var e=this._string.join(\"\");return this._string=[],e}return null}};var Ue=r(15002);function Ve(e){var t=0,r=g.pi/3,n=(0,Ue.r)(e),i=n(t,r);return i.parallels=function(e){return arguments.length?n(t=e[0]*g.uR,r=e[1]*g.uR):[t*g.RW,r*g.RW]},i}function He(e,t){var r=(0,g.O$)(e),n=(r+(0,g.O$)(t))/2;if((0,g.Wn)(n)<g.Ho)return function(e){var t=(0,g.mC)(e);function r(e,r){return[e*t,(0,g.O$)(r)/t]}return r.invert=function(e,r){return[e/t,(0,g.ZR)(r*t)]},r}(e);var i=1+r*(2*n-r),a=(0,g._b)(i)/n;function o(e,t){var r=(0,g._b)(i-2*n*(0,g.O$)(t))/n;return[r*(0,g.O$)(e*=n),a-r*(0,g.mC)(e)]}return o.invert=function(e,t){var r=a-t,o=(0,g.fv)(e,(0,g.Wn)(r))*(0,g.Xx)(r);return r*n<0&&(o-=g.pi*(0,g.Xx)(e)*(0,g.Xx)(r)),[o/n,(0,g.ZR)((i-(e*e+r*r)*n*n)/(2*n))]},o}function qe(){return Ve(He).scale(155.424).center([0,33.6442])}function Ge(){return qe().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}var Ye=r(47589);function We(){var e,t,r,n,i,a,o=Ge(),s=qe().rotate([154,0]).center([-2,58.5]).parallels([55,65]),l=qe().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(e,t){a=[e,t]}};function c(e){var t=e[0],o=e[1];return a=null,r.point(t,o),a||(n.point(t,o),a)||(i.point(t,o),a)}function f(){return e=t=null,c}return c.invert=function(e){var t=o.scale(),r=o.translate(),n=(e[0]-r[0])/t,i=(e[1]-r[1])/t;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(e)},c.stream=function(r){return e&&t===r?e:(n=[o.stream(t=r),s.stream(r),l.stream(r)],i=n.length,e={point:function(e,t){for(var r=-1;++r<i;)n[r].point(e,t)},sphere:function(){for(var e=-1;++e<i;)n[e].sphere()},lineStart:function(){for(var e=-1;++e<i;)n[e].lineStart()},lineEnd:function(){for(var e=-1;++e<i;)n[e].lineEnd()},polygonStart:function(){for(var e=-1;++e<i;)n[e].polygonStart()},polygonEnd:function(){for(var e=-1;++e<i;)n[e].polygonEnd()}});var n,i},c.precision=function(e){return arguments.length?(o.precision(e),s.precision(e),l.precision(e),f()):o.precision()},c.scale=function(e){return arguments.length?(o.scale(e),s.scale(.35*e),l.scale(e),c.translate(o.translate())):o.scale()},c.translate=function(e){if(!arguments.length)return o.translate();var t=o.scale(),a=+e[0],c=+e[1];return r=o.translate(e).clipExtent([[a-.455*t,c-.238*t],[a+.455*t,c+.238*t]]).stream(u),n=s.translate([a-.307*t,c+.201*t]).clipExtent([[a-.425*t+g.Ho,c+.12*t+g.Ho],[a-.214*t-g.Ho,c+.234*t-g.Ho]]).stream(u),i=l.translate([a-.205*t,c+.212*t]).clipExtent([[a-.214*t+g.Ho,c+.166*t+g.Ho],[a-.115*t-g.Ho,c+.234*t-g.Ho]]).stream(u),f()},c.fitExtent=function(e,t){return(0,Ye.qg)(c,e,t)},c.fitSize=function(e,t){return(0,Ye.mF)(c,e,t)},c.fitWidth=function(e,t){return(0,Ye.V6)(c,e,t)},c.fitHeight=function(e,t){return(0,Ye.rf)(c,e,t)},c.scale(1070)}var Ze=r(12956),Xe=r(17889),Ke=r(49386);function Je(e,t){return[e,(0,g.cM)((0,g.OR)((g.ou+t)/2))]}function $e(){return Qe(Je).scale(961/g.BZ)}function Qe(e){var t,r,n,i=(0,Ue.Z)(e),a=i.center,o=i.scale,s=i.translate,l=i.clipExtent,u=null;function c(){var a=g.pi*o(),s=i((0,Ke.Z)(i.rotate()).invert([0,0]));return l(null==u?[[s[0]-a,s[1]-a],[s[0]+a,s[1]+a]]:e===Je?[[Math.max(s[0]-a,u),t],[Math.min(s[0]+a,r),n]]:[[u,Math.max(s[1]-a,t)],[r,Math.min(s[1]+a,n)]])}return i.scale=function(e){return arguments.length?(o(e),c()):o()},i.translate=function(e){return arguments.length?(s(e),c()):s()},i.center=function(e){return arguments.length?(a(e),c()):a()},i.clipExtent=function(e){return arguments.length?(null==e?u=t=r=n=null:(u=+e[0][0],t=+e[0][1],r=+e[1][0],n=+e[1][1]),c()):null==u?null:[[u,t],[r,n]]},c()}function et(e){return(0,g.OR)((g.ou+e)/2)}function tt(e,t){var r=(0,g.mC)(e),n=e===t?(0,g.O$)(e):(0,g.cM)(r/(0,g.mC)(t))/(0,g.cM)(et(t)/et(e)),i=r*(0,g.sQ)(et(e),n)/n;if(!n)return Je;function a(e,t){i>0?t<-g.ou+g.Ho&&(t=-g.ou+g.Ho):t>g.ou-g.Ho&&(t=g.ou-g.Ho);var r=i/(0,g.sQ)(et(t),n);return[r*(0,g.O$)(n*e),i-r*(0,g.mC)(n*e)]}return a.invert=function(e,t){var r=i-t,a=(0,g.Xx)(n)*(0,g._b)(e*e+r*r),o=(0,g.fv)(e,(0,g.Wn)(r))*(0,g.Xx)(r);return r*n<0&&(o-=g.pi*(0,g.Xx)(e)*(0,g.Xx)(r)),[o/n,2*(0,g.z4)((0,g.sQ)(i/a,1/n))-g.ou]},a}function rt(){return Ve(tt).scale(109.5).parallels([30,30])}Je.invert=function(e,t){return[e,2*(0,g.z4)((0,g.Qq)(t))-g.ou]};var nt=r(97492);function it(e,t){var r=(0,g.mC)(e),n=e===t?(0,g.O$)(e):(r-(0,g.mC)(t))/(t-e),i=r/n+e;if((0,g.Wn)(n)<g.Ho)return nt.k;function a(e,t){var r=i-t,a=n*e;return[r*(0,g.O$)(a),i-r*(0,g.mC)(a)]}return a.invert=function(e,t){var r=i-t,a=(0,g.fv)(e,(0,g.Wn)(r))*(0,g.Xx)(r);return r*n<0&&(a-=g.pi*(0,g.Xx)(e)*(0,g.Xx)(r)),[a/n,i-(0,g.Xx)(n)*(0,g._b)(e*e+r*r)]},a}function at(){return Ve(it).scale(131.154).center([0,13.9389])}var ot=1.340264,st=-.081106,lt=893e-6,ut=.003796,ct=(0,g._b)(3)/2;function ft(e,t){var r=(0,g.ZR)(ct*(0,g.O$)(t)),n=r*r,i=n*n*n;return[e*(0,g.mC)(r)/(ct*(ot+3*st*n+i*(7*lt+9*ut*n))),r*(ot+st*n+i*(lt+ut*n))]}function ht(){return(0,Ue.Z)(ft).scale(177.158)}ft.invert=function(e,t){for(var r,n=t,i=n*n,a=i*i*i,o=0;o<12&&(a=(i=(n-=r=(n*(ot+st*i+a*(lt+ut*i))-t)/(ot+3*st*i+a*(7*lt+9*ut*i)))*n)*i*i,!((0,g.Wn)(r)<g.aW));++o);return[ct*e*(ot+3*st*i+a*(7*lt+9*ut*i))/(0,g.mC)(n),(0,g.ZR)((0,g.O$)(n)/ct)]};var pt=r(98936),dt=r(64684);function vt(){var e,t,r,n,i,a,o,s=1,l=0,c=0,f=1,h=1,p=0,d=null,v=1,m=1,y=(0,dt.l)({point:function(e,t){var r=_([e,t]);this.stream.point(r[0],r[1])}}),x=W.Z;function b(){return v=s*f,m=s*h,a=o=null,_}function _(r){var n=r[0]*v,i=r[1]*m;if(p){var a=i*e-n*t;n=n*e+i*t,i=a}return[n+l,i+c]}return _.invert=function(r){var n=r[0]-l,i=r[1]-c;if(p){var a=i*e+n*t;n=n*e-i*t,i=a}return[n/v,i/m]},_.stream=function(e){return a&&o===e?a:a=y(x(o=e))},_.postclip=function(e){return arguments.length?(x=e,d=r=n=i=null,b()):x},_.clipExtent=function(e){return arguments.length?(x=null==e?(d=r=n=i=null,W.Z):(0,u.Z)(d=+e[0][0],r=+e[0][1],n=+e[1][0],i=+e[1][1]),b()):null==d?null:[[d,r],[n,i]]},_.scale=function(e){return arguments.length?(s=+e,b()):s},_.translate=function(e){return arguments.length?(l=+e[0],c=+e[1],b()):[l,c]},_.angle=function(r){return arguments.length?(p=r%360*g.uR,t=(0,g.O$)(p),e=(0,g.mC)(p),b()):p*g.RW},_.reflectX=function(e){return arguments.length?(f=e?-1:1,b()):f<0},_.reflectY=function(e){return arguments.length?(h=e?-1:1,b()):h<0},_.fitExtent=function(e,t){return(0,Ye.qg)(_,e,t)},_.fitSize=function(e,t){return(0,Ye.mF)(_,e,t)},_.fitWidth=function(e,t){return(0,Ye.V6)(_,e,t)},_.fitHeight=function(e,t){return(0,Ye.rf)(_,e,t)},_}var gt=r(26867),mt=r(57962),yt=r(25382);function xt(e,t){var r=(0,g.mC)(t),n=1+(0,g.mC)(e)*r;return[r*(0,g.O$)(e)/n,(0,g.O$)(t)/n]}function bt(){return(0,Ue.Z)(xt).scale(250).clipAngle(142)}function _t(e,t){return[(0,g.cM)((0,g.OR)((g.ou+t)/2)),-e]}function wt(){var e=Qe(_t),t=e.center,r=e.rotate;return e.center=function(e){return arguments.length?t([-e[1],e[0]]):[(e=t())[1],-e[0]]},e.rotate=function(e){return arguments.length?r([e[0],e[1],e.length>2?e[2]+90:90]):[(e=r())[0],e[1],e[2]-90]},r([0,0,90]).scale(159.155)}xt.invert=(0,yt.O)((function(e){return 2*(0,g.z4)(e)})),_t.invert=function(e,t){return[-t,2*(0,g.z4)((0,g.Qq)(e))-g.ou]}},83074:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return i}});var n=r(39695);function i(e,t){var r=e[0]*n.uR,i=e[1]*n.uR,a=t[0]*n.uR,o=t[1]*n.uR,s=(0,n.mC)(i),l=(0,n.O$)(i),u=(0,n.mC)(o),c=(0,n.O$)(o),f=s*(0,n.mC)(r),h=s*(0,n.O$)(r),p=u*(0,n.mC)(a),d=u*(0,n.O$)(a),v=2*(0,n.ZR)((0,n._b)((0,n.Jy)(o-i)+s*u*(0,n.Jy)(a-r))),g=(0,n.O$)(v),m=v?function(e){var t=(0,n.O$)(e*=v)/g,r=(0,n.O$)(v-e)/g,i=r*f+t*p,a=r*h+t*d,o=r*l+t*c;return[(0,n.fv)(a,i)*n.RW,(0,n.fv)(o,(0,n._b)(i*i+a*a))*n.RW]}:function(){return[r*n.RW,i*n.RW]};return m.distance=v,m}},39695:function(e,t,r){\"use strict\";r.d(t,{BZ:function(){return l},Ho:function(){return n},Jy:function(){return M},Kh:function(){return k},O$:function(){return x},OR:function(){return w},Qq:function(){return g},RW:function(){return u},Wn:function(){return f},Xx:function(){return b},ZR:function(){return T},_b:function(){return _},aW:function(){return i},cM:function(){return m},fv:function(){return p},mC:function(){return d},mD:function(){return v},ou:function(){return o},pi:function(){return a},pu:function(){return s},sQ:function(){return y},uR:function(){return c},z4:function(){return h}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,u=180/a,c=a/180,f=Math.abs,h=Math.atan,p=Math.atan2,d=Math.cos,v=Math.ceil,g=Math.exp,m=(Math.floor,Math.log),y=Math.pow,x=Math.sin,b=Math.sign||function(e){return e>0?1:e<0?-1:0},_=Math.sqrt,w=Math.tan;function k(e){return e>1?0:e<-1?a:Math.acos(e)}function T(e){return e>1?o:e<-1?-o:Math.asin(e)}function M(e){return(e=x(e/2))*e}},73182:function(e,t,r){\"use strict\";function n(){}r.d(t,{Z:function(){return n}})},3559:function(e,t,r){\"use strict\";var n=r(73182),i=1/0,a=i,o=-i,s=o,l={point:function(e,t){e<i&&(i=e),e>o&&(o=e),t<a&&(a=t),t>s&&(s=t)},lineStart:n.Z,lineEnd:n.Z,polygonStart:n.Z,polygonEnd:n.Z,result:function(){var e=[[i,a],[o,s]];return o=s=-(a=i=1/0),e}};t.Z=l},67108:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return i}});var n=r(39695);function i(e,t){return(0,n.Wn)(e[0]-t[0])<n.Ho&&(0,n.Wn)(e[1]-t[1])<n.Ho}},23071:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return l}});var n=r(33940),i=r(7620),a=r(39695),o=(0,n.Z)();function s(e){return(0,a.Wn)(e[0])<=a.pi?e[0]:(0,a.Xx)(e[0])*(((0,a.Wn)(e[0])+a.pi)%a.BZ-a.pi)}function l(e,t){var r=s(t),n=t[1],l=(0,a.O$)(n),u=[(0,a.O$)(r),-(0,a.mC)(r),0],c=0,f=0;o.reset(),1===l?n=a.ou+a.Ho:-1===l&&(n=-a.ou-a.Ho);for(var h=0,p=e.length;h<p;++h)if(v=(d=e[h]).length)for(var d,v,g=d[v-1],m=s(g),y=g[1]/2+a.pu,x=(0,a.O$)(y),b=(0,a.mC)(y),_=0;_<v;++_,m=k,x=M,b=A,g=w){var w=d[_],k=s(w),T=w[1]/2+a.pu,M=(0,a.O$)(T),A=(0,a.mC)(T),S=k-m,E=S>=0?1:-1,C=E*S,L=C>a.pi,P=x*M;if(o.add((0,a.fv)(P*E*(0,a.O$)(C),b*A+P*(0,a.mC)(C))),c+=L?S+E*a.BZ:S,L^m>=r^k>=r){var O=(0,i.T5)((0,i.Og)(g),(0,i.Og)(w));(0,i.iJ)(O);var I=(0,i.T5)(u,O);(0,i.iJ)(I);var D=(L^S>=0?-1:1)*(0,a.ZR)(I[2]);(n>D||n===D&&(O[0]||O[1]))&&(f+=L^S>=0?1:-1)}}return(c<-a.Ho||c<a.Ho&&o<-a.Ho)^1&f}},25382:function(e,t,r){\"use strict\";r.d(t,{O:function(){return a},W:function(){return i}});var n=r(39695);function i(e){return function(t,r){var i=(0,n.mC)(t),a=(0,n.mC)(r),o=e(i*a);return[o*a*(0,n.O$)(t),o*(0,n.O$)(r)]}}function a(e){return function(t,r){var i=(0,n._b)(t*t+r*r),a=e(i),o=(0,n.O$)(a),s=(0,n.mC)(a);return[(0,n.fv)(t*o,i*s),(0,n.ZR)(i&&r*o/i)]}}},12956:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return s},l:function(){return o}});var n=r(39695),i=r(25382),a=r(15002),o=(0,i.W)((function(e){return(0,n._b)(2/(1+e))}));function s(){return(0,a.Z)(o).scale(124.75).clipAngle(179.999)}o.invert=(0,i.O)((function(e){return 2*(0,n.ZR)(e/2)}))},17889:function(e,t,r){\"use strict\";r.d(t,{N:function(){return o},Z:function(){return s}});var n=r(39695),i=r(25382),a=r(15002),o=(0,i.W)((function(e){return(e=(0,n.Kh)(e))&&e/(0,n.O$)(e)}));function s(){return(0,a.Z)(o).scale(79.4188).clipAngle(179.999)}o.invert=(0,i.O)((function(e){return e}))},97492:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return a},k:function(){return i}});var n=r(15002);function i(e,t){return[e,t]}function a(){return(0,n.Z)(i).scale(152.63)}i.invert=i},47589:function(e,t,r){\"use strict\";r.d(t,{V6:function(){return l},mF:function(){return s},qg:function(){return o},rf:function(){return u}});var n=r(72736),i=r(3559);function a(e,t,r){var a=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=a&&e.clipExtent(null),(0,n.Z)(r,e.stream(i.Z)),t(i.Z.result()),null!=a&&e.clipExtent(a),e}function o(e,t,r){return a(e,(function(r){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=Math.min(n/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),o=+t[0][0]+(n-a*(r[1][0]+r[0][0]))/2,s=+t[0][1]+(i-a*(r[1][1]+r[0][1]))/2;e.scale(150*a).translate([o,s])}),r)}function s(e,t,r){return o(e,[[0,0],t],r)}function l(e,t,r){return a(e,(function(r){var n=+t,i=n/(r[1][0]-r[0][0]),a=(n-i*(r[1][0]+r[0][0]))/2,o=-i*r[0][1];e.scale(150*i).translate([a,o])}),r)}function u(e,t,r){return a(e,(function(r){var n=+t,i=n/(r[1][1]-r[0][1]),a=-i*r[0][0],o=(n-i*(r[1][1]+r[0][1]))/2;e.scale(150*i).translate([a,o])}),r)}},98936:function(e,t,r){\"use strict\";r.d(t,{M:function(){return o},Z:function(){return s}});var n=r(39695),i=r(25382),a=r(15002);function o(e,t){var r=(0,n.mC)(t),i=(0,n.mC)(e)*r;return[r*(0,n.O$)(e)/i,(0,n.O$)(t)/i]}function s(){return(0,a.Z)(o).scale(144.049).clipAngle(60)}o.invert=(0,i.O)(n.z4)},15002:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return x},r:function(){return b}});var n=r(87070),i=r(1457),a=r(87605),o=r(96059),s=r(8593),l=r(39695),u=r(49386),c=r(64684),f=r(47589),h=r(7620),p=16,d=(0,l.mC)(30*l.uR);function v(e,t){return+t?function(e,t){function r(n,i,a,o,s,u,c,f,h,p,v,g,m,y){var x=c-n,b=f-i,_=x*x+b*b;if(_>4*t&&m--){var w=o+p,k=s+v,T=u+g,M=(0,l._b)(w*w+k*k+T*T),A=(0,l.ZR)(T/=M),S=(0,l.Wn)((0,l.Wn)(T)-1)<l.Ho||(0,l.Wn)(a-h)<l.Ho?(a+h)/2:(0,l.fv)(k,w),E=e(S,A),C=E[0],L=E[1],P=C-n,O=L-i,I=b*P-x*O;(I*I/_>t||(0,l.Wn)((x*P+b*O)/_-.5)>.3||o*p+s*v+u*g<d)&&(r(n,i,a,o,s,u,C,L,S,w/=M,k/=M,T,m,y),y.point(C,L),r(C,L,S,w,k,T,c,f,h,p,v,g,m,y))}}return function(t){var n,i,a,o,s,l,u,c,f,d,v,g,m={point:y,lineStart:x,lineEnd:_,polygonStart:function(){t.polygonStart(),m.lineStart=w},polygonEnd:function(){t.polygonEnd(),m.lineStart=x}};function y(r,n){r=e(r,n),t.point(r[0],r[1])}function x(){c=NaN,m.point=b,t.lineStart()}function b(n,i){var a=(0,h.Og)([n,i]),o=e(n,i);r(c,f,u,d,v,g,c=o[0],f=o[1],u=n,d=a[0],v=a[1],g=a[2],p,t),t.point(c,f)}function _(){m.point=y,t.lineEnd()}function w(){x(),m.point=k,m.lineEnd=T}function k(e,t){b(n=e,t),i=c,a=f,o=d,s=v,l=g,m.point=b}function T(){r(c,f,u,d,v,g,i,a,n,o,s,l,p,t),m.lineEnd=_,_()}return m}}(e,t):function(e){return(0,c.l)({point:function(t,r){t=e(t,r),this.stream.point(t[0],t[1])}})}(e)}var g=(0,c.l)({point:function(e,t){this.stream.point(e*l.uR,t*l.uR)}});function m(e,t,r,n,i){function a(a,o){return[t+e*(a*=n),r-e*(o*=i)]}return a.invert=function(a,o){return[(a-t)/e*n,(r-o)/e*i]},a}function y(e,t,r,n,i,a){var o=(0,l.mC)(a),s=(0,l.O$)(a),u=o*e,c=s*e,f=o/e,h=s/e,p=(s*r-o*t)/e,d=(s*t+o*r)/e;function v(e,a){return[u*(e*=n)-c*(a*=i)+t,r-c*e-u*a]}return v.invert=function(e,t){return[n*(f*e-h*t+p),i*(d-h*e-f*t)]},v}function x(e){return b((function(){return e}))()}function b(e){var t,r,h,p,d,x,b,_,w,k,T=150,M=480,A=250,S=0,E=0,C=0,L=0,P=0,O=0,I=1,D=1,z=null,R=n.Z,F=null,B=s.Z,N=.5;function j(e){return _(e[0]*l.uR,e[1]*l.uR)}function U(e){return(e=_.invert(e[0],e[1]))&&[e[0]*l.RW,e[1]*l.RW]}function V(){var e=y(T,0,0,I,D,O).apply(null,t(S,E)),n=(O?y:m)(T,M-e[0],A-e[1],I,D,O);return r=(0,u.I)(C,L,P),b=(0,o.Z)(t,n),_=(0,o.Z)(r,b),x=v(b,N),H()}function H(){return w=k=null,j}return j.stream=function(e){return w&&k===e?w:w=g(function(e){return(0,c.l)({point:function(t,r){var n=e(t,r);return this.stream.point(n[0],n[1])}})}(r)(R(x(B(k=e)))))},j.preclip=function(e){return arguments.length?(R=e,z=void 0,H()):R},j.postclip=function(e){return arguments.length?(B=e,F=h=p=d=null,H()):B},j.clipAngle=function(e){return arguments.length?(R=+e?(0,i.Z)(z=e*l.uR):(z=null,n.Z),H()):z*l.RW},j.clipExtent=function(e){return arguments.length?(B=null==e?(F=h=p=d=null,s.Z):(0,a.Z)(F=+e[0][0],h=+e[0][1],p=+e[1][0],d=+e[1][1]),H()):null==F?null:[[F,h],[p,d]]},j.scale=function(e){return arguments.length?(T=+e,V()):T},j.translate=function(e){return arguments.length?(M=+e[0],A=+e[1],V()):[M,A]},j.center=function(e){return arguments.length?(S=e[0]%360*l.uR,E=e[1]%360*l.uR,V()):[S*l.RW,E*l.RW]},j.rotate=function(e){return arguments.length?(C=e[0]%360*l.uR,L=e[1]%360*l.uR,P=e.length>2?e[2]%360*l.uR:0,V()):[C*l.RW,L*l.RW,P*l.RW]},j.angle=function(e){return arguments.length?(O=e%360*l.uR,V()):O*l.RW},j.reflectX=function(e){return arguments.length?(I=e?-1:1,V()):I<0},j.reflectY=function(e){return arguments.length?(D=e?-1:1,V()):D<0},j.precision=function(e){return arguments.length?(x=v(b,N=e*e),H()):(0,l._b)(N)},j.fitExtent=function(e,t){return(0,f.qg)(j,e,t)},j.fitSize=function(e,t){return(0,f.mF)(j,e,t)},j.fitWidth=function(e,t){return(0,f.V6)(j,e,t)},j.fitHeight=function(e,t){return(0,f.rf)(j,e,t)},function(){return t=e.apply(this,arguments),j.invert=t.invert&&U,V()}}},26867:function(e,t,r){\"use strict\";r.d(t,{K:function(){return a},Z:function(){return o}});var n=r(15002),i=r(39695);function a(e,t){var r=t*t,n=r*r;return[e*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),t*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.Z)(a).scale(175.295)}a.invert=function(e,t){var r,n=t,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-t)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.Wn)(r)>i.Ho&&--a>0);return[e/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},57962:function(e,t,r){\"use strict\";r.d(t,{I:function(){return o},Z:function(){return s}});var n=r(39695),i=r(25382),a=r(15002);function o(e,t){return[(0,n.mC)(t)*(0,n.O$)(e),(0,n.O$)(t)]}function s(){return(0,a.Z)(o).scale(249.5).clipAngle(90+n.Ho)}o.invert=(0,i.O)(n.ZR)},49386:function(e,t,r){\"use strict\";r.d(t,{I:function(){return o},Z:function(){return c}});var n=r(96059),i=r(39695);function a(e,t){return[(0,i.Wn)(e)>i.pi?e+Math.round(-e/i.BZ)*i.BZ:e,t]}function o(e,t,r){return(e%=i.BZ)?t||r?(0,n.Z)(l(e),u(t,r)):l(e):t||r?u(t,r):a}function s(e){return function(t,r){return[(t+=e)>i.pi?t-i.BZ:t<-i.pi?t+i.BZ:t,r]}}function l(e){var t=s(e);return t.invert=s(-e),t}function u(e,t){var r=(0,i.mC)(e),n=(0,i.O$)(e),a=(0,i.mC)(t),o=(0,i.O$)(t);function s(e,t){var s=(0,i.mC)(t),l=(0,i.mC)(e)*s,u=(0,i.O$)(e)*s,c=(0,i.O$)(t),f=c*r+l*n;return[(0,i.fv)(u*a-f*o,l*r-c*n),(0,i.ZR)(f*a+u*o)]}return s.invert=function(e,t){var s=(0,i.mC)(t),l=(0,i.mC)(e)*s,u=(0,i.O$)(e)*s,c=(0,i.O$)(t),f=c*a-u*o;return[(0,i.fv)(u*a+c*o,l*r+f*n),(0,i.ZR)(f*r-l*n)]},s}function c(e){function t(t){return(t=e(t[0]*i.uR,t[1]*i.uR))[0]*=i.RW,t[1]*=i.RW,t}return e=o(e[0]*i.uR,e[1]*i.uR,e.length>2?e[2]*i.uR:0),t.invert=function(t){return(t=e.invert(t[0]*i.uR,t[1]*i.uR))[0]*=i.RW,t[1]*=i.RW,t},t}a.invert=a},72736:function(e,t,r){\"use strict\";function n(e,t){e&&a.hasOwnProperty(e.type)&&a[e.type](e,t)}r.d(t,{Z:function(){return l}});var i={Feature:function(e,t){n(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,i=-1,a=r.length;++i<a;)n(r[i].geometry,t)}},a={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var r=e.coordinates,n=-1,i=r.length;++n<i;)e=r[n],t.point(e[0],e[1],e[2])},LineString:function(e,t){o(e.coordinates,t,0)},MultiLineString:function(e,t){for(var r=e.coordinates,n=-1,i=r.length;++n<i;)o(r[n],t,0)},Polygon:function(e,t){s(e.coordinates,t)},MultiPolygon:function(e,t){for(var r=e.coordinates,n=-1,i=r.length;++n<i;)s(r[n],t)},GeometryCollection:function(e,t){for(var r=e.geometries,i=-1,a=r.length;++i<a;)n(r[i],t)}};function o(e,t,r){var n,i=-1,a=e.length-r;for(t.lineStart();++i<a;)n=e[i],t.point(n[0],n[1],n[2]);t.lineEnd()}function s(e,t){var r=-1,n=e.length;for(t.polygonStart();++r<n;)o(e[r],t,1);t.polygonEnd()}function l(e,t){e&&i.hasOwnProperty(e.type)?i[e.type](e,t):n(e,t)}},64684:function(e,t,r){\"use strict\";function n(e){return{stream:i(e)}}function i(e){return function(t){var r=new a;for(var n in e)r[n]=e[n];return r.stream=t,r}}function a(){}r.d(t,{Z:function(){return n},l:function(){return i}}),a.prototype={constructor:a,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}}},674:function(e,t,r){\"use strict\";function n(e,t){return e.parent===t.parent?1:2}function i(e,t){return e+t.x}function a(e,t){return Math.max(e,t.y)}function o(){var e=n,t=1,r=1,o=!1;function s(n){var s,l=0;n.eachAfter((function(t){var r=t.children;r?(t.x=function(e){return e.reduce(i,0)/e.length}(r),t.y=function(e){return 1+e.reduce(a,0)}(r)):(t.x=s?l+=e(t,s):0,t.y=0,s=t)}));var u=function(e){for(var t;t=e.children;)e=t[0];return e}(n),c=function(e){for(var t;t=e.children;)e=t[t.length-1];return e}(n),f=u.x-e(u,c)/2,h=c.x+e(c,u)/2;return n.eachAfter(o?function(e){e.x=(e.x-n.x)*t,e.y=(n.y-e.y)*r}:function(e){e.x=(e.x-f)/(h-f)*t,e.y=(1-(n.y?e.y/n.y:1))*r})}return s.separation=function(t){return arguments.length?(e=t,s):e},s.size=function(e){return arguments.length?(o=!1,t=+e[0],r=+e[1],s):o?null:[t,r]},s.nodeSize=function(e){return arguments.length?(o=!0,t=+e[0],r=+e[1],s):o?[t,r]:null},s}function s(e){var t=0,r=e.children,n=r&&r.length;if(n)for(;--n>=0;)t+=r[n].value;else t=1;e.value=t}function l(e,t){var r,n,i,a,o,s=new h(e),l=+e.value&&(s.value=e.value),c=[s];for(null==t&&(t=u);r=c.pop();)if(l&&(r.value=+r.data.value),(i=t(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)c.push(n=r.children[a]=new h(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(f)}function u(e){return e.children}function c(e){e.data=e.data.data}function f(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function h(e){this.data=e,this.depth=this.height=0,this.parent=null}r.r(t),r.d(t,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return O},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return B},stratify:function(){return q},tree:function(){return J},treemap:function(){return re},treemapBinary:function(){return ne},treemapDice:function(){return F},treemapResquarify:function(){return ae},treemapSlice:function(){return $},treemapSliceDice:function(){return ie},treemapSquarify:function(){return te}}),h.prototype=l.prototype={constructor:h,count:function(){return this.eachAfter(s)},each:function(e){var t,r,n,i,a=this,o=[a];do{for(t=o.reverse(),o=[];a=t.pop();)if(e(a),r=a.children)for(n=0,i=r.length;n<i;++n)o.push(r[n])}while(o.length);return this},eachAfter:function(e){for(var t,r,n,i=this,a=[i],o=[];i=a.pop();)if(o.push(i),t=i.children)for(r=0,n=t.length;r<n;++r)a.push(t[r]);for(;i=o.pop();)e(i);return this},eachBefore:function(e){for(var t,r,n=this,i=[n];n=i.pop();)if(e(n),t=n.children)for(r=t.length-1;r>=0;--r)i.push(t[r]);return this},sum:function(e){return this.eachAfter((function(t){for(var r=+e(t.data)||0,n=t.children,i=n&&n.length;--i>=0;)r+=n[i].value;t.value=r}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,r=function(e,t){if(e===t)return e;var r=e.ancestors(),n=t.ancestors(),i=null;for(e=r.pop(),t=n.pop();e===t;)i=e,e=r.pop(),t=n.pop();return i}(t,e),n=[t];t!==r;)t=t.parent,n.push(t);for(var i=n.length;e!==r;)n.splice(i,0,e),e=e.parent;return n},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){var e=[];return this.each((function(t){e.push(t)})),e},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(r){r!==e&&t.push({source:r.parent,target:r})})),t},copy:function(){return l(this).eachBefore(c)}};var p=Array.prototype.slice;function d(e){for(var t,r,n=0,i=(e=function(e){for(var t,r,n=e.length;n;)r=Math.random()*n--|0,t=e[n],e[n]=e[r],e[r]=t;return e}(p.call(e))).length,a=[];n<i;)t=e[n],r&&m(r,t)?++n:(r=x(a=v(a,t)),n=0);return r}function v(e,t){var r,n;if(y(t,e))return[t];for(r=0;r<e.length;++r)if(g(t,e[r])&&y(b(e[r],t),e))return[e[r],t];for(r=0;r<e.length-1;++r)for(n=r+1;n<e.length;++n)if(g(b(e[r],e[n]),t)&&g(b(e[r],t),e[n])&&g(b(e[n],t),e[r])&&y(_(e[r],e[n],t),e))return[e[r],e[n],t];throw new Error}function g(e,t){var r=e.r-t.r,n=t.x-e.x,i=t.y-e.y;return r<0||r*r<n*n+i*i}function m(e,t){var r=e.r-t.r+1e-6,n=t.x-e.x,i=t.y-e.y;return r>0&&r*r>n*n+i*i}function y(e,t){for(var r=0;r<t.length;++r)if(!m(e,t[r]))return!1;return!0}function x(e){switch(e.length){case 1:return{x:(t=e[0]).x,y:t.y,r:t.r};case 2:return b(e[0],e[1]);case 3:return _(e[0],e[1],e[2])}var t}function b(e,t){var r=e.x,n=e.y,i=e.r,a=t.x,o=t.y,s=t.r,l=a-r,u=o-n,c=s-i,f=Math.sqrt(l*l+u*u);return{x:(r+a+l/f*c)/2,y:(n+o+u/f*c)/2,r:(f+i+s)/2}}function _(e,t,r){var n=e.x,i=e.y,a=e.r,o=t.x,s=t.y,l=t.r,u=r.x,c=r.y,f=r.r,h=n-o,p=n-u,d=i-s,v=i-c,g=l-a,m=f-a,y=n*n+i*i-a*a,x=y-o*o-s*s+l*l,b=y-u*u-c*c+f*f,_=p*d-h*v,w=(d*b-v*x)/(2*_)-n,k=(v*g-d*m)/_,T=(p*x-h*b)/(2*_)-i,M=(h*m-p*g)/_,A=k*k+M*M-1,S=2*(a+w*k+T*M),E=w*w+T*T-a*a,C=-(A?(S+Math.sqrt(S*S-4*A*E))/(2*A):E/S);return{x:n+w+k*C,y:i+T+M*C,r:C}}function w(e,t,r){var n,i,a,o,s=e.x-t.x,l=e.y-t.y,u=s*s+l*l;u?(i=t.r+r.r,i*=i,o=e.r+r.r,i>(o*=o)?(n=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-n*n)),r.x=e.x-n*s-a*l,r.y=e.y-n*l+a*s):(n=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-n*n)),r.x=t.x+n*s-a*l,r.y=t.y+n*l+a*s)):(r.x=t.x+r.r,r.y=t.y)}function k(e,t){var r=e.r+t.r-1e-6,n=t.x-e.x,i=t.y-e.y;return r>0&&r*r>n*n+i*i}function T(e){var t=e._,r=e.next._,n=t.r+r.r,i=(t.x*r.r+r.x*t.r)/n,a=(t.y*r.r+r.y*t.r)/n;return i*i+a*a}function M(e){this._=e,this.next=null,this.previous=null}function A(e){if(!(i=e.length))return 0;var t,r,n,i,a,o,s,l,u,c,f;if((t=e[0]).x=0,t.y=0,!(i>1))return t.r;if(r=e[1],t.x=-r.r,r.x=t.r,r.y=0,!(i>2))return t.r+r.r;w(r,t,n=e[2]),t=new M(t),r=new M(r),n=new M(n),t.next=n.previous=r,r.next=t.previous=n,n.next=r.previous=t;e:for(s=3;s<i;++s){w(t._,r._,n=e[s]),n=new M(n),l=r.next,u=t.previous,c=r._.r,f=t._.r;do{if(c<=f){if(k(l._,n._)){r=l,t.next=r,r.previous=t,--s;continue e}c+=l._.r,l=l.next}else{if(k(u._,n._)){(t=u).next=r,r.previous=t,--s;continue e}f+=u._.r,u=u.previous}}while(l!==u.next);for(n.previous=t,n.next=r,t.next=r.previous=r=n,a=T(t);(n=n.next)!==r;)(o=T(n))<a&&(t=n,a=o);r=t.next}for(t=[r._],n=r;(n=n.next)!==r;)t.push(n._);for(n=d(t),s=0;s<i;++s)(t=e[s]).x-=n.x,t.y-=n.y;return n.r}function S(e){return A(e),e}function E(e){if(\"function\"!=typeof e)throw new Error;return e}function C(){return 0}function L(e){return function(){return e}}function P(e){return Math.sqrt(e.value)}function O(){var e=null,t=1,r=1,n=C;function i(i){return i.x=t/2,i.y=r/2,e?i.eachBefore(I(e)).eachAfter(D(n,.5)).eachBefore(z(1)):i.eachBefore(I(P)).eachAfter(D(C,1)).eachAfter(D(n,i.r/Math.min(t,r))).eachBefore(z(Math.min(t,r)/(2*i.r))),i}return i.radius=function(t){return arguments.length?(e=null==(r=t)?null:E(r),i):e;var r},i.size=function(e){return arguments.length?(t=+e[0],r=+e[1],i):[t,r]},i.padding=function(e){return arguments.length?(n=\"function\"==typeof e?e:L(+e),i):n},i}function I(e){return function(t){t.children||(t.r=Math.max(0,+e(t)||0))}}function D(e,t){return function(r){if(n=r.children){var n,i,a,o=n.length,s=e(r)*t||0;if(s)for(i=0;i<o;++i)n[i].r+=s;if(a=A(n),s)for(i=0;i<o;++i)n[i].r-=s;r.r=a+s}}}function z(e){return function(t){var r=t.parent;t.r*=e,r&&(t.x=r.x+e*t.x,t.y=r.y+e*t.y)}}function R(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function F(e,t,r,n,i){for(var a,o=e.children,s=-1,l=o.length,u=e.value&&(n-t)/e.value;++s<l;)(a=o[s]).y0=r,a.y1=i,a.x0=t,a.x1=t+=a.value*u}function B(){var e=1,t=1,r=0,n=!1;function i(i){var a=i.height+1;return i.x0=i.y0=r,i.x1=e,i.y1=t/a,i.eachBefore(function(e,t){return function(n){n.children&&F(n,n.x0,e*(n.depth+1)/t,n.x1,e*(n.depth+2)/t);var i=n.x0,a=n.y0,o=n.x1-r,s=n.y1-r;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),n.x0=i,n.y0=a,n.x1=o,n.y1=s}}(t,a)),n&&i.eachBefore(R),i}return i.round=function(e){return arguments.length?(n=!!e,i):n},i.size=function(r){return arguments.length?(e=+r[0],t=+r[1],i):[e,t]},i.padding=function(e){return arguments.length?(r=+e,i):r},i}var N=\"$\",j={depth:-1},U={};function V(e){return e.id}function H(e){return e.parentId}function q(){var e=V,t=H;function r(r){var n,i,a,o,s,l,u,c=r.length,p=new Array(c),d={};for(i=0;i<c;++i)n=r[i],s=p[i]=new h(n),null!=(l=e(n,i,r))&&(l+=\"\")&&(d[u=N+(s.id=l)]=u in d?U:s);for(i=0;i<c;++i)if(s=p[i],null!=(l=t(r[i],i,r))&&(l+=\"\")){if(!(o=d[N+l]))throw new Error(\"missing: \"+l);if(o===U)throw new Error(\"ambiguous: \"+l);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(a)throw new Error(\"multiple roots\");a=s}if(!a)throw new Error(\"no root\");if(a.parent=j,a.eachBefore((function(e){e.depth=e.parent.depth+1,--c})).eachBefore(f),a.parent=null,c>0)throw new Error(\"cycle\");return a}return r.id=function(t){return arguments.length?(e=E(t),r):e},r.parentId=function(e){return arguments.length?(t=E(e),r):t},r}function G(e,t){return e.parent===t.parent?1:2}function Y(e){var t=e.children;return t?t[0]:e.t}function W(e){var t=e.children;return t?t[t.length-1]:e.t}function Z(e,t,r){var n=r/(t.i-e.i);t.c-=n,t.s+=r,e.c+=n,t.z+=r,t.m+=r}function X(e,t,r){return e.a.parent===t.parent?e.a:r}function K(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}function J(){var e=G,t=1,r=1,n=null;function i(i){var l=function(e){for(var t,r,n,i,a,o=new K(e,0),s=[o];t=s.pop();)if(n=t._.children)for(t.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=t.children[i]=new K(n[i],i)),r.parent=t;return(o.parent=new K(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var u=i,c=i,f=i;i.eachBefore((function(e){e.x<u.x&&(u=e),e.x>c.x&&(c=e),e.depth>f.depth&&(f=e)}));var h=u===c?1:e(u,c)/2,p=h-u.x,d=t/(c.x+h+p),v=r/(f.depth||1);i.eachBefore((function(e){e.x=(e.x+p)*d,e.y=e.depth*v}))}return i}function a(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r){!function(e){for(var t,r=0,n=0,i=e.children,a=i.length;--a>=0;)(t=i[a]).z+=r,t.m+=r,r+=t.s+(n+=t.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=W(s),a=Y(a),s&&a;)l=Y(l),(o=W(o)).a=t,(i=s.z+f-a.z-u+e(s._,a._))>0&&(Z(X(s,t,n),t,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!W(o)&&(o.t=s,o.m+=f-c),a&&!Y(l)&&(l.t=a,l.m+=u-h,n=t)}return n}(t,i,t.parent.A||n[0])}function o(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function s(e){e.x*=t,e.y=e.depth*r}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(n=!1,t=+e[0],r=+e[1],i):n?null:[t,r]},i.nodeSize=function(e){return arguments.length?(n=!0,t=+e[0],r=+e[1],i):n?[t,r]:null},i}function $(e,t,r,n,i){for(var a,o=e.children,s=-1,l=o.length,u=e.value&&(i-r)/e.value;++s<l;)(a=o[s]).x0=t,a.x1=n,a.y0=r,a.y1=r+=a.value*u}K.prototype=Object.create(h.prototype);var Q=(1+Math.sqrt(5))/2;function ee(e,t,r,n,i,a){for(var o,s,l,u,c,f,h,p,d,v,g,m=[],y=t.children,x=0,b=0,_=y.length,w=t.value;x<_;){l=i-r,u=a-n;do{c=y[b++].value}while(!c&&b<_);for(f=h=c,g=c*c*(v=Math.max(u/l,l/u)/(w*e)),d=Math.max(h/g,g/f);b<_;++b){if(c+=s=y[b].value,s<f&&(f=s),s>h&&(h=s),g=c*c*v,(p=Math.max(h/g,g/f))>d){c-=s;break}d=p}m.push(o={value:c,dice:l<u,children:y.slice(x,b)}),o.dice?F(o,r,n,i,w?n+=u*c/w:a):$(o,r,n,w?r+=l*c/w:i,a),w-=c,x=b}return m}var te=function e(t){function r(e,r,n,i,a){ee(t,e,r,n,i,a)}return r.ratio=function(t){return e((t=+t)>1?t:1)},r}(Q);function re(){var e=te,t=!1,r=1,n=1,i=[0],a=C,o=C,s=C,l=C,u=C;function c(e){return e.x0=e.y0=0,e.x1=r,e.y1=n,e.eachBefore(f),i=[0],t&&e.eachBefore(R),e}function f(t){var r=i[t.depth],n=t.x0+r,c=t.y0+r,f=t.x1-r,h=t.y1-r;f<n&&(n=f=(n+f)/2),h<c&&(c=h=(c+h)/2),t.x0=n,t.y0=c,t.x1=f,t.y1=h,t.children&&(r=i[t.depth+1]=a(t)/2,n+=u(t)-r,c+=o(t)-r,(f-=s(t)-r)<n&&(n=f=(n+f)/2),(h-=l(t)-r)<c&&(c=h=(c+h)/2),e(t,n,c,f,h))}return c.round=function(e){return arguments.length?(t=!!e,c):t},c.size=function(e){return arguments.length?(r=+e[0],n=+e[1],c):[r,n]},c.tile=function(t){return arguments.length?(e=E(t),c):e},c.padding=function(e){return arguments.length?c.paddingInner(e).paddingOuter(e):c.paddingInner()},c.paddingInner=function(e){return arguments.length?(a=\"function\"==typeof e?e:L(+e),c):a},c.paddingOuter=function(e){return arguments.length?c.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):c.paddingTop()},c.paddingTop=function(e){return arguments.length?(o=\"function\"==typeof e?e:L(+e),c):o},c.paddingRight=function(e){return arguments.length?(s=\"function\"==typeof e?e:L(+e),c):s},c.paddingBottom=function(e){return arguments.length?(l=\"function\"==typeof e?e:L(+e),c):l},c.paddingLeft=function(e){return arguments.length?(u=\"function\"==typeof e?e:L(+e),c):u},c}function ne(e,t,r,n,i){var a,o,s=e.children,l=s.length,u=new Array(l+1);for(u[0]=o=a=0;a<l;++a)u[a+1]=o+=s[a].value;!function e(t,r,n,i,a,o,l){if(t>=r-1){var c=s[t];return c.x0=i,c.y0=a,c.x1=o,void(c.y1=l)}for(var f=u[t],h=n/2+f,p=t+1,d=r-1;p<d;){var v=p+d>>>1;u[v]<h?p=v+1:d=v}h-u[p-1]<u[p]-h&&t+1<p&&--p;var g=u[p]-f,m=n-g;if(o-i>l-a){var y=(i*m+o*g)/n;e(t,p,g,i,a,y,l),e(p,r,m,y,a,o,l)}else{var x=(a*m+l*g)/n;e(t,p,g,i,a,o,x),e(p,r,m,i,x,o,l)}}(0,l,e.value,t,r,n,i)}function ie(e,t,r,n,i){(1&e.depth?$:F)(e,t,r,n,i)}var ae=function e(t){function r(e,r,n,i,a){if((o=e._squarify)&&o.ratio===t)for(var o,s,l,u,c,f=-1,h=o.length,p=e.value;++f<h;){for(l=(s=o[f]).children,u=s.value=0,c=l.length;u<c;++u)s.value+=l[u].value;s.dice?F(s,r,n,i,n+=(a-n)*s.value/p):$(s,r,n,r+=(i-r)*s.value/p,a),p-=s.value}else e._squarify=o=ee(t,e,r,n,i,a),o.ratio=t}return r.ratio=function(t){return e((t=+t)>1?t:1)},r}(Q)},45879:function(e,t,r){\"use strict\";r.d(t,{h5:function(){return m}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(e,t){this._+=\"M\"+(this._x0=this._x1=+e)+\",\"+(this._y0=this._y1=+t)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(e,t){this._+=\"L\"+(this._x1=+e)+\",\"+(this._y1=+t)},quadraticCurveTo:function(e,t,r,n){this._+=\"Q\"+ +e+\",\"+ +t+\",\"+(this._x1=+r)+\",\"+(this._y1=+n)},bezierCurveTo:function(e,t,r,n,i,a){this._+=\"C\"+ +e+\",\"+ +t+\",\"+ +r+\",\"+ +n+\",\"+(this._x1=+i)+\",\"+(this._y1=+a)},arcTo:function(e,t,r,i,o){e=+e,t=+t,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,u=r-e,c=i-t,f=s-e,h=l-t,p=f*f+h*h;if(o<0)throw new Error(\"negative radius: \"+o);if(null===this._x1)this._+=\"M\"+(this._x1=e)+\",\"+(this._y1=t);else if(p>a)if(Math.abs(h*u-c*f)>a&&o){var d=r-s,v=i-l,g=u*u+c*c,m=d*d+v*v,y=Math.sqrt(g),x=Math.sqrt(p),b=o*Math.tan((n-Math.acos((g+p-m)/(2*y*x)))/2),_=b/x,w=b/y;Math.abs(_-1)>a&&(this._+=\"L\"+(e+_*f)+\",\"+(t+_*h)),this._+=\"A\"+o+\",\"+o+\",0,0,\"+ +(h*d>f*v)+\",\"+(this._x1=e+w*u)+\",\"+(this._y1=t+w*c)}else this._+=\"L\"+(this._x1=e)+\",\"+(this._y1=t)},arc:function(e,t,r,s,l,u){e=+e,t=+t,u=!!u;var c=(r=+r)*Math.cos(s),f=r*Math.sin(s),h=e+c,p=t+f,d=1^u,v=u?s-l:l-s;if(r<0)throw new Error(\"negative radius: \"+r);null===this._x1?this._+=\"M\"+h+\",\"+p:(Math.abs(this._x1-h)>a||Math.abs(this._y1-p)>a)&&(this._+=\"L\"+h+\",\"+p),r&&(v<0&&(v=v%i+i),v>o?this._+=\"A\"+r+\",\"+r+\",0,1,\"+d+\",\"+(e-c)+\",\"+(t-f)+\"A\"+r+\",\"+r+\",0,1,\"+d+\",\"+(this._x1=h)+\",\"+(this._y1=p):v>a&&(this._+=\"A\"+r+\",\"+r+\",0,\"+ +(v>=n)+\",\"+d+\",\"+(this._x1=e+r*Math.cos(l))+\",\"+(this._y1=t+r*Math.sin(l))))},rect:function(e,t,r,n){this._+=\"M\"+(this._x0=this._x1=+e)+\",\"+(this._y0=this._y1=+t)+\"h\"+ +r+\"v\"+ +n+\"h\"+-r+\"Z\"},toString:function(){return this._}};var u=l,c=Array.prototype.slice;function f(e){return function(){return e}}function h(e){return e[0]}function p(e){return e[1]}function d(e){return e.source}function v(e){return e.target}function g(e,t,r,n,i){e.moveTo(t,r),e.bezierCurveTo(t=(t+n)/2,r,t,i,n,i)}function m(){return function(e){var t=d,r=v,n=h,i=p,a=null;function o(){var o,s=c.call(arguments),l=t.apply(this,s),f=r.apply(this,s);if(a||(a=o=u()),e(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=f,s)),+i.apply(this,s)),o)return a=null,o+\"\"||null}return o.source=function(e){return arguments.length?(t=e,o):t},o.target=function(e){return arguments.length?(r=e,o):r},o.x=function(e){return arguments.length?(n=\"function\"==typeof e?e:f(+e),o):n},o.y=function(e){return arguments.length?(i=\"function\"==typeof e?e:f(+e),o):i},o.context=function(e){return arguments.length?(a=null==e?null:e,o):a},o}(g)}},84096:function(e,t,r){\"use strict\";r.d(t,{i$:function(){return d},Dq:function(){return h},g0:function(){return v}});var n=r(58176),i=r(48480),a=r(59879),o=r(82301),s=r(34823),l=r(79791);function u(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function c(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function f(e,t,r){return{y:e,m:t,d:r,H:0,M:0,S:0,L:0}}function h(e){var t=e.dateTime,r=e.date,s=e.time,l=e.periods,h=e.days,p=e.shortDays,d=e.months,v=e.shortMonths,m=w(l),y=k(l),x=w(h),b=k(h),_=w(p),Se=k(p),Ee=w(d),Ce=k(d),Le=w(v),Pe=k(v),Oe={a:function(e){return p[e.getDay()]},A:function(e){return h[e.getDay()]},b:function(e){return v[e.getMonth()]},B:function(e){return d[e.getMonth()]},c:null,d:q,e:q,f:X,H:G,I:Y,j:W,L:Z,m:K,M:J,p:function(e){return l[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:Me,s:Ae,S:$,u:Q,U:ee,V:te,w:re,W:ne,x:null,X:null,y:ie,Y:ae,Z:oe,\"%\":Te},Ie={a:function(e){return p[e.getUTCDay()]},A:function(e){return h[e.getUTCDay()]},b:function(e){return v[e.getUTCMonth()]},B:function(e){return d[e.getUTCMonth()]},c:null,d:se,e:se,f:he,H:le,I:ue,j:ce,L:fe,m:pe,M:de,p:function(e){return l[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:Me,s:Ae,S:ve,u:ge,U:me,V:ye,w:xe,W:be,x:null,X:null,y:_e,Y:we,Z:ke,\"%\":Te},De={a:function(e,t,r){var n=_.exec(t.slice(r));return n?(e.w=Se[n[0].toLowerCase()],r+n[0].length):-1},A:function(e,t,r){var n=x.exec(t.slice(r));return n?(e.w=b[n[0].toLowerCase()],r+n[0].length):-1},b:function(e,t,r){var n=Le.exec(t.slice(r));return n?(e.m=Pe[n[0].toLowerCase()],r+n[0].length):-1},B:function(e,t,r){var n=Ee.exec(t.slice(r));return n?(e.m=Ce[n[0].toLowerCase()],r+n[0].length):-1},c:function(e,r,n){return Fe(e,t,r,n)},d:D,e:D,f:j,H:R,I:R,j:z,L:N,m:I,M:F,p:function(e,t,r){var n=m.exec(t.slice(r));return n?(e.p=y[n[0].toLowerCase()],r+n[0].length):-1},q:O,Q:V,s:H,S:B,u:M,U:A,V:S,w:T,W:E,x:function(e,t,n){return Fe(e,r,t,n)},X:function(e,t,r){return Fe(e,s,t,r)},y:L,Y:C,Z:P,\"%\":U};function ze(e,t){return function(r){var n,i,a,o=[],s=-1,l=0,u=e.length;for(r instanceof Date||(r=new Date(+r));++s<u;)37===e.charCodeAt(s)&&(o.push(e.slice(l,s)),null!=(i=g[n=e.charAt(++s)])?n=e.charAt(++s):i=\"e\"===n?\" \":\"0\",(a=t[n])&&(n=a(r,i)),o.push(n),l=s+1);return o.push(e.slice(l,s)),o.join(\"\")}}function Re(e,t){return function(r){var s,l,h=f(1900,void 0,1);if(Fe(h,e,r+=\"\",0)!=r.length)return null;if(\"Q\"in h)return new Date(h.Q);if(\"s\"in h)return new Date(1e3*h.s+(\"L\"in h?h.L:0));if(t&&!(\"Z\"in h)&&(h.Z=0),\"p\"in h&&(h.H=h.H%12+12*h.p),void 0===h.m&&(h.m=\"q\"in h?h.q:0),\"V\"in h){if(h.V<1||h.V>53)return null;\"w\"in h||(h.w=1),\"Z\"in h?(l=(s=c(f(h.y,0,1))).getUTCDay(),s=l>4||0===l?n.l6.ceil(s):(0,n.l6)(s),s=i.Z.offset(s,7*(h.V-1)),h.y=s.getUTCFullYear(),h.m=s.getUTCMonth(),h.d=s.getUTCDate()+(h.w+6)%7):(l=(s=u(f(h.y,0,1))).getDay(),s=l>4||0===l?a.wA.ceil(s):(0,a.wA)(s),s=o.Z.offset(s,7*(h.V-1)),h.y=s.getFullYear(),h.m=s.getMonth(),h.d=s.getDate()+(h.w+6)%7)}else(\"W\"in h||\"U\"in h)&&(\"w\"in h||(h.w=\"u\"in h?h.u%7:\"W\"in h?1:0),l=\"Z\"in h?c(f(h.y,0,1)).getUTCDay():u(f(h.y,0,1)).getDay(),h.m=0,h.d=\"W\"in h?(h.w+6)%7+7*h.W-(l+5)%7:h.w+7*h.U-(l+6)%7);return\"Z\"in h?(h.H+=h.Z/100|0,h.M+=h.Z%100,c(h)):u(h)}}function Fe(e,t,r,n){for(var i,a,o=0,s=t.length,l=r.length;o<s;){if(n>=l)return-1;if(37===(i=t.charCodeAt(o++))){if(i=t.charAt(o++),!(a=De[i in g?t.charAt(o++):i])||(n=a(e,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Oe.x=ze(r,Oe),Oe.X=ze(s,Oe),Oe.c=ze(t,Oe),Ie.x=ze(r,Ie),Ie.X=ze(s,Ie),Ie.c=ze(t,Ie),{format:function(e){var t=ze(e+=\"\",Oe);return t.toString=function(){return e},t},parse:function(e){var t=Re(e+=\"\",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=ze(e+=\"\",Ie);return t.toString=function(){return e},t},utcParse:function(e){var t=Re(e+=\"\",!0);return t.toString=function(){return e},t}}}var p,d,v,g={\"-\":\"\",_:\" \",0:\"0\"},m=/^\\s*\\d+/,y=/^%/,x=/[\\\\^$*+?|[\\]().{}]/g;function b(e,t,r){var n=e<0?\"-\":\"\",i=(n?-e:e)+\"\",a=i.length;return n+(a<r?new Array(r-a+1).join(t)+i:i)}function _(e){return e.replace(x,\"\\\\$&\")}function w(e){return new RegExp(\"^(?:\"+e.map(_).join(\"|\")+\")\",\"i\")}function k(e){for(var t={},r=-1,n=e.length;++r<n;)t[e[r].toLowerCase()]=r;return t}function T(e,t,r){var n=m.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function M(e,t,r){var n=m.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function A(e,t,r){var n=m.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function S(e,t,r){var n=m.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function E(e,t,r){var n=m.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function C(e,t,r){var n=m.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function L(e,t,r){var n=m.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function P(e,t,r){var n=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||\"00\")),r+n[0].length):-1}function O(e,t,r){var n=m.exec(t.slice(r,r+1));return n?(e.q=3*n[0]-3,r+n[0].length):-1}function I(e,t,r){var n=m.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function D(e,t,r){var n=m.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function z(e,t,r){var n=m.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function R(e,t,r){var n=m.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function F(e,t,r){var n=m.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function B(e,t,r){var n=m.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function N(e,t,r){var n=m.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function j(e,t,r){var n=m.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(e,t,r){var n=y.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function V(e,t,r){var n=m.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function H(e,t,r){var n=m.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function q(e,t){return b(e.getDate(),t,2)}function G(e,t){return b(e.getHours(),t,2)}function Y(e,t){return b(e.getHours()%12||12,t,2)}function W(e,t){return b(1+o.Z.count((0,s.Z)(e),e),t,3)}function Z(e,t){return b(e.getMilliseconds(),t,3)}function X(e,t){return Z(e,t)+\"000\"}function K(e,t){return b(e.getMonth()+1,t,2)}function J(e,t){return b(e.getMinutes(),t,2)}function $(e,t){return b(e.getSeconds(),t,2)}function Q(e){var t=e.getDay();return 0===t?7:t}function ee(e,t){return b(a.OM.count((0,s.Z)(e)-1,e),t,2)}function te(e,t){var r=e.getDay();return e=r>=4||0===r?(0,a.bL)(e):a.bL.ceil(e),b(a.bL.count((0,s.Z)(e),e)+(4===(0,s.Z)(e).getDay()),t,2)}function re(e){return e.getDay()}function ne(e,t){return b(a.wA.count((0,s.Z)(e)-1,e),t,2)}function ie(e,t){return b(e.getFullYear()%100,t,2)}function ae(e,t){return b(e.getFullYear()%1e4,t,4)}function oe(e){var t=e.getTimezoneOffset();return(t>0?\"-\":(t*=-1,\"+\"))+b(t/60|0,\"0\",2)+b(t%60,\"0\",2)}function se(e,t){return b(e.getUTCDate(),t,2)}function le(e,t){return b(e.getUTCHours(),t,2)}function ue(e,t){return b(e.getUTCHours()%12||12,t,2)}function ce(e,t){return b(1+i.Z.count((0,l.Z)(e),e),t,3)}function fe(e,t){return b(e.getUTCMilliseconds(),t,3)}function he(e,t){return fe(e,t)+\"000\"}function pe(e,t){return b(e.getUTCMonth()+1,t,2)}function de(e,t){return b(e.getUTCMinutes(),t,2)}function ve(e,t){return b(e.getUTCSeconds(),t,2)}function ge(e){var t=e.getUTCDay();return 0===t?7:t}function me(e,t){return b(n.Ox.count((0,l.Z)(e)-1,e),t,2)}function ye(e,t){var r=e.getUTCDay();return e=r>=4||0===r?(0,n.hB)(e):n.hB.ceil(e),b(n.hB.count((0,l.Z)(e),e)+(4===(0,l.Z)(e).getUTCDay()),t,2)}function xe(e){return e.getUTCDay()}function be(e,t){return b(n.l6.count((0,l.Z)(e)-1,e),t,2)}function _e(e,t){return b(e.getUTCFullYear()%100,t,2)}function we(e,t){return b(e.getUTCFullYear()%1e4,t,4)}function ke(){return\"+0000\"}function Te(){return\"%\"}function Me(e){return+e}function Ae(e){return Math.floor(+e/1e3)}p=h({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]}),d=p.format,p.parse,v=p.utcFormat,p.utcParse},82301:function(e,t,r){\"use strict\";r.d(t,{a:function(){return o}});var n=r(30052),i=r(54263),a=(0,n.Z)((function(e){e.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*i.yB)/i.UD}),(function(e){return e.getDate()-1}));t.Z=a;var o=a.range},54263:function(e,t,r){\"use strict\";r.d(t,{UD:function(){return o},Y2:function(){return a},Ym:function(){return n},iM:function(){return s},yB:function(){return i}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},81041:function(e,t,r){\"use strict\";r.r(t),r.d(t,{timeDay:function(){return m.Z},timeDays:function(){return m.a},timeFriday:function(){return y.mC},timeFridays:function(){return y.b$},timeHour:function(){return v},timeHours:function(){return g},timeInterval:function(){return n.Z},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return h},timeMinutes:function(){return p},timeMonday:function(){return y.wA},timeMondays:function(){return y.bJ},timeMonth:function(){return b},timeMonths:function(){return _},timeSaturday:function(){return y.EY},timeSaturdays:function(){return y.Ff},timeSecond:function(){return u},timeSeconds:function(){return c},timeSunday:function(){return y.OM},timeSundays:function(){return y.vm},timeThursday:function(){return y.bL},timeThursdays:function(){return y.$t},timeTuesday:function(){return y.sy},timeTuesdays:function(){return y.aU},timeWednesday:function(){return y.zg},timeWednesdays:function(){return y.Ld},timeWeek:function(){return y.OM},timeWeeks:function(){return y.vm},timeYear:function(){return w.Z},timeYears:function(){return w.g},utcDay:function(){return C.Z},utcDays:function(){return C.y},utcFriday:function(){return L.QQ},utcFridays:function(){return L.fz},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return T},utcMinutes:function(){return M},utcMonday:function(){return L.l6},utcMondays:function(){return L.$3},utcMonth:function(){return O},utcMonths:function(){return I},utcSaturday:function(){return L.g4},utcSaturdays:function(){return L.Q_},utcSecond:function(){return u},utcSeconds:function(){return c},utcSunday:function(){return L.Ox},utcSundays:function(){return L.SU},utcThursday:function(){return L.hB},utcThursdays:function(){return L.xj},utcTuesday:function(){return L.J1},utcTuesdays:function(){return L.DK},utcWednesday:function(){return L.b3},utcWednesdays:function(){return L.uy},utcWeek:function(){return L.Ox},utcWeeks:function(){return L.SU},utcYear:function(){return D.Z},utcYears:function(){return D.D}});var n=r(30052),i=(0,n.Z)((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e}));i.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?(0,n.Z)((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,r){t.setTime(+t+r*e)}),(function(t,r){return(r-t)/e})):i:null};var a=i,o=i.range,s=r(54263),l=(0,n.Z)((function(e){e.setTime(e-e.getMilliseconds())}),(function(e,t){e.setTime(+e+t*s.Ym)}),(function(e,t){return(t-e)/s.Ym}),(function(e){return e.getUTCSeconds()})),u=l,c=l.range,f=(0,n.Z)((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*s.Ym)}),(function(e,t){e.setTime(+e+t*s.yB)}),(function(e,t){return(t-e)/s.yB}),(function(e){return e.getMinutes()})),h=f,p=f.range,d=(0,n.Z)((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*s.Ym-e.getMinutes()*s.yB)}),(function(e,t){e.setTime(+e+t*s.Y2)}),(function(e,t){return(t-e)/s.Y2}),(function(e){return e.getHours()})),v=d,g=d.range,m=r(82301),y=r(59879),x=(0,n.Z)((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()})),b=x,_=x.range,w=r(34823),k=(0,n.Z)((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+t*s.yB)}),(function(e,t){return(t-e)/s.yB}),(function(e){return e.getUTCMinutes()})),T=k,M=k.range,A=(0,n.Z)((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+t*s.Y2)}),(function(e,t){return(t-e)/s.Y2}),(function(e){return e.getUTCHours()})),S=A,E=A.range,C=r(48480),L=r(58176),P=(0,n.Z)((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()})),O=P,I=P.range,D=r(79791)},30052:function(e,t,r){\"use strict\";r.d(t,{Z:function(){return a}});var n=new Date,i=new Date;function a(e,t,r,o){function s(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return s.floor=function(t){return e(t=new Date(+t)),t},s.ceil=function(r){return e(r=new Date(r-1)),t(r,1),e(r),r},s.round=function(e){var t=s(e),r=s.ceil(e);return e-t<r-e?t:r},s.offset=function(e,r){return t(e=new Date(+e),null==r?1:Math.floor(r)),e},s.range=function(r,n,i){var a,o=[];if(r=s.ceil(r),i=null==i?1:Math.floor(i),!(r<n&&i>0))return o;do{o.push(a=new Date(+r)),t(r,i),e(r)}while(a<r&&r<n);return o},s.filter=function(r){return a((function(t){if(t>=t)for(;e(t),!r(t);)t.setTime(t-1)}),(function(e,n){if(e>=e)if(n<0)for(;++n<=0;)for(;t(e,-1),!r(e););else for(;--n>=0;)for(;t(e,1),!r(e););}))},r&&(s.count=function(t,a){return n.setTime(+t),i.setTime(+a),e(n),e(i),Math.floor(r(n,i))},s.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?s.filter(o?function(t){return o(t)%e==0}:function(t){return s.count(0,t)%e==0}):s:null}),s}},48480:function(e,t,r){\"use strict\";r.d(t,{y:function(){return o}});var n=r(30052),i=r(54263),a=(0,n.Z)((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/i.UD}),(function(e){return e.getUTCDate()-1}));t.Z=a;var o=a.range},58176:function(e,t,r){\"use strict\";r.d(t,{$3:function(){return d},DK:function(){return v},J1:function(){return l},Ox:function(){return o},QQ:function(){return f},Q_:function(){return x},SU:function(){return p},b3:function(){return u},fz:function(){return y},g4:function(){return h},hB:function(){return c},l6:function(){return s},uy:function(){return g},xj:function(){return m}});var n=r(30052),i=r(54263);function a(e){return(0,n.Z)((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/i.iM}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,m=c.range,y=f.range,x=h.range},79791:function(e,t,r){\"use strict\";r.d(t,{D:function(){return a}});var n=r(30052),i=(0,n.Z)((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()}));i.every=function(e){return isFinite(e=Math.floor(e))&&e>0?(0,n.Z)((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,r){t.setUTCFullYear(t.getUTCFullYear()+r*e)})):null},t.Z=i;var a=i.range},59879:function(e,t,r){\"use strict\";r.d(t,{$t:function(){return m},EY:function(){return h},Ff:function(){return x},Ld:function(){return g},OM:function(){return o},aU:function(){return v},b$:function(){return y},bJ:function(){return d},bL:function(){return c},mC:function(){return f},sy:function(){return l},vm:function(){return p},wA:function(){return s},zg:function(){return u}});var n=r(30052),i=r(54263);function a(e){return(0,n.Z)((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*i.yB)/i.iM}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,m=c.range,y=f.range,x=h.range},34823:function(e,t,r){\"use strict\";r.d(t,{g:function(){return a}});var n=r(30052),i=(0,n.Z)((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()}));i.every=function(e){return isFinite(e=Math.floor(e))&&e>0?(0,n.Z)((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,r){t.setFullYear(t.getFullYear()+r*e)})):null},t.Z=i;var a=i.range},17045:function(e,t,r){\"use strict\";var n=r(8709),i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol(\"foo\"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=r(55622)(),u=s&&l,c=function(e,t,r,n){if(t in e)if(!0===n){if(e[t]===r)return}else if(\"function\"!=typeof(i=n)||\"[object Function]\"!==a.call(i)||!n())return;var i;u?s(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r},f=function(e,t){var r=arguments.length>2?arguments[2]:{},a=n(t);i&&(a=o.call(a,Object.getOwnPropertySymbols(t)));for(var s=0;s<a.length;s+=1)c(e,a[s],t[a[s]],r[a[s]])};f.supportsDescriptors=!!u,e.exports=f},46775:function(e){e.exports=function(){for(var e=0;e<arguments.length;e++)if(void 0!==arguments[e])return arguments[e]}},53545:function(e){\"use strict\";e.exports=n;var t=(n.canvas=document.createElement(\"canvas\")).getContext(\"2d\"),r=i([32,126]);function n(e,n){Array.isArray(e)&&(e=e.join(\", \"));var a,o={},s=16,l=.05;n&&(2===n.length&&\"number\"==typeof n[0]?a=i(n):Array.isArray(n)?a=n:(n.o?a=i(n.o):n.pairs&&(a=n.pairs),n.fontSize&&(s=n.fontSize),null!=n.threshold&&(l=n.threshold))),a||(a=r),t.font=s+\"px \"+e;for(var u=0;u<a.length;u++){var c=a[u],f=t.measureText(c[0]).width+t.measureText(c[1]).width,h=t.measureText(c).width;if(Math.abs(f-h)>s*l){var p=(h-f)/s;o[c]=1e3*p}}return o}function i(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i<e[1];i++){var a=n+String.fromCharCode(i);t.push(a)}return t}n.createPairs=i,n.ascii=r},31457:function(e,t,r){var n=r(65185),i=r(18625),a={M:\"moveTo\",C:\"bezierCurveTo\"};e.exports=function(e,t){e.beginPath(),i(n(t)).forEach((function(t){var r=t[0],n=t.slice(1);e[a[r]].apply(e,n)})),e.closePath()}},90660:function(e){e.exports=function(e){switch(e){case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"uint8\":return Uint8Array;case\"uint16\":return Uint16Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;case\"array\":return Array;case\"uint8_clamped\":return Uint8ClampedArray}}},12129:function(e){\"use strict\";function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}e.exports=function(e,r){switch(void 0===r&&(r=0),typeof e){case\"number\":if(e>0)return function(e,t){var r,n;for(r=new Array(e),n=0;n<e;++n)r[n]=t;return r}(0|e,r);break;case\"object\":if(\"number\"==typeof e.length)return t(e,r,0)}return[]}},11474:function(e){\"use strict\";function t(e,t,a){a=a||2;var o,s,l,f,h,d,v,g=t&&t.length,m=g?t[0]*a:e.length,y=r(e,0,m,a,!0),x=[];if(!y||y.next===y.prev)return x;if(g&&(y=function(e,t,i,a){var o,s,l,f=[];for(o=0,s=t.length;o<s;o++)(l=r(e,t[o]*a,o<s-1?t[o+1]*a:e.length,a,!1))===l.next&&(l.steiner=!0),f.push(p(l));for(f.sort(u),o=0;o<f.length;o++)c(f[o],i),i=n(i,i.next);return i}(e,t,y,a)),e.length>80*a){o=l=e[0],s=f=e[1];for(var b=a;b<m;b+=a)(h=e[b])<o&&(o=h),(d=e[b+1])<s&&(s=d),h>l&&(l=h),d>f&&(f=d);v=0!==(v=Math.max(l-o,f-s))?1/v:0}return i(y,x,a,o,s,v),x}function r(e,t,r,n,i){var a,o;if(i===A(e,t,r,n)>0)for(a=t;a<r;a+=n)o=k(a,e[a],e[a+1],o);else for(a=r-n;a>=t;a-=n)o=k(a,e[a],e[a+1],o);return o&&m(o,o.next)&&(T(o),o=o.next),o}function n(e,t){if(!e)return e;t||(t=e);var r,n=e;do{if(r=!1,n.steiner||!m(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(T(n),(n=t=n.prev)===n.next)break;r=!0}}while(r||n!==t);return t}function i(e,t,r,u,c,f,p){if(e){!p&&f&&function(e,t,r,n){var i=e;do{null===i.z&&(i.z=h(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,r,n,i,a,o,s,l,u=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t<u&&(s++,n=n.nextZ);t++);for(l=u;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(e,u,c,f);for(var d,v,g=e;e.prev!==e.next;)if(d=e.prev,v=e.next,f?o(e,u,c,f):a(e))t.push(d.i/r),t.push(e.i/r),t.push(v.i/r),T(e),e=v.next,g=v.next;else if((e=v)===g){p?1===p?i(e=s(n(e),t,r),t,r,u,c,f,2):2===p&&l(e,t,r,u,c,f):i(n(e),t,r,u,c,f,1);break}}}function a(e){var t=e.prev,r=e,n=e.next;if(g(t,r,n)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(d(t.x,t.y,r.x,r.y,n.x,n.y,i.x,i.y)&&g(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function o(e,t,r,n){var i=e.prev,a=e,o=e.next;if(g(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,u=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=h(s,l,t,r,n),p=h(u,c,t,r,n),v=e.prevZ,m=e.nextZ;v&&v.z>=f&&m&&m.z<=p;){if(v!==e.prev&&v!==e.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,m!==e.prev&&m!==e.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&g(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;v&&v.z>=f;){if(v!==e.prev&&v!==e.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;m&&m.z<=p;){if(m!==e.prev&&m!==e.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&g(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function s(e,t,r){var i=e;do{var a=i.prev,o=i.next.next;!m(a,o)&&y(a,i,i.next,o)&&_(a,o)&&_(o,a)&&(t.push(a.i/r),t.push(i.i/r),t.push(o.i/r),T(i),T(i.next),i=e=o),i=i.next}while(i!==e);return n(i)}function l(e,t,r,a,o,s){var l=e;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&v(l,u)){var c=w(l,u);return l=n(l,l.next),c=n(c,c.next),i(l,t,r,a,o,s),void i(c,t,r,a,o,s)}u=u.next}l=l.next}while(l!==e)}function u(e,t){return e.x-t.x}function c(e,t){if(t=function(e,t){var r,n=t,i=e.x,a=e.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==t);if(!r)return null;if(i===o)return r;var l,u=r,c=r.x,h=r.y,p=1/0;n=r;do{i>=n.x&&n.x>=c&&i!==n.x&&d(a<h?i:o,a,c,h,a<h?o:i,a,n.x,n.y)&&(l=Math.abs(a-n.y)/(i-n.x),_(n,e)&&(l<p||l===p&&(n.x>r.x||n.x===r.x&&f(r,n)))&&(r=n,p=l)),n=n.next}while(n!==u);return r}(e,t),t){var r=w(t,e);n(t,t.next),n(r,r.next)}}function f(e,t){return g(e.prev,e,t.prev)<0&&g(t.next,e,e.next)<0}function h(e,t,r,n,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-r)*i)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*i)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function p(e){var t=e,r=e;do{(t.x<r.x||t.x===r.x&&t.y<r.y)&&(r=t),t=t.next}while(t!==e);return r}function d(e,t,r,n,i,a,o,s){return(i-o)*(t-s)-(e-o)*(a-s)>=0&&(e-o)*(n-s)-(r-o)*(t-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&y(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}(e,t)&&(_(e,t)&&_(t,e)&&function(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==e);return n}(e,t)&&(g(e.prev,e,t.prev)||g(e,t.prev,t))||m(e,t)&&g(e.prev,e,e.next)>0&&g(t.prev,t,t.next)>0)}function g(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function m(e,t){return e.x===t.x&&e.y===t.y}function y(e,t,r,n){var i=b(g(e,t,r)),a=b(g(e,t,n)),o=b(g(r,n,e)),s=b(g(r,n,t));return i!==a&&o!==s||!(0!==i||!x(e,r,t))||!(0!==a||!x(e,n,t))||!(0!==o||!x(r,e,n))||!(0!==s||!x(r,t,n))}function x(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function b(e){return e>0?1:e<0?-1:0}function _(e,t){return g(e.prev,e,e.next)<0?g(e,t,e.next)>=0&&g(e,e.prev,t)>=0:g(e,t,e.prev)<0||g(e,e.next,t)<0}function w(e,t){var r=new M(e.i,e.x,e.y),n=new M(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function k(e,t,r,n){var i=new M(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function T(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function M(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function A(e,t,r,n){for(var i=0,a=t,o=r-n;a<r;a+=n)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}e.exports=t,e.exports.default=t,t.deviation=function(e,t,r,n){var i=t&&t.length,a=i?t[0]*r:e.length,o=Math.abs(A(e,0,a,r));if(i)for(var s=0,l=t.length;s<l;s++){var u=t[s]*r,c=s<l-1?t[s+1]*r:e.length;o-=Math.abs(A(e,u,c,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((e[h]-e[d])*(e[p+1]-e[h+1])-(e[h]-e[p])*(e[d+1]-e[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},t.flatten=function(e){for(var t=e[0][0].length,r={vertices:[],holes:[],dimensions:t},n=0,i=0;i<e.length;i++){for(var a=0;a<e[i].length;a++)for(var o=0;o<t;o++)r.vertices.push(e[i][a][o]);i>0&&(n+=e[i-1].length,r.holes.push(n))}return r}},2502:function(e,t,r){var n=r(68664);e.exports=function(e,t){var r,i=[],a=[],o=[],s={},l=[];function u(e){o[e]=!1,s.hasOwnProperty(e)&&Object.keys(s[e]).forEach((function(t){delete s[e][t],o[t]&&u(t)}))}function c(e){var t,n,i=!1;for(a.push(e),o[e]=!0,t=0;t<l[e].length;t++)(n=l[e][t])===r?(f(r,a),i=!0):o[n]||(i=c(n));if(i)u(e);else for(t=0;t<l[e].length;t++){n=l[e][t];var h=s[n];h||(h={},s[n]=h),h[n]=!0}return a.pop(),i}function f(e,r){var n=[].concat(r).concat(e);t?t(c):i.push(n)}function h(t){!function(t){for(var r=0;r<e.length;r++)r<t&&(e[r]=[]),e[r]=e[r].filter((function(e){return e>=t}))}(t);for(var r,i=n(e).components.filter((function(e){return e.length>1})),a=1/0,o=0;o<i.length;o++)for(var s=0;s<i[o].length;s++)i[o][s]<a&&(a=i[o][s],r=o);var l=i[r];if(!l)return!1;var u=e.map((function(e,t){return-1===l.indexOf(t)?[]:e.filter((function(e){return-1!==l.indexOf(e)}))}));return{leastVertex:a,adjList:u}}r=0;for(var p=e.length;r<p;){var d=h(r);if(r=d.leastVertex,l=d.adjList){for(var v=0;v<l.length;v++)for(var g=0;g<l[v].length;g++){var m=l[v][g];o[+m]=!1,s[m]={}}c(r),r+=1}else r=p}return t?void 0:i}},16134:function(e,t,r){\"use strict\";var n=r(36672);e.exports=function(){return n(this).length=0,this}},4892:function(e,t,r){\"use strict\";e.exports=r(64404)()?Array.from:r(49441)},64404:function(e){\"use strict\";e.exports=function(){var e,t,r=Array.from;return\"function\"==typeof r&&(t=r(e=[\"raz\",\"dwa\"]),Boolean(t&&t!==e&&\"dwa\"===t[1]))}},49441:function(e,t,r){\"use strict\";var n=r(8260).iterator,i=r(73051),a=r(33717),o=r(35976),s=r(78513),l=r(36672),u=r(95296),c=r(87963),f=Array.isArray,h=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(e){var t,r,v,g,m,y,x,b,_,w,k=arguments[1],T=arguments[2];if(e=Object(l(e)),u(k)&&s(k),this&&this!==Array&&a(this))t=this;else{if(!k){if(i(e))return 1!==(m=e.length)?Array.apply(null,e):((g=new Array(1))[0]=e[0],g);if(f(e)){for(g=new Array(m=e.length),r=0;r<m;++r)g[r]=e[r];return g}}g=[]}if(!f(e))if(void 0!==(_=e[n])){for(x=s(_).call(e),t&&(g=new t),b=x.next(),r=0;!b.done;)w=k?h.call(k,T,b.value,r):b.value,t?(p.value=w,d(g,r,p)):g[r]=w,b=x.next(),++r;m=r}else if(c(e)){for(m=e.length,t&&(g=new t),r=0,v=0;r<m;++r)w=e[r],r+1<m&&(y=w.charCodeAt(0))>=55296&&y<=56319&&(w+=e[++r]),w=k?h.call(k,T,w,v):w,t?(p.value=w,d(g,v,p)):g[v]=w,++v;m=v}if(void 0===m)for(m=o(e.length),t&&(g=new t(m)),r=0;r<m;++r)w=k?h.call(k,T,e[r],r):e[r],t?(p.value=w,d(g,r,p)):g[r]=w;return t&&(p.value=null,g.length=m),g}},73051:function(e){\"use strict\";var t=Object.prototype.toString,r=t.call(function(){return arguments}());e.exports=function(e){return t.call(e)===r}},33717:function(e){\"use strict\";var t=Object.prototype.toString,r=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);e.exports=function(e){return\"function\"==typeof e&&r(t.call(e))}},52345:function(e){\"use strict\";e.exports=function(){}},9953:function(e,t,r){\"use strict\";e.exports=r(90436)()?Math.sign:r(6069)},90436:function(e){\"use strict\";e.exports=function(){var e=Math.sign;return\"function\"==typeof e&&1===e(10)&&-1===e(-20)}},6069:function(e){\"use strict\";e.exports=function(e){return e=Number(e),isNaN(e)||0===e?e:e>0?1:-1}},56247:function(e,t,r){\"use strict\";var n=r(9953),i=Math.abs,a=Math.floor;e.exports=function(e){return isNaN(e)?0:0!==(e=Number(e))&&isFinite(e)?n(e)*a(i(e)):e}},35976:function(e,t,r){\"use strict\";var n=r(56247),i=Math.max;e.exports=function(e){return i(0,n(e))}},67260:function(e,t,r){\"use strict\";var n=r(78513),i=r(36672),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(e,t){return function(r,u){var c,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(u),c=s(r),h&&c.sort(\"function\"==typeof h?a.call(h,r):void 0),\"function\"!=typeof e&&(e=c[e]),o.call(e,c,(function(e,n){return l.call(r,e)?o.call(u,f,r[e],e,r,n):t}))}}},95879:function(e,t,r){\"use strict\";e.exports=r(73583)()?Object.assign:r(34205)},73583:function(e){\"use strict\";e.exports=function(){var e,t=Object.assign;return\"function\"==typeof t&&(t(e={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),e.foo+e.bar+e.trzy===\"razdwatrzy\")}},34205:function(e,t,r){\"use strict\";var n=r(68700),i=r(36672),a=Math.max;e.exports=function(e,t){var r,o,s,l=a(arguments.length,2);for(e=Object(i(e)),s=function(n){try{e[n]=t[n]}catch(e){r||(r=e)}},o=1;o<l;++o)n(t=arguments[o]).forEach(s);if(void 0!==r)throw r;return e}},19012:function(e,t,r){\"use strict\";var n=r(4892),i=r(95879),a=r(36672);e.exports=function(e){var t=Object(a(e)),r=arguments[1],o=Object(arguments[2]);if(t!==e&&!r)return t;var s={};return r?n(r,(function(t){(o.ensure||t in e)&&(s[t]=e[t])})):i(s,e),s}},52818:function(e,t,r){\"use strict\";var n,i,a,o,s=Object.create;r(33247)()||(n=r(51882)),e.exports=n?1!==n.level?s:(i={},a={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach((function(e){a[e]=\"__proto__\"!==e?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}})),Object.defineProperties(i,a),Object.defineProperty(n,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:i}),function(e,t){return s(null===e?i:e,t)}):s},96437:function(e,t,r){\"use strict\";e.exports=r(67260)(\"forEach\")},99611:function(e,t,r){\"use strict\";var n=r(95296),i={function:!0,object:!0};e.exports=function(e){return n(e)&&i[typeof e]||!1}},95296:function(e,t,r){\"use strict\";var n=r(52345)();e.exports=function(e){return e!==n&&null!==e}},68700:function(e,t,r){\"use strict\";e.exports=r(13895)()?Object.keys:r(25217)},13895:function(e){\"use strict\";e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}},25217:function(e,t,r){\"use strict\";var n=r(95296),i=Object.keys;e.exports=function(e){return i(n(e)?Object(e):e)}},16906:function(e,t,r){\"use strict\";var n=r(78513),i=r(96437),a=Function.prototype.call;e.exports=function(e,t){var r={},o=arguments[2];return n(t),i(e,(function(e,n,i,s){r[n]=a.call(t,o,e,n,i,s)})),r}},21780:function(e,t,r){\"use strict\";var n=r(95296),i=Array.prototype.forEach,a=Object.create;e.exports=function(e){var t=a(null);return i.call(arguments,(function(e){n(e)&&function(e,t){var r;for(r in e)t[r]=e[r]}(Object(e),t)})),t}},1496:function(e,t,r){\"use strict\";e.exports=r(33247)()?Object.setPrototypeOf:r(51882)},33247:function(e){\"use strict\";var t=Object.create,r=Object.getPrototypeOf,n={};e.exports=function(){var e=Object.setPrototypeOf;return\"function\"==typeof e&&r(e((arguments[0]||t)(null),n))===n}},51882:function(e,t,r){\"use strict\";var n,i,a,o,s=r(99611),l=r(36672),u=Object.prototype.isPrototypeOf,c=Object.defineProperty,f={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(e,t){if(l(e),null===t||s(t))return e;throw new TypeError(\"Prototype must be null or an object\")},e.exports=(i=function(){var e,t=Object.create(null),r={},n=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(n){try{(e=n.set).call(t,r)}catch(e){}if(Object.getPrototypeOf(t)===r)return{set:e,level:2}}return t.__proto__=r,Object.getPrototypeOf(t)===r?{level:2}:((t={}).__proto__=r,Object.getPrototypeOf(t)===r&&{level:1})}(),i?(2===i.level?i.set?(o=i.set,a=function(e,t){return o.call(n(e,t),t),e}):a=function(e,t){return n(e,t).__proto__=t,e}:a=function e(t,r){var i;return n(t,r),(i=u.call(e.nullPolyfill,t))&&delete e.nullPolyfill.__proto__,null===r&&(r=e.nullPolyfill),t.__proto__=r,i&&c(e.nullPolyfill,\"__proto__\",f),t},Object.defineProperty(a,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:i.level})):null),r(52818)},78513:function(e){\"use strict\";e.exports=function(e){if(\"function\"!=typeof e)throw new TypeError(e+\" is not a function\");return e}},98976:function(e,t,r){\"use strict\";var n=r(99611);e.exports=function(e){if(!n(e))throw new TypeError(e+\" is not an Object\");return e}},36672:function(e,t,r){\"use strict\";var n=r(95296);e.exports=function(e){if(!n(e))throw new TypeError(\"Cannot use null or undefined\");return e}},66741:function(e,t,r){\"use strict\";e.exports=r(17557)()?String.prototype.contains:r(60381)},17557:function(e){\"use strict\";var t=\"razdwatrzy\";e.exports=function(){return\"function\"==typeof t.contains&&!0===t.contains(\"dwa\")&&!1===t.contains(\"foo\")}},60381:function(e){\"use strict\";var t=String.prototype.indexOf;e.exports=function(e){return t.call(this,e,arguments[1])>-1}},87963:function(e){\"use strict\";var t=Object.prototype.toString,r=t.call(\"\");e.exports=function(e){return\"string\"==typeof e||e&&\"object\"==typeof e&&(e instanceof String||t.call(e)===r)||!1}},43043:function(e){\"use strict\";var t=Object.create(null),r=Math.random;e.exports=function(){var e;do{e=r().toString(36).slice(2)}while(t[e]);return e}},32411:function(e,t,r){\"use strict\";var n,i=r(1496),a=r(66741),o=r(62072),s=r(8260),l=r(95426),u=Object.defineProperty;n=e.exports=function(e,t){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");l.call(this,e),t=t?a.call(t,\"key+value\")?\"key+value\":a.call(t,\"key\")?\"key\":\"value\":\"value\",u(this,\"__kind__\",o(\"\",t))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(e){return\"value\"===this.__kind__?this.__list__[e]:\"key+value\"===this.__kind__?[e,this.__list__[e]]:e}))}),u(n.prototype,s.toStringTag,o(\"c\",\"Array Iterator\"))},27515:function(e,t,r){\"use strict\";var n=r(73051),i=r(78513),a=r(87963),o=r(66661),s=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;e.exports=function(e,t){var r,c,f,h,p,d,v,g,m=arguments[2];if(s(e)||n(e)?r=\"array\":a(e)?r=\"string\":e=o(e),i(t),f=function(){h=!0},\"array\"!==r)if(\"string\"!==r)for(c=e.next();!c.done;){if(l.call(t,m,c.value,f),h)return;c=e.next()}else for(d=e.length,p=0;p<d&&(v=e[p],p+1<d&&(g=v.charCodeAt(0))>=55296&&g<=56319&&(v+=e[++p]),l.call(t,m,v,f),!h);++p);else u.call(e,(function(e){return l.call(t,m,e,f),h}))}},66661:function(e,t,r){\"use strict\";var n=r(73051),i=r(87963),a=r(32411),o=r(259),s=r(58095),l=r(8260).iterator;e.exports=function(e){return\"function\"==typeof s(e)[l]?e[l]():n(e)?new a(e):i(e)?new o(e):new a(e)}},95426:function(e,t,r){\"use strict\";var n,i=r(16134),a=r(95879),o=r(78513),s=r(36672),l=r(62072),u=r(55174),c=r(8260),f=Object.defineProperty,h=Object.defineProperties;e.exports=n=function(e,t){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");h(this,{__list__:l(\"w\",s(e)),__context__:l(\"w\",t),__nextIndex__:l(\"w\",0)}),t&&(o(t.on),t.on(\"_add\",this._onAdd),t.on(\"_delete\",this._onDelete),t.on(\"_clear\",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var e;if(this.__list__)return this.__redo__&&void 0!==(e=this.__redo__.shift())?e:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()})),next:l((function(){return this._createResult(this._next())})),_createResult:l((function(e){return void 0===e?{done:!0,value:void 0}:{done:!1,value:this._resolve(e)}})),_resolve:l((function(e){return this.__list__[e]})),_unBind:l((function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off(\"_add\",this._onAdd),this.__context__.off(\"_delete\",this._onDelete),this.__context__.off(\"_clear\",this._onClear),this.__context__=null)})),toString:l((function(){return\"[object \"+(this[c.toStringTag]||\"Object\")+\"]\"}))},u({_onAdd:l((function(e){e>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(t,r){t>=e&&(this.__redo__[r]=++t)}),this),this.__redo__.push(e)):f(this,\"__redo__\",l(\"c\",[e])))})),_onDelete:l((function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(t=this.__redo__.indexOf(e))&&this.__redo__.splice(t,1),this.__redo__.forEach((function(t,r){t>e&&(this.__redo__[r]=--t)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,c.iterator,l((function(){return this})))},35940:function(e,t,r){\"use strict\";var n=r(73051),i=r(95296),a=r(87963),o=r(8260).iterator,s=Array.isArray;e.exports=function(e){return!(!i(e)||!s(e)&&!a(e)&&!n(e)&&\"function\"!=typeof e[o])}},259:function(e,t,r){\"use strict\";var n,i=r(1496),a=r(62072),o=r(8260),s=r(95426),l=Object.defineProperty;n=e.exports=function(e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");e=String(e),s.call(this,e),l(this,\"__length__\",a(\"\",e.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()})),_resolve:a((function(e){var t,r=this.__list__[e];return this.__nextIndex__===this.__length__?r:(t=r.charCodeAt(0))>=55296&&t<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a(\"c\",\"String Iterator\"))},58095:function(e,t,r){\"use strict\";var n=r(35940);e.exports=function(e){if(!n(e))throw new TypeError(e+\" is not iterable\");return e}},73523:function(e){\"use strict\";function t(e,t){if(null==e)throw new TypeError(\"Cannot convert first argument to object\");for(var r=Object(e),n=1;n<arguments.length;n++){var i=arguments[n];if(null!=i)for(var a=Object.keys(Object(i)),o=0,s=a.length;o<s;o++){var l=a[o],u=Object.getOwnPropertyDescriptor(i,l);void 0!==u&&u.enumerable&&(r[l]=i[l])}}return r}e.exports={assign:t,polyfill:function(){Object.assign||Object.defineProperty(Object,\"assign\",{enumerable:!1,configurable:!0,writable:!0,value:t})}}},8260:function(e,t,r){\"use strict\";e.exports=r(69711)()?r(94908).Symbol:r(18415)},69711:function(e,t,r){\"use strict\";var n=r(94908),i={object:!0,symbol:!0};e.exports=function(){var e,t=n.Symbol;if(\"function\"!=typeof t)return!1;e=t(\"test symbol\");try{String(e)}catch(e){return!1}return!!i[typeof t.iterator]&&!!i[typeof t.toPrimitive]&&!!i[typeof t.toStringTag]}},82276:function(e){\"use strict\";e.exports=function(e){return!!e&&(\"symbol\"==typeof e||!!e.constructor&&\"Symbol\"===e.constructor.name&&\"Symbol\"===e[e.constructor.toStringTag])}},29366:function(e,t,r){\"use strict\";var n=r(62072),i=Object.create,a=Object.defineProperty,o=Object.prototype,s=i(null);e.exports=function(e){for(var t,r,i=0;s[e+(i||\"\")];)++i;return s[e+=i||\"\"]=!0,a(o,t=\"@@\"+e,n.gs(null,(function(e){r||(r=!0,a(this,t,n(e)),r=!1)}))),t}},92842:function(e,t,r){\"use strict\";var n=r(62072),i=r(94908).Symbol;e.exports=function(e){return Object.defineProperties(e,{hasInstance:n(\"\",i&&i.hasInstance||e(\"hasInstance\")),isConcatSpreadable:n(\"\",i&&i.isConcatSpreadable||e(\"isConcatSpreadable\")),iterator:n(\"\",i&&i.iterator||e(\"iterator\")),match:n(\"\",i&&i.match||e(\"match\")),replace:n(\"\",i&&i.replace||e(\"replace\")),search:n(\"\",i&&i.search||e(\"search\")),species:n(\"\",i&&i.species||e(\"species\")),split:n(\"\",i&&i.split||e(\"split\")),toPrimitive:n(\"\",i&&i.toPrimitive||e(\"toPrimitive\")),toStringTag:n(\"\",i&&i.toStringTag||e(\"toStringTag\")),unscopables:n(\"\",i&&i.unscopables||e(\"unscopables\"))})}},13304:function(e,t,r){\"use strict\";var n=r(62072),i=r(53308),a=Object.create(null);e.exports=function(e){return Object.defineProperties(e,{for:n((function(t){return a[t]?a[t]:a[t]=e(String(t))})),keyFor:n((function(e){var t;for(t in i(e),a)if(a[t]===e)return t}))})}},18415:function(e,t,r){\"use strict\";var n,i,a,o=r(62072),s=r(53308),l=r(94908).Symbol,u=r(29366),c=r(92842),f=r(13304),h=Object.create,p=Object.defineProperties,d=Object.defineProperty;if(\"function\"==typeof l)try{String(l()),a=!0}catch(e){}else l=null;i=function(e){if(this instanceof i)throw new TypeError(\"Symbol is not a constructor\");return n(e)},e.exports=n=function e(t){var r;if(this instanceof e)throw new TypeError(\"Symbol is not a constructor\");return a?l(t):(r=h(i.prototype),t=void 0===t?\"\":String(t),p(r,{__description__:o(\"\",t),__name__:o(\"\",u(t))}))},c(n),f(n),p(i.prototype,{constructor:o(n),toString:o(\"\",(function(){return this.__name__}))}),p(n.prototype,{toString:o((function(){return\"Symbol (\"+s(this).__description__+\")\"})),valueOf:o((function(){return s(this)}))}),d(n.prototype,n.toPrimitive,o(\"\",(function(){var e=s(this);return\"symbol\"==typeof e?e:e.toString()}))),d(n.prototype,n.toStringTag,o(\"c\",\"Symbol\")),d(i.prototype,n.toStringTag,o(\"c\",n.prototype[n.toStringTag])),d(i.prototype,n.toPrimitive,o(\"c\",n.prototype[n.toPrimitive]))},53308:function(e,t,r){\"use strict\";var n=r(82276);e.exports=function(e){if(!n(e))throw new TypeError(e+\" is not a symbol\");return e}},83522:function(e,t,r){\"use strict\";e.exports=r(96402)()?WeakMap:r(329)},96402:function(e){\"use strict\";e.exports=function(){var e,t;if(\"function\"!=typeof WeakMap)return!1;try{e=new WeakMap([[t={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(e){return!1}return\"[object WeakMap]\"===String(e)&&\"function\"==typeof e.set&&e.set({},1)===e&&\"function\"==typeof e.delete&&\"function\"==typeof e.has&&\"one\"===e.get(t)}},96416:function(e){\"use strict\";e.exports=\"function\"==typeof WeakMap&&\"[object WeakMap]\"===Object.prototype.toString.call(new WeakMap)},329:function(e,t,r){\"use strict\";var n,i=r(95296),a=r(1496),o=r(98976),s=r(36672),l=r(43043),u=r(62072),c=r(66661),f=r(27515),h=r(8260).toStringTag,p=r(96416),d=Array.isArray,v=Object.defineProperty,g=Object.prototype.hasOwnProperty,m=Object.getPrototypeOf;e.exports=n=function(){var e,t=arguments[0];if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");return e=p&&a&&WeakMap!==n?a(new WeakMap,m(this)):this,i(t)&&(d(t)||(t=c(t))),v(e,\"__weakMapData__\",u(\"c\",\"$weakMap$\"+l())),t?(f(t,(function(t){s(t),e.set(t[0],t[1])})),e):e},p&&(a&&a(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:u(n)})),Object.defineProperties(n.prototype,{delete:u((function(e){return!!g.call(o(e),this.__weakMapData__)&&(delete e[this.__weakMapData__],!0)})),get:u((function(e){if(g.call(o(e),this.__weakMapData__))return e[this.__weakMapData__]})),has:u((function(e){return g.call(o(e),this.__weakMapData__)})),set:u((function(e,t){return v(o(e),this.__weakMapData__,u(\"c\",t)),this})),toString:u((function(){return\"[object WeakMap]\"}))}),v(n.prototype,h,u(\"c\",\"WeakMap\"))},15398:function(e){\"use strict\";var t,r=\"object\"==typeof Reflect?Reflect:null,n=r&&\"function\"==typeof r.apply?r.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};t=r&&\"function\"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(e,t){return new Promise((function(r,n){function i(r){e.removeListener(t,a),n(r)}function a(){\"function\"==typeof e.removeListener&&e.removeListener(\"error\",i),r([].slice.call(arguments))}v(e,t,a,{once:!0}),\"error\"!==t&&function(e,t,r){\"function\"==typeof e.on&&v(e,\"error\",t,{once:!0})}(e,i)}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var o=10;function s(e){if(\"function\"!=typeof e)throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function u(e,t,r,n){var i,a,o,u;if(s(r),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit(\"newListener\",t,r.listener?r.listener:r),a=e._events),o=a[t]),void 0===o)o=a[t]=r,++e._eventsCount;else if(\"function\"==typeof o?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),(i=l(e))>0&&o.length>i&&!o.warned){o.warned=!0;var c=new Error(\"Possible EventEmitter memory leak detected. \"+o.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");c.name=\"MaxListenersExceededWarning\",c.emitter=e,c.type=t,c.count=o.length,u=c,console&&console.warn&&console.warn(u)}return e}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=c.bind(n);return i.listener=r,n.wrapFn=i,i}function h(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:\"function\"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(i):d(i,i.length)}function p(e){var t=this._events;if(void 0!==t){var r=t[e];if(\"function\"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function d(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function v(e,t,r,n){if(\"function\"==typeof e.on)n.once?e.once(t,r):e.on(t,r);else{if(\"function\"!=typeof e.addEventListener)throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function i(a){n.once&&e.removeEventListener(t,i),r(a)}))}}Object.defineProperty(a,\"defaultMaxListeners\",{enumerable:!0,get:function(){return o},set:function(e){if(\"number\"!=typeof e||e<0||i(e))throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received '+e+\".\");o=e}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if(\"number\"!=typeof e||e<0||i(e))throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received '+e+\".\");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return l(this)},a.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var i=\"error\"===e,a=this._events;if(void 0!==a)i=i&&void 0===a.error;else if(!i)return!1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=new Error(\"Unhandled error.\"+(o?\" (\"+o.message+\")\":\"\"));throw s.context=o,s}var l=a[e];if(void 0===l)return!1;if(\"function\"==typeof l)n(l,this,t);else{var u=l.length,c=d(l,u);for(r=0;r<u;++r)n(c[r],this,t)}return!0},a.prototype.addListener=function(e,t){return u(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return u(this,e,t,!0)},a.prototype.once=function(e,t){return s(t),this.on(e,f(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){return s(t),this.prependListener(e,f(this,e,t)),this},a.prototype.removeListener=function(e,t){var r,n,i,a,o;if(s(t),void 0===(n=this._events))return this;if(void 0===(r=n[e]))return this;if(r===t||r.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit(\"removeListener\",e,r.listener||t));else if(\"function\"!=typeof r){for(i=-1,a=r.length-1;a>=0;a--)if(r[a]===t||r[a].listener===t){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(r,i),1===r.length&&(n[e]=r[0]),void 0!==n.removeListener&&this.emit(\"removeListener\",e,o||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0===arguments.length){var i,a=Object.keys(r);for(n=0;n<a.length;++n)\"removeListener\"!==(i=a[n])&&this.removeAllListeners(i);return this.removeAllListeners(\"removeListener\"),this._events=Object.create(null),this._eventsCount=0,this}if(\"function\"==typeof(t=r[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},a.prototype.listeners=function(e){return h(this,e,!0)},a.prototype.rawListeners=function(e){return h(this,e,!1)},a.listenerCount=function(e,t){return\"function\"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},60774:function(e){var t=function(){if(\"object\"==typeof self&&self)return self;if(\"object\"==typeof window&&window)return window;throw new Error(\"Unable to resolve global `this`\")};e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},94908:function(e,t,r){\"use strict\";e.exports=r(51152)()?globalThis:r(60774)},51152:function(e){\"use strict\";e.exports=function(){return\"object\"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},92770:function(e,t,r){\"use strict\";var n=r(18546);e.exports=function(e){var t=typeof e;if(\"string\"===t){var r=e;if(0==(e=+e)&&n(r))return!1}else if(\"number\"!==t)return!1;return e-e<1}},30120:function(e,t,r){var n=r(90660);e.exports=function(e,t,r){if(!e)throw new TypeError(\"must specify data as first parameter\");if(r=0|+(r||0),Array.isArray(e)&&e[0]&&\"number\"==typeof e[0][0]){var i,a,o,s,l=e[0].length,u=e.length*l;t&&\"string\"!=typeof t||(t=new(n(t||\"float32\"))(u+r));var c=t.length-r;if(u!==c)throw new Error(\"source length \"+u+\" (\"+l+\"x\"+e.length+\") does not match destination length \"+c);for(i=0,o=r;i<e.length;i++)for(a=0;a<l;a++)t[o++]=null===e[i][a]?NaN:e[i][a]}else if(t&&\"string\"!=typeof t)t.set(e,r);else{var f=n(t||\"float32\");if(Array.isArray(e)||\"array\"===t)for(i=0,o=r,s=(t=new f(e.length+r)).length;o<s;o++,i++)t[o]=null===e[i]?NaN:e[i];else 0===r?t=new f(e):(t=new f(e.length+r)).set(e,r)}return t}},68016:function(e,t,r){\"use strict\";var n=r(53313),i=[32,126];e.exports=function(e){var t=(e=e||{}).shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],r=e.canvas||document.createElement(\"canvas\"),a=e.font,o=\"number\"==typeof e.step?[e.step,e.step]:e.step||[32,32],s=e.chars||i;if(a&&\"string\"!=typeof a&&(a=n(a)),Array.isArray(s)){if(2===s.length&&\"number\"==typeof s[0]&&\"number\"==typeof s[1]){for(var l=[],u=s[0],c=0;u<=s[1];u++)l[c++]=String.fromCharCode(u);s=l}}else s=String(s).split(\"\");t=t.slice(),r.width=t[0],r.height=t[1];var f=r.getContext(\"2d\");f.fillStyle=\"#000\",f.fillRect(0,0,r.width,r.height),f.font=a,f.textAlign=\"center\",f.textBaseline=\"middle\",f.fillStyle=\"#fff\";var h=o[0]/2,p=o[1]/2;for(u=0;u<s.length;u++)f.fillText(s[u],h,p),(h+=o[0])>t[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},32879:function(e){\"use strict\";function t(e,a){a||(a={}),(\"string\"==typeof e||Array.isArray(e))&&(a.family=e);var o=Array.isArray(a.family)?a.family.join(\", \"):a.family;if(!o)throw Error(\"`family` must be defined\");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||\"\",u=(e=[a.style||a.fontStyle||\"\",l,s].join(\" \")+\"px \"+o,a.origin||\"top\");if(t.cache[o]&&s<=t.cache[o].em)return r(t.cache[o],u);var c=a.canvas||t.canvas,f=c.getContext(\"2d\"),h={upper:void 0!==a.upper?a.upper:\"H\",lower:void 0!==a.lower?a.lower:\"x\",descent:void 0!==a.descent?a.descent:\"p\",ascent:void 0!==a.ascent?a.ascent:\"h\",tittle:void 0!==a.tittle?a.tittle:\"i\",overshoot:void 0!==a.overshoot?a.overshoot:\"O\"},p=Math.ceil(1.5*s);c.height=p,c.width=.5*p,f.font=e;var d=\"H\",v={top:0};f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillStyle=\"black\",f.fillText(d,0,0);var g=n(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline=\"bottom\",f.fillText(d,0,p);var m=n(f.getImageData(0,0,p,p));v.lineHeight=v.bottom=p-m+g,f.clearRect(0,0,p,p),f.textBaseline=\"alphabetic\",f.fillText(d,0,p);var y=p-n(f.getImageData(0,0,p,p))-1+g;v.baseline=v.alphabetic=y,f.clearRect(0,0,p,p),f.textBaseline=\"middle\",f.fillText(d,0,.5*p);var x=n(f.getImageData(0,0,p,p));v.median=v.middle=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"hanging\",f.fillText(d,0,.5*p);var b=n(f.getImageData(0,0,p,p));v.hanging=p-b-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"ideographic\",f.fillText(d,0,p);var _=n(f.getImageData(0,0,p,p));if(v.ideographic=p-_-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.upper,0,0),v.upper=n(f.getImageData(0,0,p,p)),v.capHeight=v.baseline-v.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.lower,0,0),v.lower=n(f.getImageData(0,0,p,p)),v.xHeight=v.baseline-v.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.tittle,0,0),v.tittle=n(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.ascent,0,0),v.ascent=n(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.descent,0,0),v.descent=i(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.overshoot,0,0);var w=i(f.getImageData(0,0,p,p));v.overshoot=w-y}for(var k in v)v[k]/=s;return v.em=s,t.cache[o]=v,r(v,u)}function r(e,t){var r={};for(var n in\"string\"==typeof t&&(t=e[t]),e)\"em\"!==n&&(r[n]=e[n]-t);return r}function n(e){for(var t=e.height,r=e.data,n=3;n<r.length;n+=4)if(0!==r[n])return Math.floor(.25*(n-3)/t)}function i(e){for(var t=e.height,r=e.data,n=r.length-1;n>0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/t)}e.exports=t,t.canvas=document.createElement(\"canvas\"),t.cache={}},31353:function(e,t,r){\"use strict\";var n=r(85395),i=Object.prototype.toString,a=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){if(!n(t))throw new TypeError(\"iterator must be a function\");var o;arguments.length>=3&&(o=r),\"[object Array]\"===i.call(e)?function(e,t,r){for(var n=0,i=e.length;n<i;n++)a.call(e,n)&&(null==r?t(e[n],n,e):t.call(r,e[n],n,e))}(e,t,o):\"string\"==typeof e?function(e,t,r){for(var n=0,i=e.length;n<i;n++)null==r?t(e.charAt(n),n,e):t.call(r,e.charAt(n),n,e)}(e,t,o):function(e,t,r){for(var n in e)a.call(e,n)&&(null==r?t(e[n],n,e):t.call(r,e[n],n,e))}(e,t,o)}},73047:function(e){\"use strict\";var t=Array.prototype.slice,r=Object.prototype.toString;e.exports=function(e){var n=this;if(\"function\"!=typeof n||\"[object Function]\"!==r.call(n))throw new TypeError(\"Function.prototype.bind called on incompatible \"+n);for(var i,a=t.call(arguments,1),o=Math.max(0,n.length-a.length),s=[],l=0;l<o;l++)s.push(\"$\"+l);if(i=Function(\"binder\",\"return function (\"+s.join(\",\")+\"){ return binder.apply(this,arguments); }\")((function(){if(this instanceof i){var r=n.apply(this,a.concat(t.call(arguments)));return Object(r)===r?r:this}return n.apply(e,a.concat(t.call(arguments)))})),n.prototype){var u=function(){};u.prototype=n.prototype,i.prototype=new u,u.prototype=null}return i}},77575:function(e,t,r){\"use strict\";var n=r(73047);e.exports=Function.prototype.bind||n},86249:function(e){e.exports=function(e,t){if(\"string\"!=typeof e)throw new TypeError(\"must specify type string\");if(t=t||{},\"undefined\"==typeof document&&!t.canvas)return null;var r=t.canvas||document.createElement(\"canvas\");\"number\"==typeof t.width&&(r.width=t.width),\"number\"==typeof t.height&&(r.height=t.height);var n,i=t;try{var a=[e];0===e.indexOf(\"webgl\")&&a.push(\"experimental-\"+e);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(e){n=null}return n||null}},68318:function(e,t,r){\"use strict\";var n,i=SyntaxError,a=Function,o=TypeError,s=function(e){try{return a('\"use strict\"; return ('+e+\").constructor;\")()}catch(e){}},l=Object.getOwnPropertyDescriptor;if(l)try{l({},\"\")}catch(e){l=null}var u=function(){throw new o},c=l?function(){try{return u}catch(e){try{return l(arguments,\"callee\").get}catch(e){return u}}}():u,f=r(57877)(),h=Object.getPrototypeOf||function(e){return e.__proto__},p={},d=\"undefined\"==typeof Uint8Array?n:h(Uint8Array),v={\"%AggregateError%\":\"undefined\"==typeof AggregateError?n:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":\"undefined\"==typeof ArrayBuffer?n:ArrayBuffer,\"%ArrayIteratorPrototype%\":f?h([][Symbol.iterator]()):n,\"%AsyncFromSyncIteratorPrototype%\":n,\"%AsyncFunction%\":p,\"%AsyncGenerator%\":p,\"%AsyncGeneratorFunction%\":p,\"%AsyncIteratorPrototype%\":p,\"%Atomics%\":\"undefined\"==typeof Atomics?n:Atomics,\"%BigInt%\":\"undefined\"==typeof BigInt?n:BigInt,\"%BigInt64Array%\":\"undefined\"==typeof BigInt64Array?n:BigInt64Array,\"%BigUint64Array%\":\"undefined\"==typeof BigUint64Array?n:BigUint64Array,\"%Boolean%\":Boolean,\"%DataView%\":\"undefined\"==typeof DataView?n:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":Error,\"%eval%\":eval,\"%EvalError%\":EvalError,\"%Float32Array%\":\"undefined\"==typeof Float32Array?n:Float32Array,\"%Float64Array%\":\"undefined\"==typeof Float64Array?n:Float64Array,\"%FinalizationRegistry%\":\"undefined\"==typeof FinalizationRegistry?n:FinalizationRegistry,\"%Function%\":a,\"%GeneratorFunction%\":p,\"%Int8Array%\":\"undefined\"==typeof Int8Array?n:Int8Array,\"%Int16Array%\":\"undefined\"==typeof Int16Array?n:Int16Array,\"%Int32Array%\":\"undefined\"==typeof Int32Array?n:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":f?h(h([][Symbol.iterator]())):n,\"%JSON%\":\"object\"==typeof JSON?JSON:n,\"%Map%\":\"undefined\"==typeof Map?n:Map,\"%MapIteratorPrototype%\":\"undefined\"!=typeof Map&&f?h((new Map)[Symbol.iterator]()):n,\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":Object,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":\"undefined\"==typeof Promise?n:Promise,\"%Proxy%\":\"undefined\"==typeof Proxy?n:Proxy,\"%RangeError%\":RangeError,\"%ReferenceError%\":ReferenceError,\"%Reflect%\":\"undefined\"==typeof Reflect?n:Reflect,\"%RegExp%\":RegExp,\"%Set%\":\"undefined\"==typeof Set?n:Set,\"%SetIteratorPrototype%\":\"undefined\"!=typeof Set&&f?h((new Set)[Symbol.iterator]()):n,\"%SharedArrayBuffer%\":\"undefined\"==typeof SharedArrayBuffer?n:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":f?h(\"\"[Symbol.iterator]()):n,\"%Symbol%\":f?Symbol:n,\"%SyntaxError%\":i,\"%ThrowTypeError%\":c,\"%TypedArray%\":d,\"%TypeError%\":o,\"%Uint8Array%\":\"undefined\"==typeof Uint8Array?n:Uint8Array,\"%Uint8ClampedArray%\":\"undefined\"==typeof Uint8ClampedArray?n:Uint8ClampedArray,\"%Uint16Array%\":\"undefined\"==typeof Uint16Array?n:Uint16Array,\"%Uint32Array%\":\"undefined\"==typeof Uint32Array?n:Uint32Array,\"%URIError%\":URIError,\"%WeakMap%\":\"undefined\"==typeof WeakMap?n:WeakMap,\"%WeakRef%\":\"undefined\"==typeof WeakRef?n:WeakRef,\"%WeakSet%\":\"undefined\"==typeof WeakSet?n:WeakSet};try{null.error}catch(e){var g=h(h(e));v[\"%Error.prototype%\"]=g}var m=function e(t){var r;if(\"%AsyncFunction%\"===t)r=s(\"async function () {}\");else if(\"%GeneratorFunction%\"===t)r=s(\"function* () {}\");else if(\"%AsyncGeneratorFunction%\"===t)r=s(\"async function* () {}\");else if(\"%AsyncGenerator%\"===t){var n=e(\"%AsyncGeneratorFunction%\");n&&(r=n.prototype)}else if(\"%AsyncIteratorPrototype%\"===t){var i=e(\"%AsyncGenerator%\");i&&(r=h(i.prototype))}return v[t]=r,r},y={\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]},x=r(77575),b=r(35065),_=x.call(Function.call,Array.prototype.concat),w=x.call(Function.apply,Array.prototype.splice),k=x.call(Function.call,String.prototype.replace),T=x.call(Function.call,String.prototype.slice),M=x.call(Function.call,RegExp.prototype.exec),A=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,S=/\\\\(\\\\)?/g,E=function(e,t){var r,n=e;if(b(y,n)&&(n=\"%\"+(r=y[n])[0]+\"%\"),b(v,n)){var a=v[n];if(a===p&&(a=m(n)),void 0===a&&!t)throw new o(\"intrinsic \"+e+\" exists, but is not available. Please file an issue!\");return{alias:r,name:n,value:a}}throw new i(\"intrinsic \"+e+\" does not exist!\")};e.exports=function(e,t){if(\"string\"!=typeof e||0===e.length)throw new o(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&\"boolean\"!=typeof t)throw new o('\"allowMissing\" argument must be a boolean');if(null===M(/^%?[^%]*%?$/,e))throw new i(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var r=function(e){var t=T(e,0,1),r=T(e,-1);if(\"%\"===t&&\"%\"!==r)throw new i(\"invalid intrinsic syntax, expected closing `%`\");if(\"%\"===r&&\"%\"!==t)throw new i(\"invalid intrinsic syntax, expected opening `%`\");var n=[];return k(e,A,(function(e,t,r,i){n[n.length]=r?k(i,S,\"$1\"):t||e})),n}(e),n=r.length>0?r[0]:\"\",a=E(\"%\"+n+\"%\",t),s=a.name,u=a.value,c=!1,f=a.alias;f&&(n=f[0],w(r,_([0,1],f)));for(var h=1,p=!0;h<r.length;h+=1){var d=r[h],g=T(d,0,1),m=T(d,-1);if(('\"'===g||\"'\"===g||\"`\"===g||'\"'===m||\"'\"===m||\"`\"===m)&&g!==m)throw new i(\"property names with quotes must have matching quotes\");if(\"constructor\"!==d&&p||(c=!0),b(v,s=\"%\"+(n+=\".\"+d)+\"%\"))u=v[s];else if(null!=u){if(!(d in u)){if(!t)throw new o(\"base intrinsic for \"+e+\" exists, but the property is not available.\");return}if(l&&h+1>=r.length){var y=l(u,d);u=(p=!!y)&&\"get\"in y&&!(\"originalValue\"in y.get)?y.get:u[d]}else p=b(u,d),u=u[d];p&&!c&&(v[s]=u)}}return u}},85400:function(e){e.exports=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],p=t[11],d=t[12],v=t[13],g=t[14],m=t[15];return e[0]=s*(h*m-p*g)-f*(l*m-u*g)+v*(l*p-u*h),e[1]=-(n*(h*m-p*g)-f*(i*m-a*g)+v*(i*p-a*h)),e[2]=n*(l*m-u*g)-s*(i*m-a*g)+v*(i*u-a*l),e[3]=-(n*(l*p-u*h)-s*(i*p-a*h)+f*(i*u-a*l)),e[4]=-(o*(h*m-p*g)-c*(l*m-u*g)+d*(l*p-u*h)),e[5]=r*(h*m-p*g)-c*(i*m-a*g)+d*(i*p-a*h),e[6]=-(r*(l*m-u*g)-o*(i*m-a*g)+d*(i*u-a*l)),e[7]=r*(l*p-u*h)-o*(i*p-a*h)+c*(i*u-a*l),e[8]=o*(f*m-p*v)-c*(s*m-u*v)+d*(s*p-u*f),e[9]=-(r*(f*m-p*v)-c*(n*m-a*v)+d*(n*p-a*f)),e[10]=r*(s*m-u*v)-o*(n*m-a*v)+d*(n*u-a*s),e[11]=-(r*(s*p-u*f)-o*(n*p-a*f)+c*(n*u-a*s)),e[12]=-(o*(f*g-h*v)-c*(s*g-l*v)+d*(s*h-l*f)),e[13]=r*(f*g-h*v)-c*(n*g-i*v)+d*(n*h-i*f),e[14]=-(r*(s*g-l*v)-o*(n*g-i*v)+d*(n*l-i*s)),e[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),e}},42331:function(e){e.exports=function(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},31042:function(e){e.exports=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},11902:function(e){e.exports=function(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},89887:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11],p=e[12],d=e[13],v=e[14],g=e[15];return(t*o-r*a)*(f*g-h*v)-(t*s-n*a)*(c*g-h*d)+(t*l-i*a)*(c*v-f*d)+(r*s-n*o)*(u*g-h*p)-(r*l-i*o)*(u*v-f*p)+(n*l-i*s)*(u*d-c*p)}},27812:function(e){e.exports=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,p=i*s,d=i*l,v=a*o,g=a*s,m=a*l;return e[0]=1-f-d,e[1]=c+m,e[2]=h-g,e[3]=0,e[4]=c-m,e[5]=1-u-d,e[6]=p+v,e[7]=0,e[8]=h+g,e[9]=p-v,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},34045:function(e){e.exports=function(e,t,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(o*=u=1/u,s*=u,l*=u,n=Math.sin(t),a=1-(i=Math.cos(t)),e[0]=o*o*a+i,e[1]=s*o*a+l*n,e[2]=l*o*a-s*n,e[3]=0,e[4]=o*s*a-l*n,e[5]=s*s*a+i,e[6]=l*s*a+o*n,e[7]=0,e[8]=o*l*a+s*n,e[9]=s*l*a-o*n,e[10]=l*l*a+i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}},45973:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,p=i*l,d=i*u,v=a*u,g=o*s,m=o*l,y=o*u;return e[0]=1-(p+v),e[1]=f+y,e[2]=h-m,e[3]=0,e[4]=f-y,e[5]=1-(c+v),e[6]=d+g,e[7]=0,e[8]=h+m,e[9]=d-g,e[10]=1-(c+p),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}},81472:function(e){e.exports=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},14669:function(e){e.exports=function(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}},75262:function(e){e.exports=function(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},331:function(e){e.exports=function(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},11049:function(e){e.exports=function(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},75195:function(e){e.exports=function(e,t,r,n,i,a,o){var s=1/(r-t),l=1/(i-n),u=1/(a-o);return e[0]=2*a*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*a*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*l,e[10]=(o+a)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*u,e[15]=0,e}},71551:function(e){e.exports=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},79576:function(e,t,r){e.exports={create:r(11902),clone:r(42331),copy:r(31042),identity:r(71551),transpose:r(88654),invert:r(95874),adjoint:r(85400),determinant:r(89887),multiply:r(91362),translate:r(31283),scale:r(10789),rotate:r(65074),rotateX:r(35545),rotateY:r(94918),rotateZ:r(15692),fromRotation:r(34045),fromRotationTranslation:r(45973),fromScaling:r(81472),fromTranslation:r(14669),fromXRotation:r(75262),fromYRotation:r(331),fromZRotation:r(11049),fromQuat:r(27812),frustum:r(75195),perspective:r(7864),perspectiveFromFieldOfView:r(35279),ortho:r(60378),lookAt:r(65551),str:r(6726)}},95874:function(e){e.exports=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],p=t[11],d=t[12],v=t[13],g=t[14],m=t[15],y=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,k=i*u-a*l,T=c*v-f*d,M=c*g-h*d,A=c*m-p*d,S=f*g-h*v,E=f*m-p*v,C=h*m-p*g,L=y*C-x*E+b*S+_*A-w*M+k*T;return L?(L=1/L,e[0]=(s*C-l*E+u*S)*L,e[1]=(i*E-n*C-a*S)*L,e[2]=(v*k-g*w+m*_)*L,e[3]=(h*w-f*k-p*_)*L,e[4]=(l*A-o*C-u*M)*L,e[5]=(r*C-i*A+a*M)*L,e[6]=(g*b-d*k-m*x)*L,e[7]=(c*k-h*b+p*x)*L,e[8]=(o*E-s*A+u*T)*L,e[9]=(n*A-r*E-a*T)*L,e[10]=(d*w-v*b+m*y)*L,e[11]=(f*b-c*w-p*y)*L,e[12]=(s*M-o*S-l*T)*L,e[13]=(r*S-n*M+i*T)*L,e[14]=(v*x-d*_-g*y)*L,e[15]=(c*_-f*x+h*y)*L,e):null}},65551:function(e,t,r){var n=r(71551);e.exports=function(e,t,r,i){var a,o,s,l,u,c,f,h,p,d,v=t[0],g=t[1],m=t[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],k=r[2];return Math.abs(v-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(m-k)<1e-6?n(e):(f=v-_,h=g-w,p=m-k,a=x*(p*=d=1/Math.sqrt(f*f+h*h+p*p))-b*(h*=d),o=b*(f*=d)-y*p,s=y*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=h*s-p*o,u=p*a-f*s,c=f*o-h*a,(d=Math.sqrt(l*l+u*u+c*c))?(l*=d=1/d,u*=d,c*=d):(l=0,u=0,c=0),e[0]=a,e[1]=l,e[2]=f,e[3]=0,e[4]=o,e[5]=u,e[6]=h,e[7]=0,e[8]=s,e[9]=c,e[10]=p,e[11]=0,e[12]=-(a*v+o*g+s*m),e[13]=-(l*v+u*g+c*m),e[14]=-(f*v+h*g+p*m),e[15]=1,e)}},91362:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],p=t[10],d=t[11],v=t[12],g=t[13],m=t[14],y=t[15],x=r[0],b=r[1],_=r[2],w=r[3];return e[0]=x*n+b*s+_*f+w*v,e[1]=x*i+b*l+_*h+w*g,e[2]=x*a+b*u+_*p+w*m,e[3]=x*o+b*c+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],e[4]=x*n+b*s+_*f+w*v,e[5]=x*i+b*l+_*h+w*g,e[6]=x*a+b*u+_*p+w*m,e[7]=x*o+b*c+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],e[8]=x*n+b*s+_*f+w*v,e[9]=x*i+b*l+_*h+w*g,e[10]=x*a+b*u+_*p+w*m,e[11]=x*o+b*c+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],e[12]=x*n+b*s+_*f+w*v,e[13]=x*i+b*l+_*h+w*g,e[14]=x*a+b*u+_*p+w*m,e[15]=x*o+b*c+_*d+w*y,e}},60378:function(e){e.exports=function(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),u=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*u,e[15]=1,e}},7864:function(e){e.exports=function(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}},35279:function(e){e.exports=function(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-(o-s)*l*.5,e[9]=(i-a)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}},65074:function(e){e.exports=function(e,t,r,n){var i,a,o,s,l,u,c,f,h,p,d,v,g,m,y,x,b,_,w,k,T,M,A,S,E=n[0],C=n[1],L=n[2],P=Math.sqrt(E*E+C*C+L*L);return Math.abs(P)<1e-6?null:(E*=P=1/P,C*=P,L*=P,i=Math.sin(r),o=1-(a=Math.cos(r)),s=t[0],l=t[1],u=t[2],c=t[3],f=t[4],h=t[5],p=t[6],d=t[7],v=t[8],g=t[9],m=t[10],y=t[11],x=E*E*o+a,b=C*E*o+L*i,_=L*E*o-C*i,w=E*C*o-L*i,k=C*C*o+a,T=L*C*o+E*i,M=E*L*o+C*i,A=C*L*o-E*i,S=L*L*o+a,e[0]=s*x+f*b+v*_,e[1]=l*x+h*b+g*_,e[2]=u*x+p*b+m*_,e[3]=c*x+d*b+y*_,e[4]=s*w+f*k+v*T,e[5]=l*w+h*k+g*T,e[6]=u*w+p*k+m*T,e[7]=c*w+d*k+y*T,e[8]=s*M+f*A+v*S,e[9]=l*M+h*A+g*S,e[10]=u*M+p*A+m*S,e[11]=c*M+d*A+y*S,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}},35545:function(e){e.exports=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+u*n,e[5]=o*i+c*n,e[6]=s*i+f*n,e[7]=l*i+h*n,e[8]=u*i-a*n,e[9]=c*i-o*n,e[10]=f*i-s*n,e[11]=h*i-l*n,e}},94918:function(e){e.exports=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-u*n,e[1]=o*i-c*n,e[2]=s*i-f*n,e[3]=l*i-h*n,e[8]=a*n+u*i,e[9]=o*n+c*i,e[10]=s*n+f*i,e[11]=l*n+h*i,e}},15692:function(e){e.exports=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+u*n,e[1]=o*i+c*n,e[2]=s*i+f*n,e[3]=l*i+h*n,e[4]=u*i-a*n,e[5]=c*i-o*n,e[6]=f*i-s*n,e[7]=h*i-l*n,e}},10789:function(e){e.exports=function(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},6726:function(e){e.exports=function(e){return\"mat4(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+e[3]+\", \"+e[4]+\", \"+e[5]+\", \"+e[6]+\", \"+e[7]+\", \"+e[8]+\", \"+e[9]+\", \"+e[10]+\", \"+e[11]+\", \"+e[12]+\", \"+e[13]+\", \"+e[14]+\", \"+e[15]+\")\"}},31283:function(e){e.exports=function(e,t,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],m=r[2];return t===e?(e[12]=t[0]*v+t[4]*g+t[8]*m+t[12],e[13]=t[1]*v+t[5]*g+t[9]*m+t[13],e[14]=t[2]*v+t[6]*g+t[10]*m+t[14],e[15]=t[3]*v+t[7]*g+t[11]*m+t[15]):(n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],p=t[10],d=t[11],e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=l,e[6]=u,e[7]=c,e[8]=f,e[9]=h,e[10]=p,e[11]=d,e[12]=n*v+s*g+f*m+t[12],e[13]=i*v+l*g+h*m+t[13],e[14]=a*v+u*g+p*m+t[14],e[15]=o*v+c*g+d*m+t[15]),e}},88654:function(e){e.exports=function(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}},42505:function(e,t,r){\"use strict\";var n=r(72791),i=r(71299),a=r(98580),o=r(12018),s=r(83522),l=r(25075),u=r(68016),c=r(58404),f=r(18863),h=r(10973),p=r(25677),d=r(75686),v=r(53545),g=r(56131),m=r(32879),y=r(30120),x=r(13547).nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement(\"div\"));w.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var k=function(e){!function(e){return\"function\"==typeof e&&e._gl&&e.prop&&e.texture&&e.buffer}(e)?this.gl=o(e):(e={regl:e},this.gl=e.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=e.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:\"uint8\",usage:\"stream\"}),this.sizeBuffer=this.regl.buffer({type:\"float\",usage:\"stream\"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(e)?e:{})};k.prototype.createShader=function(){var e=this.regl,t=e({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},stencil:{enable:!1},depth:{enable:!1},count:e.prop(\"count\"),offset:e.prop(\"offset\"),attributes:{charOffset:{offset:4,stride:8,buffer:e.this(\"sizeBuffer\")},width:{offset:0,stride:8,buffer:e.this(\"sizeBuffer\")},char:e.this(\"charBuffer\"),position:e.this(\"position\")},uniforms:{atlasSize:function(e,t){return[t.atlas.width,t.atlas.height]},atlasDim:function(e,t){return[t.atlas.cols,t.atlas.rows]},atlas:function(e,t){return t.atlas.texture},charStep:function(e,t){return t.atlas.step},em:function(e,t){return t.atlas.em},color:e.prop(\"color\"),opacity:e.prop(\"opacity\"),viewport:e.this(\"viewportArray\"),scale:e.this(\"scale\"),align:e.prop(\"align\"),baseline:e.prop(\"baseline\"),translate:e.this(\"translate\"),positionOffset:e.prop(\"positionOffset\")},primitive:\"points\",viewport:e.this(\"viewport\"),vert:\"\\n\\t\\t\\tprecision highp float;\\n\\t\\t\\tattribute float width, charOffset, char;\\n\\t\\t\\tattribute vec2 position;\\n\\t\\t\\tuniform float fontSize, charStep, em, align, baseline;\\n\\t\\t\\tuniform vec4 viewport;\\n\\t\\t\\tuniform vec4 color;\\n\\t\\t\\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\\n\\t\\t\\tvarying vec2 charCoord, charId;\\n\\t\\t\\tvarying float charWidth;\\n\\t\\t\\tvarying vec4 fontColor;\\n\\t\\t\\tvoid main () {\\n\\t\\t\\t\\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\\n\\t\\t\\t\\t\\t+ vec2(positionOffset.x, -positionOffset.y)))\\n\\t\\t\\t\\t\\t/ (viewport.zw * scale.xy);\\n\\n\\t\\t\\t\\tvec2 position = (position + translate) * scale;\\n\\t\\t\\t\\tposition += offset * scale;\\n\\n\\t\\t\\t\\tcharCoord = position * viewport.zw + viewport.xy;\\n\\n\\t\\t\\t\\tgl_Position = vec4(position * 2. - 1., 0, 1);\\n\\n\\t\\t\\t\\tgl_PointSize = charStep;\\n\\n\\t\\t\\t\\tcharId.x = mod(char, atlasDim.x);\\n\\t\\t\\t\\tcharId.y = floor(char / atlasDim.x);\\n\\n\\t\\t\\t\\tcharWidth = width * em;\\n\\n\\t\\t\\t\\tfontColor = color / 255.;\\n\\t\\t\\t}\",frag:\"\\n\\t\\t\\tprecision highp float;\\n\\t\\t\\tuniform float fontSize, charStep, opacity;\\n\\t\\t\\tuniform vec2 atlasSize;\\n\\t\\t\\tuniform vec4 viewport;\\n\\t\\t\\tuniform sampler2D atlas;\\n\\t\\t\\tvarying vec4 fontColor;\\n\\t\\t\\tvarying vec2 charCoord, charId;\\n\\t\\t\\tvarying float charWidth;\\n\\n\\t\\t\\tfloat lightness(vec4 color) {\\n\\t\\t\\t\\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main () {\\n\\t\\t\\t\\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\\n\\t\\t\\t\\tfloat halfCharStep = floor(charStep * .5 + .5);\\n\\n\\t\\t\\t\\t// invert y and shift by 1px (FF expecially needs that)\\n\\t\\t\\t\\tuv.y = charStep - uv.y;\\n\\n\\t\\t\\t\\t// ignore points outside of character bounding box\\n\\t\\t\\t\\tfloat halfCharWidth = ceil(charWidth * .5);\\n\\t\\t\\t\\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\\n\\t\\t\\t\\t\\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\\n\\n\\t\\t\\t\\tuv += charId * charStep;\\n\\t\\t\\t\\tuv = uv / atlasSize;\\n\\n\\t\\t\\t\\tvec4 color = fontColor;\\n\\t\\t\\t\\tvec4 mask = texture2D(atlas, uv);\\n\\n\\t\\t\\t\\tfloat maskY = lightness(mask);\\n\\t\\t\\t\\t// float colorY = lightness(color);\\n\\t\\t\\t\\tcolor.a *= maskY;\\n\\t\\t\\t\\tcolor.a *= opacity;\\n\\n\\t\\t\\t\\t// color.a += .1;\\n\\n\\t\\t\\t\\t// antialiasing, see yiq color space y-channel formula\\n\\t\\t\\t\\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\\n\\n\\t\\t\\t\\tgl_FragColor = color;\\n\\t\\t\\t}\"});return{regl:e,draw:t,atlas:{}}},k.prototype.update=function(e){var t=this;if(\"string\"==typeof e)e={text:e};else if(!e)return;null!=(e=i(e,{position:\"position positions coord coords coordinates\",font:\"font fontFace fontface typeface cssFont css-font family fontFamily\",fontSize:\"fontSize fontsize size font-size\",text:\"text texts chars characters value values symbols\",align:\"align alignment textAlign textbaseline\",baseline:\"baseline textBaseline textbaseline\",direction:\"dir direction textDirection\",color:\"color colour fill fill-color fillColor textColor textcolor\",kerning:\"kerning kern\",range:\"range dataBox\",viewport:\"vp viewport viewBox viewbox viewPort\",opacity:\"opacity alpha transparency visible visibility opaque\",offset:\"offset positionOffset padding shift indent indentation\"},!0)).opacity&&(Array.isArray(e.opacity)?this.opacity=e.opacity.map((function(e){return parseFloat(e)})):this.opacity=parseFloat(e.opacity)),null!=e.viewport&&(this.viewport=f(e.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=e.kerning&&(this.kerning=e.kerning),null!=e.offset&&(\"number\"==typeof e.offset&&(e.offset=[e.offset,0]),this.positionOffset=y(e.offset)),e.direction&&(this.direction=e.direction),e.range&&(this.range=e.range,this.scale=[1/(e.range[2]-e.range[0]),1/(e.range[3]-e.range[1])],this.translate=[-e.range[0],-e.range[1]]),e.scale&&(this.scale=e.scale),e.translate&&(this.translate=e.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||e.font||(e.font=k.baseFontSize+\"px sans-serif\");var r,a=!1,o=!1;if(e.font&&(Array.isArray(e.font)?e.font:[e.font]).forEach((function(e,r){if(\"string\"==typeof e)try{e=n.parse(e)}catch(t){e=n.parse(k.baseFontSize+\"px \"+e)}else e=n.parse(n.stringify(e));var i=n.stringify({size:k.baseFontSize,family:e.family,stretch:_?e.stretch:void 0,variant:e.variant,weight:e.weight,style:e.style}),s=p(e.size),l=Math.round(s[0]*d(s[1]));if(l!==t.fontSize[r]&&(o=!0,t.fontSize[r]=l),!(t.font[r]&&i==t.font[r].baseString||(a=!0,t.font[r]=k.fonts[i],t.font[r]))){var u=e.family.join(\", \"),c=[e.style];e.style!=e.variant&&c.push(e.variant),e.variant!=e.weight&&c.push(e.weight),_&&e.weight!=e.stretch&&c.push(e.stretch),t.font[r]={baseString:i,family:u,weight:e.weight,stretch:e.stretch,style:e.style,variant:e.variant,width:{},kerning:{},metrics:m(u,{origin:\"top\",fontSize:k.baseFontSize,fontStyle:c.join(\" \")})},k.fonts[i]=t.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:t.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(t.fontAtlas[i]=t.shader.atlas[a],!t.fontAtlas[i]){var o=r.metrics;t.shader.atlas[a]=t.fontAtlas[i]={fontString:a,step:2*Math.ceil(t.fontSize[i]*o.bottom*.5),em:t.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:t.regl.texture()}}null==e.text&&(e.text=t.text)})),\"string\"==typeof e.text&&e.position&&e.position.length>2){for(var s=Array(.5*e.position.length),h=0;h<s.length;h++)s[h]=e.text;e.text=s}if(null!=e.text||a){if(this.textOffsets=[0],Array.isArray(e.text)){this.count=e.text[0].length,this.counts=[this.count];for(var b=1;b<e.text.length;b++)this.textOffsets[b]=this.textOffsets[b-1]+e.text[b-1].length,this.count+=e.text[b].length,this.counts.push(e.text[b].length);this.text=e.text.join(\"\")}else this.text=e.text,this.count=this.text.length,this.counts=[this.count];r=[],this.font.forEach((function(e,n){k.atlasContext.font=e.baseString;for(var i=t.fontAtlas[n],a=0;a<t.text.length;a++){var o=t.text.charAt(a);if(null==i.ids[o]&&(i.ids[o]=i.chars.length,i.chars.push(o),r.push(o)),null==e.width[o]&&(e.width[o]=k.atlasContext.measureText(o).width/k.baseFontSize,t.kerning)){var s=[];for(var l in e.width)s.push(l+o,o+l);g(e.kerning,v(e.family,{pairs:s}))}}}))}if(e.position)if(e.position.length>2){for(var w=!e.position[0].length,T=c.mallocFloat(2*this.count),M=0,A=0;M<this.counts.length;M++){var S=this.counts[M];if(w)for(var E=0;E<S;E++)T[A++]=e.position[2*M],T[A++]=e.position[2*M+1];else for(var C=0;C<S;C++)T[A++]=e.position[M][0],T[A++]=e.position[M][1]}this.position.call?this.position({type:\"float\",data:T}):this.position=this.regl.buffer({type:\"float\",data:T}),c.freeFloat(T)}else this.position.destroy&&this.position.destroy(),this.position={constant:e.position};if(e.text||a){var L=c.mallocUint8(this.count),P=c.mallocFloat(2*this.count);this.textWidth=[];for(var O=0,I=0;O<this.counts.length;O++){for(var D=this.counts[O],z=this.font[O]||this.font[0],R=this.fontAtlas[O]||this.fontAtlas[0],F=0;F<D;F++){var B=this.text.charAt(I),N=this.text.charAt(I-1);if(L[I]=R.ids[B],P[2*I]=z.width[B],F){var j=P[2*I-2],U=P[2*I],V=P[2*I-1]+.5*j+.5*U;if(this.kerning){var H=z.kerning[N+B];H&&(V+=.001*H)}P[2*I+1]=V}else P[2*I+1]=.5*P[2*I];I++}this.textWidth.push(P.length?.5*P[2*I-2]+P[2*I-1]:0)}e.align||(e.align=this.align),this.charBuffer({data:L,type:\"uint8\",usage:\"stream\"}),this.sizeBuffer({data:P,type:\"float\",usage:\"stream\"}),c.freeUint8(L),c.freeFloat(P),r.length&&this.font.forEach((function(e,r){var n=t.fontAtlas[r],i=n.step,a=Math.floor(k.maxAtlasSize/i),o=Math.min(a,n.chars.length),s=Math.ceil(n.chars.length/o),l=x(o*i),c=x(s*i);n.width=l,n.height=c,n.rows=s,n.cols=o,n.em&&n.texture({data:u({canvas:k.atlasCanvas,font:n.fontString,chars:n.chars,shape:[l,c],step:[i,i]})})}))}if(e.align&&(this.align=e.align,this.alignOffset=this.textWidth.map((function(e,r){var n=Array.isArray(t.align)?t.align.length>1?t.align[r]:t.align[0]:t.align;if(\"number\"==typeof n)return n;switch(n){case\"right\":case\"end\":return-e;case\"center\":case\"centre\":case\"middle\":return.5*-e}return 0}))),null==this.baseline&&null==e.baseline&&(e.baseline=0),null!=e.baseline&&(this.baseline=e.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(e,r){var n=(t.font[r]||t.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+=\"number\"==typeof e?e-n.baseline:-n[e])}))),null!=e.color)if(e.color||(e.color=\"transparent\"),\"string\"!=typeof e.color&&isNaN(e.color)){var q;if(\"number\"==typeof e.color[0]&&e.color.length>this.counts.length){var G=e.color.length;q=c.mallocUint8(G);for(var Y=(e.color.subarray||e.color.slice).bind(e.color),W=0;W<G;W+=4)q.set(l(Y(W,W+4),\"uint8\"),W)}else{var Z=e.color.length;q=c.mallocUint8(4*Z);for(var X=0;X<Z;X++)q.set(l(e.color[X]||0,\"uint8\"),4*X)}this.color=q}else this.color=l(e.color,\"uint8\");if(e.position||e.text||e.color||e.baseline||e.align||e.font||e.offset||e.opacity)if(this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var K=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(K);for(var J=0;J<this.batch.length;J++)this.batch[J]={count:this.counts.length>1?this.counts[J]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[J]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[J]:this.opacity,baseline:null!=this.baselineOffset[J]?this.baselineOffset[J]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[J]?this.alignOffset[J]:this.alignOffset[0]:0,atlas:this.fontAtlas[J]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*J,2*J+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},k.prototype.destroy=function(){},k.prototype.kerning=!0,k.prototype.position={constant:new Float32Array(2)},k.prototype.translate=null,k.prototype.scale=null,k.prototype.font=null,k.prototype.text=\"\",k.prototype.positionOffset=[0,0],k.prototype.opacity=1,k.prototype.color=new Uint8Array([0,0,0,255]),k.prototype.alignOffset=[0,0],k.maxAtlasSize=1024,k.atlasCanvas=document.createElement(\"canvas\"),k.atlasContext=k.atlasCanvas.getContext(\"2d\",{alpha:!1}),k.baseFontSize=64,k.fonts={},e.exports=k},12018:function(e,t,r){\"use strict\";var n=r(71299);function i(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*r.g.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*r.g.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function a(e){return\"function\"==typeof e.getContext&&\"width\"in e&&\"height\"in e}function o(){var e=document.createElement(\"canvas\");return e.style.position=\"absolute\",e.style.top=0,e.style.left=0,e}e.exports=function(e){var t;if(e?\"string\"==typeof e&&(e={container:e}):e={},(e=a(e)||\"string\"==typeof(t=e).nodeName&&\"function\"==typeof t.appendChild&&\"function\"==typeof t.getBoundingClientRect?{container:e}:function(e){return\"function\"==typeof e.drawArrays||\"function\"==typeof e.drawElements}(e)?{gl:e}:n(e,{container:\"container target element el canvas holder parent parentNode wrapper use ref root node\",gl:\"gl context webgl glContext\",attrs:\"attributes attrs contextAttributes\",pixelRatio:\"pixelRatio pxRatio px ratio pxratio pixelratio\",width:\"w width\",height:\"h height\"},!0)).pixelRatio||(e.pixelRatio=r.g.pixelRatio||1),e.gl)return e.gl;if(e.canvas&&(e.container=e.canvas.parentNode),e.container){if(\"string\"==typeof e.container){var s=document.querySelector(e.container);if(!s)throw Error(\"Element \"+e.container+\" is not found\");e.container=s}a(e.container)?(e.canvas=e.container,e.container=e.canvas.parentNode):e.canvas||(e.canvas=o(),e.container.appendChild(e.canvas),i(e))}else if(!e.canvas){if(\"undefined\"==typeof document)throw Error(\"Not DOM environment. Use headless-gl.\");e.container=document.body||document.documentElement,e.canvas=o(),e.container.appendChild(e.canvas),i(e)}return e.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some((function(t){try{e.gl=e.canvas.getContext(t,e.attrs)}catch(e){}return e.gl})),e.gl}},56068:function(e){e.exports=function(e){\"string\"==typeof e&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n<e.length-1;n++)r.push(e[n],t[n]||\"\");return r.push(e[n]),r.join(\"\")}},40383:function(e,t,r){\"use strict\";var n=r(68318)(\"%Object.getOwnPropertyDescriptor%\",!0);if(n)try{n([],\"length\")}catch(e){n=null}e.exports=n},57035:function(e,t,r){\"use strict\";var n,i=r(54404);n=\"function\"==typeof r.g.matchMedia?!r.g.matchMedia(\"(hover: none)\").matches:i,e.exports=n},38520:function(e,t,r){\"use strict\";var n=r(54404);e.exports=n&&function(){var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){e=!0}});window.addEventListener(\"test\",null,t),window.removeEventListener(\"test\",null,t)}catch(t){e=!1}return e}()},55622:function(e,t,r){\"use strict\";var n=r(68318)(\"%Object.defineProperty%\",!0),i=function(){if(n)try{return n({},\"a\",{value:1}),!0}catch(e){return!1}return!1};i.hasArrayLengthDefineBug=function(){if(!i())return null;try{return 1!==n([],\"length\",{value:1}).length}catch(e){return!0}},e.exports=i},57877:function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Symbol&&Symbol,i=r(35638);e.exports=function(){return\"function\"==typeof n&&\"function\"==typeof Symbol&&\"symbol\"==typeof n(\"foo\")&&\"symbol\"==typeof Symbol(\"bar\")&&i()}},35638:function(e){\"use strict\";e.exports=function(){if(\"function\"!=typeof Symbol||\"function\"!=typeof Object.getOwnPropertySymbols)return!1;if(\"symbol\"==typeof Symbol.iterator)return!0;var e={},t=Symbol(\"test\"),r=Object(t);if(\"string\"==typeof t)return!1;if(\"[object Symbol]\"!==Object.prototype.toString.call(t))return!1;if(\"[object Symbol]\"!==Object.prototype.toString.call(r))return!1;for(t in e[t]=42,e)return!1;if(\"function\"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if(\"function\"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var n=Object.getOwnPropertySymbols(e);if(1!==n.length||n[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(\"function\"==typeof Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(e,t);if(42!==i.value||!0!==i.enumerable)return!1}return!0}},84543:function(e,t,r){\"use strict\";var n=r(35638);e.exports=function(){return n()&&!!Symbol.toStringTag}},35065:function(e,t,r){\"use strict\";var n=r(77575);e.exports=n.call(Function.call,Object.prototype.hasOwnProperty)},95280:function(e,t){t.read=function(e,t,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,f=r?i-1:0,h=r?-1:1,p=e[t+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+e[t+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+e[t+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},t.write=function(e,t,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,f=c>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(t*l-1)*Math.pow(2,i),o+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;e[r+p]=255&o,p+=d,o/=256,u-=8);e[r+p-d]|=128*v}},42018:function(e){\"function\"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},47216:function(e,t,r){\"use strict\";var n=r(84543)(),i=r(6614)(\"Object.prototype.toString\"),a=function(e){return!(n&&e&&\"object\"==typeof e&&Symbol.toStringTag in e)&&\"[object Arguments]\"===i(e)},o=function(e){return!!a(e)||null!==e&&\"object\"==typeof e&&\"number\"==typeof e.length&&e.length>=0&&\"[object Array]\"!==i(e)&&\"[object Function]\"===i(e.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=o,e.exports=s?a:o},54404:function(e){e.exports=!0},85395:function(e){\"use strict\";var t,r,n=Function.prototype.toString,i=\"object\"==typeof Reflect&&null!==Reflect&&Reflect.apply;if(\"function\"==typeof i&&\"function\"==typeof Object.defineProperty)try{t=Object.defineProperty({},\"length\",{get:function(){throw r}}),r={},i((function(){throw 42}),null,t)}catch(e){e!==r&&(i=null)}else i=null;var a=/^\\s*class\\b/,o=function(e){try{var t=n.call(e);return a.test(t)}catch(e){return!1}},s=function(e){try{return!o(e)&&(n.call(e),!0)}catch(e){return!1}},l=Object.prototype.toString,u=\"function\"==typeof Symbol&&!!Symbol.toStringTag,c=!(0 in[,]),f=function(){return!1};if(\"object\"==typeof document){var h=document.all;l.call(h)===l.call(document.all)&&(f=function(e){if((c||!e)&&(void 0===e||\"object\"==typeof e))try{var t=l.call(e);return(\"[object HTMLAllCollection]\"===t||\"[object HTML document.all class]\"===t||\"[object HTMLCollection]\"===t||\"[object Object]\"===t)&&null==e(\"\")}catch(e){}return!1})}e.exports=i?function(e){if(f(e))return!0;if(!e)return!1;if(\"function\"!=typeof e&&\"object\"!=typeof e)return!1;try{i(e,null,t)}catch(e){if(e!==r)return!1}return!o(e)&&s(e)}:function(e){if(f(e))return!0;if(!e)return!1;if(\"function\"!=typeof e&&\"object\"!=typeof e)return!1;if(u)return s(e);if(o(e))return!1;var t=l.call(e);return!(\"[object Function]\"!==t&&\"[object GeneratorFunction]\"!==t&&!/^\\[object HTML/.test(t))&&s(e)}},65481:function(e,t,r){\"use strict\";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\\s*(?:function)?\\*/,s=r(84543)(),l=Object.getPrototypeOf;e.exports=function(e){if(\"function\"!=typeof e)return!1;if(o.test(a.call(e)))return!0;if(!s)return\"[object GeneratorFunction]\"===i.call(e);if(!l)return!1;if(void 0===n){var t=function(){if(!s)return!1;try{return Function(\"return function*() {}\")()}catch(e){}}();n=!!t&&l(t)}return l(e)===n}},62683:function(e){\"use strict\";e.exports=\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))},64274:function(e){\"use strict\";e.exports=function(e){return e!=e}},15567:function(e,t,r){\"use strict\";var n=r(68222),i=r(17045),a=r(64274),o=r(14922),s=r(22442),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),e.exports=l},14922:function(e,t,r){\"use strict\";var n=r(64274);e.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN(\"a\")?Number.isNaN:n}},22442:function(e,t,r){\"use strict\";var n=r(17045),i=r(14922);e.exports=function(){var e=i();return n(Number,{isNaN:e},{isNaN:function(){return Number.isNaN!==e}}),e}},64941:function(e){\"use strict\";e.exports=function(e){var t=typeof e;return null!==e&&(\"object\"===t||\"function\"===t)}},10973:function(e){\"use strict\";var t=Object.prototype.toString;e.exports=function(e){var r;return\"[object Object]\"===t.call(e)&&(null===(r=Object.getPrototypeOf(e))||r===Object.getPrototypeOf({}))}},18546:function(e){\"use strict\";e.exports=function(e){for(var t,r=e.length,n=0;n<r;n++)if(((t=e.charCodeAt(n))<9||t>13)&&32!==t&&133!==t&&160!==t&&5760!==t&&6158!==t&&(t<8192||t>8205)&&8232!==t&&8233!==t&&8239!==t&&8287!==t&&8288!==t&&12288!==t&&65279!==t)return!1;return!0}},89546:function(e){\"use strict\";e.exports=function(e){return\"string\"==typeof e&&(e=e.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(e)&&/[\\dz]$/i.test(e)&&e.length>4))}},9187:function(e,t,r){\"use strict\";var n=r(31353),i=r(72077),a=r(6614),o=a(\"Object.prototype.toString\"),s=r(84543)(),l=r(40383),u=\"undefined\"==typeof globalThis?r.g:globalThis,c=i(),f=a(\"Array.prototype.indexOf\",!0)||function(e,t){for(var r=0;r<e.length;r+=1)if(e[r]===t)return r;return-1},h=a(\"String.prototype.slice\"),p={},d=Object.getPrototypeOf;s&&l&&d&&n(c,(function(e){var t=new u[e];if(Symbol.toStringTag in t){var r=d(t),n=l(r,Symbol.toStringTag);if(!n){var i=d(r);n=l(i,Symbol.toStringTag)}p[e]=n.get}})),e.exports=function(e){if(!e||\"object\"!=typeof e)return!1;if(!s||!(Symbol.toStringTag in e)){var t=h(o(e),8,-1);return f(c,t)>-1}return!!l&&function(e){var t=!1;return n(p,(function(r,n){if(!t)try{t=r.call(e)===n}catch(e){}})),t}(e)}},44517:function(e){e.exports=function(){\"use strict\";var e,t,r;function n(n,i){if(e)if(t){var a=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+t+\")(sharedChunk);\",o={};e(o),(r=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:\"text/javascript\"}))}else t=i;else e=i}return n(0,(function(e){function t(e,t){return e(t={exports:{}},t.exports),t.exports}var r=\"1.10.1\",n=i;function i(e,t,r,n){this.cx=3*e,this.bx=3*(r-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(n-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=n,this.p2x=r,this.p2y=n}i.prototype.sampleCurveX=function(e){return((this.ax*e+this.bx)*e+this.cx)*e},i.prototype.sampleCurveY=function(e){return((this.ay*e+this.by)*e+this.cy)*e},i.prototype.sampleCurveDerivativeX=function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},i.prototype.solveCurveX=function(e,t){var r,n,i,a,o;for(void 0===t&&(t=1e-6),i=e,o=0;o<8;o++){if(a=this.sampleCurveX(i)-e,Math.abs(a)<t)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if((i=e)<(r=0))return r;if(i>(n=1))return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-e)<t)return i;e>a?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))};var a=o;function o(e,t){this.x=e,this.y=t}function s(e,t,r,i){var a=new n(e,t,r,i);return function(e){return a.solve(e)}}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(e){return this.clone()._add(e)},sub:function(e){return this.clone()._sub(e)},multByPoint:function(e){return this.clone()._multByPoint(e)},divByPoint:function(e){return this.clone()._divByPoint(e)},mult:function(e){return this.clone()._mult(e)},div:function(e){return this.clone()._div(e)},rotate:function(e){return this.clone()._rotate(e)},rotateAround:function(e,t){return this.clone()._rotateAround(e,t)},matMult:function(e){return this.clone()._matMult(e)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(e){return this.x===e.x&&this.y===e.y},dist:function(e){return Math.sqrt(this.distSqr(e))},distSqr:function(e){var t=e.x-this.x,r=e.y-this.y;return t*t+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith:function(e){return this.angleWithSep(e.x,e.y)},angleWithSep:function(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult:function(e){var t=e[0]*this.x+e[1]*this.y,r=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=r,this},_add:function(e){return this.x+=e.x,this.y+=e.y,this},_sub:function(e){return this.x-=e.x,this.y-=e.y,this},_mult:function(e){return this.x*=e,this.y*=e,this},_div:function(e){return this.x/=e,this.y/=e,this},_multByPoint:function(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint:function(e){return this.x/=e.x,this.y/=e.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var e=this.y;return this.y=this.x,this.x=-e,this},_rotate:function(e){var t=Math.cos(e),r=Math.sin(e),n=t*this.x-r*this.y,i=r*this.x+t*this.y;return this.x=n,this.y=i,this},_rotateAround:function(e,t){var r=Math.cos(e),n=Math.sin(e),i=t.x+r*(this.x-t.x)-n*(this.y-t.y),a=t.y+n*(this.x-t.x)+r*(this.y-t.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(e){return e instanceof o?e:Array.isArray(e)?new o(e[0],e[1]):e};var l=s(.25,.1,.25,1);function u(e,t,r){return Math.min(r,Math.max(t,e))}function c(e,t,r){var n=r-t,i=((e-t)%n+n)%n+t;return i===t?r:i}function f(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];for(var n=0,i=t;n<i.length;n+=1){var a=i[n];for(var o in a)e[o]=a[o]}return e}var h=1;function p(){return h++}function d(){return function e(t){return t?(t^16*Math.random()>>t/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}function v(e){return!!e&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function g(e,t){e.forEach((function(e){t[e]&&(t[e]=t[e].bind(t))}))}function m(e,t){return-1!==e.indexOf(t,e.length-t.length)}function y(e,t,r){var n={};for(var i in e)n[i]=t.call(r||this,e[i],i,e);return n}function x(e,t,r){var n={};for(var i in e)t.call(r||this,e[i],i,e)&&(n[i]=e[i]);return n}function b(e){return Array.isArray(e)?e.map(b):\"object\"==typeof e&&e?y(e,b):e}var _={};function w(e){_[e]||(\"undefined\"!=typeof console&&console.warn(e),_[e]=!0)}function k(e,t,r){return(r.y-e.y)*(t.x-e.x)>(t.y-e.y)*(r.x-e.x)}function T(e){for(var t=0,r=0,n=e.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)a=e[r],t+=((o=e[i]).x-a.x)*(a.y+o.y);return t}function M(){return\"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope}function A(e){var t={};if(e.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(function(e,r,n,i){var a=n||i;return t[r]=!a||a.toLowerCase(),\"\"})),t[\"max-age\"]){var r=parseInt(t[\"max-age\"],10);isNaN(r)?delete t[\"max-age\"]:t[\"max-age\"]=r}return t}var S=null;function E(e){if(null==S){var t=e.navigator?e.navigator.userAgent:null;S=!!e.safari||!(!t||!(/\\b(iPad|iPhone|iPod)\\b/.test(t)||t.match(\"Safari\")&&!t.match(\"Chrome\")))}return S}function C(e){try{var t=self[e];return t.setItem(\"_mapbox_test_\",1),t.removeItem(\"_mapbox_test_\"),!0}catch(e){return!1}}var L,P,O,I,D=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),z=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,R=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,F={now:D,frame:function(e){var t=z(e);return{cancel:function(){return R(t)}}},getImageData:function(e,t){void 0===t&&(t=0);var r=self.document.createElement(\"canvas\"),n=r.getContext(\"2d\");if(!n)throw new Error(\"failed to create canvas 2d context\");return r.width=e.width,r.height=e.height,n.drawImage(e,0,0,e.width,e.height),n.getImageData(-t,-t,e.width+2*t,e.height+2*t)},resolveURL:function(e){return L||(L=self.document.createElement(\"a\")),L.href=e,L.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==P&&(P=self.matchMedia(\"(prefers-reduced-motion: reduce)\")),P.matches)}},B={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf(\"https://api.mapbox.cn\")?\"https://events.mapbox.cn/events/v2\":0===this.API_URL.indexOf(\"https://api.mapbox.com\")?\"https://events.mapbox.com/events/v2\":null:null},FEEDBACK_URL:\"https://apps.mapbox.com/feedback\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},N={supported:!1,testSupport:function(e){!j&&I&&(U?V(e):O=e)}},j=!1,U=!1;function V(e){var t=e.createTexture();e.bindTexture(e.TEXTURE_2D,t);try{if(e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,I),e.isContextLost())return;N.supported=!0}catch(e){}e.deleteTexture(t),j=!0}self.document&&((I=self.document.createElement(\"img\")).onload=function(){O&&V(O),O=null,U=!0},I.onerror=function(){j=!0,O=null},I.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");var H=\"01\";var q=function(e,t){this._transformRequestFn=e,this._customAccessToken=t,this._createSkuToken()};function G(e){return 0===e.indexOf(\"mapbox:\")}q.prototype._createSkuToken=function(){var e=function(){for(var e=\"\",t=0;t<10;t++)e+=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"[Math.floor(62*Math.random())];return{token:[\"1\",H,e].join(\"\"),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=e.token,this._skuTokenExpiresAt=e.tokenExpiresAt},q.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},q.prototype.transformRequest=function(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}},q.prototype.normalizeStyleURL=function(e,t){if(!G(e))return e;var r=X(e);return r.path=\"/styles/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||t)},q.prototype.normalizeGlyphsURL=function(e,t){if(!G(e))return e;var r=X(e);return r.path=\"/fonts/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||t)},q.prototype.normalizeSourceURL=function(e,t){if(!G(e))return e;var r=X(e);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),this._makeAPIURL(r,this._customAccessToken||t)},q.prototype.normalizeSpriteURL=function(e,t,r,n){var i=X(e);return G(e)?(i.path=\"/styles/v1\"+i.path+\"/sprite\"+t+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=\"\"+t+r,K(i))},q.prototype.normalizeTileURL=function(e,t){if(this._isSkuTokenExpired()&&this._createSkuToken(),e&&!G(e))return e;var r=X(e),n=F.devicePixelRatio>=2||512===t?\"@2x\":\"\",i=N.supported?\".webp\":\"$1\";r.path=r.path.replace(/(\\.(png|jpg)\\d*)(?=$)/,\"\"+n+i),r.path=r.path.replace(/^.+\\/v4\\//,\"/\"),r.path=\"/v4\"+r.path;var a=this._customAccessToken||function(e){for(var t=0,r=e;t<r.length;t+=1){var n=r[t].match(/^access_token=(.*)$/);if(n)return n[1]}return null}(r.params)||B.ACCESS_TOKEN;return B.REQUIRE_ACCESS_TOKEN&&a&&this._skuToken&&r.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(r,a)},q.prototype.canonicalizeTileURL=function(e,t){var r=X(e);if(!r.path.match(/(^\\/v4\\/)/)||!r.path.match(/\\.[\\w]+$/))return e;var n=\"mapbox://tiles/\";n+=r.path.replace(\"/v4/\",\"\");var i=r.params;return t&&(i=i.filter((function(e){return!e.match(/^access_token=/)}))),i.length&&(n+=\"?\"+i.join(\"&\")),n},q.prototype.canonicalizeTileset=function(e,t){for(var r=!!t&&G(t),n=[],i=0,a=e.tiles||[];i<a.length;i+=1){var o=a[i];W(o)?n.push(this.canonicalizeTileURL(o,r)):n.push(o)}return n},q.prototype._makeAPIURL=function(e,t){var r=\"See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\",n=X(B.API_URL);if(e.protocol=n.protocol,e.authority=n.authority,\"/\"!==n.path&&(e.path=\"\"+n.path+e.path),!B.REQUIRE_ACCESS_TOKEN)return K(e);if(!(t=t||B.ACCESS_TOKEN))throw new Error(\"An API access token is required to use Mapbox GL. \"+r);if(\"s\"===t[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+r);return e.params=e.params.filter((function(e){return-1===e.indexOf(\"access_token\")})),e.params.push(\"access_token=\"+t),K(e)};var Y=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function W(e){return Y.test(e)}var Z=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function X(e){var t=e.match(Z);if(!t)throw new Error(\"Unable to parse URL object\");return{protocol:t[1],authority:t[2],path:t[3]||\"/\",params:t[4]?t[4].split(\"&\"):[]}}function K(e){var t=e.params.length?\"?\"+e.params.join(\"&\"):\"\";return e.protocol+\"://\"+e.authority+e.path+t}var J=\"mapbox.eventData\";function $(e){if(!e)return null;var t,r=e.split(\".\");if(!r||3!==r.length)return null;try{return JSON.parse((t=r[1],decodeURIComponent(self.atob(t).split(\"\").map((function(e){return\"%\"+(\"00\"+e.charCodeAt(0).toString(16)).slice(-2)})).join(\"\"))))}catch(e){return null}}var Q=function(e){this.type=e,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};Q.prototype.getStorageKey=function(e){var t,r,n=$(B.ACCESS_TOKEN);return t=n&&n.u?(r=n.u,self.btoa(encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode(Number(\"0x\"+t))})))):B.ACCESS_TOKEN||\"\",e?J+\".\"+e+\":\"+t:J+\":\"+t},Q.prototype.fetchEventData=function(){var e=C(\"localStorage\"),t=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(e)try{var n=self.localStorage.getItem(t);n&&(this.eventData=JSON.parse(n));var i=self.localStorage.getItem(r);i&&(this.anonId=i)}catch(e){w(\"Unable to read from LocalStorage\")}},Q.prototype.saveEventData=function(){var e=C(\"localStorage\"),t=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(e)try{self.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&self.localStorage.setItem(t,JSON.stringify(this.eventData))}catch(e){w(\"Unable to write to LocalStorage\")}},Q.prototype.processRequests=function(e){},Q.prototype.postEvent=function(e,t,n,i){var a=this;if(B.EVENTS_URL){var o=X(B.EVENTS_URL);o.params.push(\"access_token=\"+(i||B.ACCESS_TOKEN||\"\"));var s={event:this.type,created:new Date(e).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:r,skuId:H,userId:this.anonId},l=t?f(s,t):s,u={url:K(o),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([l])};this.pendingRequest=Me(u,(function(e){a.pendingRequest=null,n(e),a.saveEventData(),a.processRequests(i)}))}},Q.prototype.queueRequest=function(e,t){this.queue.push(e),this.processRequests(t)};var ee,te,re=function(e){function t(){e.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.postMapLoadEvent=function(e,t,r,n){this.skuToken=r,(B.EVENTS_URL&&n||B.ACCESS_TOKEN&&Array.isArray(e)&&e.some((function(e){return G(e)||W(e)})))&&this.queueRequest({id:t,timestamp:Date.now()},n)},t.prototype.processRequests=function(e){var t=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),v(this.anonId)||(this.anonId=d()),this.postEvent(i,{skuToken:this.skuToken},(function(e){e||n&&(t.success[n]=!0)}),e))}},t}(Q),ne=function(e){function t(t){e.call(this,\"appUserTurnstile\"),this._customAccessToken=t}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.postTurnstileEvent=function(e,t){B.EVENTS_URL&&B.ACCESS_TOKEN&&Array.isArray(e)&&e.some((function(e){return G(e)||W(e)}))&&this.queueRequest(Date.now(),t)},t.prototype.processRequests=function(e){var t=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=$(B.ACCESS_TOKEN),n=r?r.u:B.ACCESS_TOKEN,i=n!==this.eventData.tokenU;v(this.anonId)||(this.anonId=d(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{\"enabled.telemetry\":!1},(function(e){e||(t.eventData.lastSuccess=a,t.eventData.tokenU=n)}),e)}},t}(Q),ie=new ne,ae=ie.postTurnstileEvent.bind(ie),oe=new re,se=oe.postMapLoadEvent.bind(oe),le=\"mapbox-tiles\",ue=500,ce=50,fe=42e4;function he(){self.caches&&!ee&&(ee=self.caches.open(le))}function pe(e,t,r){if(he(),ee){var n={status:t.status,statusText:t.statusText,headers:new self.Headers};t.headers.forEach((function(e,t){return n.headers.set(t,e)}));var i=A(t.headers.get(\"Cache-Control\")||\"\");i[\"no-store\"]||(i[\"max-age\"]&&n.headers.set(\"Expires\",new Date(r+1e3*i[\"max-age\"]).toUTCString()),new Date(n.headers.get(\"Expires\")).getTime()-r<fe||function(e,t){if(void 0===te)try{new Response(new ReadableStream),te=!0}catch(e){te=!1}te?t(e.body):e.blob().then(t)}(t,(function(t){var r=new self.Response(t,n);he(),ee&&ee.then((function(t){return t.put(de(e.url),r)})).catch((function(e){return w(e.message)}))})))}}function de(e){var t=e.indexOf(\"?\");return t<0?e:e.slice(0,t)}function ve(e,t){if(he(),!ee)return t(null);var r=de(e.url);ee.then((function(e){e.match(r).then((function(n){var i=function(e){if(!e)return!1;var t=new Date(e.headers.get(\"Expires\")||0),r=A(e.headers.get(\"Cache-Control\")||\"\");return t>Date.now()&&!r[\"no-cache\"]}(n);e.delete(r),i&&e.put(r,n.clone()),t(null,n,i)})).catch(t)})).catch(t)}var ge,me=1/0;function ye(){return null==ge&&(ge=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof self.createImageBitmap),ge}var xe={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(xe);var be=function(e){function t(t,r,n){401===r&&W(n)&&(t+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),e.call(this,t),this.status=r,this.url=n,this.name=this.constructor.name,this.message=t}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},t}(Error),_e=M()?function(){return self.worker&&self.worker.referrer}:function(){return(\"blob:\"===self.location.protocol?self.parent:self).location.href};function we(e,t){var r,n=new self.AbortController,i=new self.Request(e.url,{method:e.method||\"GET\",body:e.body,credentials:e.credentials,headers:e.headers,referrer:_e(),signal:n.signal}),a=!1,o=!1,s=(r=i.url).indexOf(\"sku=\")>0&&W(r);\"json\"===e.type&&i.headers.set(\"Accept\",\"application/json\");var l=function(r,n,a){if(!o){if(r&&\"SecurityError\"!==r.message&&w(r),n&&a)return u(n);var l=Date.now();self.fetch(i).then((function(r){if(r.ok){var n=s?r.clone():null;return u(r,n,l)}return t(new be(r.statusText,r.status,e.url))})).catch((function(e){20!==e.code&&t(new Error(e.message))}))}},u=function(r,n,s){(\"arrayBuffer\"===e.type?r.arrayBuffer():\"json\"===e.type?r.json():r.text()).then((function(e){o||(n&&s&&pe(i,n,s),a=!0,t(null,e,r.headers.get(\"Cache-Control\"),r.headers.get(\"Expires\")))})).catch((function(e){o||t(new Error(e.message))}))};return s?ve(i,l):l(null,null),{cancel:function(){o=!0,a||n.abort()}}}var ke=function(e,t){if(r=e.url,!(/^file:/.test(r)||/^file:/.test(_e())&&!/^\\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty(\"signal\"))return we(e,t);if(M()&&self.worker&&self.worker.actor){return self.worker.actor.send(\"getResource\",e,t,void 0,!0)}}var r;return function(e,t){var r=new self.XMLHttpRequest;for(var n in r.open(e.method||\"GET\",e.url,!0),\"arrayBuffer\"===e.type&&(r.responseType=\"arraybuffer\"),e.headers)r.setRequestHeader(n,e.headers[n]);return\"json\"===e.type&&(r.responseType=\"text\",r.setRequestHeader(\"Accept\",\"application/json\")),r.withCredentials=\"include\"===e.credentials,r.onerror=function(){t(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if(\"json\"===e.type)try{n=JSON.parse(r.response)}catch(e){return t(e)}t(null,n,r.getResponseHeader(\"Cache-Control\"),r.getResponseHeader(\"Expires\"))}else t(new be(r.statusText,r.status,e.url))},r.send(e.body),{cancel:function(){return r.abort()}}}(e,t)},Te=function(e,t){return ke(f(e,{type:\"arrayBuffer\"}),t)},Me=function(e,t){return ke(f(e,{method:\"POST\"}),t)};var Ae,Se;Ae=[],Se=0;var Ee=function(e,t){if(N.supported&&(e.headers||(e.headers={}),e.headers.accept=\"image/webp,*/*\"),Se>=B.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:e,callback:t,cancelled:!1,cancel:function(){this.cancelled=!0}};return Ae.push(r),r}Se++;var n=!1,i=function(){if(!n)for(n=!0,Se--;Ae.length&&Se<B.MAX_PARALLEL_IMAGE_REQUESTS;){var e=Ae.shift(),t=e.requestParameters,r=e.callback;e.cancelled||(e.cancel=Ee(t,r).cancel)}},a=Te(e,(function(e,r,n,a){i(),e?t(e):r&&(ye()?function(e,t){var r=new self.Blob([new Uint8Array(e)],{type:\"image/png\"});self.createImageBitmap(r).then((function(e){t(null,e)})).catch((function(e){t(new Error(\"Could not load image because of \"+e.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))}))}(r,t):function(e,t,r,n){var i=new self.Image,a=self.URL;i.onload=function(){t(null,i),a.revokeObjectURL(i.src)},i.onerror=function(){return t(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))};var o=new self.Blob([new Uint8Array(e)],{type:\"image/png\"});i.cacheControl=r,i.expires=n,i.src=e.byteLength?a.createObjectURL(o):\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\"}(r,t,n,a))}));return{cancel:function(){a.cancel(),i()}}};function Ce(e,t,r){r[e]&&-1!==r[e].indexOf(t)||(r[e]=r[e]||[],r[e].push(t))}function Le(e,t,r){if(r&&r[e]){var n=r[e].indexOf(t);-1!==n&&r[e].splice(n,1)}}var Pe=function(e,t){void 0===t&&(t={}),f(this,t),this.type=e},Oe=function(e){function t(t,r){void 0===r&&(r={}),e.call(this,\"error\",f({error:t},r))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(Pe),Ie=function(){};Ie.prototype.on=function(e,t){return this._listeners=this._listeners||{},Ce(e,t,this._listeners),this},Ie.prototype.off=function(e,t){return Le(e,t,this._listeners),Le(e,t,this._oneTimeListeners),this},Ie.prototype.once=function(e,t){return this._oneTimeListeners=this._oneTimeListeners||{},Ce(e,t,this._oneTimeListeners),this},Ie.prototype.fire=function(e,t){\"string\"==typeof e&&(e=new Pe(e,t||{}));var r=e.type;if(this.listens(r)){e.target=this;for(var n=0,i=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];n<i.length;n+=1)i[n].call(this,e);for(var a=0,o=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];a<o.length;a+=1){var s=o[a];Le(r,s,this._oneTimeListeners),s.call(this,e)}var l=this._eventedParent;l&&(f(e,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),l.fire(e))}else e instanceof Oe&&console.error(e.error);return this},Ie.prototype.listens=function(e){return this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},Ie.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this};var De={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{}},default:\"mapbox\"},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},expression_name:{type:\"enum\",values:{let:{group:\"Variable binding\"},var:{group:\"Variable binding\"},literal:{group:\"Types\"},array:{group:\"Types\"},at:{group:\"Lookup\"},in:{group:\"Lookup\"},\"index-of\":{group:\"Lookup\"},slice:{group:\"Lookup\"},case:{group:\"Decision\"},match:{group:\"Decision\"},coalesce:{group:\"Decision\"},step:{group:\"Ramps, scales, curves\"},interpolate:{group:\"Ramps, scales, curves\"},\"interpolate-hcl\":{group:\"Ramps, scales, curves\"},\"interpolate-lab\":{group:\"Ramps, scales, curves\"},ln2:{group:\"Math\"},pi:{group:\"Math\"},e:{group:\"Math\"},typeof:{group:\"Types\"},string:{group:\"Types\"},number:{group:\"Types\"},boolean:{group:\"Types\"},object:{group:\"Types\"},collator:{group:\"Types\"},format:{group:\"Types\"},image:{group:\"Types\"},\"number-format\":{group:\"Types\"},\"to-string\":{group:\"Types\"},\"to-number\":{group:\"Types\"},\"to-boolean\":{group:\"Types\"},\"to-rgba\":{group:\"Color\"},\"to-color\":{group:\"Types\"},rgb:{group:\"Color\"},rgba:{group:\"Color\"},get:{group:\"Lookup\"},has:{group:\"Lookup\"},length:{group:\"Lookup\"},properties:{group:\"Feature data\"},\"feature-state\":{group:\"Feature data\"},\"geometry-type\":{group:\"Feature data\"},id:{group:\"Feature data\"},zoom:{group:\"Zoom\"},\"heatmap-density\":{group:\"Heatmap\"},\"line-progress\":{group:\"Feature data\"},accumulated:{group:\"Feature data\"},\"+\":{group:\"Math\"},\"*\":{group:\"Math\"},\"-\":{group:\"Math\"},\"/\":{group:\"Math\"},\"%\":{group:\"Math\"},\"^\":{group:\"Math\"},sqrt:{group:\"Math\"},log10:{group:\"Math\"},ln:{group:\"Math\"},log2:{group:\"Math\"},sin:{group:\"Math\"},cos:{group:\"Math\"},tan:{group:\"Math\"},asin:{group:\"Math\"},acos:{group:\"Math\"},atan:{group:\"Math\"},min:{group:\"Math\"},max:{group:\"Math\"},round:{group:\"Math\"},abs:{group:\"Math\"},ceil:{group:\"Math\"},floor:{group:\"Math\"},distance:{group:\"Math\"},\"==\":{group:\"Decision\"},\"!=\":{group:\"Decision\"},\">\":{group:\"Decision\"},\"<\":{group:\"Decision\"},\">=\":{group:\"Decision\"},\"<=\":{group:\"Decision\"},all:{group:\"Decision\"},any:{group:\"Decision\"},\"!\":{group:\"Decision\"},within:{group:\"Decision\"},\"is-supported-script\":{group:\"String\"},upcase:{group:\"String\"},downcase:{group:\"String\"},concat:{group:\"String\"},\"resolved-locale\":{group:\"String\"}}},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}},ze=function(e,t,r,n){this.message=(e?e+\": \":\"\")+r,n&&(this.identifier=n),null!=t&&t.__line__&&(this.line=t.__line__)};function Re(e){var t=e.key,r=e.value;return r?[new ze(t,r,\"constants have been deprecated as of v8\")]:[]}function Fe(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];for(var n=0,i=t;n<i.length;n+=1){var a=i[n];for(var o in a)e[o]=a[o]}return e}function Be(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function Ne(e){if(Array.isArray(e))return e.map(Ne);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){var t={};for(var r in e)t[r]=Ne(e[r]);return t}return Be(e)}var je=function(e){function t(t,r){e.call(this,r),this.message=r,this.key=t}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(Error),Ue=function(e,t){void 0===t&&(t=[]),this.parent=e,this.bindings={};for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=i[0],o=i[1];this.bindings[a]=o}};Ue.prototype.concat=function(e){return new Ue(this,e)},Ue.prototype.get=function(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw new Error(e+\" not found in scope.\")},Ue.prototype.has=function(e){return!!this.bindings[e]||!!this.parent&&this.parent.has(e)};var Ve={kind:\"null\"},He={kind:\"number\"},qe={kind:\"string\"},Ge={kind:\"boolean\"},Ye={kind:\"color\"},We={kind:\"object\"},Ze={kind:\"value\"},Xe={kind:\"collator\"},Ke={kind:\"formatted\"},Je={kind:\"resolvedImage\"};function $e(e,t){return{kind:\"array\",itemType:e,N:t}}function Qe(e){if(\"array\"===e.kind){var t=Qe(e.itemType);return\"number\"==typeof e.N?\"array<\"+t+\", \"+e.N+\">\":\"value\"===e.itemType.kind?\"array\":\"array<\"+t+\">\"}return e.kind}var et=[Ve,He,qe,Ge,Ye,Ke,We,$e(Ze),Je];function tt(e,t){if(\"error\"===t.kind)return null;if(\"array\"===e.kind){if(\"array\"===t.kind&&(0===t.N&&\"value\"===t.itemType.kind||!tt(e.itemType,t.itemType))&&(\"number\"!=typeof e.N||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if(\"value\"===e.kind)for(var r=0,n=et;r<n.length;r+=1)if(!tt(n[r],t))return null}return\"Expected \"+Qe(e)+\" but found \"+Qe(t)+\" instead.\"}function rt(e,t){return t.some((function(t){return t.kind===e.kind}))}function nt(e,t){return t.some((function(t){return\"null\"===t?null===e:\"array\"===t?Array.isArray(e):\"object\"===t?e&&!Array.isArray(e)&&\"object\"==typeof e:t===typeof e}))}var it=t((function(e,t){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(e){return(e=Math.round(e))<0?0:e>255?255:e}function i(e){return e<0?0:e>1?1:e}function a(e){return\"%\"===e[e.length-1]?n(parseFloat(e)/100*255):n(parseInt(e))}function o(e){return\"%\"===e[e.length-1]?i(parseFloat(e)/100):i(parseFloat(e))}function s(e,t,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?e+(t-e)*r*6:2*r<1?t:3*r<2?e+(t-e)*(2/3-r)*6:e}try{t.parseCSSColor=function(e){var t,i=e.replace(/ /g,\"\").toLowerCase();if(i in r)return r[i].slice();if(\"#\"===i[0])return 4===i.length?(t=parseInt(i.substr(1),16))>=0&&t<=4095?[(3840&t)>>4|(3840&t)>>8,240&t|(240&t)>>4,15&t|(15&t)<<4,1]:null:7===i.length&&(t=parseInt(i.substr(1),16))>=0&&t<=16777215?[(16711680&t)>>16,(65280&t)>>8,255&t,1]:null;var l=i.indexOf(\"(\"),u=i.indexOf(\")\");if(-1!==l&&u+1===i.length){var c=i.substr(0,l),f=i.substr(l+1,u-(l+1)).split(\",\"),h=1;switch(c){case\"rgba\":if(4!==f.length)return null;h=o(f.pop());case\"rgb\":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case\"hsla\":if(4!==f.length)return null;h=o(f.pop());case\"hsl\":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),v=o(f[2]),g=v<=.5?v*(d+1):v+d-v*d,m=2*v-g;return[n(255*s(m,g,p+1/3)),n(255*s(m,g,p)),n(255*s(m,g,p-1/3)),h];default:return null}}return null}}catch(e){}})),at=it.parseCSSColor,ot=function(e,t,r,n){void 0===n&&(n=1),this.r=e,this.g=t,this.b=r,this.a=n};ot.parse=function(e){if(e){if(e instanceof ot)return e;if(\"string\"==typeof e){var t=at(e);if(t)return new ot(t[0]/255*t[3],t[1]/255*t[3],t[2]/255*t[3],t[3])}}},ot.prototype.toString=function(){var e=this.toArray(),t=e[0],r=e[1],n=e[2],i=e[3];return\"rgba(\"+Math.round(t)+\",\"+Math.round(r)+\",\"+Math.round(n)+\",\"+i+\")\"},ot.prototype.toArray=function(){var e=this,t=e.r,r=e.g,n=e.b,i=e.a;return 0===i?[0,0,0,0]:[255*t/i,255*r/i,255*n/i,i]},ot.black=new ot(0,0,0,1),ot.white=new ot(1,1,1,1),ot.transparent=new ot(0,0,0,0),ot.red=new ot(1,0,0,1);var st=function(e,t,r){this.sensitivity=e?t?\"variant\":\"case\":t?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};st.prototype.compare=function(e,t){return this.collator.compare(e,t)},st.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var lt=function(e,t,r,n,i){this.text=e,this.image=t,this.scale=r,this.fontStack=n,this.textColor=i},ut=function(e){this.sections=e};ut.fromString=function(e){return new ut([new lt(e,null,null,null,null)])},ut.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(e){return 0!==e.text.length||e.image&&0!==e.image.name.length}))},ut.factory=function(e){return e instanceof ut?e:ut.fromString(e)},ut.prototype.toString=function(){return 0===this.sections.length?\"\":this.sections.map((function(e){return e.text})).join(\"\")},ut.prototype.serialize=function(){for(var e=[\"format\"],t=0,r=this.sections;t<r.length;t+=1){var n=r[t];if(n.image)e.push([\"image\",n.image.name]);else{e.push(n.text);var i={};n.fontStack&&(i[\"text-font\"]=[\"literal\",n.fontStack.split(\",\")]),n.scale&&(i[\"font-scale\"]=n.scale),n.textColor&&(i[\"text-color\"]=[\"rgba\"].concat(n.textColor.toArray())),e.push(i)}}return e};var ct=function(e){this.name=e.name,this.available=e.available};function ft(e,t,r,n){return\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof t&&t>=0&&t<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:\"Invalid rgba value [\"+[e,t,r,n].join(\", \")+\"]: 'a' must be between 0 and 1.\":\"Invalid rgba value [\"+(\"number\"==typeof n?[e,t,r,n]:[e,t,r]).join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}function ht(e){if(null===e)return!0;if(\"string\"==typeof e)return!0;if(\"boolean\"==typeof e)return!0;if(\"number\"==typeof e)return!0;if(e instanceof ot)return!0;if(e instanceof st)return!0;if(e instanceof ut)return!0;if(e instanceof ct)return!0;if(Array.isArray(e)){for(var t=0,r=e;t<r.length;t+=1)if(!ht(r[t]))return!1;return!0}if(\"object\"==typeof e){for(var n in e)if(!ht(e[n]))return!1;return!0}return!1}function pt(e){if(null===e)return Ve;if(\"string\"==typeof e)return qe;if(\"boolean\"==typeof e)return Ge;if(\"number\"==typeof e)return He;if(e instanceof ot)return Ye;if(e instanceof st)return Xe;if(e instanceof ut)return Ke;if(e instanceof ct)return Je;if(Array.isArray(e)){for(var t,r=e.length,n=0,i=e;n<i.length;n+=1){var a=pt(i[n]);if(t){if(t===a)continue;t=Ze;break}t=a}return $e(t||Ze,r)}return We}function dt(e){var t=typeof e;return null===e?\"\":\"string\"===t||\"number\"===t||\"boolean\"===t?String(e):e instanceof ot||e instanceof ut||e instanceof ct?e.toString():JSON.stringify(e)}ct.prototype.toString=function(){return this.name},ct.fromString=function(e){return e?new ct({name:e,available:!1}):null},ct.prototype.serialize=function(){return[\"image\",this.name]};var vt=function(e,t){this.type=e,this.value=t};vt.parse=function(e,t){if(2!==e.length)return t.error(\"'literal' expression requires exactly one argument, but found \"+(e.length-1)+\" instead.\");if(!ht(e[1]))return t.error(\"invalid value\");var r=e[1],n=pt(r),i=t.expectedType;return\"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new vt(n,r)},vt.prototype.evaluate=function(){return this.value},vt.prototype.eachChild=function(){},vt.prototype.outputDefined=function(){return!0},vt.prototype.serialize=function(){return\"array\"===this.type.kind||\"object\"===this.type.kind?[\"literal\",this.value]:this.value instanceof ot?[\"rgba\"].concat(this.value.toArray()):this.value instanceof ut?this.value.serialize():this.value};var gt=function(e){this.name=\"ExpressionEvaluationError\",this.message=e};gt.prototype.toJSON=function(){return this.message};var mt={string:qe,number:He,boolean:Ge,object:We},yt=function(e,t){this.type=e,this.args=t};yt.parse=function(e,t){if(e.length<2)return t.error(\"Expected at least one argument.\");var r,n=1,i=e[0];if(\"array\"===i){var a,o;if(e.length>2){var s=e[1];if(\"string\"!=typeof s||!(s in mt)||\"object\"===s)return t.error('The item type argument of \"array\" must be one of string, number, boolean',1);a=mt[s],n++}else a=Ze;if(e.length>3){if(null!==e[2]&&(\"number\"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to \"array\" must be a positive integer literal',2);o=e[2],n++}r=$e(a,o)}else r=mt[i];for(var l=[];n<e.length;n++){var u=t.parse(e[n],n,Ze);if(!u)return null;l.push(u)}return new yt(r,l)},yt.prototype.evaluate=function(e){for(var t=0;t<this.args.length;t++){var r=this.args[t].evaluate(e);if(!tt(this.type,pt(r)))return r;if(t===this.args.length-1)throw new gt(\"Expected value to be of type \"+Qe(this.type)+\", but found \"+Qe(pt(r))+\" instead.\")}return null},yt.prototype.eachChild=function(e){this.args.forEach(e)},yt.prototype.outputDefined=function(){return this.args.every((function(e){return e.outputDefined()}))},yt.prototype.serialize=function(){var e=this.type,t=[e.kind];if(\"array\"===e.kind){var r=e.itemType;if(\"string\"===r.kind||\"number\"===r.kind||\"boolean\"===r.kind){t.push(r.kind);var n=e.N;(\"number\"==typeof n||this.args.length>1)&&t.push(n)}}return t.concat(this.args.map((function(e){return e.serialize()})))};var xt=function(e){this.type=Ke,this.sections=e};xt.parse=function(e,t){if(e.length<2)return t.error(\"Expected at least one argument.\");var r=e[1];if(!Array.isArray(r)&&\"object\"==typeof r)return t.error(\"First argument must be an image or text section.\");for(var n=[],i=!1,a=1;a<=e.length-1;++a){var o=e[a];if(i&&\"object\"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o[\"font-scale\"]&&!(s=t.parse(o[\"font-scale\"],1,He)))return null;var l=null;if(o[\"text-font\"]&&!(l=t.parse(o[\"text-font\"],1,$e(qe))))return null;var u=null;if(o[\"text-color\"]&&!(u=t.parse(o[\"text-color\"],1,Ye)))return null;var c=n[n.length-1];c.scale=s,c.font=l,c.textColor=u}else{var f=t.parse(e[a],1,Ze);if(!f)return null;var h=f.type.kind;if(\"string\"!==h&&\"value\"!==h&&\"null\"!==h&&\"resolvedImage\"!==h)return t.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new xt(n)},xt.prototype.evaluate=function(e){return new ut(this.sections.map((function(t){var r=t.content.evaluate(e);return pt(r)===Je?new lt(\"\",r,null,null,null):new lt(dt(r),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(\",\"):null,t.textColor?t.textColor.evaluate(e):null)})))},xt.prototype.eachChild=function(e){for(var t=0,r=this.sections;t<r.length;t+=1){var n=r[t];e(n.content),n.scale&&e(n.scale),n.font&&e(n.font),n.textColor&&e(n.textColor)}},xt.prototype.outputDefined=function(){return!1},xt.prototype.serialize=function(){for(var e=[\"format\"],t=0,r=this.sections;t<r.length;t+=1){var n=r[t];e.push(n.content.serialize());var i={};n.scale&&(i[\"font-scale\"]=n.scale.serialize()),n.font&&(i[\"text-font\"]=n.font.serialize()),n.textColor&&(i[\"text-color\"]=n.textColor.serialize()),e.push(i)}return e};var bt=function(e){this.type=Je,this.input=e};bt.parse=function(e,t){if(2!==e.length)return t.error(\"Expected two arguments.\");var r=t.parse(e[1],1,qe);return r?new bt(r):t.error(\"No image name provided.\")},bt.prototype.evaluate=function(e){var t=this.input.evaluate(e),r=ct.fromString(t);return r&&e.availableImages&&(r.available=e.availableImages.indexOf(t)>-1),r},bt.prototype.eachChild=function(e){e(this.input)},bt.prototype.outputDefined=function(){return!1},bt.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var _t={\"to-boolean\":Ge,\"to-color\":Ye,\"to-number\":He,\"to-string\":qe},wt=function(e,t){this.type=e,this.args=t};wt.parse=function(e,t){if(e.length<2)return t.error(\"Expected at least one argument.\");var r=e[0];if((\"to-boolean\"===r||\"to-string\"===r)&&2!==e.length)return t.error(\"Expected one argument.\");for(var n=_t[r],i=[],a=1;a<e.length;a++){var o=t.parse(e[a],a,Ze);if(!o)return null;i.push(o)}return new wt(n,i)},wt.prototype.evaluate=function(e){if(\"boolean\"===this.type.kind)return Boolean(this.args[0].evaluate(e));if(\"color\"===this.type.kind){for(var t,r,n=0,i=this.args;n<i.length;n+=1){if(r=null,(t=i[n].evaluate(e))instanceof ot)return t;if(\"string\"==typeof t){var a=e.parseColor(t);if(a)return a}else if(Array.isArray(t)&&!(r=t.length<3||t.length>4?\"Invalid rbga value \"+JSON.stringify(t)+\": expected an array containing either three or four numeric values.\":ft(t[0],t[1],t[2],t[3])))return new ot(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new gt(r||\"Could not parse color from value '\"+(\"string\"==typeof t?t:String(JSON.stringify(t)))+\"'\")}if(\"number\"===this.type.kind){for(var o=null,s=0,l=this.args;s<l.length;s+=1){if(null===(o=l[s].evaluate(e)))return 0;var u=Number(o);if(!isNaN(u))return u}throw new gt(\"Could not convert \"+JSON.stringify(o)+\" to number.\")}return\"formatted\"===this.type.kind?ut.fromString(dt(this.args[0].evaluate(e))):\"resolvedImage\"===this.type.kind?ct.fromString(dt(this.args[0].evaluate(e))):dt(this.args[0].evaluate(e))},wt.prototype.eachChild=function(e){this.args.forEach(e)},wt.prototype.outputDefined=function(){return this.args.every((function(e){return e.outputDefined()}))},wt.prototype.serialize=function(){if(\"formatted\"===this.type.kind)return new xt([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(\"resolvedImage\"===this.type.kind)return new bt(this.args[0]).serialize();var e=[\"to-\"+this.type.kind];return this.eachChild((function(t){e.push(t.serialize())})),e};var kt=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],Tt=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null};Tt.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},Tt.prototype.geometryType=function(){return this.feature?\"number\"==typeof this.feature.type?kt[this.feature.type]:this.feature.type:null},Tt.prototype.geometry=function(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null},Tt.prototype.canonicalID=function(){return this.canonical},Tt.prototype.properties=function(){return this.feature&&this.feature.properties||{}},Tt.prototype.parseColor=function(e){var t=this._parseColorCache[e];return t||(t=this._parseColorCache[e]=ot.parse(e)),t};var Mt=function(e,t,r,n){this.name=e,this.type=t,this._evaluate=r,this.args=n};Mt.prototype.evaluate=function(e){return this._evaluate(e,this.args)},Mt.prototype.eachChild=function(e){this.args.forEach(e)},Mt.prototype.outputDefined=function(){return!1},Mt.prototype.serialize=function(){return[this.name].concat(this.args.map((function(e){return e.serialize()})))},Mt.parse=function(e,t){var r,n=e[0],i=Mt.definitions[n];if(!i)return t.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var a=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter((function(t){var r=t[0];return!Array.isArray(r)||r.length===e.length-1})),l=null,u=0,c=s;u<c.length;u+=1){var f=c[u],h=f[0],p=f[1];l=new Zt(t.registry,t.path,null,t.scope);for(var d=[],v=!1,g=1;g<e.length;g++){var m=e[g],y=Array.isArray(h)?h[g-1]:h.type,x=l.parse(m,1+d.length,y);if(!x){v=!0;break}d.push(x)}if(!v)if(Array.isArray(h)&&h.length!==d.length)l.error(\"Expected \"+h.length+\" arguments, but found \"+d.length+\" instead.\");else{for(var b=0;b<d.length;b++){var _=Array.isArray(h)?h[b]:h.type,w=d[b];l.concat(b+1).checkSubtype(_,w.type)}if(0===l.errors.length)return new Mt(n,a,p,d)}}if(1===s.length)(r=t.errors).push.apply(r,l.errors);else{for(var k=(s.length?s:o).map((function(e){return t=e[0],Array.isArray(t)?\"(\"+t.map(Qe).join(\", \")+\")\":\"(\"+Qe(t.type)+\"...)\";var t})).join(\" | \"),T=[],M=1;M<e.length;M++){var A=t.parse(e[M],1+T.length);if(!A)return null;T.push(Qe(A.type))}t.error(\"Expected arguments of type \"+k+\", but found (\"+T.join(\", \")+\") instead.\")}return null},Mt.register=function(e,t){for(var r in Mt.definitions=t,t)e[r]=Mt};var At=function(e,t,r){this.type=Xe,this.locale=r,this.caseSensitive=e,this.diacriticSensitive=t};At.parse=function(e,t){if(2!==e.length)return t.error(\"Expected one argument.\");var r=e[1];if(\"object\"!=typeof r||Array.isArray(r))return t.error(\"Collator options argument must be an object.\");var n=t.parse(void 0!==r[\"case-sensitive\"]&&r[\"case-sensitive\"],1,Ge);if(!n)return null;var i=t.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,Ge);if(!i)return null;var a=null;return r.locale&&!(a=t.parse(r.locale,1,qe))?null:new At(n,i,a)},At.prototype.evaluate=function(e){return new st(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)},At.prototype.eachChild=function(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)},At.prototype.outputDefined=function(){return!1},At.prototype.serialize=function(){var e={};return e[\"case-sensitive\"]=this.caseSensitive.serialize(),e[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(e.locale=this.locale.serialize()),[\"collator\",e]};var St=8192;function Et(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function Ct(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function Lt(e,t){var r,n=(180+e[0])/360,i=(r=e[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,t.z);return[Math.round(n*a*St),Math.round(i*a*St)]}function Pt(e,t,r){return t[1]>e[1]!=r[1]>e[1]&&e[0]<(r[0]-t[0])*(e[1]-t[1])/(r[1]-t[1])+t[0]}function Ot(e,t){for(var r=!1,n=0,i=t.length;n<i;n++)for(var a=t[n],o=0,s=a.length;o<s-1;o++){if(l=e,u=a[o],c=a[o+1],f=void 0,h=void 0,p=void 0,d=void 0,f=l[0]-u[0],h=l[1]-u[1],p=l[0]-c[0],d=l[1]-c[1],f*d-p*h==0&&f*p<=0&&h*d<=0)return!1;Pt(e,a[o],a[o+1])&&(r=!r)}var l,u,c,f,h,p,d;return r}function It(e,t){for(var r=0;r<t.length;r++)if(Ot(e,t[r]))return!0;return!1}function Dt(e,t,r,n){var i=e[0]-r[0],a=e[1]-r[1],o=t[0]-r[0],s=t[1]-r[1],l=n[0]-r[0],u=n[1]-r[1],c=i*u-l*a,f=o*u-l*s;return c>0&&f<0||c<0&&f>0}function zt(e,t,r){for(var n=0,i=r;n<i.length;n+=1)for(var a=i[n],o=0;o<a.length-1;++o)if(s=e,l=t,u=a[o],c=a[o+1],f=void 0,h=void 0,p=void 0,p=[l[0]-s[0],l[1]-s[1]],0!=(f=[c[0]-u[0],c[1]-u[1]],h=p,f[0]*h[1]-f[1]*h[0])&&Dt(s,l,u,c)&&Dt(u,c,s,l))return!0;var s,l,u,c,f,h,p;return!1}function Rt(e,t){for(var r=0;r<e.length;++r)if(!Ot(e[r],t))return!1;for(var n=0;n<e.length-1;++n)if(zt(e[n],e[n+1],t))return!1;return!0}function Ft(e,t){for(var r=0;r<t.length;r++)if(Rt(e,t[r]))return!0;return!1}function Bt(e,t,r){for(var n=[],i=0;i<e.length;i++){for(var a=[],o=0;o<e[i].length;o++){var s=Lt(e[i][o],r);Et(t,s),a.push(s)}n.push(a)}return n}function Nt(e,t,r){for(var n=[],i=0;i<e.length;i++){var a=Bt(e[i],t,r);n.push(a)}return n}function jt(e,t,r,n){if(e[0]<r[0]||e[0]>r[2]){var i=.5*n,a=e[0]-r[0]>i?-n:r[0]-e[0]>i?n:0;0===a&&(a=e[0]-r[2]>i?-n:r[2]-e[0]>i?n:0),e[0]+=a}Et(t,e)}function Ut(e,t,r,n){for(var i=Math.pow(2,n.z)*St,a=[n.x*St,n.y*St],o=[],s=0,l=e;s<l.length;s+=1)for(var u=0,c=l[s];u<c.length;u+=1){var f=c[u],h=[f.x+a[0],f.y+a[1]];jt(h,t,r,i),o.push(h)}return o}function Vt(e,t,r,n){for(var i=Math.pow(2,n.z)*St,a=[n.x*St,n.y*St],o=[],s=0,l=e;s<l.length;s+=1){for(var u=[],c=0,f=l[s];c<f.length;c+=1){var h=f[c],p=[h.x+a[0],h.y+a[1]];Et(t,p),u.push(p)}o.push(u)}if(t[2]-t[0]<=i/2){(y=t)[0]=y[1]=1/0,y[2]=y[3]=-1/0;for(var d=0,v=o;d<v.length;d+=1)for(var g=0,m=v[d];g<m.length;g+=1)jt(m[g],t,r,i)}var y;return o}var Ht=function(e,t){this.type=Ge,this.geojson=e,this.geometries=t};function qt(e){if(e instanceof Mt){if(\"get\"===e.name&&1===e.args.length)return!1;if(\"feature-state\"===e.name)return!1;if(\"has\"===e.name&&1===e.args.length)return!1;if(\"properties\"===e.name||\"geometry-type\"===e.name||\"id\"===e.name)return!1;if(/^filter-/.test(e.name))return!1}if(e instanceof Ht)return!1;var t=!0;return e.eachChild((function(e){t&&!qt(e)&&(t=!1)})),t}function Gt(e){if(e instanceof Mt&&\"feature-state\"===e.name)return!1;var t=!0;return e.eachChild((function(e){t&&!Gt(e)&&(t=!1)})),t}function Yt(e,t){if(e instanceof Mt&&t.indexOf(e.name)>=0)return!1;var r=!0;return e.eachChild((function(e){r&&!Yt(e,t)&&(r=!1)})),r}Ht.parse=function(e,t){if(2!==e.length)return t.error(\"'within' expression requires exactly one argument, but found \"+(e.length-1)+\" instead.\");if(ht(e[1])){var r=e[1];if(\"FeatureCollection\"===r.type)for(var n=0;n<r.features.length;++n){var i=r.features[n].geometry.type;if(\"Polygon\"===i||\"MultiPolygon\"===i)return new Ht(r,r.features[n].geometry)}else if(\"Feature\"===r.type){var a=r.geometry.type;if(\"Polygon\"===a||\"MultiPolygon\"===a)return new Ht(r,r.geometry)}else if(\"Polygon\"===r.type||\"MultiPolygon\"===r.type)return new Ht(r,r)}return t.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")},Ht.prototype.evaluate=function(e){if(null!=e.geometry()&&null!=e.canonicalID()){if(\"Point\"===e.geometryType())return function(e,t){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(\"Polygon\"===t.type){var a=Bt(t.coordinates,n,i),o=Ut(e.geometry(),r,n,i);if(!Ct(r,n))return!1;for(var s=0,l=o;s<l.length;s+=1)if(!Ot(l[s],a))return!1}if(\"MultiPolygon\"===t.type){var u=Nt(t.coordinates,n,i),c=Ut(e.geometry(),r,n,i);if(!Ct(r,n))return!1;for(var f=0,h=c;f<h.length;f+=1)if(!It(h[f],u))return!1}return!0}(e,this.geometries);if(\"LineString\"===e.geometryType())return function(e,t){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(\"Polygon\"===t.type){var a=Bt(t.coordinates,n,i),o=Vt(e.geometry(),r,n,i);if(!Ct(r,n))return!1;for(var s=0,l=o;s<l.length;s+=1)if(!Rt(l[s],a))return!1}if(\"MultiPolygon\"===t.type){var u=Nt(t.coordinates,n,i),c=Vt(e.geometry(),r,n,i);if(!Ct(r,n))return!1;for(var f=0,h=c;f<h.length;f+=1)if(!Ft(h[f],u))return!1}return!0}(e,this.geometries)}return!1},Ht.prototype.eachChild=function(){},Ht.prototype.outputDefined=function(){return!0},Ht.prototype.serialize=function(){return[\"within\",this.geojson]};var Wt=function(e,t){this.type=t.type,this.name=e,this.boundExpression=t};Wt.parse=function(e,t){if(2!==e.length||\"string\"!=typeof e[1])return t.error(\"'var' expression requires exactly one string literal argument.\");var r=e[1];return t.scope.has(r)?new Wt(r,t.scope.get(r)):t.error('Unknown variable \"'+r+'\". Make sure \"'+r+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Wt.prototype.evaluate=function(e){return this.boundExpression.evaluate(e)},Wt.prototype.eachChild=function(){},Wt.prototype.outputDefined=function(){return!1},Wt.prototype.serialize=function(){return[\"var\",this.name]};var Zt=function(e,t,r,n,i){void 0===t&&(t=[]),void 0===n&&(n=new Ue),void 0===i&&(i=[]),this.registry=e,this.path=t,this.key=t.map((function(e){return\"[\"+e+\"]\"})).join(\"\"),this.scope=n,this.errors=i,this.expectedType=r};function Xt(e){if(e instanceof Wt)return Xt(e.boundExpression);if(e instanceof Mt&&\"error\"===e.name)return!1;if(e instanceof At)return!1;if(e instanceof Ht)return!1;var t=e instanceof wt||e instanceof yt,r=!0;return e.eachChild((function(e){r=t?r&&Xt(e):r&&e instanceof vt})),!!r&&qt(e)&&Yt(e,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Kt(e,t){for(var r,n,i=e.length-1,a=0,o=i,s=0;a<=o;)if(r=e[s=Math.floor((a+o)/2)],n=e[s+1],r<=t){if(s===i||t<n)return s;a=s+1}else{if(!(r>t))throw new gt(\"Input is not a number.\");o=s-1}return 0}Zt.prototype.parse=function(e,t,r,n,i){return void 0===i&&(i={}),t?this.concat(t,r,n)._parse(e,i):this._parse(e,i)},Zt.prototype._parse=function(e,t){function r(e,t,r){return\"assert\"===r?new yt(t,[e]):\"coerce\"===r?new wt(t,[e]):e}if(null!==e&&\"string\"!=typeof e&&\"boolean\"!=typeof e&&\"number\"!=typeof e||(e=[\"literal\",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var n=e[0];if(\"string\"!=typeof n)return this.error(\"Expression name must be a string, but found \"+typeof n+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(e,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if(\"string\"!==o.kind&&\"number\"!==o.kind&&\"boolean\"!==o.kind&&\"object\"!==o.kind&&\"array\"!==o.kind||\"value\"!==s.kind)if(\"color\"!==o.kind&&\"formatted\"!==o.kind&&\"resolvedImage\"!==o.kind||\"value\"!==s.kind&&\"string\"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,t.typeAnnotation||\"coerce\");else a=r(a,o,t.typeAnnotation||\"assert\")}if(!(a instanceof vt)&&\"resolvedImage\"!==a.type.kind&&Xt(a)){var l=new Tt;try{a=new vt(a.type,a.evaluate(l))}catch(e){return this.error(e.message),null}}return a}return this.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return void 0===e?this.error(\"'undefined' value invalid. Use null instead.\"):\"object\"==typeof e?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof e+\" instead.\")},Zt.prototype.concat=function(e,t,r){var n=\"number\"==typeof e?this.path.concat(e):this.path,i=r?this.scope.concat(r):this.scope;return new Zt(this.registry,n,t||null,i,this.errors)},Zt.prototype.error=function(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];var n=\"\"+this.key+t.map((function(e){return\"[\"+e+\"]\"})).join(\"\");this.errors.push(new je(n,e))},Zt.prototype.checkSubtype=function(e,t){var r=tt(e,t);return r&&this.error(r),r};var Jt=function(e,t,r){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[0],s=a[1];this.labels.push(o),this.outputs.push(s)}};function $t(e,t,r){return e*(1-r)+t*r}Jt.parse=function(e,t){if(e.length-1<4)return t.error(\"Expected at least 4 arguments, but found only \"+(e.length-1)+\".\");if((e.length-1)%2!=0)return t.error(\"Expected an even number of arguments.\");var r=t.parse(e[1],1,He);if(!r)return null;var n=[],i=null;t.expectedType&&\"value\"!==t.expectedType.kind&&(i=t.expectedType);for(var a=1;a<e.length;a+=2){var o=1===a?-1/0:e[a],s=e[a+1],l=a,u=a+1;if(\"number\"!=typeof o)return t.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',l);if(n.length&&n[n.length-1][0]>=o)return t.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',l);var c=t.parse(s,u,i);if(!c)return null;i=i||c.type,n.push([o,c])}return new Jt(i,r,n)},Jt.prototype.evaluate=function(e){var t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);var n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);var i=t.length;return n>=t[i-1]?r[i-1].evaluate(e):r[Kt(t,n)].evaluate(e)},Jt.prototype.eachChild=function(e){e(this.input);for(var t=0,r=this.outputs;t<r.length;t+=1)e(r[t])},Jt.prototype.outputDefined=function(){return this.outputs.every((function(e){return e.outputDefined()}))},Jt.prototype.serialize=function(){for(var e=[\"step\",this.input.serialize()],t=0;t<this.labels.length;t++)t>0&&e.push(this.labels[t]),e.push(this.outputs[t].serialize());return e};var Qt=Object.freeze({__proto__:null,number:$t,color:function(e,t,r){return new ot($t(e.r,t.r,r),$t(e.g,t.g,r),$t(e.b,t.b,r),$t(e.a,t.a,r))},array:function(e,t,r){return e.map((function(e,n){return $t(e,t[n],r)}))}}),er=.95047,tr=1,rr=1.08883,nr=4/29,ir=6/29,ar=3*ir*ir,or=ir*ir*ir,sr=Math.PI/180,lr=180/Math.PI;function ur(e){return e>or?Math.pow(e,1/3):e/ar+nr}function cr(e){return e>ir?e*e*e:ar*(e-nr)}function fr(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function hr(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function pr(e){var t=hr(e.r),r=hr(e.g),n=hr(e.b),i=ur((.4124564*t+.3575761*r+.1804375*n)/er),a=ur((.2126729*t+.7151522*r+.072175*n)/tr);return{l:116*a-16,a:500*(i-a),b:200*(a-ur((.0193339*t+.119192*r+.9503041*n)/rr)),alpha:e.a}}function dr(e){var t=(e.l+16)/116,r=isNaN(e.a)?t:t+e.a/500,n=isNaN(e.b)?t:t-e.b/200;return t=tr*cr(t),r=er*cr(r),n=rr*cr(n),new ot(fr(3.2404542*r-1.5371385*t-.4985314*n),fr(-.969266*r+1.8760108*t+.041556*n),fr(.0556434*r-.2040259*t+1.0572252*n),e.alpha)}function vr(e,t,r){var n=t-e;return e+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var gr={forward:pr,reverse:dr,interpolate:function(e,t,r){return{l:$t(e.l,t.l,r),a:$t(e.a,t.a,r),b:$t(e.b,t.b,r),alpha:$t(e.alpha,t.alpha,r)}}},mr={forward:function(e){var t=pr(e),r=t.l,n=t.a,i=t.b,a=Math.atan2(i,n)*lr;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:e.a}},reverse:function(e){var t=e.h*sr,r=e.c;return dr({l:e.l,a:Math.cos(t)*r,b:Math.sin(t)*r,alpha:e.alpha})},interpolate:function(e,t,r){return{h:vr(e.h,t.h,r),c:$t(e.c,t.c,r),l:$t(e.l,t.l,r),alpha:$t(e.alpha,t.alpha,r)}}},yr=Object.freeze({__proto__:null,lab:gr,hcl:mr}),xr=function(e,t,r,n,i){this.type=e,this.operator=t,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a<o.length;a+=1){var s=o[a],l=s[0],u=s[1];this.labels.push(l),this.outputs.push(u)}};function br(e,t,r,n){var i=n-r,a=e-r;return 0===i?0:1===t?a/i:(Math.pow(t,a)-1)/(Math.pow(t,i)-1)}xr.interpolationFactor=function(e,t,r,i){var a=0;if(\"exponential\"===e.name)a=br(t,e.base,r,i);else if(\"linear\"===e.name)a=br(t,1,r,i);else if(\"cubic-bezier\"===e.name){var o=e.controlPoints;a=new n(o[0],o[1],o[2],o[3]).solve(br(t,1,r,i))}return a},xr.parse=function(e,t){var r=e[0],n=e[1],i=e[2],a=e.slice(3);if(!Array.isArray(n)||0===n.length)return t.error(\"Expected an interpolation type expression.\",1);if(\"linear\"===n[0])n={name:\"linear\"};else if(\"exponential\"===n[0]){var o=n[1];if(\"number\"!=typeof o)return t.error(\"Exponential interpolation requires a numeric base.\",1,1);n={name:\"exponential\",base:o}}else{if(\"cubic-bezier\"!==n[0])return t.error(\"Unknown interpolation type \"+String(n[0]),1,0);var s=n.slice(1);if(4!==s.length||s.some((function(e){return\"number\"!=typeof e||e<0||e>1})))return t.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:s}}if(e.length-1<4)return t.error(\"Expected at least 4 arguments, but found only \"+(e.length-1)+\".\");if((e.length-1)%2!=0)return t.error(\"Expected an even number of arguments.\");if(!(i=t.parse(i,2,He)))return null;var l=[],u=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?u=Ye:t.expectedType&&\"value\"!==t.expectedType.kind&&(u=t.expectedType);for(var c=0;c<a.length;c+=2){var f=a[c],h=a[c+1],p=c+3,d=c+4;if(\"number\"!=typeof f)return t.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',p);if(l.length&&l[l.length-1][0]>=f)return t.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',p);var v=t.parse(h,d,u);if(!v)return null;u=u||v.type,l.push([f,v])}return\"number\"===u.kind||\"color\"===u.kind||\"array\"===u.kind&&\"number\"===u.itemType.kind&&\"number\"==typeof u.N?new xr(u,r,n,i,l):t.error(\"Type \"+Qe(u)+\" is not interpolatable.\")},xr.prototype.evaluate=function(e){var t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);var n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);var i=t.length;if(n>=t[i-1])return r[i-1].evaluate(e);var a=Kt(t,n),o=t[a],s=t[a+1],l=xr.interpolationFactor(this.interpolation,n,o,s),u=r[a].evaluate(e),c=r[a+1].evaluate(e);return\"interpolate\"===this.operator?Qt[this.type.kind.toLowerCase()](u,c,l):\"interpolate-hcl\"===this.operator?mr.reverse(mr.interpolate(mr.forward(u),mr.forward(c),l)):gr.reverse(gr.interpolate(gr.forward(u),gr.forward(c),l))},xr.prototype.eachChild=function(e){e(this.input);for(var t=0,r=this.outputs;t<r.length;t+=1)e(r[t])},xr.prototype.outputDefined=function(){return this.outputs.every((function(e){return e.outputDefined()}))},xr.prototype.serialize=function(){var e;e=\"linear\"===this.interpolation.name?[\"linear\"]:\"exponential\"===this.interpolation.name?1===this.interpolation.base?[\"linear\"]:[\"exponential\",this.interpolation.base]:[\"cubic-bezier\"].concat(this.interpolation.controlPoints);for(var t=[this.operator,e,this.input.serialize()],r=0;r<this.labels.length;r++)t.push(this.labels[r],this.outputs[r].serialize());return t};var _r=function(e,t){this.type=e,this.args=t};_r.parse=function(e,t){if(e.length<2)return t.error(\"Expectected at least one argument.\");var r=null,n=t.expectedType;n&&\"value\"!==n.kind&&(r=n);for(var i=[],a=0,o=e.slice(1);a<o.length;a+=1){var s=o[a],l=t.parse(s,1+i.length,r,void 0,{typeAnnotation:\"omit\"});if(!l)return null;r=r||l.type,i.push(l)}var u=n&&i.some((function(e){return tt(n,e.type)}));return new _r(u?Ze:r,i)},_r.prototype.evaluate=function(e){for(var t,r=null,n=0,i=0,a=this.args;i<a.length&&(n++,(r=a[i].evaluate(e))&&r instanceof ct&&!r.available&&(t||(t=r.name),r=null,n===this.args.length&&(r=t)),null===r);i+=1);return r},_r.prototype.eachChild=function(e){this.args.forEach(e)},_r.prototype.outputDefined=function(){return this.args.every((function(e){return e.outputDefined()}))},_r.prototype.serialize=function(){var e=[\"coalesce\"];return this.eachChild((function(t){e.push(t.serialize())})),e};var wr=function(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t};wr.prototype.evaluate=function(e){return this.result.evaluate(e)},wr.prototype.eachChild=function(e){for(var t=0,r=this.bindings;t<r.length;t+=1)e(r[t][1]);e(this.result)},wr.parse=function(e,t){if(e.length<4)return t.error(\"Expected at least 3 arguments, but found \"+(e.length-1)+\" instead.\");for(var r=[],n=1;n<e.length-1;n+=2){var i=e[n];if(\"string\"!=typeof i)return t.error(\"Expected string, but found \"+typeof i+\" instead.\",n);if(/[^a-zA-Z0-9_]/.test(i))return t.error(\"Variable names must contain only alphanumeric characters or '_'.\",n);var a=t.parse(e[n+1],n+1);if(!a)return null;r.push([i,a])}var o=t.parse(e[e.length-1],e.length-1,t.expectedType,r);return o?new wr(r,o):null},wr.prototype.outputDefined=function(){return this.result.outputDefined()},wr.prototype.serialize=function(){for(var e=[\"let\"],t=0,r=this.bindings;t<r.length;t+=1){var n=r[t],i=n[0],a=n[1];e.push(i,a.serialize())}return e.push(this.result.serialize()),e};var kr=function(e,t,r){this.type=e,this.index=t,this.input=r};kr.parse=function(e,t){if(3!==e.length)return t.error(\"Expected 2 arguments, but found \"+(e.length-1)+\" instead.\");var r=t.parse(e[1],1,He),n=t.parse(e[2],2,$e(t.expectedType||Ze));if(!r||!n)return null;var i=n.type;return new kr(i.itemType,r,n)},kr.prototype.evaluate=function(e){var t=this.index.evaluate(e),r=this.input.evaluate(e);if(t<0)throw new gt(\"Array index out of bounds: \"+t+\" < 0.\");if(t>=r.length)throw new gt(\"Array index out of bounds: \"+t+\" > \"+(r.length-1)+\".\");if(t!==Math.floor(t))throw new gt(\"Array index must be an integer, but found \"+t+\" instead.\");return r[t]},kr.prototype.eachChild=function(e){e(this.index),e(this.input)},kr.prototype.outputDefined=function(){return!1},kr.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var Tr=function(e,t){this.type=Ge,this.needle=e,this.haystack=t};Tr.parse=function(e,t){if(3!==e.length)return t.error(\"Expected 2 arguments, but found \"+(e.length-1)+\" instead.\");var r=t.parse(e[1],1,Ze),n=t.parse(e[2],2,Ze);return r&&n?rt(r.type,[Ge,qe,He,Ve,Ze])?new Tr(r,n):t.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Qe(r.type)+\" instead\"):null},Tr.prototype.evaluate=function(e){var t=this.needle.evaluate(e),r=this.haystack.evaluate(e);if(!r)return!1;if(!nt(t,[\"boolean\",\"string\",\"number\",\"null\"]))throw new gt(\"Expected first argument to be of type boolean, string, number or null, but found \"+Qe(pt(t))+\" instead.\");if(!nt(r,[\"string\",\"array\"]))throw new gt(\"Expected second argument to be of type array or string, but found \"+Qe(pt(r))+\" instead.\");return r.indexOf(t)>=0},Tr.prototype.eachChild=function(e){e(this.needle),e(this.haystack)},Tr.prototype.outputDefined=function(){return!0},Tr.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var Mr=function(e,t,r){this.type=He,this.needle=e,this.haystack=t,this.fromIndex=r};Mr.parse=function(e,t){if(e.length<=2||e.length>=5)return t.error(\"Expected 3 or 4 arguments, but found \"+(e.length-1)+\" instead.\");var r=t.parse(e[1],1,Ze),n=t.parse(e[2],2,Ze);if(!r||!n)return null;if(!rt(r.type,[Ge,qe,He,Ve,Ze]))return t.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Qe(r.type)+\" instead\");if(4===e.length){var i=t.parse(e[3],3,He);return i?new Mr(r,n,i):null}return new Mr(r,n)},Mr.prototype.evaluate=function(e){var t=this.needle.evaluate(e),r=this.haystack.evaluate(e);if(!nt(t,[\"boolean\",\"string\",\"number\",\"null\"]))throw new gt(\"Expected first argument to be of type boolean, string, number or null, but found \"+Qe(pt(t))+\" instead.\");if(!nt(r,[\"string\",\"array\"]))throw new gt(\"Expected second argument to be of type array or string, but found \"+Qe(pt(r))+\" instead.\");if(this.fromIndex){var n=this.fromIndex.evaluate(e);return r.indexOf(t,n)}return r.indexOf(t)},Mr.prototype.eachChild=function(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var e=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),e]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var Ar=function(e,t,r,n,i,a){this.inputType=e,this.type=t,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Ar.parse=function(e,t){if(e.length<5)return t.error(\"Expected at least 4 arguments, but found only \"+(e.length-1)+\".\");if(e.length%2!=1)return t.error(\"Expected an even number of arguments.\");var r,n;t.expectedType&&\"value\"!==t.expectedType.kind&&(n=t.expectedType);for(var i={},a=[],o=2;o<e.length-1;o+=2){var s=e[o],l=e[o+1];Array.isArray(s)||(s=[s]);var u=t.concat(o);if(0===s.length)return u.error(\"Expected at least one branch label.\");for(var c=0,f=s;c<f.length;c+=1){var h=f[c];if(\"number\"!=typeof h&&\"string\"!=typeof h)return u.error(\"Branch labels must be numbers or strings.\");if(\"number\"==typeof h&&Math.abs(h)>Number.MAX_SAFE_INTEGER)return u.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof h&&Math.floor(h)!==h)return u.error(\"Numeric branch labels must be integer values.\");if(r){if(u.checkSubtype(r,pt(h)))return null}else r=pt(h);if(void 0!==i[String(h)])return u.error(\"Branch labels must be unique.\");i[String(h)]=a.length}var p=t.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=t.parse(e[1],1,Ze);if(!d)return null;var v=t.parse(e[e.length-1],e.length-1,n);return v?\"value\"!==d.type.kind&&t.concat(1).checkSubtype(r,d.type)?null:new Ar(r,n,d,i,a,v):null},Ar.prototype.evaluate=function(e){var t=this.input.evaluate(e);return(pt(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)},Ar.prototype.eachChild=function(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)},Ar.prototype.outputDefined=function(){return this.outputs.every((function(e){return e.outputDefined()}))&&this.otherwise.outputDefined()},Ar.prototype.serialize=function(){for(var e=this,t=[\"match\",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i<a.length;i+=1){var o=a[i];void 0===(f=n[this.cases[o]])?(n[this.cases[o]]=r.length,r.push([this.cases[o],[o]])):r[f][1].push(o)}for(var s=function(t){return\"number\"===e.inputType.kind?Number(t):t},l=0,u=r;l<u.length;l+=1){var c=u[l],f=c[0],h=c[1];1===h.length?t.push(s(h[0])):t.push(h.map(s)),t.push(this.outputs[outputIndex$1].serialize())}return t.push(this.otherwise.serialize()),t};var Sr=function(e,t,r){this.type=e,this.branches=t,this.otherwise=r};Sr.parse=function(e,t){if(e.length<4)return t.error(\"Expected at least 3 arguments, but found only \"+(e.length-1)+\".\");if(e.length%2!=0)return t.error(\"Expected an odd number of arguments.\");var r;t.expectedType&&\"value\"!==t.expectedType.kind&&(r=t.expectedType);for(var n=[],i=1;i<e.length-1;i+=2){var a=t.parse(e[i],i,Ge);if(!a)return null;var o=t.parse(e[i+1],i+1,r);if(!o)return null;n.push([a,o]),r=r||o.type}var s=t.parse(e[e.length-1],e.length-1,r);return s?new Sr(r,n,s):null},Sr.prototype.evaluate=function(e){for(var t=0,r=this.branches;t<r.length;t+=1){var n=r[t],i=n[0],a=n[1];if(i.evaluate(e))return a.evaluate(e)}return this.otherwise.evaluate(e)},Sr.prototype.eachChild=function(e){for(var t=0,r=this.branches;t<r.length;t+=1){var n=r[t],i=n[0],a=n[1];e(i),e(a)}e(this.otherwise)},Sr.prototype.outputDefined=function(){return this.branches.every((function(e){return e[0],e[1].outputDefined()}))&&this.otherwise.outputDefined()},Sr.prototype.serialize=function(){var e=[\"case\"];return this.eachChild((function(t){e.push(t.serialize())})),e};var Er=function(e,t,r,n){this.type=e,this.input=t,this.beginIndex=r,this.endIndex=n};function Cr(e,t){return\"==\"===e||\"!=\"===e?\"boolean\"===t.kind||\"string\"===t.kind||\"number\"===t.kind||\"null\"===t.kind||\"value\"===t.kind:\"string\"===t.kind||\"number\"===t.kind||\"value\"===t.kind}function Lr(e,t,r,n){return 0===n.compare(t,r)}function Pr(e,t,r){var n=\"==\"!==e&&\"!=\"!==e;return function(){function i(e,t,r){this.type=Ge,this.lhs=e,this.rhs=t,this.collator=r,this.hasUntypedArgument=\"value\"===e.type.kind||\"value\"===t.type.kind}return i.parse=function(e,t){if(3!==e.length&&4!==e.length)return t.error(\"Expected two or three arguments.\");var r=e[0],a=t.parse(e[1],1,Ze);if(!a)return null;if(!Cr(r,a.type))return t.concat(1).error('\"'+r+\"\\\" comparisons are not supported for type '\"+Qe(a.type)+\"'.\");var o=t.parse(e[2],2,Ze);if(!o)return null;if(!Cr(r,o.type))return t.concat(2).error('\"'+r+\"\\\" comparisons are not supported for type '\"+Qe(o.type)+\"'.\");if(a.type.kind!==o.type.kind&&\"value\"!==a.type.kind&&\"value\"!==o.type.kind)return t.error(\"Cannot compare types '\"+Qe(a.type)+\"' and '\"+Qe(o.type)+\"'.\");n&&(\"value\"===a.type.kind&&\"value\"!==o.type.kind?a=new yt(o.type,[a]):\"value\"!==a.type.kind&&\"value\"===o.type.kind&&(o=new yt(a.type,[o])));var s=null;if(4===e.length){if(\"string\"!==a.type.kind&&\"string\"!==o.type.kind&&\"value\"!==a.type.kind&&\"value\"!==o.type.kind)return t.error(\"Cannot use collator to compare non-string types.\");if(!(s=t.parse(e[3],3,Xe)))return null}return new i(a,o,s)},i.prototype.evaluate=function(i){var a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){var s=pt(a),l=pt(o);if(s.kind!==l.kind||\"string\"!==s.kind&&\"number\"!==s.kind)throw new gt('Expected arguments for \"'+e+'\" to be (string, string) or (number, number), but found ('+s.kind+\", \"+l.kind+\") instead.\")}if(this.collator&&!n&&this.hasUntypedArgument){var u=pt(a),c=pt(o);if(\"string\"!==u.kind||\"string\"!==c.kind)return t(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):t(i,a,o)},i.prototype.eachChild=function(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)},i.prototype.outputDefined=function(){return!0},i.prototype.serialize=function(){var t=[e];return this.eachChild((function(e){t.push(e.serialize())})),t},i}()}Er.parse=function(e,t){if(e.length<=2||e.length>=5)return t.error(\"Expected 3 or 4 arguments, but found \"+(e.length-1)+\" instead.\");var r=t.parse(e[1],1,Ze),n=t.parse(e[2],2,He);if(!r||!n)return null;if(!rt(r.type,[$e(Ze),qe,Ze]))return t.error(\"Expected first argument to be of type array or string, but found \"+Qe(r.type)+\" instead\");if(4===e.length){var i=t.parse(e[3],3,He);return i?new Er(r.type,r,n,i):null}return new Er(r.type,r,n)},Er.prototype.evaluate=function(e){var t=this.input.evaluate(e),r=this.beginIndex.evaluate(e);if(!nt(t,[\"string\",\"array\"]))throw new gt(\"Expected first argument to be of type array or string, but found \"+Qe(pt(t))+\" instead.\");if(this.endIndex){var n=this.endIndex.evaluate(e);return t.slice(r,n)}return t.slice(r)},Er.prototype.eachChild=function(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)},Er.prototype.outputDefined=function(){return!1},Er.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var e=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),e]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};var Or=Pr(\"==\",(function(e,t,r){return t===r}),Lr),Ir=Pr(\"!=\",(function(e,t,r){return t!==r}),(function(e,t,r,n){return!Lr(0,t,r,n)})),Dr=Pr(\"<\",(function(e,t,r){return t<r}),(function(e,t,r,n){return n.compare(t,r)<0})),zr=Pr(\">\",(function(e,t,r){return t>r}),(function(e,t,r,n){return n.compare(t,r)>0})),Rr=Pr(\"<=\",(function(e,t,r){return t<=r}),(function(e,t,r,n){return n.compare(t,r)<=0})),Fr=Pr(\">=\",(function(e,t,r){return t>=r}),(function(e,t,r,n){return n.compare(t,r)>=0})),Br=function(e,t,r,n,i){this.type=qe,this.number=e,this.locale=t,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};Br.parse=function(e,t){if(3!==e.length)return t.error(\"Expected two arguments.\");var r=t.parse(e[1],1,He);if(!r)return null;var n=e[2];if(\"object\"!=typeof n||Array.isArray(n))return t.error(\"NumberFormat options argument must be an object.\");var i=null;if(n.locale&&!(i=t.parse(n.locale,1,qe)))return null;var a=null;if(n.currency&&!(a=t.parse(n.currency,1,qe)))return null;var o=null;if(n[\"min-fraction-digits\"]&&!(o=t.parse(n[\"min-fraction-digits\"],1,He)))return null;var s=null;return n[\"max-fraction-digits\"]&&!(s=t.parse(n[\"max-fraction-digits\"],1,He))?null:new Br(r,i,a,o,s)},Br.prototype.evaluate=function(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))},Br.prototype.eachChild=function(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)},Br.prototype.outputDefined=function(){return!1},Br.prototype.serialize=function(){var e={};return this.locale&&(e.locale=this.locale.serialize()),this.currency&&(e.currency=this.currency.serialize()),this.minFractionDigits&&(e[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(e[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),e]};var Nr=function(e){this.type=He,this.input=e};Nr.parse=function(e,t){if(2!==e.length)return t.error(\"Expected 1 argument, but found \"+(e.length-1)+\" instead.\");var r=t.parse(e[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?t.error(\"Expected argument of type string or array, but found \"+Qe(r.type)+\" instead.\"):new Nr(r):null},Nr.prototype.evaluate=function(e){var t=this.input.evaluate(e);if(\"string\"==typeof t)return t.length;if(Array.isArray(t))return t.length;throw new gt(\"Expected value to be of type string or array, but found \"+Qe(pt(t))+\" instead.\")},Nr.prototype.eachChild=function(e){e(this.input)},Nr.prototype.outputDefined=function(){return!1},Nr.prototype.serialize=function(){var e=[\"length\"];return this.eachChild((function(t){e.push(t.serialize())})),e};var jr={\"==\":Or,\"!=\":Ir,\">\":zr,\"<\":Dr,\">=\":Fr,\"<=\":Rr,array:yt,at:kr,boolean:yt,case:Sr,coalesce:_r,collator:At,format:xt,image:bt,in:Tr,\"index-of\":Mr,interpolate:xr,\"interpolate-hcl\":xr,\"interpolate-lab\":xr,length:Nr,let:wr,literal:vt,match:Ar,number:yt,\"number-format\":Br,object:yt,slice:Er,step:Jt,string:yt,\"to-boolean\":wt,\"to-color\":wt,\"to-number\":wt,\"to-string\":wt,var:Wt,within:Ht};function Ur(e,t){var r=t[0],n=t[1],i=t[2],a=t[3];r=r.evaluate(e),n=n.evaluate(e),i=i.evaluate(e);var o=a?a.evaluate(e):1,s=ft(r,n,i,o);if(s)throw new gt(s);return new ot(r/255*o,n/255*o,i/255*o,o)}function Vr(e,t){return e in t}function Hr(e,t){var r=t[e];return void 0===r?null:r}function qr(e){return{type:e}}function Gr(e){return{result:\"success\",value:e}}function Yr(e){return{result:\"error\",value:e}}function Wr(e){return\"data-driven\"===e[\"property-type\"]||\"cross-faded-data-driven\"===e[\"property-type\"]}function Zr(e){return!!e.expression&&e.expression.parameters.indexOf(\"zoom\")>-1}function Xr(e){return!!e.expression&&e.expression.interpolated}function Kr(e){return e instanceof Number?\"number\":e instanceof String?\"string\":e instanceof Boolean?\"boolean\":Array.isArray(e)?\"array\":null===e?\"null\":typeof e}function Jr(e){return\"object\"==typeof e&&null!==e&&!Array.isArray(e)}function $r(e){return e}function Qr(e,t){var r,n,i,a=\"color\"===t.type,o=e.stops&&\"object\"==typeof e.stops[0][0],s=o||void 0!==e.property,l=o||!s,u=e.type||(Xr(t)?\"exponential\":\"interval\");if(a&&((e=Fe({},e)).stops&&(e.stops=e.stops.map((function(e){return[e[0],ot.parse(e[1])]}))),e.default?e.default=ot.parse(e.default):e.default=ot.parse(t.default)),e.colorSpace&&\"rgb\"!==e.colorSpace&&!yr[e.colorSpace])throw new Error(\"Unknown color space: \"+e.colorSpace);if(\"exponential\"===u)r=nn;else if(\"interval\"===u)r=rn;else if(\"categorical\"===u){r=tn,n=Object.create(null);for(var c=0,f=e.stops;c<f.length;c+=1){var h=f[c];n[h[0]]=h[1]}i=typeof e.stops[0][0]}else{if(\"identity\"!==u)throw new Error('Unknown function type \"'+u+'\"');r=an}if(o){for(var p={},d=[],v=0;v<e.stops.length;v++){var g=e.stops[v],m=g[0].zoom;void 0===p[m]&&(p[m]={zoom:m,type:e.type,property:e.property,default:e.default,stops:[]},d.push(m)),p[m].stops.push([g[0].value,g[1]])}for(var y=[],x=0,b=d;x<b.length;x+=1){var _=b[x];y.push([p[_].zoom,Qr(p[_],t)])}var w={name:\"linear\"};return{kind:\"composite\",interpolationType:w,interpolationFactor:xr.interpolationFactor.bind(void 0,w),zoomStops:y.map((function(e){return e[0]})),evaluate:function(r,n){var i=r.zoom;return nn({stops:y,base:e.base},t,i).evaluate(i,n)}}}if(l){var k=\"exponential\"===u?{name:\"exponential\",base:void 0!==e.base?e.base:1}:null;return{kind:\"camera\",interpolationType:k,interpolationFactor:xr.interpolationFactor.bind(void 0,k),zoomStops:e.stops.map((function(e){return e[0]})),evaluate:function(a){var o=a.zoom;return r(e,t,o,n,i)}}}return{kind:\"source\",evaluate:function(a,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?en(e.default,t.default):r(e,t,s,n,i)}}}function en(e,t,r){return void 0!==e?e:void 0!==t?t:void 0!==r?r:void 0}function tn(e,t,r,n,i){return en(typeof r===i?n[r]:void 0,e.default,t.default)}function rn(e,t,r){if(\"number\"!==Kr(r))return en(e.default,t.default);var n=e.stops.length;if(1===n)return e.stops[0][1];if(r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[n-1][0])return e.stops[n-1][1];var i=Kt(e.stops.map((function(e){return e[0]})),r);return e.stops[i][1]}function nn(e,t,r){var n=void 0!==e.base?e.base:1;if(\"number\"!==Kr(r))return en(e.default,t.default);var i=e.stops.length;if(1===i)return e.stops[0][1];if(r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[i-1][0])return e.stops[i-1][1];var a=Kt(e.stops.map((function(e){return e[0]})),r),o=function(e,t,r,n){var i=n-r,a=e-r;return 0===i?0:1===t?a/i:(Math.pow(t,a)-1)/(Math.pow(t,i)-1)}(r,n,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],l=e.stops[a+1][1],u=Qt[t.type]||$r;if(e.colorSpace&&\"rgb\"!==e.colorSpace){var c=yr[e.colorSpace];u=function(e,t){return c.reverse(c.interpolate(c.forward(e),c.forward(t),o))}}return\"function\"==typeof s.evaluate?{evaluate:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=s.evaluate.apply(void 0,e),n=l.evaluate.apply(void 0,e);if(void 0!==r&&void 0!==n)return u(r,n,o)}}:u(s,l,o)}function an(e,t,r){return\"color\"===t.type?r=ot.parse(r):\"formatted\"===t.type?r=ut.fromString(r.toString()):\"resolvedImage\"===t.type?r=ct.fromString(r.toString()):Kr(r)===t.type||\"enum\"===t.type&&t.values[r]||(r=void 0),en(r,e.default,t.default)}Mt.register(jr,{error:[{kind:\"error\"},[qe],function(e,t){var r=t[0];throw new gt(r.evaluate(e))}],typeof:[qe,[Ze],function(e,t){return Qe(pt(t[0].evaluate(e)))}],\"to-rgba\":[$e(He,4),[Ye],function(e,t){return t[0].evaluate(e).toArray()}],rgb:[Ye,[He,He,He],Ur],rgba:[Ye,[He,He,He,He],Ur],has:{type:Ge,overloads:[[[qe],function(e,t){return Vr(t[0].evaluate(e),e.properties())}],[[qe,We],function(e,t){var r=t[0],n=t[1];return Vr(r.evaluate(e),n.evaluate(e))}]]},get:{type:Ze,overloads:[[[qe],function(e,t){return Hr(t[0].evaluate(e),e.properties())}],[[qe,We],function(e,t){var r=t[0],n=t[1];return Hr(r.evaluate(e),n.evaluate(e))}]]},\"feature-state\":[Ze,[qe],function(e,t){return Hr(t[0].evaluate(e),e.featureState||{})}],properties:[We,[],function(e){return e.properties()}],\"geometry-type\":[qe,[],function(e){return e.geometryType()}],id:[Ze,[],function(e){return e.id()}],zoom:[He,[],function(e){return e.globals.zoom}],\"heatmap-density\":[He,[],function(e){return e.globals.heatmapDensity||0}],\"line-progress\":[He,[],function(e){return e.globals.lineProgress||0}],accumulated:[Ze,[],function(e){return void 0===e.globals.accumulated?null:e.globals.accumulated}],\"+\":[He,qr(He),function(e,t){for(var r=0,n=0,i=t;n<i.length;n+=1)r+=i[n].evaluate(e);return r}],\"*\":[He,qr(He),function(e,t){for(var r=1,n=0,i=t;n<i.length;n+=1)r*=i[n].evaluate(e);return r}],\"-\":{type:He,overloads:[[[He,He],function(e,t){var r=t[0],n=t[1];return r.evaluate(e)-n.evaluate(e)}],[[He],function(e,t){return-t[0].evaluate(e)}]]},\"/\":[He,[He,He],function(e,t){var r=t[0],n=t[1];return r.evaluate(e)/n.evaluate(e)}],\"%\":[He,[He,He],function(e,t){var r=t[0],n=t[1];return r.evaluate(e)%n.evaluate(e)}],ln2:[He,[],function(){return Math.LN2}],pi:[He,[],function(){return Math.PI}],e:[He,[],function(){return Math.E}],\"^\":[He,[He,He],function(e,t){var r=t[0],n=t[1];return Math.pow(r.evaluate(e),n.evaluate(e))}],sqrt:[He,[He],function(e,t){var r=t[0];return Math.sqrt(r.evaluate(e))}],log10:[He,[He],function(e,t){var r=t[0];return Math.log(r.evaluate(e))/Math.LN10}],ln:[He,[He],function(e,t){var r=t[0];return Math.log(r.evaluate(e))}],log2:[He,[He],function(e,t){var r=t[0];return Math.log(r.evaluate(e))/Math.LN2}],sin:[He,[He],function(e,t){var r=t[0];return Math.sin(r.evaluate(e))}],cos:[He,[He],function(e,t){var r=t[0];return Math.cos(r.evaluate(e))}],tan:[He,[He],function(e,t){var r=t[0];return Math.tan(r.evaluate(e))}],asin:[He,[He],function(e,t){var r=t[0];return Math.asin(r.evaluate(e))}],acos:[He,[He],function(e,t){var r=t[0];return Math.acos(r.evaluate(e))}],atan:[He,[He],function(e,t){var r=t[0];return Math.atan(r.evaluate(e))}],min:[He,qr(He),function(e,t){return Math.min.apply(Math,t.map((function(t){return t.evaluate(e)})))}],max:[He,qr(He),function(e,t){return Math.max.apply(Math,t.map((function(t){return t.evaluate(e)})))}],abs:[He,[He],function(e,t){var r=t[0];return Math.abs(r.evaluate(e))}],round:[He,[He],function(e,t){var r=t[0].evaluate(e);return r<0?-Math.round(-r):Math.round(r)}],floor:[He,[He],function(e,t){var r=t[0];return Math.floor(r.evaluate(e))}],ceil:[He,[He],function(e,t){var r=t[0];return Math.ceil(r.evaluate(e))}],\"filter-==\":[Ge,[qe,Ze],function(e,t){var r=t[0],n=t[1];return e.properties()[r.value]===n.value}],\"filter-id-==\":[Ge,[Ze],function(e,t){var r=t[0];return e.id()===r.value}],\"filter-type-==\":[Ge,[qe],function(e,t){var r=t[0];return e.geometryType()===r.value}],\"filter-<\":[Ge,[qe,Ze],function(e,t){var r=t[0],n=t[1],i=e.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],\"filter-id-<\":[Ge,[Ze],function(e,t){var r=t[0],n=e.id(),i=r.value;return typeof n==typeof i&&n<i}],\"filter->\":[Ge,[qe,Ze],function(e,t){var r=t[0],n=t[1],i=e.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\"filter-id->\":[Ge,[Ze],function(e,t){var r=t[0],n=e.id(),i=r.value;return typeof n==typeof i&&n>i}],\"filter-<=\":[Ge,[qe,Ze],function(e,t){var r=t[0],n=t[1],i=e.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\"filter-id-<=\":[Ge,[Ze],function(e,t){var r=t[0],n=e.id(),i=r.value;return typeof n==typeof i&&n<=i}],\"filter->=\":[Ge,[qe,Ze],function(e,t){var r=t[0],n=t[1],i=e.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\"filter-id->=\":[Ge,[Ze],function(e,t){var r=t[0],n=e.id(),i=r.value;return typeof n==typeof i&&n>=i}],\"filter-has\":[Ge,[Ze],function(e,t){return t[0].value in e.properties()}],\"filter-has-id\":[Ge,[],function(e){return null!==e.id()&&void 0!==e.id()}],\"filter-type-in\":[Ge,[$e(qe)],function(e,t){return t[0].value.indexOf(e.geometryType())>=0}],\"filter-id-in\":[Ge,[$e(Ze)],function(e,t){return t[0].value.indexOf(e.id())>=0}],\"filter-in-small\":[Ge,[qe,$e(Ze)],function(e,t){var r=t[0];return t[1].value.indexOf(e.properties()[r.value])>=0}],\"filter-in-large\":[Ge,[qe,$e(Ze)],function(e,t){var r=t[0],n=t[1];return function(e,t,r,n){for(;r<=n;){var i=r+n>>1;if(t[i]===e)return!0;t[i]>e?n=i-1:r=i+1}return!1}(e.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Ge,overloads:[[[Ge,Ge],function(e,t){var r=t[0],n=t[1];return r.evaluate(e)&&n.evaluate(e)}],[qr(Ge),function(e,t){for(var r=0,n=t;r<n.length;r+=1)if(!n[r].evaluate(e))return!1;return!0}]]},any:{type:Ge,overloads:[[[Ge,Ge],function(e,t){var r=t[0],n=t[1];return r.evaluate(e)||n.evaluate(e)}],[qr(Ge),function(e,t){for(var r=0,n=t;r<n.length;r+=1)if(n[r].evaluate(e))return!0;return!1}]]},\"!\":[Ge,[Ge],function(e,t){return!t[0].evaluate(e)}],\"is-supported-script\":[Ge,[qe],function(e,t){var r=t[0],n=e.globals&&e.globals.isSupportedScript;return!n||n(r.evaluate(e))}],upcase:[qe,[qe],function(e,t){return t[0].evaluate(e).toUpperCase()}],downcase:[qe,[qe],function(e,t){return t[0].evaluate(e).toLowerCase()}],concat:[qe,qr(Ze),function(e,t){return t.map((function(t){return dt(t.evaluate(e))})).join(\"\")}],\"resolved-locale\":[qe,[Xe],function(e,t){return t[0].evaluate(e).resolvedLocale()}]});var on=function(e,t){this.expression=e,this._warningHistory={},this._evaluator=new Tt,this._defaultValue=t?function(e){return\"color\"===e.type&&Jr(e.default)?new ot(0,0,0,0):\"color\"===e.type?ot.parse(e.default)||null:void 0===e.default?null:e.default}(t):null,this._enumValues=t&&\"enum\"===t.type?t.values:null};function sn(e){return Array.isArray(e)&&e.length>0&&\"string\"==typeof e[0]&&e[0]in jr}function ln(e,t){var r=new Zt(jr,[],t?function(e){var t={color:Ye,string:qe,number:He,enum:qe,boolean:Ge,formatted:Ke,resolvedImage:Je};return\"array\"===e.type?$e(t[e.value]||Ze,e.length):t[e.type]}(t):void 0),n=r.parse(e,void 0,void 0,void 0,t&&\"string\"===t.type?{typeAnnotation:\"coerce\"}:void 0);return n?Gr(new on(n,t)):Yr(r.errors)}on.prototype.evaluateWithoutErrorHandling=function(e,t,r,n,i,a){return this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},on.prototype.evaluate=function(e,t,r,n,i,a){this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||\"number\"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new gt(\"Expected value to be one of \"+Object.keys(this._enumValues).map((function(e){return JSON.stringify(e)})).join(\", \")+\", but found \"+JSON.stringify(o)+\" instead.\");return o}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,\"undefined\"!=typeof console&&console.warn(e.message)),this._defaultValue}};var un=function(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent=\"constant\"!==e&&!Gt(t.expression)};un.prototype.evaluateWithoutErrorHandling=function(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)},un.prototype.evaluate=function(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)};var cn=function(e,t,r,n){this.kind=e,this.zoomStops=r,this._styleExpression=t,this.isStateDependent=\"camera\"!==e&&!Gt(t.expression),this.interpolationType=n};function fn(e,t){if(\"error\"===(e=ln(e,t)).result)return e;var r=e.value.expression,n=qt(r);if(!n&&!Wr(t))return Yr([new je(\"\",\"data expressions not supported\")]);var i=Yt(r,[\"zoom\"]);if(!i&&!Zr(t))return Yr([new je(\"\",\"zoom expressions not supported\")]);var a=pn(r);if(!a&&!i)return Yr([new je(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(a instanceof je)return Yr([a]);if(a instanceof xr&&!Xr(t))return Yr([new je(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!a)return Gr(new un(n?\"constant\":\"source\",e.value));var o=a instanceof xr?a.interpolation:void 0;return Gr(new cn(n?\"camera\":\"composite\",e.value,a.labels,o))}cn.prototype.evaluateWithoutErrorHandling=function(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)},cn.prototype.evaluate=function(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)},cn.prototype.interpolationFactor=function(e,t,r){return this.interpolationType?xr.interpolationFactor(this.interpolationType,e,t,r):0};var hn=function(e,t){this._parameters=e,this._specification=t,Fe(this,Qr(this._parameters,this._specification))};function pn(e){var t=null;if(e instanceof wr)t=pn(e.result);else if(e instanceof _r)for(var r=0,n=e.args;r<n.length;r+=1){var i=n[r];if(t=pn(i))break}else(e instanceof Jt||e instanceof xr)&&e.input instanceof Mt&&\"zoom\"===e.input.name&&(t=e);return t instanceof je||e.eachChild((function(e){var r=pn(e);r instanceof je?t=r:!t&&r?t=new je(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):t&&r&&t!==r&&(t=new je(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))})),t}function dn(e){var t=e.key,r=e.value,n=e.valueSpec||{},i=e.objectElementValidators||{},a=e.style,o=e.styleSpec,s=[],l=Kr(r);if(\"object\"!==l)return[new ze(t,r,\"object expected, \"+l+\" found\")];for(var u in r){var c=u.split(\".\")[0],f=n[c]||n[\"*\"],h=void 0;if(i[c])h=i[c];else if(n[c])h=Un;else if(i[\"*\"])h=i[\"*\"];else{if(!n[\"*\"]){s.push(new ze(t,r[u],'unknown property \"'+u+'\"'));continue}h=Un}s=s.concat(h({key:(t?t+\".\":t)+u,value:r[u],valueSpec:f,style:a,styleSpec:o,object:r,objectKey:u},r))}for(var p in n)i[p]||n[p].required&&void 0===n[p].default&&void 0===r[p]&&s.push(new ze(t,r,'missing required property \"'+p+'\"'));return s}function vn(e){var t=e.value,r=e.valueSpec,n=e.style,i=e.styleSpec,a=e.key,o=e.arrayElementValidator||Un;if(\"array\"!==Kr(t))return[new ze(a,t,\"array expected, \"+Kr(t)+\" found\")];if(r.length&&t.length!==r.length)return[new ze(a,t,\"array length \"+r.length+\" expected, length \"+t.length+\" found\")];if(r[\"min-length\"]&&t.length<r[\"min-length\"])return[new ze(a,t,\"array length at least \"+r[\"min-length\"]+\" expected, length \"+t.length+\" found\")];var s={type:r.value,values:r.values};i.$version<7&&(s.function=r.function),\"object\"===Kr(r.value)&&(s=r.value);for(var l=[],u=0;u<t.length;u++)l=l.concat(o({array:t,arrayIndex:u,value:t[u],valueSpec:s,style:n,styleSpec:i,key:a+\"[\"+u+\"]\"}));return l}function gn(e){var t=e.key,r=e.value,n=e.valueSpec,i=Kr(r);return\"number\"===i&&r!=r&&(i=\"NaN\"),\"number\"!==i?[new ze(t,r,\"number expected, \"+i+\" found\")]:\"minimum\"in n&&r<n.minimum?[new ze(t,r,r+\" is less than the minimum value \"+n.minimum)]:\"maximum\"in n&&r>n.maximum?[new ze(t,r,r+\" is greater than the maximum value \"+n.maximum)]:[]}function mn(e){var t,r,n,i=e.valueSpec,a=Be(e.value.type),o={},s=\"categorical\"!==a&&void 0===e.value.property,l=!s,u=\"array\"===Kr(e.value.stops)&&\"array\"===Kr(e.value.stops[0])&&\"object\"===Kr(e.value.stops[0][0]),c=dn({key:e.key,value:e.value,valueSpec:e.styleSpec.function,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if(\"identity\"===a)return[new ze(e.key,e.value,'identity function may not have a \"stops\" property')];var t=[],r=e.value;return t=t.concat(vn({key:e.key,value:r,valueSpec:e.valueSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:f})),\"array\"===Kr(r)&&0===r.length&&t.push(new ze(e.key,r,\"array must have at least one stop\")),t},default:function(e){return Un({key:e.key,value:e.value,valueSpec:i,style:e.style,styleSpec:e.styleSpec})}}});return\"identity\"===a&&s&&c.push(new ze(e.key,e.value,'missing required property \"property\"')),\"identity\"===a||e.value.stops||c.push(new ze(e.key,e.value,'missing required property \"stops\"')),\"exponential\"===a&&e.valueSpec.expression&&!Xr(e.valueSpec)&&c.push(new ze(e.key,e.value,\"exponential functions not supported\")),e.styleSpec.$version>=8&&(l&&!Wr(e.valueSpec)?c.push(new ze(e.key,e.value,\"property functions not supported\")):s&&!Zr(e.valueSpec)&&c.push(new ze(e.key,e.value,\"zoom functions not supported\"))),\"categorical\"!==a&&!u||void 0!==e.value.property||c.push(new ze(e.key,e.value,'\"property\" property is required')),c;function f(e){var t=[],a=e.value,s=e.key;if(\"array\"!==Kr(a))return[new ze(s,a,\"array expected, \"+Kr(a)+\" found\")];if(2!==a.length)return[new ze(s,a,\"array length 2 expected, length \"+a.length+\" found\")];if(u){if(\"object\"!==Kr(a[0]))return[new ze(s,a,\"object expected, \"+Kr(a[0])+\" found\")];if(void 0===a[0].zoom)return[new ze(s,a,\"object stop key must have zoom\")];if(void 0===a[0].value)return[new ze(s,a,\"object stop key must have value\")];if(n&&n>Be(a[0].zoom))return[new ze(s,a[0].zoom,\"stop zoom values must appear in ascending order\")];Be(a[0].zoom)!==n&&(n=Be(a[0].zoom),r=void 0,o={}),t=t.concat(dn({key:s+\"[0]\",value:a[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:gn,value:h}}))}else t=t.concat(h({key:s+\"[0]\",value:a[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec},a));return sn(Ne(a[1]))?t.concat([new ze(s+\"[1]\",a[1],\"expressions are not allowed in function stops.\")]):t.concat(Un({key:s+\"[1]\",value:a[1],valueSpec:i,style:e.style,styleSpec:e.styleSpec}))}function h(e,n){var s=Kr(e.value),l=Be(e.value),u=null!==e.value?e.value:n;if(t){if(s!==t)return[new ze(e.key,u,s+\" stop domain type must match previous stop domain type \"+t)]}else t=s;if(\"number\"!==s&&\"string\"!==s&&\"boolean\"!==s)return[new ze(e.key,u,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==s&&\"categorical\"!==a){var c=\"number expected, \"+s+\" found\";return Wr(i)&&void 0===a&&(c+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ze(e.key,u,c)]}return\"categorical\"!==a||\"number\"!==s||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==a&&\"number\"===s&&void 0!==r&&l<r?[new ze(e.key,u,\"stop domain values must appear in ascending order\")]:(r=l,\"categorical\"===a&&l in o?[new ze(e.key,u,\"stop domain values must be unique\")]:(o[l]=!0,[])):[new ze(e.key,u,\"integer expected, found \"+l)]}}function yn(e){var t=(\"property\"===e.expressionContext?fn:ln)(Ne(e.value),e.valueSpec);if(\"error\"===t.result)return t.value.map((function(t){return new ze(\"\"+e.key+t.key,e.value,t.message)}));var r=t.value.expression||t.value._styleExpression.expression;if(\"property\"===e.expressionContext&&\"text-font\"===e.propertyKey&&!r.outputDefined())return[new ze(e.key,e.value,'Invalid data expression for \"'+e.propertyKey+'\". Output values must be contained as literals within the expression.')];if(\"property\"===e.expressionContext&&\"layout\"===e.propertyType&&!Gt(r))return[new ze(e.key,e.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===e.expressionContext&&!Gt(r))return[new ze(e.key,e.value,'\"feature-state\" data expressions are not supported with filters.')];if(e.expressionContext&&0===e.expressionContext.indexOf(\"cluster\")){if(!Yt(r,[\"zoom\",\"feature-state\"]))return[new ze(e.key,e.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===e.expressionContext&&!qt(r))return[new ze(e.key,e.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function xn(e){var t=e.key,r=e.value,n=e.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Be(r))&&i.push(new ze(t,r,\"expected one of [\"+n.values.join(\", \")+\"], \"+JSON.stringify(r)+\" found\")):-1===Object.keys(n.values).indexOf(Be(r))&&i.push(new ze(t,r,\"expected one of [\"+Object.keys(n.values).join(\", \")+\"], \"+JSON.stringify(r)+\" found\")),i}function bn(e){if(!0===e||!1===e)return!0;if(!Array.isArray(e)||0===e.length)return!1;switch(e[0]){case\"has\":return e.length>=2&&\"$id\"!==e[1]&&\"$type\"!==e[1];case\"in\":return e.length>=3&&(\"string\"!=typeof e[1]||Array.isArray(e[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case\"any\":case\"all\":for(var t=0,r=e.slice(1);t<r.length;t+=1){var n=r[t];if(!bn(n)&&\"boolean\"!=typeof n)return!1}return!0;default:return!0}}hn.deserialize=function(e){return new hn(e._parameters,e._specification)},hn.serialize=function(e){return{_parameters:e._parameters,_specification:e._specification}};var _n={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function wn(e){if(null==e)return{filter:function(){return!0},needGeometry:!1};bn(e)||(e=Mn(e));var t=ln(e,_n);if(\"error\"===t.result)throw new Error(t.value.map((function(e){return e.key+\": \"+e.message})).join(\", \"));return{filter:function(e,r,n){return t.value.evaluate(e,r,{},n)},needGeometry:Tn(e)}}function kn(e,t){return e<t?-1:e>t?1:0}function Tn(e){if(!Array.isArray(e))return!1;if(\"within\"===e[0])return!0;for(var t=1;t<e.length;t++)if(Tn(e[t]))return!0;return!1}function Mn(e){if(!e)return!0;var t,r=e[0];return e.length<=1?\"any\"!==r:\"==\"===r?An(e[1],e[2],\"==\"):\"!=\"===r?Cn(An(e[1],e[2],\"==\")):\"<\"===r||\">\"===r||\"<=\"===r||\">=\"===r?An(e[1],e[2],r):\"any\"===r?(t=e.slice(1),[\"any\"].concat(t.map(Mn))):\"all\"===r?[\"all\"].concat(e.slice(1).map(Mn)):\"none\"===r?[\"all\"].concat(e.slice(1).map(Mn).map(Cn)):\"in\"===r?Sn(e[1],e.slice(2)):\"!in\"===r?Cn(Sn(e[1],e.slice(2))):\"has\"===r?En(e[1]):\"!has\"===r?Cn(En(e[1])):\"within\"!==r||e}function An(e,t,r){switch(e){case\"$type\":return[\"filter-type-\"+r,t];case\"$id\":return[\"filter-id-\"+r,t];default:return[\"filter-\"+r,e,t]}}function Sn(e,t){if(0===t.length)return!1;switch(e){case\"$type\":return[\"filter-type-in\",[\"literal\",t]];case\"$id\":return[\"filter-id-in\",[\"literal\",t]];default:return t.length>200&&!t.some((function(e){return typeof e!=typeof t[0]}))?[\"filter-in-large\",e,[\"literal\",t.sort(kn)]]:[\"filter-in-small\",e,[\"literal\",t]]}}function En(e){switch(e){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",e]}}function Cn(e){return[\"!\",e]}function Ln(e){return bn(Ne(e.value))?yn(Fe({},e,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Pn(e)}function Pn(e){var t=e.value,r=e.key;if(\"array\"!==Kr(t))return[new ze(r,t,\"array expected, \"+Kr(t)+\" found\")];var n,i=e.styleSpec,a=[];if(t.length<1)return[new ze(r,t,\"filter array must have at least 1 element\")];switch(a=a.concat(xn({key:r+\"[0]\",value:t[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),Be(t[0])){case\"<\":case\"<=\":case\">\":case\">=\":t.length>=2&&\"$type\"===Be(t[1])&&a.push(new ze(r,t,'\"$type\" cannot be use with operator \"'+t[0]+'\"'));case\"==\":case\"!=\":3!==t.length&&a.push(new ze(r,t,'filter array for operator \"'+t[0]+'\" must have 3 elements'));case\"in\":case\"!in\":t.length>=2&&\"string\"!==(n=Kr(t[1]))&&a.push(new ze(r+\"[1]\",t[1],\"string expected, \"+n+\" found\"));for(var o=2;o<t.length;o++)n=Kr(t[o]),\"$type\"===Be(t[1])?a=a.concat(xn({key:r+\"[\"+o+\"]\",value:t[o],valueSpec:i.geometry_type,style:e.style,styleSpec:e.styleSpec})):\"string\"!==n&&\"number\"!==n&&\"boolean\"!==n&&a.push(new ze(r+\"[\"+o+\"]\",t[o],\"string, number, or boolean expected, \"+n+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var s=1;s<t.length;s++)a=a.concat(Pn({key:r+\"[\"+s+\"]\",value:t[s],style:e.style,styleSpec:e.styleSpec}));break;case\"has\":case\"!has\":n=Kr(t[1]),2!==t.length?a.push(new ze(r,t,'filter array for \"'+t[0]+'\" operator must have 2 elements')):\"string\"!==n&&a.push(new ze(r+\"[1]\",t[1],\"string expected, \"+n+\" found\"));break;case\"within\":n=Kr(t[1]),2!==t.length?a.push(new ze(r,t,'filter array for \"'+t[0]+'\" operator must have 2 elements')):\"object\"!==n&&a.push(new ze(r+\"[1]\",t[1],\"object expected, \"+n+\" found\"))}return a}function On(e,t){var r=e.key,n=e.style,i=e.styleSpec,a=e.value,o=e.objectKey,s=i[t+\"_\"+e.layerType];if(!s)return[];var l=o.match(/^(.*)-transition$/);if(\"paint\"===t&&l&&s[l[1]]&&s[l[1]].transition)return Un({key:r,value:a,valueSpec:i.transition,style:n,styleSpec:i});var u,c=e.valueSpec||s[o];if(!c)return[new ze(r,a,'unknown property \"'+o+'\"')];if(\"string\"===Kr(a)&&Wr(c)&&!c.tokens&&(u=/^{([^}]+)}$/.exec(a)))return[new ze(r,a,'\"'+o+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(u[1])+\" }`.\")];var f=[];return\"symbol\"===e.layerType&&(\"text-field\"===o&&n&&!n.glyphs&&f.push(new ze(r,a,'use of \"text-field\" requires a style \"glyphs\" property')),\"text-font\"===o&&Jr(Ne(a))&&\"identity\"===Be(a.type)&&f.push(new ze(r,a,'\"text-font\" does not support identity functions'))),f.concat(Un({key:e.key,value:a,valueSpec:c,style:n,styleSpec:i,expressionContext:\"property\",propertyType:t,propertyKey:o}))}function In(e){return On(e,\"paint\")}function Dn(e){return On(e,\"layout\")}function zn(e){var t=[],r=e.value,n=e.key,i=e.style,a=e.styleSpec;r.type||r.ref||t.push(new ze(n,r,'either \"type\" or \"ref\" is required'));var o,s=Be(r.type),l=Be(r.ref);if(r.id)for(var u=Be(r.id),c=0;c<e.arrayIndex;c++){var f=i.layers[c];Be(f.id)===u&&t.push(new ze(n,r.id,'duplicate layer id \"'+r.id+'\", previously used at line '+f.id.__line__))}if(\"ref\"in r)[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach((function(e){e in r&&t.push(new ze(n,r[e],'\"'+e+'\" is prohibited for ref layers'))})),i.layers.forEach((function(e){Be(e.id)===l&&(o=e)})),o?o.ref?t.push(new ze(n,r.ref,\"ref cannot reference another ref layer\")):s=Be(o.type):t.push(new ze(n,r.ref,'ref layer \"'+l+'\" not found'));else if(\"background\"!==s)if(r.source){var h=i.sources&&i.sources[r.source],p=h&&Be(h.type);h?\"vector\"===p&&\"raster\"===s?t.push(new ze(n,r.source,'layer \"'+r.id+'\" requires a raster source')):\"raster\"===p&&\"raster\"!==s?t.push(new ze(n,r.source,'layer \"'+r.id+'\" requires a vector source')):\"vector\"!==p||r[\"source-layer\"]?\"raster-dem\"===p&&\"hillshade\"!==s?t.push(new ze(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==s||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===p&&h.lineMetrics||t.push(new ze(n,r,'layer \"'+r.id+'\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):t.push(new ze(n,r,'layer \"'+r.id+'\" must specify a \"source-layer\"')):t.push(new ze(n,r.source,'source \"'+r.source+'\" not found'))}else t.push(new ze(n,r,'missing required property \"source\"'));return t=t.concat(dn({key:n,value:r,valueSpec:a.layer,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{\"*\":function(){return[]},type:function(){return Un({key:n+\".type\",value:r.type,valueSpec:a.layer.type,style:e.style,styleSpec:e.styleSpec,object:r,objectKey:\"type\"})},filter:Ln,layout:function(e){return dn({layer:r,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{\"*\":function(e){return Dn(Fe({layerType:s},e))}}})},paint:function(e){return dn({layer:r,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{\"*\":function(e){return In(Fe({layerType:s},e))}}})}}})),t}function Rn(e){var t=e.value,r=e.key,n=Kr(t);return\"string\"!==n?[new ze(r,t,\"string expected, \"+n+\" found\")]:[]}var Fn={promoteId:function(e){var t=e.key,r=e.value;if(\"string\"===Kr(r))return Rn({key:t,value:r});var n=[];for(var i in r)n.push.apply(n,Rn({key:t+\".\"+i,value:r[i]}));return n}};function Bn(e){var t=e.value,r=e.key,n=e.styleSpec,i=e.style;if(!t.type)return[new ze(r,t,'\"type\" is required')];var a,o=Be(t.type);switch(o){case\"vector\":case\"raster\":case\"raster-dem\":return dn({key:r,value:t,valueSpec:n[\"source_\"+o.replace(\"-\",\"_\")],style:e.style,styleSpec:n,objectElementValidators:Fn});case\"geojson\":if(a=dn({key:r,value:t,valueSpec:n.source_geojson,style:i,styleSpec:n,objectElementValidators:Fn}),t.cluster)for(var s in t.clusterProperties){var l=t.clusterProperties[s],u=l[0],c=l[1],f=\"string\"==typeof u?[u,[\"accumulated\"],[\"get\",s]]:u;a.push.apply(a,yn({key:r+\".\"+s+\".map\",value:c,expressionContext:\"cluster-map\"})),a.push.apply(a,yn({key:r+\".\"+s+\".reduce\",value:f,expressionContext:\"cluster-reduce\"}))}return a;case\"video\":return dn({key:r,value:t,valueSpec:n.source_video,style:i,styleSpec:n});case\"image\":return dn({key:r,value:t,valueSpec:n.source_image,style:i,styleSpec:n});case\"canvas\":return[new ze(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return xn({key:r+\".type\",value:t.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,styleSpec:n})}}function Nn(e){var t=e.value,r=e.styleSpec,n=r.light,i=e.style,a=[],o=Kr(t);if(void 0===t)return a;if(\"object\"!==o)return a.concat([new ze(\"light\",t,\"object expected, \"+o+\" found\")]);for(var s in t){var l=s.match(/^(.*)-transition$/);a=l&&n[l[1]]&&n[l[1]].transition?a.concat(Un({key:s,value:t[s],valueSpec:r.transition,style:i,styleSpec:r})):n[s]?a.concat(Un({key:s,value:t[s],valueSpec:n[s],style:i,styleSpec:r})):a.concat([new ze(s,t[s],'unknown property \"'+s+'\"')])}return a}var jn={\"*\":function(){return[]},array:vn,boolean:function(e){var t=e.value,r=e.key,n=Kr(t);return\"boolean\"!==n?[new ze(r,t,\"boolean expected, \"+n+\" found\")]:[]},number:gn,color:function(e){var t=e.key,r=e.value,n=Kr(r);return\"string\"!==n?[new ze(t,r,\"color expected, \"+n+\" found\")]:null===at(r)?[new ze(t,r,'color expected, \"'+r+'\" found')]:[]},constants:Re,enum:xn,filter:Ln,function:mn,layer:zn,object:dn,source:Bn,light:Nn,string:Rn,formatted:function(e){return 0===Rn(e).length?[]:yn(e)},resolvedImage:function(e){return 0===Rn(e).length?[]:yn(e)}};function Un(e){var t=e.value,r=e.valueSpec,n=e.styleSpec;return r.expression&&Jr(Be(t))?mn(e):r.expression&&sn(Ne(t))?yn(e):r.type&&jn[r.type]?jn[r.type](e):dn(Fe({},e,{valueSpec:r.type?n[r.type]:r}))}function Vn(e){var t=e.value,r=e.key,n=Rn(e);return n.length||(-1===t.indexOf(\"{fontstack}\")&&n.push(new ze(r,t,'\"glyphs\" url must include a \"{fontstack}\" token')),-1===t.indexOf(\"{range}\")&&n.push(new ze(r,t,'\"glyphs\" url must include a \"{range}\" token'))),n}function Hn(e,t){void 0===t&&(t=De);var r=[];return r=r.concat(Un({key:\"\",value:e,valueSpec:t.$root,styleSpec:t,style:e,objectElementValidators:{glyphs:Vn,\"*\":function(){return[]}}})),e.constants&&(r=r.concat(Re({key:\"constants\",value:e.constants,style:e,styleSpec:t}))),qn(r)}function qn(e){return[].concat(e).sort((function(e,t){return e.line-t.line}))}function Gn(e){return function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];return qn(e.apply(this,t))}}Hn.source=Gn(Bn),Hn.light=Gn(Nn),Hn.layer=Gn(zn),Hn.filter=Gn(Ln),Hn.paintProperty=Gn(In),Hn.layoutProperty=Gn(Dn);var Yn=Hn,Wn=Yn.light,Zn=Yn.paintProperty,Xn=Yn.layoutProperty;function Kn(e,t){var r=!1;if(t&&t.length)for(var n=0,i=t;n<i.length;n+=1){var a=i[n];e.fire(new Oe(new Error(a.message))),r=!0}return r}var Jn=Qn,$n=3;function Qn(e,t,r){var n=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;var i=new Int32Array(this.arrayBuffer);e=i[0],t=i[1],r=i[2],this.d=t+2*r;for(var a=0;a<this.d*this.d;a++){var o=i[$n+a],s=i[$n+a+1];n.push(o===s?null:i.subarray(o,s))}var l=i[$n+n.length],u=i[$n+n.length+1];this.keys=i.subarray(l,u),this.bboxes=i.subarray(u),this.insert=this._insertReadonly}else{this.d=t+2*r;for(var c=0;c<this.d*this.d;c++)n.push([]);this.keys=[],this.bboxes=[]}this.n=t,this.extent=e,this.padding=r,this.scale=t/e,this.uid=0;var f=r/t*e;this.min=-f,this.max=e+f}Qn.prototype.insert=function(e,t,r,n,i){this._forEachCell(t,r,n,i,this._insertCell,this.uid++),this.keys.push(e),this.bboxes.push(t),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Qn.prototype._insertReadonly=function(){throw\"Cannot insert into a GridIndex created from an ArrayBuffer.\"},Qn.prototype._insertCell=function(e,t,r,n,i,a){this.cells[i].push(a)},Qn.prototype.query=function(e,t,r,n,i){var a=this.min,o=this.max;if(e<=a&&t<=a&&o<=r&&o<=n&&!i)return Array.prototype.slice.call(this.keys);var s=[];return this._forEachCell(e,t,r,n,this._queryCell,s,{},i),s},Qn.prototype._queryCell=function(e,t,r,n,i,a,o,s){var l=this.cells[i];if(null!==l)for(var u=this.keys,c=this.bboxes,f=0;f<l.length;f++){var h=l[f];if(void 0===o[h]){var p=4*h;(s?s(c[p+0],c[p+1],c[p+2],c[p+3]):e<=c[p+2]&&t<=c[p+3]&&r>=c[p+0]&&n>=c[p+1])?(o[h]=!0,a.push(u[h])):o[h]=!1}}},Qn.prototype._forEachCell=function(e,t,r,n,i,a,o,s){for(var l=this._convertToCellCoord(e),u=this._convertToCellCoord(t),c=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=c;h++)for(var p=u;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,e,t,r,n,d,a,o,s))return}},Qn.prototype._convertFromCellCoord=function(e){return(e-this.padding)/this.scale},Qn.prototype._convertToCellCoord=function(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))},Qn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var e=this.cells,t=$n+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var i=new Int32Array(t+r+this.keys.length+this.bboxes.length);i[0]=this.extent,i[1]=this.n,i[2]=this.padding;for(var a=t,o=0;o<e.length;o++){var s=e[o];i[$n+o]=a,i.set(s,a),a+=s.length}return i[$n+e.length]=a,i.set(this.keys,a),a+=this.keys.length,i[$n+e.length+1]=a,i.set(this.bboxes,a),a+=this.bboxes.length,i.buffer};var ei=self.ImageData,ti=self.ImageBitmap,ri={};function ni(e,t,r){void 0===r&&(r={}),Object.defineProperty(t,\"_classRegistryKey\",{value:e,writeable:!1}),ri[e]={klass:t,omit:r.omit||[],shallow:r.shallow||[]}}for(var ii in ni(\"Object\",Object),Jn.serialize=function(e,t){var r=e.toArrayBuffer();return t&&t.push(r),{buffer:r}},Jn.deserialize=function(e){return new Jn(e.buffer)},ni(\"Grid\",Jn),ni(\"Color\",ot),ni(\"Error\",Error),ni(\"ResolvedImage\",ct),ni(\"StylePropertyFunction\",hn),ni(\"StyleExpression\",on,{omit:[\"_evaluator\"]}),ni(\"ZoomDependentExpression\",cn),ni(\"ZoomConstantExpression\",un),ni(\"CompoundExpression\",Mt,{omit:[\"_evaluate\"]}),jr)jr[ii]._classRegistryKey||ni(\"Expression_\"+ii,jr[ii]);function ai(e){return e&&\"undefined\"!=typeof ArrayBuffer&&(e instanceof ArrayBuffer||e.constructor&&\"ArrayBuffer\"===e.constructor.name)}function oi(e){return ti&&e instanceof ti}function si(e,t){if(null==e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp)return e;if(ai(e)||oi(e))return t&&t.push(e),e;if(ArrayBuffer.isView(e)){var r=e;return t&&t.push(r.buffer),r}if(e instanceof ei)return t&&t.push(e.data.buffer),e;if(Array.isArray(e)){for(var n=[],i=0,a=e;i<a.length;i+=1){var o=a[i];n.push(si(o,t))}return n}if(\"object\"==typeof e){var s=e.constructor,l=s._classRegistryKey;if(!l)throw new Error(\"can't serialize object of unregistered class\");var u=s.serialize?s.serialize(e,t):{};if(!s.serialize){for(var c in e)if(e.hasOwnProperty(c)&&!(ri[l].omit.indexOf(c)>=0)){var f=e[c];u[c]=ri[l].shallow.indexOf(c)>=0?f:si(f,t)}e instanceof Error&&(u.message=e.message)}if(u.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return\"Object\"!==l&&(u.$name=l),u}throw new Error(\"can't serialize object of type \"+typeof e)}function li(e){if(null==e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||ai(e)||oi(e)||ArrayBuffer.isView(e)||e instanceof ei)return e;if(Array.isArray(e))return e.map(li);if(\"object\"==typeof e){var t=e.$name||\"Object\",r=ri[t].klass;if(!r)throw new Error(\"can't deserialize unregistered class \"+t);if(r.deserialize)return r.deserialize(e);for(var n=Object.create(r.prototype),i=0,a=Object.keys(e);i<a.length;i+=1){var o=a[i];if(\"$name\"!==o){var s=e[o];n[o]=ri[t].shallow.indexOf(o)>=0?s:li(s)}}return n}throw new Error(\"can't deserialize object of type \"+typeof e)}var ui=function(){this.first=!0};ui.prototype.update=function(e,t){var r=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=t):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=t),e!==this.lastZoom&&(this.lastZoom=e,this.lastFloorZoom=r,!0))};var ci={\"Latin-1 Supplement\":function(e){return e>=128&&e<=255},Arabic:function(e){return e>=1536&&e<=1791},\"Arabic Supplement\":function(e){return e>=1872&&e<=1919},\"Arabic Extended-A\":function(e){return e>=2208&&e<=2303},\"Hangul Jamo\":function(e){return e>=4352&&e<=4607},\"Unified Canadian Aboriginal Syllabics\":function(e){return e>=5120&&e<=5759},Khmer:function(e){return e>=6016&&e<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(e){return e>=6320&&e<=6399},\"General Punctuation\":function(e){return e>=8192&&e<=8303},\"Letterlike Symbols\":function(e){return e>=8448&&e<=8527},\"Number Forms\":function(e){return e>=8528&&e<=8591},\"Miscellaneous Technical\":function(e){return e>=8960&&e<=9215},\"Control Pictures\":function(e){return e>=9216&&e<=9279},\"Optical Character Recognition\":function(e){return e>=9280&&e<=9311},\"Enclosed Alphanumerics\":function(e){return e>=9312&&e<=9471},\"Geometric Shapes\":function(e){return e>=9632&&e<=9727},\"Miscellaneous Symbols\":function(e){return e>=9728&&e<=9983},\"Miscellaneous Symbols and Arrows\":function(e){return e>=11008&&e<=11263},\"CJK Radicals Supplement\":function(e){return e>=11904&&e<=12031},\"Kangxi Radicals\":function(e){return e>=12032&&e<=12255},\"Ideographic Description Characters\":function(e){return e>=12272&&e<=12287},\"CJK Symbols and Punctuation\":function(e){return e>=12288&&e<=12351},Hiragana:function(e){return e>=12352&&e<=12447},Katakana:function(e){return e>=12448&&e<=12543},Bopomofo:function(e){return e>=12544&&e<=12591},\"Hangul Compatibility Jamo\":function(e){return e>=12592&&e<=12687},Kanbun:function(e){return e>=12688&&e<=12703},\"Bopomofo Extended\":function(e){return e>=12704&&e<=12735},\"CJK Strokes\":function(e){return e>=12736&&e<=12783},\"Katakana Phonetic Extensions\":function(e){return e>=12784&&e<=12799},\"Enclosed CJK Letters and Months\":function(e){return e>=12800&&e<=13055},\"CJK Compatibility\":function(e){return e>=13056&&e<=13311},\"CJK Unified Ideographs Extension A\":function(e){return e>=13312&&e<=19903},\"Yijing Hexagram Symbols\":function(e){return e>=19904&&e<=19967},\"CJK Unified Ideographs\":function(e){return e>=19968&&e<=40959},\"Yi Syllables\":function(e){return e>=40960&&e<=42127},\"Yi Radicals\":function(e){return e>=42128&&e<=42191},\"Hangul Jamo Extended-A\":function(e){return e>=43360&&e<=43391},\"Hangul Syllables\":function(e){return e>=44032&&e<=55215},\"Hangul Jamo Extended-B\":function(e){return e>=55216&&e<=55295},\"Private Use Area\":function(e){return e>=57344&&e<=63743},\"CJK Compatibility Ideographs\":function(e){return e>=63744&&e<=64255},\"Arabic Presentation Forms-A\":function(e){return e>=64336&&e<=65023},\"Vertical Forms\":function(e){return e>=65040&&e<=65055},\"CJK Compatibility Forms\":function(e){return e>=65072&&e<=65103},\"Small Form Variants\":function(e){return e>=65104&&e<=65135},\"Arabic Presentation Forms-B\":function(e){return e>=65136&&e<=65279},\"Halfwidth and Fullwidth Forms\":function(e){return e>=65280&&e<=65519}};function fi(e){for(var t=0,r=e;t<r.length;t+=1)if(hi(r[t].charCodeAt(0)))return!0;return!1}function hi(e){return!(746!==e&&747!==e&&(e<4352||!(ci[\"Bopomofo Extended\"](e)||ci.Bopomofo(e)||ci[\"CJK Compatibility Forms\"](e)&&!(e>=65097&&e<=65103)||ci[\"CJK Compatibility Ideographs\"](e)||ci[\"CJK Compatibility\"](e)||ci[\"CJK Radicals Supplement\"](e)||ci[\"CJK Strokes\"](e)||!(!ci[\"CJK Symbols and Punctuation\"](e)||e>=12296&&e<=12305||e>=12308&&e<=12319||12336===e)||ci[\"CJK Unified Ideographs Extension A\"](e)||ci[\"CJK Unified Ideographs\"](e)||ci[\"Enclosed CJK Letters and Months\"](e)||ci[\"Hangul Compatibility Jamo\"](e)||ci[\"Hangul Jamo Extended-A\"](e)||ci[\"Hangul Jamo Extended-B\"](e)||ci[\"Hangul Jamo\"](e)||ci[\"Hangul Syllables\"](e)||ci.Hiragana(e)||ci[\"Ideographic Description Characters\"](e)||ci.Kanbun(e)||ci[\"Kangxi Radicals\"](e)||ci[\"Katakana Phonetic Extensions\"](e)||ci.Katakana(e)&&12540!==e||!(!ci[\"Halfwidth and Fullwidth Forms\"](e)||65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||!(!ci[\"Small Form Variants\"](e)||e>=65112&&e<=65118||e>=65123&&e<=65126)||ci[\"Unified Canadian Aboriginal Syllabics\"](e)||ci[\"Unified Canadian Aboriginal Syllabics Extended\"](e)||ci[\"Vertical Forms\"](e)||ci[\"Yijing Hexagram Symbols\"](e)||ci[\"Yi Syllables\"](e)||ci[\"Yi Radicals\"](e))))}function pi(e){return!(hi(e)||function(e){return!!(ci[\"Latin-1 Supplement\"](e)&&(167===e||169===e||174===e||177===e||188===e||189===e||190===e||215===e||247===e)||ci[\"General Punctuation\"](e)&&(8214===e||8224===e||8225===e||8240===e||8241===e||8251===e||8252===e||8258===e||8263===e||8264===e||8265===e||8273===e)||ci[\"Letterlike Symbols\"](e)||ci[\"Number Forms\"](e)||ci[\"Miscellaneous Technical\"](e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||9003===e||e>=9085&&e<=9114||e>=9150&&e<=9165||9167===e||e>=9169&&e<=9179||e>=9186&&e<=9215)||ci[\"Control Pictures\"](e)&&9251!==e||ci[\"Optical Character Recognition\"](e)||ci[\"Enclosed Alphanumerics\"](e)||ci[\"Geometric Shapes\"](e)||ci[\"Miscellaneous Symbols\"](e)&&!(e>=9754&&e<=9759)||ci[\"Miscellaneous Symbols and Arrows\"](e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||ci[\"CJK Symbols and Punctuation\"](e)||ci.Katakana(e)||ci[\"Private Use Area\"](e)||ci[\"CJK Compatibility Forms\"](e)||ci[\"Small Form Variants\"](e)||ci[\"Halfwidth and Fullwidth Forms\"](e)||8734===e||8756===e||8757===e||e>=9984&&e<=10087||e>=10102&&e<=10131||65532===e||65533===e)}(e))}function di(e){return ci.Arabic(e)||ci[\"Arabic Supplement\"](e)||ci[\"Arabic Extended-A\"](e)||ci[\"Arabic Presentation Forms-A\"](e)||ci[\"Arabic Presentation Forms-B\"](e)}function vi(e){return e>=1424&&e<=2303||ci[\"Arabic Presentation Forms-A\"](e)||ci[\"Arabic Presentation Forms-B\"](e)}function gi(e,t){return!(!t&&vi(e)||e>=2304&&e<=3583||e>=3840&&e<=4255||ci.Khmer(e))}function mi(e){for(var t=0,r=e;t<r.length;t+=1)if(vi(r[t].charCodeAt(0)))return!0;return!1}var yi=\"deferred\",xi=\"loading\",bi=\"loaded\",_i=\"error\",wi=null,ki=\"unavailable\",Ti=null,Mi=function(e){e&&\"string\"==typeof e&&e.indexOf(\"NetworkError\")>-1&&(ki=_i),wi&&wi(e)};function Ai(){Si.fire(new Pe(\"pluginStateChange\",{pluginStatus:ki,pluginURL:Ti}))}var Si=new Ie,Ei=function(){return ki},Ci=function(){if(ki!==yi||!Ti)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");ki=xi,Ai(),Ti&&Te({url:Ti},(function(e){e?Mi(e):(ki=bi,Ai())}))},Li={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return ki===bi||null!=Li.applyArabicShaping},isLoading:function(){return ki===xi},setState:function(e){ki=e.pluginStatus,Ti=e.pluginURL},isParsed:function(){return null!=Li.applyArabicShaping&&null!=Li.processBidirectionalText&&null!=Li.processStyledBidirectionalText},getPluginURL:function(){return Ti}},Pi=function(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.zoomHistory=t.zoomHistory,this.transition=t.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new ui,this.transition={})};Pi.prototype.isSupportedScript=function(e){return function(e,t){for(var r=0,n=e;r<n.length;r+=1)if(!gi(n[r].charCodeAt(0),t))return!1;return!0}(e,Li.isLoaded())},Pi.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},Pi.prototype.getCrossfadeParameters=function(){var e=this.zoom,t=e-Math.floor(e),r=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*t}};var Oi=function(e,t){this.property=e,this.value=t,this.expression=function(e,t){if(Jr(e))return new hn(e,t);if(sn(e)){var r=fn(e,t);if(\"error\"===r.result)throw new Error(r.value.map((function(e){return e.key+\": \"+e.message})).join(\", \"));return r.value}var n=e;return\"string\"==typeof e&&\"color\"===t.type&&(n=ot.parse(e)),{kind:\"constant\",evaluate:function(){return n}}}(void 0===t?e.specification.default:t,e.specification)};Oi.prototype.isDataDriven=function(){return\"source\"===this.expression.kind||\"composite\"===this.expression.kind},Oi.prototype.possiblyEvaluate=function(e,t,r){return this.property.possiblyEvaluate(this,e,t,r)};var Ii=function(e){this.property=e,this.value=new Oi(e,void 0)};Ii.prototype.transitioned=function(e,t){return new zi(this.property,this.value,t,f({},e.transition,this.transition),e.now)},Ii.prototype.untransitioned=function(){return new zi(this.property,this.value,null,{},0)};var Di=function(e){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues)};Di.prototype.getValue=function(e){return b(this._values[e].value.value)},Di.prototype.setValue=function(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new Ii(this._values[e].property)),this._values[e].value=new Oi(this._values[e].property,null===t?void 0:b(t))},Di.prototype.getTransition=function(e){return b(this._values[e].transition)},Di.prototype.setTransition=function(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new Ii(this._values[e].property)),this._values[e].transition=b(t)||void 0},Di.prototype.serialize=function(){for(var e={},t=0,r=Object.keys(this._values);t<r.length;t+=1){var n=r[t],i=this.getValue(n);void 0!==i&&(e[n]=i);var a=this.getTransition(n);void 0!==a&&(e[n+\"-transition\"]=a)}return e},Di.prototype.transitioned=function(e,t){for(var r=new Ri(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(e,t._values[a])}return r},Di.prototype.untransitioned=function(){for(var e=new Ri(this._properties),t=0,r=Object.keys(this._values);t<r.length;t+=1){var n=r[t];e._values[n]=this._values[n].untransitioned()}return e};var zi=function(e,t,r,n,i){this.property=e,this.value=t,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,e.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};zi.prototype.possiblyEvaluate=function(e,t,r){var n=e.now||0,i=this.value.possiblyEvaluate(e,t,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n<this.begin)return a.possiblyEvaluate(e,t,r);var o=(n-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(e,t,r),i,function(e){if(e<=0)return 0;if(e>=1)return 1;var t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}(o))}return i};var Ri=function(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)};Ri.prototype.possiblyEvaluate=function(e,t,r){for(var n=new Ni(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(e,t,r)}return n},Ri.prototype.hasTransition=function(){for(var e=0,t=Object.keys(this._values);e<t.length;e+=1){var r=t[e];if(this._values[r].prior)return!0}return!1};var Fi=function(e){this._properties=e,this._values=Object.create(e.defaultPropertyValues)};Fi.prototype.getValue=function(e){return b(this._values[e].value)},Fi.prototype.setValue=function(e,t){this._values[e]=new Oi(this._values[e].property,null===t?void 0:b(t))},Fi.prototype.serialize=function(){for(var e={},t=0,r=Object.keys(this._values);t<r.length;t+=1){var n=r[t],i=this.getValue(n);void 0!==i&&(e[n]=i)}return e},Fi.prototype.possiblyEvaluate=function(e,t,r){for(var n=new Ni(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(e,t,r)}return n};var Bi=function(e,t,r){this.property=e,this.value=t,this.parameters=r};Bi.prototype.isConstant=function(){return\"constant\"===this.value.kind},Bi.prototype.constantOr=function(e){return\"constant\"===this.value.kind?this.value.value:e},Bi.prototype.evaluate=function(e,t,r,n){return this.property.evaluate(this.value,this.parameters,e,t,r,n)};var Ni=function(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)};Ni.prototype.get=function(e){return this._values[e]};var ji=function(e){this.specification=e};ji.prototype.possiblyEvaluate=function(e,t){return e.expression.evaluate(t)},ji.prototype.interpolate=function(e,t,r){var n=Qt[this.specification.type];return n?n(e,t,r):e};var Ui=function(e,t){this.specification=e,this.overrides=t};Ui.prototype.possiblyEvaluate=function(e,t,r,n){return\"constant\"===e.expression.kind||\"camera\"===e.expression.kind?new Bi(this,{kind:\"constant\",value:e.expression.evaluate(t,null,{},r,n)},t):new Bi(this,e.expression,t)},Ui.prototype.interpolate=function(e,t,r){if(\"constant\"!==e.value.kind||\"constant\"!==t.value.kind)return e;if(void 0===e.value.value||void 0===t.value.value)return new Bi(this,{kind:\"constant\",value:void 0},e.parameters);var n=Qt[this.specification.type];return n?new Bi(this,{kind:\"constant\",value:n(e.value.value,t.value.value,r)},e.parameters):e},Ui.prototype.evaluate=function(e,t,r,n,i,a){return\"constant\"===e.kind?e.value:e.evaluate(t,r,n,i,a)};var Vi=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.possiblyEvaluate=function(e,t,r,n){if(void 0===e.value)return new Bi(this,{kind:\"constant\",value:void 0},t);if(\"constant\"===e.expression.kind){var i=e.expression.evaluate(t,null,{},r,n),a=\"resolvedImage\"===e.property.specification.type&&\"string\"!=typeof i?i.name:i,o=this._calculate(a,a,a,t);return new Bi(this,{kind:\"constant\",value:o},t)}if(\"camera\"===e.expression.kind){var s=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new Bi(this,{kind:\"constant\",value:s},t)}return new Bi(this,e.expression,t)},t.prototype.evaluate=function(e,t,r,n,i,a){if(\"source\"===e.kind){var o=e.evaluate(t,r,n,i,a);return this._calculate(o,o,o,t)}return\"composite\"===e.kind?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},r,n),e.evaluate({zoom:Math.floor(t.zoom)},r,n),e.evaluate({zoom:Math.floor(t.zoom)+1},r,n),t):e.value},t.prototype._calculate=function(e,t,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}},t.prototype.interpolate=function(e){return e},t}(Ui),Hi=function(e){this.specification=e};Hi.prototype.possiblyEvaluate=function(e,t,r,n){if(void 0!==e.value){if(\"constant\"===e.expression.kind){var i=e.expression.evaluate(t,null,{},r,n);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new Pi(Math.floor(t.zoom-1),t)),e.expression.evaluate(new Pi(Math.floor(t.zoom),t)),e.expression.evaluate(new Pi(Math.floor(t.zoom+1),t)),t)}},Hi.prototype._calculate=function(e,t,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}},Hi.prototype.interpolate=function(e){return e};var qi=function(e){this.specification=e};qi.prototype.possiblyEvaluate=function(e,t,r,n){return!!e.expression.evaluate(t,null,{},r,n)},qi.prototype.interpolate=function(){return!1};var Gi=function(e){for(var t in this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],e){var r=e[t];r.specification.overridable&&this.overridableProperties.push(t);var n=this.defaultPropertyValues[t]=new Oi(r,void 0),i=this.defaultTransitionablePropertyValues[t]=new Ii(r);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=n.possiblyEvaluate({})}};ni(\"DataDrivenProperty\",Ui),ni(\"DataConstantProperty\",ji),ni(\"CrossFadedDataDrivenProperty\",Vi),ni(\"CrossFadedProperty\",Hi),ni(\"ColorRampProperty\",qi);var Yi=\"-transition\",Wi=function(e){function t(t,r){if(e.call(this),this.id=t.id,this.type=t.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},\"custom\"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,\"background\"!==t.type&&(this.source=t.source,this.sourceLayer=t[\"source-layer\"],this.filter=t.filter),r.layout&&(this._unevaluatedLayout=new Fi(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Di(r.paint),t.paint)this.setPaintProperty(n,t.paint[n],{validate:!1});for(var i in t.layout)this.setLayoutProperty(i,t.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ni(r.paint)}}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},t.prototype.getLayoutProperty=function(e){return\"visibility\"===e?this.visibility:this._unevaluatedLayout.getValue(e)},t.prototype.setLayoutProperty=function(e,t,r){if(void 0===r&&(r={}),null!=t){var n=\"layers.\"+this.id+\".layout.\"+e;if(this._validate(Xn,n,e,t,r))return}\"visibility\"!==e?this._unevaluatedLayout.setValue(e,t):this.visibility=t},t.prototype.getPaintProperty=function(e){return m(e,Yi)?this._transitionablePaint.getTransition(e.slice(0,-11)):this._transitionablePaint.getValue(e)},t.prototype.setPaintProperty=function(e,t,r){if(void 0===r&&(r={}),null!=t){var n=\"layers.\"+this.id+\".paint.\"+e;if(this._validate(Zn,n,e,t,r))return!1}if(m(e,Yi))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;var i=this._transitionablePaint._values[e],a=\"cross-faded-data-driven\"===i.property.specification[\"property-type\"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);var l=this._transitionablePaint._values[e].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(e,s,l)},t.prototype._handleSpecialPaintPropertyUpdate=function(e){},t.prototype._handleOverridablePaintPropertyUpdate=function(e,t,r){return!1},t.prototype.isHidden=function(e){return!!(this.minzoom&&e<this.minzoom)||!!(this.maxzoom&&e>=this.maxzoom)||\"none\"===this.visibility},t.prototype.updateTransitions=function(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)},t.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},t.prototype.recalculate=function(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)},t.prototype.serialize=function(){var e={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(e.layout=e.layout||{},e.layout.visibility=this.visibility),x(e,(function(e,t){return!(void 0===e||\"layout\"===t&&!Object.keys(e).length||\"paint\"===t&&!Object.keys(e).length)}))},t.prototype._validate=function(e,t,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Kn(this,e.call(Yn,{key:t,layerType:this.type,objectKey:r,value:n,styleSpec:De,style:{glyphs:!0,sprite:!0}}))},t.prototype.is3D=function(){return!1},t.prototype.isTileClipped=function(){return!1},t.prototype.hasOffscreenPass=function(){return!1},t.prototype.resize=function(){},t.prototype.isStateDependent=function(){for(var e in this.paint._values){var t=this.paint.get(e);if(t instanceof Bi&&Wr(t.property.specification)&&(\"source\"===t.value.kind||\"composite\"===t.value.kind)&&t.value.isStateDependent)return!0}return!1},t}(Ie),Zi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Xi=function(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Ki=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Ji(e,t){void 0===t&&(t=1);var r=0,n=0;return{members:e.map((function(e){var i,a=(i=e.type,Zi[i].BYTES_PER_ELEMENT),o=r=$i(r,Math.max(t,a)),s=e.components||1;return n=Math.max(n,a),r+=a*s,{name:e.name,type:e.type,components:s,offset:o}})),size:$i(r,Math.max(n,t)),alignment:t}}function $i(e,t){return Math.ceil(e/t)*t}Ki.serialize=function(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}},Ki.deserialize=function(e){var t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t},Ki.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Ki.prototype.clear=function(){this.length=0},Ki.prototype.resize=function(e){this.reserve(e),this.length=e},Ki.prototype.reserve=function(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}},Ki.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};var Qi=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t){var r=this.length;return this.resize(r+1),this.emplace(r,e,t)},t.prototype.emplace=function(e,t,r){var n=2*e;return this.int16[n+0]=t,this.int16[n+1]=r,e},t}(Ki);Qi.prototype.bytesPerElement=4,ni(\"StructArrayLayout2i4\",Qi);var ea=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)},t.prototype.emplace=function(e,t,r,n,i){var a=4*e;return this.int16[a+0]=t,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,e},t}(Ki);ea.prototype.bytesPerElement=8,ni(\"StructArrayLayout4i8\",ea);var ta=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)},t.prototype.emplace=function(e,t,r,n,i,a,o){var s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e},t}(Ki);ta.prototype.bytesPerElement=12,ni(\"StructArrayLayout2i4i12\",ta);var ra=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)},t.prototype.emplace=function(e,t,r,n,i,a,o){var s=4*e,l=8*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,e},t}(Ki);ra.prototype.bytesPerElement=8,ni(\"StructArrayLayout2i4ub8\",ra);var na=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,u){var c=this.length;return this.resize(c+1),this.emplace(c,e,t,r,n,i,a,o,s,l,u)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,u,c){var f=9*e,h=18*e;return this.uint16[f+0]=t,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint8[h+16]=u,this.uint8[h+17]=c,e},t}(Ki);na.prototype.bytesPerElement=18,ni(\"StructArrayLayout8ui2ub18\",na);var ia=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,u,c,f){var h=this.length;return this.resize(h+1),this.emplace(h,e,t,r,n,i,a,o,s,l,u,c,f)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,u,c,f,h){var p=12*e;return this.int16[p+0]=t,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=u,this.int16[p+9]=c,this.int16[p+10]=f,this.int16[p+11]=h,e},t}(Ki);ia.prototype.bytesPerElement=24,ni(\"StructArrayLayout4i4ui4i24\",ia);var aa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=3*e;return this.float32[i+0]=t,this.float32[i+1]=r,this.float32[i+2]=n,e},t}(Ki);aa.prototype.bytesPerElement=12,ni(\"StructArrayLayout3f12\",aa);var oa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e){var t=this.length;return this.resize(t+1),this.emplace(t,e)},t.prototype.emplace=function(e,t){var r=1*e;return this.uint32[r+0]=t,e},t}(Ki);oa.prototype.bytesPerElement=4,ni(\"StructArrayLayout1ul4\",oa);var sa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l){var u=this.length;return this.resize(u+1),this.emplace(u,e,t,r,n,i,a,o,s,l)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,u){var c=10*e,f=5*e;return this.int16[c+0]=t,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=o,this.uint32[f+3]=s,this.uint16[c+8]=l,this.uint16[c+9]=u,e},t}(Ki);sa.prototype.bytesPerElement=20,ni(\"StructArrayLayout6i1ul2ui20\",sa);var la=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)},t.prototype.emplace=function(e,t,r,n,i,a,o){var s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e},t}(Ki);la.prototype.bytesPerElement=12,ni(\"StructArrayLayout2i2i2i12\",la);var ua=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,e,t,r,n,i)},t.prototype.emplace=function(e,t,r,n,i,a){var o=4*e,s=8*e;return this.float32[o+0]=t,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,e},t}(Ki);ua.prototype.bytesPerElement=16,ni(\"StructArrayLayout2f1f2i16\",ua);var ca=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)},t.prototype.emplace=function(e,t,r,n,i){var a=12*e,o=3*e;return this.uint8[a+0]=t,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,e},t}(Ki);ca.prototype.bytesPerElement=12,ni(\"StructArrayLayout2ub2f12\",ca);var fa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=3*e;return this.uint16[i+0]=t,this.uint16[i+1]=r,this.uint16[i+2]=n,e},t}(Ki);fa.prototype.bytesPerElement=6,ni(\"StructArrayLayout3ui6\",fa);var ha=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g){var m=this.length;return this.resize(m+1),this.emplace(m,e,t,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,m){var y=24*e,x=12*e,b=48*e;return this.int16[y+0]=t,this.int16[y+1]=r,this.uint16[y+2]=n,this.uint16[y+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[y+10]=l,this.uint16[y+11]=u,this.uint16[y+12]=c,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=v,this.uint32[x+10]=g,this.int16[y+22]=m,e},t}(Ki);ha.prototype.bytesPerElement=48,ni(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",ha);var pa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,m,y,x,b,_,w,k,T,M,A,S){var E=this.length;return this.resize(E+1),this.emplace(E,e,t,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,m,y,x,b,_,w,k,T,M,A,S)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,m,y,x,b,_,w,k,T,M,A,S,E){var C=34*e,L=17*e;return this.int16[C+0]=t,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=u,this.uint16[C+9]=c,this.uint16[C+10]=f,this.uint16[C+11]=h,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=v,this.uint16[C+15]=g,this.uint16[C+16]=m,this.uint16[C+17]=y,this.uint16[C+18]=x,this.uint16[C+19]=b,this.uint16[C+20]=_,this.uint16[C+21]=w,this.uint16[C+22]=k,this.uint32[L+12]=T,this.float32[L+13]=M,this.float32[L+14]=A,this.float32[L+15]=S,this.float32[L+16]=E,e},t}(Ki);pa.prototype.bytesPerElement=68,ni(\"StructArrayLayout8i15ui1ul4f68\",pa);var da=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e){var t=this.length;return this.resize(t+1),this.emplace(t,e)},t.prototype.emplace=function(e,t){var r=1*e;return this.float32[r+0]=t,e},t}(Ki);da.prototype.bytesPerElement=4,ni(\"StructArrayLayout1f4\",da);var va=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=3*e;return this.int16[i+0]=t,this.int16[i+1]=r,this.int16[i+2]=n,e},t}(Ki);va.prototype.bytesPerElement=6,ni(\"StructArrayLayout3i6\",va);var ga=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=2*e,a=4*e;return this.uint32[i+0]=t,this.uint16[a+2]=r,this.uint16[a+3]=n,e},t}(Ki);ga.prototype.bytesPerElement=8,ni(\"StructArrayLayout1ul2ui8\",ga);var ma=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t){var r=this.length;return this.resize(r+1),this.emplace(r,e,t)},t.prototype.emplace=function(e,t,r){var n=2*e;return this.uint16[n+0]=t,this.uint16[n+1]=r,e},t}(Ki);ma.prototype.bytesPerElement=4,ni(\"StructArrayLayout2ui4\",ma);var ya=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e){var t=this.length;return this.resize(t+1),this.emplace(t,e)},t.prototype.emplace=function(e,t){var r=1*e;return this.uint16[r+0]=t,e},t}(Ki);ya.prototype.bytesPerElement=2,ni(\"StructArrayLayout1ui2\",ya);var xa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t){var r=this.length;return this.resize(r+1),this.emplace(r,e,t)},t.prototype.emplace=function(e,t,r){var n=2*e;return this.float32[n+0]=t,this.float32[n+1]=r,e},t}(Ki);xa.prototype.bytesPerElement=8,ni(\"StructArrayLayout2f8\",xa);var ba=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)},t.prototype.emplace=function(e,t,r,n,i){var a=4*e;return this.float32[a+0]=t,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,e},t}(Ki);ba.prototype.bytesPerElement=16,ni(\"StructArrayLayout4f16\",ba);var _a=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(t.prototype,r),t}(Xi);_a.prototype.size=20;var wa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new _a(this,e)},t}(sa);ni(\"CollisionBoxArray\",wa);var ka=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(e){this._structArray.uint8[this._pos1+37]=e},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(e){this._structArray.uint8[this._pos1+38]=e},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(e){this._structArray.uint32[this._pos4+10]=e},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(t.prototype,r),t}(Xi);ka.prototype.size=48;var Ta=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new ka(this,e)},t}(ha);ni(\"PlacedSymbolArray\",Ta);var Ma=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(e){this._structArray.uint32[this._pos4+12]=e},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(t.prototype,r),t}(Xi);Ma.prototype.size=68;var Aa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new Ma(this,e)},t}(pa);ni(\"SymbolInstanceArray\",Aa);var Sa=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getoffsetX=function(e){return this.float32[1*e+0]},t}(da);ni(\"GlyphOffsetArray\",Sa);var Ea=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getx=function(e){return this.int16[3*e+0]},t.prototype.gety=function(e){return this.int16[3*e+1]},t.prototype.gettileUnitDistanceFromAnchor=function(e){return this.int16[3*e+2]},t}(va);ni(\"SymbolLineVertexArray\",Ea);var Ca=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(t.prototype,r),t}(Xi);Ca.prototype.size=8;var La=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new Ca(this,e)},t}(ga);ni(\"FeatureIndexArray\",La);var Pa=Ji([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,Oa=function(e){void 0===e&&(e=[]),this.segments=e};function Ia(e,t){return 256*(e=u(Math.floor(e),0,255))+u(Math.floor(t),0,255)}Oa.prototype.prepareSegment=function(e,t,r,n){var i=this.segments[this.segments.length-1];return e>Oa.MAX_VERTEX_ARRAY_LENGTH&&w(\"Max vertices per segment is \"+Oa.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+e),(!i||i.vertexLength+e>Oa.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Oa.prototype.get=function(){return this.segments},Oa.prototype.destroy=function(){for(var e=0,t=this.segments;e<t.length;e+=1){var r=t[e];for(var n in r.vaos)r.vaos[n].destroy()}},Oa.simpleSegment=function(e,t,r,n){return new Oa([{vertexOffset:e,primitiveOffset:t,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])},Oa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,ni(\"SegmentVector\",Oa);var Da=Ji([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint8\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint8\"}]),za=t((function(e){e.exports=function(e,t){var r,n,i,a,o,s,l,u;for(r=3&e.length,n=e.length-r,i=t,o=3432918353,s=461845907,u=0;u<n;)l=255&e.charCodeAt(u)|(255&e.charCodeAt(++u))<<8|(255&e.charCodeAt(++u))<<16|(255&e.charCodeAt(++u))<<24,++u,i=27492+(65535&(a=5*(65535&(i=(i^=l=(65535&(l=(l=(65535&l)*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&e.charCodeAt(u+2))<<16;case 2:l^=(255&e.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&e.charCodeAt(u)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=e.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Ra=t((function(e){e.exports=function(e,t){for(var r,n=e.length,i=t^n,a=0;n>=4;)r=1540483477*(65535&(r=255&e.charCodeAt(a)|(255&e.charCodeAt(++a))<<8|(255&e.charCodeAt(++a))<<16|(255&e.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&e.charCodeAt(a+2))<<16;case 2:i^=(255&e.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&e.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),Fa=za,Ba=za,Na=Ra;Fa.murmur3=Ba,Fa.murmur2=Na;var ja=function(){this.ids=[],this.positions=[],this.indexed=!1};ja.prototype.add=function(e,t,r,n){this.ids.push(Va(e)),this.positions.push(t,r,n)},ja.prototype.getPositions=function(e){for(var t=Va(e),r=0,n=this.ids.length-1;r<n;){var i=r+n>>1;this.ids[i]>=t?n=i:r=i+1}for(var a=[];this.ids[r]===t;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},ja.serialize=function(e,t){var r=new Float64Array(e.ids),n=new Uint32Array(e.positions);return Ha(r,n,0,r.length-1),t&&t.push(r.buffer,n.buffer),{ids:r,positions:n}},ja.deserialize=function(e){var t=new ja;return t.ids=e.ids,t.positions=e.positions,t.indexed=!0,t};var Ua=Math.pow(2,53)-1;function Va(e){var t=+e;return!isNaN(t)&&t<=Ua?t:Fa(String(e))}function Ha(e,t,r,n){for(;r<n;){for(var i=e[r+n>>1],a=r-1,o=n+1;;){do{a++}while(e[a]<i);do{o--}while(e[o]>i);if(a>=o)break;qa(e,a,o),qa(t,3*a,3*o),qa(t,3*a+1,3*o+1),qa(t,3*a+2,3*o+2)}o-r<n-o?(Ha(e,t,r,o),r=o+1):(Ha(e,t,o+1,n),n=o)}}function qa(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}ni(\"FeaturePositionMap\",ja);var Ga=function(e,t){this.gl=e.gl,this.location=t},Ya=function(e){function t(t,r){e.call(this,t,r),this.current=0}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.set=function(e){this.current!==e&&(this.current=e,this.gl.uniform1i(this.location,e))},t}(Ga),Wa=function(e){function t(t,r){e.call(this,t,r),this.current=0}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.set=function(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))},t}(Ga),Za=function(e){function t(t,r){e.call(this,t,r),this.current=[0,0]}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.set=function(e){e[0]===this.current[0]&&e[1]===this.current[1]||(this.current=e,this.gl.uniform2f(this.location,e[0],e[1]))},t}(Ga),Xa=function(e){function t(t,r){e.call(this,t,r),this.current=[0,0,0]}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.set=function(e){e[0]===this.current[0]&&e[1]===this.current[1]&&e[2]===this.current[2]||(this.current=e,this.gl.uniform3f(this.location,e[0],e[1],e[2]))},t}(Ga),Ka=function(e){function t(t,r){e.call(this,t,r),this.current=[0,0,0,0]}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.set=function(e){e[0]===this.current[0]&&e[1]===this.current[1]&&e[2]===this.current[2]&&e[3]===this.current[3]||(this.current=e,this.gl.uniform4f(this.location,e[0],e[1],e[2],e[3]))},t}(Ga),Ja=function(e){function t(t,r){e.call(this,t,r),this.current=ot.transparent}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.set=function(e){e.r===this.current.r&&e.g===this.current.g&&e.b===this.current.b&&e.a===this.current.a||(this.current=e,this.gl.uniform4f(this.location,e.r,e.g,e.b,e.a))},t}(Ga),$a=new Float32Array(16),Qa=function(e){function t(t,r){e.call(this,t,r),this.current=$a}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.set=function(e){if(e[12]!==this.current[12]||e[0]!==this.current[0])return this.current=e,void this.gl.uniformMatrix4fv(this.location,!1,e);for(var t=1;t<16;t++)if(e[t]!==this.current[t]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);break}},t}(Ga);function eo(e){return[Ia(255*e.r,255*e.g),Ia(255*e.b,255*e.a)]}var to=function(e,t,r){this.value=e,this.uniformNames=t.map((function(e){return\"u_\"+e})),this.type=r};to.prototype.setUniform=function(e,t,r){e.set(r.constantOr(this.value))},to.prototype.getBinding=function(e,t,r){return\"color\"===this.type?new Ja(e,t):new Wa(e,t)};var ro=function(e,t){this.uniformNames=t.map((function(e){return\"u_\"+e})),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1};ro.prototype.setConstantPatternPositions=function(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr},ro.prototype.setUniform=function(e,t,r,n){var i=\"u_pattern_to\"===n?this.patternTo:\"u_pattern_from\"===n?this.patternFrom:\"u_pixel_ratio_to\"===n?this.pixelRatioTo:\"u_pixel_ratio_from\"===n?this.pixelRatioFrom:null;i&&e.set(i)},ro.prototype.getBinding=function(e,t,r){return\"u_pattern\"===r.substr(0,9)?new Ka(e,t):new Wa(e,t)};var no=function(e,t,r,n){this.expression=e,this.type=r,this.maxValue=0,this.paintVertexAttributes=t.map((function(e){return{name:\"a_\"+e,type:\"Float32\",components:\"color\"===r?2:1,offset:0}})),this.paintVertexArray=new n};no.prototype.populatePaintArray=function(e,t,r,n,i){var a=this.paintVertexArray.length,o=this.expression.evaluate(new Pi(0),t,{},n,[],i);this.paintVertexArray.resize(e),this._setPaintValue(a,e,o)},no.prototype.updatePaintArray=function(e,t,r,n){var i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(e,t,i)},no.prototype._setPaintValue=function(e,t,r){if(\"color\"===this.type)for(var n=eo(r),i=e;i<t;i++)this.paintVertexArray.emplace(i,n[0],n[1]);else{for(var a=e;a<t;a++)this.paintVertexArray.emplace(a,r);this.maxValue=Math.max(this.maxValue,Math.abs(r))}},no.prototype.upload=function(e){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},no.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};var io=function(e,t,r,n,i,a){this.expression=e,this.uniformNames=t.map((function(e){return\"u_\"+e+\"_t\"})),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=t.map((function(e){return{name:\"a_\"+e,type:\"Float32\",components:\"color\"===r?4:2,offset:0}})),this.paintVertexArray=new a};io.prototype.populatePaintArray=function(e,t,r,n,i){var a=this.expression.evaluate(new Pi(this.zoom),t,{},n,[],i),o=this.expression.evaluate(new Pi(this.zoom+1),t,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(s,e,a,o)},io.prototype.updatePaintArray=function(e,t,r,n){var i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(e,t,i,a)},io.prototype._setPaintValue=function(e,t,r,n){if(\"color\"===this.type)for(var i=eo(r),a=eo(n),o=e;o<t;o++)this.paintVertexArray.emplace(o,i[0],i[1],a[0],a[1]);else{for(var s=e;s<t;s++)this.paintVertexArray.emplace(s,r,n);this.maxValue=Math.max(this.maxValue,Math.abs(r),Math.abs(n))}},io.prototype.upload=function(e){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},io.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},io.prototype.setUniform=function(e,t){var r=this.useIntegerZoom?Math.floor(t.zoom):t.zoom,n=u(this.expression.interpolationFactor(r,this.zoom,this.zoom+1),0,1);e.set(n)},io.prototype.getBinding=function(e,t,r){return new Wa(e,t)};var ao=function(e,t,r,n,i,a){this.expression=e,this.type=t,this.useIntegerZoom=r,this.zoom=n,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i};ao.prototype.populatePaintArray=function(e,t,r){var n=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(e),this.zoomOutPaintVertexArray.resize(e),this._setPaintValues(n,e,t.patterns&&t.patterns[this.layerId],r)},ao.prototype.updatePaintArray=function(e,t,r,n,i){this._setPaintValues(e,t,r.patterns&&r.patterns[this.layerId],i)},ao.prototype._setPaintValues=function(e,t,r,n){if(n&&r){var i=r.min,a=r.mid,o=r.max,s=n[i],l=n[a],u=n[o];if(s&&l&&u)for(var c=e;c<t;c++)this.zoomInPaintVertexArray.emplace(c,l.tl[0],l.tl[1],l.br[0],l.br[1],s.tl[0],s.tl[1],s.br[0],s.br[1],l.pixelRatio,s.pixelRatio),this.zoomOutPaintVertexArray.emplace(c,l.tl[0],l.tl[1],l.br[0],l.br[1],u.tl[0],u.tl[1],u.br[0],u.br[1],l.pixelRatio,u.pixelRatio)}},ao.prototype.upload=function(e){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=e.createVertexBuffer(this.zoomInPaintVertexArray,Da.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=e.createVertexBuffer(this.zoomOutPaintVertexArray,Da.members,this.expression.isStateDependent))},ao.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()};var oo=function(e,t,r,n){this.binders={},this.layoutAttributes=n,this._buffers=[];var i=[];for(var a in e.paint._values)if(r(a)){var o=e.paint.get(a);if(o instanceof Bi&&Wr(o.property.specification)){var s=lo(a,e.type),l=o.value,u=o.property.specification.type,c=o.property.useIntegerZoom,f=o.property.specification[\"property-type\"],h=\"cross-faded\"===f||\"cross-faded-data-driven\"===f;if(\"constant\"===l.kind)this.binders[a]=h?new ro(l.value,s):new to(l.value,s,u),i.push(\"/u_\"+a);else if(\"source\"===l.kind||h){var p=uo(a,u,\"source\");this.binders[a]=h?new ao(l,u,c,t,p,e.id):new no(l,s,u,p),i.push(\"/a_\"+a)}else{var d=uo(a,u,\"composite\");this.binders[a]=new io(l,s,u,c,t,d),i.push(\"/z_\"+a)}}}this.cacheKey=i.sort().join(\"\")};oo.prototype.getMaxValue=function(e){var t=this.binders[e];return t instanceof no||t instanceof io?t.maxValue:0},oo.prototype.populatePaintArrays=function(e,t,r,n,i){for(var a in this.binders){var o=this.binders[a];(o instanceof no||o instanceof io||o instanceof ao)&&o.populatePaintArray(e,t,r,n,i)}},oo.prototype.setConstantPatternPositions=function(e,t){for(var r in this.binders){var n=this.binders[r];n instanceof ro&&n.setConstantPatternPositions(e,t)}},oo.prototype.updatePaintArrays=function(e,t,r,n,i){var a=!1;for(var o in e)for(var s=0,l=t.getPositions(o);s<l.length;s+=1){var u=l[s],c=r.feature(u.index);for(var f in this.binders){var h=this.binders[f];if((h instanceof no||h instanceof io||h instanceof ao)&&!0===h.expression.isStateDependent){var p=n.paint.get(f);h.expression=p.value,h.updatePaintArray(u.start,u.end,c,e[o],i),a=!0}}}return a},oo.prototype.defines=function(){var e=[];for(var t in this.binders){var r=this.binders[t];(r instanceof to||r instanceof ro)&&e.push.apply(e,r.uniformNames.map((function(e){return\"#define HAS_UNIFORM_\"+e})))}return e},oo.prototype.getPaintVertexBuffers=function(){return this._buffers},oo.prototype.getUniforms=function(e,t){var r=[];for(var n in this.binders){var i=this.binders[n];if(i instanceof to||i instanceof ro||i instanceof io)for(var a=0,o=i.uniformNames;a<o.length;a+=1){var s=o[a];if(t[s]){var l=i.getBinding(e,t[s],s);r.push({name:s,property:n,binding:l})}}}return r},oo.prototype.setUniforms=function(e,t,r,n){for(var i=0,a=t;i<a.length;i+=1){var o=a[i],s=o.name,l=o.property,u=o.binding;this.binders[l].setUniform(u,n,r.get(l),s)}},oo.prototype.updatePaintBuffers=function(e){for(var t in this._buffers=[],this.binders){var r=this.binders[t];if(e&&r instanceof ao){var n=2===e.fromScale?r.zoomInPaintVertexBuffer:r.zoomOutPaintVertexBuffer;n&&this._buffers.push(n)}else(r instanceof no||r instanceof io)&&r.paintVertexBuffer&&this._buffers.push(r.paintVertexBuffer)}},oo.prototype.upload=function(e){for(var t in this.binders){var r=this.binders[t];(r instanceof no||r instanceof io||r instanceof ao)&&r.upload(e)}this.updatePaintBuffers()},oo.prototype.destroy=function(){for(var e in this.binders){var t=this.binders[e];(t instanceof no||t instanceof io||t instanceof ao)&&t.destroy()}};var so=function(e,t,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=t;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=new oo(o,r,n,e)}this.needsUpload=!1,this._featureMap=new ja,this._bufferOffset=0};function lo(e,t){return{\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[e]||[e.replace(t+\"-\",\"\").replace(/-/g,\"_\")]}function uo(e,t,r){var n={color:{source:xa,composite:ba},number:{source:da,composite:xa}},i=function(e){return{\"line-pattern\":{source:na,composite:na},\"fill-pattern\":{source:na,composite:na},\"fill-extrusion-pattern\":{source:na,composite:na}}[e]}(e);return i&&i[r]||n[t][r]}so.prototype.populatePaintArrays=function(e,t,r,n,i,a){for(var o in this.programConfigurations)this.programConfigurations[o].populatePaintArrays(e,t,n,i,a);void 0!==t.id&&this._featureMap.add(t.id,r,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0},so.prototype.updatePaintArrays=function(e,t,r,n){for(var i=0,a=r;i<a.length;i+=1){var o=a[i];this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(e,this._featureMap,t,o,n)||this.needsUpload}},so.prototype.get=function(e){return this.programConfigurations[e]},so.prototype.upload=function(e){if(this.needsUpload){for(var t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}},so.prototype.destroy=function(){for(var e in this.programConfigurations)this.programConfigurations[e].destroy()},ni(\"ConstantBinder\",to),ni(\"CrossFadedConstantBinder\",ro),ni(\"SourceExpressionBinder\",no),ni(\"CrossFadedCompositeBinder\",ao),ni(\"CompositeExpressionBinder\",io),ni(\"ProgramConfiguration\",oo,{omit:[\"_buffers\"]}),ni(\"ProgramConfigurationSet\",so);var co=8192;var fo,ho=(fo=15,{min:-1*Math.pow(2,fo-1),max:Math.pow(2,fo-1)-1});function po(e){for(var t=co/e.extent,r=e.loadGeometry(),n=0;n<r.length;n++)for(var i=r[n],a=0;a<i.length;a++){var o=i[a];o.x=Math.round(o.x*t),o.y=Math.round(o.y*t),(o.x<ho.min||o.x>ho.max||o.y<ho.min||o.y>ho.max)&&(w(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\"),o.x=u(o.x,ho.min,ho.max),o.y=u(o.y,ho.min,ho.max))}return r}function vo(e,t,r,n,i){e.emplaceBack(2*t+(n+1)/2,2*r+(i+1)/2)}var go=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((function(e){return e.id})),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new Qi,this.indexArray=new fa,this.segments=new Oa,this.programConfigurations=new so(Pa,e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((function(e){return e.isStateDependent()})).map((function(e){return e.id}))};function mo(e,t){for(var r=0;r<e.length;r++)if(Ao(t,e[r]))return!0;for(var n=0;n<t.length;n++)if(Ao(e,t[n]))return!0;return!!_o(e,t)}function yo(e,t,r){return!!Ao(e,t)||!!ko(t,e,r)}function xo(e,t){if(1===e.length)return Mo(t,e[0]);for(var r=0;r<t.length;r++)for(var n=t[r],i=0;i<n.length;i++)if(Ao(e,n[i]))return!0;for(var a=0;a<e.length;a++)if(Mo(t,e[a]))return!0;for(var o=0;o<t.length;o++)if(_o(e,t[o]))return!0;return!1}function bo(e,t,r){if(e.length>1){if(_o(e,t))return!0;for(var n=0;n<t.length;n++)if(ko(t[n],e,r))return!0}for(var i=0;i<e.length;i++)if(ko(e[i],t,r))return!0;return!1}function _o(e,t){if(0===e.length||0===t.length)return!1;for(var r=0;r<e.length-1;r++)for(var n=e[r],i=e[r+1],a=0;a<t.length-1;a++)if(wo(n,i,t[a],t[a+1]))return!0;return!1}function wo(e,t,r,n){return k(e,r,n)!==k(t,r,n)&&k(e,t,r)!==k(e,t,n)}function ko(e,t,r){var n=r*r;if(1===t.length)return e.distSqr(t[0])<n;for(var i=1;i<t.length;i++)if(To(e,t[i-1],t[i])<n)return!0;return!1}function To(e,t,r){var n=t.distSqr(r);if(0===n)return e.distSqr(t);var i=((e.x-t.x)*(r.x-t.x)+(e.y-t.y)*(r.y-t.y))/n;return i<0?e.distSqr(t):i>1?e.distSqr(r):e.distSqr(r.sub(t)._mult(i)._add(t))}function Mo(e,t){for(var r,n,i,a=!1,o=0;o<e.length;o++)for(var s=0,l=(r=e[o]).length-1;s<r.length;l=s++)n=r[s],i=r[l],n.y>t.y!=i.y>t.y&&t.x<(i.x-n.x)*(t.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Ao(e,t){for(var r=!1,n=0,i=e.length-1;n<e.length;i=n++){var a=e[n],o=e[i];a.y>t.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function So(e,t,r){var n=r[0],i=r[2];if(e.x<n.x&&t.x<n.x||e.x>i.x&&t.x>i.x||e.y<n.y&&t.y<n.y||e.y>i.y&&t.y>i.y)return!1;var a=k(e,t,r[0]);return a!==k(e,t,r[1])||a!==k(e,t,r[2])||a!==k(e,t,r[3])}function Eo(e,t,r){var n=t.paint.get(e).value;return\"constant\"===n.kind?n.value:r.programConfigurations.get(t.id).getMaxValue(e)}function Co(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function Lo(e,t,r,n,i){if(!t[0]&&!t[1])return e;var o=a.convert(t)._mult(i);\"viewport\"===r&&o._rotate(-n);for(var s=[],l=0;l<e.length;l++){var u=e[l];s.push(u.sub(o))}return s}go.prototype.populate=function(e,t,r){var n=this.layers[0],i=[],a=null;\"circle\"===n.type&&(a=n.layout.get(\"circle-sort-key\"));for(var o=0,s=e;o<s.length;o+=1){var l=s[o],u=l.feature,c=l.id,f=l.index,h=l.sourceLayerIndex,p=this.layers[0]._featureFilter.needGeometry,d={type:u.type,id:c,properties:u.properties,geometry:p?po(u):[]};if(this.layers[0]._featureFilter.filter(new Pi(this.zoom),d,r)){p||(d.geometry=po(u));var v=a?a.evaluate(d,{},r):void 0,g={id:c,properties:u.properties,type:u.type,sourceLayerIndex:h,index:f,geometry:d.geometry,patterns:{},sortKey:v};i.push(g)}}a&&i.sort((function(e,t){return e.sortKey-t.sortKey}));for(var m=0,y=i;m<y.length;m+=1){var x=y[m],b=x,_=b.geometry,w=b.index,k=b.sourceLayerIndex,T=e[w].feature;this.addFeature(x,_,w,r),t.featureIndex.insert(T,_,w,k,this.index)}},go.prototype.update=function(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)},go.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},go.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},go.prototype.upload=function(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Pa),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0},go.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},go.prototype.addFeature=function(e,t,r,n){for(var i=0,a=t;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var l=s[o],u=l.x,c=l.y;if(!(u<0||u>=co||c<0||c>=co)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,e.sortKey),h=f.vertexLength;vo(this.layoutVertexArray,u,c,-1,-1),vo(this.layoutVertexArray,u,c,1,-1),vo(this.layoutVertexArray,u,c,1,1),vo(this.layoutVertexArray,u,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{},n)},ni(\"CircleBucket\",go,{omit:[\"layers\"]});var Po=new Gi({\"circle-sort-key\":new Ui(De.layout_circle[\"circle-sort-key\"])}),Oo={paint:new Gi({\"circle-radius\":new Ui(De.paint_circle[\"circle-radius\"]),\"circle-color\":new Ui(De.paint_circle[\"circle-color\"]),\"circle-blur\":new Ui(De.paint_circle[\"circle-blur\"]),\"circle-opacity\":new Ui(De.paint_circle[\"circle-opacity\"]),\"circle-translate\":new ji(De.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new ji(De.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new ji(De.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new ji(De.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new Ui(De.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new Ui(De.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new Ui(De.paint_circle[\"circle-stroke-opacity\"])}),layout:Po},Io=\"undefined\"!=typeof Float32Array?Float32Array:Array;function Do(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function zo(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],p=t[10],d=t[11],v=t[12],g=t[13],m=t[14],y=t[15],x=r[0],b=r[1],_=r[2],w=r[3];return e[0]=x*n+b*s+_*f+w*v,e[1]=x*i+b*l+_*h+w*g,e[2]=x*a+b*u+_*p+w*m,e[3]=x*o+b*c+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],e[4]=x*n+b*s+_*f+w*v,e[5]=x*i+b*l+_*h+w*g,e[6]=x*a+b*u+_*p+w*m,e[7]=x*o+b*c+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],e[8]=x*n+b*s+_*f+w*v,e[9]=x*i+b*l+_*h+w*g,e[10]=x*a+b*u+_*p+w*m,e[11]=x*o+b*c+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],e[12]=x*n+b*s+_*f+w*v,e[13]=x*i+b*l+_*h+w*g,e[14]=x*a+b*u+_*p+w*m,e[15]=x*o+b*c+_*d+w*y,e}Math.hypot||(Math.hypot=function(){for(var e=arguments,t=0,r=arguments.length;r--;)t+=e[r]*e[r];return Math.sqrt(t)});var Ro=zo;var Fo,Bo=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e};function No(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}Fo=new Io(3),Io!=Float32Array&&(Fo[0]=0,Fo[1]=0,Fo[2]=0),function(){var e=new Io(4);Io!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0)}();var jo=function(e){var t=e[0],r=e[1];return t*t+r*r},Uo=(function(){var e=new Io(2);Io!=Float32Array&&(e[0]=0,e[1]=0)}(),function(e){function t(t){e.call(this,t,Oo)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.createBucket=function(e){return new go(e)},t.prototype.queryRadius=function(e){var t=e;return Eo(\"circle-radius\",this,t)+Eo(\"circle-stroke-width\",this,t)+Co(this.paint.get(\"circle-translate\"))},t.prototype.queryIntersectsFeature=function(e,t,r,n,i,a,o,s){for(var l=Lo(e,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),a.angle,o),u=this.paint.get(\"circle-radius\").evaluate(t,r)+this.paint.get(\"circle-stroke-width\").evaluate(t,r),c=\"map\"===this.paint.get(\"circle-pitch-alignment\"),f=c?l:function(e,t){return e.map((function(e){return Vo(e,t)}))}(l,s),h=c?u*o:u,p=0,d=n;p<d.length;p+=1)for(var v=0,g=d[p];v<g.length;v+=1){var m=g[v],y=c?m:Vo(m,s),x=h,b=No([],[m.x,m.y,0,1],s);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?x*=b[3]/a.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(x*=a.cameraToCenterDistance/b[3]),yo(f,y,x))return!0}return!1},t}(Wi));function Vo(e,t){var r=No([],[e.x,e.y,0,1],t);return new a(r[0]/r[3],r[1]/r[3])}var Ho=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(go);function qo(e,t,r,n){var i=t.width,a=t.height;if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==i*a*r)throw new RangeError(\"mismatched image size\")}else n=new Uint8Array(i*a*r);return e.width=i,e.height=a,e.data=n,e}function Go(e,t,r){var n=t.width,i=t.height;if(n!==e.width||i!==e.height){var a=qo({},{width:n,height:i},r);Yo(e,a,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,n),height:Math.min(e.height,i)},r),e.width=n,e.height=i,e.data=a.data}}function Yo(e,t,r,n,i,a){if(0===i.width||0===i.height)return t;if(i.width>e.width||i.height>e.height||r.x>e.width-i.width||r.y>e.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>t.width||i.height>t.height||n.x>t.width-i.width||n.y>t.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var o=e.data,s=t.data,l=0;l<i.height;l++)for(var u=((r.y+l)*e.width+r.x)*a,c=((n.y+l)*t.width+n.x)*a,f=0;f<i.width*a;f++)s[c+f]=o[u+f];return t}ni(\"HeatmapBucket\",Ho,{omit:[\"layers\"]});var Wo=function(e,t){qo(this,e,1,t)};Wo.prototype.resize=function(e){Go(this,e,1)},Wo.prototype.clone=function(){return new Wo({width:this.width,height:this.height},new Uint8Array(this.data))},Wo.copy=function(e,t,r,n,i){Yo(e,t,r,n,i,1)};var Zo=function(e,t){qo(this,e,4,t)};Zo.prototype.resize=function(e){Go(this,e,4)},Zo.prototype.replace=function(e,t){t?this.data.set(e):e instanceof Uint8ClampedArray?this.data=new Uint8Array(e.buffer):this.data=e},Zo.prototype.clone=function(){return new Zo({width:this.width,height:this.height},new Uint8Array(this.data))},Zo.copy=function(e,t,r,n,i){Yo(e,t,r,n,i,4)},ni(\"AlphaImage\",Wo),ni(\"RGBAImage\",Zo);var Xo={paint:new Gi({\"heatmap-radius\":new Ui(De.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Ui(De.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new ji(De.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new qi(De.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new ji(De.paint_heatmap[\"heatmap-opacity\"])})};function Ko(e,t){for(var r=new Uint8Array(1024),n={},i=0,a=0;i<256;i++,a+=4){n[t]=i/255;var o=e.evaluate(n);r[a+0]=Math.floor(255*o.r/o.a),r[a+1]=Math.floor(255*o.g/o.a),r[a+2]=Math.floor(255*o.b/o.a),r[a+3]=Math.floor(255*o.a)}return new Zo({width:256,height:1},r)}var Jo=function(e){function t(t){e.call(this,t,Xo),this._updateColorRamp()}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.createBucket=function(e){return new Ho(e)},t.prototype._handleSpecialPaintPropertyUpdate=function(e){\"heatmap-color\"===e&&this._updateColorRamp()},t.prototype._updateColorRamp=function(){var e=this._transitionablePaint._values[\"heatmap-color\"].value.expression;this.colorRamp=Ko(e,\"heatmapDensity\"),this.colorRampTexture=null},t.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},t.prototype.queryRadius=function(){return 0},t.prototype.queryIntersectsFeature=function(){return!1},t.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility},t}(Wi),$o={paint:new Gi({\"hillshade-illumination-direction\":new ji(De.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new ji(De.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new ji(De.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new ji(De.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new ji(De.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new ji(De.paint_hillshade[\"hillshade-accent-color\"])})},Qo=function(e){function t(t){e.call(this,t,$o)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility},t}(Wi),es=Ji([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,ts=ns,rs=ns;function ns(e,t,r){r=r||2;var n,i,a,o,s,l,u,c=t&&t.length,f=c?t[0]*r:e.length,h=is(e,0,f,r,!0),p=[];if(!h||h.next===h.prev)return p;if(c&&(h=function(e,t,r,n){var i,a,o,s=[];for(i=0,a=t.length;i<a;i++)(o=is(e,t[i]*n,i<a-1?t[i+1]*n:e.length,n,!1))===o.next&&(o.steiner=!0),s.push(vs(o));for(s.sort(fs),i=0;i<s.length;i++)hs(s[i],r),r=as(r,r.next);return r}(e,t,h,r)),e.length>80*r){n=a=e[0],i=o=e[1];for(var d=r;d<f;d+=r)(s=e[d])<n&&(n=s),(l=e[d+1])<i&&(i=l),s>a&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return os(h,p,r,n,i,u),p}function is(e,t,r,n,i){var a,o;if(i===Es(e,t,r,n)>0)for(a=t;a<r;a+=n)o=Ms(a,e[a],e[a+1],o);else for(a=r-n;a>=t;a-=n)o=Ms(a,e[a],e[a+1],o);return o&&xs(o,o.next)&&(As(o),o=o.next),o}function as(e,t){if(!e)return e;t||(t=e);var r,n=e;do{if(r=!1,n.steiner||!xs(n,n.next)&&0!==ys(n.prev,n,n.next))n=n.next;else{if(As(n),(n=t=n.prev)===n.next)break;r=!0}}while(r||n!==t);return t}function os(e,t,r,n,i,a,o){if(e){!o&&a&&function(e,t,r,n){var i=e;do{null===i.z&&(i.z=ds(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,r,n,i,a,o,s,l,u=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t<u&&(s++,n=n.nextZ);t++);for(l=u;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(e,n,i,a);for(var s,l,u=e;e.prev!==e.next;)if(s=e.prev,l=e.next,a?ls(e,n,i,a):ss(e))t.push(s.i/r),t.push(e.i/r),t.push(l.i/r),As(e),e=l.next,u=l.next;else if((e=l)===u){o?1===o?os(e=us(as(e),t,r),t,r,n,i,a,2):2===o&&cs(e,t,r,n,i,a):os(as(e),t,r,n,i,a,1);break}}}function ss(e){var t=e.prev,r=e,n=e.next;if(ys(t,r,n)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(gs(t.x,t.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ys(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function ls(e,t,r,n){var i=e.prev,a=e,o=e.next;if(ys(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,u=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=ds(s,l,t,r,n),h=ds(u,c,t,r,n),p=e.prevZ,d=e.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==e.prev&&p!==e.next&&gs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ys(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==e.prev&&d!==e.next&&gs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ys(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==e.prev&&p!==e.next&&gs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ys(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==e.prev&&d!==e.next&&gs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ys(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function us(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!xs(i,a)&&bs(i,n,n.next,a)&&ks(i,a)&&ks(a,i)&&(t.push(i.i/r),t.push(n.i/r),t.push(a.i/r),As(n),As(n.next),n=e=a),n=n.next}while(n!==e);return as(n)}function cs(e,t,r,n,i,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&ms(o,s)){var l=Ts(o,s);return o=as(o,o.next),l=as(l,l.next),os(o,t,r,n,i,a),void os(l,t,r,n,i,a)}s=s.next}o=o.next}while(o!==e)}function fs(e,t){return e.x-t.x}function hs(e,t){if(t=function(e,t){var r,n=t,i=e.x,a=e.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==t);if(!r)return null;if(i===o)return r;var l,u=r,c=r.x,f=r.y,h=1/0;n=r;do{i>=n.x&&n.x>=c&&i!==n.x&&gs(a<f?i:o,a,c,f,a<f?o:i,a,n.x,n.y)&&(l=Math.abs(a-n.y)/(i-n.x),ks(n,e)&&(l<h||l===h&&(n.x>r.x||n.x===r.x&&ps(r,n)))&&(r=n,h=l)),n=n.next}while(n!==u);return r}(e,t)){var r=Ts(t,e);as(t,t.next),as(r,r.next)}}function ps(e,t){return ys(e.prev,e,t.prev)<0&&ys(t.next,e,e.next)<0}function ds(e,t,r,n,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-r)*i)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*i)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function vs(e){var t=e,r=e;do{(t.x<r.x||t.x===r.x&&t.y<r.y)&&(r=t),t=t.next}while(t!==e);return r}function gs(e,t,r,n,i,a,o,s){return(i-o)*(t-s)-(e-o)*(a-s)>=0&&(e-o)*(n-s)-(r-o)*(t-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function ms(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&bs(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}(e,t)&&(ks(e,t)&&ks(t,e)&&function(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==e);return n}(e,t)&&(ys(e.prev,e,t.prev)||ys(e,t.prev,t))||xs(e,t)&&ys(e.prev,e,e.next)>0&&ys(t.prev,t,t.next)>0)}function ys(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function xs(e,t){return e.x===t.x&&e.y===t.y}function bs(e,t,r,n){var i=ws(ys(e,t,r)),a=ws(ys(e,t,n)),o=ws(ys(r,n,e)),s=ws(ys(r,n,t));return i!==a&&o!==s||!(0!==i||!_s(e,r,t))||!(0!==a||!_s(e,n,t))||!(0!==o||!_s(r,e,n))||!(0!==s||!_s(r,t,n))}function _s(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function ws(e){return e>0?1:e<0?-1:0}function ks(e,t){return ys(e.prev,e,e.next)<0?ys(e,t,e.next)>=0&&ys(e,e.prev,t)>=0:ys(e,t,e.prev)<0||ys(e,e.next,t)<0}function Ts(e,t){var r=new Ss(e.i,e.x,e.y),n=new Ss(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Ms(e,t,r,n){var i=new Ss(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function As(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Ss(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Es(e,t,r,n){for(var i=0,a=t,o=r-n;a<r;a+=n)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}function Cs(e,t,r,n,i){Ls(e,t,r||0,n||e.length-1,i||Os)}function Ls(e,t,r,n,i){for(;n>r;){if(n-r>600){var a=n-r+1,o=t-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),u=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Ls(e,t,Math.max(r,Math.floor(t-o*l/a+u)),Math.min(n,Math.floor(t+(a-o)*l/a+u)),i)}var c=e[t],f=r,h=n;for(Ps(e,r,t),i(e[n],c)>0&&Ps(e,r,n);f<h;){for(Ps(e,f,h),f++,h--;i(e[f],c)<0;)f++;for(;i(e[h],c)>0;)h--}0===i(e[r],c)?Ps(e,r,h):Ps(e,++h,n),h<=t&&(r=h+1),t<=h&&(n=h-1)}}function Ps(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function Os(e,t){return e<t?-1:e>t?1:0}function Is(e,t){var r=e.length;if(r<=1)return[e];for(var n,i,a=[],o=0;o<r;o++){var s=T(e[o]);0!==s&&(e[o].area=Math.abs(s),void 0===i&&(i=s<0),i===s<0?(n&&a.push(n),n=[e[o]]):n.push(e[o]))}if(n&&a.push(n),t>1)for(var l=0;l<a.length;l++)a[l].length<=t||(Cs(a[l],t,1,a[l].length-1,Ds),a[l]=a[l].slice(0,t));return a}function Ds(e,t){return t.area-e.area}function zs(e,t,r){for(var n=r.patternDependencies,i=!1,a=0,o=t;a<o.length;a+=1){var s=o[a].paint.get(e+\"-pattern\");s.isConstant()||(i=!0);var l=s.constantOr(null);l&&(i=!0,n[l.to]=!0,n[l.from]=!0)}return i}function Rs(e,t,r,n,i){for(var a=i.patternDependencies,o=0,s=t;o<s.length;o+=1){var l=s[o],u=l.paint.get(e+\"-pattern\").value;if(\"constant\"!==u.kind){var c=u.evaluate({zoom:n-1},r,{},i.availableImages),f=u.evaluate({zoom:n},r,{},i.availableImages),h=u.evaluate({zoom:n+1},r,{},i.availableImages);c=c&&c.name?c.name:c,f=f&&f.name?f.name:f,h=h&&h.name?h.name:h,a[c]=!0,a[f]=!0,a[h]=!0,r.patterns[l.id]={min:c,mid:f,max:h}}}return r}ns.deviation=function(e,t,r,n){var i=t&&t.length,a=i?t[0]*r:e.length,o=Math.abs(Es(e,0,a,r));if(i)for(var s=0,l=t.length;s<l;s++){var u=t[s]*r,c=s<l-1?t[s+1]*r:e.length;o-=Math.abs(Es(e,u,c,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((e[h]-e[d])*(e[p+1]-e[h+1])-(e[h]-e[p])*(e[d+1]-e[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},ns.flatten=function(e){for(var t=e[0][0].length,r={vertices:[],holes:[],dimensions:t},n=0,i=0;i<e.length;i++){for(var a=0;a<e[i].length;a++)for(var o=0;o<t;o++)r.vertices.push(e[i][a][o]);i>0&&(n+=e[i-1].length,r.holes.push(n))}return r},ts.default=rs;var Fs=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((function(e){return e.id})),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Qi,this.indexArray=new fa,this.indexArray2=new ma,this.programConfigurations=new so(es,e.layers,e.zoom),this.segments=new Oa,this.segments2=new Oa,this.stateDependentLayerIds=this.layers.filter((function(e){return e.isStateDependent()})).map((function(e){return e.id}))};Fs.prototype.populate=function(e,t,r){this.hasPattern=zs(\"fill\",this.layers,t);for(var n=this.layers[0].layout.get(\"fill-sort-key\"),i=[],a=0,o=e;a<o.length;a+=1){var s=o[a],l=s.feature,u=s.id,c=s.index,f=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,p={type:l.type,id:u,properties:l.properties,geometry:h?po(l):[]};if(this.layers[0]._featureFilter.filter(new Pi(this.zoom),p,r)){h||(p.geometry=po(l));var d=n?n.evaluate(p,{},r,t.availableImages):void 0,v={id:u,properties:l.properties,type:l.type,sourceLayerIndex:f,index:c,geometry:p.geometry,patterns:{},sortKey:d};i.push(v)}}n&&i.sort((function(e,t){return e.sortKey-t.sortKey}));for(var g=0,m=i;g<m.length;g+=1){var y=m[g],x=y,b=x.geometry,_=x.index,w=x.sourceLayerIndex;if(this.hasPattern){var k=Rs(\"fill\",this.layers,y,this.zoom,t);this.patternFeatures.push(k)}else this.addFeature(y,b,_,r,{});var T=e[_].feature;t.featureIndex.insert(T,b,_,w,this.index)}},Fs.prototype.update=function(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)},Fs.prototype.addFeatures=function(e,t,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,t,r)}},Fs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Fs.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Fs.prototype.upload=function(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,es),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0},Fs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},Fs.prototype.addFeature=function(e,t,r,n,i){for(var a=0,o=Is(t,500);a<o.length;a+=1){for(var s=o[a],l=0,u=0,c=s;u<c.length;u+=1)l+=c[u].length;for(var f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray),h=f.vertexLength,p=[],d=[],v=0,g=s;v<g.length;v+=1){var m=g[v];if(0!==m.length){m!==s[0]&&d.push(p.length/2);var y=this.segments2.prepareSegment(m.length,this.layoutVertexArray,this.indexArray2),x=y.vertexLength;this.layoutVertexArray.emplaceBack(m[0].x,m[0].y),this.indexArray2.emplaceBack(x+m.length-1,x),p.push(m[0].x),p.push(m[0].y);for(var b=1;b<m.length;b++)this.layoutVertexArray.emplaceBack(m[b].x,m[b].y),this.indexArray2.emplaceBack(x+b-1,x+b),p.push(m[b].x),p.push(m[b].y);y.vertexLength+=m.length,y.primitiveLength+=m.length}}for(var _=ts(p,d),w=0;w<_.length;w+=3)this.indexArray.emplaceBack(h+_[w],h+_[w+1],h+_[w+2]);f.vertexLength+=l,f.primitiveLength+=_.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,i,n)},ni(\"FillBucket\",Fs,{omit:[\"layers\",\"patternFeatures\"]});var Bs=new Gi({\"fill-sort-key\":new Ui(De.layout_fill[\"fill-sort-key\"])}),Ns={paint:new Gi({\"fill-antialias\":new ji(De.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new Ui(De.paint_fill[\"fill-opacity\"]),\"fill-color\":new Ui(De.paint_fill[\"fill-color\"]),\"fill-outline-color\":new Ui(De.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new ji(De.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new ji(De.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Vi(De.paint_fill[\"fill-pattern\"])}),layout:Bs},js=function(e){function t(t){e.call(this,t,Ns)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.recalculate=function(t,r){e.prototype.recalculate.call(this,t,r);var n=this.paint._values[\"fill-outline-color\"];\"constant\"===n.value.kind&&void 0===n.value.value&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])},t.prototype.createBucket=function(e){return new Fs(e)},t.prototype.queryRadius=function(){return Co(this.paint.get(\"fill-translate\"))},t.prototype.queryIntersectsFeature=function(e,t,r,n,i,a,o){return xo(Lo(e,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),a.angle,o),n)},t.prototype.isTileClipped=function(){return!0},t}(Wi),Us=Ji([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4).members,Vs=Hs;function Hs(e,t,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=e,this._geometry=-1,this._keys=n,this._values=i,e.readFields(qs,this,t)}function qs(e,t,r){1==e?t.id=r.readVarint():2==e?function(e,t){for(var r=e.readVarint()+e.pos;e.pos<r;){var n=t._keys[e.readVarint()],i=t._values[e.readVarint()];t.properties[n]=i}}(r,t):3==e?t.type=r.readVarint():4==e&&(t._geometry=r.pos)}function Gs(e){for(var t,r,n=0,i=0,a=e.length,o=a-1;i<a;o=i++)t=e[i],n+=((r=e[o]).x-t.x)*(t.y+r.y);return n}Hs.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],Hs.prototype.loadGeometry=function(){var e=this._pbf;e.pos=this._geometry;for(var t,r=e.readVarint()+e.pos,n=1,i=0,o=0,s=0,l=[];e.pos<r;){if(i<=0){var u=e.readVarint();n=7&u,i=u>>3}if(i--,1===n||2===n)o+=e.readSVarint(),s+=e.readSVarint(),1===n&&(t&&l.push(t),t=[]),t.push(new a(o,s));else{if(7!==n)throw new Error(\"unknown command \"+n);t&&t.push(t[0].clone())}}return t&&l.push(t),l},Hs.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,u=-1/0;e.pos<t;){if(n<=0){var c=e.readVarint();r=7&c,n=c>>3}if(n--,1===r||2===r)(i+=e.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=e.readSVarint())<l&&(l=a),a>u&&(u=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return[o,l,s,u]},Hs.prototype.toGeoJSON=function(e,t,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*e,s=this.extent*t,l=this.loadGeometry(),u=Hs.types[this.type];function c(e){for(var t=0;t<e.length;t++){var r=e[t],n=180-360*(r.y+s)/a;e[t]=[360*(r.x+o)/a-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}switch(this.type){case 1:var f=[];for(n=0;n<l.length;n++)f[n]=l[n][0];c(l=f);break;case 2:for(n=0;n<l.length;n++)c(l[n]);break;case 3:for(l=function(e){var t=e.length;if(t<=1)return[e];for(var r,n,i=[],a=0;a<t;a++){var o=Gs(e[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[e[a]]):r.push(e[a]))}return r&&i.push(r),i}(l),n=0;n<l.length;n++)for(i=0;i<l[n].length;i++)c(l[n][i])}1===l.length?l=l[0]:u=\"Multi\"+u;var h={type:\"Feature\",geometry:{type:u,coordinates:l},properties:this.properties};return\"id\"in this&&(h.id=this.id),h};var Ys=Ws;function Ws(e,t){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(Zs,this,t),this.length=this._features.length}function Zs(e,t,r){15===e?t.version=r.readVarint():1===e?t.name=r.readString():5===e?t.extent=r.readVarint():2===e?t._features.push(r.pos):3===e?t._keys.push(r.readString()):4===e&&t._values.push(function(e){for(var t=null,r=e.readVarint()+e.pos;e.pos<r;){var n=e.readVarint()>>3;t=1===n?e.readString():2===n?e.readFloat():3===n?e.readDouble():4===n?e.readVarint64():5===n?e.readVarint():6===n?e.readSVarint():7===n?e.readBoolean():null}return t}(r))}function Xs(e,t,r){if(3===e){var n=new Ys(r,r.readVarint()+r.pos);n.length&&(t[n.name]=n)}}Ws.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new Vs(this._pbf,t,this.extent,this._keys,this._values)};var Ks={VectorTile:function(e,t){this.layers=e.readFields(Xs,{},t)},VectorTileFeature:Vs,VectorTileLayer:Ys},Js=Ks.VectorTileFeature.types,$s=Math.pow(2,13);function Qs(e,t,r,n,i,a,o,s){e.emplaceBack(t,r,2*Math.floor(n*$s)+o,i*$s*2,a*$s*2,Math.round(s))}var el=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((function(e){return e.id})),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new ta,this.indexArray=new fa,this.programConfigurations=new so(Us,e.layers,e.zoom),this.segments=new Oa,this.stateDependentLayerIds=this.layers.filter((function(e){return e.isStateDependent()})).map((function(e){return e.id}))};function tl(e,t){return e.x===t.x&&(e.x<0||e.x>co)||e.y===t.y&&(e.y<0||e.y>co)}el.prototype.populate=function(e,t,r){this.features=[],this.hasPattern=zs(\"fill-extrusion\",this.layers,t);for(var n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.id,l=a.index,u=a.sourceLayerIndex,c=this.layers[0]._featureFilter.needGeometry,f={type:o.type,id:s,properties:o.properties,geometry:c?po(o):[]};if(this.layers[0]._featureFilter.filter(new Pi(this.zoom),f,r)){var h={id:s,sourceLayerIndex:u,index:l,geometry:c?f.geometry:po(o),properties:o.properties,type:o.type,patterns:{}};void 0!==o.id&&(h.id=o.id),this.hasPattern?this.features.push(Rs(\"fill-extrusion\",this.layers,h,this.zoom,t)):this.addFeature(h,h.geometry,l,r,{}),t.featureIndex.insert(o,h.geometry,l,u,this.index,!0)}}},el.prototype.addFeatures=function(e,t,r){for(var n=0,i=this.features;n<i.length;n+=1){var a=i[n],o=a.geometry;this.addFeature(a,o,a.index,t,r)}},el.prototype.update=function(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)},el.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},el.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},el.prototype.upload=function(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Us),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0},el.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},el.prototype.addFeature=function(e,t,r,n,i){for(var a=0,o=Is(t,500);a<o.length;a+=1){for(var s=o[a],l=0,u=0,c=s;u<c.length;u+=1)l+=c[u].length;for(var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),h=0,p=s;h<p.length;h+=1){var d=p[h];if(0!==d.length&&!((O=d).every((function(e){return e.x<0}))||O.every((function(e){return e.x>co}))||O.every((function(e){return e.y<0}))||O.every((function(e){return e.y>co}))))for(var v=0,g=0;g<d.length;g++){var m=d[g];if(g>=1){var y=d[g-1];if(!tl(m,y)){f.vertexLength+4>Oa.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=m.sub(y)._perp()._unit(),b=y.dist(m);v+b>32768&&(v=0),Qs(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,0,v),Qs(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,1,v),v+=b,Qs(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,v),Qs(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,v);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>Oa.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),\"Polygon\"===Js[e.type]){for(var w=[],k=[],T=f.vertexLength,M=0,A=s;M<A.length;M+=1){var S=A[M];if(0!==S.length){S!==s[0]&&k.push(w.length/2);for(var E=0;E<S.length;E++){var C=S[E];Qs(this.layoutVertexArray,C.x,C.y,0,0,1,1,0),w.push(C.x),w.push(C.y)}}}for(var L=ts(w,k),P=0;P<L.length;P+=3)this.indexArray.emplaceBack(T+L[P],T+L[P+2],T+L[P+1]);f.primitiveLength+=L.length/3,f.vertexLength+=l}}var O;this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,i,n)},ni(\"FillExtrusionBucket\",el,{omit:[\"layers\",\"features\"]});var rl={paint:new Gi({\"fill-extrusion-opacity\":new ji(De[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Ui(De[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new ji(De[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new ji(De[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Vi(De[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Ui(De[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Ui(De[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new ji(De[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})},nl=function(e){function t(t){e.call(this,t,rl)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.createBucket=function(e){return new el(e)},t.prototype.queryRadius=function(){return Co(this.paint.get(\"fill-extrusion-translate\"))},t.prototype.is3D=function(){return!0},t.prototype.queryIntersectsFeature=function(e,t,r,n,i,o,s,l){var u=Lo(e,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),o.angle,s),c=this.paint.get(\"fill-extrusion-height\").evaluate(t,r),f=this.paint.get(\"fill-extrusion-base\").evaluate(t,r),h=function(e,t,r,n){for(var i=[],o=0,s=e;o<s.length;o+=1){var l=s[o],u=[l.x,l.y,n,1];No(u,u,t),i.push(new a(u[0]/u[3],u[1]/u[3]))}return i}(u,l,0,0),p=function(e,t,r,n){for(var i=[],o=[],s=n[8]*t,l=n[9]*t,u=n[10]*t,c=n[11]*t,f=n[8]*r,h=n[9]*r,p=n[10]*r,d=n[11]*r,v=0,g=e;v<g.length;v+=1){for(var m=[],y=[],x=0,b=g[v];x<b.length;x+=1){var _=b[x],w=_.x,k=_.y,T=n[0]*w+n[4]*k+n[12],M=n[1]*w+n[5]*k+n[13],A=n[2]*w+n[6]*k+n[14],S=n[3]*w+n[7]*k+n[15],E=A+u,C=S+c,L=T+f,P=M+h,O=A+p,I=S+d,D=new a((T+s)/C,(M+l)/C);D.z=E/C,m.push(D);var z=new a(L/I,P/I);z.z=O/I,y.push(z)}i.push(m),o.push(y)}return[i,o]}(n,f,c,l);return function(e,t,r){var n=1/0;xo(r,t)&&(n=al(r,t[0]));for(var i=0;i<t.length;i++)for(var a=t[i],o=e[i],s=0;s<a.length-1;s++){var l=a[s],u=a[s+1],c=o[s],f=[l,u,o[s+1],c,l];mo(r,f)&&(n=Math.min(n,al(r,f)))}return n!==1/0&&n}(p[0],p[1],h)},t}(Wi);function il(e,t){return e.x*t.x+e.y*t.y}function al(e,t){if(1===e.length){for(var r,n=0,i=t[n++];!r||i.equals(r);)if(!(r=t[n++]))return 1/0;for(;n<t.length;n++){var a=t[n],o=e[0],s=r.sub(i),l=a.sub(i),u=o.sub(i),c=il(s,s),f=il(s,l),h=il(l,l),p=il(u,s),d=il(u,l),v=c*h-f*f,g=(h*p-f*d)/v,m=(c*d-f*p)/v,y=1-g-m,x=i.z*y+r.z*g+a.z*m;if(isFinite(x))return x}return 1/0}for(var b=1/0,_=0,w=t;_<w.length;_+=1){var k=w[_];b=Math.min(b,k.z)}return b}var ol=Ji([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4).members,sl=Ks.VectorTileFeature.types,ll=Math.cos(Math.PI/180*37.5),ul=Math.pow(2,14)/.5,cl=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((function(e){return e.id})),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ra,this.indexArray=new fa,this.programConfigurations=new so(ol,e.layers,e.zoom),this.segments=new Oa,this.stateDependentLayerIds=this.layers.filter((function(e){return e.isStateDependent()})).map((function(e){return e.id}))};cl.prototype.populate=function(e,t,r){this.hasPattern=zs(\"line\",this.layers,t);for(var n=this.layers[0].layout.get(\"line-sort-key\"),i=[],a=0,o=e;a<o.length;a+=1){var s=o[a],l=s.feature,u=s.id,c=s.index,f=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,p={type:l.type,id:u,properties:l.properties,geometry:h?po(l):[]};if(this.layers[0]._featureFilter.filter(new Pi(this.zoom),p,r)){h||(p.geometry=po(l));var d=n?n.evaluate(p,{},r):void 0,v={id:u,properties:l.properties,type:l.type,sourceLayerIndex:f,index:c,geometry:p.geometry,patterns:{},sortKey:d};i.push(v)}}n&&i.sort((function(e,t){return e.sortKey-t.sortKey}));for(var g=0,m=i;g<m.length;g+=1){var y=m[g],x=y,b=x.geometry,_=x.index,w=x.sourceLayerIndex;if(this.hasPattern){var k=Rs(\"line\",this.layers,y,this.zoom,t);this.patternFeatures.push(k)}else this.addFeature(y,b,_,r,{});var T=e[_].feature;t.featureIndex.insert(T,b,_,w,this.index)}},cl.prototype.update=function(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)},cl.prototype.addFeatures=function(e,t,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,t,r)}},cl.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},cl.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},cl.prototype.upload=function(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,ol),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0},cl.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},cl.prototype.addFeature=function(e,t,r,n,i){for(var a=this.layers[0].layout,o=a.get(\"line-join\").evaluate(e,{}),s=a.get(\"line-cap\"),l=a.get(\"line-miter-limit\"),u=a.get(\"line-round-limit\"),c=0,f=t;c<f.length;c+=1){var h=f[c];this.addLine(h,e,o,s,l,u)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,i,n)},cl.prototype.addLine=function(e,t,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,t.properties&&t.properties.hasOwnProperty(\"mapbox_clip_start\")&&t.properties.hasOwnProperty(\"mapbox_clip_end\")){this.clipStart=+t.properties.mapbox_clip_start,this.clipEnd=+t.properties.mapbox_clip_end;for(var o=0;o<e.length-1;o++)this.totalDistance+=e[o].dist(e[o+1]);this.updateScaledDistance()}for(var s=\"Polygon\"===sl[t.type],l=e.length;l>=2&&e[l-1].equals(e[l-2]);)l--;for(var u=0;u<l-1&&e[u].equals(e[u+1]);)u++;if(!(l<(s?3:2))){\"bevel\"===r&&(i=1.05);var c,f=this.overscaling<=16?15*co/(512*this.overscaling):0,h=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray),p=void 0,d=void 0,v=void 0,g=void 0;this.e1=this.e2=-1,s&&(c=e[l-2],g=e[u].sub(c)._unit()._perp());for(var m=u;m<l;m++)if(!(d=m===l-1?s?e[u+1]:void 0:e[m+1])||!e[m].equals(d)){g&&(v=g),c&&(p=c),c=e[m],g=d?d.sub(c)._unit()._perp():v;var y=(v=v||g).add(g);0===y.x&&0===y.y||y._unit();var x=v.x*g.x+v.y*g.y,b=y.x*g.x+y.y*g.y,_=0!==b?1/b:1/0,w=2*Math.sqrt(2-2*b),k=b<ll&&p&&d,T=v.x*g.y-v.y*g.x>0;if(k&&m>u){var M=c.dist(p);if(M>2*f){var A=c.sub(c.sub(p)._mult(f/M)._round());this.updateDistance(p,A),this.addCurrentVertex(A,v,0,0,h),p=A}}var S=p&&d,E=S?r:s?\"butt\":n;if(S&&\"round\"===E&&(_<a?E=\"miter\":_<=2&&(E=\"fakeround\")),\"miter\"===E&&_>i&&(E=\"bevel\"),\"bevel\"===E&&(_>2&&(E=\"flipbevel\"),_<i&&(E=\"miter\")),p&&this.updateDistance(p,c),\"miter\"===E)y._mult(_),this.addCurrentVertex(c,y,0,0,h);else if(\"flipbevel\"===E){if(_>100)y=g.mult(-1);else{var C=_*v.add(g).mag()/v.sub(g).mag();y._perp()._mult(C*(T?-1:1))}this.addCurrentVertex(c,y,0,0,h),this.addCurrentVertex(c,y.mult(-1),0,0,h)}else if(\"bevel\"===E||\"fakeround\"===E){var L=-Math.sqrt(_*_-1),P=T?L:0,O=T?0:L;if(p&&this.addCurrentVertex(c,v,P,O,h),\"fakeround\"===E)for(var I=Math.round(180*w/Math.PI/20),D=1;D<I;D++){var z=D/I;if(.5!==z){var R=z-.5;z+=z*R*(z-1)*((1.0904+x*(x*(3.55645-1.43519*x)-3.2452))*R*R+(.848013+x*(.215638*x-1.06021)))}var F=g.sub(v)._mult(z)._add(v)._unit()._mult(T?-1:1);this.addHalfVertex(c,F.x,F.y,!1,T,0,h)}d&&this.addCurrentVertex(c,g,-P,-O,h)}else if(\"butt\"===E)this.addCurrentVertex(c,y,0,0,h);else if(\"square\"===E){var B=p?1:-1;this.addCurrentVertex(c,y,B,B,h)}else\"round\"===E&&(p&&(this.addCurrentVertex(c,v,0,0,h),this.addCurrentVertex(c,v,1,1,h,!0)),d&&(this.addCurrentVertex(c,g,-1,-1,h,!0),this.addCurrentVertex(c,g,0,0,h)));if(k&&m<l-1){var N=c.dist(d);if(N>2*f){var j=c.add(d.sub(c)._mult(f/N)._round());this.updateDistance(c,j),this.addCurrentVertex(j,g,0,0,h),c=j}}}}},cl.prototype.addCurrentVertex=function(e,t,r,n,i,a){void 0===a&&(a=!1);var o=t.x+t.y*r,s=t.y-t.x*r,l=-t.x+t.y*n,u=-t.y-t.x*n;this.addHalfVertex(e,o,s,a,!1,r,i),this.addHalfVertex(e,l,u,a,!0,-n,i),this.distance>ul/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(e,t,r,n,i,a))},cl.prototype.addHalfVertex=function(e,t,r,n,i,a,o){var s=e.x,l=e.y,u=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*t)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&u)<<2,u>>6);var c=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),o.primitiveLength++),i?this.e2=c:this.e1=c},cl.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(ul-1):this.distance},cl.prototype.updateDistance=function(e,t){this.distance+=e.dist(t),this.updateScaledDistance()},ni(\"LineBucket\",cl,{omit:[\"layers\",\"patternFeatures\"]});var fl=new Gi({\"line-cap\":new ji(De.layout_line[\"line-cap\"]),\"line-join\":new Ui(De.layout_line[\"line-join\"]),\"line-miter-limit\":new ji(De.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new ji(De.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Ui(De.layout_line[\"line-sort-key\"])}),hl={paint:new Gi({\"line-opacity\":new Ui(De.paint_line[\"line-opacity\"]),\"line-color\":new Ui(De.paint_line[\"line-color\"]),\"line-translate\":new ji(De.paint_line[\"line-translate\"]),\"line-translate-anchor\":new ji(De.paint_line[\"line-translate-anchor\"]),\"line-width\":new Ui(De.paint_line[\"line-width\"]),\"line-gap-width\":new Ui(De.paint_line[\"line-gap-width\"]),\"line-offset\":new Ui(De.paint_line[\"line-offset\"]),\"line-blur\":new Ui(De.paint_line[\"line-blur\"]),\"line-dasharray\":new Hi(De.paint_line[\"line-dasharray\"]),\"line-pattern\":new Vi(De.paint_line[\"line-pattern\"]),\"line-gradient\":new qi(De.paint_line[\"line-gradient\"])}),layout:fl},pl=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.possiblyEvaluate=function(t,r){return r=new Pi(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),e.prototype.possiblyEvaluate.call(this,t,r)},t.prototype.evaluate=function(t,r,n,i){return r=f({},r,{zoom:Math.floor(r.zoom)}),e.prototype.evaluate.call(this,t,r,n,i)},t}(Ui),dl=new pl(hl.paint.properties[\"line-width\"].specification);dl.useIntegerZoom=!0;var vl=function(e){function t(t){e.call(this,t,hl)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._handleSpecialPaintPropertyUpdate=function(e){\"line-gradient\"===e&&this._updateGradient()},t.prototype._updateGradient=function(){var e=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.gradient=Ko(e,\"lineProgress\"),this.gradientTexture=null},t.prototype.recalculate=function(t,r){e.prototype.recalculate.call(this,t,r),this.paint._values[\"line-floorwidth\"]=dl.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,t)},t.prototype.createBucket=function(e){return new cl(e)},t.prototype.queryRadius=function(e){var t=e,r=gl(Eo(\"line-width\",this,t),Eo(\"line-gap-width\",this,t)),n=Eo(\"line-offset\",this,t);return r/2+Math.abs(n)+Co(this.paint.get(\"line-translate\"))},t.prototype.queryIntersectsFeature=function(e,t,r,n,i,o,s){var l=Lo(e,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),o.angle,s),u=s/2*gl(this.paint.get(\"line-width\").evaluate(t,r),this.paint.get(\"line-gap-width\").evaluate(t,r)),c=this.paint.get(\"line-offset\").evaluate(t,r);return c&&(n=function(e,t){for(var r=[],n=new a(0,0),i=0;i<e.length;i++){for(var o=e[i],s=[],l=0;l<o.length;l++){var u=o[l-1],c=o[l],f=o[l+1],h=0===l?n:c.sub(u)._unit()._perp(),p=l===o.length-1?n:f.sub(c)._unit()._perp(),d=h._add(p)._unit(),v=d.x*p.x+d.y*p.y;d._mult(1/v),s.push(d._mult(t)._add(c))}r.push(s)}return r}(n,c*s)),function(e,t,r){for(var n=0;n<t.length;n++){var i=t[n];if(e.length>=3)for(var a=0;a<i.length;a++)if(Ao(e,i[a]))return!0;if(bo(e,i,r))return!0}return!1}(l,n,u)},t.prototype.isTileClipped=function(){return!0},t}(Wi);function gl(e,t){return t>0?t+2*e:e}var ml=Ji([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),yl=Ji([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),xl=(Ji([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),Ji([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}])),bl=(Ji([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]),Ji([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4)),_l=Ji([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function wl(e,t,r){return e.sections.forEach((function(e){e.text=function(e,t,r){var n=t.layout.get(\"text-transform\").evaluate(r,{});return\"uppercase\"===n?e=e.toLocaleUpperCase():\"lowercase\"===n&&(e=e.toLocaleLowerCase()),Li.applyArabicShaping&&(e=Li.applyArabicShaping(e)),e}(e.text,t,r)})),e}Ji([{name:\"triangle\",components:3,type:\"Uint16\"}]),Ji([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),Ji([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",components:2,name:\"textOffset\"},{type:\"Float32\",name:\"collisionCircleDiameter\"}]),Ji([{type:\"Float32\",name:\"offsetX\"}]),Ji([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);var kl={\"!\":\"︕\",\"#\":\"＃\",$:\"＄\",\"%\":\"％\",\"&\":\"＆\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"＊\",\"+\":\"＋\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"／\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"＝\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"＠\",\"[\":\"﹇\",\"\\\\\":\"＼\",\"]\":\"﹈\",\"^\":\"＾\",_:\"︳\",\"`\":\"｀\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"～\",\"¢\":\"￠\",\"£\":\"￡\",\"¥\":\"￥\",\"¦\":\"￤\",\"¬\":\"￢\",\"¯\":\"￣\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"￦\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"！\":\"︕\",\"（\":\"︵\",\"）\":\"︶\",\"，\":\"︐\",\"－\":\"︲\",\"．\":\"・\",\"：\":\"︓\",\"；\":\"︔\",\"＜\":\"︿\",\"＞\":\"﹀\",\"？\":\"︖\",\"［\":\"﹇\",\"］\":\"﹈\",\"＿\":\"︳\",\"｛\":\"︷\",\"｜\":\"―\",\"｝\":\"︸\",\"｟\":\"︵\",\"｠\":\"︶\",\"｡\":\"︒\",\"｢\":\"﹁\",\"｣\":\"﹂\"};var Tl=24,Ml=function(e,t,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,f=r?i-1:0,h=r?-1:1,p=e[t+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+e[t+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+e[t+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},Al=function(e,t,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,f=c>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(t*l-1)*Math.pow(2,i),o+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;e[r+p]=255&o,p+=d,o/=256,u-=8);e[r+p-d]|=128*v},Sl=El;function El(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}El.Varint=0,El.Fixed64=1,El.Bytes=2,El.Fixed32=5;var Cl=4294967296,Ll=1/Cl,Pl=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function Ol(e){return e.type===El.Bytes?e.readVarint()+e.pos:e.pos+1}function Il(e,t,r){return r?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}function Dl(e,t,r){var n=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=e;i--)r.buf[i+n]=r.buf[i]}function zl(e,t){for(var r=0;r<e.length;r++)t.writeVarint(e[r])}function Rl(e,t){for(var r=0;r<e.length;r++)t.writeSVarint(e[r])}function Fl(e,t){for(var r=0;r<e.length;r++)t.writeFloat(e[r])}function Bl(e,t){for(var r=0;r<e.length;r++)t.writeDouble(e[r])}function Nl(e,t){for(var r=0;r<e.length;r++)t.writeBoolean(e[r])}function jl(e,t){for(var r=0;r<e.length;r++)t.writeFixed32(e[r])}function Ul(e,t){for(var r=0;r<e.length;r++)t.writeSFixed32(e[r])}function Vl(e,t){for(var r=0;r<e.length;r++)t.writeFixed64(e[r])}function Hl(e,t){for(var r=0;r<e.length;r++)t.writeSFixed64(e[r])}function ql(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+16777216*e[t+3]}function Gl(e,t,r){e[r]=t,e[r+1]=t>>>8,e[r+2]=t>>>16,e[r+3]=t>>>24}function Yl(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}El.prototype={destroy:function(){this.buf=null},readFields:function(e,t,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,e(i,t,this),this.pos===a&&this.skip(n)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=ql(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=Yl(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=ql(this.buf,this.pos)+ql(this.buf,this.pos+4)*Cl;return this.pos+=8,e},readSFixed64:function(){var e=ql(this.buf,this.pos)+Yl(this.buf,this.pos+4)*Cl;return this.pos+=8,e},readFloat:function(){var e=Ml(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=Ml(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,r,n=this.buf;return t=127&(r=n[this.pos++]),r<128?t:(t|=(127&(r=n[this.pos++]))<<7,r<128?t:(t|=(127&(r=n[this.pos++]))<<14,r<128?t:(t|=(127&(r=n[this.pos++]))<<21,r<128?t:function(e,t,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Il(e,n,t);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Il(e,n,t);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Il(e,n,t);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Il(e,n,t);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Il(e,n,t);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Il(e,n,t);throw new Error(\"Expected varint not more than 10 bytes\")}(t|=(15&(r=n[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&Pl?function(e,t,r){return Pl.decode(e.subarray(t,r))}(this.buf,t,e):function(e,t,r){for(var n=\"\",i=t;i<r;){var a,o,s,l=e[i],u=null,c=l>239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=e[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&((u=(15&l)<<12|(63&a)<<6|63&o)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,t,e)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==El.Bytes)return e.push(this.readVarint(t));var r=Ol(this);for(e=e||[];this.pos<r;)e.push(this.readVarint(t));return e},readPackedSVarint:function(e){if(this.type!==El.Bytes)return e.push(this.readSVarint());var t=Ol(this);for(e=e||[];this.pos<t;)e.push(this.readSVarint());return e},readPackedBoolean:function(e){if(this.type!==El.Bytes)return e.push(this.readBoolean());var t=Ol(this);for(e=e||[];this.pos<t;)e.push(this.readBoolean());return e},readPackedFloat:function(e){if(this.type!==El.Bytes)return e.push(this.readFloat());var t=Ol(this);for(e=e||[];this.pos<t;)e.push(this.readFloat());return e},readPackedDouble:function(e){if(this.type!==El.Bytes)return e.push(this.readDouble());var t=Ol(this);for(e=e||[];this.pos<t;)e.push(this.readDouble());return e},readPackedFixed32:function(e){if(this.type!==El.Bytes)return e.push(this.readFixed32());var t=Ol(this);for(e=e||[];this.pos<t;)e.push(this.readFixed32());return e},readPackedSFixed32:function(e){if(this.type!==El.Bytes)return e.push(this.readSFixed32());var t=Ol(this);for(e=e||[];this.pos<t;)e.push(this.readSFixed32());return e},readPackedFixed64:function(e){if(this.type!==El.Bytes)return e.push(this.readFixed64());var t=Ol(this);for(e=e||[];this.pos<t;)e.push(this.readFixed64());return e},readPackedSFixed64:function(e){if(this.type!==El.Bytes)return e.push(this.readSFixed64());var t=Ol(this);for(e=e||[];this.pos<t;)e.push(this.readSFixed64());return e},skip:function(e){var t=7&e;if(t===El.Varint)for(;this.buf[this.pos++]>127;);else if(t===El.Bytes)this.pos=this.readVarint()+this.pos;else if(t===El.Fixed32)this.pos+=4;else{if(t!==El.Fixed64)throw new Error(\"Unimplemented type: \"+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t<this.pos+e;)t*=2;if(t!==this.length){var r=new Uint8Array(t);r.set(this.buf),this.buf=r,this.length=t}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(e){this.realloc(4),Gl(this.buf,e,this.pos),this.pos+=4},writeSFixed32:function(e){this.realloc(4),Gl(this.buf,e,this.pos),this.pos+=4},writeFixed64:function(e){this.realloc(8),Gl(this.buf,-1&e,this.pos),Gl(this.buf,Math.floor(e*Ll),this.pos+4),this.pos+=8},writeSFixed64:function(e){this.realloc(8),Gl(this.buf,-1&e,this.pos),Gl(this.buf,Math.floor(e*Ll),this.pos+4),this.pos+=8},writeVarint:function(e){(e=+e||0)>268435455||e<0?function(e,t){var r,n;if(e>=0?(r=e%4294967296|0,n=e/4294967296|0):(n=~(-e/4294967296),4294967295^(r=~(-e%4294967296))?r=r+1|0:(r=0,n=n+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");t.realloc(10),function(e,t,r){r.buf[r.pos++]=127&e|128,e>>>=7,r.buf[r.pos++]=127&e|128,e>>>=7,r.buf[r.pos++]=127&e|128,e>>>=7,r.buf[r.pos++]=127&e|128,e>>>=7,r.buf[r.pos]=127&e}(r,0,t),function(e,t){var r=(7&e)<<4;t.buf[t.pos++]|=r|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(n,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(Boolean(e))},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,r){for(var n,i,a=0;a<t.length;a++){if((n=t.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===t.length?(e[r++]=239,e[r++]=191,e[r++]=189):i=n;continue}if(n<56320){e[r++]=239,e[r++]=191,e[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(e[r++]=239,e[r++]=191,e[r++]=189,i=null);n<128?e[r++]=n:(n<2048?e[r++]=n>>6|192:(n<65536?e[r++]=n>>12|224:(e[r++]=n>>18|240,e[r++]=n>>12&63|128),e[r++]=n>>6&63|128),e[r++]=63&n|128)}return r}(this.buf,e,this.pos);var r=this.pos-t;r>=128&&Dl(t,r,this),this.pos=t-1,this.writeVarint(r),this.pos+=r},writeFloat:function(e){this.realloc(4),Al(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),Al(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var r=0;r<t;r++)this.buf[this.pos++]=e[r]},writeRawMessage:function(e,t){this.pos++;var r=this.pos;e(t,this);var n=this.pos-r;n>=128&&Dl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(e,t,r){this.writeTag(e,El.Bytes),this.writeRawMessage(t,r)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,zl,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,Rl,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,Nl,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,Fl,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,Bl,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,jl,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,Ul,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,Vl,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,Hl,t)},writeBytesField:function(e,t){this.writeTag(e,El.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,El.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,El.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,El.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,El.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,El.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,El.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,El.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,El.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,El.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,Boolean(t))}};var Wl=3;function Zl(e,t,r){1===e&&r.readMessage(Xl,t)}function Xl(e,t,r){if(3===e){var n=r.readMessage(Kl,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,u=n.top,c=n.advance;t.push({id:i,bitmap:new Wo({width:o+2*Wl,height:s+2*Wl},a),metrics:{width:o,height:s,left:l,top:u,advance:c}})}}function Kl(e,t,r){1===e?t.id=r.readVarint():2===e?t.bitmap=r.readBytes():3===e?t.width=r.readVarint():4===e?t.height=r.readVarint():5===e?t.left=r.readSVarint():6===e?t.top=r.readSVarint():7===e&&(t.advance=r.readVarint())}var Jl=Wl;function $l(e){for(var t=0,r=0,n=0,i=e;n<i.length;n+=1){var a=i[n];t+=a.w*a.h,r=Math.max(r,a.w)}e.sort((function(e,t){return t.h-e.h}));for(var o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),r),h:1/0}],s=0,l=0,u=0,c=e;u<c.length;u+=1)for(var f=c[u],h=o.length-1;h>=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h<o.length&&(o[h]=d)}else f.h===p.h?(p.x+=f.w,p.w-=f.w):f.w===p.w?(p.y+=f.h,p.h-=f.h):(o.push({x:p.x+f.w,y:p.y,w:p.w-f.w,h:f.h}),p.y+=f.h,p.h-=f.h);break}}return{w:s,h:l,fill:t/(s*l)||0}}var Ql=1,eu=function(e,t){var r=t.pixelRatio,n=t.version,i=t.stretchX,a=t.stretchY,o=t.content;this.paddedRect=e,this.pixelRatio=r,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n},tu={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};tu.tl.get=function(){return[this.paddedRect.x+Ql,this.paddedRect.y+Ql]},tu.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-Ql,this.paddedRect.y+this.paddedRect.h-Ql]},tu.tlbr.get=function(){return this.tl.concat(this.br)},tu.displaySize.get=function(){return[(this.paddedRect.w-2*Ql)/this.pixelRatio,(this.paddedRect.h-2*Ql)/this.pixelRatio]},Object.defineProperties(eu.prototype,tu);var ru=function(e,t){var r={},n={};this.haveRenderCallbacks=[];var i=[];this.addImages(e,r,i),this.addImages(t,n,i);var a=$l(i),o=a.w,s=a.h,l=new Zo({width:o||1,height:s||1});for(var u in e){var c=e[u],f=r[u].paddedRect;Zo.copy(c.data,l,{x:0,y:0},{x:f.x+Ql,y:f.y+Ql},c.data)}for(var h in t){var p=t[h],d=n[h].paddedRect,v=d.x+Ql,g=d.y+Ql,m=p.data.width,y=p.data.height;Zo.copy(p.data,l,{x:0,y:0},{x:v,y:g},p.data),Zo.copy(p.data,l,{x:0,y:y-1},{x:v,y:g-1},{width:m,height:1}),Zo.copy(p.data,l,{x:0,y:0},{x:v,y:g+y},{width:m,height:1}),Zo.copy(p.data,l,{x:m-1,y:0},{x:v-1,y:g},{width:1,height:y}),Zo.copy(p.data,l,{x:0,y:0},{x:v+m,y:g},{width:1,height:y})}this.image=l,this.iconPositions=r,this.patternPositions=n};ru.prototype.addImages=function(e,t,r){for(var n in e){var i=e[n],a={x:0,y:0,w:i.data.width+2*Ql,h:i.data.height+2*Ql};r.push(a),t[n]=new eu(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n)}},ru.prototype.patchUpdatedImages=function(e,t){for(var r in e.dispatchRenderCallbacks(this.haveRenderCallbacks),e.updatedImages)this.patchUpdatedImage(this.iconPositions[r],e.getImage(r),t),this.patchUpdatedImage(this.patternPositions[r],e.getImage(r),t)},ru.prototype.patchUpdatedImage=function(e,t,r){if(e&&t&&e.version!==t.version){e.version=t.version;var n=e.tl,i=n[0],a=n[1];r.update(t.data,void 0,{x:i,y:a})}},ni(\"ImagePosition\",eu),ni(\"ImageAtlas\",ru);var nu={horizontal:1,vertical:2,horizontalOnly:3},iu=-17;var au=function(){this.scale=1,this.fontStack=\"\",this.imageName=null};au.forText=function(e,t){var r=new au;return r.scale=e||1,r.fontStack=t,r},au.forImage=function(e){var t=new au;return t.imageName=e,t};var ou=function(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};function su(e,t,r,n,i,a,o,s,l,u,c,f,h,p,d,v){var g,m=ou.fromFeature(e,i);f===nu.vertical&&m.verticalizePunctuation();var y=Li.processBidirectionalText,x=Li.processStyledBidirectionalText;if(y&&1===m.sections.length){g=[];for(var b=0,_=y(m.toString(),vu(m,u,a,t,n,p,d));b<_.length;b+=1){var w=_[b],k=new ou;k.text=w,k.sections=m.sections;for(var T=0;T<w.length;T++)k.sectionIndex.push(0);g.push(k)}}else if(x){g=[];for(var M=0,A=x(m.text,m.sectionIndex,vu(m,u,a,t,n,p,d));M<A.length;M+=1){var S=A[M],E=new ou;E.text=S[0],E.sectionIndex=S[1],E.sections=m.sections,g.push(E)}}else g=function(e,t){for(var r=[],n=e.text,i=0,a=0,o=t;a<o.length;a+=1){var s=o[a];r.push(e.substring(i,s)),i=s}return i<n.length&&r.push(e.substring(i,n.length)),r}(m,vu(m,u,a,t,n,p,d));var C=[],L={positionedLines:C,text:m.toString(),top:c[1],bottom:c[1],left:c[0],right:c[0],writingMode:f,iconsInText:!1,verticalizable:!1};return function(e,t,r,n,i,a,o,s,l,u,c,f){for(var h=0,p=iu,d=0,v=0,g=\"right\"===s?1:\"left\"===s?0:.5,m=0,y=0,x=i;y<x.length;y+=1){var b=x[y];b.trim();var _=b.getMaxScale(),w=(_-1)*Tl,k={positionedGlyphs:[],lineOffset:0};e.positionedLines[m]=k;var T=k.positionedGlyphs,M=0;if(b.length()){for(var A=0;A<b.length();A++){var S=b.getSection(A),E=b.getSectionIndex(A),C=b.getCharCode(A),L=0,P=null,O=null,I=null,D=Tl,z=!(l===nu.horizontal||!c&&!hi(C)||c&&(lu[C]||di(C)));if(S.imageName){var R=n[S.imageName];if(!R)continue;I=S.imageName,e.iconsInText=e.iconsInText||!0,O=R.paddedRect;var F=R.displaySize;S.scale=S.scale*Tl/f,P={width:F[0],height:F[1],left:Ql,top:-Jl,advance:z?F[1]:F[0]},L=w+(Tl-F[1]*S.scale),D=P.advance;var B=z?F[0]*S.scale-Tl*_:F[1]*S.scale-Tl*_;B>0&&B>M&&(M=B)}else{var N=r[S.fontStack],j=N&&N[C];if(j&&j.rect)O=j.rect,P=j.metrics;else{var U=t[S.fontStack],V=U&&U[C];if(!V)continue;P=V.metrics}L=(_-S.scale)*Tl}z?(e.verticalizable=!0,T.push({glyph:C,imageName:I,x:h,y:p+L,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=D*S.scale+u):(T.push({glyph:C,imageName:I,x:h,y:p+L,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=P.advance*S.scale+u)}if(0!==T.length){var H=h-u;d=Math.max(H,d),mu(T,0,T.length-1,g,M)}h=0;var q=a*_+M;k.lineOffset=Math.max(M,w),p+=q,v=Math.max(q,v),++m}else p+=a,++m}var G=p-iu,Y=gu(o),W=Y.horizontalAlign,Z=Y.verticalAlign;(function(e,t,r,n,i,a,o,s,l){var u=(t-r)*i,c=0;c=a!==o?-s*n-iu:(-n*l+.5)*o;for(var f=0,h=e;f<h.length;f+=1)for(var p=0,d=h[f].positionedGlyphs;p<d.length;p+=1){var v=d[p];v.x+=u,v.y+=c}})(e.positionedLines,g,W,Z,d,v,a,G,i.length),e.top+=-Z*G,e.bottom=e.top+G,e.left+=-W*d,e.right=e.left+d}(L,t,r,n,g,o,s,l,f,u,h,v),!function(e){for(var t=0,r=e;t<r.length;t+=1)if(0!==r[t].positionedGlyphs.length)return!1;return!0}(C)&&L}ou.fromFeature=function(e,t){for(var r=new ou,n=0;n<e.sections.length;n++){var i=e.sections[n];i.image?r.addImageSection(i):r.addTextSection(i,t)}return r},ou.prototype.length=function(){return this.text.length},ou.prototype.getSection=function(e){return this.sections[this.sectionIndex[e]]},ou.prototype.getSectionIndex=function(e){return this.sectionIndex[e]},ou.prototype.getCharCode=function(e){return this.text.charCodeAt(e)},ou.prototype.verticalizePunctuation=function(){this.text=function(e){for(var t=\"\",r=0;r<e.length;r++){var n=e.charCodeAt(r+1)||null,i=e.charCodeAt(r-1)||null;n&&pi(n)&&!kl[e[r+1]]||i&&pi(i)&&!kl[e[r-1]]||!kl[e[r]]?t+=e[r]:t+=kl[e[r]]}return t}(this.text)},ou.prototype.trim=function(){for(var e=0,t=0;t<this.text.length&&lu[this.text.charCodeAt(t)];t++)e++;for(var r=this.text.length,n=this.text.length-1;n>=0&&n>=e&&lu[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(e,r),this.sectionIndex=this.sectionIndex.slice(e,r)},ou.prototype.substring=function(e,t){var r=new ou;return r.text=this.text.substring(e,t),r.sectionIndex=this.sectionIndex.slice(e,t),r.sections=this.sections,r},ou.prototype.toString=function(){return this.text},ou.prototype.getMaxScale=function(){var e=this;return this.sectionIndex.reduce((function(t,r){return Math.max(t,e.sections[r].scale)}),0)},ou.prototype.addTextSection=function(e,t){this.text+=e.text,this.sections.push(au.forText(e.scale,e.fontStack||t));for(var r=this.sections.length-1,n=0;n<e.text.length;++n)this.sectionIndex.push(r)},ou.prototype.addImageSection=function(e){var t=e.image?e.image.name:\"\";if(0!==t.length){var r=this.getNextImageSectionCharCode();r?(this.text+=String.fromCharCode(r),this.sections.push(au.forImage(t)),this.sectionIndex.push(this.sections.length-1)):w(\"Reached maximum number of images 6401\")}else w(\"Can't add FormattedSection with an empty image.\")},ou.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var lu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},uu={};function cu(e,t,r,n,i,a){if(t.imageName){var o=n[t.imageName];return o?o.displaySize[0]*t.scale*Tl/a+i:0}var s=r[t.fontStack],l=s&&s[e];return l?l.metrics.advance*t.scale+i:0}function fu(e,t,r,n){var i=Math.pow(e-t,2);return n?e<t?i/2:2*i:i+Math.abs(r)*r}function hu(e,t,r){var n=0;return 10===e&&(n-=1e4),r&&(n+=150),40!==e&&65288!==e||(n+=50),41!==t&&65289!==t||(n+=50),n}function pu(e,t,r,n,i,a){for(var o=null,s=fu(t,r,i,a),l=0,u=n;l<u.length;l+=1){var c=u[l],f=fu(t-c.x,r,i,a)+c.badness;f<=s&&(o=c,s=f)}return{index:e,x:t,priorBreak:o,badness:s}}function du(e){return e?du(e.priorBreak).concat(e.index):[]}function vu(e,t,r,n,i,a,o){if(\"point\"!==a)return[];if(!e)return[];for(var s=[],l=function(e,t,r,n,i,a){for(var o=0,s=0;s<e.length();s++){var l=e.getSection(s);o+=cu(e.getCharCode(s),l,n,i,t,a)}return o/Math.max(1,Math.ceil(o/r))}(e,t,r,n,i,o),u=e.text.indexOf(\"​\")>=0,c=0,f=0;f<e.length();f++){var h=e.getSection(f),p=e.getCharCode(f);if(lu[p]||(c+=cu(p,h,n,i,t,o)),f<e.length()-1){var d=!((v=p)<11904||!(ci[\"Bopomofo Extended\"](v)||ci.Bopomofo(v)||ci[\"CJK Compatibility Forms\"](v)||ci[\"CJK Compatibility Ideographs\"](v)||ci[\"CJK Compatibility\"](v)||ci[\"CJK Radicals Supplement\"](v)||ci[\"CJK Strokes\"](v)||ci[\"CJK Symbols and Punctuation\"](v)||ci[\"CJK Unified Ideographs Extension A\"](v)||ci[\"CJK Unified Ideographs\"](v)||ci[\"Enclosed CJK Letters and Months\"](v)||ci[\"Halfwidth and Fullwidth Forms\"](v)||ci.Hiragana(v)||ci[\"Ideographic Description Characters\"](v)||ci[\"Kangxi Radicals\"](v)||ci[\"Katakana Phonetic Extensions\"](v)||ci.Katakana(v)||ci[\"Vertical Forms\"](v)||ci[\"Yi Radicals\"](v)||ci[\"Yi Syllables\"](v)));(uu[p]||d||h.imageName)&&s.push(pu(f+1,c,l,s,hu(p,e.getCharCode(f+1),d&&u),!1))}}var v;return du(pu(e.length(),c,l,s,0,!0))}function gu(e){var t=.5,r=.5;switch(e){case\"right\":case\"top-right\":case\"bottom-right\":t=1;break;case\"left\":case\"top-left\":case\"bottom-left\":t=0}switch(e){case\"bottom\":case\"bottom-right\":case\"bottom-left\":r=1;break;case\"top\":case\"top-right\":case\"top-left\":r=0}return{horizontalAlign:t,verticalAlign:r}}function mu(e,t,r,n,i){if(n||i)for(var a=e[r],o=a.metrics.advance*a.scale,s=(e[r].x+o)*n,l=t;l<=r;l++)e[l].x-=s,e[l].y+=i}function yu(e,t,r,n,i,a){var o,s=e.image;if(s.content){var l=s.content,u=s.pixelRatio||1;o=[l[0]/u,l[1]/u,s.displaySize[0]-l[2]/u,s.displaySize[1]-l[3]/u]}var c,f,h,p,d=t.left*a,v=t.right*a;\"width\"===r||\"both\"===r?(p=i[0]+d-n[3],f=i[0]+v+n[1]):f=(p=i[0]+(d+v-s.displaySize[0])/2)+s.displaySize[0];var g=t.top*a,m=t.bottom*a;return\"height\"===r||\"both\"===r?(c=i[1]+g-n[0],h=i[1]+m+n[2]):h=(c=i[1]+(g+m-s.displaySize[1])/2)+s.displaySize[1],{image:s,top:c,right:f,bottom:h,left:p,collisionPadding:o}}uu[10]=!0,uu[32]=!0,uu[38]=!0,uu[40]=!0,uu[41]=!0,uu[43]=!0,uu[45]=!0,uu[47]=!0,uu[173]=!0,uu[183]=!0,uu[8203]=!0,uu[8208]=!0,uu[8211]=!0,uu[8231]=!0;var xu=function(e){function t(t,r,n,i){e.call(this,t,r),this.angle=n,void 0!==i&&(this.segment=i)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.clone=function(){return new t(this.x,this.y,this.angle,this.segment)},t}(a);ni(\"Anchor\",xu);var bu=128;function _u(e,t){var r=t.expression;if(\"constant\"===r.kind)return{kind:\"constant\",layoutSize:r.evaluate(new Pi(e+1))};if(\"source\"===r.kind)return{kind:\"source\"};for(var n=r.zoomStops,i=r.interpolationType,a=0;a<n.length&&n[a]<=e;)a++;for(var o=a=Math.max(0,a-1);o<n.length&&n[o]<e+1;)o++;o=Math.min(n.length-1,o);var s=n[a],l=n[o];return\"composite\"===r.kind?{kind:\"composite\",minZoom:s,maxZoom:l,interpolationType:i}:{kind:\"camera\",minZoom:s,maxZoom:l,minSize:r.evaluate(new Pi(s)),maxSize:r.evaluate(new Pi(l)),interpolationType:i}}function wu(e,t,r){var n=t.uSize,i=t.uSizeT,a=r.lowerSize,o=r.upperSize;return\"source\"===e.kind?a/bu:\"composite\"===e.kind?$t(a/bu,o/bu,i):n}function ku(e,t){var r=0,n=0;if(\"constant\"===e.kind)n=e.layoutSize;else if(\"source\"!==e.kind){var i=e.interpolationType,a=e.minZoom,o=e.maxZoom,s=i?u(xr.interpolationFactor(i,t,a,o),0,1):0;\"camera\"===e.kind?n=$t(e.minSize,e.maxSize,s):r=s}return{uSizeT:r,uSize:n}}var Tu=Object.freeze({__proto__:null,getSizeData:_u,evaluateSizeForFeature:wu,evaluateSizeForZoom:ku,SIZE_PACK_FACTOR:bu});function Mu(e,t,r,n,i){if(void 0===t.segment)return!0;for(var a=t,o=t.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;for(var l=[],u=0;s<r/2;){var c=e[o-1],f=e[o],h=e[o+1];if(!h)return!1;var p=c.angleTo(f)-f.angleTo(h);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),u+=p;s-l[0].distance>n;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=f.dist(h)}return!0}function Au(e){for(var t=0,r=0;r<e.length-1;r++)t+=e[r].dist(e[r+1]);return t}function Su(e,t,r){return e?.6*t*r:0}function Eu(e,t){return Math.max(e?e.right-e.left:0,t?t.right-t.left:0)}function Cu(e,t,r,n,i,a){for(var o=Su(r,i,a),s=Eu(r,n)*a,l=0,u=Au(e)/2,c=0;c<e.length-1;c++){var f=e[c],h=e[c+1],p=f.dist(h);if(l+p>u){var d=(u-l)/p,v=$t(f.x,h.x,d),g=$t(f.y,h.y,d),m=new xu(v,g,h.angleTo(f),c);return m._round(),!o||Mu(e,m,s,o,t)?m:void 0}l+=p}}function Lu(e,t,r,n,i,a,o,s,l){var u=Su(n,a,o),c=Eu(n,i),f=c*o,h=0===e[0].x||e[0].x===l||0===e[0].y||e[0].y===l;return t-f<t/4&&(t=f+t/4),Pu(e,h?t/2*s%t:(c/2+2*a)*o*s%t,t,u,r,f,h,!1,l)}function Pu(e,t,r,n,i,a,o,s,l){for(var u=a/2,c=Au(e),f=0,h=t-r,p=[],d=0;d<e.length-1;d++){for(var v=e[d],g=e[d+1],m=v.dist(g),y=g.angleTo(v);h+r<f+m;){var x=((h+=r)-f)/m,b=$t(v.x,g.x,x),_=$t(v.y,g.y,x);if(b>=0&&b<l&&_>=0&&_<l&&h-u>=0&&h+u<=c){var w=new xu(b,_,y,d);w._round(),n&&!Mu(e,w,a,n,i)||p.push(w)}}f+=m}return s||p.length||o||(p=Pu(e,f/2,r,n,i,a,o,!0,l)),p}function Ou(e,t,r,n,i){for(var o=[],s=0;s<e.length;s++)for(var l=e[s],u=void 0,c=0;c<l.length-1;c++){var f=l[c],h=l[c+1];f.x<t&&h.x<t||(f.x<t?f=new a(t,f.y+(h.y-f.y)*((t-f.x)/(h.x-f.x)))._round():h.x<t&&(h=new a(t,f.y+(h.y-f.y)*((t-f.x)/(h.x-f.x)))._round()),f.y<r&&h.y<r||(f.y<r?f=new a(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round():h.y<r&&(h=new a(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round()),f.x>=n&&h.x>=n||(f.x>=n?f=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=i&&h.y>=i||(f.y>=i?f=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round():h.y>=i&&(h=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round()),u&&f.equals(u[u.length-1])||(u=[f],o.push(u)),u.push(h)))))}return o}var Iu=Ql;function Du(e,t,r,n){var i=[],o=e.image,s=o.pixelRatio,l=o.paddedRect.w-2*Iu,u=o.paddedRect.h-2*Iu,c=e.right-e.left,f=e.bottom-e.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,u]],d=function(e,t){return e+t[1]-t[0]},v=h.reduce(d,0),g=p.reduce(d,0),m=l-v,y=u-g,x=0,b=v,_=0,w=g,k=0,T=m,M=0,A=y;if(o.content&&n){var S=o.content;x=zu(h,0,S[0]),_=zu(p,0,S[1]),b=zu(h,S[0],S[2]),w=zu(p,S[1],S[3]),k=S[0]-x,M=S[1]-_,T=S[2]-S[0]-b,A=S[3]-S[1]-w}var E=function(n,i,l,u){var h=Fu(n.stretch-x,b,c,e.left),p=Bu(n.fixed-k,T,n.stretch,v),d=Fu(i.stretch-_,w,f,e.top),m=Bu(i.fixed-M,A,i.stretch,g),y=Fu(l.stretch-x,b,c,e.left),S=Bu(l.fixed-k,T,l.stretch,v),E=Fu(u.stretch-_,w,f,e.top),C=Bu(u.fixed-M,A,u.stretch,g),L=new a(h,d),P=new a(y,d),O=new a(y,E),I=new a(h,E),D=new a(p/s,m/s),z=new a(S/s,C/s),R=t*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];L._matMult(N),P._matMult(N),I._matMult(N),O._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,H=u.stretch+u.fixed;return{tl:L,tr:P,bl:I,br:O,tex:{x:o.paddedRect.x+Iu+j,y:o.paddedRect.y+Iu+V,w:U-j,h:H-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:z,minFontScaleX:T/s/c,minFontScaleY:A/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var C=Ru(h,m,v),L=Ru(p,y,g),P=0;P<C.length-1;P++)for(var O=C[P],I=C[P+1],D=0;D<L.length-1;D++){var z=L[D],R=L[D+1];i.push(E(O,z,I,R))}else i.push(E({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:l+1},{fixed:0,stretch:u+1}));return i}function zu(e,t,r){for(var n=0,i=0,a=e;i<a.length;i+=1){var o=a[i];n+=Math.max(t,Math.min(r,o[1]))-Math.max(t,Math.min(r,o[0]))}return n}function Ru(e,t,r){for(var n=[{fixed:-Iu,stretch:0}],i=0,a=e;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1],u=n[n.length-1];n.push({fixed:s-u.stretch,stretch:u.stretch}),n.push({fixed:s-u.stretch,stretch:u.stretch+(l-s)})}return n.push({fixed:t+Iu,stretch:r}),n}function Fu(e,t,r,n){return e/t*r+n}function Bu(e,t,r,n){return e-t*r/n}var Nu=function(e,t,r,n,i,o,s,l,u,c){if(this.boxStartIndex=e.length,u){var f=o.top,h=o.bottom,p=o.collisionPadding;p&&(f-=p[1],h+=p[3]);var d=h-f;d>0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var v=o.top*s-l,g=o.bottom*s+l,m=o.left*s-l,y=o.right*s+l,x=o.collisionPadding;if(x&&(m-=x[0]*s,v-=x[1]*s,y+=x[2]*s,g+=x[3]*s),c){var b=new a(m,v),_=new a(y,v),w=new a(m,g),k=new a(y,g),T=c*Math.PI/180;b._rotate(T),_._rotate(T),w._rotate(T),k._rotate(T),m=Math.min(b.x,_.x,w.x,k.x),y=Math.max(b.x,_.x,w.x,k.x),v=Math.min(b.y,_.y,w.y,k.y),g=Math.max(b.y,_.y,w.y,k.y)}e.emplaceBack(t.x,t.y,m,v,y,g,r,n,i)}this.boxEndIndex=e.length},ju=function(e,t){if(void 0===e&&(e=[]),void 0===t&&(t=Uu),this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Uu(e,t){return e<t?-1:e>t?1:0}function Vu(e,t,r){void 0===t&&(t=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=e[0],u=0;u<l.length;u++){var c=l[u];(!u||c.x<n)&&(n=c.x),(!u||c.y<i)&&(i=c.y),(!u||c.x>o)&&(o=c.x),(!u||c.y>s)&&(s=c.y)}var f=o-n,h=s-i,p=Math.min(f,h),d=p/2,v=new ju([],Hu);if(0===p)return new a(n,i);for(var g=n;g<o;g+=p)for(var m=i;m<s;m+=p)v.push(new qu(g+d,m+d,d,e));for(var y=function(e){for(var t=0,r=0,n=0,i=e[0],a=0,o=i.length,s=o-1;a<o;s=a++){var l=i[a],u=i[s],c=l.x*u.y-u.x*l.y;r+=(l.x+u.x)*c,n+=(l.y+u.y)*c,t+=3*c}return new qu(r/t,n/t,0,e)}(e),x=v.length;v.length;){var b=v.pop();(b.d>y.d||!y.d)&&(y=b,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*b.d)/1e4,x)),b.max-y.d<=t||(d=b.h/2,v.push(new qu(b.p.x-d,b.p.y-d,d,e)),v.push(new qu(b.p.x+d,b.p.y-d,d,e)),v.push(new qu(b.p.x-d,b.p.y+d,d,e)),v.push(new qu(b.p.x+d,b.p.y+d,d,e)),x+=4)}return r&&(console.log(\"num probes: \"+x),console.log(\"best distance: \"+y.d)),y.p}function Hu(e,t){return t.max-e.max}function qu(e,t,r,n){this.p=new a(e,t),this.h=r,this.d=function(e,t){for(var r=!1,n=1/0,i=0;i<t.length;i++)for(var a=t[i],o=0,s=a.length,l=s-1;o<s;l=o++){var u=a[o],c=a[l];u.y>e.y!=c.y>e.y&&e.x<(c.x-u.x)*(e.y-u.y)/(c.y-u.y)+u.x&&(r=!r),n=Math.min(n,To(e,u,c))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}ju.prototype.push=function(e){this.data.push(e),this.length++,this._up(this.length-1)},ju.prototype.pop=function(){if(0!==this.length){var e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}},ju.prototype.peek=function(){return this.data[0]},ju.prototype._up=function(e){for(var t=this.data,r=this.compare,n=t[e];e>0;){var i=e-1>>1,a=t[i];if(r(n,a)>=0)break;t[e]=a,e=i}t[e]=n},ju.prototype._down=function(e){for(var t=this.data,r=this.compare,n=this.length>>1,i=t[e];e<n;){var a=1+(e<<1),o=t[a],s=a+1;if(s<this.length&&r(t[s],o)<0&&(a=s,o=t[s]),r(o,i)>=0)break;t[e]=o,e=a}t[e]=i};var Gu=7,Yu=Number.POSITIVE_INFINITY;function Wu(e,t){return t[1]!==Yu?function(e,t,r){var n=0,i=0;switch(t=Math.abs(t),r=Math.abs(r),e){case\"top-right\":case\"top-left\":case\"top\":i=r-Gu;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=-r+Gu}switch(e){case\"top-right\":case\"bottom-right\":case\"right\":n=-t;break;case\"top-left\":case\"bottom-left\":case\"left\":n=t}return[n,i]}(e,t[0],t[1]):function(e,t){var r=0,n=0;t<0&&(t=0);var i=t/Math.sqrt(2);switch(e){case\"top-right\":case\"top-left\":n=i-Gu;break;case\"bottom-right\":case\"bottom-left\":n=-i+Gu;break;case\"bottom\":n=-t+Gu;break;case\"top\":n=t-Gu}switch(e){case\"top-right\":case\"bottom-right\":r=-i;break;case\"top-left\":case\"bottom-left\":r=i;break;case\"left\":r=t;break;case\"right\":r=-t}return[r,n]}(e,t[0])}function Zu(e){switch(e){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}var Xu=255,Ku=Xu*bu;function Ju(e,t,r,n,i,o,s,l,u,c,f,h,p,d,v){var g=function(e,t,r,n,i,o,s,l){for(var u=n.layout.get(\"text-rotate\").evaluate(o,{})*Math.PI/180,c=[],f=0,h=t.positionedLines;f<h.length;f+=1)for(var p=h[f],d=0,v=p.positionedGlyphs;d<v.length;d+=1){var g=v[d];if(g.rect){var m=g.rect||{},y=Jl+1,x=!0,b=1,_=0,w=(i||l)&&g.vertical,k=g.metrics.advance*g.scale/2;if(l&&t.verticalizable){var T=(g.scale-1)*Tl,M=(Tl-g.metrics.width*g.scale)/2;_=p.lineOffset/2-(g.imageName?-M:T)}if(g.imageName){var A=s[g.imageName];x=A.sdf,b=A.pixelRatio,y=Ql/b}var S=i?[g.x+k,g.y]:[0,0],E=i?[0,0]:[g.x+k+r[0],g.y+r[1]-_],C=[0,0];w&&(C=E,E=[0,0]);var L=(g.metrics.left-y)*g.scale-k+E[0],P=(-g.metrics.top-y)*g.scale+E[1],O=L+m.w*g.scale/b,I=P+m.h*g.scale/b,D=new a(L,P),z=new a(O,P),R=new a(L,I),F=new a(O,I);if(w){var B=new a(-k,k-iu),N=-Math.PI/2,j=Tl/2-k,U=g.imageName?j:0,V=new a(5-iu-j,-U),H=new(Function.prototype.bind.apply(a,[null].concat(C)));D._rotateAround(N,B)._add(V)._add(H),z._rotateAround(N,B)._add(V)._add(H),R._rotateAround(N,B)._add(V)._add(H),F._rotateAround(N,B)._add(V)._add(H)}if(u){var q=Math.sin(u),G=Math.cos(u),Y=[G,-q,q,G];D._matMult(Y),z._matMult(Y),R._matMult(Y),F._matMult(Y)}var W=new a(0,0),Z=new a(0,0);c.push({tl:D,tr:z,bl:R,br:F,tex:m,writingMode:t.writingMode,glyphOffset:S,sectionIndex:g.sectionIndex,isSDF:x,pixelOffsetTL:W,pixelOffsetBR:Z,minFontScaleX:0,minFontScaleY:0})}}return c}(0,r,l,i,o,s,n,e.allowVerticalPlacement),m=e.textSizeData,y=null;\"source\"===m.kind?(y=[bu*i.layout.get(\"text-size\").evaluate(s,{})])[0]>Ku&&w(e.layerIds[0]+': Value for \"text-size\" is >= '+Xu+'. Reduce your \"text-size\".'):\"composite\"===m.kind&&((y=[bu*d.compositeTextSizes[0].evaluate(s,{},v),bu*d.compositeTextSizes[1].evaluate(s,{},v)])[0]>Ku||y[1]>Ku)&&w(e.layerIds[0]+': Value for \"text-size\" is >= '+Xu+'. Reduce your \"text-size\".'),e.addSymbols(e.text,g,y,l,o,s,c,t,u.lineStartIndex,u.lineLength,p,v);for(var x=0,b=f;x<b.length;x+=1)h[b[x]]=e.text.placedSymbolArray.length-1;return 4*g.length}function $u(e){for(var t in e)return e[t];return null}function Qu(e,t,r,n){var i=e.compareText;if(t in i){for(var a=i[t],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return!0}else i[t]=[];return i[t].push(n),!1}var ec=Ks.VectorTileFeature.types,tc=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function rc(e,t,r,n,i,a,o,s,l,u,c,f,h){var p=s?Math.min(Ku,Math.round(s[0])):0,d=s?Math.min(Ku,Math.round(s[1])):0;e.emplaceBack(t,r,Math.round(32*n),Math.round(32*i),a,o,(p<<1)+(l?1:0),d,16*u,16*c,256*f,256*h)}function nc(e,t,r){e.emplaceBack(t.x,t.y,r),e.emplaceBack(t.x,t.y,r),e.emplaceBack(t.x,t.y,r),e.emplaceBack(t.x,t.y,r)}function ic(e){for(var t=0,r=e.sections;t<r.length;t+=1)if(mi(r[t].text))return!0;return!1}var ac=function(e){this.layoutVertexArray=new ia,this.indexArray=new fa,this.programConfigurations=e,this.segments=new Oa,this.dynamicLayoutVertexArray=new aa,this.opacityVertexArray=new oa,this.placedSymbolArray=new Ta};ac.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length},ac.prototype.upload=function(e,t,r,n){this.isEmpty()||(r&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,ml.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,yl.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,tc,!0),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(e))},ac.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},ni(\"SymbolBuffers\",ac);var oc=function(e,t,r){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new r,this.segments=new Oa,this.collisionVertexArray=new ca};oc.prototype.upload=function(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,xl.members,!0)},oc.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},ni(\"CollisionBuffers\",oc);var sc=function(e){this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((function(e){return e.id})),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Do([]),this.placementViewportMatrix=Do([]);var t=this.layers[0]._unevaluatedLayout._values;this.textSizeData=_u(this.zoom,t[\"text-size\"]),this.iconSizeData=_u(this.zoom,t[\"icon-size\"]);var r=this.layers[0].layout,n=r.get(\"symbol-sort-key\"),i=r.get(\"symbol-z-order\");this.sortFeaturesByKey=\"viewport-y\"!==i&&void 0!==n.constantOr(1);var a=\"viewport-y\"===i||\"auto\"===i&&!this.sortFeaturesByKey;this.sortFeaturesByY=a&&(r.get(\"text-allow-overlap\")||r.get(\"icon-allow-overlap\")||r.get(\"text-ignore-placement\")||r.get(\"icon-ignore-placement\")),\"point\"===r.get(\"symbol-placement\")&&(this.writingModes=r.get(\"text-writing-mode\").map((function(e){return nu[e]}))),this.stateDependentLayerIds=this.layers.filter((function(e){return e.isStateDependent()})).map((function(e){return e.id})),this.sourceID=e.sourceID};sc.prototype.createArrays=function(){this.text=new ac(new so(ml.members,this.layers,this.zoom,(function(e){return/^text/.test(e)}))),this.icon=new ac(new so(ml.members,this.layers,this.zoom,(function(e){return/^icon/.test(e)}))),this.glyphOffsetArray=new Sa,this.lineVertexArray=new Ea,this.symbolInstances=new Aa},sc.prototype.calculateGlyphDependencies=function(e,t,r,n,i){for(var a=0;a<e.length;a++)if(t[e.charCodeAt(a)]=!0,(r||n)&&i){var o=kl[e.charAt(a)];o&&(t[o.charCodeAt(0)]=!0)}},sc.prototype.populate=function(e,t,r){var n=this.layers[0],i=n.layout,a=i.get(\"text-font\"),o=i.get(\"text-field\"),s=i.get(\"icon-image\"),l=(\"constant\"!==o.value.kind||o.value.value instanceof ut&&!o.value.value.isEmpty()||o.value.value.toString().length>0)&&(\"constant\"!==a.value.kind||a.value.value.length>0),u=\"constant\"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,c=i.get(\"symbol-sort-key\");if(this.features=[],l||u){for(var f=t.iconDependencies,h=t.glyphDependencies,p=t.availableImages,d=new Pi(this.zoom),v=0,g=e;v<g.length;v+=1){var m=g[v],y=m.feature,x=m.id,b=m.index,_=m.sourceLayerIndex,w=n._featureFilter.needGeometry,k={type:y.type,id:x,properties:y.properties,geometry:w?po(y):[]};if(n._featureFilter.filter(d,k,r)){w||(k.geometry=po(y));var T=void 0;if(l){var M=n.getValueAndResolveTokens(\"text-field\",k,r,p),A=ut.factory(M);ic(A)&&(this.hasRTLText=!0),(!this.hasRTLText||\"unavailable\"===Ei()||this.hasRTLText&&Li.isParsed())&&(T=wl(A,n,k))}var S=void 0;if(u){var E=n.getValueAndResolveTokens(\"icon-image\",k,r,p);S=E instanceof ct?E:ct.fromString(E)}if(T||S){var C=this.sortFeaturesByKey?c.evaluate(k,{},r):void 0,L={id:x,text:T,icon:S,index:b,sourceLayerIndex:_,geometry:po(y),properties:y.properties,type:ec[y.type],sortKey:C};if(this.features.push(L),S&&(f[S.name]=!0),T){var P=a.evaluate(k,{},r).join(\",\"),O=\"map\"===i.get(\"text-rotation-alignment\")&&\"point\"!==i.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(nu.vertical)>=0;for(var I=0,D=T.sections;I<D.length;I+=1){var z=D[I];if(z.image)f[z.image.name]=!0;else{var R=fi(T.toString()),F=z.fontStack||P,B=h[F]=h[F]||{};this.calculateGlyphDependencies(z.text,B,O,this.allowVerticalPlacement,R)}}}}}}\"line\"===i.get(\"symbol-placement\")&&(this.features=function(e){var t={},r={},n=[],i=0;function a(t){n.push(e[t]),i++}function o(e,t,i){var a=r[e];return delete r[e],r[t]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(e,r,i){var a=t[r];return delete t[r],t[e]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(e,t,r){var n=r?t[0][t[0].length-1]:t[0][0];return e+\":\"+n.x+\":\"+n.y}for(var u=0;u<e.length;u++){var c=e[u],f=c.geometry,h=c.text?c.text.toString():null;if(h){var p=l(h,f),d=l(h,f,!0);if(p in r&&d in t&&r[p]!==t[d]){var v=s(p,d,f),g=o(p,d,n[v].geometry);delete t[p],delete r[d],r[l(h,n[g].geometry,!0)]=g,n[v].geometry=null}else p in r?o(p,d,f):d in t?s(p,d,f):(a(u),t[p]=i-1,r[d]=i-1)}else a(u)}return n.filter((function(e){return e.geometry}))}(this.features)),this.sortFeaturesByKey&&this.features.sort((function(e,t){return e.sortKey-t.sortKey}))}},sc.prototype.update=function(e,t,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,r),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,r))},sc.prototype.isEmpty=function(){return 0===this.symbolInstances.length&&!this.hasRTLText},sc.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},sc.prototype.upload=function(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0},sc.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()},sc.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()},sc.prototype.addToLineVertexArray=function(e,t){var r=this.lineVertexArray.length;if(void 0!==e.segment){for(var n=e.dist(t[e.segment+1]),i=e.dist(t[e.segment]),a={},o=e.segment+1;o<t.length;o++)a[o]={x:t[o].x,y:t[o].y,tileUnitDistanceFromAnchor:n},o<t.length-1&&(n+=t[o+1].dist(t[o]));for(var s=e.segment||0;s>=0;s--)a[s]={x:t[s].x,y:t[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=t[s-1].dist(t[s]));for(var l=0;l<t.length;l++){var u=a[l];this.lineVertexArray.emplaceBack(u.x,u.y,u.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},sc.prototype.addSymbols=function(e,t,r,n,i,a,o,s,l,u,c,f){for(var h=e.indexArray,p=e.layoutVertexArray,d=e.segments.prepareSegment(4*t.length,p,h,a.sortKey),v=this.glyphOffsetArray.length,g=d.vertexLength,m=this.allowVerticalPlacement&&o===nu.vertical?Math.PI/2:0,y=a.text&&a.text.sections,x=0;x<t.length;x++){var b=t[x],_=b.tl,w=b.tr,k=b.bl,T=b.br,M=b.tex,A=b.pixelOffsetTL,S=b.pixelOffsetBR,E=b.minFontScaleX,C=b.minFontScaleY,L=b.glyphOffset,P=b.isSDF,O=b.sectionIndex,I=d.vertexLength,D=L[1];rc(p,s.x,s.y,_.x,D+_.y,M.x,M.y,r,P,A.x,A.y,E,C),rc(p,s.x,s.y,w.x,D+w.y,M.x+M.w,M.y,r,P,S.x,A.y,E,C),rc(p,s.x,s.y,k.x,D+k.y,M.x,M.y+M.h,r,P,A.x,S.y,E,C),rc(p,s.x,s.y,T.x,D+T.y,M.x+M.w,M.y+M.h,r,P,S.x,S.y,E,C),nc(e.dynamicLayoutVertexArray,s,m),h.emplaceBack(I,I+1,I+2),h.emplaceBack(I+1,I+2,I+3),d.vertexLength+=4,d.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(L[0]),x!==t.length-1&&O===t[x+1].sectionIndex||e.programConfigurations.populatePaintArrays(p.length,a,a.index,{},f,y&&y[O])}e.placedSymbolArray.emplaceBack(s.x,s.y,v,this.glyphOffsetArray.length-v,g,l,u,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,0,!1,0,c)},sc.prototype._addCollisionDebugVertex=function(e,t,r,n,i,a){return t.emplaceBack(0,0),e.emplaceBack(r.x,r.y,n,i,Math.round(a.x),Math.round(a.y))},sc.prototype.addCollisionDebugVertices=function(e,t,r,n,i,o,s){var l=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),u=l.vertexLength,c=i.layoutVertexArray,f=i.collisionVertexArray,h=s.anchorX,p=s.anchorY;this._addCollisionDebugVertex(c,f,o,h,p,new a(e,t)),this._addCollisionDebugVertex(c,f,o,h,p,new a(r,t)),this._addCollisionDebugVertex(c,f,o,h,p,new a(r,n)),this._addCollisionDebugVertex(c,f,o,h,p,new a(e,n)),l.vertexLength+=4;var d=i.indexArray;d.emplaceBack(u,u+1),d.emplaceBack(u+1,u+2),d.emplaceBack(u+2,u+3),d.emplaceBack(u+3,u),l.primitiveLength+=4},sc.prototype.addDebugCollisionBoxes=function(e,t,r,n){for(var i=e;i<t;i++){var a=this.collisionBoxArray.get(i),o=a.x1,s=a.y1,l=a.x2,u=a.y2;this.addCollisionDebugVertices(o,s,l,u,n?this.textCollisionBox:this.iconCollisionBox,a.anchorPoint,r)}},sc.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new oc(la,bl.members,ma),this.iconCollisionBox=new oc(la,bl.members,ma);for(var e=0;e<this.symbolInstances.length;e++){var t=this.symbolInstances.get(e);this.addDebugCollisionBoxes(t.textBoxStartIndex,t.textBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.verticalTextBoxStartIndex,t.verticalTextBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.iconBoxStartIndex,t.iconBoxEndIndex,t,!1),this.addDebugCollisionBoxes(t.verticalIconBoxStartIndex,t.verticalIconBoxEndIndex,t,!1)}},sc.prototype._deserializeCollisionBoxesForSymbol=function(e,t,r,n,i,a,o,s,l){for(var u={},c=t;c<r;c++){var f=e.get(c);u.textBox={x1:f.x1,y1:f.y1,x2:f.x2,y2:f.y2,anchorPointX:f.anchorPointX,anchorPointY:f.anchorPointY},u.textFeatureIndex=f.featureIndex;break}for(var h=n;h<i;h++){var p=e.get(h);u.verticalTextBox={x1:p.x1,y1:p.y1,x2:p.x2,y2:p.y2,anchorPointX:p.anchorPointX,anchorPointY:p.anchorPointY},u.verticalTextFeatureIndex=p.featureIndex;break}for(var d=a;d<o;d++){var v=e.get(d);u.iconBox={x1:v.x1,y1:v.y1,x2:v.x2,y2:v.y2,anchorPointX:v.anchorPointX,anchorPointY:v.anchorPointY},u.iconFeatureIndex=v.featureIndex;break}for(var g=s;g<l;g++){var m=e.get(g);u.verticalIconBox={x1:m.x1,y1:m.y1,x2:m.x2,y2:m.y2,anchorPointX:m.anchorPointX,anchorPointY:m.anchorPointY},u.verticalIconFeatureIndex=m.featureIndex;break}return u},sc.prototype.deserializeCollisionBoxes=function(e){this.collisionArrays=[];for(var t=0;t<this.symbolInstances.length;t++){var r=this.symbolInstances.get(t);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(e,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex,r.verticalIconBoxStartIndex,r.verticalIconBoxEndIndex))}},sc.prototype.hasTextData=function(){return this.text.segments.get().length>0},sc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},sc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},sc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},sc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},sc.prototype.addIndicesForPlacedSymbol=function(e,t){for(var r=e.placedSymbolArray.get(t),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i<n;i+=4)e.indexArray.emplaceBack(i,i+1,i+2),e.indexArray.emplaceBack(i+1,i+2,i+3)},sc.prototype.getSortedSymbolIndexes=function(e){if(this.sortedAngle===e&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var t=Math.sin(e),r=Math.cos(e),n=[],i=[],a=[],o=0;o<this.symbolInstances.length;++o){a.push(o);var s=this.symbolInstances.get(o);n.push(0|Math.round(t*s.anchorX+r*s.anchorY)),i.push(s.featureIndex)}return a.sort((function(e,t){return n[e]-n[t]||i[t]-i[e]})),a},sc.prototype.addToSortKeyRanges=function(e,t){var r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===t?r.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})},sc.prototype.sortFeatures=function(e){var t=this;if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r<n.length;r+=1){var i=n[r],a=this.symbolInstances.get(i);this.featureSortOrder.push(a.featureIndex),[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(e,r,n){e>=0&&n.indexOf(e)===r&&t.addIndicesForPlacedSymbol(t.text,e)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},ni(\"SymbolBucket\",sc,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),sc.MAX_GLYPHS=65535,sc.addDynamicAttributes=nc;var lc=new Gi({\"symbol-placement\":new ji(De.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new ji(De.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new ji(De.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Ui(De.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new ji(De.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new ji(De.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new ji(De.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new ji(De.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new ji(De.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Ui(De.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new ji(De.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new ji(De.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Ui(De.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Ui(De.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new ji(De.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new ji(De.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Ui(De.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Ui(De.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new ji(De.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new ji(De.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new ji(De.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Ui(De.layout_symbol[\"text-field\"]),\"text-font\":new Ui(De.layout_symbol[\"text-font\"]),\"text-size\":new Ui(De.layout_symbol[\"text-size\"]),\"text-max-width\":new Ui(De.layout_symbol[\"text-max-width\"]),\"text-line-height\":new ji(De.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Ui(De.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Ui(De.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Ui(De.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new ji(De.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Ui(De.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new ji(De.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new ji(De.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Ui(De.layout_symbol[\"text-rotate\"]),\"text-padding\":new ji(De.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new ji(De.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Ui(De.layout_symbol[\"text-transform\"]),\"text-offset\":new Ui(De.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new ji(De.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new ji(De.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new ji(De.layout_symbol[\"text-optional\"])}),uc={paint:new Gi({\"icon-opacity\":new Ui(De.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Ui(De.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Ui(De.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Ui(De.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Ui(De.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new ji(De.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new ji(De.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Ui(De.paint_symbol[\"text-opacity\"]),\"text-color\":new Ui(De.paint_symbol[\"text-color\"],{runtimeType:Ye,getOverride:function(e){return e.textColor},hasOverride:function(e){return!!e.textColor}}),\"text-halo-color\":new Ui(De.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Ui(De.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Ui(De.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new ji(De.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new ji(De.paint_symbol[\"text-translate-anchor\"])}),layout:lc},cc=function(e){this.type=e.property.overrides?e.property.overrides.runtimeType:Ve,this.defaultValue=e};cc.prototype.evaluate=function(e){if(e.formattedSection){var t=this.defaultValue.property.overrides;if(t&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default},cc.prototype.eachChild=function(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)},cc.prototype.outputDefined=function(){return!1},cc.prototype.serialize=function(){return null},ni(\"FormatSectionOverride\",cc,{omit:[\"defaultValue\"]});var fc=function(e){function t(t){e.call(this,t,uc)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.recalculate=function(t,r){if(e.prototype.recalculate.call(this,t,r),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(\"point\"!==this.layout.get(\"symbol-placement\")?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(\"point\"!==this.layout.get(\"symbol-placement\")?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){var n=this.layout.get(\"text-writing-mode\");if(n){for(var i=[],a=0,o=n;a<o.length;a+=1){var s=o[a];i.indexOf(s)<0&&i.push(s)}this.layout._values[\"text-writing-mode\"]=i}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()},t.prototype.getValueAndResolveTokens=function(e,t,r,n){var i=this.layout.get(e).evaluate(t,{},r,n),a=this._unevaluatedLayout._values[e];return a.isDataDriven()||sn(a.value)||!i?i:function(e,t){return t.replace(/{([^{}]+)}/g,(function(t,r){return r in e?String(e[r]):\"\"}))}(t.properties,i)},t.prototype.createBucket=function(e){return new sc(e)},t.prototype.queryRadius=function(){return 0},t.prototype.queryIntersectsFeature=function(){return!1},t.prototype._setPaintOverrides=function(){for(var e=0,r=uc.paint.overridableProperties;e<r.length;e+=1){var n=r[e];if(t.hasPaintOverride(this.layout,n)){var i,a=this.paint.get(n),o=new cc(a),s=new on(o,a.property.specification);i=\"constant\"===a.value.kind||\"source\"===a.value.kind?new un(\"source\",s):new cn(\"composite\",s,a.value.zoomStops,a.value._interpolationType),this.paint._values[n]=new Bi(a.property,i,a.parameters)}}},t.prototype._handleOverridablePaintPropertyUpdate=function(e,r,n){return!(!this.layout||r.isDataDriven()||n.isDataDriven())&&t.hasPaintOverride(this.layout,e)},t.hasPaintOverride=function(e,t){var r=e.get(\"text-field\"),n=uc.paint.properties[t],i=!1,a=function(e){for(var t=0,r=e;t<r.length;t+=1){var a=r[t];if(n.overrides&&n.overrides.hasOverride(a))return void(i=!0)}};if(\"constant\"===r.value.kind&&r.value.value instanceof ut)a(r.value.value.sections);else if(\"source\"===r.value.kind){var o=function(e){if(!i)if(e instanceof vt&&pt(e.value)===Ke){var t=e.value;a(t.sections)}else e instanceof xt?a(e.sections):e.eachChild(o)},s=r.value;s._styleExpression&&o(s._styleExpression.expression)}return i},t}(Wi),hc={paint:new Gi({\"background-color\":new ji(De.paint_background[\"background-color\"]),\"background-pattern\":new Hi(De.paint_background[\"background-pattern\"]),\"background-opacity\":new ji(De.paint_background[\"background-opacity\"])})},pc=function(e){function t(t){e.call(this,t,hc)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(Wi),dc={paint:new Gi({\"raster-opacity\":new ji(De.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new ji(De.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new ji(De.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new ji(De.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new ji(De.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new ji(De.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new ji(De.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new ji(De.paint_raster[\"raster-fade-duration\"])})},vc=function(e){function t(t){e.call(this,t,dc)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(Wi);var gc=function(e){function t(t){e.call(this,t,{}),this.implementation=t}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.is3D=function(){return\"3d\"===this.implementation.renderingMode},t.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},t.prototype.recalculate=function(){},t.prototype.updateTransitions=function(){},t.prototype.hasTransition=function(){},t.prototype.serialize=function(){},t.prototype.onAdd=function(e){this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)},t.prototype.onRemove=function(e){this.implementation.onRemove&&this.implementation.onRemove(e,e.painter.context.gl)},t}(Wi),mc={circle:Uo,heatmap:Jo,hillshade:Qo,fill:js,\"fill-extrusion\":nl,line:vl,symbol:fc,background:pc,raster:vc};var yc=self.HTMLImageElement,xc=self.HTMLCanvasElement,bc=self.HTMLVideoElement,_c=self.ImageData,wc=self.ImageBitmap,kc=function(e,t,r,n){this.context=e,this.format=r,this.texture=e.gl.createTexture(),this.update(t,n)};kc.prototype.update=function(e,t,r){var n=e.width,i=e.height,a=!(this.size&&this.size[0]===n&&this.size[1]===i||r),o=this.context,s=o.gl;if(this.useMipmap=Boolean(t&&t.useMipmap),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!t||!1!==t.premultiply)),a)this.size=[n,i],e instanceof yc||e instanceof xc||e instanceof bc||e instanceof _c||wc&&e instanceof wc?s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,s.UNSIGNED_BYTE,e):s.texImage2D(s.TEXTURE_2D,0,this.format,n,i,0,this.format,s.UNSIGNED_BYTE,e.data);else{var l=r||{x:0,y:0},u=l.x,c=l.y;e instanceof yc||e instanceof xc||e instanceof bc||e instanceof _c||wc&&e instanceof wc?s.texSubImage2D(s.TEXTURE_2D,0,u,c,s.RGBA,s.UNSIGNED_BYTE,e):s.texSubImage2D(s.TEXTURE_2D,0,u,c,n,i,s.RGBA,s.UNSIGNED_BYTE,e.data)}this.useMipmap&&this.isSizePowerOfTwo()&&s.generateMipmap(s.TEXTURE_2D)},kc.prototype.bind=function(e,t,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),e!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||e),this.filter=e),t!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,t),this.wrap=t)},kc.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},kc.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null};var Tc=function(e){var t=this;this._callback=e,this._triggered=!1,\"undefined\"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){t._triggered=!1,t._callback()})};Tc.prototype.trigger=function(){var e=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((function(){e._triggered=!1,e._callback()}),0))},Tc.prototype.remove=function(){delete this._channel,this._callback=function(){}};var Mc=function(e,t,r){this.target=e,this.parent=t,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},g([\"receive\",\"process\"],this),this.invoker=new Tc(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=M()?e:self};function Ac(e,t,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[e*n-2*Math.PI*6378137/2,t*n-2*Math.PI*6378137/2]}Mc.prototype.send=function(e,t,r,n,i){var a=this;void 0===i&&(i=!1);var o=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[o]=r);var s=E(this.globalScope)?void 0:[];return this.target.postMessage({id:o,type:e,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:si(t,s)},s),{cancel:function(){r&&delete a.callbacks[o],a.target.postMessage({id:o,type:\"<cancel>\",targetMapId:n,sourceMapId:a.mapId})}}},Mc.prototype.receive=function(e){var t=e.data,r=t.id;if(r&&(!t.targetMapId||this.mapId===t.targetMapId))if(\"<cancel>\"===t.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else M()||t.mustQueue?(this.tasks[r]=t,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,t)},Mc.prototype.process=function(){if(this.taskQueue.length){var e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length&&this.invoker.trigger(),t&&this.processTask(e,t)}},Mc.prototype.processTask=function(e,t){var r=this;if(\"<response>\"===t.type){var n=this.callbacks[e];delete this.callbacks[e],n&&(t.error?n(li(t.error)):n(null,li(t.data)))}else{var i=!1,a=E(this.globalScope)?void 0:[],o=t.hasCallback?function(t,n){i=!0,delete r.cancelCallbacks[e],r.target.postMessage({id:e,type:\"<response>\",sourceMapId:r.mapId,error:t?si(t):null,data:si(n,a)},a)}:function(e){i=!0},s=null,l=li(t.data);if(this.parent[t.type])s=this.parent[t.type](t.sourceMapId,l,o);else if(this.parent.getWorkerSource){var u=t.type.split(\".\");s=this.parent.getWorkerSource(t.sourceMapId,u[0],l.source)[u[1]](l,o)}else o(new Error(\"Could not find function \"+t.type));!i&&s&&s.cancel&&(this.cancelCallbacks[e]=s.cancel)}},Mc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};var Sc=function(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):4===e.length?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1]))};Sc.prototype.setNorthEast=function(e){return this._ne=e instanceof Cc?new Cc(e.lng,e.lat):Cc.convert(e),this},Sc.prototype.setSouthWest=function(e){return this._sw=e instanceof Cc?new Cc(e.lng,e.lat):Cc.convert(e),this},Sc.prototype.extend=function(e){var t,r,n=this._sw,i=this._ne;if(e instanceof Cc)t=e,r=e;else{if(!(e instanceof Sc)){if(Array.isArray(e)){if(4===e.length||e.every(Array.isArray)){var a=e;return this.extend(Sc.convert(a))}var o=e;return this.extend(Cc.convert(o))}return this}if(t=e._sw,r=e._ne,!t||!r)return this}return n||i?(n.lng=Math.min(t.lng,n.lng),n.lat=Math.min(t.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Cc(t.lng,t.lat),this._ne=new Cc(r.lng,r.lat)),this},Sc.prototype.getCenter=function(){return new Cc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Sc.prototype.getSouthWest=function(){return this._sw},Sc.prototype.getNorthEast=function(){return this._ne},Sc.prototype.getNorthWest=function(){return new Cc(this.getWest(),this.getNorth())},Sc.prototype.getSouthEast=function(){return new Cc(this.getEast(),this.getSouth())},Sc.prototype.getWest=function(){return this._sw.lng},Sc.prototype.getSouth=function(){return this._sw.lat},Sc.prototype.getEast=function(){return this._ne.lng},Sc.prototype.getNorth=function(){return this._ne.lat},Sc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Sc.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},Sc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Sc.prototype.contains=function(e){var t=Cc.convert(e),r=t.lng,n=t.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Sc.convert=function(e){return!e||e instanceof Sc?e:new Sc(e)};var Ec=6371008.8,Cc=function(e,t){if(isNaN(e)||isNaN(t))throw new Error(\"Invalid LngLat object: (\"+e+\", \"+t+\")\");if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};Cc.prototype.wrap=function(){return new Cc(c(this.lng,-180,180),this.lat)},Cc.prototype.toArray=function(){return[this.lng,this.lat]},Cc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},Cc.prototype.distanceTo=function(e){var t=Math.PI/180,r=this.lat*t,n=e.lat*t,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((e.lng-this.lng)*t);return Ec*Math.acos(Math.min(i,1))},Cc.prototype.toBounds=function(e){void 0===e&&(e=0);var t=360*e/40075017,r=t/Math.cos(Math.PI/180*this.lat);return new Sc(new Cc(this.lng-r,this.lat-t),new Cc(this.lng+r,this.lat+t))},Cc.convert=function(e){if(e instanceof Cc)return e;if(Array.isArray(e)&&(2===e.length||3===e.length))return new Cc(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&\"object\"==typeof e&&null!==e)return new Cc(Number(\"lng\"in e?e.lng:e.lon),Number(e.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")};var Lc=2*Math.PI*Ec;function Pc(e){return Lc*Math.cos(e*Math.PI/180)}function Oc(e){return(180+e)/360}function Ic(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function Dc(e,t){return e/Pc(t)}function zc(e){var t=180-360*e;return 360/Math.PI*Math.atan(Math.exp(t*Math.PI/180))-90}var Rc=function(e,t,r){void 0===r&&(r=0),this.x=+e,this.y=+t,this.z=+r};Rc.fromLngLat=function(e,t){void 0===t&&(t=0);var r=Cc.convert(e);return new Rc(Oc(r.lng),Ic(r.lat),Dc(t,r.lat))},Rc.prototype.toLngLat=function(){return new Cc(360*this.x-180,zc(this.y))},Rc.prototype.toAltitude=function(){return e=this.z,t=this.y,e*Pc(zc(t));var e,t},Rc.prototype.meterInMercatorCoordinateUnits=function(){return 1/Lc*(e=zc(this.y),1/Math.cos(e*Math.PI/180));var e};var Fc=function(e,t,r){this.z=e,this.x=t,this.y=r,this.key=jc(0,e,e,t,r)};Fc.prototype.equals=function(e){return this.z===e.z&&this.x===e.x&&this.y===e.y},Fc.prototype.url=function(e,t){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=Ac(256*r,256*(n=Math.pow(2,i)-n-1),i),o=Ac(256*(r+1),256*(n+1),i),a[0]+\",\"+a[1]+\",\"+o[0]+\",\"+o[1]),l=function(e,t,r){for(var n,i=\"\",a=e;a>0;a--)i+=(t&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(this.z,this.x,this.y);return e[(this.x+this.y)%e.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(\"tms\"===t?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",l).replace(\"{bbox-epsg-3857}\",s)},Fc.prototype.getTilePoint=function(e){var t=Math.pow(2,this.z);return new a((e.x*t-this.x)*co,(e.y*t-this.y)*co)},Fc.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var Bc=function(e,t){this.wrap=e,this.canonical=t,this.key=jc(e,t.z,t.z,t.x,t.y)},Nc=function(e,t,r,n,i){this.overscaledZ=e,this.wrap=t,this.canonical=new Fc(r,+n,+i),this.key=jc(t,e,r,n,i)};function jc(e,t,r,n,i){(e*=2)<0&&(e=-1*e-1);var a=1<<r;return(a*a*e+a*i+n).toString(36)+r.toString(36)+t.toString(36)}Nc.prototype.equals=function(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)},Nc.prototype.scaledTo=function(e){var t=this.canonical.z-e;return e>this.canonical.z?new Nc(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Nc(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)},Nc.prototype.calculateScaledKey=function(e,t){var r=this.canonical.z-e;return e>this.canonical.z?jc(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):jc(this.wrap*+t,e,e,this.canonical.x>>r,this.canonical.y>>r)},Nc.prototype.isChildOf=function(e){if(e.wrap!==this.wrap)return!1;var t=this.canonical.z-e.canonical.z;return 0===e.overscaledZ||e.overscaledZ<this.overscaledZ&&e.canonical.x===this.canonical.x>>t&&e.canonical.y===this.canonical.y>>t},Nc.prototype.children=function(e){if(this.overscaledZ>=e)return[new Nc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var t=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Nc(t,this.wrap,t,r,n),new Nc(t,this.wrap,t,r+1,n),new Nc(t,this.wrap,t,r,n+1),new Nc(t,this.wrap,t,r+1,n+1)]},Nc.prototype.isLessThan=function(e){return this.wrap<e.wrap||!(this.wrap>e.wrap)&&(this.overscaledZ<e.overscaledZ||!(this.overscaledZ>e.overscaledZ)&&(this.canonical.x<e.canonical.x||!(this.canonical.x>e.canonical.x)&&this.canonical.y<e.canonical.y))},Nc.prototype.wrapped=function(){return new Nc(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Nc.prototype.unwrapTo=function(e){return new Nc(this.overscaledZ,e,this.canonical.z,this.canonical.x,this.canonical.y)},Nc.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Nc.prototype.toUnwrapped=function(){return new Bc(this.wrap,this.canonical)},Nc.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},Nc.prototype.getTilePoint=function(e){return this.canonical.getTilePoint(new Rc(e.x-this.wrap,e.y))},ni(\"CanonicalTileID\",Fc),ni(\"OverscaledTileID\",Nc,{omit:[\"posMatrix\"]});var Uc=function(e,t,r){if(this.uid=e,t.height!==t.width)throw new RangeError(\"DEM tiles must be square\");if(r&&\"mapbox\"!==r&&\"terrarium\"!==r)return w('\"'+r+'\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".');this.stride=t.height;var n=this.dim=t.height-2;this.data=new Uint32Array(t.data.buffer),this.encoding=r||\"mapbox\";for(var i=0;i<n;i++)this.data[this._idx(-1,i)]=this.data[this._idx(0,i)],this.data[this._idx(n,i)]=this.data[this._idx(n-1,i)],this.data[this._idx(i,-1)]=this.data[this._idx(i,0)],this.data[this._idx(i,n)]=this.data[this._idx(i,n-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(n,-1)]=this.data[this._idx(n-1,0)],this.data[this._idx(-1,n)]=this.data[this._idx(0,n-1)],this.data[this._idx(n,n)]=this.data[this._idx(n-1,n-1)]};Uc.prototype.get=function(e,t){var r=new Uint8Array(this.data.buffer),n=4*this._idx(e,t);return(\"terrarium\"===this.encoding?this._unpackTerrarium:this._unpackMapbox)(r[n],r[n+1],r[n+2])},Uc.prototype.getUnpackVector=function(){return\"terrarium\"===this.encoding?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},Uc.prototype._idx=function(e,t){if(e<-1||e>=this.dim+1||t<-1||t>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(t+1)*this.stride+(e+1)},Uc.prototype._unpackMapbox=function(e,t,r){return(256*e*256+256*t+r)/10-1e4},Uc.prototype._unpackTerrarium=function(e,t,r){return 256*e+t+r/256-32768},Uc.prototype.getPixels=function(){return new Zo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Uc.prototype.backfillBorder=function(e,t,r){if(this.dim!==e.dim)throw new Error(\"dem dimension mismatch\");var n=t*this.dim,i=t*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(t){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-t*this.dim,l=-r*this.dim,u=a;u<o;u++)for(var c=n;c<i;c++)this.data[this._idx(c,u)]=e.data[this._idx(c+s,u+l)]},ni(\"DEMData\",Uc);var Vc=function(e){this._stringToNumber={},this._numberToString=[];for(var t=0;t<e.length;t++){var r=e[t];this._stringToNumber[r]=t,this._numberToString[t]=r}};Vc.prototype.encode=function(e){return this._stringToNumber[e]},Vc.prototype.decode=function(e){return this._numberToString[e]};var Hc=function(e,t,r,n,i){this.type=\"Feature\",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=n,this.properties=e.properties,this.id=i},qc={geometry:{configurable:!0}};qc.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},qc.geometry.set=function(e){this._geometry=e},Hc.prototype.toJSON=function(){var e={geometry:this.geometry};for(var t in this)\"_geometry\"!==t&&\"_vectorTileFeature\"!==t&&(e[t]=this[t]);return e},Object.defineProperties(Hc.prototype,qc);var Gc=function(){this.state={},this.stateChanges={},this.deletedStates={}};Gc.prototype.updateState=function(e,t,r){var n=String(t);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][n]=this.stateChanges[e][n]||{},f(this.stateChanges[e][n],r),null===this.deletedStates[e])for(var i in this.deletedStates[e]={},this.state[e])i!==n&&(this.deletedStates[e][i]=null);else if(this.deletedStates[e]&&null===this.deletedStates[e][n])for(var a in this.deletedStates[e][n]={},this.state[e][n])r[a]||(this.deletedStates[e][n][a]=null);else for(var o in r)this.deletedStates[e]&&this.deletedStates[e][n]&&null===this.deletedStates[e][n][o]&&delete this.deletedStates[e][n][o]},Gc.prototype.removeFeatureState=function(e,t,r){if(null!==this.deletedStates[e]){var n=String(t);if(this.deletedStates[e]=this.deletedStates[e]||{},r&&void 0!==t)null!==this.deletedStates[e][n]&&(this.deletedStates[e][n]=this.deletedStates[e][n]||{},this.deletedStates[e][n][r]=null);else if(void 0!==t)if(this.stateChanges[e]&&this.stateChanges[e][n])for(r in this.deletedStates[e][n]={},this.stateChanges[e][n])this.deletedStates[e][n][r]=null;else this.deletedStates[e][n]=null;else this.deletedStates[e]=null}},Gc.prototype.getState=function(e,t){var r=String(t),n=this.state[e]||{},i=this.stateChanges[e]||{},a=f({},n[r],i[r]);if(null===this.deletedStates[e])return{};if(this.deletedStates[e]){var o=this.deletedStates[e][t];if(null===o)return{};for(var s in o)delete a[s]}return a},Gc.prototype.initializeTileState=function(e,t){e.setFeatureState(this.state,t)},Gc.prototype.coalesceChanges=function(e,t){var r={};for(var n in this.stateChanges){this.state[n]=this.state[n]||{};var i={};for(var a in this.stateChanges[n])this.state[n][a]||(this.state[n][a]={}),f(this.state[n][a],this.stateChanges[n][a]),i[a]=this.state[n][a];r[n]=i}for(var o in this.deletedStates){this.state[o]=this.state[o]||{};var s={};if(null===this.deletedStates[o])for(var l in this.state[o])s[l]={},this.state[o][l]={};else for(var u in this.deletedStates[o]){if(null===this.deletedStates[o][u])this.state[o][u]={};else for(var c=0,h=Object.keys(this.deletedStates[o][u]);c<h.length;c+=1){var p=h[c];delete this.state[o][u][p]}s[u]=this.state[o][u]}r[o]=r[o]||{},f(r[o],s)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(var d in e)e[d].setFeatureState(r,t)};var Yc=function(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new Jn(co,16,0),this.grid3D=new Jn(co,16,0),this.featureIndexArray=new La,this.promoteId=t};function Wc(e,t,r,n,i){return y(e,(function(e,a){var o=t instanceof Ni?t.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function Zc(e){for(var t=1/0,r=1/0,n=-1/0,i=-1/0,a=0,o=e;a<o.length;a+=1){var s=o[a];t=Math.min(t,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y)}return{minX:t,minY:r,maxX:n,maxY:i}}function Xc(e,t){return t-e}Yc.prototype.insert=function(e,t,r,n,i,a){var o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var s=a?this.grid3D:this.grid,l=0;l<t.length;l++){for(var u=t[l],c=[1/0,1/0,-1/0,-1/0],f=0;f<u.length;f++){var h=u[f];c[0]=Math.min(c[0],h.x),c[1]=Math.min(c[1],h.y),c[2]=Math.max(c[2],h.x),c[3]=Math.max(c[3],h.y)}c[0]<co&&c[1]<co&&c[2]>=0&&c[3]>=0&&s.insert(o,c[0],c[1],c[2],c[3])}},Yc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new Ks.VectorTile(new Sl(this.rawTileData)).layers,this.sourceLayerCoder=new Vc(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},Yc.prototype.query=function(e,t,r,n){var i=this;this.loadVTLayers();for(var o=e.params||{},s=co/e.tileSize/e.scale,l=wn(o.filter),u=e.queryGeometry,c=e.queryPadding*s,f=Zc(u),h=this.grid.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c),p=Zc(e.cameraQueryGeometry),d=0,v=this.grid3D.query(p.minX-c,p.minY-c,p.maxX+c,p.maxY+c,(function(t,r,n,i){return function(e,t,r,n,i){for(var o=0,s=e;o<s.length;o+=1){var l=s[o];if(t<=l.x&&r<=l.y&&n>=l.x&&i>=l.y)return!0}var u=[new a(t,r),new a(t,i),new a(n,i),new a(n,r)];if(e.length>2)for(var c=0,f=u;c<f.length;c+=1)if(Ao(e,f[c]))return!0;for(var h=0;h<e.length-1;h++)if(So(e[h],e[h+1],u))return!0;return!1}(e.cameraQueryGeometry,t-c,r-c,n+c,i+c)}));d<v.length;d+=1){var g=v[d];h.push(g)}h.sort(Xc);for(var m,y={},x=function(a){var c=h[a];if(c!==m){m=c;var f=i.featureIndexArray.get(c),p=null;i.loadMatchingFeature(y,f.bucketIndex,f.sourceLayerIndex,f.featureIndex,l,o.layers,o.availableImages,t,r,n,(function(t,r,n){return p||(p=po(t)),r.queryIntersectsFeature(u,t,n,p,i.z,e.transform,s,e.pixelPosMatrix)}))}},b=0;b<h.length;b++)x(b);return y},Yc.prototype.loadMatchingFeature=function(e,t,r,n,i,a,o,s,l,u,c){var f=this.bucketLayerIDs[t];if(!a||function(e,t){for(var r=0;r<e.length;r++)if(t.indexOf(e[r])>=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),p=this.vtLayers[h].feature(n);if(i.filter(new Pi(this.tileID.overscaledZ),p))for(var d=this.getId(p,h),v=0;v<f.length;v++){var g=f[v];if(!(a&&a.indexOf(g)<0)){var m=s[g];if(m){var y={};void 0!==d&&u&&(y=u.getState(m.sourceLayer||\"_geojsonTileLayer\",d));var x=l[g];x.paint=Wc(x.paint,m.paint,p,y,o),x.layout=Wc(x.layout,m.layout,p,y,o);var b=!c||c(p,m,y);if(b){var _=new Hc(p,this.z,this.x,this.y,d);_.layer=x;var w=e[g];void 0===w&&(w=e[g]=[]),w.push({featureIndex:n,feature:_,intersectionZ:b})}}}}}},Yc.prototype.lookupSymbolFeatures=function(e,t,r,n,i,a,o,s){var l={};this.loadVTLayers();for(var u=wn(i),c=0,f=e;c<f.length;c+=1){var h=f[c];this.loadMatchingFeature(l,r,n,h,u,a,o,s,t)}return l},Yc.prototype.hasLayer=function(e){for(var t=0,r=this.bucketLayerIDs;t<r.length;t+=1)for(var n=0,i=r[t];n<i.length;n+=1)if(e===i[n])return!0;return!1},Yc.prototype.getId=function(e,t){var r=e.id;if(this.promoteId){var n=\"string\"==typeof this.promoteId?this.promoteId:this.promoteId[t];\"boolean\"==typeof(r=e.properties[n])&&(r=Number(r))}return r},ni(\"FeatureIndex\",Yc,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});var Kc=function(e,t){this.tileID=e,this.uid=p(),this.uses=0,this.tileSize=t,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state=\"loading\"};Kc.prototype.registerFadeDuration=function(e){var t=e+this.timeAdded;t<F.now()||this.fadeEndTime&&t<this.fadeEndTime||(this.fadeEndTime=t)},Kc.prototype.wasRequested=function(){return\"errored\"===this.state||\"loaded\"===this.state||\"reloading\"===this.state},Kc.prototype.loadVectorData=function(e,t,r){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",e){for(var n in e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestFeatureIndex.rawTileData=e.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(e,t){var r={};if(!t)return r;for(var n=function(){var e=a[i],n=e.layerIds.map((function(e){return t.getLayer(e)})).filter(Boolean);if(0!==n.length){e.layers=n,e.stateDependentLayerIds&&(e.stateDependentLayers=e.stateDependentLayerIds.map((function(e){return n.filter((function(t){return t.id===e}))[0]})));for(var o=0,s=n;o<s.length;o+=1){var l=s[o];r[l.id]=e}}},i=0,a=e;i<a.length;i+=1)n();return r}(e.buckets,t.style),this.hasSymbolBuckets=!1,this.buckets){var i=this.buckets[n];if(i instanceof sc){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var a in this.buckets){var o=this.buckets[a];if(o instanceof sc&&o.hasRTLText){this.hasRTLText=!0,Li.isLoading()||Li.isLoaded()||\"deferred\"!==Ei()||Ci();break}}for(var s in this.queryPadding=0,this.buckets){var l=this.buckets[s];this.queryPadding=Math.max(this.queryPadding,t.style.getLayer(s).queryRadius(l))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new wa},Kc.prototype.unloadVectorData=function(){for(var e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"},Kc.prototype.getBucket=function(e){return this.buckets[e.id]},Kc.prototype.upload=function(e){for(var t in this.buckets){var r=this.buckets[t];r.uploadPending()&&r.upload(e)}var n=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new kc(e,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new kc(e,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},Kc.prototype.prepare=function(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)},Kc.prototype.queryRenderedFeatures=function(e,t,r,n,i,a,o,s,l,u){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:u,transform:s,params:o,queryPadding:this.queryPadding*l},e,t,r):{}},Kc.prototype.querySourceFeatures=function(e,t){var r=this.latestFeatureIndex;if(r&&r.rawTileData){var n=r.loadVTLayers(),i=t?t.sourceLayer:\"\",a=n._geojsonTileLayer||n[i];if(a)for(var o=wn(t&&t.filter),s=this.tileID.canonical,l=s.z,u=s.x,c=s.y,f={z:l,x:u,y:c},h=0;h<a.length;h++){var p=a.feature(h);if(o.filter(new Pi(this.tileID.overscaledZ),p)){var d=r.getId(p,i),v=new Hc(p,l,u,c,d);v.tile=f,e.push(v)}}}},Kc.prototype.hasData=function(){return\"loaded\"===this.state||\"reloading\"===this.state||\"expired\"===this.state},Kc.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},Kc.prototype.setExpiryData=function(e){var t=this.expirationTime;if(e.cacheControl){var r=A(e.cacheControl);r[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*r[\"max-age\"])}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){var n=Date.now(),i=!1;if(this.expirationTime>n)i=!1;else if(t)if(this.expirationTime<t)i=!0;else{var a=this.expirationTime-t;a?this.expirationTime=n+Math.max(a,3e4):i=!0}else i=!0;i?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}},Kc.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},Kc.prototype.setFeatureState=function(e,t){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(e).length){var r=this.latestFeatureIndex.loadVTLayers();for(var n in this.buckets)if(t.style.hasLayer(n)){var i=this.buckets[n],a=i.layers[0].sourceLayer||\"_geojsonTileLayer\",o=r[a],s=e[a];if(o&&s&&0!==Object.keys(s).length){i.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{});var l=t&&t.style&&t.style.getLayer(n);l&&(this.queryPadding=Math.max(this.queryPadding,l.queryRadius(i)))}}}},Kc.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil},Kc.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<F.now()},Kc.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},Kc.prototype.setHoldDuration=function(e){this.symbolFadeHoldUntil=F.now()+e},Kc.prototype.setDependencies=function(e,t){for(var r={},n=0,i=t;n<i.length;n+=1)r[i[n]]=!0;this.dependencies[e]=r},Kc.prototype.hasDependency=function(e,t){for(var r=0,n=e;r<n.length;r+=1){var i=n[r],a=this.dependencies[i];if(a)for(var o=0,s=t;o<s.length;o+=1)if(a[s[o]])return!0}return!1};var Jc=self.performance,$c=function(e){this._marks={start:[e.url,\"start\"].join(\"#\"),end:[e.url,\"end\"].join(\"#\"),measure:e.url.toString()},Jc.mark(this._marks.start)};$c.prototype.finish=function(){Jc.mark(this._marks.end);var e=Jc.getEntriesByName(this._marks.measure);return 0===e.length&&(Jc.measure(this._marks.measure,this._marks.start,this._marks.end),e=Jc.getEntriesByName(this._marks.measure),Jc.clearMarks(this._marks.start),Jc.clearMarks(this._marks.end),Jc.clearMeasures(this._marks.measure)),e},e.Actor=Mc,e.AlphaImage=Wo,e.CanonicalTileID=Fc,e.CollisionBoxArray=wa,e.Color=ot,e.DEMData=Uc,e.DataConstantProperty=ji,e.DictionaryCoder=Vc,e.EXTENT=co,e.ErrorEvent=Oe,e.EvaluationParameters=Pi,e.Event=Pe,e.Evented=Ie,e.FeatureIndex=Yc,e.FillBucket=Fs,e.FillExtrusionBucket=el,e.ImageAtlas=ru,e.ImagePosition=eu,e.LineBucket=cl,e.LngLat=Cc,e.LngLatBounds=Sc,e.MercatorCoordinate=Rc,e.ONE_EM=Tl,e.OverscaledTileID=Nc,e.Point=a,e.Point$1=a,e.Properties=Gi,e.Protobuf=Sl,e.RGBAImage=Zo,e.RequestManager=q,e.RequestPerformance=$c,e.ResourceType=xe,e.SegmentVector=Oa,e.SourceFeatureState=Gc,e.StructArrayLayout1ui2=ya,e.StructArrayLayout2f1f2i16=ua,e.StructArrayLayout2i4=Qi,e.StructArrayLayout3ui6=fa,e.StructArrayLayout4i8=ea,e.SymbolBucket=sc,e.Texture=kc,e.Tile=Kc,e.Transitionable=Di,e.Uniform1f=Wa,e.Uniform1i=Ya,e.Uniform2f=Za,e.Uniform3f=Xa,e.Uniform4f=Ka,e.UniformColor=Ja,e.UniformMatrix4f=Qa,e.UnwrappedTileID=Bc,e.ValidationError=ze,e.WritingMode=nu,e.ZoomHistory=ui,e.add=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e},e.addDynamicAttributes=nc,e.asyncAll=function(e,t,r){if(!e.length)return r(null,[]);var n=e.length,i=new Array(e.length),a=null;e.forEach((function(e,o){t(e,(function(e,t){e&&(a=e),i[o]=t,0==--n&&r(a,i)}))}))},e.bezier=s,e.bindAll=g,e.browser=F,e.cacheEntryPossiblyAdded=function(e){++me>ce&&(e.getActor().send(\"enforceCacheSizeLimit\",ue),me=0)},e.clamp=u,e.clearTileCache=function(e){var t=self.caches.delete(le);e&&t.catch(e).then((function(){return e()}))},e.clipLine=Ou,e.clone=function(e){var t=new Io(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},e.clone$1=b,e.clone$2=function(e){var t=new Io(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},e.collisionCircleLayout=_l,e.config=B,e.create=function(){var e=new Io(16);return Io!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e},e.create$1=function(){var e=new Io(9);return Io!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e},e.create$2=function(){var e=new Io(4);return Io!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e},e.createCommonjsModule=t,e.createExpression=ln,e.createLayout=Ji,e.createStyleLayer=function(e){return\"custom\"===e.type?new gc(e):new mc[e.type](e)},e.cross=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2];return e[0]=i*l-a*s,e[1]=a*o-n*l,e[2]=n*s-i*o,e},e.deepEqual=function e(t,r){if(Array.isArray(t)){if(!Array.isArray(r)||t.length!==r.length)return!1;for(var n=0;n<t.length;n++)if(!e(t[n],r[n]))return!1;return!0}if(\"object\"==typeof t&&null!==t&&null!==r){if(\"object\"!=typeof r)return!1;if(Object.keys(t).length!==Object.keys(r).length)return!1;for(var i in t)if(!e(t[i],r[i]))return!1;return!0}return t===r},e.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},e.dot$1=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},e.ease=l,e.emitValidationErrors=Kn,e.endsWith=m,e.enforceCacheSizeLimit=function(e){he(),ee&&ee.then((function(t){t.keys().then((function(r){for(var n=0;n<r.length-e;n++)t.delete(r[n])}))}))},e.evaluateSizeForFeature=wu,e.evaluateSizeForZoom=ku,e.evaluateVariableOffset=Wu,e.evented=Si,e.extend=f,e.featureFilter=wn,e.filterObject=x,e.fromRotation=function(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=-r,e[4]=n,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},e.getAnchorAlignment=gu,e.getAnchorJustification=Zu,e.getArrayBuffer=Te,e.getImage=Ee,e.getJSON=function(e,t){return ke(f(e,{type:\"json\"}),t)},e.getRTLTextPluginStatus=Ei,e.getReferrer=_e,e.getVideo=function(e,t){var r,n,i=self.document.createElement(\"video\");i.muted=!0,i.onloadstart=function(){t(null,i)};for(var a=0;a<e.length;a++){var o=self.document.createElement(\"source\");r=e[a],n=void 0,(n=self.document.createElement(\"a\")).href=r,n.protocol===self.document.location.protocol&&n.host===self.document.location.host||(i.crossOrigin=\"Anonymous\"),o.src=e[a],i.appendChild(o)}return{cancel:function(){}}},e.identity=Do,e.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],p=t[11],d=t[12],v=t[13],g=t[14],m=t[15],y=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,k=i*u-a*l,T=c*v-f*d,M=c*g-h*d,A=c*m-p*d,S=f*g-h*v,E=f*m-p*v,C=h*m-p*g,L=y*C-x*E+b*S+_*A-w*M+k*T;return L?(L=1/L,e[0]=(s*C-l*E+u*S)*L,e[1]=(i*E-n*C-a*S)*L,e[2]=(v*k-g*w+m*_)*L,e[3]=(h*w-f*k-p*_)*L,e[4]=(l*A-o*C-u*M)*L,e[5]=(r*C-i*A+a*M)*L,e[6]=(g*b-d*k-m*x)*L,e[7]=(c*k-h*b+p*x)*L,e[8]=(o*E-s*A+u*T)*L,e[9]=(n*A-r*E-a*T)*L,e[10]=(d*w-v*b+m*y)*L,e[11]=(f*b-c*w-p*y)*L,e[12]=(s*M-o*S-l*T)*L,e[13]=(r*S-n*M+i*T)*L,e[14]=(v*x-d*_-g*y)*L,e[15]=(c*_-f*x+h*y)*L,e):null},e.isChar=ci,e.isMapboxURL=G,e.keysDifference=function(e,t){var r=[];for(var n in e)n in t||r.push(n);return r},e.makeRequest=ke,e.mapObject=y,e.mercatorXfromLng=Oc,e.mercatorYfromLat=Ic,e.mercatorZfromAltitude=Dc,e.mul=Ro,e.multiply=zo,e.mvt=Ks,e.normalize=function(e,t){var r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e},e.number=$t,e.offscreenCanvasSupported=ye,e.ortho=function(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),u=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*u,e[15]=1,e},e.parseGlyphPBF=function(e){return new Sl(e).readFields(Zl,[])},e.pbf=Sl,e.performSymbolLayout=function(e,t,r,n,i,a,o){e.createArrays();var s=512*e.overscaling;e.tilePixelRatio=co/s,e.compareText={},e.iconsNeedLinear=!1;var l=e.layers[0].layout,u=e.layers[0]._unevaluatedLayout._values,c={};if(\"composite\"===e.textSizeData.kind){var f=e.textSizeData,h=f.minZoom,p=f.maxZoom;c.compositeTextSizes=[u[\"text-size\"].possiblyEvaluate(new Pi(h),o),u[\"text-size\"].possiblyEvaluate(new Pi(p),o)]}if(\"composite\"===e.iconSizeData.kind){var d=e.iconSizeData,v=d.minZoom,g=d.maxZoom;c.compositeIconSizes=[u[\"icon-size\"].possiblyEvaluate(new Pi(v),o),u[\"icon-size\"].possiblyEvaluate(new Pi(g),o)]}c.layoutTextSize=u[\"text-size\"].possiblyEvaluate(new Pi(e.zoom+1),o),c.layoutIconSize=u[\"icon-size\"].possiblyEvaluate(new Pi(e.zoom+1),o),c.textMaxSize=u[\"text-size\"].possiblyEvaluate(new Pi(18));for(var m=l.get(\"text-line-height\")*Tl,y=\"map\"===l.get(\"text-rotation-alignment\")&&\"point\"!==l.get(\"symbol-placement\"),x=l.get(\"text-keep-upright\"),b=l.get(\"text-size\"),_=function(){var a=T[k],s=l.get(\"text-font\").evaluate(a,{},o).join(\",\"),u=b.evaluate(a,{},o),f=c.layoutTextSize.evaluate(a,{},o),h=c.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,v=[0,0];if(d){var g=d.toString(),_=l.get(\"text-letter-spacing\").evaluate(a,{},o)*Tl,M=function(e){for(var t=0,r=e;t<r.length;t+=1)if(n=r[t].charCodeAt(0),ci.Arabic(n)||ci[\"Arabic Supplement\"](n)||ci[\"Arabic Extended-A\"](n)||ci[\"Arabic Presentation Forms-A\"](n)||ci[\"Arabic Presentation Forms-B\"](n))return!1;var n;return!0}(g)?_:0,A=l.get(\"text-anchor\").evaluate(a,{},o),S=l.get(\"text-variable-anchor\");if(!S){var E=l.get(\"text-radial-offset\").evaluate(a,{},o);v=E?Wu(A,[E*Tl,Yu]):l.get(\"text-offset\").evaluate(a,{},o).map((function(e){return e*Tl}))}var C=y?\"center\":l.get(\"text-justify\").evaluate(a,{},o),L=l.get(\"symbol-placement\"),P=\"point\"===L?l.get(\"text-max-width\").evaluate(a,{},o)*Tl:0,O=function(){e.allowVerticalPlacement&&fi(g)&&(p.vertical=su(d,t,r,i,s,P,m,A,\"left\",M,v,nu.vertical,!0,L,f,u))};if(!y&&S){for(var I=\"auto\"===C?S.map((function(e){return Zu(e)})):[C],D=!1,z=0;z<I.length;z++){var R=I[z];if(!p.horizontal[R])if(D)p.horizontal[R]=p.horizontal[0];else{var F=su(d,t,r,i,s,P,m,\"center\",R,M,v,nu.horizontal,!1,L,f,u);F&&(p.horizontal[R]=F,D=1===F.positionedLines.length)}}O()}else{\"auto\"===C&&(C=Zu(A));var B=su(d,t,r,i,s,P,m,A,C,M,v,nu.horizontal,!1,L,f,u);B&&(p.horizontal[C]=B),O(),fi(g)&&y&&x&&(p.vertical=su(d,t,r,i,s,P,m,A,C,M,v,nu.vertical,!1,L,f,u))}}var N=void 0,j=!1;if(a.icon&&a.icon.name){var U=n[a.icon.name];U&&(N=function(e,t,r){var n=gu(r),i=n.horizontalAlign,a=n.verticalAlign,o=t[0],s=t[1],l=o-e.displaySize[0]*i,u=l+e.displaySize[0],c=s-e.displaySize[1]*a;return{image:e,top:c,bottom:c+e.displaySize[1],left:l,right:u}}(i[a.icon.name],l.get(\"icon-offset\").evaluate(a,{},o),l.get(\"icon-anchor\").evaluate(a,{},o)),j=U.sdf,void 0===e.sdfIcons?e.sdfIcons=U.sdf:e.sdfIcons!==U.sdf&&w(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(U.pixelRatio!==e.pixelRatio||0!==l.get(\"icon-rotate\").constantOr(1))&&(e.iconsNeedLinear=!0))}var V=$u(p.horizontal)||p.vertical;e.iconsInText=!!V&&V.iconsInText,(V||N)&&function(e,t,r,n,i,a,o,s,l,u,c){var f=a.textMaxSize.evaluate(t,{});void 0===f&&(f=o);var h,p=e.layers[0].layout,d=p.get(\"icon-offset\").evaluate(t,{},c),v=$u(r.horizontal),g=24,m=o/g,y=e.tilePixelRatio*m,x=e.tilePixelRatio*f/g,b=e.tilePixelRatio*s,_=e.tilePixelRatio*p.get(\"symbol-spacing\"),k=p.get(\"text-padding\")*e.tilePixelRatio,T=p.get(\"icon-padding\")*e.tilePixelRatio,M=p.get(\"text-max-angle\")/180*Math.PI,A=\"map\"===p.get(\"text-rotation-alignment\")&&\"point\"!==p.get(\"symbol-placement\"),S=\"map\"===p.get(\"icon-rotation-alignment\")&&\"point\"!==p.get(\"symbol-placement\"),E=p.get(\"symbol-placement\"),C=_/2,L=p.get(\"icon-text-fit\");n&&\"none\"!==L&&(e.allowVerticalPlacement&&r.vertical&&(h=yu(n,r.vertical,L,p.get(\"icon-text-fit-padding\"),d,m)),v&&(n=yu(n,v,L,p.get(\"icon-text-fit-padding\"),d,m)));var P=function(s,f){f.x<0||f.x>=co||f.y<0||f.y>=co||function(e,t,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,m,y,x,b,_,k,T,M){var A,S,E,C,L,P=e.addToLineVertexArray(t,r),O=0,I=0,D=0,z=0,R=-1,F=-1,B={},N=Fa(\"\"),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue(\"text-radial-offset\")?(j=(A=s.layout.get(\"text-offset\").evaluate(b,{},T).map((function(e){return e*Tl})))[0],U=A[1]):(j=s.layout.get(\"text-radial-offset\").evaluate(b,{},T)*Tl,U=Yu),e.allowVerticalPlacement&&n.vertical){var V=s.layout.get(\"text-rotate\").evaluate(b,{},T)+90,H=n.vertical;C=new Nu(l,t,u,c,f,H,h,p,d,V),o&&(L=new Nu(l,t,u,c,f,o,g,m,d,V))}if(i){var q=s.layout.get(\"icon-rotate\").evaluate(b,{}),G=\"none\"!==s.layout.get(\"icon-text-fit\"),Y=Du(i,q,k,G),W=o?Du(o,q,k,G):void 0;E=new Nu(l,t,u,c,f,i,g,m,!1,q),O=4*Y.length;var Z=e.iconSizeData,X=null;\"source\"===Z.kind?(X=[bu*s.layout.get(\"icon-size\").evaluate(b,{})])[0]>Ku&&w(e.layerIds[0]+': Value for \"icon-size\" is >= '+Xu+'. Reduce your \"icon-size\".'):\"composite\"===Z.kind&&((X=[bu*_.compositeIconSizes[0].evaluate(b,{},T),bu*_.compositeIconSizes[1].evaluate(b,{},T)])[0]>Ku||X[1]>Ku)&&w(e.layerIds[0]+': Value for \"icon-size\" is >= '+Xu+'. Reduce your \"icon-size\".'),e.addSymbols(e.icon,Y,X,x,y,b,!1,t,P.lineStartIndex,P.lineLength,-1,T),R=e.icon.placedSymbolArray.length-1,W&&(I=4*W.length,e.addSymbols(e.icon,W,X,x,y,b,nu.vertical,t,P.lineStartIndex,P.lineLength,-1,T),F=e.icon.placedSymbolArray.length-1)}for(var K in n.horizontal){var J=n.horizontal[K];if(!S){N=Fa(J.text);var $=s.layout.get(\"text-rotate\").evaluate(b,{},T);S=new Nu(l,t,u,c,f,J,h,p,d,$)}var Q=1===J.positionedLines.length;if(D+=Ju(e,t,J,a,s,d,b,v,P,n.vertical?nu.horizontal:nu.horizontalOnly,Q?Object.keys(n.horizontal):[K],B,R,_,T),Q)break}n.vertical&&(z+=Ju(e,t,n.vertical,a,s,d,b,v,P,nu.vertical,[\"vertical\"],B,F,_,T));var ee=S?S.boxStartIndex:e.collisionBoxArray.length,te=S?S.boxEndIndex:e.collisionBoxArray.length,re=C?C.boxStartIndex:e.collisionBoxArray.length,ne=C?C.boxEndIndex:e.collisionBoxArray.length,ie=E?E.boxStartIndex:e.collisionBoxArray.length,ae=E?E.boxEndIndex:e.collisionBoxArray.length,oe=L?L.boxStartIndex:e.collisionBoxArray.length,se=L?L.boxEndIndex:e.collisionBoxArray.length,le=-1,ue=function(e,t){return e&&e.circleDiameter?Math.max(e.circleDiameter,t):t};le=ue(S,le),le=ue(C,le),le=ue(E,le);var ce=(le=ue(L,le))>-1?1:0;ce&&(le*=M/Tl),e.glyphOffsetArray.length>=sc.MAX_GLYPHS&&w(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==b.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,b.sortKey),e.symbolInstances.emplaceBack(t.x,t.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,ee,te,re,ne,ie,ae,oe,se,u,D,z,O,I,ce,0,h,j,U,le)}(e,f,s,r,n,i,h,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,y,k,A,l,b,T,S,d,t,a,u,c,o)};if(\"line\"===E)for(var O=0,I=Ou(t.geometry,0,0,co,co);O<I.length;O+=1)for(var D=I[O],z=0,R=Lu(D,_,M,r.vertical||v,n,g,x,e.overscaling,co);z<R.length;z+=1){var F=R[z];v&&Qu(e,v.text,C,F)||P(D,F)}else if(\"line-center\"===E)for(var B=0,N=t.geometry;B<N.length;B+=1){var j=N[B];if(j.length>1){var U=Cu(j,M,r.vertical||v,n,g,x);U&&P(j,U)}}else if(\"Polygon\"===t.type)for(var V=0,H=Is(t.geometry,0);V<H.length;V+=1){var q=H[V],G=Vu(q,16);P(q[0],new xu(G.x,G.y,0))}else if(\"LineString\"===t.type)for(var Y=0,W=t.geometry;Y<W.length;Y+=1){var Z=W[Y];P(Z,new xu(Z[0].x,Z[0].y,0))}else if(\"Point\"===t.type)for(var X=0,K=t.geometry;X<K.length;X+=1)for(var J=0,$=K[X];J<$.length;J+=1){var Q=$[J];P([Q],new xu(Q.x,Q.y,0))}}(e,a,p,N,n,c,f,h,v,j,o)},k=0,T=e.features;k<T.length;k+=1)_();a&&e.generateCollisionDebugBuffers()},e.perspective=function(e,t,r,n,i){var a,o=1/Math.tan(t/2);return e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(a=1/(n-i),e[10]=(i+n)*a,e[14]=2*i*n*a):(e[10]=-1,e[14]=-2*n),e},e.pick=function(e,t){for(var r={},n=0;n<t.length;n++){var i=t[n];i in e&&(r[i]=e[i])}return r},e.plugin=Li,e.polygonIntersectsPolygon=mo,e.postMapLoadEvent=se,e.postTurnstileEvent=ae,e.potpack=$l,e.refProperties=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],e.register=ni,e.registerForPluginStateChange=function(e){return e({pluginStatus:ki,pluginURL:Ti}),Si.on(\"pluginStateChange\",e),e},e.rotate=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),l=Math.cos(r);return e[0]=n*l+a*s,e[1]=i*l+o*s,e[2]=n*-s+a*l,e[3]=i*-s+o*l,e},e.rotateX=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+u*n,e[5]=o*i+c*n,e[6]=s*i+f*n,e[7]=l*i+h*n,e[8]=u*i-a*n,e[9]=c*i-o*n,e[10]=f*i-s*n,e[11]=h*i-l*n,e},e.rotateZ=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+u*n,e[1]=o*i+c*n,e[2]=s*i+f*n,e[3]=l*i+h*n,e[4]=u*i-a*n,e[5]=c*i-o*n,e[6]=f*i-s*n,e[7]=h*i-l*n,e},e.scale=function(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},e.scale$1=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e},e.scale$2=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e},e.setCacheLimits=function(e,t){ue=e,ce=t},e.setRTLTextPlugin=function(e,t,r){if(void 0===r&&(r=!1),ki===yi||ki===xi||ki===bi)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");Ti=F.resolveURL(e),ki=yi,wi=t,Ai(),r||Ci()},e.sphericalToCartesian=function(e){var t=e[0],r=e[1],n=e[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:t*Math.cos(r)*Math.sin(n),y:t*Math.sin(r)*Math.sin(n),z:t*Math.cos(n)}},e.sqrLen=jo,e.styleSpec=De,e.sub=Bo,e.symbolSize=Tu,e.transformMat3=function(e,t,r){var n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e},e.transformMat4=No,e.translate=function(e,t,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],m=r[2];return t===e?(e[12]=t[0]*v+t[4]*g+t[8]*m+t[12],e[13]=t[1]*v+t[5]*g+t[9]*m+t[13],e[14]=t[2]*v+t[6]*g+t[10]*m+t[14],e[15]=t[3]*v+t[7]*g+t[11]*m+t[15]):(n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],p=t[10],d=t[11],e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=l,e[6]=u,e[7]=c,e[8]=f,e[9]=h,e[10]=p,e[11]=d,e[12]=n*v+s*g+f*m+t[12],e[13]=i*v+l*g+h*m+t[13],e[14]=a*v+u*g+p*m+t[14],e[15]=o*v+c*g+d*m+t[15]),e},e.triggerPluginCompletionEvent=Mi,e.uniqueId=p,e.validateCustomStyleLayer=function(e){var t=[],r=e.id;return void 0===r&&t.push({message:\"layers.\"+r+': missing required property \"id\"'}),void 0===e.render&&t.push({message:\"layers.\"+r+': missing required method \"render\"'}),e.renderingMode&&\"2d\"!==e.renderingMode&&\"3d\"!==e.renderingMode&&t.push({message:\"layers.\"+r+': property \"renderingMode\" must be either \"2d\" or \"3d\"'}),t},e.validateLight=Wn,e.validateStyle=Yn,e.values=function(e){var t=[];for(var r in e)t.push(e[r]);return t},e.vectorTile=Ks,e.version=r,e.warnOnce=w,e.webpSupported=N,e.window=self,e.wrap=c})),n(0,(function(e){function t(e){var r=typeof e;if(\"number\"===r||\"boolean\"===r||\"string\"===r||null==e)return JSON.stringify(e);if(Array.isArray(e)){for(var n=\"[\",i=0,a=e;i<a.length;i+=1)n+=t(a[i])+\",\";return n+\"]\"}for(var o=Object.keys(e).sort(),s=\"{\",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+\":\"+t(e[o[l]])+\",\";return s+\"}\"}function r(r){for(var n=\"\",i=0,a=e.refProperties;i<a.length;i+=1)n+=\"/\"+t(r[a[i]]);return n}var n=function(e){this.keyCache={},e&&this.replace(e)};n.prototype.replace=function(e){this._layerConfigs={},this._layers={},this.update(e,[])},n.prototype.update=function(t,n){for(var i=this,a=0,o=t;a<o.length;a+=1){var s=o[a];this._layerConfigs[s.id]=s;var l=this._layers[s.id]=e.createStyleLayer(s);l._featureFilter=e.featureFilter(l.filter),this.keyCache[s.id]&&delete this.keyCache[s.id]}for(var u=0,c=n;u<c.length;u+=1){var f=c[u];delete this.keyCache[f],delete this._layerConfigs[f],delete this._layers[f]}this.familiesBySource={};for(var h=0,p=function(e,t){for(var n={},i=0;i<e.length;i++){var a=t&&t[e[i].id]||r(e[i]);t&&(t[e[i].id]=a);var o=n[a];o||(o=n[a]=[]),o.push(e[i])}var s=[];for(var l in n)s.push(n[l]);return s}(e.values(this._layerConfigs),this.keyCache);h<p.length;h+=1){var d=p[h].map((function(e){return i._layers[e.id]})),v=d[0];if(\"none\"!==v.visibility){var g=v.source||\"\",m=this.familiesBySource[g];m||(m=this.familiesBySource[g]={});var y=v.sourceLayer||\"_geojsonTileLayer\",x=m[y];x||(x=m[y]=[]),x.push(d)}}};var i=function(t){var r={},n=[];for(var i in t){var a=t[i],o=r[i]={};for(var s in a){var l=a[+s];if(l&&0!==l.bitmap.width&&0!==l.bitmap.height){var u={x:0,y:0,w:l.bitmap.width+2,h:l.bitmap.height+2};n.push(u),o[s]={rect:u,metrics:l.metrics}}}}var c=e.potpack(n),f=c.w,h=c.h,p=new e.AlphaImage({width:f||1,height:h||1});for(var d in t){var v=t[d];for(var g in v){var m=v[+g];if(m&&0!==m.bitmap.width&&0!==m.bitmap.height){var y=r[d][g].rect;e.AlphaImage.copy(m.bitmap,p,{x:0,y:0},{x:y.x+1,y:y.y+1},m.bitmap)}}}this.image=p,this.positions=r};e.register(\"GlyphAtlas\",i);var a=function(t){this.tileID=new e.OverscaledTileID(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId};function o(t,r,n){for(var i=new e.EvaluationParameters(r),a=0,o=t;a<o.length;a+=1)o[a].recalculate(i,n)}function s(t,r){var n=e.getArrayBuffer(t.request,(function(t,n,i,a){t?r(t):n&&r(null,{vectorTile:new e.vectorTile.VectorTile(new e.pbf(n)),rawData:n,cacheControl:i,expires:a})}));return function(){n.cancel(),r()}}a.prototype.parse=function(t,r,n,a,s){var l=this;this.status=\"parsing\",this.data=t,this.collisionBoxArray=new e.CollisionBoxArray;var u=new e.DictionaryCoder(Object.keys(t.layers).sort()),c=new e.FeatureIndex(this.tileID,this.promoteId);c.bucketLayerIDs=[];var f,h,p,d,v={},g={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:n},m=r.familiesBySource[this.source];for(var y in m){var x=t.layers[y];if(x){1===x.version&&e.warnOnce('Vector tile source \"'+this.source+'\" layer \"'+y+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var b=u.encode(y),_=[],w=0;w<x.length;w++){var k=x.feature(w),T=c.getId(k,y);_.push({feature:k,id:T,index:w,sourceLayerIndex:b})}for(var M=0,A=m[y];M<A.length;M+=1){var S=A[M],E=S[0];E.minzoom&&this.zoom<Math.floor(E.minzoom)||E.maxzoom&&this.zoom>=E.maxzoom||\"none\"!==E.visibility&&(o(S,this.zoom,n),(v[E.id]=E.createBucket({index:c.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),c.bucketLayerIDs.push(S.map((function(e){return e.id}))))}}}var C=e.mapObject(g.glyphDependencies,(function(e){return Object.keys(e).map(Number)}));Object.keys(C).length?a.send(\"getGlyphs\",{uid:this.uid,stacks:C},(function(e,t){f||(f=e,h=t,O.call(l))})):h={};var L=Object.keys(g.iconDependencies);L.length?a.send(\"getImages\",{icons:L,source:this.source,tileID:this.tileID,type:\"icons\"},(function(e,t){f||(f=e,p=t,O.call(l))})):p={};var P=Object.keys(g.patternDependencies);function O(){if(f)return s(f);if(h&&p&&d){var t=new i(h),r=new e.ImageAtlas(p,d);for(var a in v){var l=v[a];l instanceof e.SymbolBucket?(o(l.layers,this.zoom,n),e.performSymbolLayout(l,h,t.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof e.LineBucket||l instanceof e.FillBucket||l instanceof e.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status=\"done\",s(null,{buckets:e.values(v).filter((function(e){return!e.isEmpty()})),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?t.positions:null})}}P.length?a.send(\"getImages\",{icons:P,source:this.source,tileID:this.tileID,type:\"patterns\"},(function(e,t){f||(f=e,d=t,O.call(l))})):d={},O.call(this)};var l=function(e,t,r,n){this.actor=e,this.layerIndex=t,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(t,r){var n=this,i=t.uid;this.loading||(this.loading={});var o=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request),s=this.loading[i]=new a(t);s.abort=this.loadVectorData(t,(function(t,a){if(delete n.loading[i],t||!a)return s.status=\"done\",n.loaded[i]=s,r(t);var l=a.rawData,u={};a.expires&&(u.expires=a.expires),a.cacheControl&&(u.cacheControl=a.cacheControl);var c={};if(o){var f=o.finish();f&&(c.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(t,n){if(t||!n)return r(t);r(null,e.extend({rawTileData:l.slice(0)},n,u,c))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(e,t){var r=this,n=this.loaded,i=e.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=e.showCollisionBoxes;var s=function(e,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),t(e,n)};\"parsing\"===o.status?o.reloadCallback=s:\"done\"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(e,t){var r=this.loading,n=e.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),t()},l.prototype.removeTile=function(e,t){var r=this.loaded,n=e.uid;r&&r[n]&&delete r[n],t()};var u=e.window.ImageBitmap,c=function(){this.loaded={}};c.prototype.loadTile=function(t,r){var n=t.uid,i=t.encoding,a=t.rawImageData,o=u&&a instanceof u?this.getImageData(a):a,s=new e.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},c.prototype.getImageData=function(t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,t.width+2,t.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new e.RGBAImage({width:r.width,height:r.height},r.data)},c.prototype.removeTile=function(e){var t=this.loaded,r=e.uid;t&&t[r]&&delete t[r]};var f=function e(t,r){var n,i=t&&t.type;if(\"FeatureCollection\"===i)for(n=0;n<t.features.length;n++)e(t.features[n],r);else if(\"GeometryCollection\"===i)for(n=0;n<t.geometries.length;n++)e(t.geometries[n],r);else if(\"Feature\"===i)e(t.geometry,r);else if(\"Polygon\"===i)h(t.coordinates,r);else if(\"MultiPolygon\"===i)for(n=0;n<t.coordinates.length;n++)h(t.coordinates[n],r);return t};function h(e,t){if(0!==e.length){p(e[0],t);for(var r=1;r<e.length;r++)p(e[r],!t)}}function p(e,t){for(var r=0,n=0,i=e.length,a=i-1;n<i;a=n++)r+=(e[n][0]-e[a][0])*(e[a][1]+e[n][1]);r>=0!=!!t&&e.reverse()}var d=e.vectorTile.VectorTileFeature.prototype.toGeoJSON,v=function(t){this._feature=t,this.extent=e.EXTENT,this.type=t.type,this.properties=t.tags,\"id\"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))};v.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],r=0,n=this._feature.geometry;r<n.length;r+=1){var i=n[r];t.push([new e.Point$1(i[0],i[1])])}return t}for(var a=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],u=0,c=s[o];u<c.length;u+=1){var f=c[u];l.push(new e.Point$1(f[0],f[1]))}a.push(l)}return a},v.prototype.toGeoJSON=function(e,t,r){return d.call(this,e,t,r)};var g=function(t){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=e.EXTENT,this.length=t.length,this._features=t};g.prototype.feature=function(e){return new v(this._features[e])};var m=e.vectorTile.VectorTileFeature,y=x;function x(e,t){this.options=t||{},this.features=e,this.length=e.length}function b(e,t){this.id=\"number\"==typeof e.id?e.id:void 0,this.type=e.type,this.rawGeometry=1===e.type?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=t||4096}x.prototype.feature=function(e){return new b(this.features[e],this.options.extent)},b.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var r=0;r<t.length;r++){for(var n=t[r],i=[],a=0;a<n.length;a++)i.push(new e.Point$1(n[a][0],n[a][1]));this.geometry.push(i)}return this.geometry},b.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var e=this.geometry,t=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<e.length;a++)for(var o=e[a],s=0;s<o.length;s++){var l=o[s];t=Math.min(t,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.y)}return[t,n,r,i]},b.prototype.toGeoJSON=m.prototype.toGeoJSON;var _=M,w=M,k=function(e,t){t=t||{};var r={};for(var n in e)r[n]=new y(e[n].features,t),r[n].name=n,r[n].version=t.version,r[n].extent=t.extent;return M({layers:r})},T=y;function M(t){var r=new e.pbf;return function(e,t){for(var r in e.layers)t.writeMessage(3,A,e.layers[r])}(t,r),r.finish()}function A(e,t){var r;t.writeVarintField(15,e.version||1),t.writeStringField(1,e.name||\"\"),t.writeVarintField(5,e.extent||4096);var n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<e.length;r++)n.feature=e.feature(r),t.writeMessage(2,S,n);var i=n.keys;for(r=0;r<i.length;r++)t.writeStringField(3,i[r]);var a=n.values;for(r=0;r<a.length;r++)t.writeMessage(4,O,a[r])}function S(e,t){var r=e.feature;void 0!==r.id&&t.writeVarintField(1,r.id),t.writeMessage(2,E,e),t.writeVarintField(3,r.type),t.writeMessage(4,P,r)}function E(e,t){var r=e.feature,n=e.keys,i=e.values,a=e.keycache,o=e.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),l=n.length-1,a[s]=l),t.writeVarint(l);var u=r.properties[s],c=typeof u;\"string\"!==c&&\"boolean\"!==c&&\"number\"!==c&&(u=JSON.stringify(u));var f=c+\":\"+u,h=o[f];void 0===h&&(i.push(u),h=i.length-1,o[f]=h),t.writeVarint(h)}}function C(e,t){return(t<<3)+(7&e)}function L(e){return e<<1^e>>31}function P(e,t){for(var r=e.loadGeometry(),n=e.type,i=0,a=0,o=r.length,s=0;s<o;s++){var l=r[s],u=1;1===n&&(u=l.length),t.writeVarint(C(1,u));for(var c=3===n?l.length-1:l.length,f=0;f<c;f++){1===f&&1!==n&&t.writeVarint(C(2,c-1));var h=l[f].x-i,p=l[f].y-a;t.writeVarint(L(h)),t.writeVarint(L(p)),i+=h,a+=p}3===n&&t.writeVarint(C(7,1))}}function O(e,t){var r=typeof e;\"string\"===r?t.writeStringField(1,e):\"boolean\"===r?t.writeBooleanField(7,e):\"number\"===r&&(e%1!=0?t.writeDoubleField(3,e):e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e))}function I(e,t,r,n,i,a){if(!(i-n<=r)){var o=n+i>>1;D(e,t,o,n,i,a%2),I(e,t,r,n,o-1,a+1),I(e,t,r,o+1,i,a+1)}}function D(e,t,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(o-u)/o)*(s-o/2<0?-1:1);D(e,t,r,Math.max(n,Math.floor(r-s*u/o+c)),Math.min(i,Math.floor(r+(o-s)*u/o+c)),a)}var f=t[2*r+a],h=n,p=i;for(z(e,t,n,r),t[2*i+a]>f&&z(e,t,n,i);h<p;){for(z(e,t,h,p),h++,p--;t[2*h+a]<f;)h++;for(;t[2*p+a]>f;)p--}t[2*n+a]===f?z(e,t,n,p):z(e,t,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function z(e,t,r,n){R(e,r,n),R(t,2*r,2*n),R(t,2*r+1,2*n+1)}function R(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function F(e,t,r,n){var i=e-r,a=t-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=k,_.GeoJSONWrapper=T;var B=function(e){return e[0]},N=function(e){return e[1]},j=function(e,t,r,n,i){void 0===t&&(t=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=e;for(var a=e.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(e.length),s=this.coords=new i(2*e.length),l=0;l<e.length;l++)o[l]=l,s[2*l]=t(e[l]),s[2*l+1]=r(e[l]);I(o,s,n,0,o.length-1,0)};j.prototype.range=function(e,t,r,n){return function(e,t,r,n,i,a,o){for(var s,l,u=[0,e.length-1,0],c=[];u.length;){var f=u.pop(),h=u.pop(),p=u.pop();if(h-p<=o)for(var d=p;d<=h;d++)s=t[2*d],l=t[2*d+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(e[d]);else{var v=Math.floor((p+h)/2);s=t[2*v],l=t[2*v+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(e[v]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(u.push(p),u.push(v-1),u.push(g)),(0===f?i>=s:a>=l)&&(u.push(v+1),u.push(h),u.push(g))}}return c}(this.ids,this.coords,e,t,r,n,this.nodeSize)},j.prototype.within=function(e,t,r){return function(e,t,r,n,i,a){for(var o=[0,e.length-1,0],s=[],l=i*i;o.length;){var u=o.pop(),c=o.pop(),f=o.pop();if(c-f<=a)for(var h=f;h<=c;h++)F(t[2*h],t[2*h+1],r,n)<=l&&s.push(e[h]);else{var p=Math.floor((f+c)/2),d=t[2*p],v=t[2*p+1];F(d,v,r,n)<=l&&s.push(e[p]);var g=(u+1)%2;(0===u?r-i<=d:n-i<=v)&&(o.push(f),o.push(p-1),o.push(g)),(0===u?r+i>=d:n+i>=v)&&(o.push(p+1),o.push(c),o.push(g))}}return s}(this.ids,this.coords,e,t,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(e){return e}},V=function(e){this.options=X(Object.create(U),e),this.trees=new Array(this.options.maxZoom+1)};function H(e,t,r,n,i){return{x:e,y:t,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function q(e,t){var r=e.geometry.coordinates,n=r[0],i=r[1];return{x:W(n),y:Z(i),zoom:1/0,index:t,parentId:-1}}function G(e){return{type:\"Feature\",id:e.id,properties:Y(e),geometry:{type:\"Point\",coordinates:[(n=e.x,360*(n-.5)),(t=e.y,r=(180-360*t)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var t,r,n}function Y(e){var t=e.numPoints,r=t>=1e4?Math.round(t/1e3)+\"k\":t>=1e3?Math.round(t/100)/10+\"k\":t;return X(X({},e.properties),{cluster:!0,cluster_id:e.id,point_count:t,point_count_abbreviated:r})}function W(e){return e/360+.5}function Z(e){var t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function X(e,t){for(var r in t)e[r]=t[r];return e}function K(e){return e.x}function J(e){return e.y}function $(e,t,r,n){for(var i,a=n,o=r-t>>1,s=r-t,l=e[t],u=e[t+1],c=e[r],f=e[r+1],h=t+3;h<r;h+=3){var p=Q(e[h],e[h+1],l,u,c,f);if(p>a)i=h,a=p;else if(p===a){var d=Math.abs(h-o);d<s&&(i=h,s=d)}}a>n&&(i-t>3&&$(e,t,i,n),e[i+2]=a,r-i>3&&$(e,i,r,n))}function Q(e,t,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((e-r)*o+(t-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=e-r)*o+(s=t-n)*s}function ee(e,t,r,n){var i={id:void 0===e?null:e,type:t,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,r=e.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)te(e,t);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var n=0;n<t.length;n++)te(e,t[n]);else if(\"MultiPolygon\"===r)for(n=0;n<t.length;n++)for(var i=0;i<t[n].length;i++)te(e,t[n][i])}(i),i}function te(e,t){for(var r=0;r<t.length;r+=3)e.minX=Math.min(e.minX,t[r]),e.minY=Math.min(e.minY,t[r+1]),e.maxX=Math.max(e.maxX,t[r]),e.maxY=Math.max(e.maxY,t[r+1])}function re(e,t,r,n){if(t.geometry){var i=t.geometry.coordinates,a=t.geometry.type,o=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),s=[],l=t.id;if(r.promoteId?l=t.properties[r.promoteId]:r.generateId&&(l=n||0),\"Point\"===a)ne(i,s);else if(\"MultiPoint\"===a)for(var u=0;u<i.length;u++)ne(i[u],s);else if(\"LineString\"===a)ie(i,s,o,!1);else if(\"MultiLineString\"===a){if(r.lineMetrics){for(u=0;u<i.length;u++)s=[],ie(i[u],s,o,!1),e.push(ee(l,\"LineString\",s,t.properties));return}ae(i,s,o,!1)}else if(\"Polygon\"===a)ae(i,s,o,!0);else{if(\"MultiPolygon\"!==a){if(\"GeometryCollection\"===a){for(u=0;u<t.geometry.geometries.length;u++)re(e,{id:l,geometry:t.geometry.geometries[u],properties:t.properties},r,n);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(u=0;u<i.length;u++){var c=[];ae(i[u],c,o,!0),s.push(c)}}e.push(ee(l,a,s,t.properties))}}function ne(e,t){t.push(oe(e[0])),t.push(se(e[1])),t.push(0)}function ie(e,t,r,n){for(var i,a,o=0,s=0;s<e.length;s++){var l=oe(e[s][0]),u=se(e[s][1]);t.push(l),t.push(u),t.push(0),s>0&&(o+=n?(i*u-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(u-a,2))),i=l,a=u}var c=t.length-3;t[2]=1,$(t,0,c,r),t[c+2]=1,t.size=Math.abs(o),t.start=0,t.end=t.size}function ae(e,t,r,n){for(var i=0;i<e.length;i++){var a=[];ie(e[i],a,r,n),t.push(a)}}function oe(e){return e/360+.5}function se(e){var t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function le(e,t,r,n,i,a,o,s){if(n/=t,a>=(r/=t)&&o<n)return e;if(o<r||a>=n)return null;for(var l=[],u=0;u<e.length;u++){var c=e[u],f=c.geometry,h=c.type,p=0===i?c.minX:c.minY,d=0===i?c.maxX:c.maxY;if(p>=r&&d<n)l.push(c);else if(!(d<r||p>=n)){var v=[];if(\"Point\"===h||\"MultiPoint\"===h)ue(f,v,r,n,i);else if(\"LineString\"===h)ce(f,v,r,n,i,!1,s.lineMetrics);else if(\"MultiLineString\"===h)he(f,v,r,n,i,!1);else if(\"Polygon\"===h)he(f,v,r,n,i,!0);else if(\"MultiPolygon\"===h)for(var g=0;g<f.length;g++){var m=[];he(f[g],m,r,n,i,!0),m.length&&v.push(m)}if(v.length){if(s.lineMetrics&&\"LineString\"===h){for(g=0;g<v.length;g++)l.push(ee(c.id,h,v[g],c.tags));continue}\"LineString\"!==h&&\"MultiLineString\"!==h||(1===v.length?(h=\"LineString\",v=v[0]):h=\"MultiLineString\"),\"Point\"!==h&&\"MultiPoint\"!==h||(h=3===v.length?\"Point\":\"MultiPoint\"),l.push(ee(c.id,h,v,c.tags))}}}return l.length?l:null}function ue(e,t,r,n,i){for(var a=0;a<e.length;a+=3){var o=e[a+i];o>=r&&o<=n&&(t.push(e[a]),t.push(e[a+1]),t.push(e[a+2]))}}function ce(e,t,r,n,i,a,o){for(var s,l,u=fe(e),c=0===i?de:ve,f=e.start,h=0;h<e.length-3;h+=3){var p=e[h],d=e[h+1],v=e[h+2],g=e[h+3],m=e[h+4],y=0===i?p:d,x=0===i?g:m,b=!1;o&&(s=Math.sqrt(Math.pow(p-g,2)+Math.pow(d-m,2))),y<r?x>r&&(l=c(u,p,d,g,m,r),o&&(u.start=f+s*l)):y>n?x<n&&(l=c(u,p,d,g,m,n),o&&(u.start=f+s*l)):pe(u,p,d,v),x<r&&y>=r&&(l=c(u,p,d,g,m,r),b=!0),x>n&&y<=n&&(l=c(u,p,d,g,m,n),b=!0),!a&&b&&(o&&(u.end=f+s*l),t.push(u),u=fe(e)),o&&(f+=s)}var _=e.length-3;p=e[_],d=e[_+1],v=e[_+2],(y=0===i?p:d)>=r&&y<=n&&pe(u,p,d,v),_=u.length-3,a&&_>=3&&(u[_]!==u[0]||u[_+1]!==u[1])&&pe(u,u[0],u[1],u[2]),u.length&&t.push(u)}function fe(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function he(e,t,r,n,i,a){for(var o=0;o<e.length;o++)ce(e[o],t,r,n,i,a,!1)}function pe(e,t,r,n){e.push(t),e.push(r),e.push(n)}function de(e,t,r,n,i,a){var o=(a-t)/(n-t);return e.push(a),e.push(r+(i-r)*o),e.push(1),o}function ve(e,t,r,n,i,a){var o=(a-r)/(i-r);return e.push(t+(n-t)*o),e.push(a),e.push(1),o}function ge(e,t){for(var r=[],n=0;n<e.length;n++){var i,a=e[n],o=a.type;if(\"Point\"===o||\"MultiPoint\"===o||\"LineString\"===o)i=me(a.geometry,t);else if(\"MultiLineString\"===o||\"Polygon\"===o){i=[];for(var s=0;s<a.geometry.length;s++)i.push(me(a.geometry[s],t))}else if(\"MultiPolygon\"===o)for(i=[],s=0;s<a.geometry.length;s++){for(var l=[],u=0;u<a.geometry[s].length;u++)l.push(me(a.geometry[s][u],t));i.push(l)}r.push(ee(a.id,o,i,a.tags))}return r}function me(e,t){var r=[];r.size=e.size,void 0!==e.start&&(r.start=e.start,r.end=e.end);for(var n=0;n<e.length;n+=3)r.push(e[n]+t,e[n+1],e[n+2]);return r}function ye(e,t){if(e.transformed)return e;var r,n,i,a=1<<e.z,o=e.x,s=e.y;for(r=0;r<e.features.length;r++){var l=e.features[r],u=l.geometry,c=l.type;if(l.geometry=[],1===c)for(n=0;n<u.length;n+=2)l.geometry.push(xe(u[n],u[n+1],t,a,o,s));else for(n=0;n<u.length;n++){var f=[];for(i=0;i<u[n].length;i+=2)f.push(xe(u[n][i],u[n][i+1],t,a,o,s));l.geometry.push(f)}}return e.transformed=!0,e}function xe(e,t,r,n,i,a){return[Math.round(r*(e*n-i)),Math.round(r*(t*n-a))]}function be(e,t,r,n,i){for(var a=t===i.maxZoom?0:i.tolerance/((1<<t)*i.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z:t,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<e.length;s++){o.numFeatures++,_e(o,e[s],a,i);var l=e[s].minX,u=e[s].minY,c=e[s].maxX,f=e[s].maxY;l<o.minX&&(o.minX=l),u<o.minY&&(o.minY=u),c>o.maxX&&(o.maxX=c),f>o.maxY&&(o.maxY=f)}return o}function _e(e,t,r,n){var i=t.geometry,a=t.type,o=[];if(\"Point\"===a||\"MultiPoint\"===a)for(var s=0;s<i.length;s+=3)o.push(i[s]),o.push(i[s+1]),e.numPoints++,e.numSimplified++;else if(\"LineString\"===a)we(o,i,e,r,!1,!1);else if(\"MultiLineString\"===a||\"Polygon\"===a)for(s=0;s<i.length;s++)we(o,i[s],e,r,\"Polygon\"===a,0===s);else if(\"MultiPolygon\"===a)for(var l=0;l<i.length;l++){var u=i[l];for(s=0;s<u.length;s++)we(o,u[s],e,r,!0,0===s)}if(o.length){var c=t.tags||null;if(\"LineString\"===a&&n.lineMetrics){for(var f in c={},t.tags)c[f]=t.tags[f];c.mapbox_clip_start=i.start/i.size,c.mapbox_clip_end=i.end/i.size}var h={geometry:o,type:\"Polygon\"===a||\"MultiPolygon\"===a?3:\"LineString\"===a||\"MultiLineString\"===a?2:1,tags:c};null!==t.id&&(h.id=t.id),e.features.push(h)}}function we(e,t,r,n,i,a){var o=n*n;if(n>0&&t.size<(i?o:n))r.numPoints+=t.length/3;else{for(var s=[],l=0;l<t.length;l+=3)(0===n||t[l+2]>o)&&(r.numSimplified++,s.push(t[l]),s.push(t[l+1])),r.numPoints++;i&&function(e,t){for(var r=0,n=0,i=e.length,a=i-2;n<i;a=n,n+=2)r+=(e[n]-e[a])*(e[n+1]+e[a+1]);if(r>0===t)for(n=0,i=e.length;n<i/2;n+=2){var o=e[n],s=e[n+1];e[n]=e[i-2-n],e[n+1]=e[i-1-n],e[i-2-n]=o,e[i-1-n]=s}}(s,a),e.push(s)}}function ke(e,t){var r=(t=this.options=function(e,t){for(var r in t)e[r]=t[r];return e}(Object.create(this.options),t)).debug;if(r&&console.time(\"preprocess data\"),t.maxZoom<0||t.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(t.promoteId&&t.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var n=function(e,t){var r=[];if(\"FeatureCollection\"===e.type)for(var n=0;n<e.features.length;n++)re(r,e.features[n],t,n);else\"Feature\"===e.type?re(r,e,t):re(r,{geometry:e},t);return r}(e,t);this.tiles={},this.tileCoords=[],r&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",t.indexMaxZoom,t.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),(n=function(e,t){var r=t.buffer/t.extent,n=e,i=le(e,1,-1-r,r,0,-1,2,t),a=le(e,1,1-r,2+r,0,-1,2,t);return(i||a)&&(n=le(e,1,-r,1+r,0,-1,2,t)||[],i&&(n=ge(i,1).concat(n)),a&&(n=n.concat(ge(a,-1)))),n}(n,t)).length&&this.splitTile(n,0,0,0),r&&(n.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}function Te(e,t,r){return 32*((1<<e)*r+t)+e}function Me(e,t){var r=e.tileID.canonical;if(!this._geoJSONIndex)return t(null,null);var n=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!n)return t(null,null);var i=new g(n.features),a=_(i);0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),t(null,{vectorTile:i,rawData:a.buffer})}V.prototype.load=function(e){var t=this.options,r=t.log,n=t.minZoom,i=t.maxZoom,a=t.nodeSize;r&&console.time(\"total time\");var o=\"prepare \"+e.length+\" points\";r&&console.time(o),this.points=e;for(var s=[],l=0;l<e.length;l++)e[l].geometry&&s.push(q(e[l],l));this.trees[i+1]=new j(s,K,J,a,Float32Array),r&&console.timeEnd(o);for(var u=i;u>=n;u--){var c=+Date.now();s=this._cluster(s,u),this.trees[u]=new j(s,K,J,a,Float32Array),r&&console.log(\"z%d: %d clusters in %dms\",u,s.length,+Date.now()-c)}return r&&console.timeEnd(\"total time\"),this},V.prototype.getClusters=function(e,t){var r=((e[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,e[1])),i=180===e[2]?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],t),s=this.getClusters([-180,n,i,a],t);return o.concat(s)}for(var l=this.trees[this._limitZoom(t)],u=[],c=0,f=l.range(W(r),Z(a),W(i),Z(n));c<f.length;c+=1){var h=f[c],p=l.points[h];u.push(p.numPoints?G(p):this.points[p.index])}return u},V.prototype.getChildren=function(e){var t=this._getOriginId(e),r=this._getOriginZoom(e),n=\"No cluster with the specified id.\",i=this.trees[r];if(!i)throw new Error(n);var a=i.points[t];if(!a)throw new Error(n);for(var o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=[],l=0,u=i.within(a.x,a.y,o);l<u.length;l+=1){var c=u[l],f=i.points[c];f.parentId===e&&s.push(f.numPoints?G(f):this.points[f.index])}if(0===s.length)throw new Error(n);return s},V.prototype.getLeaves=function(e,t,r){t=t||10,r=r||0;var n=[];return this._appendLeaves(n,e,t,r,0),n},V.prototype.getTile=function(e,t,r){var n=this.trees[this._limitZoom(e)],i=Math.pow(2,e),a=this.options,o=a.extent,s=a.radius/o,l=(r-s)/i,u=(r+1+s)/i,c={features:[]};return this._addTileFeatures(n.range((t-s)/i,l,(t+1+s)/i,u),n.points,t,r,i,c),0===t&&this._addTileFeatures(n.range(1-s/i,l,1,u),n.points,i,r,i,c),t===i-1&&this._addTileFeatures(n.range(0,l,s/i,u),n.points,-1,r,i,c),c.features.length?c:null},V.prototype.getClusterExpansionZoom=function(e){for(var t=this._getOriginZoom(e)-1;t<=this.options.maxZoom;){var r=this.getChildren(e);if(t++,1!==r.length)break;e=r[0].properties.cluster_id}return t},V.prototype._appendLeaves=function(e,t,r,n,i){for(var a=0,o=this.getChildren(t);a<o.length;a+=1){var s=o[a],l=s.properties;if(l&&l.cluster?i+l.point_count<=n?i+=l.point_count:i=this._appendLeaves(e,l.cluster_id,r,n,i):i<n?i++:e.push(s),e.length===r)break}return i},V.prototype._addTileFeatures=function(e,t,r,n,i,a){for(var o=0,s=e;o<s.length;o+=1){var l=t[s[o]],u=l.numPoints,c={type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:u?Y(l):this.points[l.index].properties},f=void 0;u?f=l.id:this.options.generateId?f=l.index:this.points[l.index].id&&(f=this.points[l.index].id),void 0!==f&&(c.id=f),a.features.push(c)}},V.prototype._limitZoom=function(e){return Math.max(this.options.minZoom,Math.min(e,this.options.maxZoom+1))},V.prototype._cluster=function(e,t){for(var r=[],n=this.options,i=n.radius,a=n.extent,o=n.reduce,s=i/(a*Math.pow(2,t)),l=0;l<e.length;l++){var u=e[l];if(!(u.zoom<=t)){u.zoom=t;for(var c=this.trees[t+1],f=c.within(u.x,u.y,s),h=u.numPoints||1,p=u.x*h,d=u.y*h,v=o&&h>1?this._map(u,!0):null,g=(l<<5)+(t+1)+this.points.length,m=0,y=f;m<y.length;m+=1){var x=y[m],b=c.points[x];if(!(b.zoom<=t)){b.zoom=t;var _=b.numPoints||1;p+=b.x*_,d+=b.y*_,h+=_,b.parentId=g,o&&(v||(v=this._map(u,!0)),o(v,this._map(b)))}}1===h?r.push(u):(u.parentId=g,r.push(H(p/h,d/h,g,h,v)))}}return r},V.prototype._getOriginId=function(e){return e-this.points.length>>5},V.prototype._getOriginZoom=function(e){return(e-this.points.length)%32},V.prototype._map=function(e,t){if(e.numPoints)return t?X({},e.properties):e.properties;var r=this.points[e.index].properties,n=this.options.map(r);return t&&n===r?X({},n):n},ke.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},ke.prototype.splitTile=function(e,t,r,n,i,a,o){for(var s=[e,t,r,n],l=this.options,u=l.debug;s.length;){n=s.pop(),r=s.pop(),t=s.pop(),e=s.pop();var c=1<<t,f=Te(t,r,n),h=this.tiles[f];if(!h&&(u>1&&console.time(\"creation\"),h=this.tiles[f]=be(e,t,r,n,l),this.tileCoords.push({z:t,x:r,y:n}),u)){u>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd(\"creation\"));var p=\"z\"+t;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=e,i){if(t===l.maxZoom||t===i)continue;var d=1<<i-t;if(r!==Math.floor(a/d)||n!==Math.floor(o/d))continue}else if(t===l.indexMaxZoom||h.numPoints<=l.indexMaxPoints)continue;if(h.source=null,0!==e.length){u>1&&console.time(\"clipping\");var v,g,m,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,k=.5+_,T=1+_;v=g=m=y=null,x=le(e,c,r-_,r+k,0,h.minX,h.maxX,l),b=le(e,c,r+w,r+T,0,h.minX,h.maxX,l),e=null,x&&(v=le(x,c,n-_,n+k,1,h.minY,h.maxY,l),g=le(x,c,n+w,n+T,1,h.minY,h.maxY,l),x=null),b&&(m=le(b,c,n-_,n+k,1,h.minY,h.maxY,l),y=le(b,c,n+w,n+T,1,h.minY,h.maxY,l),b=null),u>1&&console.timeEnd(\"clipping\"),s.push(v||[],t+1,2*r,2*n),s.push(g||[],t+1,2*r,2*n+1),s.push(m||[],t+1,2*r+1,2*n),s.push(y||[],t+1,2*r+1,2*n+1)}}},ke.prototype.getTile=function(e,t,r){var n=this.options,i=n.extent,a=n.debug;if(e<0||e>24)return null;var o=1<<e,s=Te(e,t=(t%o+o)%o,r);if(this.tiles[s])return ye(this.tiles[s],i);a>1&&console.log(\"drilling down to z%d-%d-%d\",e,t,r);for(var l,u=e,c=t,f=r;!l&&u>0;)u--,c=Math.floor(c/2),f=Math.floor(f/2),l=this.tiles[Te(u,c,f)];return l&&l.source?(a>1&&console.log(\"found parent tile z%d-%d-%d\",u,c,f),a>1&&console.time(\"drilling down\"),this.splitTile(l.source,u,c,f,e,t,r),a>1&&console.timeEnd(\"drilling down\"),this.tiles[s]?ye(this.tiles[s],i):null):null};var Ae=function(t){function r(e,r,n,i){t.call(this,e,r,n,Me),i&&(this.loadGeoJSON=i)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.loadData=function(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=t,this._pendingLoadDataParams=e,this._state&&\"Idle\"!==this._state?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData())},r.prototype._loadData=function(){var t=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new e.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if(\"object\"!=typeof o)return r(new Error(\"Input data given to '\"+n.source+\"' is not a valid GeoJSON object.\"));f(o,!0);try{t._geoJSONIndex=n.cluster?new V(function(t){var r=t.superclusterOptions,n=t.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),u=0,c=l;u<c.length;u+=1){var f=c[u],h=n[f],p=h[0],d=h[1],v=e.createExpression(d),g=e.createExpression(\"string\"==typeof p?[p,[\"accumulated\"],[\"get\",f]]:p);i[f]=v.value,a[f]=g.value}return r.map=function(e){s.properties=e;for(var t={},r=0,n=l;r<n.length;r+=1){var a=n[r];t[a]=i[a].evaluate(o,s)}return t},r.reduce=function(e,t){s.properties=t;for(var r=0,n=l;r<n.length;r+=1){var i=n[r];o.accumulated=e[i],e[i]=a[i].evaluate(o,s)}},r}(n)).load(o.features):function(e,t){return new ke(e,t)}(o,n.geojsonVtOptions)}catch(a){return r(a)}t.loaded={};var s={};if(i){var l=i.finish();l&&(s.resourceTiming={},s.resourceTiming[n.source]=JSON.parse(JSON.stringify(l)))}r(null,s)}))}},r.prototype.coalesce=function(){\"Coalescing\"===this._state?this._state=\"Idle\":\"NeedsLoadData\"===this._state&&(this._state=\"Coalescing\",this._loadData())},r.prototype.reloadTile=function(e,r){var n=this.loaded,i=e.uid;return n&&n[i]?t.prototype.reloadTile.call(this,e,r):this.loadTile(e,r)},r.prototype.loadGeoJSON=function(t,r){if(t.request)e.getJSON(t.request,r);else{if(\"string\"!=typeof t.data)return r(new Error(\"Input data given to '\"+t.source+\"' is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(t.data))}catch(e){return r(new Error(\"Input data given to '\"+t.source+\"' is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),t()},r.prototype.getClusterExpansionZoom=function(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId))}catch(e){t(e)}},r.prototype.getClusterChildren=function(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId))}catch(e){t(e)}},r.prototype.getClusterLeaves=function(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset))}catch(e){t(e)}},r}(l);var Se=function(t){var r=this;this.self=t,this.actor=new e.Actor(t,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:Ae},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(e,t){if(r.workerSourceTypes[e])throw new Error('Worker source with name \"'+e+'\" already registered.');r.workerSourceTypes[e]=t},this.self.registerRTLTextPlugin=function(t){if(e.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");e.plugin.applyArabicShaping=t.applyArabicShaping,e.plugin.processBidirectionalText=t.processBidirectionalText,e.plugin.processStyledBidirectionalText=t.processStyledBidirectionalText}};return Se.prototype.setReferrer=function(e,t){this.referrer=t},Se.prototype.setImages=function(e,t,r){for(var n in this.availableImages[e]=t,this.workerSources[e]){var i=this.workerSources[e][n];for(var a in i)i[a].availableImages=t}r()},Se.prototype.setLayers=function(e,t,r){this.getLayerIndex(e).replace(t),r()},Se.prototype.updateLayers=function(e,t,r){this.getLayerIndex(e).update(t.layers,t.removedIds),r()},Se.prototype.loadTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).loadTile(t,r)},Se.prototype.loadDEMTile=function(e,t,r){this.getDEMWorkerSource(e,t.source).loadTile(t,r)},Se.prototype.reloadTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).reloadTile(t,r)},Se.prototype.abortTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).abortTile(t,r)},Se.prototype.removeTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).removeTile(t,r)},Se.prototype.removeDEMTile=function(e,t){this.getDEMWorkerSource(e,t.source).removeTile(t)},Se.prototype.removeSource=function(e,t,r){if(this.workerSources[e]&&this.workerSources[e][t.type]&&this.workerSources[e][t.type][t.source]){var n=this.workerSources[e][t.type][t.source];delete this.workerSources[e][t.type][t.source],void 0!==n.removeSource?n.removeSource(t,r):r()}},Se.prototype.loadWorkerSource=function(e,t,r){try{this.self.importScripts(t.url),r()}catch(e){r(e.toString())}},Se.prototype.syncRTLPluginState=function(t,r,n){try{e.plugin.setState(r);var i=e.plugin.getPluginURL();if(e.plugin.isLoaded()&&!e.plugin.isParsed()&&null!=i){this.self.importScripts(i);var a=e.plugin.isParsed();n(a?void 0:new Error(\"RTL Text Plugin failed to import scripts from \"+i),a)}}catch(e){n(e.toString())}},Se.prototype.getAvailableImages=function(e){var t=this.availableImages[e];return t||(t=[]),t},Se.prototype.getLayerIndex=function(e){var t=this.layerIndexes[e];return t||(t=this.layerIndexes[e]=new n),t},Se.prototype.getWorkerSource=function(e,t,r){var n=this;if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][r]){var i={send:function(t,r,i){n.actor.send(t,r,i,e)}};this.workerSources[e][t][r]=new this.workerSourceTypes[t](i,this.getLayerIndex(e),this.getAvailableImages(e))}return this.workerSources[e][t][r]},Se.prototype.getDEMWorkerSource=function(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new c),this.demWorkerSources[e][t]},Se.prototype.enforceCacheSizeLimit=function(t,r){e.enforceCacheSizeLimit(r)},\"undefined\"!=typeof WorkerGlobalScope&&void 0!==e.window&&e.window instanceof WorkerGlobalScope&&(e.window.worker=new Se(e.window)),Se})),n(0,(function(e){var t=e.createCommonjsModule((function(e){function t(e){return!r(e)}function r(e){return\"undefined\"!=typeof window&&\"undefined\"!=typeof document?Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON?function(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return!1;var e,t,r=new Blob([\"\"],{type:\"text/javascript\"}),n=URL.createObjectURL(r);try{t=new Worker(n),e=!0}catch(t){e=!1}return t&&t.terminate(),URL.revokeObjectURL(n),e}()?\"Uint8ClampedArray\"in window?ArrayBuffer.isView?function(){var e=document.createElement(\"canvas\");e.width=e.height=1;var t=e.getContext(\"2d\");if(!t)return!1;var r=t.getImageData(0,0,1,1);return r&&r.width===e.width}()?(r=e&&e.failIfMajorPerformanceCaveat,void 0===n[r]&&(n[r]=function(e){var r=function(e){var r=document.createElement(\"canvas\"),n=Object.create(t.webGLContextAttributes);return n.failIfMajorPerformanceCaveat=e,r.probablySupportsContext?r.probablySupportsContext(\"webgl\",n)||r.probablySupportsContext(\"experimental-webgl\",n):r.supportsContext?r.supportsContext(\"webgl\",n)||r.supportsContext(\"experimental-webgl\",n):r.getContext(\"webgl\",n)||r.getContext(\"experimental-webgl\",n)}(e);if(!r)return!1;var n=r.createShader(r.VERTEX_SHADER);return!(!n||r.isContextLost())&&(r.shaderSource(n,\"void main() {}\"),r.compileShader(n),!0===r.getShaderParameter(n,r.COMPILE_STATUS))}(r)),n[r]?void 0:\"insufficient WebGL support\"):\"insufficient Canvas/getImageData support\":\"insufficient ArrayBuffer support\":\"insufficient Uint8ClampedArray support\":\"insufficient worker support\":\"insufficient JSON support\":\"insufficient Object support\":\"insufficient Function support\":\"insufficent Array support\":\"not a browser\";var r}e.exports?e.exports=t:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=t,window.mapboxgl.notSupportedReason=r);var n={};t.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}})),r={create:function(t,r,n){var i=e.window.document.createElement(t);return void 0!==r&&(i.className=r),n&&n.appendChild(i),i},createNS:function(t,r){return e.window.document.createElementNS(t,r)}},n=e.window.document.documentElement.style;function i(e){if(!n)return e[0];for(var t=0;t<e.length;t++)if(e[t]in n)return e[t];return e[0]}var a,o=i([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]);r.disableDrag=function(){n&&o&&(a=n[o],n[o]=\"none\")},r.enableDrag=function(){n&&o&&(n[o]=a)};var s=i([\"transform\",\"WebkitTransform\"]);r.setTransform=function(e,t){e.style[s]=t};var l=!1;try{var u=Object.defineProperty({},\"passive\",{get:function(){l=!0}});e.window.addEventListener(\"test\",u,u),e.window.removeEventListener(\"test\",u,u)}catch(e){l=!1}r.addEventListener=function(e,t,r,n){void 0===n&&(n={}),\"passive\"in n&&l?e.addEventListener(t,r,n):e.addEventListener(t,r,n.capture)},r.removeEventListener=function(e,t,r,n){void 0===n&&(n={}),\"passive\"in n&&l?e.removeEventListener(t,r,n):e.removeEventListener(t,r,n.capture)};var c=function(t){t.preventDefault(),t.stopPropagation(),e.window.removeEventListener(\"click\",c,!0)};function f(e){var t=e.userImage;return!!(t&&t.render&&t.render())&&(e.data.replace(new Uint8Array(t.data.buffer)),!0)}r.suppressClick=function(){e.window.addEventListener(\"click\",c,!0),e.window.setTimeout((function(){e.window.removeEventListener(\"click\",c,!0)}),0)},r.mousePos=function(t,r){var n=t.getBoundingClientRect();return new e.Point(r.clientX-n.left-t.clientLeft,r.clientY-n.top-t.clientTop)},r.touchPos=function(t,r){for(var n=t.getBoundingClientRect(),i=[],a=0;a<r.length;a++)i.push(new e.Point(r[a].clientX-n.left-t.clientLeft,r[a].clientY-n.top-t.clientTop));return i},r.mouseButton=function(t){return void 0!==e.window.InstallTrigger&&2===t.button&&t.ctrlKey&&e.window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0?0:t.button},r.remove=function(e){e.parentNode&&e.parentNode.removeChild(e)};var h=function(t){function r(){t.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.RGBAImage({width:1,height:1}),this.dirty=!0}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(e){if(this.loaded!==e&&(this.loaded=e,e)){for(var t=0,r=this.requestors;t<r.length;t+=1){var n=r[t],i=n.ids,a=n.callback;this._notify(i,a)}this.requestors=[]}},r.prototype.getImage=function(e){return this.images[e]},r.prototype.addImage=function(e,t){this._validate(e,t)&&(this.images[e]=t)},r.prototype._validate=function(t,r){var n=!0;return this._validateStretch(r.stretchX,r.data&&r.data.width)||(this.fire(new e.ErrorEvent(new Error('Image \"'+t+'\" has invalid \"stretchX\" value'))),n=!1),this._validateStretch(r.stretchY,r.data&&r.data.height)||(this.fire(new e.ErrorEvent(new Error('Image \"'+t+'\" has invalid \"stretchY\" value'))),n=!1),this._validateContent(r.content,r)||(this.fire(new e.ErrorEvent(new Error('Image \"'+t+'\" has invalid \"content\" value'))),n=!1),n},r.prototype._validateStretch=function(e,t){if(!e)return!0;for(var r=0,n=0,i=e;n<i.length;n+=1){var a=i[n];if(a[0]<r||a[1]<a[0]||t<a[1])return!1;r=a[1]}return!0},r.prototype._validateContent=function(e,t){return!(e&&(4!==e.length||e[0]<0||t.data.width<e[0]||e[1]<0||t.data.height<e[1]||e[2]<0||t.data.width<e[2]||e[3]<0||t.data.height<e[3]||e[2]<e[0]||e[3]<e[1]))},r.prototype.updateImage=function(e,t){var r=this.images[e];t.version=r.version+1,this.images[e]=t,this.updatedImages[e]=!0},r.prototype.removeImage=function(e){var t=this.images[e];delete this.images[e],delete this.patterns[e],t.userImage&&t.userImage.onRemove&&t.userImage.onRemove()},r.prototype.listImages=function(){return Object.keys(this.images)},r.prototype.getImages=function(e,t){var r=!0;if(!this.isLoaded())for(var n=0,i=e;n<i.length;n+=1){var a=i[n];this.images[a]||(r=!1)}this.isLoaded()||r?this._notify(e,t):this.requestors.push({ids:e,callback:t})},r.prototype._notify=function(t,r){for(var n={},i=0,a=t;i<a.length;i+=1){var o=a[i];this.images[o]||this.fire(new e.Event(\"styleimagemissing\",{id:o}));var s=this.images[o];s?n[o]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,stretchX:s.stretchX,stretchY:s.stretchY,content:s.content,hasRenderCallback:Boolean(s.userImage&&s.userImage.render)}:e.warnOnce('Image \"'+o+'\" could not be loaded. Please make sure you have added the image with map.addImage() or a \"sprite\" property in your style. You can provide missing images by listening for the \"styleimagemissing\" map event.')}r(null,n)},r.prototype.getPixelSize=function(){var e=this.atlasImage;return{width:e.width,height:e.height}},r.prototype.getPattern=function(t){var r=this.patterns[t],n=this.getImage(t);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{var i={w:n.data.width+2,h:n.data.height+2,x:0,y:0},a=new e.ImagePosition(i,n);this.patterns[t]={bin:i,position:a}}return this._updatePatternAtlas(),this.patterns[t].position},r.prototype.bind=function(t){var r=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new e.Texture(t,this.atlasImage,r.RGBA),this.atlasTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)},r.prototype._updatePatternAtlas=function(){var t=[];for(var r in this.patterns)t.push(this.patterns[r].bin);var n=e.potpack(t),i=n.w,a=n.h,o=this.atlasImage;for(var s in o.resize({width:i||1,height:a||1}),this.patterns){var l=this.patterns[s].bin,u=l.x+1,c=l.y+1,f=this.images[s].data,h=f.width,p=f.height;e.RGBAImage.copy(f,o,{x:0,y:0},{x:u,y:c},{width:h,height:p}),e.RGBAImage.copy(f,o,{x:0,y:p-1},{x:u,y:c-1},{width:h,height:1}),e.RGBAImage.copy(f,o,{x:0,y:0},{x:u,y:c+p},{width:h,height:1}),e.RGBAImage.copy(f,o,{x:h-1,y:0},{x:u-1,y:c},{width:1,height:p}),e.RGBAImage.copy(f,o,{x:0,y:0},{x:u+h,y:c},{width:1,height:p})}this.dirty=!0},r.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},r.prototype.dispatchRenderCallbacks=function(e){for(var t=0,r=e;t<r.length;t+=1){var n=r[t];if(!this.callbackDispatchedThisFrame[n]){this.callbackDispatchedThisFrame[n]=!0;var i=this.images[n];f(i)&&this.updateImage(n,i)}}},r}(e.Evented);var p=g,d=g,v=1e20;function g(e,t,r,n,i,a){this.fontSize=e||24,this.buffer=void 0===t?3:t,this.cutoff=n||.25,this.fontFamily=i||\"sans-serif\",this.fontWeight=a||\"normal\",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1))}function m(e,t,r,n,i,a,o){for(var s=0;s<t;s++){for(var l=0;l<r;l++)n[l]=e[l*t+s];for(y(n,i,a,o,r),l=0;l<r;l++)e[l*t+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<t;s++)n[s]=e[l*t+s];for(y(n,i,a,o,t),s=0;s<t;s++)e[l*t+s]=Math.sqrt(i[s])}}function y(e,t,r,n,i){r[0]=0,n[0]=-v,n[1]=+v;for(var a=1,o=0;a<i;a++){for(var s=(e[a]+a*a-(e[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(e[a]+a*a-(e[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);r[++o]=a,n[o]=s,n[o+1]=+v}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;t[a]=(a-r[o])*(a-r[o])+e[r[o]]}}g.prototype.draw=function(e){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(e,this.buffer,this.middle);for(var t=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var i=t.data[4*n+3]/255;this.gridOuter[n]=1===i?0:0===i?v:Math.pow(Math.max(0,.5-i),2),this.gridInner[n]=1===i?v:0===i?0:Math.pow(Math.max(0,i-.5),2)}for(m(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),m(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var a=this.gridOuter[n]-this.gridInner[n];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(a/this.radius+this.cutoff))))}return r},p.default=d;var x=function(e,t){this.requestManager=e,this.localIdeographFontFamily=t,this.entries={}};x.prototype.setURL=function(e){this.url=e},x.prototype.getGlyphs=function(t,r){var n=this,i=[];for(var a in t)for(var o=0,s=t[a];o<s.length;o+=1){var l=s[o];i.push({stack:a,id:l})}e.asyncAll(i,(function(e,t){var r=e.stack,i=e.id,a=n.entries[r];a||(a=n.entries[r]={glyphs:{},requests:{},ranges:{}});var o=a.glyphs[i];if(void 0===o){if(o=n._tinySDF(a,r,i))return a.glyphs[i]=o,void t(null,{stack:r,id:i,glyph:o});var s=Math.floor(i/256);if(256*s>65535)t(new Error(\"glyphs > 65535 not supported\"));else if(a.ranges[s])t(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(e,t){if(t){for(var r in t)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=t[+r]);a.ranges[s]=!0}for(var i=0,o=l;i<o.length;i+=1)(0,o[i])(e,t);delete a.requests[s]}))),l.push((function(e,n){e?t(e):n&&t(null,{stack:r,id:i,glyph:n[i]||null})}))}}else t(null,{stack:r,id:i,glyph:o})}),(function(e,t){if(e)r(e);else if(t){for(var n={},i=0,a=t;i<a.length;i+=1){var o=a[i],s=o.stack,l=o.id,u=o.glyph;(n[s]||(n[s]={}))[l]=u&&{id:u.id,bitmap:u.bitmap.clone(),metrics:u.metrics}}r(null,n)}}))},x.prototype._doesCharSupportLocalGlyph=function(t){return!!this.localIdeographFontFamily&&(e.isChar[\"CJK Unified Ideographs\"](t)||e.isChar[\"Hangul Syllables\"](t)||e.isChar.Hiragana(t)||e.isChar.Katakana(t))},x.prototype._tinySDF=function(t,r,n){var i=this.localIdeographFontFamily;if(i&&this._doesCharSupportLocalGlyph(n)){var a=t.tinySDF;if(!a){var o=\"400\";/bold/i.test(r)?o=\"900\":/medium/i.test(r)?o=\"500\":/light/i.test(r)&&(o=\"200\"),a=t.tinySDF=new x.TinySDF(24,3,8,.25,i,o)}return{id:n,bitmap:new e.AlphaImage({width:30,height:30},a.draw(String.fromCharCode(n))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},x.loadGlyphRange=function(t,r,n,i,a){var o=256*r,s=o+255,l=i.transformRequest(i.normalizeGlyphsURL(n).replace(\"{fontstack}\",t).replace(\"{range}\",o+\"-\"+s),e.ResourceType.Glyphs);e.getArrayBuffer(l,(function(t,r){if(t)a(t);else if(r){for(var n={},i=0,o=e.parseGlyphPBF(r);i<o.length;i+=1){var s=o[i];n[s.id]=s}a(null,n)}}))},x.TinySDF=p;var b=function(){this.specification=e.styleSpec.light.position};b.prototype.possiblyEvaluate=function(t,r){return e.sphericalToCartesian(t.expression.evaluate(r))},b.prototype.interpolate=function(t,r,n){return{x:e.number(t.x,r.x,n),y:e.number(t.y,r.y,n),z:e.number(t.z,r.z,n)}};var _=new e.Properties({anchor:new e.DataConstantProperty(e.styleSpec.light.anchor),position:new b,color:new e.DataConstantProperty(e.styleSpec.light.color),intensity:new e.DataConstantProperty(e.styleSpec.light.intensity)}),w=\"-transition\",k=function(t){function r(r){t.call(this),this._transitionable=new e.Transitionable(_),this.setLight(r),this._transitioning=this._transitionable.untransitioned()}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.getLight=function(){return this._transitionable.serialize()},r.prototype.setLight=function(t,r){if(void 0===r&&(r={}),!this._validate(e.validateLight,t,r))for(var n in t){var i=t[n];e.endsWith(n,w)?this._transitionable.setTransition(n.slice(0,-11),i):this._transitionable.setValue(n,i)}},r.prototype.updateTransitions=function(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)},r.prototype.hasTransition=function(){return this._transitioning.hasTransition()},r.prototype.recalculate=function(e){this.properties=this._transitioning.possiblyEvaluate(e)},r.prototype._validate=function(t,r,n){return(!n||!1!==n.validate)&&e.emitValidationErrors(this,t.call(e.validateStyle,e.extend({value:r,style:{glyphs:!0,sprite:!0},styleSpec:e.styleSpec})))},r}(e.Evented),T=function(e,t){this.width=e,this.height=t,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}};T.prototype.getDash=function(e,t){var r=e.join(\",\")+String(t);return this.dashEntry[r]||(this.dashEntry[r]=this.addDash(e,t)),this.dashEntry[r]},T.prototype.getDashRanges=function(e,t,r){var n=[],i=e.length%2==1?-e[e.length-1]*r:0,a=e[0]*r,o=!0;n.push({left:i,right:a,isDash:o,zeroLength:0===e[0]});for(var s=e[0],l=1;l<e.length;l++){o=!o;var u=e[l];i=s*r,a=(s+=u)*r,n.push({left:i,right:a,isDash:o,zeroLength:0===u})}return n},T.prototype.addRoundDash=function(e,t,r){for(var n=t/2,i=-r;i<=r;i++)for(var a=this.nextRow+r+i,o=this.width*a,s=0,l=e[s],u=0;u<this.width;u++){u/l.right>1&&(l=e[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=void 0,d=i/r*(n+1);if(l.isDash){var v=n-Math.abs(d);p=Math.sqrt(h*h+v*v)}else p=n-Math.sqrt(h*h+d*d);this.data[o+u]=Math.max(0,Math.min(255,p+128))}},T.prototype.addRegularDash=function(e){for(var t=e.length-1;t>=0;--t){var r=e[t],n=e[t+1];r.zeroLength?e.splice(t,1):n&&n.isDash===r.isDash&&(n.left=r.left,e.splice(t,1))}var i=e[0],a=e[e.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=e[s],u=0;u<this.width;u++){u/l.right>1&&(l=e[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=l.isDash?h:-h;this.data[o+u]=Math.max(0,Math.min(255,p+128))}},T.prototype.addDash=function(t,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return e.warnOnce(\"LineAtlas out of space\"),null;for(var a=0,o=0;o<t.length;o++)a+=t[o];if(0!==a){var s=this.width/a,l=this.getDashRanges(t,this.width,s);r?this.addRoundDash(l,s,n):this.addRegularDash(l)}var u={y:(this.nextRow+n+.5)/this.height,height:2*n/this.height,width:a};return this.nextRow+=i,this.dirty=!0,u},T.prototype.bind=function(e){var t=e.gl;this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,this.data))};var M=function t(r,n){this.workerPool=r,this.actors=[],this.currentActor=0,this.id=e.uniqueId();for(var i=this.workerPool.acquire(this.id),a=0;a<i.length;a++){var o=i[a],s=new t.Actor(o,n,this.id);s.name=\"Worker \"+a,this.actors.push(s)}};function A(t,r,n){var i=function(i,a){if(i)return n(i);if(a){var o=e.pick(e.extend(a,t),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);a.vector_layers&&(o.vectorLayers=a.vector_layers,o.vectorLayerIds=o.vectorLayers.map((function(e){return e.id}))),o.tiles=r.canonicalizeTileset(o,t.url),n(null,o)}};return t.url?e.getJSON(r.transformRequest(r.normalizeSourceURL(t.url),e.ResourceType.Source),i):e.browser.frame((function(){return i(null,t)}))}M.prototype.broadcast=function(t,r,n){n=n||function(){},e.asyncAll(this.actors,(function(e,n){e.send(t,r,n)}),n)},M.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},M.prototype.remove=function(){this.actors.forEach((function(e){e.remove()})),this.actors=[],this.workerPool.release(this.id)},M.Actor=e.Actor;var S=function(t,r,n){this.bounds=e.LngLatBounds.convert(this.validateBounds(t)),this.minzoom=r||0,this.maxzoom=n||24};S.prototype.validateBounds=function(e){return Array.isArray(e)&&4===e.length?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]},S.prototype.contains=function(t){var r=Math.pow(2,t.z),n=Math.floor(e.mercatorXfromLng(this.bounds.getWest())*r),i=Math.floor(e.mercatorYfromLat(this.bounds.getNorth())*r),a=Math.ceil(e.mercatorXfromLng(this.bounds.getEast())*r),o=Math.ceil(e.mercatorYfromLat(this.bounds.getSouth())*r);return t.x>=n&&t.x<a&&t.y>=i&&t.y<o};var E=function(t){function r(r,n,i,a){if(t.call(this),this.id=r,this.dispatcher=i,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,e.extend(this,e.pick(n,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=e.extend({type:\"vector\"},n),this._collectResourceTiming=n.collectResourceTiming,512!==this.tileSize)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(a)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.load=function(){var t=this;this._loaded=!1,this.fire(new e.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=A(this._options,this.map._requestManager,(function(r,n){t._tileJSONRequest=null,t._loaded=!0,r?t.fire(new e.ErrorEvent(r)):n&&(e.extend(t,n),n.bounds&&(t.tileBounds=new S(n.bounds,t.minzoom,t.maxzoom)),e.postTurnstileEvent(n.tiles,t.map._requestManager._customAccessToken),e.postMapLoadEvent(n.tiles,t.map._getMapId(),t.map._requestManager._skuToken,t.map._requestManager._customAccessToken),t.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),t.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.hasTile=function(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)},r.prototype.onAdd=function(e){this.map=e,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return e.extend({},this._options)},r.prototype.loadTile=function(t,r){var n=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme)),i={request:this.map._requestManager.transformRequest(n,e.ResourceType.Tile),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:e.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function a(n,i){return delete t.request,t.aborted?r(null):n&&404!==n.status?r(n):(i&&i.resourceTiming&&(t.resourceTiming=i.resourceTiming),this.map._refreshExpiredTiles&&i&&t.setExpiryData(i),t.loadVectorData(i,this.map.painter),e.cacheEntryPossiblyAdded(this.dispatcher),r(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}i.request.collectResourceTiming=this._collectResourceTiming,t.actor&&\"expired\"!==t.state?\"loading\"===t.state?t.reloadCallback=r:t.request=t.actor.send(\"reloadTile\",i,a.bind(this)):(t.actor=this.dispatcher.getActor(),t.request=t.actor.send(\"loadTile\",i,a.bind(this)))},r.prototype.abortTile=function(e){e.request&&(e.request.cancel(),delete e.request),e.actor&&e.actor.send(\"abortTile\",{uid:e.uid,type:this.type,source:this.id},void 0)},r.prototype.unloadTile=function(e){e.unloadVectorData(),e.actor&&e.actor.send(\"removeTile\",{uid:e.uid,type:this.type,source:this.id},void 0)},r.prototype.hasTransition=function(){return!1},r}(e.Evented),C=function(t){function r(r,n,i,a){t.call(this),this.id=r,this.dispatcher=i,this.setEventedParent(a),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=e.extend({type:\"raster\"},n),e.extend(this,e.pick(n,[\"url\",\"scheme\",\"tileSize\"]))}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.load=function(){var t=this;this._loaded=!1,this.fire(new e.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=A(this._options,this.map._requestManager,(function(r,n){t._tileJSONRequest=null,t._loaded=!0,r?t.fire(new e.ErrorEvent(r)):n&&(e.extend(t,n),n.bounds&&(t.tileBounds=new S(n.bounds,t.minzoom,t.maxzoom)),e.postTurnstileEvent(n.tiles),e.postMapLoadEvent(n.tiles,t.map._getMapId(),t.map._requestManager._skuToken),t.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),t.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.onAdd=function(e){this.map=e,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return e.extend({},this._options)},r.prototype.hasTile=function(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)},r.prototype.loadTile=function(t,r){var n=this,i=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);t.request=e.getImage(this.map._requestManager.transformRequest(i,e.ResourceType.Tile),(function(i,a){if(delete t.request,t.aborted)t.state=\"unloaded\",r(null);else if(i)t.state=\"errored\",r(i);else if(a){n.map._refreshExpiredTiles&&t.setExpiryData(a),delete a.cacheControl,delete a.expires;var o=n.map.painter.context,s=o.gl;t.texture=n.map.painter.getTileTexture(a.width),t.texture?t.texture.update(a,{useMipmap:!0}):(t.texture=new e.Texture(o,a,s.RGBA,{useMipmap:!0}),t.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&s.texParameterf(s.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax)),t.state=\"loaded\",e.cacheEntryPossiblyAdded(n.dispatcher),r(null)}}))},r.prototype.abortTile=function(e,t){e.request&&(e.request.cancel(),delete e.request),t()},r.prototype.unloadTile=function(e,t){e.texture&&this.map.painter.saveTileTexture(e.texture),t()},r.prototype.hasTransition=function(){return!1},r}(e.Evented),L=function(t){function r(r,n,i,a){t.call(this,r,n,i,a),this.type=\"raster-dem\",this.maxzoom=22,this._options=e.extend({type:\"raster-dem\"},n),this.encoding=n.encoding||\"mapbox\"}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.serialize=function(){return{type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},r.prototype.loadTile=function(t,r){var n=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);function i(e,n){e&&(t.state=\"errored\",r(e)),n&&(t.dem=n,t.needsHillshadePrepare=!0,t.state=\"loaded\",r(null))}t.request=e.getImage(this.map._requestManager.transformRequest(n,e.ResourceType.Tile),function(n,a){if(delete t.request,t.aborted)t.state=\"unloaded\",r(null);else if(n)t.state=\"errored\",r(n);else if(a){this.map._refreshExpiredTiles&&t.setExpiryData(a),delete a.cacheControl,delete a.expires;var o=e.window.ImageBitmap&&a instanceof e.window.ImageBitmap&&e.offscreenCanvasSupported()?a:e.browser.getImageData(a,1),s={uid:t.uid,coord:t.tileID,source:this.id,rawImageData:o,encoding:this.encoding};t.actor&&\"expired\"!==t.state||(t.actor=this.dispatcher.getActor(),t.actor.send(\"loadDEMTile\",s,i.bind(this)))}}.bind(this)),t.neighboringTiles=this._getNeighboringTiles(t.tileID)},r.prototype._getNeighboringTiles=function(t){var r=t.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?t.wrap-1:t.wrap,o=(r.x+1+n)%n,s=r.x+1===n?t.wrap+1:t.wrap,l={};return l[new e.OverscaledTileID(t.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new e.OverscaledTileID(t.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,t.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+1<n&&(l[new e.OverscaledTileID(t.overscaledZ,a,r.z,i,r.y+1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,t.wrap,r.z,r.x,r.y+1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,s,r.z,o,r.y+1).key]={backfilled:!1}),l},r.prototype.unloadTile=function(e){e.demTexture&&this.map.painter.saveTileTexture(e.demTexture),e.fbo&&(e.fbo.destroy(),delete e.fbo),e.dem&&delete e.dem,delete e.neighboringTiles,e.state=\"unloaded\",e.actor&&e.actor.send(\"removeDEMTile\",{uid:e.uid,source:this.id})},r}(C),P=function(t){function r(r,n,i,a){t.call(this),this.id=r,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=i.getActor(),this.setEventedParent(a),this._data=n.data,this._options=e.extend({},n),this._collectResourceTiming=n.collectResourceTiming,this._resourceTiming=[],void 0!==n.maxzoom&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type),n.attribution&&(this.attribution=n.attribution),this.promoteId=n.promoteId;var o=e.EXTENT/this.tileSize;this.workerOptions=e.extend({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:(void 0!==n.buffer?n.buffer:128)*o,tolerance:(void 0!==n.tolerance?n.tolerance:.375)*o,extent:e.EXTENT,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1,generateId:n.generateId||!1},superclusterOptions:{maxZoom:void 0!==n.clusterMaxZoom?Math.min(n.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:e.EXTENT,radius:(n.clusterRadius||50)*o,log:!1,generateId:n.generateId||!1},clusterProperties:n.clusterProperties},n.workerOptions)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.load=function(){var t=this;this.fire(new e.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(r){if(r)t.fire(new e.ErrorEvent(r));else{var n={dataType:\"source\",sourceDataType:\"metadata\"};t._collectResourceTiming&&t._resourceTiming&&t._resourceTiming.length>0&&(n.resourceTiming=t._resourceTiming,t._resourceTiming=[]),t.fire(new e.Event(\"data\",n))}}))},r.prototype.onAdd=function(e){this.map=e,this.load()},r.prototype.setData=function(t){var r=this;return this._data=t,this.fire(new e.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(t){if(t)r.fire(new e.ErrorEvent(t));else{var n={dataType:\"source\",sourceDataType:\"content\"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new e.Event(\"data\",n))}})),this},r.prototype.getClusterExpansionZoom=function(e,t){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:e,source:this.id},t),this},r.prototype.getClusterChildren=function(e,t){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:e,source:this.id},t),this},r.prototype.getClusterLeaves=function(e,t,r,n){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:e,limit:t,offset:r},n),this},r.prototype._updateWorkerData=function(t){var r=this;this._loaded=!1;var n=e.extend({},this.workerOptions),i=this._data;\"string\"==typeof i?(n.request=this.map._requestManager.transformRequest(e.browser.resolveURL(i),e.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+\".loadData\",n,(function(e,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+\".coalesce\",{source:n.source},null),t(e))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(t,r){var n=this,i=t.actor?\"reloadTile\":\"loadTile\";t.actor=this.actor;var a={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:e.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.request=this.actor.send(i,a,(function(e,a){return delete t.request,t.unloadVectorData(),t.aborted?r(null):e?r(e):(t.loadVectorData(a,n.map.painter,\"reloadTile\"===i),r(null))}))},r.prototype.abortTile=function(e){e.request&&(e.request.cancel(),delete e.request),e.aborted=!0},r.prototype.unloadTile=function(e){e.unloadVectorData(),this.actor.send(\"removeTile\",{uid:e.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},r.prototype.serialize=function(){return e.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(e.Evented),O=e.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),I=function(t){function r(e,r,n,i){t.call(this),this.id=e,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.load=function(t,r){var n=this;this._loaded=!1,this.fire(new e.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,e.getImage(this.map._requestManager.transformRequest(this.url,e.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new e.ErrorEvent(i)):a&&(n.image=a,t&&(n.coordinates=t),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(e){var t=this;return this.image&&e.url?(this.options.url=e.url,this.load(e.coordinates,(function(){t.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},r.prototype.onAdd=function(e){this.map=e,this.load()},r.prototype.setCoordinates=function(t){var r=this;this.coordinates=t;var n=t.map(e.MercatorCoordinate.fromLngLat);this.tileID=function(t){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=t;o<s.length;o+=1){var l=s[o];r=Math.min(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.x),a=Math.max(a,l.y)}var u=i-r,c=a-n,f=Math.max(u,c),h=Math.max(0,Math.floor(-Math.log(f)/Math.LN2)),p=Math.pow(2,h);return new e.CanonicalTileID(h,Math.floor((r+i)/2*p),Math.floor((n+a)/2*p))}(n),this.minzoom=this.maxzoom=this.tileID.z;var i=n.map((function(e){return r.tileID.getTilePoint(e)._round()}));return this._boundsArray=new e.StructArrayLayout4i8,this._boundsArray.emplaceBack(i[0].x,i[0].y,0,0),this._boundsArray.emplaceBack(i[1].x,i[1].y,e.EXTENT,0),this._boundsArray.emplaceBack(i[3].x,i[3].y,0,e.EXTENT),this._boundsArray.emplaceBack(i[2].x,i[2].y,e.EXTENT,e.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},r.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var t=this.map.painter.context,r=t.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new e.Texture(t,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=this.texture)}}},r.prototype.loadTile=function(e,t){this.tileID&&this.tileID.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={},t(null)):(e.state=\"errored\",t(null))},r.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return!1},r}(e.Evented);var D=function(t){function r(e,r,n,i){t.call(this,e,r,n,i),this.roundZoom=!0,this.type=\"video\",this.options=r}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.load=function(){var t=this;this._loaded=!1;var r=this.options;this.urls=[];for(var n=0,i=r.urls;n<i.length;n+=1){var a=i[n];this.urls.push(this.map._requestManager.transformRequest(a,e.ResourceType.Source).url)}e.getVideo(this.urls,(function(r,n){t._loaded=!0,r?t.fire(new e.ErrorEvent(r)):n&&(t.video=n,t.video.loop=!0,t.video.addEventListener(\"playing\",(function(){t.map.triggerRepaint()})),t.map&&t.video.play(),t._finishLoading())}))},r.prototype.pause=function(){this.video&&this.video.pause()},r.prototype.play=function(){this.video&&this.video.play()},r.prototype.seek=function(t){if(this.video){var r=this.video.seekable;t<r.start(0)||t>r.end(0)?this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+r.start(0)+\" and \"+r.end(0)+\"-second mark.\"))):this.video.currentTime=t}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var t=this.map.painter.context,r=t.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new e.Texture(t,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),z=function(t){function r(r,n,i,a){t.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(e){return!Array.isArray(e)||2!==e.length||e.some((function(e){return\"number\"!=typeof e}))}))||this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+r,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+r,null,'missing required property \"coordinates\"'))),n.animate&&\"boolean\"!=typeof n.animate&&this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+r,null,'optional \"animate\" property must be a boolean value'))),n.canvas?\"string\"==typeof n.canvas||n.canvas instanceof e.window.HTMLCanvasElement||this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+r,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.ErrorEvent(new e.ValidationError(\"sources.\"+r,null,'missing required property \"canvas\"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof e.window.HTMLCanvasElement?this.options.canvas:e.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new e.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new e.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];\"loaded\"!==a.state&&(a.state=\"loaded\",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var e=0,t=[this.canvas.width,this.canvas.height];e<t.length;e+=1){var r=t[e];if(isNaN(r)||r<=0)return!0}return!1},r}(I),R={vector:E,raster:C,\"raster-dem\":L,geojson:P,video:D,image:I,canvas:z};function F(t,r){var n=e.identity([]);return e.translate(n,n,[1,1,0]),e.scale(n,n,[.5*t.width,.5*t.height,1]),e.multiply(n,n,t.calculatePosMatrix(r.toUnwrapped()))}function B(e,t,r,n,i,a){var o=function(e,t,r){if(e)for(var n=0,i=e;n<i.length;n+=1){var a=t[i[n]];if(a&&a.source===r&&\"fill-extrusion\"===a.type)return!0}else for(var o in t){var s=t[o];if(s.source===r&&\"fill-extrusion\"===s.type)return!0}return!1}(i&&i.layers,t,e.id),s=a.maxPitchScaleFactor(),l=e.tilesIn(n,s,o);l.sort(N);for(var u=[],c=0,f=l;c<f.length;c+=1){var h=f[c];u.push({wrappedTileID:h.tileID.wrapped().key,queryResults:h.tile.queryRenderedFeatures(t,r,e._state,h.queryGeometry,h.cameraQueryGeometry,h.scale,i,a,s,F(e.transform,h.tileID))})}var p=function(e){for(var t={},r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var u in o)for(var c=o[u],f=l[u]=l[u]||{},h=t[u]=t[u]||[],p=0,d=c;p<d.length;p+=1){var v=d[p];f[v.featureIndex]||(f[v.featureIndex]=!0,h.push(v))}}return t}(u);for(var d in p)p[d].forEach((function(t){var r=t.feature,n=e.getFeatureState(r.layer[\"source-layer\"],r.id);r.source=r.layer.source,r.layer[\"source-layer\"]&&(r.sourceLayer=r.layer[\"source-layer\"]),r.state=n}));return p}function N(e,t){var r=e.tileID,n=t.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}var j=function(e,t){this.max=e,this.onRemove=t,this.reset()};j.prototype.reset=function(){for(var e in this.data)for(var t=0,r=this.data[e];t<r.length;t+=1){var n=r[t];n.timeout&&clearTimeout(n.timeout),this.onRemove(n.value)}return this.data={},this.order=[],this},j.prototype.add=function(e,t,r){var n=this,i=e.wrapped().key;void 0===this.data[i]&&(this.data[i]=[]);var a={value:t,timeout:void 0};if(void 0!==r&&(a.timeout=setTimeout((function(){n.remove(e,a)}),r)),this.data[i].push(a),this.order.push(i),this.order.length>this.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(e){return e.wrapped().key in this.data},j.prototype.getAndRemove=function(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null},j.prototype._getAndRemoveByKey=function(e){var t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[e].length&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value},j.prototype.getByKey=function(e){var t=this.data[e];return t?t[0].value:null},j.prototype.get=function(e){return this.has(e)?this.data[e.wrapped().key][0].value:null},j.prototype.remove=function(e,t){if(!this.has(e))return this;var r=e.wrapped().key,n=void 0===t?0:this.data[r].indexOf(t),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(e){for(this.max=e;this.order.length>this.max;){var t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this},j.prototype.filter=function(e){var t=[];for(var r in this.data)for(var n=0,i=this.data[r];n<i.length;n+=1){var a=i[n];e(a.value)||t.push(a)}for(var o=0,s=t;o<s.length;o+=1){var l=s[o];this.remove(l.value.tileID,l)}};var U=function(e,t,r){this.context=e;var n=e.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer};U.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},U.prototype.updateData=function(e){var t=this.context.gl;this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)},U.prototype.destroy=function(){var e=this.context.gl;this.buffer&&(e.deleteBuffer(this.buffer),delete this.buffer)};var V={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},H=function(e,t,r,n){this.length=t.length,this.attributes=r,this.itemSize=t.bytesPerElement,this.dynamicDraw=n,this.context=e;var i=e.gl;this.buffer=i.createBuffer(),e.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer};H.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},H.prototype.updateData=function(e){var t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)},H.prototype.enableAttributes=function(e,t){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],i=t.attributes[n.name];void 0!==i&&e.enableVertexAttribArray(i)}},H.prototype.setVertexAttribPointers=function(e,t,r){for(var n=0;n<this.attributes.length;n++){var i=this.attributes[n],a=t.attributes[i.name];void 0!==a&&e.vertexAttribPointer(a,i.components,e[V[i.type]],!1,this.itemSize,i.offset+this.itemSize*(r||0))}},H.prototype.destroy=function(){var e=this.context.gl;this.buffer&&(e.deleteBuffer(this.buffer),delete this.buffer)};var q=function(e){this.gl=e.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};q.prototype.get=function(){return this.current},q.prototype.set=function(e){},q.prototype.getDefault=function(){return this.default},q.prototype.setDefault=function(){this.set(this.default)};var G=function(t){function r(){t.apply(this,arguments)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.getDefault=function(){return e.Color.transparent},r.prototype.set=function(e){var t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.clearColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)},r}(q),Y=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return 1},t.prototype.set=function(e){(e!==this.current||this.dirty)&&(this.gl.clearDepth(e),this.current=e,this.dirty=!1)},t}(q),W=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return 0},t.prototype.set=function(e){(e!==this.current||this.dirty)&&(this.gl.clearStencil(e),this.current=e,this.dirty=!1)},t}(q),Z=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return[!0,!0,!0,!0]},t.prototype.set=function(e){var t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.colorMask(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)},t}(q),X=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return!0},t.prototype.set=function(e){(e!==this.current||this.dirty)&&(this.gl.depthMask(e),this.current=e,this.dirty=!1)},t}(q),K=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return 255},t.prototype.set=function(e){(e!==this.current||this.dirty)&&(this.gl.stencilMask(e),this.current=e,this.dirty=!1)},t}(q),J=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},t.prototype.set=function(e){var t=this.current;(e.func!==t.func||e.ref!==t.ref||e.mask!==t.mask||this.dirty)&&(this.gl.stencilFunc(e.func,e.ref,e.mask),this.current=e,this.dirty=!1)},t}(q),$=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){var e=this.gl;return[e.KEEP,e.KEEP,e.KEEP]},t.prototype.set=function(e){var t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||this.dirty)&&(this.gl.stencilOp(e[0],e[1],e[2]),this.current=e,this.dirty=!1)},t}(q),Q=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return!1},t.prototype.set=function(e){if(e!==this.current||this.dirty){var t=this.gl;e?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.current=e,this.dirty=!1}},t}(q),ee=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return[0,1]},t.prototype.set=function(e){var t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.depthRange(e[0],e[1]),this.current=e,this.dirty=!1)},t}(q),te=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return!1},t.prototype.set=function(e){if(e!==this.current||this.dirty){var t=this.gl;e?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),this.current=e,this.dirty=!1}},t}(q),re=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return this.gl.LESS},t.prototype.set=function(e){(e!==this.current||this.dirty)&&(this.gl.depthFunc(e),this.current=e,this.dirty=!1)},t}(q),ne=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return!1},t.prototype.set=function(e){if(e!==this.current||this.dirty){var t=this.gl;e?t.enable(t.BLEND):t.disable(t.BLEND),this.current=e,this.dirty=!1}},t}(q),ie=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){var e=this.gl;return[e.ONE,e.ZERO]},t.prototype.set=function(e){var t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.blendFunc(e[0],e[1]),this.current=e,this.dirty=!1)},t}(q),ae=function(t){function r(){t.apply(this,arguments)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.getDefault=function(){return e.Color.transparent},r.prototype.set=function(e){var t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.blendColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)},r}(q),oe=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return this.gl.FUNC_ADD},t.prototype.set=function(e){(e!==this.current||this.dirty)&&(this.gl.blendEquation(e),this.current=e,this.dirty=!1)},t}(q),se=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return!1},t.prototype.set=function(e){if(e!==this.current||this.dirty){var t=this.gl;e?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),this.current=e,this.dirty=!1}},t}(q),le=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return this.gl.BACK},t.prototype.set=function(e){(e!==this.current||this.dirty)&&(this.gl.cullFace(e),this.current=e,this.dirty=!1)},t}(q),ue=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return this.gl.CCW},t.prototype.set=function(e){(e!==this.current||this.dirty)&&(this.gl.frontFace(e),this.current=e,this.dirty=!1)},t}(q),ce=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(e){(e!==this.current||this.dirty)&&(this.gl.useProgram(e),this.current=e,this.dirty=!1)},t}(q),fe=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return this.gl.TEXTURE0},t.prototype.set=function(e){(e!==this.current||this.dirty)&&(this.gl.activeTexture(e),this.current=e,this.dirty=!1)},t}(q),he=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){var e=this.gl;return[0,0,e.drawingBufferWidth,e.drawingBufferHeight]},t.prototype.set=function(e){var t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.viewport(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)},t}(q),pe=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(e){if(e!==this.current||this.dirty){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,e),this.current=e,this.dirty=!1}},t}(q),de=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(e){if(e!==this.current||this.dirty){var t=this.gl;t.bindRenderbuffer(t.RENDERBUFFER,e),this.current=e,this.dirty=!1}},t}(q),ve=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(e){if(e!==this.current||this.dirty){var t=this.gl;t.bindTexture(t.TEXTURE_2D,e),this.current=e,this.dirty=!1}},t}(q),ge=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(e){if(e!==this.current||this.dirty){var t=this.gl;t.bindBuffer(t.ARRAY_BUFFER,e),this.current=e,this.dirty=!1}},t}(q),me=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(e){var t=this.gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e),this.current=e,this.dirty=!1},t}(q),ye=function(e){function t(t){e.call(this,t),this.vao=t.extVertexArrayObject}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(e){this.vao&&(e!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(e),this.current=e,this.dirty=!1)},t}(q),xe=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return 4},t.prototype.set=function(e){if(e!==this.current||this.dirty){var t=this.gl;t.pixelStorei(t.UNPACK_ALIGNMENT,e),this.current=e,this.dirty=!1}},t}(q),be=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return!1},t.prototype.set=function(e){if(e!==this.current||this.dirty){var t=this.gl;t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e),this.current=e,this.dirty=!1}},t}(q),_e=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return!1},t.prototype.set=function(e){if(e!==this.current||this.dirty){var t=this.gl;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e),this.current=e,this.dirty=!1}},t}(q),we=function(e){function t(t,r){e.call(this,t),this.context=t,this.parent=r}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getDefault=function(){return null},t}(q),ke=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.setDirty=function(){this.dirty=!0},t.prototype.set=function(e){if(e!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var t=this.gl;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),this.current=e,this.dirty=!1}},t}(we),Te=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.set=function(e){if(e!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}},t}(we),Me=function(e,t,r,n){this.context=e,this.width=t,this.height=r;var i=e.gl,a=this.framebuffer=i.createFramebuffer();this.colorAttachment=new ke(e,a),n&&(this.depthAttachment=new Te(e,a))};Me.prototype.destroy=function(){var e=this.context.gl,t=this.colorAttachment.get();if(t&&e.deleteTexture(t),this.depthAttachment){var r=this.depthAttachment.get();r&&e.deleteRenderbuffer(r)}e.deleteFramebuffer(this.framebuffer)};var Ae=function(e,t,r){this.func=e,this.mask=t,this.range=r};Ae.ReadOnly=!1,Ae.ReadWrite=!0,Ae.disabled=new Ae(519,Ae.ReadOnly,[0,1]);var Se=7680,Ee=function(e,t,r,n,i,a){this.test=e,this.ref=t,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};Ee.disabled=new Ee({func:519,mask:0},0,0,Se,Se,Se);var Ce=function(e,t,r){this.blendFunction=e,this.blendColor=t,this.mask=r};Ce.Replace=[1,0],Ce.disabled=new Ce(Ce.Replace,e.Color.transparent,[!1,!1,!1,!1]),Ce.unblended=new Ce(Ce.Replace,e.Color.transparent,[!0,!0,!0,!0]),Ce.alphaBlended=new Ce([1,771],e.Color.transparent,[!0,!0,!0,!0]);var Le=function(e,t,r){this.enable=e,this.mode=t,this.frontFace=r};Le.disabled=new Le(!1,1029,2305),Le.backCCW=new Le(!0,1029,2305);var Pe=function(e){this.gl=e,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.clearColor=new G(this),this.clearDepth=new Y(this),this.clearStencil=new W(this),this.colorMask=new Z(this),this.depthMask=new X(this),this.stencilMask=new K(this),this.stencilFunc=new J(this),this.stencilOp=new $(this),this.stencilTest=new Q(this),this.depthRange=new ee(this),this.depthTest=new te(this),this.depthFunc=new re(this),this.blend=new ne(this),this.blendFunc=new ie(this),this.blendColor=new ae(this),this.blendEquation=new oe(this),this.cullFace=new se(this),this.cullFaceSide=new le(this),this.frontFace=new ue(this),this.program=new ce(this),this.activeTexture=new fe(this),this.viewport=new he(this),this.bindFramebuffer=new pe(this),this.bindRenderbuffer=new de(this),this.bindTexture=new ve(this),this.bindVertexBuffer=new ge(this),this.bindElementBuffer=new me(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new ye(this),this.pixelStoreUnpack=new xe(this),this.pixelStoreUnpackPremultiplyAlpha=new be(this),this.pixelStoreUnpackFlipY=new _e(this),this.extTextureFilterAnisotropic=e.getExtension(\"EXT_texture_filter_anisotropic\")||e.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||e.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=e.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=e.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&(e.getExtension(\"OES_texture_half_float_linear\"),this.extRenderToTextureHalfFloat=e.getExtension(\"EXT_color_buffer_half_float\")),this.extTimerQuery=e.getExtension(\"EXT_disjoint_timer_query\")};Pe.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Pe.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Pe.prototype.createIndexBuffer=function(e,t){return new U(this,e,t)},Pe.prototype.createVertexBuffer=function(e,t,r){return new H(this,e,t,r)},Pe.prototype.createRenderbuffer=function(e,t,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,e,t,r),this.bindRenderbuffer.set(null),i},Pe.prototype.createFramebuffer=function(e,t,r){return new Me(this,e,t,r)},Pe.prototype.clear=function(e){var t=e.color,r=e.depth,n=this.gl,i=0;t&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(t),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},Pe.prototype.setCullFace=function(e){!1===e.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(e.mode),this.frontFace.set(e.frontFace))},Pe.prototype.setDepthMode=function(e){e.func!==this.gl.ALWAYS||e.mask?(this.depthTest.set(!0),this.depthFunc.set(e.func),this.depthMask.set(e.mask),this.depthRange.set(e.range)):this.depthTest.set(!1)},Pe.prototype.setStencilMode=function(e){e.test.func!==this.gl.ALWAYS||e.mask?(this.stencilTest.set(!0),this.stencilMask.set(e.mask),this.stencilOp.set([e.fail,e.depthFail,e.pass]),this.stencilFunc.set({func:e.test.func,ref:e.ref,mask:e.test.mask})):this.stencilTest.set(!1)},Pe.prototype.setColorMode=function(t){e.deepEqual(t.blendFunction,Ce.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor)),this.colorMask.set(t.mask)},Pe.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Oe=function(t){function r(r,n,i){var a=this;t.call(this),this.id=r,this.dispatcher=i,this.on(\"data\",(function(e){\"source\"===e.dataType&&\"metadata\"===e.sourceDataType&&(a._sourceLoaded=!0),a._sourceLoaded&&!a._paused&&\"source\"===e.dataType&&\"content\"===e.sourceDataType&&(a.reload(),a.transform&&a.update(a.transform))})),this.on(\"error\",(function(){a._sourceErrored=!0})),this._source=function(t,r,n,i){var a=new R[r.type](t,r,n,i);if(a.id!==t)throw new Error(\"Expected Source id to be \"+t+\" instead of \"+a.id);return e.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],a),a}(r,n,i,this),this._tiles={},this._cache=new j(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new e.SourceFeatureState}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.onAdd=function(e){this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(e)},r.prototype.onRemove=function(e){this._source&&this._source.onRemove&&this._source.onRemove(e)},r.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(var e in this._tiles){var t=this._tiles[e];if(\"loaded\"!==t.state&&\"errored\"!==t.state)return!1}return!0},r.prototype.getSource=function(){return this._source},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){if(this._paused){var e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform)}},r.prototype._loadTile=function(e,t){return this._source.loadTile(e,t)},r.prototype._unloadTile=function(e){if(this._source.unloadTile)return this._source.unloadTile(e,(function(){}))},r.prototype._abortTile=function(e){if(this._source.abortTile)return this._source.abortTile(e,(function(){}))},r.prototype.serialize=function(){return this._source.serialize()},r.prototype.prepare=function(e){for(var t in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){var r=this._tiles[t];r.upload(e),r.prepare(this.map.style.imageManager)}},r.prototype.getIds=function(){return e.values(this._tiles).map((function(e){return e.tileID})).sort(Ie).map((function(e){return e.key}))},r.prototype.getRenderableIds=function(t){var r=this,n=[];for(var i in this._tiles)this._isIdRenderable(i,t)&&n.push(this._tiles[i]);return t?n.sort((function(t,n){var i=t.tileID,a=n.tileID,o=new e.Point(i.canonical.x,i.canonical.y)._rotate(r.transform.angle),s=new e.Point(a.canonical.x,a.canonical.y)._rotate(r.transform.angle);return i.overscaledZ-a.overscaledZ||s.y-o.y||s.x-o.x})).map((function(e){return e.tileID.key})):n.map((function(e){return e.tileID})).sort(Ie).map((function(e){return e.key}))},r.prototype.hasRenderableParent=function(e){var t=this.findLoadedParent(e,0);return!!t&&this._isIdRenderable(t.tileID.key)},r.prototype._isIdRenderable=function(e,t){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(t||!this._tiles[e].holdingForFade())},r.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var e in this._cache.reset(),this._tiles)\"errored\"!==this._tiles[e].state&&this._reloadTile(e,\"reloading\")},r.prototype._reloadTile=function(e,t){var r=this._tiles[e];r&&(\"loading\"!==r.state&&(r.state=t),this._loadTile(r,this._tileLoaded.bind(this,r,e,t)))},r.prototype._tileLoaded=function(t,r,n,i){if(i)return t.state=\"errored\",void(404!==i.status?this._source.fire(new e.ErrorEvent(i,{tile:t})):this.update(this.transform));t.timeAdded=e.browser.now(),\"expired\"===n&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(r,t),\"raster-dem\"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),this._source.fire(new e.Event(\"data\",{dataType:\"source\",tile:t,coord:t.tileID}))},r.prototype._backfillDEM=function(e){for(var t=this.getRenderableIds(),r=0;r<t.length;r++){var n=t[r];if(e.neighboringTiles&&e.neighboringTiles[n]){var i=this.getTileByID(n);a(e,i),a(i,e)}}function a(e,t){e.needsHillshadePrepare=!0;var r=t.tileID.canonical.x-e.tileID.canonical.x,n=t.tileID.canonical.y-e.tileID.canonical.y,i=Math.pow(2,e.tileID.canonical.z),a=t.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,r,n),e.neighboringTiles&&e.neighboringTiles[a]&&(e.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(e){return this.getTileByID(e.key)},r.prototype.getTileByID=function(e){return this._tiles[e]},r.prototype._retainLoadedChildren=function(e,t,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=t||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>t+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>t;)if(e[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(e,t){if(e.key in this._loadedParentTiles){var r=this._loadedParentTiles[e.key];return r&&r.tileID.overscaledZ>=t?r:null}for(var n=e.overscaledZ-1;n>=t;n--){var i=e.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(e){var t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(e.wrapped().key)},r.prototype.updateCacheSize=function(e){var t=(Math.ceil(e.width/this._source.tileSize)+1)*(Math.ceil(e.height/this._source.tileSize)+1),r=Math.floor(5*t),n=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(e){var t=(e-(void 0===this._prevLng?e:this._prevLng))/360,r=Math.round(t);if(this._prevLng=e,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(t){var n=this;if(this.transform=t,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(t){return new e.OverscaledTileID(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)})):(i=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(e){return n._source.hasTile(e)})))):i=[];var a=t.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(De(this._source.type)){for(var u={},c={},f=0,h=Object.keys(l);f<h.length;f+=1){var p=h[f],d=l[p],v=this._tiles[p];if(v&&!(v.fadeEndTime&&v.fadeEndTime<=e.browser.now())){var g=this.findLoadedParent(d,o);g&&(this._addTile(g.tileID),u[g.tileID.key]=g.tileID),c[p]=d}}for(var m in this._retainLoadedChildren(c,a,s,l),u)l[m]||(this._coveredTiles[m]=!0,l[m]=u[m])}for(var y in l)this._tiles[y].clearFadeHold();for(var x=0,b=e.keysDifference(this._tiles,l);x<b.length;x+=1){var _=b[x],w=this._tiles[_];w.hasSymbolBuckets&&!w.holdingForFade()?w.setHoldDuration(this.map._fadeDuration):w.hasSymbolBuckets&&!w.symbolFadeFinished()||this._removeTile(_)}this._updateLoadedParentTileCache()}},r.prototype.releaseSymbolFadeTiles=function(){for(var e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(e)},r.prototype._updateRetainedTiles=function(e,t){for(var n={},i={},a=Math.max(t-r.maxOverzooming,this._source.minzoom),o=Math.max(t+r.maxUnderzooming,this._source.minzoom),s={},l=0,u=e;l<u.length;l+=1){var c=u[l],f=this._addTile(c);n[c.key]=c,f.hasData()||t<this._source.maxzoom&&(s[c.key]=c)}this._retainLoadedChildren(s,t,o,n);for(var h=0,p=e;h<p.length;h+=1){var d=p[h],v=this._tiles[d.key];if(!v.hasData()){if(t+1>this._source.maxzoom){var g=d.children(this._source.maxzoom)[0],m=this.getTile(g);if(m&&m.hasData()){n[g.key]=g;continue}}else{var y=d.children(this._source.maxzoom);if(n[y[0].key]&&n[y[1].key]&&n[y[2].key]&&n[y[3].key])continue}for(var x=v.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(v=this.getTile(_))&&x&&(v=this._addTile(_)),v&&(n[_.key]=_,x=v.wasRequested(),v.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var e in this._loadedParentTiles={},this._tiles){for(var t=[],r=void 0,n=this._tiles[e].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}t.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=t;a<o.length;a+=1){var s=o[a];this._loadedParentTiles[s]=r}}},r.prototype._addTile=function(t){var r=this._tiles[t.key];if(r)return r;(r=this._cache.getAndRemove(t))&&(this._setTileReloadTimer(t.key,r),r.tileID=t,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,r)));var n=Boolean(r);return n||(r=new e.Tile(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(r,this._tileLoaded.bind(this,r,t.key,r.state))),r?(r.uses++,this._tiles[t.key]=r,n||this._source.fire(new e.Event(\"dataloading\",{tile:r,coord:r.tileID,dataType:\"source\"})),r):null},r.prototype._setTileReloadTimer=function(e,t){var r=this;e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);var n=t.getExpiryTimeout();n&&(this._timers[e]=setTimeout((function(){r._reloadTile(e,\"expired\"),delete r._timers[e]}),n))},r.prototype._removeTile=function(e){var t=this._tiles[e];t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),t.uses>0||(t.hasData()&&\"reloading\"!==t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))},r.prototype.clearTiles=function(){for(var e in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(e);this._cache.reset()},r.prototype.tilesIn=function(t,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(t):t,l=t.map((function(e){return o.pointCoordinate(e)})),u=s.map((function(e){return o.pointCoordinate(e)})),c=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,v=0,g=u;v<g.length;v+=1){var m=g[v];f=Math.min(f,m.x),h=Math.min(h,m.y),p=Math.max(p,m.x),d=Math.max(d,m.y)}for(var y=function(t){var n=i._tiles[c[t]];if(!n.holdingForFade()){var s=n.tileID,v=Math.pow(2,o.zoom-n.tileID.overscaledZ),g=r*n.queryPadding*e.EXTENT/n.tileSize/v,m=[s.getTilePoint(new e.MercatorCoordinate(f,h)),s.getTilePoint(new e.MercatorCoordinate(p,d))];if(m[0].x-g<e.EXTENT&&m[0].y-g<e.EXTENT&&m[1].x+g>=0&&m[1].y+g>=0){var y=l.map((function(e){return s.getTilePoint(e)})),x=u.map((function(e){return s.getTilePoint(e)}));a.push({tile:n,tileID:s,queryGeometry:y,cameraQueryGeometry:x,scale:v})}}},x=0;x<c.length;x++)y(x);return a},r.prototype.getVisibleCoordinates=function(e){for(var t=this,r=this.getRenderableIds(e).map((function(e){return t._tiles[e].tileID})),n=0,i=r;n<i.length;n+=1){var a=i[n];a.posMatrix=this.transform.calculatePosMatrix(a.toUnwrapped())}return r},r.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(De(this._source.type))for(var t in this._tiles){var r=this._tiles[t];if(void 0!==r.fadeEndTime&&r.fadeEndTime>=e.browser.now())return!0}return!1},r.prototype.setFeatureState=function(e,t,r){e=e||\"_geojsonTileLayer\",this._state.updateState(e,t,r)},r.prototype.removeFeatureState=function(e,t,r){e=e||\"_geojsonTileLayer\",this._state.removeFeatureState(e,t,r)},r.prototype.getFeatureState=function(e,t){return e=e||\"_geojsonTileLayer\",this._state.getState(e,t)},r.prototype.setDependencies=function(e,t,r){var n=this._tiles[e];n&&n.setDependencies(t,r)},r.prototype.reloadTilesForDependencies=function(e,t){for(var r in this._tiles)this._tiles[r].hasDependency(e,t)&&this._reloadTile(r,\"reloading\");this._cache.filter((function(r){return!r.hasDependency(e,t)}))},r}(e.Evented);function Ie(e,t){var r=Math.abs(2*e.wrap)-+(e.wrap<0),n=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||n-r||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function De(e){return\"raster\"===e||\"image\"===e||\"video\"===e}function ze(){return new e.window.Worker(na.workerUrl)}Oe.maxOverzooming=10,Oe.maxUnderzooming=3;var Re=\"mapboxgl_preloaded_worker_pool\",Fe=function(){this.active={}};Fe.prototype.acquire=function(e){if(!this.workers)for(this.workers=[];this.workers.length<Fe.workerCount;)this.workers.push(new ze);return this.active[e]=!0,this.workers.slice()},Fe.prototype.release=function(e){delete this.active[e],0===this.numActive()&&(this.workers.forEach((function(e){e.terminate()})),this.workers=null)},Fe.prototype.isPreloaded=function(){return!!this.active[Re]},Fe.prototype.numActive=function(){return Object.keys(this.active).length};var Be,Ne=Math.floor(e.browser.hardwareConcurrency/2);function je(){return Be||(Be=new Fe),Be}function Ue(t,r){var n={};for(var i in t)\"ref\"!==i&&(n[i]=t[i]);return e.refProperties.forEach((function(e){e in r&&(n[e]=r[e])})),n}function Ve(e){e=e.slice();for(var t=Object.create(null),r=0;r<e.length;r++)t[e[r].id]=e[r];for(var n=0;n<e.length;n++)\"ref\"in e[n]&&(e[n]=Ue(e[n],t[e[n].ref]));return e}Fe.workerCount=Math.max(Math.min(Ne,6),1);var He={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};function qe(e,t,r){r.push({command:He.addSource,args:[e,t[e]]})}function Ge(e,t,r){t.push({command:He.removeSource,args:[e]}),r[e]=!0}function Ye(e,t,r,n){Ge(e,r,n),qe(e,t,r)}function We(t,r,n){var i;for(i in t[n])if(t[n].hasOwnProperty(i)&&\"data\"!==i&&!e.deepEqual(t[n][i],r[n][i]))return!1;for(i in r[n])if(r[n].hasOwnProperty(i)&&\"data\"!==i&&!e.deepEqual(t[n][i],r[n][i]))return!1;return!0}function Ze(t,r,n,i,a,o){var s;for(s in r=r||{},t=t||{})t.hasOwnProperty(s)&&(e.deepEqual(t[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}));for(s in r)r.hasOwnProperty(s)&&!t.hasOwnProperty(s)&&(e.deepEqual(t[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}))}function Xe(e){return e.id}function Ke(e,t){return e[t.id]=t,e}function Je(t,r){if(!t)return[{command:He.setStyle,args:[r]}];var n=[];try{if(!e.deepEqual(t.version,r.version))return[{command:He.setStyle,args:[r]}];e.deepEqual(t.center,r.center)||n.push({command:He.setCenter,args:[r.center]}),e.deepEqual(t.zoom,r.zoom)||n.push({command:He.setZoom,args:[r.zoom]}),e.deepEqual(t.bearing,r.bearing)||n.push({command:He.setBearing,args:[r.bearing]}),e.deepEqual(t.pitch,r.pitch)||n.push({command:He.setPitch,args:[r.pitch]}),e.deepEqual(t.sprite,r.sprite)||n.push({command:He.setSprite,args:[r.sprite]}),e.deepEqual(t.glyphs,r.glyphs)||n.push({command:He.setGlyphs,args:[r.glyphs]}),e.deepEqual(t.transition,r.transition)||n.push({command:He.setTransition,args:[r.transition]}),e.deepEqual(t.light,r.light)||n.push({command:He.setLight,args:[r.light]});var i={},a=[];!function(t,r,n,i){var a;for(a in r=r||{},t=t||{})t.hasOwnProperty(a)&&(r.hasOwnProperty(a)||Ge(a,n,i));for(a in r)r.hasOwnProperty(a)&&(t.hasOwnProperty(a)?e.deepEqual(t[a],r[a])||(\"geojson\"===t[a].type&&\"geojson\"===r[a].type&&We(t,r,a)?n.push({command:He.setGeoJSONSourceData,args:[a,r[a].data]}):Ye(a,r,n,i)):qe(a,r,n))}(t.sources,r.sources,a,i);var o=[];t.layers&&t.layers.forEach((function(e){i[e.source]?n.push({command:He.removeLayer,args:[e.id]}):o.push(e)})),n=n.concat(a),function(t,r,n){r=r||[];var i,a,o,s,l,u,c,f=(t=t||[]).map(Xe),h=r.map(Xe),p=t.reduce(Ke,{}),d=r.reduce(Ke,{}),v=f.slice(),g=Object.create(null);for(i=0,a=0;i<f.length;i++)o=f[i],d.hasOwnProperty(o)?a++:(n.push({command:He.removeLayer,args:[o]}),v.splice(v.indexOf(o,a),1));for(i=0,a=0;i<h.length;i++)o=h[h.length-1-i],v[v.length-1-i]!==o&&(p.hasOwnProperty(o)?(n.push({command:He.removeLayer,args:[o]}),v.splice(v.lastIndexOf(o,v.length-a),1)):a++,u=v[v.length-i],n.push({command:He.addLayer,args:[d[o],u]}),v.splice(v.length-i,0,o),g[o]=!0);for(i=0;i<h.length;i++)if(s=p[o=h[i]],l=d[o],!g[o]&&!e.deepEqual(s,l))if(e.deepEqual(s.source,l.source)&&e.deepEqual(s[\"source-layer\"],l[\"source-layer\"])&&e.deepEqual(s.type,l.type)){for(c in Ze(s.layout,l.layout,n,o,null,He.setLayoutProperty),Ze(s.paint,l.paint,n,o,null,He.setPaintProperty),e.deepEqual(s.filter,l.filter)||n.push({command:He.setFilter,args:[o,l.filter]}),e.deepEqual(s.minzoom,l.minzoom)&&e.deepEqual(s.maxzoom,l.maxzoom)||n.push({command:He.setLayerZoomRange,args:[o,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(c)&&\"layout\"!==c&&\"paint\"!==c&&\"filter\"!==c&&\"metadata\"!==c&&\"minzoom\"!==c&&\"maxzoom\"!==c&&(0===c.indexOf(\"paint.\")?Ze(s[c],l[c],n,o,c.slice(6),He.setPaintProperty):e.deepEqual(s[c],l[c])||n.push({command:He.setLayerProperty,args:[o,c,l[c]]}));for(c in l)l.hasOwnProperty(c)&&!s.hasOwnProperty(c)&&\"layout\"!==c&&\"paint\"!==c&&\"filter\"!==c&&\"metadata\"!==c&&\"minzoom\"!==c&&\"maxzoom\"!==c&&(0===c.indexOf(\"paint.\")?Ze(s[c],l[c],n,o,c.slice(6),He.setPaintProperty):e.deepEqual(s[c],l[c])||n.push({command:He.setLayerProperty,args:[o,c,l[c]]}))}else n.push({command:He.removeLayer,args:[o]}),u=v[v.lastIndexOf(o)+1],n.push({command:He.addLayer,args:[l,u]})}(o,r.layers,n)}catch(e){console.warn(\"Unable to compute style diff:\",e),n=[{command:He.setStyle,args:[r]}]}return n}var $e=function(e,t){this.reset(e,t)};$e.prototype.reset=function(e,t){this.points=e||[],this._distances=[0];for(var r=1;r<this.points.length;r++)this._distances[r]=this._distances[r-1]+this.points[r].dist(this.points[r-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(t||0,.5*this.length),this.paddedLength=this.length-2*this.padding},$e.prototype.lerp=function(t){if(1===this.points.length)return this.points[0];t=e.clamp(t,0,1);for(var r=1,n=this._distances[r],i=t*this.paddedLength+this.padding;n<i&&r<this._distances.length;)n=this._distances[++r];var a=r-1,o=this._distances[a],s=n-o,l=s>0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qe=function(e,t,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/r),this.yCellCount=Math.ceil(t/r);for(var a=0;a<this.xCellCount*this.yCellCount;a++)n.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=e,this.height=t,this.xScale=this.xCellCount/e,this.yScale=this.yCellCount/t,this.boxUid=0,this.circleUid=0};function et(t,r,n,i,a){var o=e.create();return r?(e.scale(o,o,[1/a,1/a,1]),n||e.rotateZ(o,o,i.angle)):e.multiply(o,i.labelPlaneMatrix,t),o}function tt(t,r,n,i,a){if(r){var o=e.clone(t);return e.scale(o,o,[a,a,1]),n||e.rotateZ(o,o,-i.angle),o}return i.glCoordMatrix}function rt(t,r){var n=[t.x,t.y,0,1];pt(n,n,r);var i=n[3];return{point:new e.Point(n[0]/i,n[1]/i),signedDistanceFromCamera:i}}function nt(e,t){return.5+e/t*.5}function it(e,t){var r=e[0]/e[3],n=e[1]/e[3];return r>=-t[0]&&r<=t[0]&&n>=-t[1]&&n<=t[1]}function at(t,r,n,i,a,o,s,l){var u=i?t.textSizeData:t.iconSizeData,c=e.evaluateSizeForZoom(u,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;h.clear();for(var p=t.lineVertexArray,d=i?t.text.placedSymbolArray:t.icon.placedSymbolArray,v=n.transform.width/n.transform.height,g=!1,m=0;m<d.length;m++){var y=d.get(m);if(y.hidden||y.writingMode===e.WritingMode.vertical&&!g)ht(y.numGlyphs,h);else{g=!1;var x=[y.anchorX,y.anchorY,0,1];if(e.transformMat4(x,x,r),it(x,f)){var b=x[3],_=nt(n.transform.cameraToCenterDistance,b),w=e.evaluateSizeForFeature(u,c,y),k=s?w/_:w*_,T=new e.Point(y.anchorX,y.anchorY),M=rt(T,a).point,A={},S=lt(y,k,!1,l,r,a,o,t.glyphOffsetArray,p,h,M,T,A,v);g=S.useVertical,(S.notEnoughRoom||g||S.needsFlipping&&lt(y,k,!0,l,r,a,o,t.glyphOffsetArray,p,h,M,T,A,v).notEnoughRoom)&&ht(y.numGlyphs,h)}else ht(y.numGlyphs,h)}}i?t.text.dynamicLayoutVertexBuffer.updateData(h):t.icon.dynamicLayoutVertexBuffer.updateData(h)}function ot(e,t,r,n,i,a,o,s,l,u,c){var f=s.glyphStartIndex+s.numGlyphs,h=s.lineStartIndex,p=s.lineStartIndex+s.lineLength,d=t.getoffsetX(s.glyphStartIndex),v=t.getoffsetX(f-1),g=ct(e*d,r,n,i,a,o,s.segment,h,p,l,u,c);if(!g)return null;var m=ct(e*v,r,n,i,a,o,s.segment,h,p,l,u,c);return m?{first:g,last:m}:null}function st(t,r,n,i){return t===e.WritingMode.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*i?{useVertical:!0}:(t===e.WritingMode.vertical?r.y<n.y:r.x>n.x)?{needsFlipping:!0}:null}function lt(t,r,n,i,a,o,s,l,u,c,f,h,p,d){var v,g=r/24,m=t.lineOffsetX*g,y=t.lineOffsetY*g;if(t.numGlyphs>1){var x=t.glyphStartIndex+t.numGlyphs,b=t.lineStartIndex,_=t.lineStartIndex+t.lineLength,w=ot(g,l,m,y,n,f,h,t,u,o,p);if(!w)return{notEnoughRoom:!0};var k=rt(w.first.point,s).point,T=rt(w.last.point,s).point;if(i&&!n){var M=st(t.writingMode,k,T,d);if(M)return M}v=[w.first];for(var A=t.glyphStartIndex+1;A<x-1;A++)v.push(ct(g*l.getoffsetX(A),m,y,n,f,h,t.segment,b,_,u,o,p));v.push(w.last)}else{if(i&&!n){var S=rt(h,a).point,E=t.lineStartIndex+t.segment+1,C=new e.Point(u.getx(E),u.gety(E)),L=rt(C,a),P=L.signedDistanceFromCamera>0?L.point:ut(h,C,S,1,a),O=st(t.writingMode,S,P,d);if(O)return O}var I=ct(g*l.getoffsetX(t.glyphStartIndex),m,y,n,f,h,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,u,o,p);if(!I)return{notEnoughRoom:!0};v=[I]}for(var D=0,z=v;D<z.length;D+=1){var R=z[D];e.addDynamicAttributes(c,R.point,R.angle)}return{}}function ut(e,t,r,n,i){var a=rt(e.add(e.sub(t)._unit()),i).point,o=r.sub(a);return r.add(o._mult(n/o.mag()))}function ct(t,r,n,i,a,o,s,l,u,c,f,h){var p=i?t-r:t+r,d=p>0?1:-1,v=0;i&&(d*=-1,v=Math.PI),d<0&&(v+=Math.PI);for(var g=d>0?l+s:l+s+1,m=a,y=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)<l||g>=u)return null;if(y=m,w.push(m),void 0===(m=h[g])){var k=new e.Point(c.getx(g),c.gety(g)),T=rt(k,f);if(T.signedDistanceFromCamera>0)m=h[g]=T.point;else{var M=g-d;m=ut(0===x?o:new e.Point(c.getx(M),c.gety(M)),k,y,_-x+1,f)}}x+=b,b=y.dist(m)}var A=(_-x)/b,S=m.sub(y),E=S.mult(A)._add(y);E._add(S._unit()._perp()._mult(n*d));var C=v+Math.atan2(m.y-y.y,m.x-y.x);return w.push(E),{point:E,angle:C,path:w}}Qe.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qe.prototype.insert=function(e,t,r,n,i){this._forEachCell(t,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(e),this.bboxes.push(t),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Qe.prototype.insertCircle=function(e,t,r,n){this._forEachCell(t-n,r-n,t+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(e),this.circles.push(t),this.circles.push(r),this.circles.push(n)},Qe.prototype._insertBoxCell=function(e,t,r,n,i,a){this.boxCells[i].push(a)},Qe.prototype._insertCircleCell=function(e,t,r,n,i,a){this.circleCells[i].push(a)},Qe.prototype._query=function(e,t,r,n,i,a){if(r<0||e>this.width||n<0||t>this.height)return!i&&[];var o=[];if(e<=0&&t<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s<this.boxKeys.length;s++)o.push({key:this.boxKeys[s],x1:this.bboxes[4*s],y1:this.bboxes[4*s+1],x2:this.bboxes[4*s+2],y2:this.bboxes[4*s+3]});for(var l=0;l<this.circleKeys.length;l++){var u=this.circles[3*l],c=this.circles[3*l+1],f=this.circles[3*l+2];o.push({key:this.circleKeys[l],x1:u-f,y1:c-f,x2:u+f,y2:c+f})}return a?o.filter(a):o}var h={hitTest:i,seenUids:{box:{},circle:{}}};return this._forEachCell(e,t,r,n,this._queryCell,o,h,a),i?o.length>0:o},Qe.prototype._queryCircle=function(e,t,r,n,i){var a=e-r,o=e+r,s=t-r,l=t+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var u=[],c={hitTest:n,circle:{x:e,y:t,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,u,c,i),n?u.length>0:u},Qe.prototype.query=function(e,t,r,n,i){return this._query(e,t,r,n,!1,i)},Qe.prototype.hitTest=function(e,t,r,n,i){return this._query(e,t,r,n,!0,i)},Qe.prototype.hitTestCircle=function(e,t,r,n){return this._queryCircle(e,t,r,!0,n)},Qe.prototype._queryCell=function(e,t,r,n,i,a,o,s){var l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,f=0,h=u;f<h.length;f+=1){var p=h[f];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(e<=c[d+2]&&t<=c[d+3]&&r>=c[d+0]&&n>=c[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:c[d],y1:c[d+1],x2:c[d+2],y2:c[d+3]})}}}var v=this.circleCells[i];if(null!==v)for(var g=this.circles,m=0,y=v;m<y.length;m+=1){var x=y[m];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circleAndRectCollide(g[b],g[b+1],g[b+2],e,t,r,n)&&(!s||s(this.circleKeys[x]))){if(o.hitTest)return a.push(!0),!0;var _=g[b],w=g[b+1],k=g[b+2];a.push({key:this.circleKeys[x],x1:_-k,y1:w-k,x2:_+k,y2:w+k})}}}},Qe.prototype._queryCellCircle=function(e,t,r,n,i,a,o,s){var l=o.circle,u=o.seenUids,c=this.boxCells[i];if(null!==c)for(var f=this.bboxes,h=0,p=c;h<p.length;h+=1){var d=p[h];if(!u.box[d]){u.box[d]=!0;var v=4*d;if(this._circleAndRectCollide(l.x,l.y,l.radius,f[v+0],f[v+1],f[v+2],f[v+3])&&(!s||s(this.boxKeys[d])))return a.push(!0),!0}}var g=this.circleCells[i];if(null!==g)for(var m=this.circles,y=0,x=g;y<x.length;y+=1){var b=x[y];if(!u.circle[b]){u.circle[b]=!0;var _=3*b;if(this._circlesCollide(m[_],m[_+1],m[_+2],l.x,l.y,l.radius)&&(!s||s(this.circleKeys[b])))return a.push(!0),!0}}},Qe.prototype._forEachCell=function(e,t,r,n,i,a,o,s){for(var l=this._convertToXCellCoord(e),u=this._convertToYCellCoord(t),c=this._convertToXCellCoord(r),f=this._convertToYCellCoord(n),h=l;h<=c;h++)for(var p=u;p<=f;p++){var d=this.xCellCount*p+h;if(i.call(this,e,t,r,n,d,a,o,s))return}},Qe.prototype._convertToXCellCoord=function(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))},Qe.prototype._convertToYCellCoord=function(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))},Qe.prototype._circlesCollide=function(e,t,r,n,i,a){var o=n-e,s=i-t,l=r+a;return l*l>o*o+s*s},Qe.prototype._circleAndRectCollide=function(e,t,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(e-(n+s));if(l>s+r)return!1;var u=(o-i)/2,c=Math.abs(t-(i+u));if(c>u+r)return!1;if(l<=s||c<=u)return!0;var f=l-s,h=c-u;return f*f+h*h<=r*r};var ft=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ht(e,t){for(var r=0;r<e;r++){var n=t.length;t.resize(n+4),t.float32.set(ft,3*n)}}function pt(e,t,r){var n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e[3]=r[3]*n+r[7]*i+r[15],e}var dt=100,vt=function(e,t,r){void 0===t&&(t=new Qe(e.width+200,e.height+200,25)),void 0===r&&(r=new Qe(e.width+200,e.height+200,25)),this.transform=e,this.grid=t,this.ignoredGrid=r,this.pitchfactor=Math.cos(e._pitch)*e.cameraToCenterDistance,this.screenRightBoundary=e.width+dt,this.screenBottomBoundary=e.height+dt,this.gridRightBoundary=e.width+200,this.gridBottomBoundary=e.height+200};function gt(t,r,n){return r*(e.EXTENT/(t.tileSize*Math.pow(2,n-t.tileID.overscaledZ)))}vt.prototype.placeCollisionBox=function(e,t,r,n,i){var a=this.projectAndGetPerspectiveRatio(n,e.anchorPointX,e.anchorPointY),o=r*a.perspectiveRatio,s=e.x1*o+a.point.x,l=e.y1*o+a.point.y,u=e.x2*o+a.point.x,c=e.y2*o+a.point.y;return!this.isInsideGrid(s,l,u,c)||!t&&this.grid.hitTest(s,l,u,c,i)?{box:[],offscreen:!1}:{box:[s,l,u,c],offscreen:this.isOffscreen(s,l,u,c)}},vt.prototype.placeCollisionCircles=function(t,r,n,i,a,o,s,l,u,c,f,h,p){var d=[],v=new e.Point(r.anchorX,r.anchorY),g=rt(v,o),m=nt(this.transform.cameraToCenterDistance,g.signedDistanceFromCamera),y=(c?a/m:a*m)/e.ONE_EM,x=rt(v,s).point,b=ot(y,i,r.lineOffsetX*y,r.lineOffsetY*y,!1,x,v,r,n,s,{}),_=!1,w=!1,k=!0;if(b){for(var T=.5*h*m+p,M=new e.Point(-100,-100),A=new e.Point(this.screenRightBoundary,this.screenBottomBoundary),S=new $e,E=b.first,C=b.last,L=[],P=E.path.length-1;P>=1;P--)L.push(E.path[P]);for(var O=1;O<C.path.length;O++)L.push(C.path[O]);var I=2.5*T;if(l){var D=L.map((function(e){return rt(e,l)}));L=D.some((function(e){return e.signedDistanceFromCamera<=0}))?[]:D.map((function(e){return e.point}))}var z=[];if(L.length>0){for(var R=L[0].clone(),F=L[0].clone(),B=1;B<L.length;B++)R.x=Math.min(R.x,L[B].x),R.y=Math.min(R.y,L[B].y),F.x=Math.max(F.x,L[B].x),F.y=Math.max(F.y,L[B].y);z=R.x>=M.x&&F.x<=A.x&&R.y>=M.y&&F.y<=A.y?[L]:F.x<M.x||R.x>A.x||F.y<M.y||R.y>A.y?[]:e.clipLine([L],M.x,M.y,A.x,A.y)}for(var N=0,j=z;N<j.length;N+=1){var U=j[N];S.reset(U,.25*T);var V;V=S.length<=.5*T?1:Math.ceil(S.paddedLength/I)+1;for(var H=0;H<V;H++){var q=H/Math.max(V-1,1),G=S.lerp(q),Y=G.x+dt,W=G.y+dt;d.push(Y,W,T,0);var Z=Y-T,X=W-T,K=Y+T,J=W+T;if(k=k&&this.isOffscreen(Z,X,K,J),w=w||this.isInsideGrid(Z,X,K,J),!t&&this.grid.hitTestCircle(Y,W,T,f)&&(_=!0,!u))return{circles:[],offscreen:!1,collisionDetected:_}}}}return{circles:!u&&_||!w?[]:d,offscreen:k,collisionDetected:_}},vt.prototype.queryRenderedSymbols=function(t){if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var r=[],n=1/0,i=1/0,a=-1/0,o=-1/0,s=0,l=t;s<l.length;s+=1){var u=l[s],c=new e.Point(u.x+dt,u.y+dt);n=Math.min(n,c.x),i=Math.min(i,c.y),a=Math.max(a,c.x),o=Math.max(o,c.y),r.push(c)}for(var f={},h={},p=0,d=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o));p<d.length;p+=1){var v=d[p],g=v.key;if(void 0===f[g.bucketInstanceId]&&(f[g.bucketInstanceId]={}),!f[g.bucketInstanceId][g.featureIndex]){var m=[new e.Point(v.x1,v.y1),new e.Point(v.x2,v.y1),new e.Point(v.x2,v.y2),new e.Point(v.x1,v.y2)];e.polygonIntersectsPolygon(r,m)&&(f[g.bucketInstanceId][g.featureIndex]=!0,void 0===h[g.bucketInstanceId]&&(h[g.bucketInstanceId]=[]),h[g.bucketInstanceId].push(g.featureIndex))}}return h},vt.prototype.insertCollisionBox=function(e,t,r,n,i){var a={bucketInstanceId:r,featureIndex:n,collisionGroupID:i};(t?this.ignoredGrid:this.grid).insert(a,e[0],e[1],e[2],e[3])},vt.prototype.insertCollisionCircles=function(e,t,r,n,i){for(var a=t?this.ignoredGrid:this.grid,o={bucketInstanceId:r,featureIndex:n,collisionGroupID:i},s=0;s<e.length;s+=4)a.insertCircle(o,e[s],e[s+1],e[s+2])},vt.prototype.projectAndGetPerspectiveRatio=function(t,r,n){var i=[r,n,0,1];return pt(i,i,t),{point:new e.Point((i[0]/i[3]+1)/2*this.transform.width+dt,(-i[1]/i[3]+1)/2*this.transform.height+dt),perspectiveRatio:.5+this.transform.cameraToCenterDistance/i[3]*.5}},vt.prototype.isOffscreen=function(e,t,r,n){return r<dt||e>=this.screenRightBoundary||n<dt||t>this.screenBottomBoundary},vt.prototype.isInsideGrid=function(e,t,r,n){return r>=0&&e<this.gridRightBoundary&&n>=0&&t<this.gridBottomBoundary},vt.prototype.getViewportMatrix=function(){var t=e.identity([]);return e.translate(t,t,[-100,-100,0]),t};var mt=function(e,t,r,n){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?t:-t))):n&&r?1:0,this.placed=r};mt.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var yt=function(e,t,r,n,i){this.text=new mt(e?e.text:null,t,r,i),this.icon=new mt(e?e.icon:null,t,n,i)};yt.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var xt=function(e,t,r){this.text=e,this.icon=t,this.skipFade=r},bt=function(){this.invProjMatrix=e.create(),this.viewportMatrix=e.create(),this.circles=[]},_t=function(e,t,r,n,i){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i},wt=function(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}};function kt(t,r,n,i,a){var o=e.getAnchorAlignment(t),s=-(o.horizontalAlign-.5)*r,l=-(o.verticalAlign-.5)*n,u=e.evaluateVariableOffset(t,i);return new e.Point(s+u[0]*a,l+u[1]*a)}function Tt(t,r,n,i,a,o){var s=t.x1,l=t.x2,u=t.y1,c=t.y2,f=t.anchorPointX,h=t.anchorPointY,p=new e.Point(r,n);return i&&p._rotate(a?o:-o),{x1:s+p.x,y1:u+p.y,x2:l+p.x,y2:c+p.y,anchorPointX:f,anchorPointY:h}}wt.prototype.get=function(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){var t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:function(e){return e.collisionGroupID===t}}}return this.collisionGroups[e]};var Mt=function(e,t,r,n){this.transform=e.clone(),this.collisionIndex=new vt(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=t,this.retainedQueryData={},this.collisionGroups=new wt(r),this.collisionCircleArrays={},this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}};function At(e,t,r,n,i){e.emplaceBack(t?1:0,r?1:0,n||0,i||0),e.emplaceBack(t?1:0,r?1:0,n||0,i||0),e.emplaceBack(t?1:0,r?1:0,n||0,i||0),e.emplaceBack(t?1:0,r?1:0,n||0,i||0)}Mt.prototype.getBucketParts=function(t,r,n,i){var a=n.getBucket(r),o=n.latestFeatureIndex;if(a&&o&&r.id===a.layerIds[0]){var s=n.collisionBoxArray,l=a.layers[0].layout,u=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),c=n.tileSize/e.EXTENT,f=this.transform.calculatePosMatrix(n.tileID.toUnwrapped()),h=\"map\"===l.get(\"text-pitch-alignment\"),p=\"map\"===l.get(\"text-rotation-alignment\"),d=gt(n,1,this.transform.zoom),v=et(f,h,p,this.transform,d),g=null;if(h){var m=tt(f,h,p,this.transform,d);g=e.multiply([],this.transform.labelPlaneMatrix,m)}this.retainedQueryData[a.bucketInstanceId]=new _t(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,n.tileID);var y={bucket:a,layout:l,posMatrix:f,textLabelPlaneMatrix:v,labelToScreenMatrix:g,scale:u,textPixelRatio:c,holdingForFade:n.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:e.evaluateSizeForZoom(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(var x=0,b=a.sortKeyRanges;x<b.length;x+=1){var _=b[x],w=_.sortKey,k=_.symbolInstanceStart,T=_.symbolInstanceEnd;t.push({sortKey:w,symbolInstanceStart:k,symbolInstanceEnd:T,parameters:y})}else t.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:y})}},Mt.prototype.attemptAnchorPlacement=function(e,t,r,n,i,a,o,s,l,u,c,f,h,p,d){var v,g=[f.textOffset0,f.textOffset1],m=kt(e,r,n,g,i),y=this.collisionIndex.placeCollisionBox(Tt(t,m.x,m.y,a,o,this.transform.angle),c,s,l,u.predicate);if(!d||0!==this.collisionIndex.placeCollisionBox(Tt(d,m.x,m.y,a,o,this.transform.angle),c,s,l,u.predicate).box.length)return y.box.length>0?(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(v=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:e,textBoxScale:i,prevAnchor:v},this.markUsedJustification(h,e,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:m,placedGlyphBoxes:y}):void 0},Mt.prototype.placeLayerBucketPart=function(t,r,n){var i=this,a=t.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,u=a.textLabelPlaneMatrix,c=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,v=a.collisionGroup,g=s.get(\"text-optional\"),m=s.get(\"icon-optional\"),y=s.get(\"text-allow-overlap\"),x=s.get(\"icon-allow-overlap\"),b=\"map\"===s.get(\"text-rotation-alignment\"),_=\"map\"===s.get(\"text-pitch-alignment\"),w=\"none\"!==s.get(\"icon-text-fit\"),k=\"viewport-y\"===s.get(\"symbol-z-order\"),T=y&&(x||!o.hasIconData()||m),M=x&&(y||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var A=function(t,a){if(!r[t.crossTileID])if(h)i.placements[t.crossTileID]=new xt(!1,!1,!1);else{var p,k=!1,A=!1,S=!0,E=null,C={box:null,offscreen:null},L={box:null,offscreen:null},P=null,O=null,I=0,D=0,z=0;a.textFeatureIndex?I=a.textFeatureIndex:t.useRuntimeCollisionCircles&&(I=t.featureIndex),a.verticalTextFeatureIndex&&(D=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=e.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[t.crossTileID];a&&(i.placedOrientations[t.crossTileID]=a,n=a,i.markUsedOrientation(o,n,t))}return n},B=function(r,n){if(o.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i<s.length&&(s[i]===e.WritingMode.vertical?(C=n(),L=C):C=r(),!(C&&C.box&&C.box.length));i+=1);else C=r()};if(s.get(\"text-variable-anchor\")){var N=s.get(\"text-variable-anchor\");if(i.prevPlacement&&i.prevPlacement.variableOffsets[t.crossTileID]){var j=i.prevPlacement.variableOffsets[t.crossTileID];N.indexOf(j.anchor)>0&&(N=N.filter((function(e){return e!==j.anchor}))).unshift(j.anchor)}var U=function(e,r,n){for(var a=e.x2-e.x1,s=e.y2-e.y1,u=t.textBoxScale,c=w&&!x?r:null,h={box:[],offscreen:!1},p=y?2*N.length:N.length,d=0;d<p;++d){var g=N[d%N.length],m=d>=N.length,T=i.attemptAnchorPlacement(g,e,a,s,u,b,_,f,l,v,m,t,o,n,c);if(T&&(h=T.placedGlyphBoxes)&&h.box&&h.box.length){k=!0,E=T.shift;break}}return h};B((function(){return U(R,a.iconBox,e.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=C&&C.box&&C.box.length;return o.allowVerticalPlacement&&!n&&t.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,e.WritingMode.vertical):{box:null,offscreen:null}})),C&&(k=C.box,S=C.offscreen);var V=F(C&&C.box);if(!k&&i.prevPlacement){var H=i.prevPlacement.variableOffsets[t.crossTileID];H&&(i.variableOffsets[t.crossTileID]=H,i.markUsedJustification(o,H.anchor,t,V))}}else{var q=function(e,r){var n=i.collisionIndex.placeCollisionBox(e,y,f,l,v.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,t),i.placedOrientations[t.crossTileID]=r),n};B((function(){return q(R,e.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&r?q(r,e.WritingMode.vertical):{box:null,offscreen:null}})),F(C&&C.box&&C.box.length)}}if(k=(p=C)&&p.box&&p.box.length>0,S=p&&p.offscreen,t.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),Y=e.evaluateSizeForFeature(o.textSizeData,d,G),W=s.get(\"text-padding\"),Z=t.collisionCircleDiameter;P=i.collisionIndex.placeCollisionCircles(y,G,o.lineVertexArray,o.glyphOffsetArray,Y,l,u,c,n,_,v.predicate,Z,W),k=y||P.circles.length>0&&!P.collisionDetected,S=S&&P.offscreen}if(a.iconFeatureIndex&&(z=a.iconFeatureIndex),a.iconBox){var X=function(e){var t=w&&E?Tt(e,E.x,E.y,b,_,i.transform.angle):e;return i.collisionIndex.placeCollisionBox(t,x,f,l,v.predicate)};A=L&&L.box&&L.box.length&&a.verticalIconBox?(O=X(a.verticalIconBox)).box.length>0:(O=X(a.iconBox)).box.length>0,S=S&&O.offscreen}var K=g||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,J=m||0===t.numIconVertices;if(K||J?J?K||(A=A&&k):k=A&&k:A=k=A&&k,k&&p&&p.box&&(L&&L.box&&D?i.collisionIndex.insertCollisionBox(p.box,s.get(\"text-ignore-placement\"),o.bucketInstanceId,D,v.ID):i.collisionIndex.insertCollisionBox(p.box,s.get(\"text-ignore-placement\"),o.bucketInstanceId,I,v.ID)),A&&O&&i.collisionIndex.insertCollisionBox(O.box,s.get(\"icon-ignore-placement\"),o.bucketInstanceId,z,v.ID),P&&(k&&i.collisionIndex.insertCollisionCircles(P.circles,s.get(\"text-ignore-placement\"),o.bucketInstanceId,I,v.ID),n)){var $=o.bucketInstanceId,Q=i.collisionCircleArrays[$];void 0===Q&&(Q=i.collisionCircleArrays[$]=new bt);for(var ee=0;ee<P.circles.length;ee+=4)Q.circles.push(P.circles[ee+0]),Q.circles.push(P.circles[ee+1]),Q.circles.push(P.circles[ee+2]),Q.circles.push(P.collisionDetected?1:0)}i.placements[t.crossTileID]=new xt(k||T,A||M,S||o.justReloaded),r[t.crossTileID]=!0}};if(k)for(var S=o.getSortedSymbolIndexes(this.transform.angle),E=S.length-1;E>=0;--E){var C=S[E];A(o.symbolInstances.get(C),o.collisionArrays[C])}else for(var L=t.symbolInstanceStart;L<t.symbolInstanceEnd;L++)A(o.symbolInstances.get(L),o.collisionArrays[L]);if(n&&o.bucketInstanceId in this.collisionCircleArrays){var P=this.collisionCircleArrays[o.bucketInstanceId];e.invert(P.invProjMatrix,l),P.viewportMatrix=this.collisionIndex.getViewportMatrix()}o.justReloaded=!1},Mt.prototype.markUsedJustification=function(t,r,n,i){var a,o={left:n.leftJustifiedTextSymbolIndex,center:n.centerJustifiedTextSymbolIndex,right:n.rightJustifiedTextSymbolIndex};a=i===e.WritingMode.vertical?n.verticalPlacedTextSymbolIndex:o[e.getAnchorJustification(r)];for(var s=0,l=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex,n.verticalPlacedTextSymbolIndex];s<l.length;s+=1){var u=l[s];u>=0&&(t.text.placedSymbolArray.get(u).crossTileID=a>=0&&u!==a?0:n.crossTileID)}},Mt.prototype.markUsedOrientation=function(t,r,n){for(var i=r===e.WritingMode.horizontal||r===e.WritingMode.horizontalOnly?r:0,a=r===e.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o<s.length;o+=1){var l=s[o];t.text.placedSymbolArray.get(l).placedOrientation=i}n.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=a)},Mt.prototype.commit=function(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;var t=this.prevPlacement,r=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;var n=t?t.symbolFadeChange(e):1,i=t?t.opacities:{},a=t?t.variableOffsets:{},o=t?t.placedOrientations:{};for(var s in this.placements){var l=this.placements[s],u=i[s];u?(this.opacities[s]=new yt(u,n,l.text,l.icon),r=r||l.text!==u.text.placed||l.icon!==u.icon.placed):(this.opacities[s]=new yt(null,n,l.text,l.icon,l.skipFade),r=r||l.text||l.icon)}for(var c in i){var f=i[c];if(!this.opacities[c]){var h=new yt(f,n,!1,!1);h.isHidden()||(this.opacities[c]=h,r=r||f.text.placed||f.icon.placed)}}for(var p in a)this.variableOffsets[p]||!this.opacities[p]||this.opacities[p].isHidden()||(this.variableOffsets[p]=a[p]);for(var d in o)this.placedOrientations[d]||!this.opacities[d]||this.opacities[d].isHidden()||(this.placedOrientations[d]=o[d]);r?this.lastPlacementChangeTime=e:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)},Mt.prototype.updateLayerOpacities=function(e,t){for(var r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.getBucket(e);o&&a.latestFeatureIndex&&e.id===o.layerIds[0]&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},Mt.prototype.updateBucketOpacities=function(t,r,n){var i=this;t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();var a=t.layers[0].layout,o=new yt(null,0,!1,!1,!0),s=a.get(\"text-allow-overlap\"),l=a.get(\"icon-allow-overlap\"),u=a.get(\"text-variable-anchor\"),c=\"map\"===a.get(\"text-rotation-alignment\"),f=\"map\"===a.get(\"text-pitch-alignment\"),h=\"none\"!==a.get(\"icon-text-fit\"),p=new yt(null,0,s&&(l||!t.hasIconData()||a.get(\"icon-optional\")),l&&(s||!t.hasTextData()||a.get(\"text-optional\")),!0);!t.collisionArrays&&n&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(n);for(var d=function(e,t,r){for(var n=0;n<t/4;n++)e.opacityVertexArray.emplaceBack(r)},v=function(n){var a=t.symbolInstances.get(n),s=a.numHorizontalGlyphVertices,l=a.numVerticalGlyphVertices,v=a.crossTileID,g=r[v],m=i.opacities[v];g?m=o:m||(m=p,i.opacities[v]=m),r[v]=!0;var y=s>0||l>0,x=a.numIconVertices>0,b=i.placedOrientations[a.crossTileID],_=b===e.WritingMode.vertical,w=b===e.WritingMode.horizontal||b===e.WritingMode.horizontalOnly;if(y){var k=Dt(m.text),T=_?zt:k;d(t.text,s,T);var M=w?zt:k;d(t.text,l,M);var A=m.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(e){e>=0&&(t.text.placedSymbolArray.get(e).hidden=A||_?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=A||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(t,S.anchor,a,b);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(t,\"left\",a,E),i.markUsedOrientation(t,E,a))}if(x){var C=Dt(m.icon),L=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var P=L?C:zt;d(t.icon,a.numIconVertices,P),t.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=m.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var O=L?zt:C;d(t.icon,a.numVerticalIconVertices,O),t.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=m.icon.isHidden()}}if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){var I=t.collisionArrays[n];if(I){var D=new e.Point(0,0);if(I.textBox||I.verticalTextBox){var z=!0;if(u){var R=i.variableOffsets[v];R?(D=kt(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),c&&D._rotate(f?i.transform.angle:-i.transform.angle)):z=!1}I.textBox&&At(t.textCollisionBox.collisionVertexArray,m.text.placed,!z||_,D.x,D.y),I.verticalTextBox&&At(t.textCollisionBox.collisionVertexArray,m.text.placed,!z||w,D.x,D.y)}var F=Boolean(!w&&I.verticalIconBox);I.iconBox&&At(t.iconCollisionBox.collisionVertexArray,m.icon.placed,F,h?D.x:0,h?D.y:0),I.verticalIconBox&&At(t.iconCollisionBox.collisionVertexArray,m.icon.placed,!F,h?D.x:0,h?D.y:0)}}},g=0;g<t.symbolInstances.length;g++)v(g);if(t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.bucketInstanceId in this.collisionCircleArrays){var m=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=m.invProjMatrix,t.placementViewportMatrix=m.viewportMatrix,t.collisionCircleArray=m.circles,delete this.collisionCircleArrays[t.bucketInstanceId]}},Mt.prototype.symbolFadeChange=function(e){return 0===this.fadeDuration?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},Mt.prototype.zoomAdjustment=function(e){return Math.max(0,(this.transform.zoom-e)/1.5)},Mt.prototype.hasTransitions=function(e){return this.stale||e-this.lastPlacementChangeTime<this.fadeDuration},Mt.prototype.stillRecent=function(e,t){var r=this.zoomAtLastRecencyCheck===t?1-this.zoomAdjustment(t):1;return this.zoomAtLastRecencyCheck=t,this.commitTime+this.fadeDuration*r>e},Mt.prototype.setStale=function(){this.stale=!0};var St=Math.pow(2,25),Et=Math.pow(2,24),Ct=Math.pow(2,17),Lt=Math.pow(2,16),Pt=Math.pow(2,9),Ot=Math.pow(2,8),It=Math.pow(2,1);function Dt(e){if(0===e.opacity&&!e.placed)return 0;if(1===e.opacity&&e.placed)return 4294967295;var t=e.placed?1:0,r=Math.floor(127*e.opacity);return r*St+t*Et+r*Ct+t*Lt+r*Pt+t*Ot+r*It+t}var zt=0,Rt=function(e){this._sortAcrossTiles=\"viewport-y\"!==e.layout.get(\"symbol-z-order\")&&void 0!==e.layout.get(\"symbol-sort-key\").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Rt.prototype.continuePlacement=function(e,t,r,n,i){for(var a=this._bucketParts;this._currentTileIndex<e.length;){var o=e[this._currentTileIndex];if(t.getBucketParts(a,n,o,this._sortAcrossTiles),this._currentTileIndex++,i())return!0}for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort((function(e,t){return e.sortKey-t.sortKey})));this._currentPartIndex<a.length;){var s=a[this._currentPartIndex];if(t.placeLayerBucketPart(s,this._seenCrossTileIDs,r),this._currentPartIndex++,i())return!0}return!1};var Ft=function(e,t,r,n,i,a,o){this.placement=new Mt(e,i,a,o),this._currentPlacementIndex=t.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};Ft.prototype.isDone=function(){return this._done},Ft.prototype.continuePlacement=function(t,r,n){for(var i=this,a=e.browser.now(),o=function(){var t=e.browser.now()-a;return!i._forceFullPlacement&&t>2};this._currentPlacementIndex>=0;){var s=r[t[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Rt(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Ft.prototype.commit=function(e){return this.placement.commit(e),this.placement};var Bt=512/e.EXTENT/2,Nt=function(e,t,r){this.tileID=e,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;n<t.length;n++){var i=t.get(n),a=i.key;this.indexedSymbolInstances[a]||(this.indexedSymbolInstances[a]=[]),this.indexedSymbolInstances[a].push({crossTileID:i.crossTileID,coord:this.getScaledCoordinates(i,e)})}};Nt.prototype.getScaledCoordinates=function(t,r){var n=r.canonical.z-this.tileID.canonical.z,i=Bt/Math.pow(2,n);return{x:Math.floor((r.canonical.x*e.EXTENT+t.anchorX)*i),y:Math.floor((r.canonical.y*e.EXTENT+t.anchorY)*i)}},Nt.prototype.findMatches=function(e,t,r){for(var n=this.tileID.canonical.z<t.canonical.z?1:Math.pow(2,this.tileID.canonical.z-t.canonical.z),i=0;i<e.length;i++){var a=e.get(i);if(!a.crossTileID){var o=this.indexedSymbolInstances[a.key];if(o)for(var s=this.getScaledCoordinates(a,t),l=0,u=o;l<u.length;l+=1){var c=u[l];if(Math.abs(c.coord.x-s.x)<=n&&Math.abs(c.coord.y-s.y)<=n&&!r[c.crossTileID]){r[c.crossTileID]=!0,a.crossTileID=c.crossTileID;break}}}}};var jt=function(){this.maxCrossTileID=0};jt.prototype.generate=function(){return++this.maxCrossTileID};var Ut=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};Ut.prototype.handleWrapJump=function(e){var t=Math.round((e-this.lng)/360);if(0!==t)for(var r in this.indexes){var n=this.indexes[r],i={};for(var a in n){var o=n[a];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+t),i[o.tileID.key]=o}this.indexes[r]=i}this.lng=e},Ut.prototype.addBucket=function(e,t,r){if(this.indexes[e.overscaledZ]&&this.indexes[e.overscaledZ][e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(var n=0;n<t.symbolInstances.length;n++)t.symbolInstances.get(n).crossTileID=0;this.usedCrossTileIDs[e.overscaledZ]||(this.usedCrossTileIDs[e.overscaledZ]={});var i=this.usedCrossTileIDs[e.overscaledZ];for(var a in this.indexes){var o=this.indexes[a];if(Number(a)>e.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(e)&&l.findMatches(t.symbolInstances,e,i)}else{var u=o[e.scaledTo(Number(a)).key];u&&u.findMatches(t.symbolInstances,e,i)}}for(var c=0;c<t.symbolInstances.length;c++){var f=t.symbolInstances.get(c);f.crossTileID||(f.crossTileID=r.generate(),i[f.crossTileID]=!0)}return void 0===this.indexes[e.overscaledZ]&&(this.indexes[e.overscaledZ]={}),this.indexes[e.overscaledZ][e.key]=new Nt(e,t.symbolInstances,t.bucketInstanceId),!0},Ut.prototype.removeBucketCrossTileIDs=function(e,t){for(var r in t.indexedSymbolInstances)for(var n=0,i=t.indexedSymbolInstances[r];n<i.length;n+=1){var a=i[n];delete this.usedCrossTileIDs[e][a.crossTileID]}},Ut.prototype.removeStaleBuckets=function(e){var t=!1;for(var r in this.indexes){var n=this.indexes[r];for(var i in n)e[n[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,n[i]),delete n[i],t=!0)}return t};var Vt=function(){this.layerIndexes={},this.crossTileIDs=new jt,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};Vt.prototype.addLayer=function(e,t,r){var n=this.layerIndexes[e.id];void 0===n&&(n=this.layerIndexes[e.id]=new Ut);var i=!1,a={};n.handleWrapJump(r);for(var o=0,s=t;o<s.length;o+=1){var l=s[o],u=l.getBucket(e);u&&e.id===u.layerIds[0]&&(u.bucketInstanceId||(u.bucketInstanceId=++this.maxBucketInstanceId),n.addBucket(l.tileID,u,this.crossTileIDs)&&(i=!0),a[u.bucketInstanceId]=!0)}return n.removeStaleBuckets(a)&&(i=!0),i},Vt.prototype.pruneUnusedLayers=function(e){var t={};for(var r in e.forEach((function(e){t[e]=!0})),this.layerIndexes)t[r]||delete this.layerIndexes[r]};var Ht=function(t,r){return e.emitValidationErrors(t,r&&r.filter((function(e){return\"source.canvas\"!==e.identifier})))},qt=e.pick(He,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),Gt=e.pick(He,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Yt=function(){var t={},r=e.styleSpec.$version;for(var n in e.styleSpec.$root){var i=e.styleSpec.$root[n];if(i.required){var a;null!=(a=\"version\"===n?r:\"array\"===i.type?[]:{})&&(t[n]=a)}}return t}(),Wt=function(t){function r(n,i){var a=this;void 0===i&&(i={}),t.call(this),this.map=n,this.dispatcher=new M(je(),this),this.imageManager=new h,this.imageManager.setEventedParent(this),this.glyphManager=new x(n._requestManager,i.localIdeographFontFamily),this.lineAtlas=new T(256,512),this.crossTileSymbolIndex=new Vt,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new e.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",e.getReferrer());var o=this;this._rtlTextPluginCallback=r.registerForPluginStateChange((function(t){var r={pluginStatus:t.pluginStatus,pluginURL:t.pluginURL};o.dispatcher.broadcast(\"syncRTLPluginState\",r,(function(t,r){if(e.triggerPluginCompletionEvent(t),r&&r.every((function(e){return e})))for(var n in o.sourceCaches)o.sourceCaches[n].reload()}))})),this.on(\"data\",(function(e){if(\"source\"===e.dataType&&\"metadata\"===e.sourceDataType){var t=a.sourceCaches[e.sourceId];if(t){var r=t.getSource();if(r&&r.vectorLayerIds)for(var n in a._layers){var i=a._layers[n];i.source===r.id&&a._validateLayer(i)}}}}))}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.loadURL=function(t,r){var n=this;void 0===r&&(r={}),this.fire(new e.Event(\"dataloading\",{dataType:\"style\"}));var i=\"boolean\"==typeof r.validate?r.validate:!e.isMapboxURL(t);t=this.map._requestManager.normalizeStyleURL(t,r.accessToken);var a=this.map._requestManager.transformRequest(t,e.ResourceType.Style);this._request=e.getJSON(a,(function(t,r){n._request=null,t?n.fire(new e.ErrorEvent(t)):r&&n._load(r,i)}))},r.prototype.loadJSON=function(t,r){var n=this;void 0===r&&(r={}),this.fire(new e.Event(\"dataloading\",{dataType:\"style\"})),this._request=e.browser.frame((function(){n._request=null,n._load(t,!1!==r.validate)}))},r.prototype.loadEmpty=function(){this.fire(new e.Event(\"dataloading\",{dataType:\"style\"})),this._load(Yt,!1)},r.prototype._load=function(t,r){if(!r||!Ht(this,e.validateStyle(t))){for(var n in this._loaded=!0,this.stylesheet=t,t.sources)this.addSource(n,t.sources[n],{validate:!1});t.sprite?this._loadSprite(t.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(t.glyphs);var i=Ve(this.stylesheet.layers);this._order=i.map((function(e){return e.id})),this._layers={},this._serializedLayers={};for(var a=0,o=i;a<o.length;a+=1){var s=o[a];(s=e.createStyleLayer(s)).setEventedParent(this,{layer:{id:s.id}}),this._layers[s.id]=s,this._serializedLayers[s.id]=s.serialize()}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new k(this.stylesheet.light),this.fire(new e.Event(\"data\",{dataType:\"style\"})),this.fire(new e.Event(\"style.load\"))}},r.prototype._loadSprite=function(t){var r=this;this._spriteRequest=function(t,r,n){var i,a,o,s=e.browser.devicePixelRatio>1?\"@2x\":\"\",l=e.getJSON(r.transformRequest(r.normalizeSpriteURL(t,s,\".json\"),e.ResourceType.SpriteJSON),(function(e,t){l=null,o||(o=e,i=t,c())})),u=e.getImage(r.transformRequest(r.normalizeSpriteURL(t,s,\".png\"),e.ResourceType.SpriteImage),(function(e,t){u=null,o||(o=e,a=t,c())}));function c(){if(o)n(o);else if(i&&a){var t=e.browser.getImageData(a),r={};for(var s in i){var l=i[s],u=l.width,c=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,v=l.stretchX,g=l.stretchY,m=l.content,y=new e.RGBAImage({width:u,height:c});e.RGBAImage.copy(t,y,{x:f,y:h},{x:0,y:0},{width:u,height:c}),r[s]={data:y,pixelRatio:d,sdf:p,stretchX:v,stretchY:g,content:m}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),u&&(u.cancel(),u=null)}}}(t,this.map._requestManager,(function(t,n){if(r._spriteRequest=null,t)r.fire(new e.ErrorEvent(t));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast(\"setImages\",r._availableImages),r.fire(new e.Event(\"data\",{dataType:\"style\"}))}))},r.prototype._validateLayer=function(t){var r=this.sourceCaches[t.source];if(r){var n=t.sourceLayer;if(n){var i=r.getSource();(\"geojson\"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new e.ErrorEvent(new Error('Source layer \"'+n+'\" does not exist on source \"'+i.id+'\" as specified by style layer \"'+t.id+'\"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var e in this.sourceCaches)if(!this.sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(e){for(var t=[],r=0,n=e;r<n.length;r+=1){var i=n[r],a=this._layers[i];\"custom\"!==a.type&&t.push(a.serialize())}return t},r.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var e in this.sourceCaches)if(this.sourceCaches[e].hasTransition())return!0;for(var t in this._layers)if(this._layers[t].hasTransition())return!0;return!1},r.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},r.prototype.update=function(t){if(this._loaded){var r=this._changed;if(this._changed){var n=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);for(var a in(n.length||i.length)&&this._updateWorkerLayers(n,i),this._updatedSources){var o=this._updatedSources[a];\"reload\"===o?this._reloadSource(a):\"clear\"===o&&this._clearSource(a)}for(var s in this._updateTilesForChangedImages(),this._updatedPaintProps)this._layers[s].updateTransitions(t);this.light.updateTransitions(t),this._resetUpdates()}for(var l in this.sourceCaches)this.sourceCaches[l].used=!1;for(var u=0,c=this._order;u<c.length;u+=1){var f=c[u],h=this._layers[f];h.recalculate(t,this._availableImages),!h.isHidden(t.zoom)&&h.source&&(this.sourceCaches[h.source].used=!0)}this.light.recalculate(t),this.z=t.zoom,r&&this.fire(new e.Event(\"data\",{dataType:\"style\"}))}},r.prototype._updateTilesForChangedImages=function(){var e=Object.keys(this._changedImages);if(e.length){for(var t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies([\"icons\",\"patterns\"],e);this._changedImages={}}},r.prototype._updateWorkerLayers=function(e,t){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(e),removedIds:t})},r.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}},r.prototype.setState=function(t){var r=this;if(this._checkLoaded(),Ht(this,e.validateStyle(t)))return!1;(t=e.clone$1(t)).layers=Ve(t.layers);var n=Je(this.serialize(),t).filter((function(e){return!(e.command in Gt)}));if(0===n.length)return!1;var i=n.filter((function(e){return!(e.command in qt)}));if(i.length>0)throw new Error(\"Unimplemented: \"+i.map((function(e){return e.command})).join(\", \")+\".\");return n.forEach((function(e){\"setTransition\"!==e.command&&r[e.command].apply(r,e.args)})),this.stylesheet=t,!0},r.prototype.addImage=function(t,r){if(this.getImage(t))return this.fire(new e.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(t,r),this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.fire(new e.Event(\"data\",{dataType:\"style\"}))},r.prototype.updateImage=function(e,t){this.imageManager.updateImage(e,t)},r.prototype.getImage=function(e){return this.imageManager.getImage(e)},r.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire(new e.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(t),this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.fire(new e.Event(\"data\",{dataType:\"style\"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(t,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(\"There is already a source with this ID\");if(!r.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(r).join(\", \")+\".\");if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(r.type)>=0&&this._validate(e.validateStyle.source,\"sources.\"+t,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[t]=new Oe(t,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:t}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(t){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(\"There is no source with this ID\");for(var r in this._layers)if(this._layers[r].source===t)return this.fire(new e.ErrorEvent(new Error('Source \"'+t+'\" cannot be removed while layer \"'+r+'\" is using it.')));var n=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],n.fire(new e.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:t})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(e,t){this._checkLoaded(),this.sourceCaches[e].getSource().setData(t),this._changed=!0},r.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},r.prototype.addLayer=function(t,r,n){void 0===n&&(n={}),this._checkLoaded();var i=t.id;if(this.getLayer(i))this.fire(new e.ErrorEvent(new Error('Layer with id \"'+i+'\" already exists on this map')));else{var a;if(\"custom\"===t.type){if(Ht(this,e.validateCustomStyleLayer(t)))return;a=e.createStyleLayer(t)}else{if(\"object\"==typeof t.source&&(this.addSource(i,t.source),t=e.clone$1(t),t=e.extend(t,{source:i})),this._validate(e.validateStyle.layer,\"layers.\"+i,t,{arrayIndex:-1},n))return;a=e.createStyleLayer(t),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new e.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&\"custom\"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]=\"clear\":(this._updatedSources[a.source]=\"reload\",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(t,r){if(this._checkLoaded(),this._changed=!0,this._layers[t]){if(t!==r){var n=this._order.indexOf(t);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new e.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.'))):(this._order.splice(i,0,t),this._layerOrderChanged=!0)}}else this.fire(new e.ErrorEvent(new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be moved.\")))},r.prototype.removeLayer=function(t){this._checkLoaded();var r=this._layers[t];if(r){r.setEventedParent(null);var n=this._order.indexOf(t);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=r,delete this._layers[t],delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],r.onRemove&&r.onRemove(this.map)}else this.fire(new e.ErrorEvent(new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be removed.\")))},r.prototype.getLayer=function(e){return this._layers[e]},r.prototype.hasLayer=function(e){return e in this._layers},r.prototype.setLayerZoomRange=function(t,r,n){this._checkLoaded();var i=this.getLayer(t);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new e.ErrorEvent(new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot have zoom extent.\")))},r.prototype.setFilter=function(t,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(t);if(i){if(!e.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(e.validateStyle.filter,\"layers.\"+i.id+\".filter\",r,null,n)||(i.filter=e.clone$1(r),this._updateLayer(i)))}else this.fire(new e.ErrorEvent(new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be filtered.\")))},r.prototype.getFilter=function(t){return e.clone$1(this.getLayer(t).filter)},r.prototype.setLayoutProperty=function(t,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(t);a?e.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new e.ErrorEvent(new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getLayoutProperty=function(t,r){var n=this.getLayer(t);if(n)return n.getLayoutProperty(r);this.fire(new e.ErrorEvent(new Error(\"The layer '\"+t+\"' does not exist in the map's style.\")))},r.prototype.setPaintProperty=function(t,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(t);a?e.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[t]=!0):this.fire(new e.ErrorEvent(new Error(\"The layer '\"+t+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getPaintProperty=function(e,t){return this.getLayer(e).getPaintProperty(t)},r.prototype.setFeatureState=function(t,r){this._checkLoaded();var n=t.source,i=t.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;\"geojson\"===o&&i?this.fire(new e.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==o||i?(void 0===t.id&&this.fire(new e.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),a.setFeatureState(i,t.id,r)):this.fire(new e.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new e.ErrorEvent(new Error(\"The source '\"+n+\"' does not exist in the map's style.\")))},r.prototype.removeFeatureState=function(t,r){this._checkLoaded();var n=t.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o=\"vector\"===a?t.sourceLayer:void 0;\"vector\"!==a||o?r&&\"string\"!=typeof t.id&&\"number\"!=typeof t.id?this.fire(new e.ErrorEvent(new Error(\"A feature id is requred to remove its specific state property.\"))):i.removeFeatureState(o,t.id,r):this.fire(new e.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new e.ErrorEvent(new Error(\"The source '\"+n+\"' does not exist in the map's style.\")))},r.prototype.getFeatureState=function(t){this._checkLoaded();var r=t.source,n=t.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if(\"vector\"!==i.getSource().type||n)return void 0===t.id&&this.fire(new e.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),i.getFeatureState(n,t.id);this.fire(new e.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new e.ErrorEvent(new Error(\"The source '\"+r+\"' does not exist in the map's style.\")))},r.prototype.getTransition=function(){return e.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return e.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:e.mapObject(this.sourceCaches,(function(e){return e.serialize()})),layers:this._serializeLayers(this._order)},(function(e){return void 0!==e}))},r.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&\"raster\"!==this.sourceCaches[e.source].getSource().type&&(this._updatedSources[e.source]=\"reload\",this.sourceCaches[e.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(e){for(var t=this,r=function(e){return\"fill-extrusion\"===t._layers[e].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=e;s<l.length;s+=1){var u=l[s][o];if(u)for(var c=0,f=u;c<f.length;c+=1){var h=f[c];i.push(h)}}}}i.sort((function(e,t){return t.intersectionZ-e.intersectionZ}));for(var p=[],d=this._order.length-1;d>=0;d--){var v=this._order[d];if(r(v))for(var g=i.length-1;g>=0;g--){var m=i[g].feature;if(n[m.layer.id]<d)break;p.push(m),i.pop()}else for(var y=0,x=e;y<x.length;y+=1){var b=x[y][v];if(b)for(var _=0,w=b;_<w.length;_+=1){var k=w[_];p.push(k.feature)}}}return p},r.prototype.queryRenderedFeatures=function(t,r,n){r&&r.filter&&this._validate(e.validateStyle.filter,\"queryRenderedFeatures.filter\",r.filter,null,r);var i={};if(r&&r.layers){if(!Array.isArray(r.layers))return this.fire(new e.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[];for(var a=0,o=r.layers;a<o.length;a+=1){var s=o[a],l=this._layers[s];if(!l)return this.fire(new e.ErrorEvent(new Error(\"The layer '\"+s+\"' does not exist in the map's style and cannot be queried for features.\"))),[];i[l.source]=!0}}var u=[];for(var c in r.availableImages=this._availableImages,this.sourceCaches)r.layers&&!i[c]||u.push(B(this.sourceCaches[c],this._layers,this._serializedLayers,t,r,n));return this.placement&&u.push(function(e,t,r,n,i,a,o){for(var s={},l=a.queryRenderedSymbols(n),u=[],c=0,f=Object.keys(l).map(Number);c<f.length;c+=1){var h=f[c];u.push(o[h])}u.sort(N);for(var p=function(){var r=v[d],n=r.featureIndex.lookupSymbolFeatures(l[r.bucketInstanceId],t,r.bucketIndex,r.sourceLayerIndex,i.filter,i.layers,i.availableImages,e);for(var a in n){var o=s[a]=s[a]||[],u=n[a];u.sort((function(e,t){var n=r.featureSortOrder;if(n){var i=n.indexOf(e.featureIndex);return n.indexOf(t.featureIndex)-i}return t.featureIndex-e.featureIndex}));for(var c=0,f=u;c<f.length;c+=1){var h=f[c];o.push(h)}}},d=0,v=u;d<v.length;d+=1)p();var g=function(t){s[t].forEach((function(n){var i=n.feature,a=e[t],o=r[a.source].getFeatureState(i.layer[\"source-layer\"],i.id);i.source=i.layer.source,i.layer[\"source-layer\"]&&(i.sourceLayer=i.layer[\"source-layer\"]),i.state=o}))};for(var m in s)g(m);return s}(this._layers,this._serializedLayers,this.sourceCaches,t,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(u)},r.prototype.querySourceFeatures=function(t,r){r&&r.filter&&this._validate(e.validateStyle.filter,\"querySourceFeatures.filter\",r.filter,null,r);var n=this.sourceCaches[t];return n?function(e,t){for(var r=e.getRenderableIds().map((function(t){return e.getTileByID(t)})),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,t))}return n}(n,r):[]},r.prototype.addSourceType=function(e,t,n){return r.getSourceType(e)?n(new Error('A source type called \"'+e+'\" already exists.')):(r.setSourceType(e,t),t.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:e,url:t.workerSourceURL},n):n(null,null))},r.prototype.getLight=function(){return this.light.getLight()},r.prototype.setLight=function(t,r){void 0===r&&(r={}),this._checkLoaded();var n=this.light.getLight(),i=!1;for(var a in t)if(!e.deepEqual(t[a],n[a])){i=!0;break}if(i){var o={now:e.browser.now(),transition:e.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(t,r),this.light.updateTransitions(o)}},r.prototype._validate=function(t,r,n,i,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&Ht(this,t.call(e.validateStyle,e.extend({key:r,style:this.serialize(),value:n,styleSpec:e.styleSpec},i)))},r.prototype._remove=function(){for(var t in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),e.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback),this._layers)this._layers[t].setEventedParent(null);for(var r in this.sourceCaches)this.sourceCaches[r].clearTiles(),this.sourceCaches[r].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()},r.prototype._clearSource=function(e){this.sourceCaches[e].clearTiles()},r.prototype._reloadSource=function(e){this.sourceCaches[e].resume(),this.sourceCaches[e].reload()},r.prototype._updateSources=function(e){for(var t in this.sourceCaches)this.sourceCaches[t].update(e)},r.prototype._generateCollisionBoxes=function(){for(var e in this.sourceCaches)this._reloadSource(e)},r.prototype._updatePlacement=function(t,r,n,i,a){void 0===a&&(a=!1);for(var o=!1,s=!1,l={},u=0,c=this._order;u<c.length;u+=1){var f=c[u],h=this._layers[f];if(\"symbol\"===h.type){if(!l[h.source]){var p=this.sourceCaches[h.source];l[h.source]=p.getRenderableIds(!0).map((function(e){return p.getTileByID(e)})).sort((function(e,t){return t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1)}))}var d=this.crossTileSymbolIndex.addLayer(h,l[h.source],t.center.lng);o=o||d}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((a=a||this._layerOrderChanged||0===n)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(e.browser.now(),t.zoom))&&(this.pauseablePlacement=new Ft(t,this._order,a,r,n,i,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(e.browser.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(var v=0,g=this._order;v<g.length;v+=1){var m=g[v],y=this._layers[m];\"symbol\"===y.type&&this.placement.updateLayerOpacities(y,l[y.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(e.browser.now())},r.prototype._releaseSymbolFadeTiles=function(){for(var e in this.sourceCaches)this.sourceCaches[e].releaseSymbolFadeTiles()},r.prototype.getImages=function(e,t,r){this.imageManager.getImages(t.icons,r),this._updateTilesForChangedImages();var n=this.sourceCaches[t.source];n&&n.setDependencies(t.tileID.key,t.type,t.icons)},r.prototype.getGlyphs=function(e,t,r){this.glyphManager.getGlyphs(t.stacks,r)},r.prototype.getResource=function(t,r,n){return e.makeRequest(r,n)},r}(e.Evented);Wt.getSourceType=function(e){return R[e]},Wt.setSourceType=function(e,t){R[e]=t},Wt.registerForPluginStateChange=e.registerForPluginStateChange;var Zt=e.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),Xt=_r(\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\",\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\"),Kt=_r(\"uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),Jt=_r(\"uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),$t=_r(\"varying vec3 v_data;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main(void) {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}\"),Qt=_r(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),er=_r(\"uniform highp float u_intensity;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main() {\\n#pragma mapbox: initialize highp float weight\\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\nconst highp float ZERO=1.0/255.0/16.0;\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main(void) {\\n#pragma mapbox: initialize highp float weight\\n#pragma mapbox: initialize mediump float radius\\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}\"),tr=_r(\"uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(0.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),rr=_r(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),nr=_r(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd  =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz  /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),ir=_r(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}\"),ar=_r(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);}\"),or=_r(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),sr=_r(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),lr=_r(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),ur=_r(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),cr=_r(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),fr=_r(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hr=_r(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),pr=_r(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),dr=_r(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define MAX_LINE_DISTANCE 32767.0\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),vr=_r(\"uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),gr=_r(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),mr=_r(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),yr=_r(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}\"),xr=_r(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),br=_r(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\");function _r(e,t){var r=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,n={};return{fragmentSource:e=e.replace(r,(function(e,t,r,i,a){return n[a]=!0,\"define\"===t?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nvarying \"+r+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+r+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+a+\"\\n    \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"})),vertexSource:t=t.replace(r,(function(e,t,r,i,a){var o=\"float\"===i?\"vec2\":\"vec4\",s=a.match(/color/)?\"color\":o;return n[a]?\"define\"===t?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float u_\"+a+\"_t;\\nattribute \"+r+\" \"+o+\" a_\"+a+\";\\nvarying \"+r+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+r+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"vec4\"===s?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+a+\" = a_\"+a+\";\\n#else\\n    \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+a+\" = unpack_mix_\"+s+\"(a_\"+a+\", u_\"+a+\"_t);\\n#else\\n    \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"define\"===t?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float u_\"+a+\"_t;\\nattribute \"+r+\" \"+o+\" a_\"+a+\";\\n#else\\nuniform \"+r+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"vec4\"===s?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+r+\" \"+i+\" \"+a+\" = a_\"+a+\";\\n#else\\n    \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+r+\" \"+i+\" \"+a+\" = unpack_mix_\"+s+\"(a_\"+a+\", u_\"+a+\"_t);\\n#else\\n    \"+r+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"}))}}var wr=Object.freeze({__proto__:null,prelude:Xt,background:Kt,backgroundPattern:Jt,circle:$t,clippingMask:Qt,heatmap:er,heatmapTexture:tr,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:ur,fillExtrusionPattern:cr,hillshadePrepare:fr,hillshade:hr,line:pr,lineGradient:dr,linePattern:vr,lineSDF:gr,raster:mr,symbolIcon:yr,symbolSDF:xr,symbolTextAndIcon:br}),kr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};kr.prototype.bind=function(e,t,r,n,i,a,o,s){this.context=e;for(var l=this.boundPaintVertexBuffers.length!==n.length,u=0;!l&&u<n.length;u++)this.boundPaintVertexBuffers[u]!==n[u]&&(l=!0);var c=!this.vao||this.boundProgram!==t||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!e.extVertexArrayObject||c?this.freshBind(t,r,n,i,a,o,s):(e.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind())},kr.prototype.freshBind=function(e,t,r,n,i,a,o){var s,l=e.numAttributes,u=this.context,c=u.gl;if(u.extVertexArrayObject)this.vao&&this.destroy(),this.vao=u.extVertexArrayObject.createVertexArrayOES(),u.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=e,this.boundLayoutVertexBuffer=t,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=u.currentNumAttributes||0;for(var f=l;f<s;f++)c.disableVertexAttribArray(f)}t.enableAttributes(c,e);for(var h=0,p=r;h<p.length;h+=1)p[h].enableAttributes(c,e);a&&a.enableAttributes(c,e),o&&o.enableAttributes(c,e),t.bind(),t.setVertexAttribPointers(c,e,i);for(var d=0,v=r;d<v.length;d+=1){var g=v[d];g.bind(),g.setVertexAttribPointers(c,e,i)}a&&(a.bind(),a.setVertexAttribPointers(c,e,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(c,e,i)),u.currentNumAttributes=l},kr.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};var Tr=function(e,t,r,n,i){var a=e.gl;this.program=a.createProgram();var o=r?r.defines():[];i&&o.push(\"#define OVERDRAW_INSPECTOR;\");var s=o.concat(Xt.fragmentSource,t.fragmentSource).join(\"\\n\"),l=o.concat(Xt.vertexSource,t.vertexSource).join(\"\\n\"),u=a.createShader(a.FRAGMENT_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(u,s),a.compileShader(u),a.attachShader(this.program,u);var c=a.createShader(a.VERTEX_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(c,l),a.compileShader(c),a.attachShader(this.program,c);for(var f=r?r.layoutAttributes:[],h=0;h<f.length;h++)a.bindAttribLocation(this.program,h,f[h].name);a.linkProgram(this.program),a.deleteShader(c),a.deleteShader(u),this.numAttributes=a.getProgramParameter(this.program,a.ACTIVE_ATTRIBUTES),this.attributes={};for(var p={},d=0;d<this.numAttributes;d++){var v=a.getActiveAttrib(this.program,d);v&&(this.attributes[v.name]=a.getAttribLocation(this.program,v.name))}for(var g=a.getProgramParameter(this.program,a.ACTIVE_UNIFORMS),m=0;m<g;m++){var y=a.getActiveUniform(this.program,m);y&&(p[y.name]=a.getUniformLocation(this.program,y.name))}this.fixedUniforms=n(e,p),this.binderUniforms=r?r.getUniforms(e,p):[]}}};function Mr(e,t,r){var n=1/gt(r,1,t.transform.tileZoom),i=Math.pow(2,r.tileID.overscaledZ),a=r.tileSize*Math.pow(2,t.transform.tileZoom)/i,o=a*(r.tileID.canonical.x+r.tileID.wrap*i),s=a*r.tileID.canonical.y;return{u_image:0,u_texsize:r.imageAtlasTexture.size,u_scale:[n,e.fromScale,e.toScale],u_fade:e.t,u_pixel_coord_upper:[o>>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}Tr.prototype.draw=function(e,t,r,n,i,a,o,s,l,u,c,f,h,p,d,v){var g,m=e.gl;if(!this.failedToCreate){for(var y in e.program.set(this.program),e.setDepthMode(r),e.setStencilMode(n),e.setColorMode(i),e.setCullFace(a),this.fixedUniforms)this.fixedUniforms[y].set(o[y]);p&&p.setUniforms(e,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[m.LINES]=2,g[m.TRIANGLES]=3,g[m.LINE_STRIP]=1,g)[t],b=0,_=c.get();b<_.length;b+=1){var w=_[b],k=w.vaos||(w.vaos={});(k[s]||(k[s]=new kr)).bind(e,this,l,p?p.getPaintVertexBuffers():[],u,w.vertexOffset,d,v),m.drawElements(t,w.primitiveLength*x,m.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Ar=function(t,r,n,i){var a=r.style.light,o=a.properties.get(\"position\"),s=[o.x,o.y,o.z],l=e.create$1();\"viewport\"===a.properties.get(\"anchor\")&&e.fromRotation(l,-r.transform.angle),e.transformMat3(s,s,l);var u=a.properties.get(\"color\");return{u_matrix:t,u_lightpos:s,u_lightintensity:a.properties.get(\"intensity\"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},Sr=function(t,r,n,i,a,o,s){return e.extend(Ar(t,r,n,i),Mr(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Er=function(e){return{u_matrix:e}},Cr=function(t,r,n,i){return e.extend(Er(t),Mr(n,r,i))},Lr=function(e,t){return{u_matrix:e,u_world:t}},Pr=function(t,r,n,i,a){return e.extend(Cr(t,r,n,i),{u_world:a})},Or=function(t,r,n,i){var a,o,s=t.transform;if(\"map\"===i.paint.get(\"circle-pitch-alignment\")){var l=gt(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+(\"map\"===i.paint.get(\"circle-pitch-scale\")),u_matrix:t.translatePosMatrix(r.posMatrix,n,i.paint.get(\"circle-translate\"),i.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+a,u_device_pixel_ratio:e.browser.devicePixelRatio,u_extrude_scale:o}},Ir=function(e,t,r){var n=gt(r,1,t.zoom),i=Math.pow(2,t.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:e,u_camera_to_center_distance:t.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[t.pixelsToGLUnits[0]/(n*i),t.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},Dr=function(e,t,r){return{u_matrix:e,u_inv_matrix:t,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},zr=function(e,t,r){return void 0===r&&(r=1),{u_matrix:e,u_color:t,u_overlay:0,u_overlay_scale:r}},Rr=function(e){return{u_matrix:e}},Fr=function(e,t,r,n){return{u_matrix:e,u_extrude_scale:gt(t,1,r),u_intensity:n}},Br=function(t,r,n,i){var a=e.create();e.ortho(a,0,t.width,t.height,0,0,1);var o=t.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get(\"heatmap-opacity\")}},Nr=function(t,r,n){var i=n.paint.get(\"hillshade-shadow-color\"),a=n.paint.get(\"hillshade-highlight-color\"),o=n.paint.get(\"hillshade-accent-color\"),s=n.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===n.paint.get(\"hillshade-illumination-anchor\")&&(s-=t.transform.angle);var l,u,c,f=!t.options.moving;return{u_matrix:t.transform.calculatePosMatrix(r.tileID.toUnwrapped(),f),u_image:0,u_latrange:(l=r.tileID,u=Math.pow(2,l.canonical.z),c=l.canonical.y,[new e.MercatorCoordinate(0,c/u).toLngLat().lat,new e.MercatorCoordinate(0,(c+1)/u).toLngLat().lat]),u_light:[n.paint.get(\"hillshade-exaggeration\"),s],u_shadow:i,u_highlight:a,u_accent:o}},jr=function(t,r,n){var i=r.stride,a=e.create();return e.ortho(a,0,e.EXTENT,-e.EXTENT,0,0,1),e.translate(a,a,[0,-e.EXTENT,0]),{u_matrix:a,u_image:1,u_dimension:[i,i],u_zoom:t.overscaledZ,u_maxzoom:n,u_unpack:r.getUnpackVector()}};var Ur=function(t,r,n){var i=t.transform;return{u_matrix:Yr(t,r,n),u_ratio:1/gt(r,1,i.zoom),u_device_pixel_ratio:e.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Vr=function(t,r,n){return e.extend(Ur(t,r,n),{u_image:0})},Hr=function(t,r,n,i){var a=t.transform,o=Gr(r,a);return{u_matrix:Yr(t,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/gt(r,1,a.zoom),u_device_pixel_ratio:e.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},qr=function(t,r,n,i,a){var o=t.transform,s=t.lineAtlas,l=Gr(r,o),u=\"round\"===n.layout.get(\"line-cap\"),c=s.getDash(i.from,u),f=s.getDash(i.to,u),h=c.width*a.fromScale,p=f.width*a.toScale;return e.extend(Ur(t,r,n),{u_patternscale_a:[l/h,-c.height/2],u_patternscale_b:[l/p,-f.height/2],u_sdfgamma:s.width/(256*Math.min(h,p)*e.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:f.y,u_mix:a.t})};function Gr(e,t){return 1/gt(e,1,t.tileZoom)}function Yr(e,t,r){return e.translatePosMatrix(t.tileID.posMatrix,t,r.paint.get(\"line-translate\"),r.paint.get(\"line-translate-anchor\"))}var Wr=function(e,t,r,n,i){return{u_matrix:e,u_tl_parent:t,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get(\"raster-brightness-min\"),u_brightness_high:i.paint.get(\"raster-brightness-max\"),u_saturation_factor:(o=i.paint.get(\"raster-saturation\"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get(\"raster-contrast\"),a>0?1/(1-a):1+a),u_spin_weights:Zr(i.paint.get(\"raster-hue-rotate\"))};var a,o};function Zr(e){e*=Math.PI/180;var t=Math.sin(e),r=Math.cos(e);return[(2*r+1)/3,(-Math.sqrt(3)*t-r+1)/3,(Math.sqrt(3)*t-r+1)/3]}var Xr,Kr=function(e,t,r,n,i,a,o,s,l,u){var c=i.transform;return{u_is_size_zoom_constant:+(\"constant\"===e||\"source\"===e),u_is_size_feature_constant:+(\"constant\"===e||\"camera\"===e),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:c.cameraToCenterDistance,u_pitch:c.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:c.width/c.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:u,u_texture:0}},Jr=function(t,r,n,i,a,o,s,l,u,c,f){var h=a.transform;return e.extend(Kr(t,r,n,i,a,o,s,l,u,c),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:e.browser.devicePixelRatio,u_is_halo:+f})},$r=function(t,r,n,i,a,o,s,l,u,c){return e.extend(Jr(t,r,n,i,a,o,s,l,!0,u,!0),{u_texsize_icon:c,u_texture_icon:1})},Qr=function(e,t,r){return{u_matrix:e,u_opacity:t,u_color:r}},en=function(t,r,n,i,a,o){return e.extend(function(e,t,r,n){var i=r.imageManager.getPattern(e.from.toString()),a=r.imageManager.getPattern(e.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,u=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/u,f=c*(n.tileID.canonical.x+n.tileID.wrap*u),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:t.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:t.fromScale,u_scale_b:t.toScale,u_tile_units_to_pixels:1/gt(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:t,u_opacity:r})},tn={fillExtrusion:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_lightpos:new e.Uniform3f(t,r.u_lightpos),u_lightintensity:new e.Uniform1f(t,r.u_lightintensity),u_lightcolor:new e.Uniform3f(t,r.u_lightcolor),u_vertical_gradient:new e.Uniform1f(t,r.u_vertical_gradient),u_opacity:new e.Uniform1f(t,r.u_opacity)}},fillExtrusionPattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_lightpos:new e.Uniform3f(t,r.u_lightpos),u_lightintensity:new e.Uniform1f(t,r.u_lightintensity),u_lightcolor:new e.Uniform3f(t,r.u_lightcolor),u_vertical_gradient:new e.Uniform1f(t,r.u_vertical_gradient),u_height_factor:new e.Uniform1f(t,r.u_height_factor),u_image:new e.Uniform1i(t,r.u_image),u_texsize:new e.Uniform2f(t,r.u_texsize),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade),u_opacity:new e.Uniform1f(t,r.u_opacity)}},fill:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},fillPattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_image:new e.Uniform1i(t,r.u_image),u_texsize:new e.Uniform2f(t,r.u_texsize),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade)}},fillOutline:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_world:new e.Uniform2f(t,r.u_world)}},fillOutlinePattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_world:new e.Uniform2f(t,r.u_world),u_image:new e.Uniform1i(t,r.u_image),u_texsize:new e.Uniform2f(t,r.u_texsize),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade)}},circle:function(t,r){return{u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_scale_with_map:new e.Uniform1i(t,r.u_scale_with_map),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_extrude_scale:new e.Uniform2f(t,r.u_extrude_scale),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},collisionBox:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pixels_to_tile_units:new e.Uniform1f(t,r.u_pixels_to_tile_units),u_extrude_scale:new e.Uniform2f(t,r.u_extrude_scale),u_overscale_factor:new e.Uniform1f(t,r.u_overscale_factor)}},collisionCircle:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_inv_matrix:new e.UniformMatrix4f(t,r.u_inv_matrix),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_viewport_size:new e.Uniform2f(t,r.u_viewport_size)}},debug:function(t,r){return{u_color:new e.UniformColor(t,r.u_color),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_overlay:new e.Uniform1i(t,r.u_overlay),u_overlay_scale:new e.Uniform1f(t,r.u_overlay_scale)}},clippingMask:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},heatmap:function(t,r){return{u_extrude_scale:new e.Uniform1f(t,r.u_extrude_scale),u_intensity:new e.Uniform1f(t,r.u_intensity),u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},heatmapTexture:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_world:new e.Uniform2f(t,r.u_world),u_image:new e.Uniform1i(t,r.u_image),u_color_ramp:new e.Uniform1i(t,r.u_color_ramp),u_opacity:new e.Uniform1f(t,r.u_opacity)}},hillshade:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_image:new e.Uniform1i(t,r.u_image),u_latrange:new e.Uniform2f(t,r.u_latrange),u_light:new e.Uniform2f(t,r.u_light),u_shadow:new e.UniformColor(t,r.u_shadow),u_highlight:new e.UniformColor(t,r.u_highlight),u_accent:new e.UniformColor(t,r.u_accent)}},hillshadePrepare:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_image:new e.Uniform1i(t,r.u_image),u_dimension:new e.Uniform2f(t,r.u_dimension),u_zoom:new e.Uniform1f(t,r.u_zoom),u_maxzoom:new e.Uniform1f(t,r.u_maxzoom),u_unpack:new e.Uniform4f(t,r.u_unpack)}},line:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels)}},lineGradient:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels),u_image:new e.Uniform1i(t,r.u_image)}},linePattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_texsize:new e.Uniform2f(t,r.u_texsize),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_image:new e.Uniform1i(t,r.u_image),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade)}},lineSDF:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels),u_patternscale_a:new e.Uniform2f(t,r.u_patternscale_a),u_patternscale_b:new e.Uniform2f(t,r.u_patternscale_b),u_sdfgamma:new e.Uniform1f(t,r.u_sdfgamma),u_image:new e.Uniform1i(t,r.u_image),u_tex_y_a:new e.Uniform1f(t,r.u_tex_y_a),u_tex_y_b:new e.Uniform1f(t,r.u_tex_y_b),u_mix:new e.Uniform1f(t,r.u_mix)}},raster:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_tl_parent:new e.Uniform2f(t,r.u_tl_parent),u_scale_parent:new e.Uniform1f(t,r.u_scale_parent),u_buffer_scale:new e.Uniform1f(t,r.u_buffer_scale),u_fade_t:new e.Uniform1f(t,r.u_fade_t),u_opacity:new e.Uniform1f(t,r.u_opacity),u_image0:new e.Uniform1i(t,r.u_image0),u_image1:new e.Uniform1i(t,r.u_image1),u_brightness_low:new e.Uniform1f(t,r.u_brightness_low),u_brightness_high:new e.Uniform1f(t,r.u_brightness_high),u_saturation_factor:new e.Uniform1f(t,r.u_saturation_factor),u_contrast_factor:new e.Uniform1f(t,r.u_contrast_factor),u_spin_weights:new e.Uniform3f(t,r.u_spin_weights)}},symbolIcon:function(t,r){return{u_is_size_zoom_constant:new e.Uniform1i(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(t,r.u_is_size_feature_constant),u_size_t:new e.Uniform1f(t,r.u_size_t),u_size:new e.Uniform1f(t,r.u_size),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pitch:new e.Uniform1f(t,r.u_pitch),u_rotate_symbol:new e.Uniform1i(t,r.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(t,r.u_aspect_ratio),u_fade_change:new e.Uniform1f(t,r.u_fade_change),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(t,r.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(t,r.u_coord_matrix),u_is_text:new e.Uniform1i(t,r.u_is_text),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_texsize:new e.Uniform2f(t,r.u_texsize),u_texture:new e.Uniform1i(t,r.u_texture)}},symbolSDF:function(t,r){return{u_is_size_zoom_constant:new e.Uniform1i(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(t,r.u_is_size_feature_constant),u_size_t:new e.Uniform1f(t,r.u_size_t),u_size:new e.Uniform1f(t,r.u_size),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pitch:new e.Uniform1f(t,r.u_pitch),u_rotate_symbol:new e.Uniform1i(t,r.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(t,r.u_aspect_ratio),u_fade_change:new e.Uniform1f(t,r.u_fade_change),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(t,r.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(t,r.u_coord_matrix),u_is_text:new e.Uniform1i(t,r.u_is_text),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_texsize:new e.Uniform2f(t,r.u_texsize),u_texture:new e.Uniform1i(t,r.u_texture),u_gamma_scale:new e.Uniform1f(t,r.u_gamma_scale),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_is_halo:new e.Uniform1i(t,r.u_is_halo)}},symbolTextAndIcon:function(t,r){return{u_is_size_zoom_constant:new e.Uniform1i(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(t,r.u_is_size_feature_constant),u_size_t:new e.Uniform1f(t,r.u_size_t),u_size:new e.Uniform1f(t,r.u_size),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pitch:new e.Uniform1f(t,r.u_pitch),u_rotate_symbol:new e.Uniform1i(t,r.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(t,r.u_aspect_ratio),u_fade_change:new e.Uniform1f(t,r.u_fade_change),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(t,r.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(t,r.u_coord_matrix),u_is_text:new e.Uniform1i(t,r.u_is_text),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_texsize:new e.Uniform2f(t,r.u_texsize),u_texsize_icon:new e.Uniform2f(t,r.u_texsize_icon),u_texture:new e.Uniform1i(t,r.u_texture),u_texture_icon:new e.Uniform1i(t,r.u_texture_icon),u_gamma_scale:new e.Uniform1f(t,r.u_gamma_scale),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_is_halo:new e.Uniform1i(t,r.u_is_halo)}},background:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_opacity:new e.Uniform1f(t,r.u_opacity),u_color:new e.UniformColor(t,r.u_color)}},backgroundPattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_opacity:new e.Uniform1f(t,r.u_opacity),u_image:new e.Uniform1i(t,r.u_image),u_pattern_tl_a:new e.Uniform2f(t,r.u_pattern_tl_a),u_pattern_br_a:new e.Uniform2f(t,r.u_pattern_br_a),u_pattern_tl_b:new e.Uniform2f(t,r.u_pattern_tl_b),u_pattern_br_b:new e.Uniform2f(t,r.u_pattern_br_b),u_texsize:new e.Uniform2f(t,r.u_texsize),u_mix:new e.Uniform1f(t,r.u_mix),u_pattern_size_a:new e.Uniform2f(t,r.u_pattern_size_a),u_pattern_size_b:new e.Uniform2f(t,r.u_pattern_size_b),u_scale_a:new e.Uniform1f(t,r.u_scale_a),u_scale_b:new e.Uniform1f(t,r.u_scale_b),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_tile_units_to_pixels:new e.Uniform1f(t,r.u_tile_units_to_pixels)}}};function rn(t,r,n,i,a,o,s){for(var l=t.context,u=l.gl,c=t.useProgram(\"collisionBox\"),f=[],h=0,p=0,d=0;d<i.length;d++){var v=i[d],g=r.getTile(v),m=g.getBucket(n);if(m){var y=v.posMatrix;0===a[0]&&0===a[1]||(y=t.translatePosMatrix(v.posMatrix,g,a,o));var x=s?m.textCollisionBox:m.iconCollisionBox,b=m.collisionCircleArray;if(b.length>0){var _=e.create(),w=y;e.mul(_,m.placementInvProjMatrix,t.transform.glCoordMatrix),e.mul(_,_,m.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&c.draw(l,u.LINES,Ae.disabled,Ee.disabled,t.colorModeForRenderPass(),Le.disabled,Ir(y,t.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,t.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var k=t.useProgram(\"collisionCircle\"),T=new e.StructArrayLayout2f1f2i16;T.resize(4*h),T._trim();for(var M=0,A=0,S=f;A<S.length;A+=1)for(var E=S[A],C=0;C<E.circleArray.length/4;C++){var L=4*C,P=E.circleArray[L+0],O=E.circleArray[L+1],I=E.circleArray[L+2],D=E.circleArray[L+3];T.emplace(M++,P,O,I,D,0),T.emplace(M++,P,O,I,D,1),T.emplace(M++,P,O,I,D,2),T.emplace(M++,P,O,I,D,3)}(!Xr||Xr.length<2*h)&&(Xr=function(t){var r=2*t,n=new e.StructArrayLayout3ui6;n.resize(r),n._trim();for(var i=0;i<r;i++){var a=6*i;n.uint16[a+0]=4*i+0,n.uint16[a+1]=4*i+1,n.uint16[a+2]=4*i+2,n.uint16[a+3]=4*i+2,n.uint16[a+4]=4*i+3,n.uint16[a+5]=4*i+0}return n}(h));for(var z=l.createIndexBuffer(Xr,!0),R=l.createVertexBuffer(T,e.collisionCircleLayout.members,!0),F=0,B=f;F<B.length;F+=1){var N=B[F],j=Dr(N.transform,N.invTransform,t.transform);k.draw(l,u.TRIANGLES,Ae.disabled,Ee.disabled,t.colorModeForRenderPass(),Le.disabled,j,n.id,R,z,e.SegmentVector.simpleSegment(0,2*N.circleOffset,N.circleArray.length,N.circleArray.length/2),null,t.transform.zoom,null,null,null)}R.destroy(),z.destroy()}}var nn=e.identity(new Float32Array(16));function an(t,r,n,i,a,o){var s=e.getAnchorAlignment(t),l=-(s.horizontalAlign-.5)*r,u=-(s.verticalAlign-.5)*n,c=e.evaluateVariableOffset(t,i);return new e.Point((l/a+c[0])*o,(u/a+c[1])*o)}function on(t,r,n,i,a,o,s,l,u,c,f){var h=t.text.placedSymbolArray,p=t.text.dynamicLayoutVertexArray,d=t.icon.dynamicLayoutVertexArray,v={};p.clear();for(var g=0;g<h.length;g++){var m=h.get(g),y=t.allowVerticalPlacement&&!m.placedOrientation,x=m.hidden||!m.crossTileID||y?null:i[m.crossTileID];if(x){var b=new e.Point(m.anchorX,m.anchorY),_=rt(b,n?l:s),w=nt(o.cameraToCenterDistance,_.signedDistanceFromCamera),k=a.evaluateSizeForFeature(t.textSizeData,c,m)*w/e.ONE_EM;n&&(k*=t.tilePixelRatio/u);for(var T=x.width,M=x.height,A=an(x.anchor,T,M,x.textOffset,x.textBoxScale,k),S=n?rt(b.add(A),s).point:_.point.add(r?A.rotate(-o.angle):A),E=t.allowVerticalPlacement&&m.placedOrientation===e.WritingMode.vertical?Math.PI/2:0,C=0;C<m.numGlyphs;C++)e.addDynamicAttributes(p,S,E);f&&m.associatedIconIndex>=0&&(v[m.associatedIconIndex]={shiftedAnchor:S,angle:E})}else ht(m.numGlyphs,p)}if(f){d.clear();for(var L=t.icon.placedSymbolArray,P=0;P<L.length;P++){var O=L.get(P);if(O.hidden)ht(O.numGlyphs,d);else{var I=v[P];if(I)for(var D=0;D<O.numGlyphs;D++)e.addDynamicAttributes(d,I.shiftedAnchor,I.angle);else ht(O.numGlyphs,d)}}t.icon.dynamicLayoutVertexBuffer.updateData(d)}t.text.dynamicLayoutVertexBuffer.updateData(p)}function sn(e,t,r){return r.iconsInText&&t?\"symbolTextAndIcon\":e?\"symbolSDF\":\"symbolIcon\"}function ln(t,r,n,i,a,o,s,l,u,c,f,h){for(var p=t.context,d=p.gl,v=t.transform,g=\"map\"===l,m=\"map\"===u,y=g&&\"point\"!==n.layout.get(\"symbol-placement\"),x=g&&!m&&!y,b=void 0!==n.layout.get(\"symbol-sort-key\").constantOr(1),_=t.depthModeForSublayer(0,Ae.ReadOnly),w=n.layout.get(\"text-variable-anchor\"),k=[],T=0,M=i;T<M.length;T+=1){var A=M[T],S=r.getTile(A),E=S.getBucket(n);if(E){var C=a?E.text:E.icon;if(C&&C.segments.get().length){var L=C.programConfigurations.get(n.id),P=a||E.sdfIcons,O=a?E.textSizeData:E.iconSizeData,I=m||0!==v.pitch,D=t.useProgram(sn(P,a,E),L),z=e.evaluateSizeForZoom(O,v.zoom),R=void 0,F=[0,0],B=void 0,N=void 0,j=null,U=void 0;if(a){if(B=S.glyphAtlasTexture,N=d.LINEAR,R=S.glyphAtlasTexture.size,E.iconsInText){F=S.imageAtlasTexture.size,j=S.imageAtlasTexture;var V=\"composite\"===O.kind||\"camera\"===O.kind;U=I||t.options.rotating||t.options.zooming||V?d.LINEAR:d.NEAREST}}else{var H=1!==n.layout.get(\"icon-size\").constantOr(0)||E.iconsNeedLinear;B=S.imageAtlasTexture,N=P||t.options.rotating||t.options.zooming||H||I?d.LINEAR:d.NEAREST,R=S.imageAtlasTexture.size}var q=gt(S,1,t.transform.zoom),G=et(A.posMatrix,m,g,t.transform,q),Y=tt(A.posMatrix,m,g,t.transform,q),W=w&&E.hasTextData(),Z=\"none\"!==n.layout.get(\"icon-text-fit\")&&W&&E.hasIconData();y&&at(E,A.posMatrix,t,a,G,Y,m,c);var X=t.translatePosMatrix(A.posMatrix,S,o,s),K=y||a&&w||Z?nn:G,J=t.translatePosMatrix(Y,S,o,s,!0),$=P&&0!==n.paint.get(a?\"text-halo-width\":\"icon-halo-width\").constantOr(1),Q={program:D,buffers:C,uniformValues:P?E.iconsInText?$r(O.kind,z,x,m,t,X,K,J,R,F):Jr(O.kind,z,x,m,t,X,K,J,a,R,!0):Kr(O.kind,z,x,m,t,X,K,J,a,R),atlasTexture:B,atlasTextureIcon:j,atlasInterpolation:N,atlasInterpolationIcon:U,isSDF:P,hasHalo:$};if(b)for(var ee=0,te=C.segments.get();ee<te.length;ee+=1){var re=te[ee];k.push({segments:new e.SegmentVector([re]),sortKey:re.sortKey,state:Q})}else k.push({segments:C.segments,sortKey:0,state:Q})}}}b&&k.sort((function(e,t){return e.sortKey-t.sortKey}));for(var ne=0,ie=k;ne<ie.length;ne+=1){var ae=ie[ne],oe=ae.state;if(p.activeTexture.set(d.TEXTURE0),oe.atlasTexture.bind(oe.atlasInterpolation,d.CLAMP_TO_EDGE),oe.atlasTextureIcon&&(p.activeTexture.set(d.TEXTURE1),oe.atlasTextureIcon&&oe.atlasTextureIcon.bind(oe.atlasInterpolationIcon,d.CLAMP_TO_EDGE)),oe.isSDF){var se=oe.uniformValues;oe.hasHalo&&(se.u_is_halo=1,un(oe.buffers,ae.segments,n,t,oe.program,_,f,h,se)),se.u_is_halo=0}un(oe.buffers,ae.segments,n,t,oe.program,_,f,h,oe.uniformValues)}}function un(e,t,r,n,i,a,o,s,l){var u=n.context,c=u.gl;i.draw(u,c.TRIANGLES,a,o,s,Le.disabled,l,r.id,e.layoutVertexBuffer,e.indexBuffer,t,r.paint,n.transform.zoom,e.programConfigurations.get(r.id),e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer)}function cn(e,t,r,n,i,a,o){var s,l,u,c,f,h=e.context.gl,p=r.paint.get(\"fill-pattern\"),d=p&&p.constantOr(1),v=r.getCrossfadeParameters();o?(l=d&&!r.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",s=h.LINES):(l=d?\"fillPattern\":\"fill\",s=h.TRIANGLES);for(var g=0,m=n;g<m.length;g+=1){var y=m[g],x=t.getTile(y);if(!d||x.patternsLoaded()){var b=x.getBucket(r);if(b){var _=b.programConfigurations.get(r.id),w=e.useProgram(l,_);d&&(e.context.activeTexture.set(h.TEXTURE0),x.imageAtlasTexture.bind(h.LINEAR,h.CLAMP_TO_EDGE),_.updatePaintBuffers(v));var k=p.constantOr(null);if(k&&x.imageAtlas){var T=x.imageAtlas,M=T.patternPositions[k.to.toString()],A=T.patternPositions[k.from.toString()];M&&A&&_.setConstantPatternPositions(M,A)}var S=e.translatePosMatrix(y.posMatrix,x,r.paint.get(\"fill-translate\"),r.paint.get(\"fill-translate-anchor\"));if(o){c=b.indexBuffer2,f=b.segments2;var E=[h.drawingBufferWidth,h.drawingBufferHeight];u=\"fillOutlinePattern\"===l&&d?Pr(S,e,v,x,E):Lr(S,E)}else c=b.indexBuffer,f=b.segments,u=d?Cr(S,e,v,x):Er(S);w.draw(e.context,s,i,e.stencilModeForClipping(y),a,Le.disabled,u,r.id,b.layoutVertexBuffer,c,f,r.paint,e.transform.zoom,_)}}}}function fn(e,t,r,n,i,a,o){for(var s=e.context,l=s.gl,u=r.paint.get(\"fill-extrusion-pattern\"),c=u.constantOr(1),f=r.getCrossfadeParameters(),h=r.paint.get(\"fill-extrusion-opacity\"),p=0,d=n;p<d.length;p+=1){var v=d[p],g=t.getTile(v),m=g.getBucket(r);if(m){var y=m.programConfigurations.get(r.id),x=e.useProgram(c?\"fillExtrusionPattern\":\"fillExtrusion\",y);c&&(e.context.activeTexture.set(l.TEXTURE0),g.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers(f));var b=u.constantOr(null);if(b&&g.imageAtlas){var _=g.imageAtlas,w=_.patternPositions[b.to.toString()],k=_.patternPositions[b.from.toString()];w&&k&&y.setConstantPatternPositions(w,k)}var T=e.translatePosMatrix(v.posMatrix,g,r.paint.get(\"fill-extrusion-translate\"),r.paint.get(\"fill-extrusion-translate-anchor\")),M=r.paint.get(\"fill-extrusion-vertical-gradient\"),A=c?Sr(T,e,M,h,v,f,g):Ar(T,e,M,h);x.draw(s,s.gl.TRIANGLES,i,a,o,Le.backCCW,A,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,r.paint,e.transform.zoom,y)}}}function hn(e,t,r,n,i,a){var o=e.context,s=o.gl,l=t.fbo;if(l){var u=e.useProgram(\"hillshade\");o.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,l.colorAttachment.get());var c=Nr(e,t,r);u.draw(o,s.TRIANGLES,n,i,a,Le.disabled,c,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}}function pn(t,r,n,i,a,o,s){var l=t.context,u=l.gl,c=r.dem;if(c&&c.data){var f=c.dim,h=c.stride,p=c.getPixels();if(l.activeTexture.set(u.TEXTURE1),l.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||t.getTileTexture(h),r.demTexture){var d=r.demTexture;d.update(p,{premultiply:!1}),d.bind(u.NEAREST,u.CLAMP_TO_EDGE)}else r.demTexture=new e.Texture(l,p,u.RGBA,{premultiply:!1}),r.demTexture.bind(u.NEAREST,u.CLAMP_TO_EDGE);l.activeTexture.set(u.TEXTURE0);var v=r.fbo;if(!v){var g=new e.Texture(l,{width:f,height:f,data:null},u.RGBA);g.bind(u.LINEAR,u.CLAMP_TO_EDGE),(v=r.fbo=l.createFramebuffer(f,f,!0)).colorAttachment.set(g.texture)}l.bindFramebuffer.set(v.framebuffer),l.viewport.set([0,0,f,f]),t.useProgram(\"hillshadePrepare\").draw(l,u.TRIANGLES,a,o,s,Le.disabled,jr(r.tileID,c,i),n.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments),r.needsHillshadePrepare=!1}}function dn(t,r,n,i,a){var o=i.paint.get(\"raster-fade-duration\");if(o>0){var s=e.browser.now(),l=(s-t.timeAdded)/o,u=r?(s-r.timeAdded)/o:-1,c=n.getSource(),f=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(t.tileID.overscaledZ-f),p=h&&t.refreshedUponExpiration?1:e.clamp(h?l:1-u,0,1);return t.refreshedUponExpiration&&l>=1&&(t.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var vn=new e.Color(1,0,0,1),gn=new e.Color(0,1,0,1),mn=new e.Color(0,0,1,1),yn=new e.Color(1,0,1,1),xn=new e.Color(0,1,1,1);function bn(e){var t=e.transform.padding;_n(e,e.transform.height-(t.top||0),3,vn),_n(e,t.bottom||0,3,gn),wn(e,t.left||0,3,mn),wn(e,e.transform.width-(t.right||0),3,yn);var r=e.transform.centerPoint;!function(e,t,r,n){var i=20,a=2;kn(e,t-a/2,r-i/2,a,i,n),kn(e,t-i/2,r-a/2,i,a,n)}(e,r.x,e.transform.height-r.y,xn)}function _n(e,t,r,n){kn(e,0,t+r/2,e.transform.width,r,n)}function wn(e,t,r,n){kn(e,t-r/2,0,r,e.transform.height,n)}function kn(t,r,n,i,a,o){var s=t.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*e.browser.devicePixelRatio,n*e.browser.devicePixelRatio,i*e.browser.devicePixelRatio,a*e.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function Tn(t,r,n){var i=t.context,a=i.gl,o=n.posMatrix,s=t.useProgram(\"debug\"),l=Ae.disabled,u=Ee.disabled,c=t.colorModeForRenderPass(),f=\"$debug\";i.activeTexture.set(a.TEXTURE0),t.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,u,c,Le.disabled,zr(o,e.Color.red),f,t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments);var h=r.getTileByID(n.key).latestRawTileData,p=h&&h.byteLength||0,d=Math.floor(p/1024),v=r.getTile(n).tileSize,g=512/Math.min(v,512)*(n.overscaledZ/t.transform.zoom)*.5,m=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(m+=\" => \"+n.overscaledZ),function(e,t){e.initDebugOverlayCanvas();var r=e.debugOverlayCanvas,n=e.context.gl,i=e.debugOverlayCanvas.getContext(\"2d\");i.clearRect(0,0,r.width,r.height),i.shadowColor=\"white\",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle=\"white\",i.textBaseline=\"top\",i.font=\"bold 36px Open Sans, sans-serif\",i.fillText(t,5,5),i.strokeText(t,5,5),e.debugOverlayTexture.update(r),e.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(t,m+\" \"+d+\"kb\"),s.draw(i,a.TRIANGLES,l,u,Ce.alphaBlended,Le.disabled,zr(o,e.Color.transparent,g),f,t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments)}var Mn={symbol:function(t,r,n,i,a){if(\"translucent\"===t.renderPass){var o=Ee.disabled,s=t.colorModeForRenderPass();n.layout.get(\"text-variable-anchor\")&&function(t,r,n,i,a,o,s){for(var l=r.transform,u=\"map\"===a,c=\"map\"===o,f=0,h=t;f<h.length;f+=1){var p=h[f],d=i.getTile(p),v=d.getBucket(n);if(v&&v.text&&v.text.segments.get().length){var g=v.textSizeData,m=e.evaluateSizeForZoom(g,l.zoom),y=gt(d,1,r.transform.zoom),x=et(p.posMatrix,c,u,r.transform,y),b=\"none\"!==n.layout.get(\"icon-text-fit\")&&v.hasIconData();if(m){var _=Math.pow(2,l.zoom-d.tileID.overscaledZ);on(v,u,c,s,e.symbolSize,l,x,p.posMatrix,_,m,b)}}}}(i,t,n,r,n.layout.get(\"text-rotation-alignment\"),n.layout.get(\"text-pitch-alignment\"),a),0!==n.paint.get(\"icon-opacity\").constantOr(1)&&ln(t,r,n,i,!1,n.paint.get(\"icon-translate\"),n.paint.get(\"icon-translate-anchor\"),n.layout.get(\"icon-rotation-alignment\"),n.layout.get(\"icon-pitch-alignment\"),n.layout.get(\"icon-keep-upright\"),o,s),0!==n.paint.get(\"text-opacity\").constantOr(1)&&ln(t,r,n,i,!0,n.paint.get(\"text-translate\"),n.paint.get(\"text-translate-anchor\"),n.layout.get(\"text-rotation-alignment\"),n.layout.get(\"text-pitch-alignment\"),n.layout.get(\"text-keep-upright\"),o,s),r.map.showCollisionBoxes&&(rn(t,r,n,i,n.paint.get(\"text-translate\"),n.paint.get(\"text-translate-anchor\"),!0),rn(t,r,n,i,n.paint.get(\"icon-translate\"),n.paint.get(\"icon-translate-anchor\"),!1))}},circle:function(t,r,n,i){if(\"translucent\"===t.renderPass){var a=n.paint.get(\"circle-opacity\"),o=n.paint.get(\"circle-stroke-width\"),s=n.paint.get(\"circle-stroke-opacity\"),l=void 0!==n.layout.get(\"circle-sort-key\").constantOr(1);if(0!==a.constantOr(1)||0!==o.constantOr(1)&&0!==s.constantOr(1)){for(var u=t.context,c=u.gl,f=t.depthModeForSublayer(0,Ae.ReadOnly),h=Ee.disabled,p=t.colorModeForRenderPass(),d=[],v=0;v<i.length;v++){var g=i[v],m=r.getTile(g),y=m.getBucket(n);if(y){var x=y.programConfigurations.get(n.id),b={programConfiguration:x,program:t.useProgram(\"circle\",x),layoutVertexBuffer:y.layoutVertexBuffer,indexBuffer:y.indexBuffer,uniformValues:Or(t,g,m,n)};if(l)for(var _=0,w=y.segments.get();_<w.length;_+=1){var k=w[_];d.push({segments:new e.SegmentVector([k]),sortKey:k.sortKey,state:b})}else d.push({segments:y.segments,sortKey:0,state:b})}}l&&d.sort((function(e,t){return e.sortKey-t.sortKey}));for(var T=0,M=d;T<M.length;T+=1){var A=M[T],S=A.state,E=S.programConfiguration,C=S.program,L=S.layoutVertexBuffer,P=S.indexBuffer,O=S.uniformValues,I=A.segments;C.draw(u,c.TRIANGLES,f,h,p,Le.disabled,O,n.id,L,P,I,n.paint,t.transform.zoom,E)}}}},heatmap:function(t,r,n,i){if(0!==n.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===t.renderPass){var a=t.context,o=a.gl,s=Ee.disabled,l=new Ce([o.ONE,o.ONE],e.Color.transparent,[!0,!0,!0,!0]);(function(e,t,r){var n=e.gl;e.activeTexture.set(n.TEXTURE1),e.viewport.set([0,0,t.width/4,t.height/4]);var i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),e.bindFramebuffer.set(i.framebuffer);else{var a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),i=r.heatmapFbo=e.createFramebuffer(t.width/4,t.height/4,!1),function(e,t,r,n){var i=e.gl,a=e.extRenderToTextureHalfFloat?e.extTextureHalfFloat.HALF_FLOAT_OES:i.UNSIGNED_BYTE;i.texImage2D(i.TEXTURE_2D,0,i.RGBA,t.width/4,t.height/4,0,i.RGBA,a,null),n.colorAttachment.set(r)}(e,t,a,i)}})(a,t,n),a.clear({color:e.Color.transparent});for(var u=0;u<i.length;u++){var c=i[u];if(!r.hasRenderableParent(c)){var f=r.getTile(c),h=f.getBucket(n);if(h){var p=h.programConfigurations.get(n.id),d=t.useProgram(\"heatmap\",p),v=t.transform.zoom;d.draw(a,o.TRIANGLES,Ae.disabled,s,l,Le.disabled,Fr(c.posMatrix,f,v,n.paint.get(\"heatmap-intensity\")),n.id,h.layoutVertexBuffer,h.indexBuffer,h.segments,n.paint,t.transform.zoom,p)}}}a.viewport.set([0,0,t.width,t.height])}else\"translucent\"===t.renderPass&&(t.context.setColorMode(t.colorModeForRenderPass()),function(t,r){var n=t.context,i=n.gl,a=r.heatmapFbo;if(a){n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),n.activeTexture.set(i.TEXTURE1);var o=r.colorRampTexture;o||(o=r.colorRampTexture=new e.Texture(n,r.colorRamp,i.RGBA)),o.bind(i.LINEAR,i.CLAMP_TO_EDGE),t.useProgram(\"heatmapTexture\").draw(n,i.TRIANGLES,Ae.disabled,Ee.disabled,t.colorModeForRenderPass(),Le.disabled,Br(t,r,0,1),r.id,t.viewportBuffer,t.quadTriangleIndexBuffer,t.viewportSegments,r.paint,t.transform.zoom)}}(t,n))},line:function(t,r,n,i){if(\"translucent\"===t.renderPass){var a=n.paint.get(\"line-opacity\"),o=n.paint.get(\"line-width\");if(0!==a.constantOr(1)&&0!==o.constantOr(1)){var s=t.depthModeForSublayer(0,Ae.ReadOnly),l=t.colorModeForRenderPass(),u=n.paint.get(\"line-dasharray\"),c=n.paint.get(\"line-pattern\"),f=c.constantOr(1),h=n.paint.get(\"line-gradient\"),p=n.getCrossfadeParameters(),d=f?\"linePattern\":u?\"lineSDF\":h?\"lineGradient\":\"line\",v=t.context,g=v.gl,m=!0;if(h){v.activeTexture.set(g.TEXTURE0);var y=n.gradientTexture;if(!n.gradient)return;y||(y=n.gradientTexture=new e.Texture(v,n.gradient,g.RGBA)),y.bind(g.LINEAR,g.CLAMP_TO_EDGE)}for(var x=0,b=i;x<b.length;x+=1){var _=b[x],w=r.getTile(_);if(!f||w.patternsLoaded()){var k=w.getBucket(n);if(k){var T=k.programConfigurations.get(n.id),M=t.context.program.get(),A=t.useProgram(d,T),S=m||A.program!==M,E=c.constantOr(null);if(E&&w.imageAtlas){var C=w.imageAtlas,L=C.patternPositions[E.to.toString()],P=C.patternPositions[E.from.toString()];L&&P&&T.setConstantPatternPositions(L,P)}var O=f?Hr(t,w,n,p):u?qr(t,w,n,u,p):h?Vr(t,w,n):Ur(t,w,n);f?(v.activeTexture.set(g.TEXTURE0),w.imageAtlasTexture.bind(g.LINEAR,g.CLAMP_TO_EDGE),T.updatePaintBuffers(p)):u&&(S||t.lineAtlas.dirty)&&(v.activeTexture.set(g.TEXTURE0),t.lineAtlas.bind(v)),A.draw(v,g.TRIANGLES,s,t.stencilModeForClipping(_),l,Le.disabled,O,n.id,k.layoutVertexBuffer,k.indexBuffer,k.segments,n.paint,t.transform.zoom,T),m=!1}}}}}},fill:function(t,r,n,i){var a=n.paint.get(\"fill-color\"),o=n.paint.get(\"fill-opacity\");if(0!==o.constantOr(1)){var s=t.colorModeForRenderPass(),l=n.paint.get(\"fill-pattern\"),u=t.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===a.constantOr(e.Color.transparent).a&&1===o.constantOr(0)?\"opaque\":\"translucent\";if(t.renderPass===u){var c=t.depthModeForSublayer(1,\"opaque\"===t.renderPass?Ae.ReadWrite:Ae.ReadOnly);cn(t,r,n,i,c,s,!1)}if(\"translucent\"===t.renderPass&&n.paint.get(\"fill-antialias\")){var f=t.depthModeForSublayer(n.getPaintProperty(\"fill-outline-color\")?2:0,Ae.ReadOnly);cn(t,r,n,i,f,s,!0)}}},\"fill-extrusion\":function(e,t,r,n){var i=r.paint.get(\"fill-extrusion-opacity\");if(0!==i&&\"translucent\"===e.renderPass){var a=new Ae(e.context.gl.LEQUAL,Ae.ReadWrite,e.depthRangeFor3D);if(1!==i||r.paint.get(\"fill-extrusion-pattern\").constantOr(1))fn(e,t,r,n,a,Ee.disabled,Ce.disabled),fn(e,t,r,n,a,e.stencilModeFor3D(),e.colorModeForRenderPass());else{var o=e.colorModeForRenderPass();fn(e,t,r,n,a,Ee.disabled,o)}}},hillshade:function(e,t,r,n){if(\"offscreen\"===e.renderPass||\"translucent\"===e.renderPass){for(var i=e.context,a=t.getSource().maxzoom,o=e.depthModeForSublayer(0,Ae.ReadOnly),s=e.colorModeForRenderPass(),l=\"translucent\"===e.renderPass?e.stencilConfigForOverlap(n):[{},n],u=l[0],c=0,f=l[1];c<f.length;c+=1){var h=f[c],p=t.getTile(h);p.needsHillshadePrepare&&\"offscreen\"===e.renderPass?pn(e,p,r,a,o,Ee.disabled,s):\"translucent\"===e.renderPass&&hn(e,p,r,o,u[h.overscaledZ],s)}i.viewport.set([0,0,e.width,e.height])}},raster:function(e,t,r,n){if(\"translucent\"===e.renderPass&&0!==r.paint.get(\"raster-opacity\")&&n.length)for(var i=e.context,a=i.gl,o=t.getSource(),s=e.useProgram(\"raster\"),l=e.colorModeForRenderPass(),u=o instanceof I?[{},n]:e.stencilConfigForOverlap(n),c=u[0],f=u[1],h=f[f.length-1].overscaledZ,p=!e.options.moving,d=0,v=f;d<v.length;d+=1){var g=v[d],m=e.depthModeForSublayer(g.overscaledZ-h,1===r.paint.get(\"raster-opacity\")?Ae.ReadWrite:Ae.ReadOnly,a.LESS),y=t.getTile(g),x=e.transform.calculatePosMatrix(g.toUnwrapped(),p);y.registerFadeDuration(r.paint.get(\"raster-fade-duration\"));var b=t.findLoadedParent(g,0),_=dn(y,b,t,r,e.transform),w=void 0,k=void 0,T=\"nearest\"===r.paint.get(\"raster-resampling\")?a.NEAREST:a.LINEAR;i.activeTexture.set(a.TEXTURE0),y.texture.bind(T,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),i.activeTexture.set(a.TEXTURE1),b?(b.texture.bind(T,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),w=Math.pow(2,b.tileID.overscaledZ-y.tileID.overscaledZ),k=[y.tileID.canonical.x*w%1,y.tileID.canonical.y*w%1]):y.texture.bind(T,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);var M=Wr(x,k||[0,0],w||1,_,r);o instanceof I?s.draw(i,a.TRIANGLES,m,Ee.disabled,l,Le.disabled,M,r.id,o.boundsBuffer,e.quadTriangleIndexBuffer,o.boundsSegments):s.draw(i,a.TRIANGLES,m,c[g.overscaledZ],l,Le.disabled,M,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}},background:function(e,t,r){var n=r.paint.get(\"background-color\"),i=r.paint.get(\"background-opacity\");if(0!==i){var a=e.context,o=a.gl,s=e.transform,l=s.tileSize,u=r.paint.get(\"background-pattern\");if(!e.isPatternMissing(u)){var c=!u&&1===n.a&&1===i&&e.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(e.renderPass===c){var f=Ee.disabled,h=e.depthModeForSublayer(0,\"opaque\"===c?Ae.ReadWrite:Ae.ReadOnly),p=e.colorModeForRenderPass(),d=e.useProgram(u?\"backgroundPattern\":\"background\"),v=s.coveringTiles({tileSize:l});u&&(a.activeTexture.set(o.TEXTURE0),e.imageManager.bind(e.context));for(var g=r.getCrossfadeParameters(),m=0,y=v;m<y.length;m+=1){var x=y[m],b=e.transform.calculatePosMatrix(x.toUnwrapped()),_=u?en(b,i,e,u,{tileID:x,tileSize:l},g):Qr(b,i,n);d.draw(a,o.TRIANGLES,h,f,p,Le.disabled,_,r.id,e.tileExtentBuffer,e.quadTriangleIndexBuffer,e.tileExtentSegments)}}}}},debug:function(e,t,r){for(var n=0;n<r.length;n++)Tn(e,t,r[n])},custom:function(e,t,r){var n=e.context,i=r.implementation;if(\"offscreen\"===e.renderPass){var a=i.prerender;a&&(e.setCustomLayerDefaults(),n.setColorMode(e.colorModeForRenderPass()),a.call(i,n.gl,e.transform.customLayerMatrix()),n.setDirty(),e.setBaseState())}else if(\"translucent\"===e.renderPass){e.setCustomLayerDefaults(),n.setColorMode(e.colorModeForRenderPass()),n.setStencilMode(Ee.disabled);var o=\"3d\"===i.renderingMode?new Ae(e.context.gl.LEQUAL,Ae.ReadWrite,e.depthRangeFor3D):e.depthModeForSublayer(0,Ae.ReadOnly);n.setDepthMode(o),i.render(n.gl,e.transform.customLayerMatrix()),n.setDirty(),e.setBaseState(),n.bindFramebuffer.set(null)}}},An=function(e,t){this.context=new Pe(e),this.transform=t,this._tileTextures={},this.setup(),this.numSublayers=Oe.maxUnderzooming+Oe.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Vt,this.gpuTimers={}};An.prototype.resize=function(t,r){if(this.width=t*e.browser.devicePixelRatio,this.height=r*e.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var n=0,i=this.style._order;n<i.length;n+=1){var a=i[n];this.style._layers[a].resize()}},An.prototype.setup=function(){var t=this.context,r=new e.StructArrayLayout2i4;r.emplaceBack(0,0),r.emplaceBack(e.EXTENT,0),r.emplaceBack(0,e.EXTENT),r.emplaceBack(e.EXTENT,e.EXTENT),this.tileExtentBuffer=t.createVertexBuffer(r,Zt.members),this.tileExtentSegments=e.SegmentVector.simpleSegment(0,0,4,2);var n=new e.StructArrayLayout2i4;n.emplaceBack(0,0),n.emplaceBack(e.EXTENT,0),n.emplaceBack(0,e.EXTENT),n.emplaceBack(e.EXTENT,e.EXTENT),this.debugBuffer=t.createVertexBuffer(n,Zt.members),this.debugSegments=e.SegmentVector.simpleSegment(0,0,4,5);var i=new e.StructArrayLayout4i8;i.emplaceBack(0,0,0,0),i.emplaceBack(e.EXTENT,0,e.EXTENT,0),i.emplaceBack(0,e.EXTENT,0,e.EXTENT),i.emplaceBack(e.EXTENT,e.EXTENT,e.EXTENT,e.EXTENT),this.rasterBoundsBuffer=t.createVertexBuffer(i,O.members),this.rasterBoundsSegments=e.SegmentVector.simpleSegment(0,0,4,2);var a=new e.StructArrayLayout2i4;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(a,Zt.members),this.viewportSegments=e.SegmentVector.simpleSegment(0,0,4,2);var o=new e.StructArrayLayout1ui2;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=t.createIndexBuffer(o);var s=new e.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(s),this.emptyTexture=new e.Texture(t,{width:1,height:1,data:new Uint8Array([0,0,0,0])},t.gl.RGBA);var l=this.context.gl;this.stencilClearMode=new Ee({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)},An.prototype.clearStencil=function(){var t=this.context,r=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var n=e.create();e.ortho(n,0,this.width,this.height,0,0,1),e.scale(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(t,r.TRIANGLES,Ae.disabled,this.stencilClearMode,Ce.disabled,Le.disabled,Rr(n),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},An.prototype._renderTileClippingMasks=function(e,t){if(this.currentStencilSource!==e.source&&e.isTileClipped()&&t&&t.length){this.currentStencilSource=e.source;var r=this.context,n=r.gl;this.nextStencilID+t.length>256&&this.clearStencil(),r.setColorMode(Ce.disabled),r.setDepthMode(Ae.disabled);var i=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var a=0,o=t;a<o.length;a+=1){var s=o[a],l=this._tileClippingMaskIDs[s.key]=this.nextStencilID++;i.draw(r,n.TRIANGLES,Ae.disabled,new Ee({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE),Ce.disabled,Le.disabled,Rr(s.posMatrix),\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},An.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var e=this.nextStencilID++,t=this.context.gl;return new Ee({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)},An.prototype.stencilModeForClipping=function(e){var t=this.context.gl;return new Ee({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)},An.prototype.stencilConfigForOverlap=function(e){var t,r=this.context.gl,n=e.sort((function(e,t){return t.overscaledZ-e.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s<a;s++)o[s+i]=new Ee({func:r.GEQUAL,mask:255},s+this.nextStencilID,255,r.KEEP,r.KEEP,r.REPLACE);return this.nextStencilID+=a,[o,n]}return[(t={},t[i]=Ee.disabled,t),n]},An.prototype.colorModeForRenderPass=function(){var t=this.context.gl;if(this._showOverdrawInspector){var r=1/8;return new Ce([t.CONSTANT_COLOR,t.ONE],new e.Color(r,r,r,0),[!0,!0,!0,!0])}return\"opaque\"===this.renderPass?Ce.unblended:Ce.alphaBlended},An.prototype.depthModeForSublayer=function(e,t,r){if(!this.opaquePassEnabledForLayer())return Ae.disabled;var n=1-((1+this.currentLayer)*this.numSublayers+e)*this.depthEpsilon;return new Ae(r||this.context.gl.LEQUAL,t,[n,n])},An.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},An.prototype.render=function(t,r){var n=this;this.style=t,this.options=r,this.lineAtlas=t.lineAtlas,this.imageManager=t.imageManager,this.glyphManager=t.glyphManager,this.symbolFadeChange=t.placement.symbolFadeChange(e.browser.now()),this.imageManager.beginFrame();var i=this.style._order,a=this.style.sourceCaches;for(var o in a){var s=a[o];s.used&&s.prepare(this.context)}var l,u,c={},f={},h={};for(var p in a){var d=a[p];c[p]=d.getVisibleCoordinates(),f[p]=c[p].slice().reverse(),h[p]=d.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(var v=0;v<i.length;v++){var g=i[v];if(this.style._layers[g].is3D()){this.opaquePassCutoff=v;break}}this.renderPass=\"offscreen\";for(var m=0,y=i;m<y.length;m+=1){var x=y[m],b=this.style._layers[x];if(b.hasOffscreenPass()&&!b.isHidden(this.transform.zoom)){var _=f[b.source];(\"custom\"===b.type||_.length)&&this.renderLayer(this,a[b.source],b,_)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?e.Color.black:e.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(t._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass=\"opaque\",this.currentLayer=i.length-1;this.currentLayer>=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],k=a[w.source],T=c[w.source];this._renderTileClippingMasks(w,T),this.renderLayer(this,k,w,T)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<i.length;this.currentLayer++){var M=this.style._layers[i[this.currentLayer]],A=a[M.source],S=(\"symbol\"===M.type?h:f)[M.source];this._renderTileClippingMasks(M,c[M.source]),this.renderLayer(this,A,M,S)}this.options.showTileBoundaries&&(e.values(this.style._layers).forEach((function(e){e.source&&!e.isHidden(n.transform.zoom)&&(e.source!==(u&&u.id)&&(u=n.style.sourceCaches[e.source]),(!l||l.getSource().maxzoom<u.getSource().maxzoom)&&(l=u))})),l&&Mn.debug(this,l,l.getVisibleCoordinates())),this.options.showPadding&&bn(this),this.context.setDefault()},An.prototype.renderLayer=function(e,t,r,n){r.isHidden(this.transform.zoom)||(\"background\"===r.type||\"custom\"===r.type||n.length)&&(this.id=r.id,this.gpuTimingStart(r),Mn[r.type](e,t,r,n,this.style.placement.variableOffsets),this.gpuTimingEnd())},An.prototype.gpuTimingStart=function(e){if(this.options.gpuTiming){var t=this.context.extTimerQuery,r=this.gpuTimers[e.id];r||(r=this.gpuTimers[e.id]={calls:0,cpuTime:0,query:t.createQueryEXT()}),r.calls++,t.beginQueryEXT(t.TIME_ELAPSED_EXT,r.query)}},An.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var e=this.context.extTimerQuery;e.endQueryEXT(e.TIME_ELAPSED_EXT)}},An.prototype.collectGpuTimers=function(){var e=this.gpuTimers;return this.gpuTimers={},e},An.prototype.queryGpuTimers=function(e){var t={};for(var r in e){var n=e[r],i=this.context.extTimerQuery,a=i.getQueryObjectEXT(n.query,i.QUERY_RESULT_EXT)/1e6;i.deleteQueryEXT(n.query),t[r]=a}return t},An.prototype.translatePosMatrix=function(t,r,n,i,a){if(!n[0]&&!n[1])return t;var o=a?\"map\"===i?this.transform.angle:0:\"viewport\"===i?-this.transform.angle:0;if(o){var s=Math.sin(o),l=Math.cos(o);n=[n[0]*l-n[1]*s,n[0]*s+n[1]*l]}var u=[a?n[0]:gt(r,n[0],this.transform.zoom),a?n[1]:gt(r,n[1],this.transform.zoom),0],c=new Float32Array(16);return e.translate(c,t,u),c},An.prototype.saveTileTexture=function(e){var t=this._tileTextures[e.size[0]];t?t.push(e):this._tileTextures[e.size[0]]=[e]},An.prototype.getTileTexture=function(e){var t=this._tileTextures[e];return t&&t.length>0?t.pop():null},An.prototype.isPatternMissing=function(e){if(!e)return!1;if(!e.from||!e.to)return!0;var t=this.imageManager.getPattern(e.from.toString()),r=this.imageManager.getPattern(e.to.toString());return!t||!r},An.prototype.useProgram=function(e,t){this.cache=this.cache||{};var r=\"\"+e+(t?t.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[r]||(this.cache[r]=new Tr(this.context,wr[e],t,tn[e],this._showOverdrawInspector)),this.cache[r]},An.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},An.prototype.setBaseState=function(){var e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)},An.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=e.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var t=this.context.gl;this.debugOverlayTexture=new e.Texture(this.context,this.debugOverlayCanvas,t.RGBA)}},An.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var Sn=function(e,t){this.points=e,this.planes=t};Sn.fromInvProjectionMatrix=function(t,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return e.transformMat4([],r,t)})).map((function(t){return e.scale$1([],t,1/t[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(t){var r=e.sub([],a[t[0]],a[t[1]]),n=e.sub([],a[t[2]],a[t[1]]),i=e.normalize([],e.cross([],r,n)),o=-e.dot(i,a[t[1]]);return i.concat(o)}));return new Sn(a,o)};var En=function(t,r){this.min=t,this.max=r,this.center=e.scale$2([],e.add([],this.min,this.max),.5)};En.prototype.quadrant=function(t){for(var r=[t%2==0,t<2],n=e.clone$2(this.min),i=e.clone$2(this.max),a=0;a<r.length;a++)n[a]=r[a]?this.min[a]:this.center[a],i[a]=r[a]?this.center[a]:this.max[a];return i[2]=this.max[2],new En(n,i)},En.prototype.distanceX=function(e){return Math.max(Math.min(this.max[0],e[0]),this.min[0])-e[0]},En.prototype.distanceY=function(e){return Math.max(Math.min(this.max[1],e[1]),this.min[1])-e[1]},En.prototype.intersects=function(t){for(var r=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],n=!0,i=0;i<t.planes.length;i++){for(var a=t.planes[i],o=0,s=0;s<r.length;s++)o+=e.dot$1(a,r[s])>=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var u=Number.MAX_VALUE,c=-Number.MAX_VALUE,f=0;f<t.points.length;f++){var h=t.points[f][l]-this.min[l];u=Math.min(u,h),c=Math.max(c,h)}if(c<0||u>this.max[l]-this.min[l])return 0}return 1};var Cn=function(e,t,r,n){if(void 0===e&&(e=0),void 0===t&&(t=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(e)||e<0||isNaN(t)||t<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=e,this.bottom=t,this.left=r,this.right=n};Cn.prototype.interpolate=function(t,r,n){return null!=r.top&&null!=t.top&&(this.top=e.number(t.top,r.top,n)),null!=r.bottom&&null!=t.bottom&&(this.bottom=e.number(t.bottom,r.bottom,n)),null!=r.left&&null!=t.left&&(this.left=e.number(t.left,r.left,n)),null!=r.right&&null!=t.right&&(this.right=e.number(t.right,r.right,n)),this},Cn.prototype.getCenter=function(t,r){var n=e.clamp((this.left+t-this.right)/2,0,t),i=e.clamp((this.top+r-this.bottom)/2,0,r);return new e.Point(n,i)},Cn.prototype.equals=function(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right},Cn.prototype.clone=function(){return new Cn(this.top,this.bottom,this.left,this.right)},Cn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var Ln=function(t,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=t||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Cn,this._posMatrixCache={},this._alignedPosMatrixCache={}},Pn={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};Ln.prototype.clone=function(){var e=new Ln(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return e.tileSize=this.tileSize,e.latRange=this.latRange,e.width=this.width,e.height=this.height,e._center=this._center,e.zoom=this.zoom,e.angle=this.angle,e._fov=this._fov,e._pitch=this._pitch,e._unmodified=this._unmodified,e._edgeInsets=this._edgeInsets.clone(),e._calcMatrices(),e},Pn.minZoom.get=function(){return this._minZoom},Pn.minZoom.set=function(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))},Pn.maxZoom.get=function(){return this._maxZoom},Pn.maxZoom.set=function(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))},Pn.minPitch.get=function(){return this._minPitch},Pn.minPitch.set=function(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))},Pn.maxPitch.get=function(){return this._maxPitch},Pn.maxPitch.set=function(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))},Pn.renderWorldCopies.get=function(){return this._renderWorldCopies},Pn.renderWorldCopies.set=function(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e},Pn.worldSize.get=function(){return this.tileSize*this.scale},Pn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Pn.size.get=function(){return new e.Point(this.width,this.height)},Pn.bearing.get=function(){return-this.angle/Math.PI*180},Pn.bearing.set=function(t){var r=-e.wrap(t,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=e.create$2(),e.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Pn.pitch.get=function(){return this._pitch/Math.PI*180},Pn.pitch.set=function(t){var r=e.clamp(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Pn.fov.get=function(){return this._fov/Math.PI*180},Pn.fov.set=function(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=e/180*Math.PI,this._calcMatrices())},Pn.zoom.get=function(){return this._zoom},Pn.zoom.set=function(e){var t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._zoom=t,this.scale=this.zoomScale(t),this.tileZoom=Math.floor(t),this.zoomFraction=t-this.tileZoom,this._constrain(),this._calcMatrices())},Pn.center.get=function(){return this._center},Pn.center.set=function(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())},Pn.padding.get=function(){return this._edgeInsets.toJSON()},Pn.padding.set=function(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())},Pn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},Ln.prototype.isPaddingEqual=function(e){return this._edgeInsets.equals(e)},Ln.prototype.interpolatePadding=function(e,t,r){this._unmodified=!1,this._edgeInsets.interpolate(e,t,r),this._constrain(),this._calcMatrices()},Ln.prototype.coveringZoomLevel=function(e){var t=(e.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/e.tileSize));return Math.max(0,t)},Ln.prototype.getVisibleUnwrappedCoordinates=function(t){var r=[new e.UnwrappedTileID(0,t)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new e.Point(0,0)),i=this.pointCoordinate(new e.Point(this.width,0)),a=this.pointCoordinate(new e.Point(this.width,this.height)),o=this.pointCoordinate(new e.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),u=s-1;u<=l+1;u++)0!==u&&r.push(new e.UnwrappedTileID(u,t));return r},Ln.prototype.coveringTiles=function(t){var r=this.coveringZoomLevel(t),n=r;if(void 0!==t.minzoom&&r<t.minzoom)return[];void 0!==t.maxzoom&&r>t.maxzoom&&(r=t.maxzoom);var i=e.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=Sn.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=t.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var u=function(e){return{aabb:new En([e*a,0,0],[(e+1)*a,a,0]),zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}},c=[],f=[],h=r,p=t.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)c.push(u(-d)),c.push(u(d));for(c.push(u(0));c.length>0;){var v=c.pop(),g=v.x,m=v.y,y=v.fullyVisible;if(!y){var x=v.aabb.intersects(s);if(0===x)continue;y=2===x}var b=v.aabb.distanceX(o),_=v.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),k=3+(1<<h-v.zoom)-2;if(v.zoom===h||w>k&&v.zoom>=l)f.push({tileID:new e.OverscaledTileID(v.zoom===h?p:v.zoom,v.wrap,v.zoom,g,m),distanceSq:e.sqrLen([o[0]-.5-g,o[1]-.5-m])});else for(var T=0;T<4;T++){var M=(g<<1)+T%2,A=(m<<1)+(T>>1);c.push({aabb:v.aabb.quadrant(T),zoom:v.zoom+1,x:M,y:A,wrap:v.wrap,fullyVisible:y})}}return f.sort((function(e,t){return e.distanceSq-t.distanceSq})).map((function(e){return e.tileID}))},Ln.prototype.resize=function(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices()},Pn.unmodified.get=function(){return this._unmodified},Ln.prototype.zoomScale=function(e){return Math.pow(2,e)},Ln.prototype.scaleZoom=function(e){return Math.log(e)/Math.LN2},Ln.prototype.project=function(t){var r=e.clamp(t.lat,-this.maxValidLatitude,this.maxValidLatitude);return new e.Point(e.mercatorXfromLng(t.lng)*this.worldSize,e.mercatorYfromLat(r)*this.worldSize)},Ln.prototype.unproject=function(t){return new e.MercatorCoordinate(t.x/this.worldSize,t.y/this.worldSize).toLngLat()},Pn.point.get=function(){return this.project(this.center)},Ln.prototype.setLocationAtPoint=function(t,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(t),o=new e.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},Ln.prototype.locationPoint=function(e){return this.coordinatePoint(this.locationCoordinate(e))},Ln.prototype.pointLocation=function(e){return this.coordinateLocation(this.pointCoordinate(e))},Ln.prototype.locationCoordinate=function(t){return e.MercatorCoordinate.fromLngLat(t)},Ln.prototype.coordinateLocation=function(e){return e.toLngLat()},Ln.prototype.pointCoordinate=function(t){var r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];e.transformMat4(r,r,this.pixelMatrixInverse),e.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,u=n[1]/a,c=r[2]/i,f=n[2]/a,h=c===f?0:(0-c)/(f-c);return new e.MercatorCoordinate(e.number(o,s,h)/this.worldSize,e.number(l,u,h)/this.worldSize)},Ln.prototype.coordinatePoint=function(t){var r=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.transformMat4(r,r,this.pixelMatrix),new e.Point(r[0]/r[3],r[1]/r[3])},Ln.prototype.getBounds=function(){return(new e.LngLatBounds).extend(this.pointLocation(new e.Point(0,0))).extend(this.pointLocation(new e.Point(this.width,0))).extend(this.pointLocation(new e.Point(this.width,this.height))).extend(this.pointLocation(new e.Point(0,this.height)))},Ln.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new e.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},Ln.prototype.setMaxBounds=function(e){e?(this.lngRange=[e.getWest(),e.getEast()],this.latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},Ln.prototype.calculatePosMatrix=function(t,r){void 0===r&&(r=!1);var n=t.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=t.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*t.wrap,l=e.identity(new Float64Array(16));return e.translate(l,l,[s*o,a.y*o,0]),e.scale(l,l,[o/e.EXTENT,o/e.EXTENT,1]),e.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},Ln.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},Ln.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,r,n,i,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var f=this.latRange;a=e.mercatorYfromLat(f[1])*this.worldSize,t=(o=e.mercatorYfromLat(f[0])*this.worldSize)-a<u.y?u.y/(o-a):0}if(this.lngRange){var h=this.lngRange;s=e.mercatorXfromLng(h[0])*this.worldSize,r=(l=e.mercatorXfromLng(h[1])*this.worldSize)-s<u.x?u.x/(l-s):0}var p=this.point,d=Math.max(r||0,t||0);if(d)return this.center=this.unproject(new e.Point(r?(l+s)/2:p.x,t?(o+a)/2:p.y)),this.zoom+=this.scaleZoom(d),this._unmodified=c,void(this._constraining=!1);if(this.latRange){var v=p.y,g=u.y/2;v-g<a&&(i=a+g),v+g>o&&(i=o-g)}if(this.lngRange){var m=p.x,y=u.x/2;m-y<s&&(n=s+y),m+y>l&&(n=l-y)}void 0===n&&void 0===i||(this.center=this.unproject(new e.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=c,this._constraining=!1}},Ln.prototype._calcMatrices=function(){if(this.height){var t=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(t)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(e.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,u=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),c=this.height/50,f=new Float64Array(16);e.perspective(f,this._fov,this.width/this.height,c,u),f[8]=2*-r.x/this.width,f[9]=2*r.y/this.height,e.scale(f,f,[1,-1,1]),e.translate(f,f,[0,0,-this.cameraToCenterDistance]),e.rotateX(f,f,this._pitch),e.rotateZ(f,f,this.angle),e.translate(f,f,[-s,-l,0]),this.mercatorMatrix=e.scale([],f,[this.worldSize,this.worldSize,this.worldSize]),e.scale(f,f,[1,1,e.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=f,this.invProjMatrix=e.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),v=Math.sin(this.angle),g=s-Math.round(s)+d*h+v*p,m=l-Math.round(l)+d*p+v*h,y=new Float64Array(f);if(e.translate(y,y,[g>.5?g-1:g,m>.5?m-1:m,0]),this.alignedProjMatrix=y,f=e.create(),e.scale(f,f,[this.width/2,-this.height/2,1]),e.translate(f,f,[1,-1,0]),this.labelPlaneMatrix=f,f=e.create(),e.scale(f,f,[1,-1,1]),e.translate(f,f,[-1,-1,0]),e.scale(f,f,[2/this.width,2/this.height,1]),this.glCoordMatrix=f,this.pixelMatrix=e.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(f=e.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=f,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Ln.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var t=this.pointCoordinate(new e.Point(0,0)),r=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},Ln.prototype.getCameraPoint=function(){var t=this._pitch,r=Math.tan(t)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.Point(0,r))},Ln.prototype.getCameraQueryGeometry=function(t){var r=this.getCameraPoint();if(1===t.length)return[t[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=t;s<l.length;s+=1){var u=l[s];n=Math.min(n,u.x),i=Math.min(i,u.y),a=Math.max(a,u.x),o=Math.max(o,u.y)}return[new e.Point(n,i),new e.Point(a,i),new e.Point(a,o),new e.Point(n,o),new e.Point(n,i)]},Object.defineProperties(Ln.prototype,Pn);var On=function(t){var r,n,i,a,o;this._hashName=t&&encodeURIComponent(t),e.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=(r=this._updateHashUnthrottled.bind(this),n=300,i=!1,a=null,o=function(){a=null,i&&(r(),a=setTimeout(o,n),i=!1)},function(){return i=!0,a||o(),a})};On.prototype.addTo=function(t){return this._map=t,e.window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},On.prototype.remove=function(){return e.window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},On.prototype.getHashString=function(t){var r=this._map.getCenter(),n=Math.round(100*this._map.getZoom())/100,i=Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,i),o=Math.round(r.lng*a)/a,s=Math.round(r.lat*a)/a,l=this._map.getBearing(),u=this._map.getPitch(),c=\"\";if(c+=t?\"/\"+o+\"/\"+s+\"/\"+n:n+\"/\"+s+\"/\"+o,(l||u)&&(c+=\"/\"+Math.round(10*l)/10),u&&(c+=\"/\"+Math.round(u)),this._hashName){var f=this._hashName,h=!1,p=e.window.location.hash.slice(1).split(\"&\").map((function(e){var t=e.split(\"=\")[0];return t===f?(h=!0,t+\"=\"+c):e})).filter((function(e){return e}));return h||p.push(f+\"=\"+c),\"#\"+p.join(\"&\")}return\"#\"+c},On.prototype._getCurrentHash=function(){var t,r=this,n=e.window.location.hash.replace(\"#\",\"\");return this._hashName?(n.split(\"&\").map((function(e){return e.split(\"=\")})).forEach((function(e){e[0]===r._hashName&&(t=e)})),(t&&t[1]||\"\").split(\"/\")):n.split(\"/\")},On.prototype._onHashChange=function(){var e=this._getCurrentHash();if(e.length>=3&&!e.some((function(e){return isNaN(e)}))){var t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0}return!1},On.prototype._updateHashUnthrottled=function(){var t=this.getHashString();try{e.window.history.replaceState(e.window.history.state,\"\",t)}catch(e){}};var In={linearity:.3,easing:e.bezier(0,0,.3,1)},Dn=e.extend({deceleration:2500,maxSpeed:1400},In),zn=e.extend({deceleration:20,maxSpeed:1400},In),Rn=e.extend({deceleration:1e3,maxSpeed:360},In),Fn=e.extend({deceleration:1e3,maxSpeed:90},In),Bn=function(e){this._map=e,this.clear()};function Nn(e,t){(!e.duration||e.duration<t.duration)&&(e.duration=t.duration,e.easing=t.easing)}function jn(t,r,n){var i=n.maxSpeed,a=n.linearity,o=n.deceleration,s=e.clamp(t*a/(r/1e3),-i,i),l=Math.abs(s)/(o*a);return{easing:n.easing,duration:1e3*l,amount:s*(l/2)}}Bn.prototype.clear=function(){this._inertiaBuffer=[]},Bn.prototype.record=function(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:e.browser.now(),settings:t})},Bn.prototype._drainInertiaBuffer=function(){for(var t=this._inertiaBuffer,r=e.browser.now();t.length>0&&r-t[0].time>160;)t.shift()},Bn.prototype._onMoveEnd=function(t){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new e.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n<i.length;n+=1){var a=i[n].settings;r.zoom+=a.zoomDelta||0,r.bearing+=a.bearingDelta||0,r.pitch+=a.pitchDelta||0,a.panDelta&&r.pan._add(a.panDelta),a.around&&(r.around=a.around),a.pinchAround&&(r.pinchAround=a.pinchAround)}var o=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(r.pan.mag()){var l=jn(r.pan.mag(),o,e.extend({},Dn,t||{}));s.offset=r.pan.mult(l.amount/r.pan.mag()),s.center=this._map.transform.center,Nn(s,l)}if(r.zoom){var u=jn(r.zoom,o,zn);s.zoom=this._map.transform.zoom+u.amount,Nn(s,u)}if(r.bearing){var c=jn(r.bearing,o,Rn);s.bearing=this._map.transform.bearing+e.clamp(c.amount,-179,179),Nn(s,c)}if(r.pitch){var f=jn(r.pitch,o,Fn);s.pitch=this._map.transform.pitch+f.amount,Nn(s,f)}if(s.zoom||s.bearing){var h=void 0===r.pinchAround?r.around:r.pinchAround;s.around=h?this._map.unproject(h):this._map.getCenter()}return this.clear(),e.extend(s,{noMoveStart:!0})}};var Un=function(t){function n(n,i,a,o){void 0===o&&(o={});var s=r.mousePos(i.getCanvasContainer(),a),l=i.unproject(s);t.call(this,n,e.extend({point:s,lngLat:l,originalEvent:a},o)),this._defaultPrevented=!1,this.target=i}t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n;var i={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,i),n}(e.Event),Vn=function(t){function n(n,i,a){var o=\"touchend\"===n?a.changedTouches:a.touches,s=r.touchPos(i.getCanvasContainer(),o),l=s.map((function(e){return i.unproject(e)})),u=s.reduce((function(e,t,r,n){return e.add(t.div(n.length))}),new e.Point(0,0)),c=i.unproject(u);t.call(this,n,{points:s,point:u,lngLats:l,lngLat:c,originalEvent:a}),this._defaultPrevented=!1}t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n;var i={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,i),n}(e.Event),Hn=function(e){function t(t,r,n){e.call(this,t,{originalEvent:n}),this._defaultPrevented=!1}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={defaultPrevented:{configurable:!0}};return t.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(t.prototype,r),t}(e.Event),qn=function(e,t){this._map=e,this._clickTolerance=t.clickTolerance};qn.prototype.reset=function(){delete this._mousedownPos},qn.prototype.wheel=function(e){return this._firePreventable(new Hn(e.type,this._map,e))},qn.prototype.mousedown=function(e,t){return this._mousedownPos=t,this._firePreventable(new Un(e.type,this._map,e))},qn.prototype.mouseup=function(e){this._map.fire(new Un(e.type,this._map,e))},qn.prototype.click=function(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new Un(e.type,this._map,e))},qn.prototype.dblclick=function(e){return this._firePreventable(new Un(e.type,this._map,e))},qn.prototype.mouseover=function(e){this._map.fire(new Un(e.type,this._map,e))},qn.prototype.mouseout=function(e){this._map.fire(new Un(e.type,this._map,e))},qn.prototype.touchstart=function(e){return this._firePreventable(new Vn(e.type,this._map,e))},qn.prototype.touchmove=function(e){this._map.fire(new Vn(e.type,this._map,e))},qn.prototype.touchend=function(e){this._map.fire(new Vn(e.type,this._map,e))},qn.prototype.touchcancel=function(e){this._map.fire(new Vn(e.type,this._map,e))},qn.prototype._firePreventable=function(e){if(this._map.fire(e),e.defaultPrevented)return{}},qn.prototype.isEnabled=function(){return!0},qn.prototype.isActive=function(){return!1},qn.prototype.enable=function(){},qn.prototype.disable=function(){};var Gn=function(e){this._map=e};Gn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Gn.prototype.mousemove=function(e){this._map.fire(new Un(e.type,this._map,e))},Gn.prototype.mousedown=function(){this._delayContextMenu=!0},Gn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Un(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Gn.prototype.contextmenu=function(e){this._delayContextMenu?this._contextMenuEvent=e:this._map.fire(new Un(e.type,this._map,e)),this._map.listens(\"contextmenu\")&&e.preventDefault()},Gn.prototype.isEnabled=function(){return!0},Gn.prototype.isActive=function(){return!1},Gn.prototype.enable=function(){},Gn.prototype.disable=function(){};var Yn=function(e,t){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1};function Wn(e,t){for(var r={},n=0;n<e.length;n++)r[e[n].identifier]=t[n];return r}Yn.prototype.isEnabled=function(){return!!this._enabled},Yn.prototype.isActive=function(){return!!this._active},Yn.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Yn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Yn.prototype.mousedown=function(e,t){this.isEnabled()&&e.shiftKey&&0===e.button&&(r.disableDrag(),this._startPos=this._lastPos=t,this._active=!0)},Yn.prototype.mousemoveWindow=function(e,t){if(this._active){var n=t;if(!(this._lastPos.equals(n)||!this._box&&n.dist(this._startPos)<this._clickTolerance)){var i=this._startPos;this._lastPos=n,this._box||(this._box=r.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",e));var a=Math.min(i.x,n.x),o=Math.max(i.x,n.x),s=Math.min(i.y,n.y),l=Math.max(i.y,n.y);r.setTransform(this._box,\"translate(\"+a+\"px,\"+s+\"px)\"),this._box.style.width=o-a+\"px\",this._box.style.height=l-s+\"px\"}}},Yn.prototype.mouseupWindow=function(t,n){var i=this;if(this._active&&0===t.button){var a=this._startPos,o=n;if(this.reset(),r.suppressClick(),a.x!==o.x||a.y!==o.y)return this._map.fire(new e.Event(\"boxzoomend\",{originalEvent:t})),{cameraAnimation:function(e){return e.fitScreenCoordinates(a,o,i._map.getBearing(),{linear:!0})}};this._fireEvent(\"boxzoomcancel\",t)}},Yn.prototype.keydown=function(e){this._active&&27===e.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",e))},Yn.prototype.reset=function(){this._active=!1,this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(r.remove(this._box),this._box=null),r.enableDrag(),delete this._startPos,delete this._lastPos},Yn.prototype._fireEvent=function(t,r){return this._map.fire(new e.Event(t,{originalEvent:r}))};var Zn=function(e){this.reset(),this.numTouches=e.numTouches};Zn.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1},Zn.prototype.touchstart=function(t,r,n){(this.centroid||n.length>this.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=t.timeStamp),n.length===this.numTouches&&(this.centroid=function(t){for(var r=new e.Point(0,0),n=0,i=t;n<i.length;n+=1){var a=i[n];r._add(a)}return r.div(t.length)}(r),this.touches=Wn(n,r)))},Zn.prototype.touchmove=function(e,t,r){if(!this.aborted&&this.centroid){var n=Wn(r,t);for(var i in this.touches){var a=this.touches[i],o=n[i];(!o||o.dist(a)>30)&&(this.aborted=!0)}}},Zn.prototype.touchend=function(e,t,r){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Xn=function(e){this.singleTap=new Zn(e),this.numTaps=e.numTaps,this.reset()};Xn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Xn.prototype.touchstart=function(e,t,r){this.singleTap.touchstart(e,t,r)},Xn.prototype.touchmove=function(e,t,r){this.singleTap.touchmove(e,t,r)},Xn.prototype.touchend=function(e,t,r){var n=this.singleTap.touchend(e,t,r);if(n){var i=e.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Kn=function(){this._zoomIn=new Xn({numTouches:1,numTaps:2}),this._zoomOut=new Xn({numTouches:2,numTaps:1}),this.reset()};Kn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Kn.prototype.touchstart=function(e,t,r){this._zoomIn.touchstart(e,t,r),this._zoomOut.touchstart(e,t,r)},Kn.prototype.touchmove=function(e,t,r){this._zoomIn.touchmove(e,t,r),this._zoomOut.touchmove(e,t,r)},Kn.prototype.touchend=function(e,t,r){var n=this,i=this._zoomIn.touchend(e,t,r),a=this._zoomOut.touchend(e,t,r);return i?(this._active=!0,e.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(t){return t.easeTo({duration:300,zoom:t.getZoom()+1,around:t.unproject(i)},{originalEvent:e})}}):a?(this._active=!0,e.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(t){return t.easeTo({duration:300,zoom:t.getZoom()-1,around:t.unproject(a)},{originalEvent:e})}}):void 0},Kn.prototype.touchcancel=function(){this.reset()},Kn.prototype.enable=function(){this._enabled=!0},Kn.prototype.disable=function(){this._enabled=!1,this.reset()},Kn.prototype.isEnabled=function(){return this._enabled},Kn.prototype.isActive=function(){return this._active};var Jn=function(e){this.reset(),this._clickTolerance=e.clickTolerance||1};Jn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Jn.prototype._correctButton=function(e,t){return!1},Jn.prototype._move=function(e,t){return{}},Jn.prototype.mousedown=function(e,t){if(!this._lastPoint){var n=r.mouseButton(e);this._correctButton(e,n)&&(this._lastPoint=t,this._eventButton=n)}},Jn.prototype.mousemoveWindow=function(e,t){var r=this._lastPoint;if(r&&(e.preventDefault(),this._moved||!(t.dist(r)<this._clickTolerance)))return this._moved=!0,this._lastPoint=t,this._move(r,t)},Jn.prototype.mouseupWindow=function(e){r.mouseButton(e)===this._eventButton&&(this._moved&&r.suppressClick(),this.reset())},Jn.prototype.enable=function(){this._enabled=!0},Jn.prototype.disable=function(){this._enabled=!1,this.reset()},Jn.prototype.isEnabled=function(){return this._enabled},Jn.prototype.isActive=function(){return this._active};var $n=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.mousedown=function(t,r){e.prototype.mousedown.call(this,t,r),this._lastPoint&&(this._active=!0)},t.prototype._correctButton=function(e,t){return 0===t&&!e.ctrlKey},t.prototype._move=function(e,t){return{around:t,panDelta:t.sub(e)}},t}(Jn),Qn=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._correctButton=function(e,t){return 0===t&&e.ctrlKey||2===t},t.prototype._move=function(e,t){var r=.8*(t.x-e.x);if(r)return this._active=!0,{bearingDelta:r}},t.prototype.contextmenu=function(e){e.preventDefault()},t}(Jn),ei=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._correctButton=function(e,t){return 0===t&&e.ctrlKey||2===t},t.prototype._move=function(e,t){var r=-.5*(t.y-e.y);if(r)return this._active=!0,{pitchDelta:r}},t.prototype.contextmenu=function(e){e.preventDefault()},t}(Jn),ti=function(e){this._minTouches=1,this._clickTolerance=e.clickTolerance||1,this.reset()};ti.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new e.Point(0,0)},ti.prototype.touchstart=function(e,t,r){return this._calculateTransform(e,t,r)},ti.prototype.touchmove=function(e,t,r){if(this._active)return e.preventDefault(),this._calculateTransform(e,t,r)},ti.prototype.touchend=function(e,t,r){this._calculateTransform(e,t,r),this._active&&r.length<this._minTouches&&this.reset()},ti.prototype.touchcancel=function(){this.reset()},ti.prototype._calculateTransform=function(t,r,n){n.length>0&&(this._active=!0);var i=Wn(n,r),a=new e.Point(0,0),o=new e.Point(0,0),s=0;for(var l in i){var u=i[l],c=this._touches[l];c&&(a._add(u),o._add(u.sub(c)),s++,i[l]=u)}if(this._touches=i,!(s<this._minTouches)&&o.mag()){var f=o.div(s);if(this._sum._add(f),!(this._sum.mag()<this._clickTolerance))return{around:a.div(s),panDelta:f}}},ti.prototype.enable=function(){this._enabled=!0},ti.prototype.disable=function(){this._enabled=!1,this.reset()},ti.prototype.isEnabled=function(){return this._enabled},ti.prototype.isActive=function(){return this._active};var ri=function(){this.reset()};function ni(e,t,r){for(var n=0;n<e.length;n++)if(e[n].identifier===r)return t[n]}ri.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches},ri.prototype._start=function(e){},ri.prototype._move=function(e,t,r){return{}},ri.prototype.touchstart=function(e,t,r){this._firstTwoTouches||r.length<2||(this._firstTwoTouches=[r[0].identifier,r[1].identifier],this._start([t[0],t[1]]))},ri.prototype.touchmove=function(e,t,r){if(this._firstTwoTouches){e.preventDefault();var n=this._firstTwoTouches,i=n[0],a=n[1],o=ni(r,t,i),s=ni(r,t,a);if(o&&s){var l=this._aroundCenter?null:o.add(s).div(2);return this._move([o,s],l,e)}}},ri.prototype.touchend=function(e,t,n){if(this._firstTwoTouches){var i=this._firstTwoTouches,a=i[0],o=i[1],s=ni(n,t,a),l=ni(n,t,o);s&&l||(this._active&&r.suppressClick(),this.reset())}},ri.prototype.touchcancel=function(){this.reset()},ri.prototype.enable=function(e){this._enabled=!0,this._aroundCenter=!!e&&\"center\"===e.around},ri.prototype.disable=function(){this._enabled=!1,this.reset()},ri.prototype.isEnabled=function(){return this._enabled},ri.prototype.isActive=function(){return this._active};function ii(e,t){return Math.log(e/t)/Math.LN2}var ai=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.reset=function(){e.prototype.reset.call(this),delete this._distance,delete this._startDistance},t.prototype._start=function(e){this._startDistance=this._distance=e[0].dist(e[1])},t.prototype._move=function(e,t){var r=this._distance;if(this._distance=e[0].dist(e[1]),this._active||!(Math.abs(ii(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:ii(this._distance,r),pinchAround:t}},t}(ri);function oi(e,t){return 180*e.angleWith(t)/Math.PI}var si=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.reset=function(){e.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector},t.prototype._start=function(e){this._startVector=this._vector=e[0].sub(e[1]),this._minDiameter=e[0].dist(e[1])},t.prototype._move=function(e,t){var r=this._vector;if(this._vector=e[0].sub(e[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:oi(this._vector,r),pinchAround:t}},t.prototype._isBelowThreshold=function(e){this._minDiameter=Math.min(this._minDiameter,e.mag());var t=25/(Math.PI*this._minDiameter)*360,r=oi(e,this._startVector);return Math.abs(r)<t},t}(ri);function li(e){return Math.abs(e.y)>Math.abs(e.x)}var ui=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.reset=function(){e.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},t.prototype._start=function(e){this._lastPoints=e,li(e[0].sub(e[1]))&&(this._valid=!1)},t.prototype._move=function(e,t,r){var n=e[0].sub(this._lastPoints[0]),i=e[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=e,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},t.prototype.gestureBeginsVertically=function(e,t,r){if(void 0!==this._valid)return this._valid;var n=e.mag()>=2,i=t.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=e.y>0==t.y>0;return li(e)&&li(t)&&a}},t}(ri),ci={panStep:100,bearingStep:15,pitchStep:10},fi=function(){var e=ci;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep};function hi(e){return e*(2-e)}fi.prototype.reset=function(){this._active=!1},fi.prototype.keydown=function(e){var t=this;if(!(e.altKey||e.ctrlKey||e.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(e.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),a=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),a=1);break;case 38:e.shiftKey?i=1:(e.preventDefault(),o=-1);break;case 40:e.shiftKey?i=-1:(e.preventDefault(),o=1);break;default:return}return{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:\"keyboardHandler\",easing:hi,zoom:r?Math.round(l)+r*(e.shiftKey?2:1):l,bearing:s.getBearing()+n*t._bearingStep,pitch:s.getPitch()+i*t._pitchStep,offset:[-a*t._panStep,-o*t._panStep],center:s.getCenter()},{originalEvent:e})}}}},fi.prototype.enable=function(){this._enabled=!0},fi.prototype.disable=function(){this._enabled=!1,this.reset()},fi.prototype.isEnabled=function(){return this._enabled},fi.prototype.isActive=function(){return this._active};var pi=4.000244140625,di=function(t,r){this._map=t,this._el=t.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,e.bindAll([\"_onWheel\",\"_onTimeout\",\"_onScrollFrame\",\"_onScrollFinished\"],this)};di.prototype.setZoomRate=function(e){this._defaultZoomRate=e},di.prototype.setWheelZoomRate=function(e){this._wheelZoomRate=e},di.prototype.isEnabled=function(){return!!this._enabled},di.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},di.prototype.isZooming=function(){return!!this._zooming},di.prototype.enable=function(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=e&&\"center\"===e.around)},di.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},di.prototype.wheel=function(t){if(this.isEnabled()){var r=t.deltaMode===e.window.WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY,n=e.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%pi==0?this._type=\"wheel\":0!==r&&Math.abs(r)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(i*r)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),t.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=t,this._delta-=r,this._active||this._start(t)),t.preventDefault()}},di.prototype._onTimeout=function(e){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(e)},di.prototype._start=function(t){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,t);this._around=e.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},di.prototype.renderFrame=function(){return this._onScrollFrame()},di.prototype._onScrollFrame=function(){var t=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n=\"wheel\"===this._type&&Math.abs(this._delta)>pi?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a=\"number\"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),\"wheel\"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s=\"number\"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,u=this._easing,c=!1;if(\"wheel\"===this._type&&l&&u){var f=Math.min((e.browser.now()-this._lastWheelEventTime)/200,1),h=u(f);o=e.number(l,s,h),f<1?this._frameId||(this._frameId=!0):c=!0}else o=s,c=!0;return this._active=!0,c&&(this._active=!1,this._finishTimeout=setTimeout((function(){t._zooming=!1,t._handler._triggerRenderFrame(),delete t._targetZoom,delete t._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!c,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},di.prototype._smoothOutEasing=function(t){var r=e.ease;if(this._prevEase){var n=this._prevEase,i=(e.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=e.bezier(o,s,.25,1)}return this._prevEase={start:e.browser.now(),duration:t,easing:r},r},di.prototype.reset=function(){this._active=!1};var vi=function(e,t){this._clickZoom=e,this._tapZoom=t};vi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},vi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},vi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},vi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var gi=function(){this.reset()};gi.prototype.reset=function(){this._active=!1},gi.prototype.dblclick=function(e,t){return e.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(e.shiftKey?-1:1),around:r.unproject(t)},{originalEvent:e})}}},gi.prototype.enable=function(){this._enabled=!0},gi.prototype.disable=function(){this._enabled=!1,this.reset()},gi.prototype.isEnabled=function(){return this._enabled},gi.prototype.isActive=function(){return this._active};var mi=function(){this._tap=new Xn({numTouches:1,numTaps:1}),this.reset()};mi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},mi.prototype.touchstart=function(e,t,r){this._swipePoint||(this._tapTime&&e.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=t[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(e,t,r))},mi.prototype.touchmove=function(e,t,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=t[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,e.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(e,t,r)},mi.prototype.touchend=function(e,t,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(e,t,r)&&(this._tapTime=e.timeStamp)},mi.prototype.touchcancel=function(){this.reset()},mi.prototype.enable=function(){this._enabled=!0},mi.prototype.disable=function(){this._enabled=!1,this.reset()},mi.prototype.isEnabled=function(){return this._enabled},mi.prototype.isActive=function(){return this._active};var yi=function(e,t,r){this._el=e,this._mousePan=t,this._touchPan=r};yi.prototype.enable=function(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},yi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},yi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},yi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var xi=function(e,t,r){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=r};xi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},xi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},xi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},xi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var bi=function(e,t,r,n){this._el=e,this._touchZoom=t,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};bi.prototype.enable=function(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},bi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},bi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},bi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},bi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},bi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var _i=function(e){return e.zoom||e.drag||e.pitch||e.rotate},wi=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(e.Event);function ki(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}var Ti=function(t,n){this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Bn(t),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),e.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var i=this._el;this._listeners=[[i,\"touchstart\",{passive:!1}],[i,\"touchmove\",{passive:!1}],[i,\"touchend\",void 0],[i,\"touchcancel\",void 0],[i,\"mousedown\",void 0],[i,\"mousemove\",void 0],[i,\"mouseup\",void 0],[e.window.document,\"mousemove\",{capture:!0}],[e.window.document,\"mouseup\",void 0],[i,\"mouseover\",void 0],[i,\"mouseout\",void 0],[i,\"dblclick\",void 0],[i,\"click\",void 0],[i,\"keydown\",{capture:!1}],[i,\"keyup\",void 0],[i,\"wheel\",{passive:!1}],[i,\"contextmenu\",void 0],[e.window,\"blur\",void 0]];for(var a=0,o=this._listeners;a<o.length;a+=1){var s=o[a],l=s[0],u=s[1],c=s[2];r.addEventListener(l,u,l===e.window.document?this.handleWindowEvent:this.handleEvent,c)}};Ti.prototype.destroy=function(){for(var t=0,n=this._listeners;t<n.length;t+=1){var i=n[t],a=i[0],o=i[1],s=i[2];r.removeEventListener(a,o,a===e.window.document?this.handleWindowEvent:this.handleEvent,s)}},Ti.prototype._addDefaultHandlers=function(e){var t=this._map,r=t.getCanvasContainer();this._add(\"mapEvent\",new qn(t,e));var n=t.boxZoom=new Yn(t,e);this._add(\"boxZoom\",n);var i=new Kn,a=new gi;t.doubleClickZoom=new vi(a,i),this._add(\"tapZoom\",i),this._add(\"clickZoom\",a);var o=new mi;this._add(\"tapDragZoom\",o);var s=t.touchPitch=new ui;this._add(\"touchPitch\",s);var l=new Qn(e),u=new ei(e);t.dragRotate=new xi(e,l,u),this._add(\"mouseRotate\",l,[\"mousePitch\"]),this._add(\"mousePitch\",u,[\"mouseRotate\"]);var c=new $n(e),f=new ti(e);t.dragPan=new yi(r,c,f),this._add(\"mousePan\",c),this._add(\"touchPan\",f,[\"touchZoom\",\"touchRotate\"]);var h=new si,p=new ai;t.touchZoomRotate=new bi(r,p,h,o),this._add(\"touchRotate\",h,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",p,[\"touchPan\",\"touchRotate\"]);var d=t.scrollZoom=new di(t,this);this._add(\"scrollZoom\",d,[\"mousePan\"]);var v=t.keyboard=new fi;this._add(\"keyboard\",v),this._add(\"blockableMapEvent\",new Gn(t));for(var g=0,m=[\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"];g<m.length;g+=1){var y=m[g];e.interactive&&e[y]&&t[y].enable(e[y])}},Ti.prototype._add=function(e,t,r){this._handlers.push({handlerName:e,handler:t,allowed:r}),this._handlersById[e]=t},Ti.prototype.stop=function(){if(!this._updatingCamera){for(var e=0,t=this._handlers;e<t.length;e+=1)t[e].handler.reset();this._inertia.clear(),this._fireEvents({},{}),this._changes=[]}},Ti.prototype.isActive=function(){for(var e=0,t=this._handlers;e<t.length;e+=1)if(t[e].handler.isActive())return!0;return!1},Ti.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},Ti.prototype.isRotating=function(){return!!this._eventsInProgress.rotate},Ti.prototype.isMoving=function(){return Boolean(_i(this._eventsInProgress))||this.isZooming()},Ti.prototype._blockedByActive=function(e,t,r){for(var n in e)if(n!==r&&(!t||t.indexOf(n)<0))return!0;return!1},Ti.prototype.handleWindowEvent=function(e){this.handleEvent(e,e.type+\"Window\")},Ti.prototype._getMapTouches=function(e){for(var t=[],r=0,n=e;r<n.length;r+=1){var i=n[r],a=i.target;this._el.contains(a)&&t.push(i)}return t},Ti.prototype.handleEvent=function(e,t){if(\"blur\"!==e.type){this._updatingCamera=!0;for(var n=\"renderFrame\"===e.type?void 0:e,i={needsRenderFrame:!1},a={},o={},s=e.touches?this._getMapTouches(e.touches):void 0,l=s?r.touchPos(this._el,s):r.mousePos(this._el,e),u=0,c=this._handlers;u<c.length;u+=1){var f=c[u],h=f.handlerName,p=f.handler,d=f.allowed;if(p.isEnabled()){var v=void 0;this._blockedByActive(o,d,h)?p.reset():p[t||e.type]&&(v=p[t||e.type](e,l,s),this.mergeHandlerResult(i,a,v,h,n),v&&v.needsRenderFrame&&this._triggerRenderFrame()),(v||p.isActive())&&(o[h]=p)}}var g={};for(var m in this._previousActiveHandlers)o[m]||(g[m]=n);this._previousActiveHandlers=o,(Object.keys(g).length||ki(i))&&(this._changes.push([i,a,g]),this._triggerRenderFrame()),(Object.keys(o).length||ki(i))&&this._map._stop(!0),this._updatingCamera=!1;var y=i.cameraAnimation;y&&(this._inertia.clear(),this._fireEvents({},{}),this._changes=[],y(this._map))}else this.stop()},Ti.prototype.mergeHandlerResult=function(t,r,n,i,a){if(n){e.extend(t,n);var o={handlerName:i,originalEvent:n.originalEvent||a};void 0!==n.zoomDelta&&(r.zoom=o),void 0!==n.panDelta&&(r.drag=o),void 0!==n.pitchDelta&&(r.pitch=o),void 0!==n.bearingDelta&&(r.rotate=o)}},Ti.prototype._applyChanges=function(){for(var t={},r={},n={},i=0,a=this._changes;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1],u=o[2];s.panDelta&&(t.panDelta=(t.panDelta||new e.Point(0,0))._add(s.panDelta)),s.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(t.around=s.around),void 0!==s.pinchAround&&(t.pinchAround=s.pinchAround),s.noInertia&&(t.noInertia=s.noInertia),e.extend(r,l),e.extend(n,u)}this._updateMapTransform(t,r,n),this._changes=[]},Ti.prototype._updateMapTransform=function(e,t,r){var n=this._map,i=n.transform;if(!ki(e))return this._fireEvents(t,r);var a=e.panDelta,o=e.zoomDelta,s=e.bearingDelta,l=e.pitchDelta,u=e.around,c=e.pinchAround;void 0!==c&&(u=c),n._stop(!0),u=u||n.transform.centerPoint;var f=i.pointLocation(a?u.sub(a):u);s&&(i.bearing+=s),l&&(i.pitch+=l),o&&(i.zoom+=o),i.setLocationAtPoint(f,u),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(t,r)},Ti.prototype._fireEvents=function(t,r){var n=this,i=_i(this._eventsInProgress),a=_i(t),o={};for(var s in t){var l=t[s].originalEvent;this._eventsInProgress[s]||(o[s+\"start\"]=l),this._eventsInProgress[s]=t[s]}for(var u in!i&&a&&this._fireEvent(\"movestart\",a.originalEvent),o)this._fireEvent(u,o[u]);for(var c in t.rotate&&(this._bearingChanged=!0),a&&this._fireEvent(\"move\",a.originalEvent),t){var f=t[c].originalEvent;this._fireEvent(c,f)}var h,p={};for(var d in this._eventsInProgress){var v=this._eventsInProgress[d],g=v.handlerName,m=v.originalEvent;this._handlersById[g].isActive()||(delete this._eventsInProgress[d],h=r[g]||m,p[d+\"end\"]=h)}for(var y in p)this._fireEvent(y,p[y]);var x=_i(this._eventsInProgress);if((i||a)&&!x){this._updatingCamera=!0;var b=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),_=function(e){return 0!==e&&-n._bearingSnap<e&&e<n._bearingSnap};b?(_(b.bearing||this._map.getBearing())&&(b.bearing=0),this._map.easeTo(b,{originalEvent:h})):(this._map.fire(new e.Event(\"moveend\",{originalEvent:h})),_(this._map.getBearing())&&this._map.resetNorth()),this._bearingChanged=!1,this._updatingCamera=!1}},Ti.prototype._fireEvent=function(t,r){this._map.fire(new e.Event(t,r?{originalEvent:r}:{}))},Ti.prototype._triggerRenderFrame=function(){var e=this;void 0===this._frameId&&(this._frameId=this._map._requestRenderFrame((function(t){delete e._frameId,e.handleEvent(new wi(\"renderFrame\",{timeStamp:t})),e._applyChanges()})))};var Mi=function(t){function r(r,n){t.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,e.bindAll([\"_renderFrameCallback\"],this)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.getCenter=function(){return new e.LngLat(this.transform.center.lng,this.transform.center.lat)},r.prototype.setCenter=function(e,t){return this.jumpTo({center:e},t)},r.prototype.panBy=function(t,r,n){return t=e.Point.convert(t).mult(-1),this.panTo(this.transform.center,e.extend({offset:t},r),n)},r.prototype.panTo=function(t,r,n){return this.easeTo(e.extend({center:t},r),n)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(e,t){return this.jumpTo({zoom:e},t),this},r.prototype.zoomTo=function(t,r,n){return this.easeTo(e.extend({zoom:t},r),n)},r.prototype.zoomIn=function(e,t){return this.zoomTo(this.getZoom()+1,e,t),this},r.prototype.zoomOut=function(e,t){return this.zoomTo(this.getZoom()-1,e,t),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(e,t){return this.jumpTo({bearing:e},t),this},r.prototype.getPadding=function(){return this.transform.padding},r.prototype.setPadding=function(e,t){return this.jumpTo({padding:e},t),this},r.prototype.rotateTo=function(t,r,n){return this.easeTo(e.extend({bearing:t},r),n)},r.prototype.resetNorth=function(t,r){return this.rotateTo(0,e.extend({duration:1e3},t),r),this},r.prototype.resetNorthPitch=function(t,r){return this.easeTo(e.extend({bearing:0,pitch:0,duration:1e3},t),r),this},r.prototype.snapToNorth=function(e,t){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(e,t):this},r.prototype.getPitch=function(){return this.transform.pitch},r.prototype.setPitch=function(e,t){return this.jumpTo({pitch:e},t),this},r.prototype.cameraForBounds=function(t,r){return t=e.LngLatBounds.convert(t),this._cameraForBoxAndBearing(t.getNorthWest(),t.getSouthEast(),0,r)},r.prototype._cameraForBoxAndBearing=function(t,r,n,i){var a={top:0,bottom:0,right:0,left:0};if(\"number\"==typeof(i=e.extend({padding:a,offset:[0,0],maxZoom:this.transform.maxZoom},i)).padding){var o=i.padding;i.padding={top:o,bottom:o,right:o,left:o}}i.padding=e.extend(a,i.padding);var s=this.transform,l=s.padding,u=s.project(e.LngLat.convert(t)),c=s.project(e.LngLat.convert(r)),f=u.rotate(-n*Math.PI/180),h=c.rotate(-n*Math.PI/180),p=new e.Point(Math.max(f.x,h.x),Math.max(f.y,h.y)),d=new e.Point(Math.min(f.x,h.x),Math.min(f.y,h.y)),v=p.sub(d),g=(s.width-(l.left+l.right+i.padding.left+i.padding.right))/v.x,m=(s.height-(l.top+l.bottom+i.padding.top+i.padding.bottom))/v.y;if(!(m<0||g<0)){var y=Math.min(s.scaleZoom(s.scale*Math.min(g,m)),i.maxZoom),x=e.Point.convert(i.offset),b=(i.padding.left-i.padding.right)/2,_=(i.padding.top-i.padding.bottom)/2,w=new e.Point(x.x+b,x.y+_).mult(s.scale/s.zoomScale(y));return{center:s.unproject(u.add(c).div(2).sub(w)),zoom:y,bearing:n}}e.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\")},r.prototype.fitBounds=function(e,t,r){return this._fitInternal(this.cameraForBounds(e,t),t,r)},r.prototype.fitScreenCoordinates=function(t,r,n,i,a){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(e.Point.convert(t)),this.transform.pointLocation(e.Point.convert(r)),n,i),i,a)},r.prototype._fitInternal=function(t,r,n){return t?(delete(r=e.extend(t,r)).padding,r.linear?this.easeTo(r,n):this.flyTo(r,n)):this},r.prototype.jumpTo=function(t,r){this.stop();var n=this.transform,i=!1,a=!1,o=!1;return\"zoom\"in t&&n.zoom!==+t.zoom&&(i=!0,n.zoom=+t.zoom),void 0!==t.center&&(n.center=e.LngLat.convert(t.center)),\"bearing\"in t&&n.bearing!==+t.bearing&&(a=!0,n.bearing=+t.bearing),\"pitch\"in t&&n.pitch!==+t.pitch&&(o=!0,n.pitch=+t.pitch),null==t.padding||n.isPaddingEqual(t.padding)||(n.padding=t.padding),this.fire(new e.Event(\"movestart\",r)).fire(new e.Event(\"move\",r)),i&&this.fire(new e.Event(\"zoomstart\",r)).fire(new e.Event(\"zoom\",r)).fire(new e.Event(\"zoomend\",r)),a&&this.fire(new e.Event(\"rotatestart\",r)).fire(new e.Event(\"rotate\",r)).fire(new e.Event(\"rotateend\",r)),o&&this.fire(new e.Event(\"pitchstart\",r)).fire(new e.Event(\"pitch\",r)).fire(new e.Event(\"pitchend\",r)),this.fire(new e.Event(\"moveend\",r))},r.prototype.easeTo=function(t,r){var n=this;this._stop(!1,t.easeId),(!1===(t=e.extend({offset:[0,0],duration:500,easing:e.ease},t)).animate||!t.essential&&e.browser.prefersReducedMotion)&&(t.duration=0);var i=this.transform,a=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l=this.getPadding(),u=\"zoom\"in t?+t.zoom:a,c=\"bearing\"in t?this._normalizeBearing(t.bearing,o):o,f=\"pitch\"in t?+t.pitch:s,h=\"padding\"in t?t.padding:i.padding,p=e.Point.convert(t.offset),d=i.centerPoint.add(p),v=i.pointLocation(d),g=e.LngLat.convert(t.center||v);this._normalizeCenter(g);var m,y,x=i.project(v),b=i.project(g).sub(x),_=i.zoomScale(u-a);t.around&&(m=e.LngLat.convert(t.around),y=i.locationPoint(m));var w={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||u!==a,this._rotating=this._rotating||o!==c,this._pitching=this._pitching||f!==s,this._padding=!i.isPaddingEqual(h),this._easeId=t.easeId,this._prepareEase(r,t.noMoveStart,w),clearTimeout(this._easeEndTimeoutID),this._ease((function(t){if(n._zooming&&(i.zoom=e.number(a,u,t)),n._rotating&&(i.bearing=e.number(o,c,t)),n._pitching&&(i.pitch=e.number(s,f,t)),n._padding&&(i.interpolatePadding(l,h,t),d=i.centerPoint.add(p)),m)i.setLocationAtPoint(m,y);else{var v=i.zoomScale(i.zoom-a),g=u>a?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-t),k=i.unproject(x.add(b.mult(t*w)).mult(v));i.setLocationAtPoint(i.renderWorldCopies?k.wrap():k,d)}n._fireMoveEvents(r)}),(function(e){n._afterEase(r,e)}),t),this},r.prototype._prepareEase=function(t,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new e.Event(\"movestart\",t)),this._zooming&&!n.zooming&&this.fire(new e.Event(\"zoomstart\",t)),this._rotating&&!n.rotating&&this.fire(new e.Event(\"rotatestart\",t)),this._pitching&&!n.pitching&&this.fire(new e.Event(\"pitchstart\",t))},r.prototype._fireMoveEvents=function(t){this.fire(new e.Event(\"move\",t)),this._zooming&&this.fire(new e.Event(\"zoom\",t)),this._rotating&&this.fire(new e.Event(\"rotate\",t)),this._pitching&&this.fire(new e.Event(\"pitch\",t))},r.prototype._afterEase=function(t,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new e.Event(\"zoomend\",t)),i&&this.fire(new e.Event(\"rotateend\",t)),a&&this.fire(new e.Event(\"pitchend\",t)),this.fire(new e.Event(\"moveend\",t))}},r.prototype.flyTo=function(t,r){var n=this;if(!t.essential&&e.browser.prefersReducedMotion){var i=e.pick(t,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(i,r)}this.stop(),t=e.extend({offset:[0,0],speed:1.2,curve:1.42,easing:e.ease},t);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),u=this.getPadding(),c=\"zoom\"in t?e.clamp(+t.zoom,a.minZoom,a.maxZoom):o,f=\"bearing\"in t?this._normalizeBearing(t.bearing,s):s,h=\"pitch\"in t?+t.pitch:l,p=\"padding\"in t?t.padding:a.padding,d=a.zoomScale(c-o),v=e.Point.convert(t.offset),g=a.centerPoint.add(v),m=a.pointLocation(g),y=e.LngLat.convert(t.center||m);this._normalizeCenter(y);var x=a.project(m),b=a.project(y).sub(x),_=t.curve,w=Math.max(a.width,a.height),k=w/d,T=b.mag();if(\"minZoom\"in t){var M=e.clamp(Math.min(t.minZoom,o,c),a.minZoom,a.maxZoom),A=w/a.zoomScale(M-o);_=Math.sqrt(A/T*2)}var S=_*_;function E(e){var t=(k*k-w*w+(e?-1:1)*S*S*T*T)/(2*(e?k:w)*S*T);return Math.log(Math.sqrt(t*t+1)-t)}function C(e){return(Math.exp(e)-Math.exp(-e))/2}function L(e){return(Math.exp(e)+Math.exp(-e))/2}var P=E(0),O=function(e){return L(P)/L(P+_*e)},I=function(e){return w*((L(P)*(C(t=P+_*e)/L(t))-C(P))/S)/T;var t},D=(E(1)-P)/_;if(Math.abs(T)<1e-6||!isFinite(D)){if(Math.abs(w-k)<1e-6)return this.easeTo(t,r);var z=k<w?-1:1;D=Math.abs(Math.log(k/w))/_,I=function(){return 0},O=function(e){return Math.exp(z*_*e)}}if(\"duration\"in t)t.duration=+t.duration;else{var R=\"screenSpeed\"in t?+t.screenSpeed/_:+t.speed;t.duration=1e3*D/R}return t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(t){var i=t*D,d=1/O(i);a.zoom=1===t?c:o+a.scaleZoom(d),n._rotating&&(a.bearing=e.number(s,f,t)),n._pitching&&(a.pitch=e.number(l,h,t)),n._padding&&(a.interpolatePadding(u,p,t),g=a.centerPoint.add(v));var m=1===t?y:a.unproject(x.add(b.mult(I(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?m.wrap():m,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),t),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(e,t){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,t)}if(!e){var n=this.handlers;n&&n.stop()}return this},r.prototype._ease=function(t,r,n){!1===n.animate||0===n.duration?(t(1),r()):(this._easeStart=e.browser.now(),this._easeOptions=n,this._onEaseFrame=t,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var t=Math.min((e.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(t,r){t=e.wrap(t,-180,180);var n=Math.abs(t-r);return Math.abs(t-360-r)<n&&(t-=360),Math.abs(t+360-r)<n&&(t+=360),t},r.prototype._normalizeCenter=function(e){var t=this.transform;if(t.renderWorldCopies&&!t.lngRange){var r=e.lng-t.center.lng;e.lng+=r>180?-360:r<-180?360:0}},r}(e.Evented),Ai=function(t){void 0===t&&(t={}),this.options=t,e.bindAll([\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};Ai.prototype.getDefaultPosition=function(){return\"bottom-right\"},Ai.prototype.onAdd=function(e){var t=this.options&&this.options.compact;return this._map=e,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._innerContainer=r.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),t&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===t&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},Ai.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ai.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var r=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||e.config.ACCESS_TOKEN}];if(t){var n=r.reduce((function(e,t,n){return t.value&&(e+=t.key+\"=\"+t.value+(n<r.length-1?\"&\":\"\")),e}),\"?\");t.href=e.config.FEEDBACK_URL+\"/\"+n+(this._map._hash?this._map._hash.getHashString(!0):\"\"),t.rel=\"noopener nofollow\"}},Ai.prototype._updateData=function(e){!e||\"metadata\"!==e.sourceDataType&&\"style\"!==e.dataType||(this._updateAttributions(),this._updateEditLink())},Ai.prototype._updateAttributions=function(){if(this._map.style){var e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map((function(e){return\"string\"!=typeof e?\"\":e}))):\"string\"==typeof this.options.customAttribution&&e.push(this.options.customAttribution)),this._map.style.stylesheet){var t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id}var r=this._map.style.sourceCaches;for(var n in r){var i=r[n];if(i.used){var a=i.getSource();a.attribution&&e.indexOf(a.attribution)<0&&e.push(a.attribution)}}e.sort((function(e,t){return e.length-t.length}));var o=(e=e.filter((function(t,r){for(var n=r+1;n<e.length;n++)if(e[n].indexOf(t)>=0)return!1;return!0}))).join(\" | \");o!==this._attribHTML&&(this._attribHTML=o,e.length?(this._innerContainer.innerHTML=o,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},Ai.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\")};var Si=function(){e.bindAll([\"_updateLogo\"],this),e.bindAll([\"_updateCompact\"],this)};Si.prototype.onAdd=function(e){this._map=e,this._container=r.create(\"div\",\"mapboxgl-ctrl\");var t=r.create(\"a\",\"mapboxgl-ctrl-logo\");return t.target=\"_blank\",t.rel=\"noopener nofollow\",t.href=\"https://www.mapbox.com/\",t.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),t.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(t),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},Si.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},Si.prototype.getDefaultPosition=function(){return\"bottom-left\"},Si.prototype._updateLogo=function(e){e&&\"metadata\"!==e.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\")},Si.prototype._logoRequired=function(){if(this._map.style){var e=this._map.style.sourceCaches;for(var t in e)if(e[t].getSource().mapbox_logo)return!0;return!1}},Si.prototype._updateCompact=function(){var e=this._container.children;if(e.length){var t=e[0];this._map.getCanvasContainer().offsetWidth<250?t.classList.add(\"mapboxgl-compact\"):t.classList.remove(\"mapboxgl-compact\")}};var Ei=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Ei.prototype.add=function(e){var t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t},Ei.prototype.remove=function(e){for(var t=this._currentlyRunning,r=0,n=t?this._queue.concat(t):this._queue;r<n.length;r+=1){var i=n[r];if(i.id===e)return void(i.cancelled=!0)}},Ei.prototype.run=function(e){void 0===e&&(e=0);var t=this._currentlyRunning=this._queue;this._queue=[];for(var r=0,n=t;r<n.length;r+=1){var i=n[r];if(!i.cancelled&&(i.callback(e),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},Ei.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var Ci={\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\"},Li=e.window.HTMLImageElement,Pi=e.window.HTMLElement,Oi=e.window.ImageBitmap,Ii=60,Di={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:Ii,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},zi=function(n){function i(t){var r=this;if(null!=(t=e.extend({},Di,t)).minZoom&&null!=t.maxZoom&&t.minZoom>t.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=t.minPitch&&null!=t.maxPitch&&t.minPitch>t.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=t.minPitch&&t.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=t.maxPitch&&t.maxPitch>Ii)throw new Error(\"maxPitch must be less than or equal to 60\");var i=new Ln(t.minZoom,t.maxZoom,t.minPitch,t.maxPitch,t.renderWorldCopies);if(n.call(this,i,t),this._interactive=t.interactive,this._maxTileCacheSize=t.maxTileCacheSize,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._antialias=t.antialias,this._trackResize=t.trackResize,this._bearingSnap=t.bearingSnap,this._refreshExpiredTiles=t.refreshExpiredTiles,this._fadeDuration=t.fadeDuration,this._crossSourceCollisions=t.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=t.collectResourceTiming,this._renderTaskQueue=new Ei,this._controls=[],this._mapId=e.uniqueId(),this._locale=e.extend({},Ci,t.locale),this._requestManager=new e.RequestManager(t.transformRequest,t.accessToken),\"string\"==typeof t.container){if(this._container=e.window.document.getElementById(t.container),!this._container)throw new Error(\"Container '\"+t.container+\"' not found.\")}else{if(!(t.container instanceof Pi))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=t.container}if(t.maxBounds&&this.setMaxBounds(t.maxBounds),e.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",(function(){return r._update(!1)})),this.on(\"moveend\",(function(){return r._update(!1)})),this.on(\"zoom\",(function(){return r._update(!0)})),void 0!==e.window&&(e.window.addEventListener(\"online\",this._onWindowOnline,!1),e.window.addEventListener(\"resize\",this._onWindowResize,!1)),this.handlers=new Ti(this,t);var a=\"string\"==typeof t.hash&&t.hash||void 0;this._hash=t.hash&&new On(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),t.bounds&&(this.resize(),this.fitBounds(t.bounds,e.extend({},t.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=t.localIdeographFontFamily,t.style&&this.setStyle(t.style,{localIdeographFontFamily:t.localIdeographFontFamily}),t.attributionControl&&this.addControl(new Ai({customAttribution:t.customAttribution})),this.addControl(new Si,t.logoPosition),this.on(\"style.load\",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on(\"data\",(function(t){r._update(\"style\"===t.dataType),r.fire(new e.Event(t.dataType+\"data\",t))})),this.on(\"dataloading\",(function(t){r.fire(new e.Event(t.dataType+\"dataloading\",t))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(t,r){if(void 0===r&&t.getDefaultPosition&&(r=t.getDefaultPosition()),void 0===r&&(r=\"top-right\"),!t||!t.onAdd)return this.fire(new e.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var n=t.onAdd(this);this._controls.push(t);var i=this._controlPositions[r];return-1!==r.indexOf(\"bottom\")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(t){if(!t||!t.onRemove)return this.fire(new e.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var r=this._controls.indexOf(t);return r>-1&&this._controls.splice(r,1),t.onRemove(this),this},i.prototype.resize=function(t){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new e.Event(\"movestart\",t)).fire(new e.Event(\"move\",t))),this.fire(new e.Event(\"resize\",t)),a&&this.fire(new e.Event(\"moveend\",t)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(t){return this.transform.setMaxBounds(e.LngLatBounds.convert(t)),this._update()},i.prototype.setMinZoom=function(e){if((e=null==e?-2:e)>=-2&&e<=this.transform.maxZoom)return this.transform.minZoom=e,this._update(),this.getZoom()<e&&this.setZoom(e),this;throw new Error(\"minZoom must be between -2 and the current maxZoom, inclusive\")},i.prototype.getMinZoom=function(){return this.transform.minZoom},i.prototype.setMaxZoom=function(e){if((e=null==e?22:e)>=this.transform.minZoom)return this.transform.maxZoom=e,this._update(),this.getZoom()>e&&this.setZoom(e),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(e){if((e=null==e?0:e)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(e>=0&&e<=this.transform.maxPitch)return this.transform.minPitch=e,this._update(),this.getPitch()<e&&this.setPitch(e),this;throw new Error(\"minPitch must be between 0 and the current maxPitch, inclusive\")},i.prototype.getMinPitch=function(){return this.transform.minPitch},i.prototype.setMaxPitch=function(e){if((e=null==e?Ii:e)>Ii)throw new Error(\"maxPitch must be less than or equal to 60\");if(e>=this.transform.minPitch)return this.transform.maxPitch=e,this._update(),this.getPitch()>e&&this.setPitch(e),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(e){return this.transform.renderWorldCopies=e,this._update()},i.prototype.project=function(t){return this.transform.locationPoint(e.LngLat.convert(t))},i.prototype.unproject=function(t){return this.transform.pointLocation(e.Point.convert(t))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(e,t,r){var n,i=this;if(\"mouseenter\"===e||\"mouseover\"===e){var a=!1;return{layer:t,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(t)?i.queryRenderedFeatures(n.point,{layers:[t]}):[];o.length?a||(a=!0,r.call(i,new Un(e,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if(\"mouseleave\"===e||\"mouseout\"===e){var o=!1;return{layer:t,listener:r,delegates:{mousemove:function(n){(i.getLayer(t)?i.queryRenderedFeatures(n.point,{layers:[t]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Un(e,i,n.originalEvent)))},mouseout:function(t){o&&(o=!1,r.call(i,new Un(e,i,t.originalEvent)))}}}}return{layer:t,listener:r,delegates:(n={},n[e]=function(e){var n=i.getLayer(t)?i.queryRenderedFeatures(e.point,{layers:[t]}):[];n.length&&(e.features=n,r.call(i,e),delete e.features)},n)}},i.prototype.on=function(e,t,r){if(void 0===r)return n.prototype.on.call(this,e,t);var i=this._createDelegatedListener(e,t,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(e,t,r){if(void 0===r)return n.prototype.once.call(this,e,t);var i=this._createDelegatedListener(e,t,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(e,t,r){var i=this;if(void 0===r)return n.prototype.off.call(this,e,t);return this._delegatedListeners&&this._delegatedListeners[e]&&function(n){for(var a=n[e],o=0;o<a.length;o++){var s=a[o];if(s.layer===t&&s.listener===r){for(var l in s.delegates)i.off(l,s.delegates[l]);return a.splice(o,1),i}}}(this._delegatedListeners),this},i.prototype.queryRenderedFeatures=function(t,r){if(!this.style)return[];var n;if(void 0!==r||void 0===t||t instanceof e.Point||Array.isArray(t)||(r=t,t=void 0),r=r||{},(t=t||[[0,0],[this.transform.width,this.transform.height]])instanceof e.Point||\"number\"==typeof t[0])n=[e.Point.convert(t)];else{var i=e.Point.convert(t[0]),a=e.Point.convert(t[1]);n=[i,new e.Point(a.x,i.y),a,new e.Point(i.x,a.y),i]}return this.style.queryRenderedFeatures(n,r,this.transform)},i.prototype.querySourceFeatures=function(e,t){return this.style.querySourceFeatures(e,t)},i.prototype.setStyle=function(t,r){return!1!==(r=e.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},r)).diff&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&t?(this._diffStyle(t,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(t,r))},i.prototype._getUIString=function(e){var t=this._locale[e];if(null==t)throw new Error(\"Missing UI string '\"+e+\"'\");return t},i.prototype._updateStyle=function(e,t){return this.style&&(this.style.setEventedParent(null),this.style._remove()),e?(this.style=new Wt(this,t||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof e?this.style.loadURL(e):this.style.loadJSON(e),this):(delete this.style,this)},i.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new Wt(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())},i.prototype._diffStyle=function(t,r){var n=this;if(\"string\"==typeof t){var i=this._requestManager.normalizeStyleURL(t),a=this._requestManager.transformRequest(i,e.ResourceType.Style);e.getJSON(a,(function(t,i){t?n.fire(new e.ErrorEvent(t)):i&&n._updateDiff(i,r)}))}else\"object\"==typeof t&&this._updateDiff(t,r)},i.prototype._updateDiff=function(t,r){try{this.style.setState(t)&&this._update(!0)}catch(n){e.warnOnce(\"Unable to perform style diff: \"+(n.message||n.error||n)+\".  Rebuilding the style from scratch.\"),this._updateStyle(t,r)}},i.prototype.getStyle=function(){if(this.style)return this.style.serialize()},i.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():e.warnOnce(\"There is no style added to the map.\")},i.prototype.addSource=function(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)},i.prototype.isSourceLoaded=function(t){var r=this.style&&this.style.sourceCaches[t];if(void 0!==r)return r.loaded();this.fire(new e.ErrorEvent(new Error(\"There is no source with ID '\"+t+\"'\")))},i.prototype.areTilesLoaded=function(){var e=this.style&&this.style.sourceCaches;for(var t in e){var r=e[t]._tiles;for(var n in r){var i=r[n];if(\"loaded\"!==i.state&&\"errored\"!==i.state)return!1}}return!0},i.prototype.addSourceType=function(e,t,r){return this._lazyInitEmptyStyle(),this.style.addSourceType(e,t,r)},i.prototype.removeSource=function(e){return this.style.removeSource(e),this._update(!0)},i.prototype.getSource=function(e){return this.style.getSource(e)},i.prototype.addImage=function(t,r,n){void 0===n&&(n={});var i=n.pixelRatio;void 0===i&&(i=1);var a=n.sdf;void 0===a&&(a=!1);var o=n.stretchX,s=n.stretchY,l=n.content;this._lazyInitEmptyStyle();if(r instanceof Li||Oi&&r instanceof Oi){var u=e.browser.getImageData(r),c=u.width,f=u.height,h=u.data;this.style.addImage(t,{data:new e.RGBAImage({width:c,height:f},h),pixelRatio:i,stretchX:o,stretchY:s,content:l,sdf:a,version:0})}else{if(void 0===r.width||void 0===r.height)return this.fire(new e.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));var p=r.width,d=r.height,v=r.data,g=r;this.style.addImage(t,{data:new e.RGBAImage({width:p,height:d},new Uint8Array(v)),pixelRatio:i,stretchX:o,stretchY:s,content:l,sdf:a,version:0,userImage:g}),g.onAdd&&g.onAdd(this,t)}},i.prototype.updateImage=function(t,r){var n=this.style.getImage(t);if(!n)return this.fire(new e.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));var i=r instanceof Li||Oi&&r instanceof Oi?e.browser.getImageData(r):r,a=i.width,o=i.height,s=i.data;if(void 0===a||void 0===o)return this.fire(new e.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(a!==n.data.width||o!==n.data.height)return this.fire(new e.ErrorEvent(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));var l=!(r instanceof Li||Oi&&r instanceof Oi);n.data.replace(s,l),this.style.updateImage(t,n)},i.prototype.hasImage=function(t){return t?!!this.style.getImage(t):(this.fire(new e.ErrorEvent(new Error(\"Missing required image id\"))),!1)},i.prototype.removeImage=function(e){this.style.removeImage(e)},i.prototype.loadImage=function(t,r){e.getImage(this._requestManager.transformRequest(t,e.ResourceType.Image),r)},i.prototype.listImages=function(){return this.style.listImages()},i.prototype.addLayer=function(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)},i.prototype.moveLayer=function(e,t){return this.style.moveLayer(e,t),this._update(!0)},i.prototype.removeLayer=function(e){return this.style.removeLayer(e),this._update(!0)},i.prototype.getLayer=function(e){return this.style.getLayer(e)},i.prototype.setLayerZoomRange=function(e,t,r){return this.style.setLayerZoomRange(e,t,r),this._update(!0)},i.prototype.setFilter=function(e,t,r){return void 0===r&&(r={}),this.style.setFilter(e,t,r),this._update(!0)},i.prototype.getFilter=function(e){return this.style.getFilter(e)},i.prototype.setPaintProperty=function(e,t,r,n){return void 0===n&&(n={}),this.style.setPaintProperty(e,t,r,n),this._update(!0)},i.prototype.getPaintProperty=function(e,t){return this.style.getPaintProperty(e,t)},i.prototype.setLayoutProperty=function(e,t,r,n){return void 0===n&&(n={}),this.style.setLayoutProperty(e,t,r,n),this._update(!0)},i.prototype.getLayoutProperty=function(e,t){return this.style.getLayoutProperty(e,t)},i.prototype.setLight=function(e,t){return void 0===t&&(t={}),this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)},i.prototype.getLight=function(){return this.style.getLight()},i.prototype.setFeatureState=function(e,t){return this.style.setFeatureState(e,t),this._update()},i.prototype.removeFeatureState=function(e,t){return this.style.removeFeatureState(e,t),this._update()},i.prototype.getFeatureState=function(e){return this.style.getFeatureState(e)},i.prototype.getContainer=function(){return this._container},i.prototype.getCanvasContainer=function(){return this._canvasContainer},i.prototype.getCanvas=function(){return this._canvas},i.prototype._containerDimensions=function(){var e=0,t=0;return this._container&&(e=this._container.clientWidth||400,t=this._container.clientHeight||300),[e,t]},i.prototype._detectMissingCSS=function(){\"rgb(250, 128, 114)\"!==e.window.getComputedStyle(this._missingCSSCanary).getPropertyValue(\"background-color\")&&e.warnOnce(\"This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.\")},i.prototype._setupContainer=function(){var e=this._container;e.classList.add(\"mapboxgl-map\"),(this._missingCSSCanary=r.create(\"div\",\"mapboxgl-canary\",e)).style.visibility=\"hidden\",this._detectMissingCSS();var t=this._canvasContainer=r.create(\"div\",\"mapboxgl-canvas-container\",e);this._interactive&&t.classList.add(\"mapboxgl-interactive\"),this._canvas=r.create(\"canvas\",\"mapboxgl-canvas\",t),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\");var n=this._containerDimensions();this._resizeCanvas(n[0],n[1]);var i=this._controlContainer=r.create(\"div\",\"mapboxgl-control-container\",e),a=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((function(e){a[e]=r.create(\"div\",\"mapboxgl-ctrl-\"+e,i)}))},i.prototype._resizeCanvas=function(t,r){var n=e.browser.devicePixelRatio||1;this._canvas.width=n*t,this._canvas.height=n*r,this._canvas.style.width=t+\"px\",this._canvas.style.height=r+\"px\"},i.prototype._setupPainter=function(){var r=e.extend({},t.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),n=this._canvas.getContext(\"webgl\",r)||this._canvas.getContext(\"experimental-webgl\",r);n?(this.painter=new An(n,this.transform),e.webpSupported.testSupport(n)):this.fire(new e.ErrorEvent(new Error(\"Failed to initialize WebGL\")))},i.prototype._contextLost=function(t){t.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new e.Event(\"webglcontextlost\",{originalEvent:t}))},i.prototype._contextRestored=function(t){this._setupPainter(),this.resize(),this._update(),this.fire(new e.Event(\"webglcontextrestored\",{originalEvent:t}))},i.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},i.prototype._update=function(e){return this.style?(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint(),this):this},i.prototype._requestRenderFrame=function(e){return this._update(),this._renderTaskQueue.add(e)},i.prototype._cancelRenderFrame=function(e){this._renderTaskQueue.remove(e)},i.prototype._render=function(t){var r,n=this,i=0,a=this.painter.context.extTimerQuery;if(this.listens(\"gpu-timing-frame\")&&(r=a.createQueryEXT(),a.beginQueryEXT(a.TIME_ELAPSED_EXT,r),i=e.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(t),!this._removed){var o=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var s=this.transform.zoom,l=e.browser.now();this.style.zoomHistory.update(s,l);var u=new e.EvaluationParameters(s,{now:l,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),c=u.crossFadingFactor();1===c&&c===this._crossFadingFactor||(o=!0,this._crossFadingFactor=c),this.style.update(u)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\")}),this.fire(new e.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new e.Event(\"load\"))),this.style&&(this.style.hasTransitions()||o)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens(\"gpu-timing-frame\")){var f=e.browser.now()-i;a.endQueryEXT(a.TIME_ELAPSED_EXT,r),setTimeout((function(){var t=a.getQueryObjectEXT(r,a.QUERY_RESULT_EXT)/1e6;a.deleteQueryEXT(r),n.fire(new e.Event(\"gpu-timing-frame\",{cpuTime:f,gpuTime:t}))}),50)}if(this.listens(\"gpu-timing-layer\")){var h=this.painter.collectGpuTimers();setTimeout((function(){var t=n.painter.queryGpuTimers(h);n.fire(new e.Event(\"gpu-timing-layer\",{layerTimes:t}))}),50)}return this._sourcesDirty||this._styleDirty||this._placementDirty||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&(this._fullyLoaded||(this._fullyLoaded=!0),this.fire(new e.Event(\"idle\"))),this}},i.prototype.remove=function(){this._hash&&this._hash.remove();for(var t=0,r=this._controls;t<r.length;t+=1)r[t].onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),void 0!==e.window&&(e.window.removeEventListener(\"resize\",this._onWindowResize,!1),e.window.removeEventListener(\"online\",this._onWindowOnline,!1));var n=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");n&&n.loseContext(),Ri(this._canvasContainer),Ri(this._controlContainer),Ri(this._missingCSSCanary),this._container.classList.remove(\"mapboxgl-map\"),this._removed=!0,this.fire(new e.Event(\"remove\"))},i.prototype.triggerRepaint=function(){var t=this;this.style&&!this._frame&&(this._frame=e.browser.frame((function(e){t._frame=null,t._render(e)})))},i.prototype._onWindowOnline=function(){this._update()},i.prototype._onWindowResize=function(e){this._trackResize&&this.resize({originalEvent:e})._update()},a.showTileBoundaries.get=function(){return!!this._showTileBoundaries},a.showTileBoundaries.set=function(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update())},a.showPadding.get=function(){return!!this._showPadding},a.showPadding.set=function(e){this._showPadding!==e&&(this._showPadding=e,this._update())},a.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},a.showCollisionBoxes.set=function(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update())},a.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},a.showOverdrawInspector.set=function(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update())},a.repaint.get=function(){return!!this._repaint},a.repaint.set=function(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint())},a.vertices.get=function(){return!!this._vertices},a.vertices.set=function(e){this._vertices=e,this._update()},i.prototype._setCacheLimits=function(t,r){e.setCacheLimits(t,r)},a.version.get=function(){return e.version},Object.defineProperties(i.prototype,a),i}(Mi);function Ri(e){e.parentNode&&e.parentNode.removeChild(e)}var Fi={showCompass:!0,showZoom:!0,visualizePitch:!1},Bi=function(t){var n=this;this.options=e.extend({},Fi,t),this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(function(e){return e.preventDefault()})),this.options.showZoom&&(e.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-zoom-in\",(function(e){return n._map.zoomIn({},{originalEvent:e})})),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",!0),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-zoom-out\",(function(e){return n._map.zoomOut({},{originalEvent:e})})),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",!0)),this.options.showCompass&&(e.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-compass\",(function(e){n.options.visualizePitch?n._map.resetNorthPitch({},{originalEvent:e}):n._map.resetNorth({},{originalEvent:e})})),this._compassIcon=r.create(\"span\",\"mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",!0))};Bi.prototype._updateZoomButtons=function(){var e=this._map.getZoom();this._zoomInButton.disabled=e===this._map.getMaxZoom(),this._zoomOutButton.disabled=e===this._map.getMinZoom()},Bi.prototype._rotateCompassArrow=function(){var e=this.options.visualizePitch?\"scale(\"+1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)+\") rotateX(\"+this._map.transform.pitch+\"deg) rotateZ(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\":\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassIcon.style.transform=e},Bi.prototype.onAdd=function(e){return this._map=e,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ni(this._map,this._compass,this.options.visualizePitch)),this._container},Bi.prototype.onRemove=function(){r.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map},Bi.prototype._createButton=function(e,t){var n=r.create(\"button\",e,this._container);return n.type=\"button\",n.addEventListener(\"click\",t),n},Bi.prototype._setButtonTitle=function(e,t){var r=this._map._getUIString(\"NavigationControl.\"+t);e.title=r,e.setAttribute(\"aria-label\",r)};var Ni=function(t,n,i){void 0===i&&(i=!1),this._clickTolerance=10,this.element=n,this.mouseRotate=new Qn({clickTolerance:t.dragRotate._mouseRotate._clickTolerance}),this.map=t,i&&(this.mousePitch=new ei({clickTolerance:t.dragRotate._mousePitch._clickTolerance})),e.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),r.addEventListener(n,\"mousedown\",this.mousedown),r.addEventListener(n,\"touchstart\",this.touchstart,{passive:!1}),r.addEventListener(n,\"touchmove\",this.touchmove),r.addEventListener(n,\"touchend\",this.touchend),r.addEventListener(n,\"touchcancel\",this.reset)};function ji(t,r,n){if(t=new e.LngLat(t.lng,t.lat),r){var i=new e.LngLat(t.lng-360,t.lat),a=new e.LngLat(t.lng+360,t.lat),o=n.locationPoint(t).distSqr(r);n.locationPoint(i).distSqr(r)<o?t=i:n.locationPoint(a).distSqr(r)<o&&(t=a)}for(;Math.abs(t.lng-n.center.lng)>180;){var s=n.locationPoint(t);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;t.lng>n.center.lng?t.lng-=360:t.lng+=360}return t}Ni.prototype.down=function(e,t){this.mouseRotate.mousedown(e,t),this.mousePitch&&this.mousePitch.mousedown(e,t),r.disableDrag()},Ni.prototype.move=function(e,t){var r=this.map,n=this.mouseRotate.mousemoveWindow(e,t);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(e,t);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ni.prototype.off=function(){var e=this.element;r.removeEventListener(e,\"mousedown\",this.mousedown),r.removeEventListener(e,\"touchstart\",this.touchstart,{passive:!1}),r.removeEventListener(e,\"touchmove\",this.touchmove),r.removeEventListener(e,\"touchend\",this.touchend),r.removeEventListener(e,\"touchcancel\",this.reset),this.offTemp()},Ni.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(e.window,\"mousemove\",this.mousemove),r.removeEventListener(e.window,\"mouseup\",this.mouseup)},Ni.prototype.mousedown=function(t){this.down(e.extend({},t,{ctrlKey:!0,preventDefault:function(){return t.preventDefault()}}),r.mousePos(this.element,t)),r.addEventListener(e.window,\"mousemove\",this.mousemove),r.addEventListener(e.window,\"mouseup\",this.mouseup)},Ni.prototype.mousemove=function(e){this.move(e,r.mousePos(this.element,e))},Ni.prototype.mouseup=function(e){this.mouseRotate.mouseupWindow(e),this.mousePitch&&this.mousePitch.mouseupWindow(e),this.offTemp()},Ni.prototype.touchstart=function(e){1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,e.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return e.preventDefault()}},this._startPos))},Ni.prototype.touchmove=function(e){1!==e.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,e.targetTouches)[0],this.move({preventDefault:function(){return e.preventDefault()}},this._lastPos))},Ni.prototype.touchend=function(e){0===e.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset()},Ni.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()};var Ui={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function Vi(e,t,r){var n=e.classList;for(var i in Ui)n.remove(\"mapboxgl-\"+r+\"-anchor-\"+i);n.add(\"mapboxgl-\"+r+\"-anchor-\"+t)}var Hi,qi=function(t){function n(n,i){var a=this;if(t.call(this),(n instanceof e.window.HTMLElement||i)&&(n=e.extend({element:n},i)),e.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=n&&n.anchor||\"center\",this._color=n&&n.color||\"#3FB1CE\",this._draggable=n&&n.draggable||!1,this._state=\"inactive\",this._rotation=n&&n.rotation||0,this._rotationAlignment=n&&n.rotationAlignment||\"auto\",this._pitchAlignment=n&&n.pitchAlignment&&\"auto\"!==n.pitchAlignment?n.pitchAlignment:this._rotationAlignment,n&&n.element)this._element=n.element,this._offset=e.Point.convert(n&&n.offset||[0,0]);else{this._defaultMarker=!0,this._element=r.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var o=r.createNS(\"http://www.w3.org/2000/svg\",\"svg\");o.setAttributeNS(null,\"display\",\"block\"),o.setAttributeNS(null,\"height\",\"41px\"),o.setAttributeNS(null,\"width\",\"27px\"),o.setAttributeNS(null,\"viewBox\",\"0 0 27 41\");var s=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");s.setAttributeNS(null,\"stroke\",\"none\"),s.setAttributeNS(null,\"stroke-width\",\"1\"),s.setAttributeNS(null,\"fill\",\"none\"),s.setAttributeNS(null,\"fill-rule\",\"evenodd\");var l=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"fill-rule\",\"nonzero\");var u=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");u.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),u.setAttributeNS(null,\"fill\",\"#000000\");for(var c=0,f=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];c<f.length;c+=1){var h=f[c],p=r.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");p.setAttributeNS(null,\"opacity\",\"0.04\"),p.setAttributeNS(null,\"cx\",\"10.5\"),p.setAttributeNS(null,\"cy\",\"5.80029008\"),p.setAttributeNS(null,\"rx\",h.rx),p.setAttributeNS(null,\"ry\",h.ry),u.appendChild(p)}var d=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"fill\",this._color);var v=r.createNS(\"http://www.w3.org/2000/svg\",\"path\");v.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),d.appendChild(v);var g=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");g.setAttributeNS(null,\"opacity\",\"0.25\"),g.setAttributeNS(null,\"fill\",\"#000000\");var m=r.createNS(\"http://www.w3.org/2000/svg\",\"path\");m.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),g.appendChild(m);var y=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");y.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),y.setAttributeNS(null,\"fill\",\"#FFFFFF\");var x=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");x.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var b=r.createNS(\"http://www.w3.org/2000/svg\",\"circle\");b.setAttributeNS(null,\"fill\",\"#000000\"),b.setAttributeNS(null,\"opacity\",\"0.25\"),b.setAttributeNS(null,\"cx\",\"5.5\"),b.setAttributeNS(null,\"cy\",\"5.5\"),b.setAttributeNS(null,\"r\",\"5.4999962\");var _=r.createNS(\"http://www.w3.org/2000/svg\",\"circle\");_.setAttributeNS(null,\"fill\",\"#FFFFFF\"),_.setAttributeNS(null,\"cx\",\"5.5\"),_.setAttributeNS(null,\"cy\",\"5.5\"),_.setAttributeNS(null,\"r\",\"5.4999962\"),x.appendChild(b),x.appendChild(_),l.appendChild(u),l.appendChild(d),l.appendChild(g),l.appendChild(y),l.appendChild(x),o.appendChild(l),this._element.appendChild(o),this._offset=e.Point.convert(n&&n.offset||[0,-14])}this._element.classList.add(\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",(function(e){e.preventDefault()})),this._element.addEventListener(\"mousedown\",(function(e){e.preventDefault()})),this._element.addEventListener(\"focus\",(function(){var e=a._map.getContainer();e.scrollTop=0,e.scrollLeft=0})),Vi(this._element,this._anchor,\"marker\"),this._popup=null}return t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this.remove(),this._map=e,e.getCanvasContainer().appendChild(this._element),e.on(\"move\",this._update),e.on(\"moveend\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this},n.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),r.remove(this._element),this._popup&&this._popup.remove(),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(t){return this._lngLat=e.LngLat.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},n.prototype.getElement=function(){return this._element},n.prototype.setPopup=function(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),e){if(!(\"offset\"in e.options)){var t=13.5,r=Math.sqrt(Math.pow(t,2)/2);e.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[r,-1*(24.6+r)],\"bottom-right\":[-r,-1*(24.6+r)],left:[t,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=e,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this},n.prototype._onKeyPress=function(e){var t=e.code,r=e.charCode||e.keyCode;\"Space\"!==t&&\"Enter\"!==t&&32!==r&&13!==r||this.togglePopup()},n.prototype._onMapClick=function(e){var t=e.originalEvent.target,r=this._element;this._popup&&(t===r||r.contains(t))&&this.togglePopup()},n.prototype.getPopup=function(){return this._popup},n.prototype.togglePopup=function(){var e=this._popup;return e?(e.isOpen()?e.remove():e.addTo(this._map),this):this},n.prototype._update=function(e){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=ji(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var t=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?t=\"rotateZ(\"+this._rotation+\"deg)\":\"map\"===this._rotationAlignment&&(t=\"rotateZ(\"+(this._rotation-this._map.getBearing())+\"deg)\");var n=\"\";\"viewport\"===this._pitchAlignment||\"auto\"===this._pitchAlignment?n=\"rotateX(0deg)\":\"map\"===this._pitchAlignment&&(n=\"rotateX(\"+this._map.getPitch()+\"deg)\"),e&&\"moveend\"!==e.type||(this._pos=this._pos.round()),r.setTransform(this._element,Ui[this._anchor]+\" translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px) \"+n+\" \"+t)}},n.prototype.getOffset=function(){return this._offset},n.prototype.setOffset=function(t){return this._offset=e.Point.convert(t),this._update(),this},n.prototype._onMove=function(t){this._pos=t.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new e.Event(\"dragstart\"))),this.fire(new e.Event(\"drag\"))},n.prototype._onUp=function(){this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),\"active\"===this._state&&this.fire(new e.Event(\"dragend\")),this._state=\"inactive\"},n.prototype._addDragHandler=function(e){this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},n.prototype.setDraggable=function(e){return this._draggable=!!e,this._map&&(e?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(e){return this._rotation=e||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(e){return this._rotationAlignment=e||\"auto\",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(e){return this._pitchAlignment=e&&\"auto\"!==e?e:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(e.Evented),Gi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};var Yi=0,Wi=!1,Zi=function(t){function n(r){t.call(this),this.options=e.extend({},Gi,r),e.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(t){return this._map=t,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),n=this._setupUI,void 0!==Hi?n(Hi):void 0!==e.window.navigator.permissions?e.window.navigator.permissions.query({name:\"geolocation\"}).then((function(e){Hi=\"denied\"!==e.state,n(Hi)})):(Hi=!!e.window.navigator.geolocation,n(Hi)),this._container;var n},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(e.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Yi=0,Wi=!1},n.prototype._isOutOfMapMaxBounds=function(e){var t=this._map.getMaxBounds(),r=e.coords;return t&&(r.longitude<t.getWest()||r.longitude>t.getEast()||r.latitude<t.getSouth()||r.latitude>t.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\")}},n.prototype._onSuccess=function(t){if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.Event(\"outofmaxbounds\",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\")}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new e.Event(\"geolocate\",t)),this._finish()}},n.prototype._updateCamera=function(t){var r=new e.LngLat(t.coords.longitude,t.coords.latitude),n=t.coords.accuracy,i=this._map.getBearing(),a=e.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(t){if(t){var r=new e.LngLat(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var e=this._map._container.clientHeight/2,t=this._map.unproject([0,e]),r=this._map.unproject([1,e]),n=t.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+\"px\",this._circleElement.style.height=i+\"px\"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(t){if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;var r=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=r,this._geolocateButton.setAttribute(\"aria-label\",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===t.code&&Wi)return;this._setErrorState()}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new e.Event(\"error\",t)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(t){var n=this;if(this._container.addEventListener(\"contextmenu\",(function(e){return e.preventDefault()})),this._geolocateButton=r.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),r.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",!1===t){e.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var i=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute(\"aria-label\",i)}else{var a=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=a,this._geolocateButton.setAttribute(\"aria-label\",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=r.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new qi(this._dotElement),this._circleElement=r.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new qi({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(function(t){var r=t.originalEvent&&\"resize\"===t.originalEvent.type;t.geolocateSource||\"ACTIVE_LOCK\"!==n._watchState||r||(n._watchState=\"BACKGROUND\",n._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),n._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),n.fire(new e.Event(\"trackuserlocationend\")))}))},n.prototype.trigger=function(){if(!this._setup)return e.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new e.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Yi--,Wi=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new e.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.Event(\"trackuserlocationstart\"))}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\")}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var t;this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),++Yi>1?(t={maximumAge:6e5,timeout:0},Wi=!0):(t=this.options.positionOptions,Wi=!1),this._geolocationWatchID=e.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)}}else e.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){e.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)},n}(e.Evented),Xi={maxWidth:100,unit:\"metric\"},Ki=function(t){this.options=e.extend({},Xi,t),e.bindAll([\"_onMove\",\"setUnit\"],this)};function Ji(e,t,r){var n=r&&r.maxWidth||100,i=e._container.clientHeight/2,a=e.unproject([0,i]),o=e.unproject([n,i]),s=a.distanceTo(o);if(r&&\"imperial\"===r.unit){var l=3.2808*s;l>5280?$i(t,n,l/5280,e._getUIString(\"ScaleControl.Miles\")):$i(t,n,l,e._getUIString(\"ScaleControl.Feet\"))}else r&&\"nautical\"===r.unit?$i(t,n,s/1852,e._getUIString(\"ScaleControl.NauticalMiles\")):s>=1e3?$i(t,n,s/1e3,e._getUIString(\"ScaleControl.Kilometers\")):$i(t,n,s,e._getUIString(\"ScaleControl.Meters\"))}function $i(e,t,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(\"\"+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(e){var t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(o))),l=s/r;e.style.width=t*l+\"px\",e.innerHTML=s+\"&nbsp;\"+n}Ki.prototype.getDefaultPosition=function(){return\"bottom-left\"},Ki.prototype._onMove=function(){Ji(this._map,this._container,this.options)},Ki.prototype.onAdd=function(e){return this._map=e,this._container=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",e.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},Ki.prototype.onRemove=function(){r.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Ki.prototype.setUnit=function(e){this.options.unit=e,Ji(this._map,this._container,this.options)};var Qi=function(t){this._fullscreen=!1,t&&t.container&&(t.container instanceof e.window.HTMLElement?this._container=t.container:e.warnOnce(\"Full screen control 'container' must be a DOM element.\")),e.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in e.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in e.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in e.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in e.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};Qi.prototype.onAdd=function(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",e.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},Qi.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,e.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Qi.prototype._checkFullscreenSupport=function(){return!!(e.window.document.fullscreenEnabled||e.window.document.mozFullScreenEnabled||e.window.document.msFullscreenEnabled||e.window.document.webkitFullscreenEnabled)},Qi.prototype._setupUI=function(){var t=this._fullscreenButton=r.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);r.create(\"span\",\"mapboxgl-ctrl-icon\",t).setAttribute(\"aria-hidden\",!0),t.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),e.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Qi.prototype._updateTitle=function(){var e=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",e),this._fullscreenButton.title=e},Qi.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},Qi.prototype._isFullscreen=function(){return this._fullscreen},Qi.prototype._changeIcon=function(){(e.window.document.fullscreenElement||e.window.document.mozFullScreenElement||e.window.document.webkitFullscreenElement||e.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},Qi.prototype._onClickFullscreen=function(){this._isFullscreen()?e.window.document.exitFullscreen?e.window.document.exitFullscreen():e.window.document.mozCancelFullScreen?e.window.document.mozCancelFullScreen():e.window.document.msExitFullscreen?e.window.document.msExitFullscreen():e.window.document.webkitCancelFullScreen&&e.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var ea={closeButton:!0,closeOnClick:!0,className:\"\",maxWidth:\"240px\"},ta=function(t){function n(r){t.call(this),this.options=e.extend(Object.create(ea),r),e.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n,n.prototype.addTo=function(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new e.Event(\"open\")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new e.Event(\"close\")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(t){return this._lngLat=e.LngLat.convert(t),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(t){return this.setDOMContent(e.window.document.createTextNode(t))},n.prototype.setHTML=function(t){var r,n=e.window.document.createDocumentFragment(),i=e.window.document.createElement(\"body\");for(i.innerHTML=t;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(e){return this.options.maxWidth=e,this._update(),this},n.prototype.setDOMContent=function(e){return this._createContent(),this._content.appendChild(e),this._update(),this},n.prototype.addClassName=function(e){this._container&&this._container.classList.add(e)},n.prototype.removeClassName=function(e){this._container&&this._container.classList.remove(e)},n.prototype.toggleClassName=function(e){if(this._container)return this._container.classList.toggle(e)},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=r.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"&#215;\",this._closeButton.addEventListener(\"click\",this._onClose))},n.prototype._onMouseUp=function(e){this._update(e.point)},n.prototype._onMouseMove=function(e){this._update(e.point)},n.prototype._onDrag=function(e){this._update(e.point)},n.prototype._update=function(e){var t=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=r.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach((function(e){return t._container.classList.add(e)})),this._trackPointer&&this._container.classList.add(\"mapboxgl-popup-track-pointer\")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=ji(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var i=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),a=this.options.anchor,o=ra(this.options.offset);if(!a){var s,l=this._container.offsetWidth,u=this._container.offsetHeight;s=i.y+o.bottom.y<u?[\"top\"]:i.y>this._map.transform.height-u?[\"bottom\"]:[],i.x<l/2?s.push(\"left\"):i.x>this._map.transform.width-l/2&&s.push(\"right\"),a=0===s.length?\"bottom\":s.join(\"-\")}var c=i.add(o[a]).round();r.setTransform(this._container,Ui[a]+\" translate(\"+c.x+\"px,\"+c.y+\"px)\"),Vi(this._container,a,\"popup\")}},n.prototype._onClose=function(){this.remove()},n}(e.Evented);function ra(t){if(t){if(\"number\"==typeof t){var r=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{center:new e.Point(0,0),top:new e.Point(0,t),\"top-left\":new e.Point(r,r),\"top-right\":new e.Point(-r,r),bottom:new e.Point(0,-t),\"bottom-left\":new e.Point(r,-r),\"bottom-right\":new e.Point(-r,-r),left:new e.Point(t,0),right:new e.Point(-t,0)}}if(t instanceof e.Point||Array.isArray(t)){var n=e.Point.convert(t);return{center:n,top:n,\"top-left\":n,\"top-right\":n,bottom:n,\"bottom-left\":n,\"bottom-right\":n,left:n,right:n}}return{center:e.Point.convert(t.center||[0,0]),top:e.Point.convert(t.top||[0,0]),\"top-left\":e.Point.convert(t[\"top-left\"]||[0,0]),\"top-right\":e.Point.convert(t[\"top-right\"]||[0,0]),bottom:e.Point.convert(t.bottom||[0,0]),\"bottom-left\":e.Point.convert(t[\"bottom-left\"]||[0,0]),\"bottom-right\":e.Point.convert(t[\"bottom-right\"]||[0,0]),left:e.Point.convert(t.left||[0,0]),right:e.Point.convert(t.right||[0,0])}}return ra(new e.Point(0,0))}var na={version:e.version,supported:t,setRTLTextPlugin:e.setRTLTextPlugin,getRTLTextPluginStatus:e.getRTLTextPluginStatus,Map:zi,NavigationControl:Bi,GeolocateControl:Zi,AttributionControl:Ai,ScaleControl:Ki,FullscreenControl:Qi,Popup:ta,Marker:qi,Style:Wt,LngLat:e.LngLat,LngLatBounds:e.LngLatBounds,Point:e.Point,MercatorCoordinate:e.MercatorCoordinate,Evented:e.Evented,config:e.config,prewarm:function(){je().acquire(Re)},clearPrewarmedResources:function(){var e=Be;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(Re),Be=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},get accessToken(){return e.config.ACCESS_TOKEN},set accessToken(t){e.config.ACCESS_TOKEN=t},get baseApiUrl(){return e.config.API_URL},set baseApiUrl(t){e.config.API_URL=t},get workerCount(){return Fe.workerCount},set workerCount(e){Fe.workerCount=e},get maxParallelImageRequests(){return e.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(t){e.config.MAX_PARALLEL_IMAGE_REQUESTS=t},clearStorage:function(t){e.clearTileCache(t)},workerUrl:\"\"};return na})),r}()},27084:function(e){\"use strict\";e.exports=Math.log2||function(e){return Math.log(e)*Math.LOG2E}},16825:function(e,t,r){\"use strict\";e.exports=function(e,t){t||(t=e,e=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(e){var t=!1;return\"altKey\"in e&&(t=t||e.altKey!==o.alt,o.alt=!!e.altKey),\"shiftKey\"in e&&(t=t||e.shiftKey!==o.shift,o.shift=!!e.shiftKey),\"ctrlKey\"in e&&(t=t||e.ctrlKey!==o.control,o.control=!!e.ctrlKey),\"metaKey\"in e&&(t=t||e.metaKey!==o.meta,o.meta=!!e.metaKey),t}function u(e,s){var u=n.x(s),c=n.y(s);\"buttons\"in s&&(e=0|s.buttons),(e!==r||u!==i||c!==a||l(s))&&(r=0|e,i=u||0,a=c||0,t&&t(r,i,a,o))}function c(e){u(0,e)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,t&&t(0,0,0,o))}function h(e){l(e)&&t&&t(r,i,a,o)}function p(e){0===n.buttons(e)?u(0,e):u(r,e)}function d(e){u(r|n.buttons(e),e)}function v(e){u(r&~n.buttons(e),e)}function g(){s||(s=!0,e.addEventListener(\"mousemove\",p),e.addEventListener(\"mousedown\",d),e.addEventListener(\"mouseup\",v),e.addEventListener(\"mouseleave\",c),e.addEventListener(\"mouseenter\",c),e.addEventListener(\"mouseout\",c),e.addEventListener(\"mouseover\",c),e.addEventListener(\"blur\",f),e.addEventListener(\"keyup\",h),e.addEventListener(\"keydown\",h),e.addEventListener(\"keypress\",h),e!==window&&(window.addEventListener(\"blur\",f),window.addEventListener(\"keyup\",h),window.addEventListener(\"keydown\",h),window.addEventListener(\"keypress\",h)))}g();var m={element:e};return Object.defineProperties(m,{enabled:{get:function(){return s},set:function(t){t?g():s&&(s=!1,e.removeEventListener(\"mousemove\",p),e.removeEventListener(\"mousedown\",d),e.removeEventListener(\"mouseup\",v),e.removeEventListener(\"mouseleave\",c),e.removeEventListener(\"mouseenter\",c),e.removeEventListener(\"mouseout\",c),e.removeEventListener(\"mouseover\",c),e.removeEventListener(\"blur\",f),e.removeEventListener(\"keyup\",h),e.removeEventListener(\"keydown\",h),e.removeEventListener(\"keypress\",h),e!==window&&(window.removeEventListener(\"blur\",f),window.removeEventListener(\"keyup\",h),window.removeEventListener(\"keydown\",h),window.removeEventListener(\"keypress\",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),m};var n=r(74311)},48956:function(e){var t={left:0,top:0};e.exports=function(e,r,n){r=r||e.currentTarget||e.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=e.clientX||0,o=e.clientY||0,s=(i=r)===window||i===document||i===document.body?t:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},74311:function(e,t){\"use strict\";function r(e){return e.target||e.srcElement||window}t.buttons=function(e){if(\"object\"==typeof e){if(\"buttons\"in e)return e.buttons;if(\"which\"in e){if(2===(t=e.which))return 4;if(3===t)return 2;if(t>0)return 1<<t-1}else if(\"button\"in e){var t;if(1===(t=e.button))return 4;if(2===t)return 2;if(t>=0)return 1<<t}}return 0},t.element=r,t.x=function(e){if(\"object\"==typeof e){if(\"offsetX\"in e)return e.offsetX;var t=r(e).getBoundingClientRect();return e.clientX-t.left}return 0},t.y=function(e){if(\"object\"==typeof e){if(\"offsetY\"in e)return e.offsetY;var t=r(e).getBoundingClientRect();return e.clientY-t.top}return 0}},1195:function(e,t,r){\"use strict\";var n=r(75686);e.exports=function(e,t,r){\"function\"==typeof e&&(r=!!t,t=e,e=window);var i=n(\"ex\",e),a=function(e){r&&e.preventDefault();var n=e.deltaX||0,a=e.deltaY||0,o=e.deltaZ||0,s=1;switch(e.deltaMode){case 1:s=i;break;case 2:s=window.innerHeight}if(a*=s,o*=s,(n*=s)||a||o)return t(n,a,o,e)};return e.addEventListener(\"wheel\",a),a}},7417:function(e,t,r){var n;!function(i,a,o){a[i]=a[i]||function(){\"use strict\";var e,t,r,n=Object.prototype.toString,i=\"undefined\"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},\"x\",{}),e=function(e,t,r,n){return Object.defineProperty(e,t,{value:r,writable:!0,configurable:!1!==n})}}catch(t){e=function(e,t,r){return e[t]=r,e}}function a(e,n){r.add(e,n),t||(t=i(r.drain))}function o(e){var t,r=typeof e;return null==e||\"object\"!=r&&\"function\"!=r||(t=e.then),\"function\"==typeof t&&t}function s(){for(var e=0;e<this.chain.length;e++)l(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function l(e,t,r){var n,i;try{!1===t?r.reject(e.msg):(n=!0===t?e.msg:t.call(void 0,e.msg))===r.promise?r.reject(TypeError(\"Promise-chain cycle\")):(i=o(n))?i.call(n,r.resolve,r.reject):r.resolve(n)}catch(e){r.reject(e)}}function u(e){var t,r=this;if(!r.triggered){r.triggered=!0,r.def&&(r=r.def);try{(t=o(e))?a((function(){var n=new h(r);try{t.call(e,(function(){u.apply(n,arguments)}),(function(){c.apply(n,arguments)}))}catch(e){c.call(n,e)}})):(r.msg=e,r.state=1,r.chain.length>0&&a(s,r))}catch(e){c.call(new h(r),e)}}}function c(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&a(s,t))}function f(e,t,r,n){for(var i=0;i<t.length;i++)!function(i){e.resolve(t[i]).then((function(e){r(i,e)}),n)}(i)}function h(e){this.def=e,this.triggered=!1}function p(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function d(e){if(\"function\"!=typeof e)throw TypeError(\"Not a function\");if(0!==this.__NPO__)throw TypeError(\"Not a promise\");this.__NPO__=1;var t=new p(this);this.then=function(e,r){var n={success:\"function\"!=typeof e||e,failure:\"function\"==typeof r&&r};return n.promise=new this.constructor((function(e,t){if(\"function\"!=typeof e||\"function\"!=typeof t)throw TypeError(\"Not a function\");n.resolve=e,n.reject=t})),t.chain.push(n),0!==t.state&&a(s,t),n.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,(function(e){u.call(t,e)}),(function(e){c.call(t,e)}))}catch(e){c.call(t,e)}}r=function(){var e,r,n;function i(e,t){this.fn=e,this.self=t,this.next=void 0}return{add:function(t,a){n=new i(t,a),r?r.next=n:e=n,r=n,n=void 0},drain:function(){var n=e;for(e=r=t=void 0;n;)n.fn.call(n.self),n=n.next}}}();var v=e({},\"constructor\",d,!1);return d.prototype=v,e(v,\"__NPO__\",0,!1),e(d,\"resolve\",(function(e){return e&&\"object\"==typeof e&&1===e.__NPO__?e:new this((function(t,r){if(\"function\"!=typeof t||\"function\"!=typeof r)throw TypeError(\"Not a function\");t(e)}))})),e(d,\"reject\",(function(e){return new this((function(t,r){if(\"function\"!=typeof t||\"function\"!=typeof r)throw TypeError(\"Not a function\");r(e)}))})),e(d,\"all\",(function(e){var t=this;return\"[object Array]\"!=n.call(e)?t.reject(TypeError(\"Not an array\")):0===e.length?t.resolve([]):new t((function(r,n){if(\"function\"!=typeof r||\"function\"!=typeof n)throw TypeError(\"Not a function\");var i=e.length,a=Array(i),o=0;f(t,e,(function(e,t){a[e]=t,++o===i&&r(a)}),n)}))})),e(d,\"race\",(function(e){var t=this;return\"[object Array]\"!=n.call(e)?t.reject(TypeError(\"Not an array\")):new t((function(r,n){if(\"function\"!=typeof r||\"function\"!=typeof n)throw TypeError(\"Not a function\");f(t,e,(function(e,t){r(t)}),n)}))})),d}(),e.exports?e.exports=a[i]:void 0===(n=function(){return a[i]}.call(t,r,t,e))||(e.exports=n)}(\"Promise\",void 0!==r.g?r.g:this)},18625:function(e){var t=Math.PI,r=s(120);function n(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function i(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function a(e,n,i,s,l,u,c,f,h,p){if(p)k=p[0],T=p[1],_=p[2],w=p[3];else{var d=o(e,n,-l);e=d.x,n=d.y;var v=(e-(f=(d=o(f,h,-l)).x))/2,g=(n-(h=d.y))/2,m=v*v/(i*i)+g*g/(s*s);m>1&&(i*=m=Math.sqrt(m),s*=m);var y=i*i,x=s*s,b=(u==c?-1:1)*Math.sqrt(Math.abs((y*x-y*g*g-x*v*v)/(y*g*g+x*v*v)));b==1/0&&(b=1);var _=b*i*g/s+(e+f)/2,w=b*-s*v/i+(n+h)/2,k=Math.asin(((n-w)/s).toFixed(9)),T=Math.asin(((h-w)/s).toFixed(9));(k=e<_?t-k:k)<0&&(k=2*t+k),(T=f<_?t-T:T)<0&&(T=2*t+T),c&&k>T&&(k-=2*t),!c&&T>k&&(T-=2*t)}if(Math.abs(T-k)>r){var M=T,A=f,S=h;T=k+r*(c&&T>k?1:-1);var E=a(f=_+i*Math.cos(T),h=w+s*Math.sin(T),i,s,l,0,c,A,S,[T,M,_,w])}var C=Math.tan((T-k)/4),L=4/3*i*C,P=4/3*s*C,O=[2*e-(e+L*Math.sin(k)),2*n-(n-P*Math.cos(k)),f+L*Math.sin(T),h-P*Math.cos(T),f,h];if(p)return O;E&&(O=O.concat(E));for(var I=0;I<O.length;){var D=o(O[I],O[I+1],l);O[I++]=D.x,O[I++]=D.y}return O}function o(e,t,r){return{x:e*Math.cos(r)-t*Math.sin(r),y:e*Math.sin(r)+t*Math.cos(r)}}function s(e){return e*(t/180)}e.exports=function(e){for(var t,r=[],o=0,l=0,u=0,c=0,f=null,h=null,p=0,d=0,v=0,g=e.length;v<g;v++){var m=e[v],y=m[0];switch(y){case\"M\":u=m[1],c=m[2];break;case\"A\":(m=a(p,d,m[1],m[2],s(m[3]),m[4],m[5],m[6],m[7])).unshift(\"C\"),m.length>7&&(r.push(m.splice(0,7)),m.unshift(\"C\"));break;case\"S\":var x=p,b=d;\"C\"!=t&&\"S\"!=t||(x+=x-o,b+=b-l),m=[\"C\",x,b,m[1],m[2],m[3],m[4]];break;case\"T\":\"Q\"==t||\"T\"==t?(f=2*p-f,h=2*d-h):(f=p,h=d),m=i(p,d,f,h,m[1],m[2]);break;case\"Q\":f=m[1],h=m[2],m=i(p,d,m[1],m[2],m[3],m[4]);break;case\"L\":m=n(p,d,m[1],m[2]);break;case\"H\":m=n(p,d,m[1],d);break;case\"V\":m=n(p,d,p,m[1]);break;case\"Z\":m=n(p,d,u,c)}t=y,p=m[m.length-2],d=m[m.length-1],m.length>4?(o=m[m.length-4],l=m[m.length-3]):(o=p,l=d),r.push(m)}return r}},56131:function(e){\"use strict\";var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(e){n[e]=e})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(e){return!1}}()?Object.assign:function(e,i){for(var a,o,s=function(e){if(null==e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}(e),l=1;l<arguments.length;l++){for(var u in a=Object(arguments[l]))r.call(a,u)&&(s[u]=a[u]);if(t){o=t(a);for(var c=0;c<o.length;c++)n.call(a,o[c])&&(s[o[c]]=a[o[c]])}}return s}},65848:function(e){\"use strict\";var t=function(e){return e!=e};e.exports=function(e,r){return 0===e&&0===r?1/e==1/r:e===r||!(!t(e)||!t(r))}},64003:function(e,t,r){\"use strict\";var n=r(17045),i=r(68222),a=r(65848),o=r(27015),s=r(55572),l=i(o(),Object);n(l,{getPolyfill:o,implementation:a,shim:s}),e.exports=l},27015:function(e,t,r){\"use strict\";var n=r(65848);e.exports=function(){return\"function\"==typeof Object.is?Object.is:n}},55572:function(e,t,r){\"use strict\";var n=r(27015),i=r(17045);e.exports=function(){var e=n();return i(Object,{is:e},{is:function(){return Object.is!==e}}),e}},99019:function(e,t,r){\"use strict\";var n;if(!Object.keys){var i=Object.prototype.hasOwnProperty,a=Object.prototype.toString,o=r(64178),s=Object.prototype.propertyIsEnumerable,l=!s.call({toString:null},\"toString\"),u=s.call((function(){}),\"prototype\"),c=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],f=function(e){var t=e.constructor;return t&&t.prototype===e},h={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},p=function(){if(\"undefined\"==typeof window)return!1;for(var e in window)try{if(!h[\"$\"+e]&&i.call(window,e)&&null!==window[e]&&\"object\"==typeof window[e])try{f(window[e])}catch(e){return!0}}catch(e){return!0}return!1}();n=function(e){var t=null!==e&&\"object\"==typeof e,r=\"[object Function]\"===a.call(e),n=o(e),s=t&&\"[object String]\"===a.call(e),h=[];if(!t&&!r&&!n)throw new TypeError(\"Object.keys called on a non-object\");var d=u&&r;if(s&&e.length>0&&!i.call(e,0))for(var v=0;v<e.length;++v)h.push(String(v));if(n&&e.length>0)for(var g=0;g<e.length;++g)h.push(String(g));else for(var m in e)d&&\"prototype\"===m||!i.call(e,m)||h.push(String(m));if(l)for(var y=function(e){if(\"undefined\"==typeof window||!p)return f(e);try{return f(e)}catch(e){return!1}}(e),x=0;x<c.length;++x)y&&\"constructor\"===c[x]||!i.call(e,c[x])||h.push(c[x]);return h}}e.exports=n},8709:function(e,t,r){\"use strict\";var n=Array.prototype.slice,i=r(64178),a=Object.keys,o=a?function(e){return a(e)}:r(99019),s=Object.keys;o.shim=function(){if(Object.keys){var e=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);e||(Object.keys=function(e){return i(e)?s(n.call(e)):s(e)})}else Object.keys=o;return Object.keys||o},e.exports=o},64178:function(e){\"use strict\";var t=Object.prototype.toString;e.exports=function(e){var r=t.call(e),n=\"[object Arguments]\"===r;return n||(n=\"[object Array]\"!==r&&null!==e&&\"object\"==typeof e&&\"number\"==typeof e.length&&e.length>=0&&\"[object Function]\"===t.call(e.callee)),n}},88641:function(e){\"use strict\";function t(e,t){if(\"string\"!=typeof e)return[e];var r=[e];\"string\"==typeof t||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:[\"{}\",\"[]\",\"()\"],i=t.escape||\"___\",a=!!t.flat;n.forEach((function(e){var t=new RegExp([\"\\\\\",e[0],\"[^\\\\\",e[0],\"\\\\\",e[1],\"]*\\\\\",e[1]].join(\"\")),n=[];function a(t,a,o){var s=r.push(t.slice(e[0].length,-e[1].length))-1;return n.push(s),i+s+i}r.forEach((function(e,n){for(var i,o=0;e!=i;)if(i=e,e=e.replace(t,a),o++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[n]=e})),n=n.reverse(),r=r.map((function(t){return n.forEach((function(r){t=t.replace(new RegExp(\"(\\\\\"+i+r+\"\\\\\"+i+\")\",\"g\"),e[0]+\"$1\"+e[1])})),t}))}));var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);return a?r:function e(t,r,n){for(var i,a=[],s=0;i=o.exec(t);){if(s++>1e4)throw Error(\"Circular references in parenthesis\");a.push(t.slice(0,i.index)),a.push(e(r[i[1]],r)),t=t.slice(i.index+i[0].length)}return a.push(t),a}(r[0],r)}function r(e,t){if(t&&t.flat){var r,n=t&&t.escape||\"___\",i=e[0];if(!i)return\"\";for(var a=new RegExp(\"\\\\\"+n+\"([0-9]+)\\\\\"+n),o=0;i!=r;){if(o++>1e4)throw Error(\"Circular references in \"+e);r=i,i=i.replace(a,s)}return i}return e.reduce((function e(t,r){return Array.isArray(r)&&(r=r.reduce(e,\"\")),t+r}),\"\");function s(t,r){if(null==e[r])throw Error(\"Reference \"+r+\"is undefined\");return e[r]}}function n(e,n){return Array.isArray(e)?r(e,n):t(e,n)}n.parse=t,n.stringify=r,e.exports=n},18863:function(e,t,r){\"use strict\";var n=r(71299);e.exports=function(e){var t;return arguments.length>1&&(e=arguments),\"string\"==typeof e?e=e.split(/\\s/).map(parseFloat):\"number\"==typeof e&&(e=[e]),e.length&&\"number\"==typeof e[0]?t=1===e.length?{width:e[0],height:e[0],x:0,y:0}:2===e.length?{width:e[0],height:e[1],x:0,y:0}:{x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(t={x:(e=n(e,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"})).left||0,y:e.top||0},null==e.width?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,null==e.height?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}},95616:function(e){e.exports=function(e){var i=[];return e.replace(r,(function(e,r,a){var o=r.toLowerCase();for(a=function(e){var t=e.match(n);return t?t.map(Number):[]}(a),\"m\"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o=\"l\",r=\"m\"==r?\"l\":\"L\");;){if(a.length==t[o])return a.unshift(r),i.push(a);if(a.length<t[o])throw new Error(\"malformed path data\");i.push([r].concat(a.splice(0,t[o])))}})),i};var t={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},r=/([astvzqmhlc])([^astvzqmhlc]*)/gi,n=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/gi},25677:function(e){e.exports=function(e,t){t||(t=[0,\"\"]),e=String(e);var r=parseFloat(e,10);return t[0]=r,t[1]=e.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",t}},9748:function(e,t,r){var n=r(90386);(function(){var t,r,i,a,o,s;\"undefined\"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:null!=n&&n.hrtime?(e.exports=function(){return(t()-o)/1e6},r=n.hrtime,a=(t=function(){var e;return 1e9*(e=r())[0]+e[1]})(),s=1e9*n.uptime(),o=a-s):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)},71299:function(e){\"use strict\";e.exports=function(e,t,n){var i,a,o={};if(\"string\"==typeof t&&(t=r(t)),Array.isArray(t)){var s={};for(a=0;a<t.length;a++)s[t[a]]=!0;t=s}for(i in t)t[i]=r(t[i]);var l={};for(i in t){var u=t[i];if(Array.isArray(u))for(a=0;a<u.length;a++){var c=u[a];if(n&&(l[c]=!0),c in e){if(o[i]=e[c],n)for(var f=a;f<u.length;f++)l[u[f]]=!0;break}}else i in e&&(t[i]&&(o[i]=e[i]),n&&(l[i]=!0))}if(n)for(i in e)l[i]||(o[i]=e[i]);return o};var t={};function r(e){return t[e]?t[e]:(\"string\"==typeof e&&(e=t[e]=e.split(/\\s*,\\s*|\\s+/)),e)}},38258:function(e){e.exports=function(e,t,r,n){var i=e[0],a=e[1],o=!1;void 0===r&&(r=0),void 0===n&&(n=t.length);for(var s=n-r,l=0,u=s-1;l<s;u=l++){var c=t[l+r][0],f=t[l+r][1],h=t[u+r][0],p=t[u+r][1];f>a!=p>a&&i<(h-c)*(a-f)/(p-f)+c&&(o=!o)}return o}},52142:function(e,t,r){var n,i=r(69444),a=r(29023),o=r(87263),s=r(11328),l=r(55968),u=r(10670),c=!1,f=a();function h(e,t,r){var i=n.segments(e),a=n.segments(t),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(e){return!0===e?c=i():!1===e&&(c=!1),!1!==c&&c.list},epsilon:function(e){return f.epsilon(e)},segments:function(e){var t=o(!0,f,c);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){return{combined:o(!1,f,c).calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:l.union(e.combined,c),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:l.intersect(e.combined,c),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:l.difference(e.combined,c),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:l.differenceRev(e.combined,c),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:l.xor(e.combined,c),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:s(e.segments,f,c),inverted:e.inverted}},polygonFromGeoJSON:function(e){return u.toPolygon(n,e)},polygonToGeoJSON:function(e){return u.fromPolygon(n,f,e)},union:function(e,t){return h(e,t,n.selectUnion)},intersect:function(e,t){return h(e,t,n.selectIntersect)},difference:function(e,t){return h(e,t,n.selectDifference)},differenceRev:function(e,t){return h(e,t,n.selectDifferenceRev)},xor:function(e,t){return h(e,t,n.selectXor)}},\"object\"==typeof window&&(window.PolyBool=n),e.exports=n},69444:function(e){e.exports=function(){var e,t=0,r=!1;function n(t,r){return e.list.push({type:t,data:r?JSON.parse(JSON.stringify(r)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(e,t){return n(\"check\",{seg1:e,seg2:t})},segmentChop:function(e,t){return n(\"div_seg\",{seg:e,pt:t}),n(\"chop\",{seg:e,pt:t})},statusRemove:function(e){return n(\"pop_seg\",{seg:e})},segmentUpdate:function(e){return n(\"seg_update\",{seg:e})},segmentNew:function(e,t){return n(\"new_seg\",{seg:e,primary:t})},segmentRemove:function(e){return n(\"rem_seg\",{seg:e})},tempStatus:function(e,t,r){return n(\"temp_status\",{seg:e,above:t,below:r})},rewind:function(e){return n(\"rewind\",{seg:e})},status:function(e,t,r){return n(\"status\",{seg:e,above:t,below:r})},vert:function(t){return t===r?e:(r=t,n(\"vert\",{x:t}))},log:function(e){return\"string\"!=typeof e&&(e=JSON.stringify(e,!1,\"  \")),n(\"log\",{txt:e})},reset:function(){return n(\"reset\")},selected:function(e){return n(\"selected\",{segs:e})},chainStart:function(e){return n(\"chain_start\",{seg:e})},chainRemoveHead:function(e,t){return n(\"chain_rem_head\",{index:e,pt:t})},chainRemoveTail:function(e,t){return n(\"chain_rem_tail\",{index:e,pt:t})},chainNew:function(e,t){return n(\"chain_new\",{pt1:e,pt2:t})},chainMatch:function(e){return n(\"chain_match\",{index:e})},chainClose:function(e){return n(\"chain_close\",{index:e})},chainAddHead:function(e,t){return n(\"chain_add_head\",{index:e,pt:t})},chainAddTail:function(e,t){return n(\"chain_add_tail\",{index:e,pt:t})},chainConnect:function(e,t){return n(\"chain_con\",{index1:e,index2:t})},chainReverse:function(e){return n(\"chain_rev\",{index:e})},chainJoin:function(e,t){return n(\"chain_join\",{index1:e,index2:t})},done:function(){return n(\"done\")}}}},29023:function(e){e.exports=function(e){\"number\"!=typeof e&&(e=1e-10);var t={epsilon:function(t){return\"number\"==typeof t&&(e=t),e},pointAboveOrOnLine:function(t,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=t[0];return(o-i)*(t[1]-a)-(s-a)*(l-i)>=-e},pointBetween:function(t,r,n){var i=t[1]-r[1],a=n[0]-r[0],o=t[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<e||l-(a*a+s*s)>-e)},pointsSameX:function(t,r){return Math.abs(t[0]-r[0])<e},pointsSameY:function(t,r){return Math.abs(t[1]-r[1])<e},pointsSame:function(e,r){return t.pointsSameX(e,r)&&t.pointsSameY(e,r)},pointsCompare:function(e,r){return t.pointsSameX(e,r)?t.pointsSameY(e,r)?0:e[1]<r[1]?-1:1:e[0]<r[0]?-1:1},pointsCollinear:function(t,r,n){var i=t[0]-r[0],a=t[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<e},linesIntersect:function(t,r,n,i){var a=r[0]-t[0],o=r[1]-t[1],s=i[0]-n[0],l=i[1]-n[1],u=a*l-o*s;if(Math.abs(u)<e)return!1;var c=t[0]-n[0],f=t[1]-n[1],h=(s*f-l*c)/u,p=(a*f-o*c)/u,d={alongA:0,alongB:0,pt:[t[0]+h*a,t[1]+h*o]};return d.alongA=h<=-e?-2:h<e?-1:h-1<=-e?0:h-1<e?1:2,d.alongB=p<=-e?-2:p<e?-1:p-1<=-e?0:p-1<e?1:2,d},pointInsideRegion:function(t,r){for(var n=t[0],i=t[1],a=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var u=r[l][0],c=r[l][1];c-i>e!=o-i>e&&(a-u)*(i-c)/(o-c)+u-n>e&&(s=!s),a=u,o=c}return s}};return t}},10670:function(e){var t={toPolygon:function(e,t){function r(t){if(t.length<=0)return e.segments({inverted:!1,regions:[]});function r(t){var r=t.slice(0,t.length-1);return e.segments({inverted:!1,regions:[r]})}for(var n=r(t[0]),i=1;i<t.length;i++)n=e.selectDifference(e.combine(n,r(t[i])));return n}if(\"Polygon\"===t.type)return e.polygon(r(t.coordinates));if(\"MultiPolygon\"===t.type){for(var n=e.segments({inverted:!1,regions:[]}),i=0;i<t.coordinates.length;i++)n=e.selectUnion(e.combine(n,r(t.coordinates[i])));return e.polygon(n)}throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\")},fromPolygon:function(e,t,r){function n(e,r){return t.pointInsideRegion([.5*(e[0][0]+e[1][0]),.5*(e[0][1]+e[1][1])],r)}function i(e){return{region:e,children:[]}}r=e.polygon(e.segments(r));var a=i(null);function o(e,t){for(var r=0;r<e.children.length;r++)if(n(t,(s=e.children[r]).region))return void o(s,t);var a=i(t);for(r=0;r<e.children.length;r++){var s;n((s=e.children[r]).region,t)&&(a.children.push(s),e.children.splice(r,1),r--)}e.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function u(e,t){for(var r=0,n=e[e.length-1][0],i=e[e.length-1][1],a=[],o=0;o<e.length;o++){var s=e[o][0],l=e[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==t&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var c=[];function f(e){var t=[u(e.region,!1)];c.push(t);for(var r=0;r<e.children.length;r++)t.push(h(e.children[r]))}function h(e){for(var t=0;t<e.children.length;t++)f(e.children[t]);return u(e.region,!0)}for(s=0;s<a.children.length;s++)f(a.children[s]);return c.length<=0?{type:\"Polygon\",coordinates:[]}:1==c.length?{type:\"Polygon\",coordinates:c[0]}:{type:\"MultiPolygon\",coordinates:c}}};e.exports=t},87263:function(e,t,r){var n=r(26859);e.exports=function(e,t,r){function i(e,t,n){return{id:r?r.segmentId():-1,start:e,end:t,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var a=n.create();function o(e,r){a.insertBefore(e,(function(n){return i=e.isStart,a=e.pt,o=r,s=n.isStart,l=n.pt,u=n.other.pt,(0!==(c=t.pointsCompare(a,l))?c:t.pointsSame(o,u)?0:i!==s?i?1:-1:t.pointAboveOrOnLine(o,s?l:u,s?u:l)?1:-1)<0;var i,a,o,s,l,u,c}))}function s(e,t){var r=function(e,t){var r=n.node({isStart:!0,pt:e.start,seg:e,primary:t,other:null,status:null});return o(r,e.end),r}(e,t);return function(e,t,r){var i=n.node({isStart:!1,pt:t.end,seg:t,primary:r,other:e,status:null});e.other=i,o(i,e.pt)}(r,e,t),r}function l(e,t){var n=i(t,e.seg.end,e.seg);return function(e,t){r&&r.segmentChop(e.seg,t),e.other.remove(),e.seg.end=t,e.other.pt=t,o(e.other,e.pt)}(e,t),s(n,e.primary)}function u(i,o){var s=n.create();function u(e){return s.findTransition((function(r){var n,i,a,o,s,l;return n=e,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,(t.pointsCollinear(a,s,l)?t.pointsCollinear(o,s,l)||t.pointAboveOrOnLine(o,s,l)?1:-1:t.pointAboveOrOnLine(a,s,l)?1:-1)>0}))}function c(e,n){var i=e.seg,a=n.seg,o=i.start,s=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var f=t.linesIntersect(o,s,u,c);if(!1===f){if(!t.pointsCollinear(o,s,u))return!1;if(t.pointsSame(o,c)||t.pointsSame(s,u))return!1;var h=t.pointsSame(o,u),p=t.pointsSame(s,c);if(h&&p)return n;var d=!h&&t.pointBetween(o,u,c),v=!p&&t.pointBetween(s,u,c);if(h)return v?l(n,s):l(e,c),n;d&&(p||(v?l(n,s):l(e,c)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(e,u):0===f.alongB?l(e,f.pt):1===f.alongB&&l(e,c)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=u(h),d=p.before?p.before.ev:null,v=p.after?p.after.ev:null;function g(){if(d){var e=c(h,d);if(e)return e}return!!v&&c(h,v)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!v&&v.seg);var m,y,x=g();if(x&&(e?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove()),a.getHead()!==h){r&&r.rewind(h.seg);continue}e?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=v?v.seg.myFill.above:i,h.seg.myFill.above=y?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(m=v?h.primary===v.primary?v.seg.otherFill.above:v.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:m,below:m}),r&&r.status(h.seg,!!d&&d.seg,!!v&&v.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(s.exists(b.prev)&&s.exists(b.next)&&c(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return e?{addRegion:function(e){for(var n,i,a,o=e[e.length-1],l=0;l<e.length;l++){n=o,o=e[l];var u=t.pointsCompare(n,o);0!==u&&s((i=u<0?n:o,a=u<0?o:n,{id:r?r.segmentId():-1,start:i,end:a,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(e){return u(e,!1)}}:{calculate:function(e,t,r,n){return e.forEach((function(e){s(i(e.start,e.end,e),!0)})),r.forEach((function(e){s(i(e.start,e.end,e),!1)})),u(t,n)}}}},26859:function(e){e.exports={create:function(){var e={root:{root:!0,next:null},exists:function(t){return null!==t&&t!==e.root},isEmpty:function(){return null===e.root.next},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;null!==i;){if(r(i))return t.prev=i.prev,t.next=i,i.prev.next=t,void(i.prev=t);n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;null!==n&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(e){return e.prev=r,e.next=n,r.next=e,null!==n&&(n.prev=e),e}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}}},11328:function(e){e.exports=function(e,t,r){var n=[],i=[];return e.forEach((function(e){var a=e.start,o=e.end;if(t.pointsSame(a,o))console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");else{r&&r.chainStart(e);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},u=s,c=0;c<n.length;c++){var f=(g=n[c])[0],h=(g[1],g[g.length-1]);if(g[g.length-2],t.pointsSame(f,a)){if(T(c,!0,!0))break}else if(t.pointsSame(f,o)){if(T(c,!0,!1))break}else if(t.pointsSame(h,a)){if(T(c,!1,!0))break}else if(t.pointsSame(h,o)&&T(c,!1,!1))break}if(u===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(u===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,v=s.matches_head,g=n[p],m=v?g[0]:g[g.length-1],y=v?g[1]:g[g.length-2],x=v?g[g.length-1]:g[0],b=v?g[g.length-2]:g[1];return t.pointsCollinear(y,m,d)&&(v?(r&&r.chainRemoveHead(s.index,d),g.shift()):(r&&r.chainRemoveTail(s.index,d),g.pop()),m=y),t.pointsSame(x,d)?(n.splice(p,1),t.pointsCollinear(b,x,m)&&(v?(r&&r.chainRemoveTail(s.index,m),g.pop()):(r&&r.chainRemoveHead(s.index,m),g.shift())),r&&r.chainClose(s.index),void i.push(g)):void(v?(r&&r.chainAddHead(s.index,d),g.unshift(d)):(r&&r.chainAddTail(s.index,d),g.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var k=n[_].length<n[w].length;s.matches_head?l.matches_head?k?(M(_),A(_,w)):(M(w),A(w,_)):A(w,_):l.matches_head?A(_,w):k?(M(_),A(w,_)):(M(w),A(_,w))}function T(e,t,r){return u.index=e,u.matches_head=t,u.matches_pt1=r,u===s?(u=l,!1):(u=null,!0)}function M(e){r&&r.chainReverse(e),n[e].reverse()}function A(e,i){var a=n[e],o=n[i],s=a[a.length-1],l=a[a.length-2],u=o[0],c=o[1];t.pointsCollinear(l,s,u)&&(r&&r.chainRemoveTail(e,s),a.pop(),s=l),t.pointsCollinear(s,u,c)&&(r&&r.chainRemoveHead(i,u),o.shift()),r&&r.chainJoin(e,i),n[e]=a.concat(o),n.splice(i,1)}})),i}},55968:function(e){function t(e,t,r){var n=[];return e.forEach((function(e){var i=(e.myFill.above?8:0)+(e.myFill.below?4:0)+(e.otherFill&&e.otherFill.above?2:0)+(e.otherFill&&e.otherFill.below?1:0);0!==t[i]&&n.push({id:r?r.segmentId():-1,start:e.start,end:e.end,myFill:{above:1===t[i],below:2===t[i]},otherFill:null})})),r&&r.selected(n),n}var r={union:function(e,r){return t(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],r)},intersect:function(e,r){return t(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],r)},difference:function(e,r){return t(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],r)},differenceRev:function(e,r){return t(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],r)},xor:function(e,r){return t(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],r)}};e.exports=r},14847:function(e,t,r){\"use strict\";var n=r(21630).Transform,i=r(90715);function a(){n.call(this,{readableObjectMode:!0})}function o(e,t,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||\"\",this.name=this.constructor.name,this.message=e,t&&(this.code=t),r&&(this.statusCode=r)}a.prototype=Object.create(n.prototype),a.prototype.constructor=a,i(a.prototype),t.OF=function(e,t,r){for(var n=t,i=0;i<r.length;)if(e[n++]!==r[i++])return!1;return!0},t.eG=function(e,t){var r=[],n=0;if(t&&\"hex\"===t)for(;n<e.length;)r.push(parseInt(e.slice(n,n+2),16)),n+=2;else for(;n<e.length;n++)r.push(255&e.charCodeAt(n));return r},t.mP=function(e,t){return e[t]|e[t+1]<<8},t.n8=function(e,t){return e[t+1]|e[t]<<8},t.nm=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|16777216*e[t+3]},t.Ag=function(e,t){return e[t+3]|e[t+2]<<8|e[t+1]<<16|16777216*e[t]},o.prototype=Object.create(Error.prototype),o.prototype.constructor=o},71371:function(e){\"use strict\";function t(e,t){var r=new Error(e);return r.code=t,r}function r(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function n(e,r,n){this.input=e.subarray(r,n),this.start=r;var i=String.fromCharCode.apply(null,this.input.subarray(0,4));if(\"II*\\0\"!==i&&\"MM\\0*\"!==i)throw t(\"invalid TIFF signature\",\"EBADDATA\");this.big_endian=\"M\"===i[0]}n.prototype.each=function(e){this.aborted=!1;var t=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:t}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}},n.prototype.read_uint16=function(e){var r=this.input;if(e+2>r.length)throw t(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?256*r[e]+r[e+1]:r[e]+256*r[e+1]},n.prototype.read_uint32=function(e){var r=this.input;if(e+4>r.length)throw t(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?16777216*r[e]+65536*r[e+1]+256*r[e+2]+r[e+3]:r[e]+256*r[e+1]+65536*r[e+2]+16777216*r[e+3]},n.prototype.is_subifd_link=function(e,t){return 0===e&&34665===t||0===e&&34853===t||34665===e&&40965===t},n.prototype.exif_format_length=function(e){switch(e){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return this.input[t];case 6:return(r=this.input[t])|33554430*(128&r);case 3:return this.read_uint16(t);case 8:return(r=this.read_uint16(t))|131070*(32768&r);case 4:return this.read_uint32(t);case 9:return 0|this.read_uint32(t);default:return null}},n.prototype.scan_ifd=function(e,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;o<a;o++){var s=this.read_uint16(n),l=this.read_uint16(n+2),u=this.read_uint32(n+4),c=this.exif_format_length(l),f=u*c,h=f<=4?n+8:this.read_uint32(n+8),p=!1;if(h+f>this.input.length)throw t(\"unexpected EOF\",\"EBADDATA\");for(var d=[],v=h,g=0;g<u;g++,v+=c){var m=this.exif_format_read(l,v);if(null===m){d=null;break}d.push(m)}if(Array.isArray(d)&&2===l&&(d=r(String.fromCharCode.apply(null,d)))&&\"\\0\"===d[d.length-1]&&(d=d.slice(0,-1)),this.is_subifd_link(e,s)&&Array.isArray(d)&&Number.isInteger(d[0])&&d[0]>0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:e,tag:s,format:l,count:u,entry_offset:n+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===e&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},e.exports.ExifParser=n,e.exports.get_orientation=function(e){var t=0;try{return new n(e,0,e.length).each((function(e){if(0===e.ifd&&274===e.tag&&Array.isArray(e.value))return t=e.value[0],!1})),t}catch(e){return-1}}},76767:function(e,t,r){\"use strict\";var n=r(14847).n8,i=r(14847).Ag;function a(e,t){if(e.length<4+t)return null;var r=i(e,t);return e.length<r+t||r<8?null:{boxtype:String.fromCharCode.apply(null,e.slice(t+4,t+8)),data:e.slice(t+8,t+r),end:t+r}}function o(e,t){for(var r=0;;){var n=a(e,r);if(!n)break;switch(n.boxtype){case\"ispe\":t.sizes.push({width:i(n.data,4),height:i(n.data,8)});break;case\"irot\":t.transforms.push({type:\"irot\",value:3&n.data[0]});break;case\"imir\":t.transforms.push({type:\"imir\",value:1&n.data[0]})}r=n.end}}function s(e,t,r){for(var n=0,i=0;i<r;i++)n=256*n+(e[t+i]||0);return n}function l(e,t){for(var r=e[4]>>4&15,i=15&e[4],a=e[5]>>4&15,o=n(e,6),l=8,u=0;u<o;u++){var c=n(e,l),f=n(e,l+=2),h=s(e,l+=2,a),p=n(e,l+=a);if(l+=2,0===f&&1===p){var d=s(e,l,r),v=s(e,l+r,i);t.item_loc[c]={length:v,offset:d+h}}l+=p*(r+i)}}function u(e,t){for(var r=n(e,4),i=6,o=0;o<r;o++){var s=a(e,i);if(!s)break;if(\"infe\"===s.boxtype){for(var l=n(s.data,4),u=\"\",c=8;c<s.data.length&&s.data[c];c++)u+=String.fromCharCode(s.data[c]);t.item_inf[u]=l}i=s.end}}function c(e,t){for(var r=0;;){var n=a(e,r);if(!n)break;\"ipco\"===n.boxtype&&o(n.data,t),r=n.end}}e.exports.unbox=a,e.exports.readSizeFromMeta=function(e){var t={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(function(e,t){for(var r=4;;){var n=a(e,r);if(!n)break;\"iprp\"===n.boxtype&&c(n.data,t),\"iloc\"===n.boxtype&&l(n.data,t),\"iinf\"===n.boxtype&&u(n.data,t),r=n.end}}(e,t),t.sizes.length){var r,n,i,o=(n=(r=t.sizes).reduce((function(e,t){return e.width>t.width||e.width===t.width&&e.height>t.height?e:t})),i=r.reduce((function(e,t){return e.height>t.height||e.height===t.height&&e.width>t.width?e:t})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;t.transforms.forEach((function(e){var t={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(\"imir\"===e.type&&(s=0===e.value?r[s]:t[s=t[s=r[s]]]),\"irot\"===e.type)for(var n=0;n<e.value;n++)s=t[s]}));var f=null;return t.item_inf.Exif&&(f=t.item_loc[t.item_inf.Exif]),{width:o.width,height:o.height,orientation:t.transforms.length?s:null,variants:t.sizes,exif_location:f}}},e.exports.getMimeType=function(e){var t=String.fromCharCode.apply(null,e.slice(0,4)),r={};r[t]=!0;for(var n=8;n<e.length;n+=4)r[String.fromCharCode.apply(null,e.slice(n,n+4))]=!0;if(r.mif1||r.msf1||r.miaf)return\"avif\"===t||\"avis\"===t||\"avio\"===t?{type:\"avif\",mime:\"image/avif\"}:\"heic\"===t||\"heix\"===t?{type:\"heic\",mime:\"image/heic\"}:\"hevc\"===t||\"hevx\"===t?{type:\"heic\",mime:\"image/heic-sequence\"}:r.avif||r.avis?{type:\"avif\",mime:\"image/avif\"}:r.heic||r.heix||r.hevc||r.hevx||r.heis?r.msf1?{type:\"heif\",mime:\"image/heif-sequence\"}:{type:\"heif\",mime:\"image/heif\"}:{type:\"avif\",mime:\"image/avif\"}}},24461:function(e,t,r){\"use strict\";var n=r(14847).eG,i=r(14847).OF,a=r(14847).Ag,o=r(76767),s=r(71371),l=n(\"ftyp\");e.exports=function(e){if(i(e,4,l)){var t=o.unbox(e,0);if(t){var r=o.getMimeType(t.data);if(r){for(var n,u=t.end;;){var c=o.unbox(e,u);if(!c)break;if(u=c.end,\"mdat\"===c.boxtype)return;if(\"meta\"===c.boxtype){n=c.data;break}}if(n){var f=o.readSizeFromMeta(n);if(f){var h={width:f.width,height:f.height,type:r.type,mime:r.mime,wUnits:\"px\",hUnits:\"px\"};if(f.variants.length>1&&(h.variants=f.variants),f.orientation&&(h.orientation=f.orientation),f.exif_location&&f.exif_location.offset+f.exif_location.length<=e.length){var p=a(e,f.exif_location.offset),d=e.slice(f.exif_location.offset+p+4,f.exif_location.offset+f.exif_location.length),v=s.get_orientation(d);v>0&&(h.orientation=v)}return h}}}}}}},2504:function(e,t,r){\"use strict\";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=n(\"BM\");e.exports=function(e){if(!(e.length<26)&&i(e,0,o))return{width:a(e,18),height:a(e,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}},47342:function(e,t,r){\"use strict\";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=n(\"GIF87a\"),s=n(\"GIF89a\");e.exports=function(e){if(!(e.length<10)&&(i(e,0,o)||i(e,0,s)))return{width:a(e,6),height:a(e,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}},31355:function(e,t,r){\"use strict\";var n=r(14847).mP;e.exports=function(e){var t=n(e,0),r=n(e,2),i=n(e,4);if(0===t&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;s<i;s++){var l=e[6+16*s]||256,u=e[6+16*s+1]||256,c={width:l,height:u};a.push(c),(l>o.width||u>o.height)&&(o=c)}return{width:o.width,height:o.height,variants:a,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}},54261:function(e,t,r){\"use strict\";var n=r(14847).n8,i=r(14847).eG,a=r(14847).OF,o=r(71371),s=i(\"Exif\\0\\0\");e.exports=function(e){if(!(e.length<2)&&255===e[0]&&216===e[1]&&255===e[2])for(var t=2;;){for(;;){if(e.length-t<2)return;if(255===e[t++])break}for(var r,i,l=e[t++];255===l;)l=e[t++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(e.length-t<2)return;r=n(e,t)-2,t+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(e,t,s)&&(i=o.get_orientation(e.slice(t+6,t+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(e.length-t<r)return;var u={width:n(e,t+3),height:n(e,t+1),type:\"jpg\",mime:\"image/jpeg\",wUnits:\"px\",hUnits:\"px\"};return i>0&&(u.orientation=i),u}t+=r}}},6303:function(e,t,r){\"use strict\";var n=r(14847).eG,i=r(14847).OF,a=r(14847).Ag,o=n(\"PNG\\r\\n\u001a\\n\"),s=n(\"IHDR\");e.exports=function(e){if(!(e.length<24)&&i(e,0,o)&&i(e,12,s))return{width:a(e,16),height:a(e,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}},38689:function(e,t,r){\"use strict\";var n=r(14847).eG,i=r(14847).OF,a=r(14847).Ag,o=n(\"8BPS\\0\u0001\");e.exports=function(e){if(!(e.length<22)&&i(e,0,o))return{width:a(e,18),height:a(e,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}},6881:function(e){\"use strict\";function t(e){return\"number\"==typeof e&&isFinite(e)&&e>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,i=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,a=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,o=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(e){return s.test(e)?e.match(s)[0]:\"px\"}e.exports=function(e){if(function(e){var t,r=0,n=e.length;for(239===e[0]&&187===e[1]&&191===e[2]&&(r=3);r<n&&(32===(t=e[r])||9===t||13===t||10===t);)r++;return r!==n&&60===e[r]}(e)){for(var s=\"\",u=0;u<e.length;u++)s+=String.fromCharCode(e[u]);var c=(s.match(r)||[\"\"])[0];if(n.test(c)){var f=function(e){var t=e.match(i),r=e.match(a),n=e.match(o);return{width:t&&(t[1]||t[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}(c),h=parseFloat(f.width),p=parseFloat(f.height);if(f.width&&f.height){if(!t(h)||!t(p))return;return{width:h,height:p,type:\"svg\",mime:\"image/svg+xml\",wUnits:l(f.width),hUnits:l(f.height)}}var d=(f.viewbox||\"\").split(\" \"),v={width:d[2],height:d[3]},g=parseFloat(v.width),m=parseFloat(v.height);if(t(g)&&t(m)&&l(v.width)===l(v.height)){var y=g/m;if(f.width){if(!t(h))return;return{width:h,height:h/y,type:\"svg\",mime:\"image/svg+xml\",wUnits:l(f.width),hUnits:l(f.width)}}if(f.height){if(!t(p))return;return{width:p*y,height:p,type:\"svg\",mime:\"image/svg+xml\",wUnits:l(f.height),hUnits:l(f.height)}}return{width:g,height:m,type:\"svg\",mime:\"image/svg+xml\",wUnits:l(v.width),hUnits:l(v.height)}}}}}},66278:function(e,t,r){\"use strict\";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=r(14847).n8,s=r(14847).nm,l=r(14847).Ag,u=n(\"II*\\0\"),c=n(\"MM\\0*\");function f(e,t,r){return r?o(e,t):a(e,t)}function h(e,t,r){return r?l(e,t):s(e,t)}function p(e,t,r){var n=f(e,t+2,r);return 1!==h(e,t+4,r)||3!==n&&4!==n?null:3===n?f(e,t+8,r):h(e,t+8,r)}e.exports=function(e){if(!(e.length<8)&&(i(e,0,u)||i(e,0,c))){var t=77===e[0],r=h(e,4,t)-8;if(!(r<0)){var n=r+8;if(!(e.length-n<2)){var a=12*f(e,n+0,t);if(!(a<=0||(n+=2,e.length-n<a))){var o,s,l,d;for(o=0;o<a;o+=12)256===(d=f(e,n+o,t))?s=p(e,n+o,t):257===d&&(l=p(e,n+o,t));return s&&l?{width:s,height:l,type:\"tiff\",mime:\"image/tiff\",wUnits:\"px\",hUnits:\"px\"}:void 0}}}}}},90784:function(e,t,r){\"use strict\";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=r(14847).nm,s=r(71371),l=n(\"RIFF\"),u=n(\"WEBP\");function c(e,t){if(157===e[t+3]&&1===e[t+4]&&42===e[t+5])return{width:16383&a(e,t+6),height:16383&a(e,t+8),type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}function f(e,t){if(47===e[t]){var r=o(e,t+1);return{width:1+(16383&r),height:1+(r>>14&16383),type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function h(e,t){return{width:1+(e[t+6]<<16|e[t+5]<<8|e[t+4]),height:1+(e[t+9]<<t|e[t+8]<<8|e[t+7]),type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}e.exports=function(e){if(!(e.length<16)&&(i(e,0,l)||i(e,8,u))){var t=12,r=null,n=0,a=o(e,4)+8;if(!(a>e.length)){for(;t+8<a;)if(0!==e[t]){var p=String.fromCharCode.apply(null,e.slice(t,t+4)),d=o(e,t+4);\"VP8 \"===p&&d>=10?r=r||c(e,t+8):\"VP8L\"===p&&d>=9?r=r||f(e,t+8):\"VP8X\"===p&&d>=10?r=r||h(e,t+8):\"EXIF\"===p&&(n=s.get_orientation(e.slice(t+8,t+8+d)),t=1/0),t+=8+d}else t++;if(r)return n>0&&(r.orientation=n),r}}}},91497:function(e,t,r){\"use strict\";e.exports={avif:r(24461),bmp:r(2504),gif:r(47342),ico:r(31355),jpeg:r(54261),png:r(6303),psd:r(38689),svg:r(6881),tiff:r(66278),webp:r(90784)}},33575:function(e,t,r){\"use strict\";var n=r(91497);e.exports=function(e){return function(e){for(var t=Object.keys(n),r=0;r<t.length;r++){var i=n[t[r]](e);if(i)return i}return null}(e)},e.exports.parsers=n},90386:function(e){var t,r,n=e.exports={};function i(){throw new Error(\"setTimeout has not been defined\")}function a(){throw new Error(\"clearTimeout has not been defined\")}function o(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t=\"function\"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r=\"function\"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var s,l=[],u=!1,c=-1;function f(){u&&s&&(u=!1,s.length?l=s.concat(l):c=-1,l.length&&h())}function h(){if(!u){var e=o(f);u=!0;for(var t=l.length;t;){for(s=l,l=[];++c<t;)s&&s[c].run();c=-1,t=l.length}s=null,u=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{return r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function d(){}n.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];l.push(new p(e,t)),1!==l.length||u||o(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},n.title=\"browser\",n.browser=!0,n.env={},n.argv=[],n.version=\"\",n.versions={},n.on=d,n.addListener=d,n.once=d,n.off=d,n.removeListener=d,n.removeAllListeners=d,n.emit=d,n.prependListener=d,n.prependOnceListener=d,n.listeners=function(e){return[]},n.binding=function(e){throw new Error(\"process.binding is not supported\")},n.cwd=function(){return\"/\"},n.chdir=function(e){throw new Error(\"process.chdir is not supported\")},n.umask=function(){return 0}},5877:function(e,t,r){for(var n=r(9748),i=\"undefined\"==typeof window?r.g:window,a=[\"moz\",\"webkit\"],o=\"AnimationFrame\",s=i[\"request\"+o],l=i[\"cancel\"+o]||i[\"cancelRequest\"+o],u=0;!s&&u<a.length;u++)s=i[a[u]+\"Request\"+o],l=i[a[u]+\"Cancel\"+o]||i[a[u]+\"CancelRequest\"+o];if(!s||!l){var c=0,f=0,h=[];s=function(e){if(0===h.length){var t=n(),r=Math.max(0,16.666666666666668-(t-c));c=r+t,setTimeout((function(){var e=h.slice(0);h.length=0;for(var t=0;t<e.length;t++)if(!e[t].cancelled)try{e[t].callback(c)}catch(e){setTimeout((function(){throw e}),0)}}),Math.round(r))}return h.push({handle:++f,callback:e,cancelled:!1}),f},l=function(e){for(var t=0;t<h.length;t++)h[t].handle===e&&(h[t].cancelled=!0)}}e.exports=function(e){return s.call(i,e)},e.exports.cancel=function(){l.apply(i,arguments)},e.exports.polyfill=function(e){e||(e=i),e.requestAnimationFrame=s,e.cancelAnimationFrame=l}},3593:function(e,t,r){\"use strict\";var n=r(21527),i=r(25075),a=r(93447),o=r(71299),s=r(56131),l=r(30120),u=r(57060),c=u.float32,f=u.fract32;e.exports=function(e,t){if(\"function\"==typeof e?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),!(e=t.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");var r,u,p,d,v,g,m=e._gl,y={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=e.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),u=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),p=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),v=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),g=e.buffer({usage:\"static\",type:\"float\",data:h}),k(t),r=e({vert:\"\\n\\t\\tprecision highp float;\\n\\n\\t\\tattribute vec2 position, positionFract;\\n\\t\\tattribute vec4 error;\\n\\t\\tattribute vec4 color;\\n\\n\\t\\tattribute vec2 direction, lineOffset, capOffset;\\n\\n\\t\\tuniform vec4 viewport;\\n\\t\\tuniform float lineWidth, capSize;\\n\\t\\tuniform vec2 scale, scaleFract, translate, translateFract;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tfragColor = color / 255.;\\n\\n\\t\\t\\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\\n\\n\\t\\t\\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\\n\\n\\t\\t\\tvec2 position = position + dxy;\\n\\n\\t\\t\\tvec2 pos = (position + translate) * scale\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scale\\n\\t\\t\\t\\t+ (position + translate) * scaleFract\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scaleFract;\\n\\n\\t\\t\\tpos += pixelOffset / viewport.zw;\\n\\n\\t\\t\\tgl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\t\\t}\\n\\t\\t\",frag:\"\\n\\t\\tprecision highp float;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tuniform float opacity;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tgl_FragColor = fragColor;\\n\\t\\t\\tgl_FragColor.a *= opacity;\\n\\t\\t}\\n\\t\\t\",uniforms:{range:e.prop(\"range\"),lineWidth:e.prop(\"lineWidth\"),capSize:e.prop(\"capSize\"),opacity:e.prop(\"opacity\"),scale:e.prop(\"scale\"),translate:e.prop(\"translate\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),viewport:function(e,t){return[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight]}},attributes:{color:{buffer:d,offset:function(e,t){return 4*t.offset},divisor:1},position:{buffer:u,offset:function(e,t){return 8*t.offset},divisor:1},positionFract:{buffer:p,offset:function(e,t){return 8*t.offset},divisor:1},error:{buffer:v,offset:function(e,t){return 16*t.offset},divisor:1},direction:{buffer:g,stride:24,offset:0},lineOffset:{buffer:g,stride:24,offset:8},capOffset:{buffer:g,stride:24,offset:16}},primitive:\"triangles\",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:!1,instances:e.prop(\"count\"),count:h.length}),s(b,{update:k,draw:_,destroy:T,regl:e,gl:m,canvas:m.canvas,groups:x}),b;function b(e){e?k(e):null===e&&T(),_()}function _(t){if(\"number\"==typeof t)return w(t);t&&!Array.isArray(t)&&(t=[t]),e._refresh(),x.forEach((function(e,r){e&&(t&&(t[r]?e.draw=!0:e.draw=!1),e.draw?w(r):e.draw=!0)}))}function w(e){\"number\"==typeof e&&(e=x[e]),null!=e&&e&&e.count&&e.color&&e.opacity&&e.positions&&e.positions.length>1&&(e.scaleRatio=[e.scale[0]*e.viewport.width,e.scale[1]*e.viewport.height],r(e),e.after&&e.after(e))}function k(e){if(e){null!=e.length?\"number\"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);var t=0,r=0;if(b.groups=x=e.map((function(e,u){var c=x[u];return e?(\"function\"==typeof e?e={after:e}:\"number\"==typeof e[0]&&(e={positions:e}),e=o(e,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),c||(x[u]=c={id:u,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},e=s({},y,e)),a(c,e,[{lineWidth:function(e){return.5*+e},capSize:function(e){return.5*+e},opacity:parseFloat,errors:function(e){return e=l(e),r+=e.length,e},positions:function(e,r){return e=l(e,\"float64\"),r.count=Math.floor(e.length/2),r.bounds=n(e,2),r.offset=t,t+=r.count,e}},{color:function(e,t){var r=t.count;if(e||(e=\"transparent\"),!Array.isArray(e)||\"number\"==typeof e[0]){var n=e;e=Array(r);for(var a=0;a<r;a++)e[a]=n}if(e.length<r)throw Error(\"Not enough colors\");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=i(e[s],\"uint8\");o.set(l,4*s)}return o},range:function(e,t,r){var n=t.bounds;return e||(e=n),t.scale=[1/(e[2]-e[0]),1/(e[3]-e[1])],t.translate=[-e[0],-e[1]],t.scaleFract=f(t.scale),t.translateFract=f(t.translate),e},viewport:function(e){var t;return Array.isArray(e)?t={x:e[0],y:e[1],width:e[2]-e[0],height:e[3]-e[1]}:e?(t={x:e.x||e.left||0,y:e.y||e.top||0},e.right?t.width=e.right-t.x:t.width=e.w||e.width||0,e.bottom?t.height=e.bottom-t.y:t.height=e.h||e.height||0):t={x:0,y:0,width:m.drawingBufferWidth,height:m.drawingBufferHeight},t}}]),c):c})),t||r){var h=x.reduce((function(e,t,r){return e+(t?t.count:0)}),0),g=new Float64Array(2*h),_=new Uint8Array(4*h),w=new Float32Array(4*h);x.forEach((function(e,t){if(e){var r=e.positions,n=e.count,i=e.offset,a=e.color,o=e.errors;n&&(_.set(a,4*i),w.set(o,4*i),g.set(r,2*i))}}));var k=c(g);u(k);var T=f(g,k);p(T),d(_),v(w)}}}function T(){u.destroy(),p.destroy(),d.destroy(),v.destroy(),g.destroy()}};var h=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]]},46075:function(e,t,r){\"use strict\";var n=r(25075),i=r(21527),a=r(56131),o=r(56068),s=r(71299),l=r(30120),u=r(11474),c=r(54),f=r(57060),h=f.float32,p=f.fract32,d=r(83522),v=r(18863),g=r(6851);function m(e,t){if(!(this instanceof m))return new m(e,t);if(\"function\"==typeof e?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),!(e=t.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=e._gl,this.regl=e,this.passes=[],this.shaders=m.shaders.has(e)?m.shaders.get(e):m.shaders.set(e,m.createShaders(e)).get(e),this.update(t)}e.exports=m,m.dashMult=2,m.maxPatternLength=256,m.precisionThreshold=3e6,m.maxPoints=1e4,m.maxLines=2048,m.shaders=new d,m.createShaders=function(e){var t,r=e.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),n={primitive:\"triangle strip\",instances:e.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:function(e,t){return\"round\"===t.join?2:1},miterLimit:e.prop(\"miterLimit\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),thickness:e.prop(\"thickness\"),dashTexture:e.prop(\"dashTexture\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),dashLength:e.prop(\"dashLength\"),viewport:function(e,t){return[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight]},depth:e.prop(\"depth\")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:function(e,t){return!t.overlay}},stencil:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\")},i=e(a({vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\\nattribute vec4 color;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float thickness, pixelRatio, id, depth;\\nuniform vec4 viewport;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\\n\\t// the order is important\\n\\treturn position * scale + translate\\n       + positionFract * scale + translateFract\\n       + position * scaleFract\\n       + positionFract * scaleFract;\\n}\\n\\nvoid main() {\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineOffset = lineTop * 2. - 1.;\\n\\n\\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\\n\\ttangent = normalize(diff * scale * viewport.zw);\\n\\tvec2 normal = vec2(-tangent.y, tangent.x);\\n\\n\\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\\n\\t\\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\\n\\n\\t\\t+ thickness * normal * .5 * lineOffset / viewport.zw;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform float dashLength, pixelRatio, thickness, opacity, id;\\nuniform sampler2D dashTexture;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nvoid main() {\\n\\tfloat alpha = 1.;\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\\n\\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\\n\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},n));try{t=e(a({cull:{enable:!0,face:\"back\"},vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\\nattribute vec4 aColor, bColor;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, translate;\\nuniform float thickness, pixelRatio, id, depth;\\nuniform vec4 viewport;\\nuniform float miterLimit, miterMode;\\n\\nvarying vec4 fragColor;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 tangent;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nconst float REVERSE_THRESHOLD = -.875;\\nconst float MIN_DIFF = 1e-6;\\n\\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\\n// TODO: precalculate dot products, normalize things beforehead etc.\\n// TODO: refactor to rectangular algorithm\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nbool isNaN( float val ){\\n  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\\n}\\n\\nvoid main() {\\n\\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\\n\\n  vec2 adjustedScale;\\n  adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\\n  adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\\n\\n  vec2 scaleRatio = adjustedScale * viewport.zw;\\n\\tvec2 normalWidth = thickness / scaleRatio;\\n\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineBot = 1. - lineTop;\\n\\n\\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\\n\\n\\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\\n\\n\\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\\n\\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\\n\\n\\tvec2 prevDiff = aCoord - prevCoord;\\n\\tvec2 currDiff = bCoord - aCoord;\\n\\tvec2 nextDiff = nextCoord - bCoord;\\n\\n\\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\\n\\tvec2 currTangent = normalize(currDiff * scaleRatio);\\n\\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\\n\\n\\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\\n\\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\\n\\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\\n\\n\\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\\n\\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\\n\\n\\t// collapsed/unidirectional segment cases\\n\\t// FIXME: there should be more elegant solution\\n\\tvec2 prevTanDiff = abs(prevTangent - currTangent);\\n\\tvec2 nextTanDiff = abs(nextTangent - currTangent);\\n\\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\\n\\t\\tstartJoinDirection = currNormal;\\n\\t}\\n\\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\\n\\t\\tendJoinDirection = currNormal;\\n\\t}\\n\\tif (aCoord == bCoord) {\\n\\t\\tendJoinDirection = startJoinDirection;\\n\\t\\tcurrNormal = prevNormal;\\n\\t\\tcurrTangent = prevTangent;\\n\\t}\\n\\n\\ttangent = currTangent;\\n\\n\\t//calculate join shifts relative to normals\\n\\tfloat startJoinShift = dot(currNormal, startJoinDirection);\\n\\tfloat endJoinShift = dot(currNormal, endJoinDirection);\\n\\n\\tfloat startMiterRatio = abs(1. / startJoinShift);\\n\\tfloat endMiterRatio = abs(1. / endJoinShift);\\n\\n\\tvec2 startJoin = startJoinDirection * startMiterRatio;\\n\\tvec2 endJoin = endJoinDirection * endMiterRatio;\\n\\n\\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\\n\\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\\n\\tstartBotJoin = -startTopJoin;\\n\\n\\tendTopJoin = sign(endJoinShift) * endJoin * .5;\\n\\tendBotJoin = -endTopJoin;\\n\\n\\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\\n\\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\\n\\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\\n\\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\\n\\n\\t//miter anti-clipping\\n\\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\\n\\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\\n\\n\\t//prevent close to reverse direction switch\\n\\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\n\\tif (prevReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\\n\\t\\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\tbTopCoord -= normalWidth * endTopJoin;\\n\\t\\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\\n\\t}\\n\\n\\tif (nextReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\\n\\t\\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\taBotCoord -= normalWidth * startBotJoin;\\n\\t\\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\\n\\t}\\n\\n\\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\\n\\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\\n\\n\\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\\n\\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\\n\\n\\t//position is normalized 0..1 coord on the screen\\n\\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\\n\\n\\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\n\\tgl_Position = vec4(position  * 2.0 - 1.0, depth, 1);\\n\\n\\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\\n\\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\\n\\n\\t//bevel miter cutoffs\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n\\n\\t//round miter cutoffs\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\\nuniform sampler2D dashTexture;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nvoid main() {\\n\\tfloat alpha = 1., distToStart, distToEnd;\\n\\tfloat cutoff = thickness * .5;\\n\\n\\t//bevel miter\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToStart + 1., 0.), 1.);\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToEnd + 1., 0.), 1.);\\n\\t\\t}\\n\\t}\\n\\n\\t// round miter\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - startCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - endCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\\n\\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\\n\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},n))}catch(e){t=i}return{fill:e({primitive:\"triangle\",elements:function(e,t){return t.triangles},offset:0,vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\n\\nuniform vec4 color;\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio, id;\\nuniform vec4 viewport;\\nuniform float opacity;\\n\\nvarying vec4 fragColor;\\n\\nconst float MAX_LINES = 256.;\\n\\nvoid main() {\\n\\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\\n\\n\\tvec2 position = position * scale + translate\\n       + positionFract * scale + translateFract\\n       + position * scaleFract\\n       + positionFract * scaleFract;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n\\tfragColor.a *= opacity;\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n\\tgl_FragColor = fragColor;\\n}\\n\"]),uniforms:{scale:e.prop(\"scale\"),color:e.prop(\"fill\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),viewport:function(e,t){return[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight]}},attributes:{position:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:t}},m.defaults={dashes:null,join:\"miter\",miterLimit:1,thickness:10,cap:\"square\",color:\"black\",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},m.prototype.render=function(){for(var e,t=[],r=arguments.length;r--;)t[r]=arguments[r];t.length&&(e=this).update.apply(e,t),this.draw()},m.prototype.draw=function(){for(var e=this,t=[],r=arguments.length;r--;)t[r]=arguments[r];return(t.length?t:this.passes).forEach((function(t,r){var n;if(t&&Array.isArray(t))return(n=e).draw.apply(n,t);\"number\"==typeof t&&(t=e.passes[t]),t&&t.count>1&&t.opacity&&(e.regl._refresh(),t.fill&&t.triangles&&t.triangles.length>2&&e.shaders.fill(t),t.thickness&&(t.scale[0]*t.viewport.width>m.precisionThreshold||t.scale[1]*t.viewport.height>m.precisionThreshold||\"rect\"===t.join||!t.join&&(t.thickness<=2||t.count>=m.maxPoints)?e.shaders.rect(t):e.shaders.miter(t)))})),this},m.prototype.update=function(e){var t=this;if(e){null!=e.length?\"number\"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);var r=this.regl,o=this.gl;if(e.forEach((function(e,f){var d=t.passes[f];if(void 0!==e)if(null!==e){if(\"number\"==typeof e[0]&&(e={positions:e}),e=s(e,{positions:\"positions points data coords\",thickness:\"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth\",join:\"lineJoin linejoin join type mode\",miterLimit:\"miterlimit miterLimit\",dashes:\"dash dashes dasharray dash-array dashArray\",color:\"color colour stroke colors colours stroke-color strokeColor\",fill:\"fill fill-color fillColor\",opacity:\"alpha opacity\",overlay:\"overlay crease overlap intersect\",close:\"closed close closed-path closePath\",range:\"range dataBox\",viewport:\"viewport viewBox\",hole:\"holes hole hollow\",splitNull:\"splitNull\"}),d||(t.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:r.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},e=a({},m.defaults,e)),null!=e.thickness&&(d.thickness=parseFloat(e.thickness)),null!=e.opacity&&(d.opacity=parseFloat(e.opacity)),null!=e.miterLimit&&(d.miterLimit=parseFloat(e.miterLimit)),null!=e.overlay&&(d.overlay=!!e.overlay,f<m.maxLines&&(d.depth=2*(m.maxLines-1-f%m.maxLines)/m.maxLines-1)),null!=e.join&&(d.join=e.join),null!=e.hole&&(d.hole=e.hole),null!=e.fill&&(d.fill=e.fill?n(e.fill,\"uint8\"):null),null!=e.viewport&&(d.viewport=v(e.viewport)),d.viewport||(d.viewport=v([o.drawingBufferWidth,o.drawingBufferHeight])),null!=e.close&&(d.close=e.close),null===e.positions&&(e.positions=[]),e.positions){var y,x;if(e.positions.x&&e.positions.y){var b=e.positions.x,_=e.positions.y;x=d.count=Math.max(b.length,_.length),y=new Float64Array(2*x);for(var w=0;w<x;w++)y[2*w]=b[w],y[2*w+1]=_[w]}else y=l(e.positions,\"float64\"),x=d.count=Math.floor(y.length/2);var k=d.bounds=i(y,2);if(d.fill){for(var T=[],M={},A=0,S=0,E=0,C=d.count;S<C;S++){var L=y[2*S],P=y[2*S+1];isNaN(L)||isNaN(P)||null==L||null==P?(L=y[2*A],P=y[2*A+1],M[S]=A):A=S,T[E++]=L,T[E++]=P}if(e.splitNull){d.count-1 in M||(M[d.count]=d.count-1);var O=Object.keys(M).map(Number).sort((function(e,t){return e-t})),I=[],D=0,z=null!=d.hole?d.hole[0]:null;if(null!=z){var R=g(O,(function(e){return e>=z}));(O=O.slice(0,R)).push(z)}for(var F=function(e){var t=T.slice(2*D,2*O[e]).concat(z?T.slice(2*z):[]),r=(d.hole||[]).map((function(t){return t-z+(O[e]-D)})),n=u(t,r);n=n.map((function(t){return t+D+(t+D<O[e]?0:z-O[e])})),I.push.apply(I,n),D=O[e]+1},B=0;B<O.length;B++)F(B);for(var N=0,j=I.length;N<j;N++)null!=M[I[N]]&&(I[N]=M[I[N]]);d.triangles=I}else{for(var U=u(T,d.hole||[]),V=0,H=U.length;V<H;V++)null!=M[U[V]]&&(U[V]=M[U[V]]);d.triangles=U}}var q=new Float64Array(y);c(q,2,k);var G=new Float64Array(2*x+6);d.close?y[0]===y[2*x-2]&&y[1]===y[2*x-1]?(G[0]=q[2*x-4],G[1]=q[2*x-3]):(G[0]=q[2*x-2],G[1]=q[2*x-1]):(G[0]=q[0],G[1]=q[1]),G.set(q,2),d.close?y[0]===y[2*x-2]&&y[1]===y[2*x-1]?(G[2*x+2]=q[2],G[2*x+3]=q[3],d.count-=1):(G[2*x+2]=q[0],G[2*x+3]=q[1],G[2*x+4]=q[2],G[2*x+5]=q[3]):(G[2*x+2]=q[2*x-2],G[2*x+3]=q[2*x-1],G[2*x+4]=q[2*x-2],G[2*x+5]=q[2*x-1]);var Y=h(G);d.positionBuffer(Y);var W=p(G,Y);d.positionFractBuffer(W)}if(e.range?d.range=e.range:d.range||(d.range=d.bounds),(e.range||e.positions)&&d.count){var Z=d.bounds,X=Z[2]-Z[0],K=Z[3]-Z[1],J=d.range[2]-d.range[0],$=d.range[3]-d.range[1];d.scale=[X/J,K/$],d.translate=[-d.range[0]/J+Z[0]/J||0,-d.range[1]/$+Z[1]/$||0],d.scaleFract=p(d.scale),d.translateFract=p(d.translate)}if(e.dashes){var Q,ee=0;if(!e.dashes||e.dashes.length<2)ee=1,Q=new Uint8Array([255,255,255,255,255,255,255,255]);else{ee=0;for(var te=0;te<e.dashes.length;++te)ee+=e.dashes[te];Q=new Uint8Array(ee*m.dashMult);for(var re=0,ne=255,ie=0;ie<2;ie++)for(var ae=0;ae<e.dashes.length;++ae){for(var oe=0,se=e.dashes[ae]*m.dashMult*.5;oe<se;++oe)Q[re++]=ne;ne^=255}}d.dashLength=ee,d.dashTexture({channels:1,data:Q,width:Q.length,height:1,mag:\"linear\",min:\"linear\"},0,0)}if(e.color){var le=d.count,ue=e.color;ue||(ue=\"transparent\");var ce=new Uint8Array(4*le+4);if(Array.isArray(ue)&&\"number\"!=typeof ue[0]){for(var fe=0;fe<le;fe++){var he=n(ue[fe],\"uint8\");ce.set(he,4*fe)}ce.set(n(ue[0],\"uint8\"),4*le)}else for(var pe=n(ue,\"uint8\"),de=0;de<le+1;de++)ce.set(pe,4*de);d.colorBuffer({usage:\"dynamic\",type:\"uint8\",data:ce})}}else t.passes[f]=null})),e.length<this.passes.length){for(var f=e.length;f<this.passes.length;f++){var d=this.passes[f];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=e.length}for(var y=[],x=0;x<this.passes.length;x++)null!==this.passes[x]&&y.push(this.passes[x]);return this.passes=y,this}},m.prototype.destroy=function(){return this.passes.forEach((function(e){e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()})),this.passes.length=0,this}},11870:function(e,t,r){\"use strict\";function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=r){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}(e,t)||i(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(e,t){if(e){if(\"string\"==typeof e)return a(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var o=r(25075),s=r(21527),l=r(6475),u=r(88294),c=r(56131),f=r(56068),h=r(71299),p=r(93447),d=r(30120),v=r(62683),g=r(57060),m=r(18863),y=x;function x(e,t){var r=this;if(!(this instanceof x))return new x(e,t);\"function\"==typeof e?(t||(t={}),t.regl=e):(t=e,e=null),t&&t.length&&(t.positions=t);var n,i=(e=t.regl)._gl,a=[];this.tooManyColors=v,n=e.texture({data:new Uint8Array(1020),width:255,height:1,type:\"uint8\",format:\"rgba\",wrapS:\"clamp\",wrapT:\"clamp\",mag:\"nearest\",min:\"nearest\"}),c(this,{regl:e,gl:i,groups:[],markerCache:[null],markerTextures:[null],palette:a,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:i.canvas}),this.update(t);var o={uniforms:{constPointSize:!!t.constPointSize,opacity:e.prop(\"opacity\"),paletteSize:function(e,t){return[r.tooManyColors?0:255,n.height]},pixelRatio:e.context(\"pixelRatio\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translate:e.prop(\"translate\"),translateFract:e.prop(\"translateFract\"),markerTexture:e.prop(\"markerTexture\"),paletteTexture:n},attributes:{x:function(e,t){return t.xAttr||{buffer:t.positionBuffer,stride:8,offset:0}},y:function(e,t){return t.yAttr||{buffer:t.positionBuffer,stride:8,offset:4}},xFract:function(e,t){return t.xAttr?{constant:[0,0]}:{buffer:t.positionFractBuffer,stride:8,offset:0}},yFract:function(e,t){return t.yAttr?{constant:[0,0]}:{buffer:t.positionFractBuffer,stride:8,offset:4}},size:function(e,t){return t.size.length?{buffer:t.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(255*t.size/r.maxSize)]}},borderSize:function(e,t){return t.borderSize.length?{buffer:t.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(255*t.borderSize/r.maxSize)]}},colorId:function(e,t){return t.color.length?{buffer:t.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?a.slice(4*t.color,4*t.color+4):[t.color]}},borderColorId:function(e,t){return t.borderColor.length?{buffer:t.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?a.slice(4*t.borderColor,4*t.borderColor+4):[t.borderColor]}},isActive:function(e,t){return!0===t.activation?{constant:[1]}:t.activation?t.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:{enable:!1},depth:{enable:!1},elements:e.prop(\"elements\"),count:e.prop(\"count\"),offset:e.prop(\"offset\"),primitive:\"points\"},s=c({},o);s.frag=f([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform float opacity;\\nuniform sampler2D markerTexture;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\\n\\nfloat smoothStep(float x, float y) {\\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\\n}\\n\\nvoid main() {\\n  float dist = texture2D(markerTexture, gl_PointCoord).r, delta = fragWidth;\\n\\n  // max-distance alpha\\n  if (dist < 0.003) discard;\\n\\n  // null-border case\\n  if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\\n    float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\\n    gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\\n  }\\n  else {\\n    float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\\n    float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\\n\\n    vec4 color = fragBorderColor;\\n    color.a *= borderColorAmt;\\n    color = mix(color, fragColor, colorAmt);\\n    color.a *= opacity;\\n\\n    gl_FragColor = color;\\n  }\\n\\n}\\n\"]),s.vert=f([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute float x, y, xFract, yFract;\\nattribute float size, borderSize;\\nattribute vec4 colorId, borderColorId;\\nattribute float isActive;\\n\\nuniform bool constPointSize;\\nuniform float pixelRatio;\\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\\nuniform sampler2D paletteTexture;\\n\\nconst float maxSize = 100.;\\nconst float borderLevel = .5;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\\n\\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\\n\\nbool isDirect = (paletteSize.x < 1.);\\n\\nvec4 getColor(vec4 id) {\\n  return isDirect ? id / 255. : texture2D(paletteTexture,\\n    vec2(\\n      (id.x + .5) / paletteSize.x,\\n      (id.y + .5) / paletteSize.y\\n    )\\n  );\\n}\\n\\nvoid main() {\\n  // ignore inactive points\\n  if (isActive == 0.) return;\\n\\n  vec2 position = vec2(x, y);\\n  vec2 positionFract = vec2(xFract, yFract);\\n\\n  vec4 color = getColor(colorId);\\n  vec4 borderColor = getColor(borderColorId);\\n\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n\\n  gl_PointSize = 2. * size * pointSizeScale;\\n  fragPointSize = size * pixelRatio;\\n\\n  vec2 pos = (position + translate) * scale\\n      + (positionFract + translateFract) * scale\\n      + (position + translate) * scaleFract\\n      + (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0., 1.);\\n\\n  fragColor = color;\\n  fragBorderColor = borderColor;\\n  fragWidth = 1. / gl_PointSize;\\n\\n  fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\\n  fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\\n}\"]),this.drawMarker=e(s);var l=c({},o);l.frag=f([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth;\\n\\nuniform float opacity;\\n\\nfloat smoothStep(float edge0, float edge1, float x) {\\n\\tfloat t;\\n\\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\\n\\treturn t * t * (3.0 - 2.0 * t);\\n}\\n\\nvoid main() {\\n\\tfloat radius, alpha = 1.0, delta = fragWidth;\\n\\n\\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\\n\\n\\tif (radius > 1.0 + delta) {\\n\\t\\tdiscard;\\n\\t}\\n\\n\\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\\n\\n\\tfloat borderRadius = fragBorderRadius;\\n\\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\\n\\tvec4 color = mix(fragColor, fragBorderColor, ratio);\\n\\tcolor.a *= alpha * opacity;\\n\\tgl_FragColor = color;\\n}\\n\"]),l.vert=f([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute float x, y, xFract, yFract;\\nattribute float size, borderSize;\\nattribute vec4 colorId, borderColorId;\\nattribute float isActive;\\n\\nuniform bool constPointSize;\\nuniform float pixelRatio;\\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\\nuniform sampler2D paletteTexture;\\n\\nconst float maxSize = 100.;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth;\\n\\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\\n\\nbool isDirect = (paletteSize.x < 1.);\\n\\nvec4 getColor(vec4 id) {\\n  return isDirect ? id / 255. : texture2D(paletteTexture,\\n    vec2(\\n      (id.x + .5) / paletteSize.x,\\n      (id.y + .5) / paletteSize.y\\n    )\\n  );\\n}\\n\\nvoid main() {\\n  // ignore inactive points\\n  if (isActive == 0.) return;\\n\\n  vec2 position = vec2(x, y);\\n  vec2 positionFract = vec2(xFract, yFract);\\n\\n  vec4 color = getColor(colorId);\\n  vec4 borderColor = getColor(borderColorId);\\n\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n\\n  gl_PointSize = (size + borderSize) * pointSizeScale;\\n\\n  vec2 pos = (position + translate) * scale\\n      + (positionFract + translateFract) * scale\\n      + (position + translate) * scaleFract\\n      + (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0., 1.);\\n\\n  fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\\n  fragColor = color;\\n  fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\\n  fragWidth = 1. / gl_PointSize;\\n}\\n\"]),v&&(l.frag=l.frag.replace(\"smoothstep\",\"smoothStep\"),s.frag=s.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=e(l)}x.defaults={color:\"black\",borderColor:\"transparent\",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=this.groups;if(1===r.length&&Array.isArray(r[0])&&(null===r[0][0]||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var a=0;a<r.length;a++)this.drawItem(a,r[a]);else i.forEach((function(t,r){e.drawItem(r)}));return this},x.prototype.drawItem=function(e,t){var r,n=this.groups,o=n[e];if(\"number\"==typeof t&&(e=t,o=n[t],t=null),o&&o.count&&o.opacity){o.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,o,t));for(var s=[],l=1;l<o.activation.length;l++)o.activation[l]&&(!0===o.activation[l]||o.activation[l].data.length)&&s.push.apply(s,function(e){if(Array.isArray(e))return a(e)}(r=this.getMarkerDrawOptions(l,o,t))||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(r)||i(r)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}());s.length&&this.drawMarker(s)}},x.prototype.getMarkerDrawOptions=function(e,t,r){var i=t.range,a=t.tree,o=t.viewport,s=t.activation,l=t.selectionBuffer,u=t.count;if(this.regl,!a)return r?[c({},t,{markerTexture:this.markerTextures[e],activation:s[e],count:r.length,elements:r,offset:0})]:[c({},t,{markerTexture:this.markerTextures[e],activation:s[e],offset:0})];var f=[],h=a.range(i,{lod:!0,px:[(i[2]-i[0])/o.width,(i[3]-i[1])/o.height]});if(r){for(var p=s[e].data,d=new Uint8Array(u),v=0;v<r.length;v++){var g=r[v];d[g]=p?p[g]:1}l.subdata(d)}for(var m=h.length;m--;){var y=n(h[m],2),x=y[0],b=y[1];f.push(c({},t,{markerTexture:this.markerTextures[e],activation:r?l:s[e],offset:x,count:b-x}))}return f},x.prototype.update=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];if(r.length){1===r.length&&Array.isArray(r[0])&&(r=r[0]);var i=this.groups,a=this.gl,o=this.regl,l=this.maxSize,f=this.maxColors,v=this.palette;this.groups=i=r.map((function(t,r){var n=i[r];if(void 0===t)return n;null===t?t={positions:null}:\"function\"==typeof t?t={ondraw:t}:\"number\"==typeof t[0]&&(t={positions:t}),null===(t=h(t,{positions:\"positions data points\",snap:\"snap cluster lod tree\",size:\"sizes size radius\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",color:\"colors color fill fill-color fillColor\",borderColor:\"borderColors borderColor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range dataBox databox\",viewport:\"viewport viewPort viewBox viewbox\",opacity:\"opacity alpha transparency\",bounds:\"bound bounds boundaries limits\",tooManyColors:\"tooManyColors palette paletteMode optimizePalette enablePalette\"})).positions&&(t.positions=[]),null!=t.tooManyColors&&(e.tooManyColors=t.tooManyColors),n||(i[r]=n={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:o.buffer({data:new Uint8Array(0),usage:\"stream\",type:\"uint8\"}),sizeBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),colorBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),positionBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"}),positionFractBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"})},t=c({},x.defaults,t)),t.positions&&!(\"marker\"in t)&&(t.marker=n.marker,delete n.marker),t.marker&&!(\"positions\"in t)&&(t.positions=n.positions,delete n.positions);var y=0,b=0;if(p(n,t,[{snap:!0,size:function(e,t){return null==e&&(e=x.defaults.size),y+=e&&e.length?1:0,e},borderSize:function(e,t){return null==e&&(e=x.defaults.borderSize),y+=e&&e.length?1:0,e},opacity:parseFloat,color:function(t,r){return null==t&&(t=x.defaults.color),t=e.updateColor(t),b++,t},borderColor:function(t,r){return null==t&&(t=x.defaults.borderColor),t=e.updateColor(t),b++,t},bounds:function(e,t,r){return\"range\"in r||(r.range=null),e},positions:function(e,t,r){var n=t.snap,i=t.positionBuffer,a=t.positionFractBuffer,l=t.selectionBuffer;if(e.x||e.y)return e.x.length?t.xAttr={buffer:o.buffer(e.x),offset:0,stride:4,count:e.x.length}:t.xAttr={buffer:e.x.buffer,offset:4*e.x.offset||0,stride:4*(e.x.stride||1),count:e.x.count},e.y.length?t.yAttr={buffer:o.buffer(e.y),offset:0,stride:4,count:e.y.length}:t.yAttr={buffer:e.y.buffer,offset:4*e.y.offset||0,stride:4*(e.y.stride||1),count:e.y.count},t.count=Math.max(t.xAttr.count,t.yAttr.count),e;e=d(e,\"float64\");var c=t.count=Math.floor(e.length/2),f=t.bounds=c?s(e,2):null;if(r.range||t.range||(delete t.range,r.range=f),r.marker||t.marker||(delete t.marker,r.marker=null),n&&(!0===n||c>n)?t.tree=u(e,{bounds:f}):n&&n.length&&(t.tree=n),t.tree){var h={primitive:\"points\",usage:\"static\",data:t.tree,type:\"uint32\"};t.elements?t.elements(h):t.elements=o.elements(h)}var p=g.float32(e);return i({data:p,usage:\"dynamic\"}),a({data:g.fract32(e,p),usage:\"dynamic\"}),l({data:new Uint8Array(c),type:\"uint8\",usage:\"stream\"}),e}},{marker:function(t,r,n){var i=r.activation;if(i.forEach((function(e){return e&&e.destroy&&e.destroy()})),i.length=0,t&&\"number\"!=typeof t[0]){for(var a=[],s=0,l=Math.min(t.length,r.count);s<l;s++){var u=e.addMarker(t[s]);a[u]||(a[u]=new Uint8Array(r.count)),a[u][s]=1}for(var c=0;c<a.length;c++)if(a[c]){var f={data:a[c],type:\"uint8\",usage:\"static\"};i[c]?i[c](f):i[c]=o.buffer(f),i[c].data=a[c]}}else i[e.addMarker(t)]=!0;return t},range:function(e,t,r){var n=t.bounds;if(n)return e||(e=n),t.scale=[1/(e[2]-e[0]),1/(e[3]-e[1])],t.translate=[-e[0],-e[1]],t.scaleFract=g.fract(t.scale),t.translateFract=g.fract(t.translate),e},viewport:function(e){return m(e||[a.drawingBufferWidth,a.drawingBufferHeight])}}]),y){var _=n,w=_.count,k=_.size,T=_.borderSize,M=_.sizeBuffer,A=new Uint8Array(2*w);if(k.length||T.length)for(var S=0;S<w;S++)A[2*S]=Math.round(255*(null==k[S]?k:k[S])/l),A[2*S+1]=Math.round(255*(null==T[S]?T:T[S])/l);M({data:A,usage:\"dynamic\"})}if(b){var E,C=n,L=C.count,P=C.color,O=C.borderColor,I=C.colorBuffer;if(e.tooManyColors){if(P.length||O.length){E=new Uint8Array(8*L);for(var D=0;D<L;D++){var z=P[D];E[8*D]=v[4*z],E[8*D+1]=v[4*z+1],E[8*D+2]=v[4*z+2],E[8*D+3]=v[4*z+3];var R=O[D];E[8*D+4]=v[4*R],E[8*D+5]=v[4*R+1],E[8*D+6]=v[4*R+2],E[8*D+7]=v[4*R+3]}}}else if(P.length||O.length){E=new Uint8Array(4*L+2);for(var F=0;F<L;F++)null!=P[F]&&(E[4*F]=P[F]%f,E[4*F+1]=Math.floor(P[F]/f)),null!=O[F]&&(E[4*F+2]=O[F]%f,E[4*F+3]=Math.floor(O[F]/f))}I({data:E||new Uint8Array(0),type:\"uint8\",usage:\"dynamic\"})}return n}))}},x.prototype.addMarker=function(e){var t,r=this.markerTextures,n=this.regl,i=this.markerCache,a=null==e?0:i.indexOf(e);if(a>=0)return a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)t=e;else{t=new Uint8Array(e.length);for(var o=0,s=e.length;o<s;o++)t[o]=255*e[o]}var l=Math.floor(Math.sqrt(t.length));return a=r.length,i.push(e),r.push(n.texture({channels:1,data:t,radius:l,mag:\"linear\",min:\"linear\"})),a},x.prototype.updateColor=function(e){var t=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(e)||(e=[e]);var i=[];if(\"number\"==typeof e[0]){var a=[];if(Array.isArray(e))for(var s=0;s<e.length;s+=4)a.push(e.slice(s,s+4));else for(var u=0;u<e.length;u+=4)a.push(e.subarray(u,u+4));e=a}for(var c=0;c<e.length;c++){var f=e[c];f=o(f,\"uint8\");var h=l(f,!1);if(null==t[h]){var p=r.length;t[h]=Math.floor(p/4),r[p]=f[0],r[p+1]=f[1],r[p+2]=f[2],r[p+3]=f[3]}i[c]=t[h]}return!this.tooManyColors&&r.length>4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*e.length/t);if(n>1)for(var i=.25*(e=e.slice()).length%t;i<n*t;i++)e.push(0,0,0,0);r.height<n&&r.resize(t,n),r.subimage({width:Math.min(.25*e.length,t),height:n,data:e},0,0)}},x.prototype.destroy=function(){return this.groups.forEach((function(e){e.sizeBuffer.destroy(),e.positionBuffer.destroy(),e.positionFractBuffer.destroy(),e.colorBuffer.destroy(),e.activation.forEach((function(e){return e&&e.destroy&&e.destroy()})),e.selectionBuffer.destroy(),e.elements&&e.elements.destroy()})),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach((function(e){return e&&e.destroy&&e.destroy()})),this};var b=r(56131);e.exports=function(e,t){var r=new y(e,t),n=r.render.bind(r);return b(n,{render:n,update:r.update.bind(r),draw:r.draw.bind(r),destroy:r.destroy.bind(r),regl:r.regl,gl:r.gl,canvas:r.gl.canvas,groups:r.groups,markers:r.markerCache,palette:r.palette}),n}},60487:function(e,t,r){\"use strict\";var n=r(11870),i=r(71299),a=r(21527),o=r(5877),s=r(57471),l=r(18863),u=r(30120);function c(e,t){if(!(this instanceof c))return new c(e,t);this.traces=[],this.passes={},this.regl=e,this.scatter=n(e),this.canvas=this.scatter.canvas}function f(e,t,r){return(null!=e.id?e.id:e)<<16|(255&t)<<8|255&r}function h(e,t,r){var n,i,a,o,s=e[t],l=e[r];return s.length>2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(e){if(\"number\"==typeof e)return[e,e,e,e];if(2===e.length)return[e[0],e[1],e[0],e[1]];var t=l(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}e.exports=c,c.prototype.render=function(){for(var e,t=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(e=this).update.apply(e,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){t.draw(),t.dirty=!0,t.planned=null}))):(this.draw(),this.dirty=!0,o((function(){t.dirty=!1}))),this)},c.prototype.update=function(){for(var e,t=[],r=arguments.length;r--;)t[r]=arguments[r];if(t.length){for(var n=0;n<t.length;n++)this.updateItem(n,t[n]);this.traces=this.traces.filter(Boolean);for(var i=[],a=0,o=0;o<this.traces.length;o++){for(var s=this.traces[o],l=this.traces[o].passes,u=0;u<l.length;u++)i.push(this.passes[l[u]]);s.passOffset=a,a+=s.passes.length}return(e=this.scatter).update.apply(e,i),this}},c.prototype.updateItem=function(e,t){var r=this.regl;if(null===t)return this.traces[e]=null,this;if(!t)return this;var n,o=i(t,{data:\"data items columns rows values dimensions samples x\",snap:\"snap cluster\",size:\"sizes size radius\",color:\"colors color fill fill-color fillColor\",opacity:\"opacity alpha transparency opaque\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",borderColor:\"borderColors borderColor bordercolor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range ranges databox dataBox\",viewport:\"viewport viewBox viewbox\",domain:\"domain domains area areas\",padding:\"pad padding paddings pads margin margins\",transpose:\"transpose transposed\",diagonal:\"diagonal diag showDiagonal\",upper:\"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf\",lower:\"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower\"}),s=this.traces[e]||(this.traces[e]={id:e,buffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),color:\"black\",marker:null,size:12,borderColor:\"transparent\",borderSize:1,viewport:l([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(null!=o.color&&(s.color=o.color),null!=o.size&&(s.size=o.size),null!=o.marker&&(s.marker=o.marker),null!=o.borderColor&&(s.borderColor=o.borderColor),null!=o.borderSize&&(s.borderSize=o.borderSize),null!=o.opacity&&(s.opacity=o.opacity),o.viewport&&(s.viewport=l(o.viewport)),null!=o.diagonal&&(s.diagonal=o.diagonal),null!=o.upper&&(s.upper=o.upper),null!=o.lower&&(s.lower=o.lower),o.data){s.buffer(u(o.data)),s.columns=o.data.length,s.count=o.data[0].length,s.bounds=[];for(var c=0;c<s.columns;c++)s.bounds[c]=a(o.data[c],1)}o.range&&(s.range=o.range,n=s.range&&\"number\"!=typeof s.range[0]),o.domain&&(s.domain=o.domain);var d=!1;null!=o.padding&&(Array.isArray(o.padding)&&o.padding.length===s.columns&&\"number\"==typeof o.padding[o.padding.length-1]?(s.padding=o.padding.map(p),d=!0):s.padding=p(o.padding));var v=s.columns,g=s.count,m=s.viewport.width,y=s.viewport.height,x=s.viewport.x,b=s.viewport.y,_=m/v,w=y/v;s.passes=[];for(var k=0;k<v;k++)for(var T=0;T<v;T++)if((s.diagonal||T!==k)&&(s.upper||!(k>T))&&(s.lower||!(k<T))){var M=f(s.id,k,T),A=this.passes[M]||(this.passes[M]={});if(o.data&&(o.transpose?A.positions={x:{buffer:s.buffer,offset:T,count:g,stride:v},y:{buffer:s.buffer,offset:k,count:g,stride:v}}:A.positions={x:{buffer:s.buffer,offset:T*g,count:g},y:{buffer:s.buffer,offset:k*g,count:g}},A.bounds=h(s.bounds,k,T)),o.domain||o.viewport||o.data){var S=d?h(s.padding,k,T):s.padding;if(s.domain){var E=h(s.domain,k,T),C=E[0],L=E[1],P=E[2],O=E[3];A.viewport=[x+C*m+S[0],b+L*y+S[1],x+P*m-S[2],b+O*y-S[3]]}else A.viewport=[x+T*_+_*S[0],b+k*w+w*S[1],x+(T+1)*_-_*S[2],b+(k+1)*w-w*S[3]]}o.color&&(A.color=s.color),o.size&&(A.size=s.size),o.marker&&(A.marker=s.marker),o.borderSize&&(A.borderSize=s.borderSize),o.borderColor&&(A.borderColor=s.borderColor),o.opacity&&(A.opacity=s.opacity),o.range&&(A.range=n?h(s.range,k,T):s.range||A.bounds),s.passes.push(M)}return this},c.prototype.draw=function(){for(var e,t=[],r=arguments.length;r--;)t[r]=arguments[r];if(t.length){for(var n=[],i=0;i<t.length;i++)if(\"number\"==typeof t[i]){var a=this.traces[t[i]],o=a.passes,l=a.passOffset;n.push.apply(n,s(l,l+o.length))}else if(t[i].length){var u=t[i],c=this.traces[i],f=c.passes,h=c.passOffset;f=f.map((function(e,t){n[h+t]=u}))}(e=this.scatter).draw.apply(e,n)}else this.scatter.draw();return this},c.prototype.destroy=function(){return this.traces.forEach((function(e){e.buffer&&e.buffer.destroy&&e.buffer.destroy()})),this.traces=null,this.passes=null,this.scatter.destroy(),this}},98580:function(e){e.exports=function(){function e(e,t){this.id=Y++,this.type=e,this.data=t}function t(e){if(0===e.length)return[];var r=e.charAt(0),n=e.charAt(e.length-1);if(1<e.length&&r===n&&('\"'===r||\"'\"===r))return['\"'+e.substr(1,e.length-2).replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];if(r=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(e))return t(e.substr(0,r.index)).concat(t(r[1])).concat(t(e.substr(r.index+r[0].length)));if(1===(r=e.split(\".\")).length)return['\"'+e.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];for(e=[],n=0;n<r.length;++n)e=e.concat(t(r[n]));return e}function r(e){return\"[\"+t(e).join(\"][\")+\"]\"}function n(e){return\"string\"==typeof e?e.split():e}function i(e){return\"string\"==typeof e?document.querySelector(e):e}function a(e){var t,r,a,o,s=e||{};e={};var l=[],u=[],c=\"undefined\"==typeof window?1:window.devicePixelRatio,f=!1,h={},p=function(e){},d=function(){};if(\"string\"==typeof s?t=document.querySelector(s):\"object\"==typeof s&&(\"string\"==typeof s.nodeName&&\"function\"==typeof s.appendChild&&\"function\"==typeof s.getBoundingClientRect?t=s:\"function\"==typeof s.drawArrays||\"function\"==typeof s.drawElements?a=(o=s).canvas:(\"gl\"in s?o=s.gl:\"canvas\"in s?a=i(s.canvas):\"container\"in s&&(r=i(s.container)),\"attributes\"in s&&(e=s.attributes),\"extensions\"in s&&(l=n(s.extensions)),\"optionalExtensions\"in s&&(u=n(s.optionalExtensions)),\"onDone\"in s&&(p=s.onDone),\"profile\"in s&&(f=!!s.profile),\"pixelRatio\"in s&&(c=+s.pixelRatio),\"cachedCode\"in s&&(h=s.cachedCode))),t&&(\"canvas\"===t.nodeName.toLowerCase()?a=t:r=t),!o){if(!a){if(!(t=function(e,t,r){function n(){var t=window.innerWidth,n=window.innerHeight;e!==document.body&&(t=(n=a.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),a.width=r*t,a.height=r*n}var i,a=document.createElement(\"canvas\");return G(a.style,{border:0,margin:0,padding:0,top:0,left:0,width:\"100%\",height:\"100%\"}),e.appendChild(a),e===document.body&&(a.style.position=\"absolute\",G(e.style,{margin:0,padding:0})),e!==document.body&&\"function\"==typeof ResizeObserver?(i=new ResizeObserver((function(){setTimeout(n)}))).observe(e):window.addEventListener(\"resize\",n,!1),n(),{canvas:a,onDestroy:function(){i?i.disconnect():window.removeEventListener(\"resize\",n),e.removeChild(a)}}}(r||document.body,0,c)))return null;a=t.canvas,d=t.onDestroy}void 0===e.premultipliedAlpha&&(e.premultipliedAlpha=!0),o=function(e,t){function r(r){try{return e.getContext(r,t)}catch(e){return null}}return r(\"webgl\")||r(\"experimental-webgl\")||r(\"webgl-experimental\")}(a,e)}return o?{gl:o,canvas:a,container:r,extensions:l,optionalExtensions:u,pixelRatio:c,profile:f,cachedCode:h,onDone:p,onDestroy:d}:(d(),p(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function o(e,t){for(var r=Array(e),n=0;n<e;++n)r[n]=t(n);return r}function s(e){var t,r;return t=(65535<e)<<4,t|=r=(255<(e>>>=t))<<3,(t|=r=(15<(e>>>=r))<<2)|(r=(3<(e>>>=r))<<1)|e>>>r>>1}function l(){function e(e){e:{for(var t=16;268435456>=t;t*=16)if(e<=t){e=t;break e}e=0}return 0<(t=r[s(e)>>2]).length?t.pop():new ArrayBuffer(e)}function t(e){r[s(e.byteLength)>>2].push(e)}var r=o(8,(function(){return[]}));return{alloc:e,free:t,allocType:function(t,r){var n=null;switch(t){case 5120:n=new Int8Array(e(r),0,r);break;case 5121:n=new Uint8Array(e(r),0,r);break;case 5122:n=new Int16Array(e(2*r),0,r);break;case 5123:n=new Uint16Array(e(2*r),0,r);break;case 5124:n=new Int32Array(e(4*r),0,r);break;case 5125:n=new Uint32Array(e(4*r),0,r);break;case 5126:n=new Float32Array(e(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(e){t(e.buffer)}}}function u(e){return!!e&&\"object\"==typeof e&&Array.isArray(e.shape)&&Array.isArray(e.stride)&&\"number\"==typeof e.offset&&e.shape.length===e.stride.length&&(Array.isArray(e.data)||$(e.data))}function c(e,t,r,n,i,a){for(var o=0;o<t;++o)for(var s=e[o],l=0;l<r;++l)for(var u=s[l],c=0;c<n;++c)i[a++]=u[c]}function f(e,t,r,n,i){for(var a=1,o=r+1;o<t.length;++o)a*=t[o];var s=t[r];if(4==t.length-r){var l=t[r+1],u=t[r+2];for(t=t[r+3],o=0;o<s;++o)c(e[o],l,u,t,n,i),i+=a}else for(o=0;o<s;++o)f(e[o],t,r+1,n,i),i+=a}function h(e){return 0|te[Object.prototype.toString.call(e)]}function p(e,t){for(var r=0;r<t.length;++r)e[r]=t[r]}function d(e,t,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var u=0;u<n;++u)e[s++]=t[i*l+a*u+o]}function v(e,t,r,n){function i(t){this.id=l++,this.buffer=e.createBuffer(),this.type=t,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function a(t,r,n){t.byteLength=r.byteLength,e.bufferData(t.type,r,n)}function o(e,t,r,n,i,o){if(e.usage=r,Array.isArray(t)){if(e.dtype=n||5126,0<t.length)if(Array.isArray(t[0])){i=ae(t);for(var s=n=1;s<i.length;++s)n*=i[s];e.dimension=n,a(e,t=ie(t,i,e.dtype),r),o?e.persistentData=t:K.freeType(t)}else\"number\"==typeof t[0]?(e.dimension=i,p(i=K.allocType(e.dtype,t.length),t),a(e,i,r),o?e.persistentData=i:K.freeType(i)):$(t[0])&&(e.dimension=t[0].length,e.dtype=n||h(t[0])||5126,a(e,t=ie(t,[t.length,t[0].length],e.dtype),r),o?e.persistentData=t:K.freeType(t))}else if($(t))e.dtype=n||h(t),e.dimension=i,a(e,t,r),o&&(e.persistentData=new Uint8Array(new Uint8Array(t.buffer)));else if(u(t)){i=t.shape;var l=t.stride,c=(s=t.offset,0),f=0,v=0,g=0;1===i.length?(c=i[0],f=1,v=l[0],g=0):2===i.length&&(c=i[0],f=i[1],v=l[0],g=l[1]),e.dtype=n||h(t.data)||5126,e.dimension=f,d(i=K.allocType(e.dtype,c*f),t.data,c,f,v,g,s),a(e,i,r),o?e.persistentData=i:K.freeType(i)}else t instanceof ArrayBuffer&&(e.dtype=5121,e.dimension=i,a(e,t,r),o&&(e.persistentData=new Uint8Array(new Uint8Array(t))))}function s(r){t.bufferCount--,n(r),e.deleteBuffer(r.buffer),r.buffer=null,delete c[r.id]}var l=0,c={};i.prototype.bind=function(){e.bindBuffer(this.type,this.buffer)},i.prototype.destroy=function(){s(this)};var f=[];return r.profile&&(t.getTotalBufferSize=function(){var e=0;return Object.keys(c).forEach((function(t){e+=c[t].stats.size})),e}),{create:function(n,a,l,f){function v(t){var n=35044,i=null,a=0,s=0,l=1;return Array.isArray(t)||$(t)||u(t)||t instanceof ArrayBuffer?i=t:\"number\"==typeof t?a=0|t:t&&(\"data\"in t&&(i=t.data),\"usage\"in t&&(n=ne[t.usage]),\"type\"in t&&(s=re[t.type]),\"dimension\"in t&&(l=0|t.dimension),\"length\"in t&&(a=0|t.length)),g.bind(),i?o(g,i,n,s,l,f):(a&&e.bufferData(g.type,a,n),g.dtype=s||5121,g.usage=n,g.dimension=l,g.byteLength=a),r.profile&&(g.stats.size=g.byteLength*oe[g.dtype]),v}t.bufferCount++;var g=new i(a);return c[g.id]=g,l||v(n),v._reglType=\"buffer\",v._buffer=g,v.subdata=function(t,r){var n,i=0|(r||0);if(g.bind(),$(t)||t instanceof ArrayBuffer)e.bufferSubData(g.type,i,t);else if(Array.isArray(t)){if(0<t.length)if(\"number\"==typeof t[0]){var a=K.allocType(g.dtype,t.length);p(a,t),e.bufferSubData(g.type,i,a),K.freeType(a)}else(Array.isArray(t[0])||$(t[0]))&&(n=ae(t),a=ie(t,n,g.dtype),e.bufferSubData(g.type,i,a),K.freeType(a))}else if(u(t)){n=t.shape;var o=t.stride,s=a=0,l=0,c=0;1===n.length?(a=n[0],s=1,l=o[0],c=0):2===n.length&&(a=n[0],s=n[1],l=o[0],c=o[1]),n=Array.isArray(t.data)?g.dtype:h(t.data),d(n=K.allocType(n,a*s),t.data,a,s,l,c,t.offset),e.bufferSubData(g.type,i,n),K.freeType(n)}return v},r.profile&&(v.stats=g.stats),v.destroy=function(){s(g)},v},createStream:function(e,t){var r=f.pop();return r||(r=new i(e)),r.bind(),o(r,t,35040,0,1,!1),r},destroyStream:function(e){f.push(e)},clear:function(){Q(c).forEach(s),f.forEach(s)},getBuffer:function(e){return e&&e._buffer instanceof i?e._buffer:null},restore:function(){Q(c).forEach((function(t){t.buffer=e.createBuffer(),e.bindBuffer(t.type,t.buffer),e.bufferData(t.type,t.persistentData||t.byteLength,t.usage)}))},_initBuffer:o}}function g(e,t,r,n){function i(e){this.id=l++,s[this.id]=this,this.buffer=e,this.primType=4,this.type=this.vertCount=0}function a(n,i,a,o,s,l,c){var f;if(n.buffer.bind(),i?((f=c)||$(i)&&(!u(i)||$(i.data))||(f=t.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,f,3)):(e.bufferData(34963,l,a),n.buffer.dtype=f||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=l),f=c,!c){switch(n.buffer.dtype){case 5121:case 5120:f=5121;break;case 5123:case 5122:f=5123;break;case 5125:case 5124:f=5125}n.buffer.dtype=f}n.type=f,0>(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(e){n.elementsCount--,delete s[e.id],e.buffer.destroy(),e.buffer=null}var s={},l=0,c={uint8:5121,uint16:5123};t.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(e,t){function s(e){if(e)if(\"number\"==typeof e)l(e),f.primType=4,f.vertCount=0|e,f.type=5121;else{var t=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(e)||$(e)||u(e)?t=e:(\"data\"in e&&(t=e.data),\"usage\"in e&&(r=ne[e.usage]),\"primitive\"in e&&(n=se[e.primitive]),\"count\"in e&&(i=0|e.count),\"type\"in e&&(h=c[e.type]),\"length\"in e?o=0|e.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,t,r,n,i,o,h)}else l(),f.primType=4,f.vertCount=0,f.type=5121;return s}var l=r.create(null,34963,!0),f=new i(l._buffer);return n.elementsCount++,s(e),s._reglType=\"elements\",s._elements=f,s.subdata=function(e,t){return l.subdata(e,t),s},s.destroy=function(){o(f)},s},createStream:function(e){var t=f.pop();return t||(t=new i(r.create(null,34963,!0,!1)._buffer)),a(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){f.push(e)},getElements:function(e){return\"function\"==typeof e&&e._elements instanceof i?e._elements:null},clear:function(){Q(s).forEach(o)}}}function m(e){for(var t=K.allocType(5123,e.length),r=0;r<e.length;++r)if(isNaN(e[r]))t[r]=65535;else if(1/0===e[r])t[r]=31744;else if(-1/0===e[r])t[r]=64512;else{le[0]=e[r];var n=(a=ue[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;t[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15<i?n+31744:n+(i+15<<10)+a}return t}function y(e){return Array.isArray(e)||$(e)}function x(e){return\"[object \"+e+\"]\"}function b(e){return Array.isArray(e)&&(0===e.length||\"number\"==typeof e[0])}function _(e){return!(!Array.isArray(e)||0===e.length||!y(e[0]))}function w(e){return Object.prototype.toString.call(e)}function k(e){if(!e)return!1;var t=w(e);return 0<=xe.indexOf(t)||b(e)||_(e)||u(e)}function T(e,t){36193===e.type?(e.data=m(t),K.freeType(t)):e.data=t}function M(e,t,r,n,i,a){if(e=void 0!==_e[e]?_e[e]:he[e]*be[t],a&&(e*=6),i){for(n=0;1<=r;)n+=e*r*r,r/=2;return n}return e*r*n}function A(e,t,r,n,i,a,o){function s(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function l(e,t){e.internalformat=t.internalformat,e.format=t.format,e.type=t.type,e.compressed=t.compressed,e.premultiplyAlpha=t.premultiplyAlpha,e.flipY=t.flipY,e.unpackAlignment=t.unpackAlignment,e.colorSpace=t.colorSpace,e.width=t.width,e.height=t.height,e.channels=t.channels}function c(e,t){if(\"object\"==typeof t&&t){\"premultiplyAlpha\"in t&&(e.premultiplyAlpha=t.premultiplyAlpha),\"flipY\"in t&&(e.flipY=t.flipY),\"alignment\"in t&&(e.unpackAlignment=t.alignment),\"colorSpace\"in t&&(e.colorSpace=V[t.colorSpace]),\"type\"in t&&(e.type=H[t.type]);var r=e.width,n=e.height,i=e.channels,a=!1;\"shape\"in t?(r=t.shape[0],n=t.shape[1],3===t.shape.length&&(i=t.shape[2],a=!0)):(\"radius\"in t&&(r=n=t.radius),\"width\"in t&&(r=t.width),\"height\"in t&&(n=t.height),\"channels\"in t&&(i=t.channels,a=!0)),e.width=0|r,e.height=0|n,e.channels=0|i,r=!1,\"format\"in t&&(r=t.format,n=e.internalformat=q[r],e.format=ae[n],r in H&&!(\"type\"in t)&&(e.type=H[r]),r in Y&&(e.compressed=!0),r=!0),!a&&r?e.channels=he[e.format]:a&&!r&&e.channels!==fe[e.format]&&(e.format=e.internalformat=fe[e.channels])}}function f(t){e.pixelStorei(37440,t.flipY),e.pixelStorei(37441,t.premultiplyAlpha),e.pixelStorei(37443,t.colorSpace),e.pixelStorei(3317,t.unpackAlignment)}function h(){s.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(e,t){var r=null;if(k(t)?r=t:t&&(c(e,t),\"x\"in t&&(e.xOffset=0|t.x),\"y\"in t&&(e.yOffset=0|t.y),k(t.data)&&(r=t.data)),t.copy){var n=i.viewportWidth,a=i.viewportHeight;e.width=e.width||n-e.xOffset,e.height=e.height||a-e.yOffset,e.needsCopy=!0}else if(r){if($(r))e.channels=e.channels||4,e.data=r,\"type\"in t||5121!==e.type||(e.type=0|te[Object.prototype.toString.call(r)]);else if(b(r)){switch(e.channels=e.channels||4,a=(n=r).length,e.type){case 5121:case 5123:case 5125:case 5126:(a=K.allocType(e.type,a)).set(n),e.data=a;break;case 36193:e.data=m(n)}e.alignment=1,e.needsFree=!0}else if(u(r)){n=r.data,Array.isArray(n)||5121!==e.type||(e.type=0|te[Object.prototype.toString.call(n)]),a=r.shape;var o,s,l,f,h=r.stride;3===a.length?(l=a[2],f=h[2]):f=l=1,o=a[0],s=a[1],a=h[0],h=h[1],e.alignment=1,e.width=o,e.height=s,e.channels=l,e.format=e.internalformat=fe[l],e.needsFree=!0,o=f,r=r.offset,l=e.width,f=e.height,s=e.channels;for(var p=K.allocType(36193===e.type?5126:e.type,l*f*s),d=0,v=0;v<f;++v)for(var g=0;g<l;++g)for(var x=0;x<s;++x)p[d++]=n[a*g+h*v+o*x+r];T(e,p)}else if(w(r)===pe||w(r)===de||w(r)===ve)w(r)===pe||w(r)===de?e.element=r:e.element=r.canvas,e.width=e.element.width,e.height=e.element.height,e.channels=4;else if(w(r)===ge)e.element=r,e.width=r.width,e.height=r.height,e.channels=4;else if(w(r)===me)e.element=r,e.width=r.naturalWidth,e.height=r.naturalHeight,e.channels=4;else if(w(r)===ye)e.element=r,e.width=r.videoWidth,e.height=r.videoHeight,e.channels=4;else if(_(r)){for(n=e.width||r[0].length,a=e.height||r.length,h=e.channels,h=y(r[0][0])?h||r[0][0].length:h||1,o=ee.shape(r),l=1,f=0;f<o.length;++f)l*=o[f];l=K.allocType(36193===e.type?5126:e.type,l),ee.flatten(r,o,\"\",l),T(e,l),e.alignment=1,e.width=n,e.height=a,e.channels=h,e.format=e.internalformat=fe[h],e.needsFree=!0}}else e.width=e.width||1,e.height=e.height||1,e.channels=e.channels||4}function d(t,r,i,a,o){var s=t.element,l=t.data,u=t.internalformat,c=t.format,h=t.type,p=t.width,d=t.height;f(t),s?e.texSubImage2D(r,o,i,a,c,h,s):t.compressed?e.compressedTexSubImage2D(r,o,i,a,u,p,d,l):t.needsCopy?(n(),e.copyTexSubImage2D(r,o,i,a,t.xOffset,t.yOffset,p,d)):e.texSubImage2D(r,o,i,a,p,d,c,h,l)}function v(){return oe.pop()||new h}function g(e){e.needsFree&&K.freeType(e.data),h.call(e),oe.push(e)}function x(){s.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function A(e,t,r){var n=e.images[0]=v();e.mipmask=1,n.width=e.width=t,n.height=e.height=r,n.channels=e.channels=4}function S(e,t){var r=null;if(k(t))l(r=e.images[0]=v(),e),p(r,t),e.mipmask=1;else if(c(e,t),Array.isArray(t.mipmap))for(var n=t.mipmap,i=0;i<n.length;++i)l(r=e.images[i]=v(),e),r.width>>=i,r.height>>=i,p(r,n[i]),e.mipmask|=1<<i;else l(r=e.images[0]=v(),e),p(r,t),e.mipmask=1;l(e,e.images[0])}function E(t,r){for(var i=t.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,u=o.element,c=o.data,h=o.internalformat,p=o.format,d=o.type,v=o.width,g=o.height;f(o),u?e.texImage2D(s,l,p,p,d,u):o.compressed?e.compressedTexImage2D(s,l,h,v,g,0,c):o.needsCopy?(n(),e.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,v,g,0)):e.texImage2D(s,l,p,v,g,0,p,d,c||null)}}function C(){var e=se.pop()||new x;s.call(e);for(var t=e.mipmask=0;16>t;++t)e.images[t]=null;return e}function L(e){for(var t=e.images,r=0;r<t.length;++r)t[r]&&g(t[r]),t[r]=null;se.push(e)}function P(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function O(e,t){\"min\"in t&&(e.minFilter=U[t.min],0<=ce.indexOf(e.minFilter)&&!(\"faces\"in t)&&(e.genMipmaps=!0)),\"mag\"in t&&(e.magFilter=j[t.mag]);var r=e.wrapS,n=e.wrapT;if(\"wrap\"in t){var i=t.wrap;\"string\"==typeof i?r=n=N[i]:Array.isArray(i)&&(r=N[i[0]],n=N[i[1]])}else\"wrapS\"in t&&(r=N[t.wrapS]),\"wrapT\"in t&&(n=N[t.wrapT]);if(e.wrapS=r,e.wrapT=n,\"anisotropic\"in t&&(e.anisotropic=t.anisotropic),\"mipmap\"in t){switch(r=!1,typeof t.mipmap){case\"string\":e.mipmapHint=B[t.mipmap],r=e.genMipmaps=!0;break;case\"boolean\":r=e.genMipmaps=t.mipmap;break;case\"object\":e.genMipmaps=!1,r=!0}!r||\"min\"in t||(e.minFilter=9984)}}function I(r,n){e.texParameteri(n,10241,r.minFilter),e.texParameteri(n,10240,r.magFilter),e.texParameteri(n,10242,r.wrapS),e.texParameteri(n,10243,r.wrapT),t.ext_texture_filter_anisotropic&&e.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(e.hint(33170,r.mipmapHint),e.generateMipmap(n))}function D(t){s.call(this),this.mipmask=0,this.internalformat=6408,this.id=le++,this.refCount=1,this.target=t,this.texture=e.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new P,o.profile&&(this.stats={size:0})}function z(t){e.activeTexture(33984),e.bindTexture(t.target,t.texture)}function R(){var t=be[0];t?e.bindTexture(t.target,t.texture):e.bindTexture(3553,null)}function F(t){var r=t.texture,n=t.unit,i=t.target;0<=n&&(e.activeTexture(33984+n),e.bindTexture(i,null),be[n]=null),e.deleteTexture(r),t.texture=null,t.params=null,t.pixels=null,t.refCount=0,delete ue[t.id],a.textureCount--}var B={\"don't care\":4352,\"dont care\":4352,nice:4354,fast:4353},N={repeat:10497,clamp:33071,mirror:33648},j={nearest:9728,linear:9729},U=G({mipmap:9987,\"nearest mipmap nearest\":9984,\"linear mipmap nearest\":9985,\"nearest mipmap linear\":9986,\"linear mipmap linear\":9987},j),V={none:0,browser:37444},H={uint8:5121,rgba4:32819,rgb565:33635,\"rgb5 a1\":32820},q={alpha:6406,luminance:6409,\"luminance alpha\":6410,rgb:6407,rgba:6408,rgba4:32854,\"rgb5 a1\":32855,rgb565:36194},Y={};t.ext_srgb&&(q.srgb=35904,q.srgba=35906),t.oes_texture_float&&(H.float32=H.float=5126),t.oes_texture_half_float&&(H.float16=H[\"half float\"]=36193),t.webgl_depth_texture&&(G(q,{depth:6402,\"depth stencil\":34041}),G(H,{uint16:5123,uint32:5125,\"depth stencil\":34042})),t.webgl_compressed_texture_s3tc&&G(Y,{\"rgb s3tc dxt1\":33776,\"rgba s3tc dxt1\":33777,\"rgba s3tc dxt3\":33778,\"rgba s3tc dxt5\":33779}),t.webgl_compressed_texture_atc&&G(Y,{\"rgb atc\":35986,\"rgba atc explicit alpha\":35987,\"rgba atc interpolated alpha\":34798}),t.webgl_compressed_texture_pvrtc&&G(Y,{\"rgb pvrtc 4bppv1\":35840,\"rgb pvrtc 2bppv1\":35841,\"rgba pvrtc 4bppv1\":35842,\"rgba pvrtc 2bppv1\":35843}),t.webgl_compressed_texture_etc1&&(Y[\"rgb etc1\"]=36196);var W=Array.prototype.slice.call(e.getParameter(34467));Object.keys(Y).forEach((function(e){var t=Y[e];0<=W.indexOf(t)&&(q[e]=t)}));var Z=Object.keys(q);r.textureFormats=Z;var X=[];Object.keys(q).forEach((function(e){X[q[e]]=e}));var J=[];Object.keys(H).forEach((function(e){J[H[e]]=e}));var re=[];Object.keys(j).forEach((function(e){re[j[e]]=e}));var ne=[];Object.keys(U).forEach((function(e){ne[U[e]]=e}));var ie=[];Object.keys(N).forEach((function(e){ie[N[e]]=e}));var ae=Z.reduce((function(e,r){var n=q[r];return 6409===n||6406===n||6409===n||6410===n||6402===n||34041===n||t.ext_srgb&&(35904===n||35906===n)?e[n]=n:32855===n||0<=r.indexOf(\"rgba\")?e[n]=6408:e[n]=6407,e}),{}),oe=[],se=[],le=0,ue={},xe=r.maxTextureUnits,be=Array(xe).map((function(){return null}));return G(D.prototype,{bind:function(){this.bindCount+=1;var t=this.unit;if(0>t){for(var r=0;r<xe;++r){var n=be[r];if(n){if(0<n.bindCount)continue;n.unit=-1}be[r]=this,t=r;break}o.profile&&a.maxTextureUnits<t+1&&(a.maxTextureUnits=t+1),this.unit=t,e.activeTexture(33984+t),e.bindTexture(this.target,this.texture)}return t},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var e=0;return Object.keys(ue).forEach((function(t){e+=ue[t].stats.size})),e}),{create2D:function(t,r){function n(e,t){var r=i.texInfo;P.call(r);var a=C();return\"number\"==typeof e?A(a,0|e,\"number\"==typeof t?0|t:0|e):e?(O(r,e),S(a,e)):A(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,z(i),E(a,3553),I(r,3553),R(),L(a),o.profile&&(i.stats.size=M(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=X[i.internalformat],n.type=J[i.type],n.mag=re[r.magFilter],n.min=ne[r.minFilter],n.wrapS=ie[r.wrapS],n.wrapT=ie[r.wrapT],n}var i=new D(3553);return ue[i.id]=i,a.textureCount++,n(t,r),n.subimage=function(e,t,r,a){t|=0,r|=0,a|=0;var o=v();return l(o,i),o.width=0,o.height=0,p(o,e),o.width=o.width||(i.width>>a)-t,o.height=o.height||(i.height>>a)-r,z(i),d(o,3553,t,r,a),R(),g(o),n},n.resize=function(t,r){var a=0|t,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,z(i);for(var l=0;i.mipmask>>l;++l){var u=a>>l,c=s>>l;if(!u||!c)break;e.texImage2D(3553,l,i.format,u,c,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=M(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType=\"texture2d\",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(t,r,n,i,s,u){function f(e,t,r,n,i,a){var s,u=h.texInfo;for(P.call(u),s=0;6>s;++s)m[s]=C();if(\"number\"!=typeof e&&e){if(\"object\"==typeof e)if(t)S(m[0],e),S(m[1],t),S(m[2],r),S(m[3],n),S(m[4],i),S(m[5],a);else if(O(u,e),c(h,e),\"faces\"in e)for(e=e.faces,s=0;6>s;++s)l(m[s],h),S(m[s],e[s]);else for(s=0;6>s;++s)S(m[s],e)}else for(e=0|e||1,s=0;6>s;++s)A(m[s],e,e);for(l(h,m[0]),h.mipmask=u.genMipmaps?(m[0].width<<1)-1:m[0].mipmask,h.internalformat=m[0].internalformat,f.width=m[0].width,f.height=m[0].height,z(h),s=0;6>s;++s)E(m[s],34069+s);for(I(u,34067),R(),o.profile&&(h.stats.size=M(h.internalformat,h.type,f.width,f.height,u.genMipmaps,!0)),f.format=X[h.internalformat],f.type=J[h.type],f.mag=re[u.magFilter],f.min=ne[u.minFilter],f.wrapS=ie[u.wrapS],f.wrapT=ie[u.wrapT],s=0;6>s;++s)L(m[s]);return f}var h=new D(34067);ue[h.id]=h,a.cubeCount++;var m=Array(6);return f(t,r,n,i,s,u),f.subimage=function(e,t,r,n,i){r|=0,n|=0,i|=0;var a=v();return l(a,h),a.width=0,a.height=0,p(a,t),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,z(h),d(a,34069+e,r,n,i),R(),g(a),f},f.resize=function(t){if((t|=0)!==h.width){f.width=h.width=t,f.height=h.height=t,z(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)e.texImage2D(34069+r,n,h.format,t>>n,t>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=M(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType=\"textureCube\",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var t=0;t<xe;++t)e.activeTexture(33984+t),e.bindTexture(3553,null),be[t]=null;Q(ue).forEach(F),a.cubeCount=0,a.textureCount=0},getTexture:function(e){return null},restore:function(){for(var t=0;t<xe;++t){var r=be[t];r&&(r.bindCount=0,r.unit=-1,be[t]=null)}Q(ue).forEach((function(t){t.texture=e.createTexture(),e.bindTexture(t.target,t.texture);for(var r=0;32>r;++r)if(0!=(t.mipmask&1<<r))if(3553===t.target)e.texImage2D(3553,r,t.internalformat,t.width>>r,t.height>>r,0,t.internalformat,t.type,null);else for(var n=0;6>n;++n)e.texImage2D(34069+n,r,t.internalformat,t.width>>r,t.height>>r,0,t.internalformat,t.type,null);I(t.texInfo,t.target)}))},refresh:function(){for(var t=0;t<xe;++t){var r=be[t];r&&(r.bindCount=0,r.unit=-1,be[t]=null),e.activeTexture(33984+t),e.bindTexture(3553,null),e.bindTexture(34067,null)}}}}function S(e,t,r,n,i,a){function o(e,t,r){this.target=e,this.texture=t,this.renderbuffer=r;var n=e=0;t?(e=t.width,n=t.height):r&&(e=r.width,n=r.height),this.width=e,this.height=n}function s(e){e&&(e.texture&&e.texture._texture.decRef(),e.renderbuffer&&e.renderbuffer._renderbuffer.decRef())}function l(e,t,r){e&&(e.texture?e.texture._texture.refCount+=1:e.renderbuffer._renderbuffer.refCount+=1)}function u(t,r){r&&(r.texture?e.framebufferTexture2D(36160,t,r.target,r.texture._texture.texture,0):e.framebufferRenderbuffer(36160,t,36161,r.renderbuffer._renderbuffer.renderbuffer))}function c(e){var t=3553,r=null,n=null,i=e;return\"object\"==typeof e&&(i=e.data,\"target\"in e&&(t=0|e.target)),\"texture2d\"===(e=i._reglType)||\"textureCube\"===e?r=i:\"renderbuffer\"===e&&(n=i,t=36161),new o(t,r,n)}function f(e,t,r,a,s){return r?((e=n.create2D({width:e,height:t,format:a,type:s}))._texture.refCount=0,new o(3553,e,null)):((e=i.create({width:e,height:t,format:a}))._renderbuffer.refCount=0,new o(36161,null,e))}function h(e){return e&&(e.texture||e.renderbuffer)}function p(e,t,r){e&&(e.texture?e.texture.resize(t,r):e.renderbuffer&&e.renderbuffer.resize(t,r),e.width=t,e.height=r)}function d(){this.id=k++,T[this.id]=this,this.framebuffer=e.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function v(e){e.colorAttachments.forEach(s),s(e.depthAttachment),s(e.stencilAttachment),s(e.depthStencilAttachment)}function g(t){e.deleteFramebuffer(t.framebuffer),t.framebuffer=null,a.framebufferCount--,delete T[t.id]}function m(t){var n;e.bindFramebuffer(36160,t.framebuffer);var i=t.colorAttachments;for(n=0;n<i.length;++n)u(36064+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)e.framebufferTexture2D(36160,36064+n,3553,null,0);e.framebufferTexture2D(36160,33306,3553,null,0),e.framebufferTexture2D(36160,36096,3553,null,0),e.framebufferTexture2D(36160,36128,3553,null,0),u(36096,t.depthAttachment),u(36128,t.stencilAttachment),u(33306,t.depthStencilAttachment),e.checkFramebufferStatus(36160),e.isContextLost(),e.bindFramebuffer(36160,x.next?x.next.framebuffer:null),x.cur=x.next,e.getError()}function y(e,t){function r(e,t){var i,a=0,o=0,s=!0,u=!0;i=null;var p=!0,d=\"rgba\",g=\"uint8\",y=1,x=null,w=null,k=null,T=!1;\"number\"==typeof e?(a=0|e,o=0|t||a):e?(\"shape\"in e?(a=(o=e.shape)[0],o=o[1]):(\"radius\"in e&&(a=o=e.radius),\"width\"in e&&(a=e.width),\"height\"in e&&(o=e.height)),(\"color\"in e||\"colors\"in e)&&(i=e.color||e.colors,Array.isArray(i)),i||(\"colorCount\"in e&&(y=0|e.colorCount),\"colorTexture\"in e&&(p=!!e.colorTexture,d=\"rgba4\"),\"colorType\"in e&&(g=e.colorType,!p)&&(\"half float\"===g||\"float16\"===g?d=\"rgba16f\":\"float\"!==g&&\"float32\"!==g||(d=\"rgba32f\")),\"colorFormat\"in e&&(d=e.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),(\"depthTexture\"in e||\"depthStencilTexture\"in e)&&(T=!(!e.depthTexture&&!e.depthStencilTexture)),\"depth\"in e&&(\"boolean\"==typeof e.depth?s=e.depth:(x=e.depth,u=!1)),\"stencil\"in e&&(\"boolean\"==typeof e.stencil?u=e.stencil:(w=e.stencil,s=!1)),\"depthStencil\"in e&&(\"boolean\"==typeof e.depthStencil?s=u=e.depthStencil:(k=e.depthStencil,u=s=!1))):a=o=1;var M=null,A=null,S=null,E=null;if(Array.isArray(i))M=i.map(c);else if(i)M=[c(i)];else for(M=Array(y),i=0;i<y;++i)M[i]=f(a,o,p,d,g);for(a=a||M[0].width,o=o||M[0].height,x?A=c(x):s&&!u&&(A=f(a,o,T,\"depth\",\"uint32\")),w?S=c(w):u&&!s&&(S=f(a,o,!1,\"stencil\",\"uint8\")),k?E=c(k):!x&&!w&&u&&s&&(E=f(a,o,T,\"depth stencil\",\"depth stencil\")),s=null,i=0;i<M.length;++i)l(M[i]),M[i]&&M[i].texture&&(u=Te[M[i].texture._texture.format]*Me[M[i].texture._texture.type],null===s&&(s=u));return l(A),l(S),l(E),v(n),n.width=a,n.height=o,n.colorAttachments=M,n.depthAttachment=A,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=M.map(h),r.depth=h(A),r.stencil=h(S),r.depthStencil=h(E),r.width=n.width,r.height=n.height,m(n),r}var n=new d;return a.framebufferCount++,r(e,t),G(r,{resize:function(e,t){var i=Math.max(0|e,1),a=Math.max(0|t||i,1);if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,m(n),r},_reglType:\"framebuffer\",_framebuffer:n,destroy:function(){g(n),v(n)},use:function(e){x.setFBO({framebuffer:r},e)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=[\"rgba\"],_=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];t.ext_srgb&&_.push(\"srgba\"),t.ext_color_buffer_half_float&&_.push(\"rgba16f\",\"rgb16f\"),t.webgl_color_buffer_float&&_.push(\"rgba32f\");var w=[\"uint8\"];t.oes_texture_half_float&&w.push(\"half float\",\"float16\"),t.oes_texture_float&&w.push(\"float\",\"float32\");var k=0,T={};return G(x,{getFramebuffer:function(e){return\"function\"==typeof e&&\"framebuffer\"===e._reglType&&(e=e._framebuffer)instanceof d?e:null},create:y,createCube:function(e){function t(e){var i,a={color:null},o=0,s=null;i=\"rgba\";var l=\"uint8\",u=1;if(\"number\"==typeof e?o=0|e:e?(\"shape\"in e?o=e.shape[0]:(\"radius\"in e&&(o=0|e.radius),\"width\"in e?o=0|e.width:\"height\"in e&&(o=0|e.height)),(\"color\"in e||\"colors\"in e)&&(s=e.color||e.colors,Array.isArray(s)),s||(\"colorCount\"in e&&(u=0|e.colorCount),\"colorType\"in e&&(l=e.colorType),\"colorFormat\"in e&&(i=e.colorFormat)),\"depth\"in e&&(a.depth=e.depth),\"stencil\"in e&&(a.stencil=e.stencil),\"depthStencil\"in e&&(a.depthStencil=e.depthStencil)):o=1,s)if(Array.isArray(s))for(e=[],i=0;i<s.length;++i)e[i]=s[i];else e=[s];else for(e=Array(u),s={radius:o,format:i,type:l},i=0;i<u;++i)e[i]=n.createCube(s);for(a.color=Array(e.length),i=0;i<e.length;++i)u=e[i],o=o||u.width,a.color[i]={target:34069,data:e[i]};for(i=0;6>i;++i){for(u=0;u<e.length;++u)a.color[u].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=y(a)}return G(t,{width:o,height:o,color:e})}var r=Array(6);return t(e),G(t,{faces:r,resize:function(e){var n=0|e;if(n===t.width)return t;var i=t.color;for(e=0;e<i.length;++e)i[e].resize(n);for(e=0;6>e;++e)r[e].resize(n);return t.width=t.height=n,t},_reglType:\"framebufferCube\",destroy:function(){r.forEach((function(e){e.destroy()}))}})},clear:function(){Q(T).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(T).forEach((function(t){t.framebuffer=e.createFramebuffer(),m(t)}))}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function C(e,t,r,n,i,a,o){function s(){this.id=++f,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var e=t.oes_vertex_array_object;this.vao=e?e.createVertexArrayOES():null,h[this.id]=this,this.buffers=[]}var l=r.maxAttributes,c=Array(l);for(r=0;r<l;++r)c[r]=new E;var f=0,h={},p={Record:E,scope:{},state:c,currentVAO:null,targetVAO:null,restore:t.oes_vertex_array_object?function(){t.oes_vertex_array_object&&Q(h).forEach((function(e){e.refresh()}))}:function(){},createVAO:function(e){function t(e){var n;Array.isArray(e)?(n=e,r.elements&&r.ownsElements&&r.elements.destroy(),r.elements=null,r.ownsElements=!1,r.offset=0,r.count=0,r.instances=-1,r.primitive=4):(e.elements?(n=e.elements,r.ownsElements?(\"function\"==typeof n&&\"elements\"===n._reglType?r.elements.destroy():r.elements(n),r.ownsElements=!1):a.getElements(e.elements)?(r.elements=e.elements,r.ownsElements=!1):(r.elements=a.create(e.elements),r.ownsElements=!0)):(r.elements=null,r.ownsElements=!1),n=e.attributes,r.offset=0,r.count=-1,r.instances=-1,r.primitive=4,r.elements&&(r.count=r.elements._elements.vertCount,r.primitive=r.elements._elements.primType),\"offset\"in e&&(r.offset=0|e.offset),\"count\"in e&&(r.count=0|e.count),\"instances\"in e&&(r.instances=0|e.instances),\"primitive\"in e&&(r.primitive=se[e.primitive])),e={};var o=r.attributes;o.length=n.length;for(var s=0;s<n.length;++s){var l,c=n[s],f=o[s]=new E,h=c.data||c;Array.isArray(h)||$(h)||u(h)?(r.buffers[s]&&(l=r.buffers[s],$(h)&&l._buffer.byteLength>=h.byteLength?l.subdata(h):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(c,34962,!1,!0)),f.buffer=i.getBuffer(l),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,e[s]=1):i.getBuffer(c)?(f.buffer=i.getBuffer(c),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(c.buffer)?(f.buffer=i.getBuffer(c.buffer),f.size=0|(+c.size||f.buffer.dimension),f.normalized=!!c.normalized||!1,f.type=\"type\"in c?re[c.type]:f.buffer.dtype,f.offset=0|(c.offset||0),f.stride=0|(c.stride||0),f.divisor=0|(c.divisor||0),f.state=1):\"x\"in c&&(f.x=+c.x||0,f.y=+c.y||0,f.z=+c.z||0,f.w=+c.w||0,f.state=2)}for(l=0;l<r.buffers.length;++l)!e[l]&&r.buffers[l]&&(r.buffers[l].destroy(),r.buffers[l]=null);return r.refresh(),t}var r=new s;return n.vaoCount+=1,t.destroy=function(){for(var e=0;e<r.buffers.length;++e)r.buffers[e]&&r.buffers[e].destroy();r.buffers.length=0,r.ownsElements&&(r.elements.destroy(),r.elements=null,r.ownsElements=!1),r.destroy()},t._vao=r,t._reglType=\"vao\",t(e)},getVAO:function(e){return\"function\"==typeof e&&e._vao?e._vao:null},destroyBuffer:function(t){for(var r=0;r<c.length;++r){var n=c[r];n.buffer===t&&(e.disableVertexAttribArray(r),n.buffer=null)}},setVAO:t.oes_vertex_array_object?function(e){if(e!==p.currentVAO){var r=t.oes_vertex_array_object;e?r.bindVertexArrayOES(e.vao):r.bindVertexArrayOES(null),p.currentVAO=e}}:function(r){if(r!==p.currentVAO){if(r)r.bindAttrs();else{for(var n=t.angle_instanced_arrays,i=0;i<c.length;++i){var a=c[i];a.buffer?(e.enableVertexAttribArray(i),a.buffer.bind(),e.vertexAttribPointer(i,a.size,a.type,a.normalized,a.stride,a.offfset),n&&a.divisor&&n.vertexAttribDivisorANGLE(i,a.divisor)):(e.disableVertexAttribArray(i),e.vertexAttrib4f(i,a.x,a.y,a.z,a.w))}o.elements?e.bindBuffer(34963,o.elements.buffer.buffer):e.bindBuffer(34963,null)}p.currentVAO=r}},clear:t.oes_vertex_array_object?function(){Q(h).forEach((function(e){e.destroy()}))}:function(){}};return s.prototype.bindAttrs=function(){for(var r=t.angle_instanced_arrays,n=this.attributes,i=0;i<n.length;++i){var o=n[i];o.buffer?(e.enableVertexAttribArray(i),e.bindBuffer(34962,o.buffer.buffer),e.vertexAttribPointer(i,o.size,o.type,o.normalized,o.stride,o.offset),r&&o.divisor&&r.vertexAttribDivisorANGLE(i,o.divisor)):(e.disableVertexAttribArray(i),e.vertexAttrib4f(i,o.x,o.y,o.z,o.w))}for(r=n.length;r<l;++r)e.disableVertexAttribArray(r);(r=a.getElements(this.elements))?e.bindBuffer(34963,r.buffer.buffer):e.bindBuffer(34963,null)},s.prototype.refresh=function(){var e=t.oes_vertex_array_object;e&&(e.bindVertexArrayOES(this.vao),this.bindAttrs(),p.currentVAO=null,e.bindVertexArrayOES(null))},s.prototype.destroy=function(){if(this.vao){var e=t.oes_vertex_array_object;this===p.currentVAO&&(p.currentVAO=null,e.bindVertexArrayOES(null)),e.deleteVertexArrayOES(this.vao),this.vao=null}this.ownsElements&&(this.elements.destroy(),this.elements=null,this.ownsElements=!1),h[this.id]&&(delete h[this.id],--n.vaoCount)},p}function L(e,t,r,n){function i(e,t,r,n){this.name=e,this.id=t,this.location=r,this.info=n}function a(e,t){for(var r=0;r<e.length;++r)if(e[r].id===t.id)return void(e[r].location=t.location);e.push(t)}function o(r,n,i){if(!(o=(i=35632===r?u:c)[n])){var a=t.str(n),o=e.createShader(r);e.shaderSource(o,a),e.compileShader(o),i[n]=o}return o}function s(e,t){this.id=p++,this.fragId=e,this.vertId=t,this.program=null,this.uniforms=[],this.attributes=[],this.refCount=1,n.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(r,s,l){var u;u=o(35632,r.fragId);var c=o(35633,r.vertId);if(s=r.program=e.createProgram(),e.attachShader(s,u),e.attachShader(s,c),l)for(u=0;u<l.length;++u)c=l[u],e.bindAttribLocation(s,c[0],c[1]);e.linkProgram(s),c=e.getProgramParameter(s,35718),n.profile&&(r.stats.uniformsCount=c);var f=r.uniforms;for(u=0;u<c;++u)if(l=e.getActiveUniform(s,u))if(1<l.size)for(var h=0;h<l.size;++h){var p=l.name.replace(\"[0]\",\"[\"+h+\"]\");a(f,new i(p,t.id(p),e.getUniformLocation(s,p),l))}else a(f,new i(l.name,t.id(l.name),e.getUniformLocation(s,l.name),l));for(c=e.getProgramParameter(s,35721),n.profile&&(r.stats.attributesCount=c),r=r.attributes,u=0;u<c;++u)(l=e.getActiveAttrib(s,u))&&a(r,new i(l.name,t.id(l.name),e.getAttribLocation(s,l.name),l))}var u={},c={},f={},h=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var e=0;return h.forEach((function(t){t.stats.uniformsCount>e&&(e=t.stats.uniformsCount)})),e},r.getMaxAttributesCount=function(){var e=0;return h.forEach((function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)})),e}),{clear:function(){var t=e.deleteShader.bind(e);Q(u).forEach(t),u={},Q(c).forEach(t),c={},h.forEach((function(t){e.deleteProgram(t.program)})),h.length=0,f={},r.shaderCount=0},program:function(t,n,i,a){var o=f[n];o||(o=f[n]={});var p=o[t];if(p&&(p.refCount++,!a))return p;var d=new s(n,t);return r.shaderCount++,l(d,i,a),p||(o[t]=d),h.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){e.deleteProgram(d.program);var t=h.indexOf(d);h.splice(t,1),r.shaderCount--}0>=o[d.vertId].refCount&&(e.deleteShader(c[d.vertId]),delete c[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(e.deleteShader(u[d.fragId]),delete u[d.fragId],delete f[d.fragId])}})},restore:function(){u={},c={};for(var e=0;e<h.length;++e)l(h[e],null,h[e].attributes.map((function(e){return[e.location,e.name]})))},shader:o,frag:-1,vert:-1}}function P(e,t,r,n,i,a,o){function s(i){var a;a=null===t.next?5121:t.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,u=n.framebufferHeight,c=null;return $(i)?c=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),u=0|(i.height||n.framebufferHeight-s),c=i.data||null),r(),i=l*u*4,c||(5121===a?c=new Uint8Array(i):5126===a&&(c=c||new Float32Array(i))),e.pixelStorei(3333,4),e.readPixels(o,s,l,u,6408,a,c),c}return function(e){return e&&\"framebuffer\"in e?function(e){var r;return t.setFBO({framebuffer:e.framebuffer},(function(){r=s(e)})),r}(e):s(e)}}function O(e,t){return e>>>t|e<<32-t}function I(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function D(e){return Array.prototype.slice.call(e)}function z(e){return D(e).join(\"\")}function R(e){function t(){var e=[],t=[];return G((function(){e.push.apply(e,D(arguments))}),{def:function(){var r=\"v\"+i++;return t.push(r),0<arguments.length&&(e.push(r,\"=\"),e.push.apply(e,D(arguments)),e.push(\";\")),r},toString:function(){return z([0<t.length?\"var \"+t.join(\",\")+\";\":\"\",z(e)])}})}function r(){function e(e,t){n(e,t,\"=\",r.def(e,t),\";\")}var r=t(),n=t(),i=r.toString,a=n.toString;return G((function(){r.apply(r,D(arguments))}),{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,\"=\",i,\";\")},toString:function(){return i()+a()}})}var n=e&&e.cache,i=0,a=[],o=[],s=[],l=t(),u={};return{global:l,link:function(e,t){var r=t&&t.stable;if(!r)for(var n=0;n<o.length;++n)if(o[n]===e&&!s[n])return a[n];return n=\"g\"+i++,a.push(n),o.push(e),s.push(r),n},block:t,proc:function(e,t){function n(){var e=\"a\"+i.length;return i.push(e),e}var i=[];t=t||0;for(var a=0;a<t;++a)n();var o=(a=r()).toString;return u[e]=G(a,{arg:n,toString:function(){return z([\"function(\",i.join(),\"){\",o(),\"}\"])}})},scope:r,cond:function(){var e=z(arguments),t=r(),n=r(),i=t.toString,a=n.toString;return G(t,{then:function(){return t.apply(t,D(arguments)),this},else:function(){return n.apply(n,D(arguments)),this},toString:function(){var t=a();return t&&(t=\"else{\"+t+\"}\"),z([\"if(\",e,\"){\",i(),\"}\",t])}})},compile:function(){var e=['\"use strict\";',l,\"return {\"];Object.keys(u).forEach((function(t){e.push('\"',t,'\":',u[t].toString(),\",\")})),e.push(\"}\");var t,r=z(e).replace(/;/g,\";\\n\").replace(/}/g,\"}\\n\").replace(/{/g,\"{\\n\");return n&&(t=function(e){for(var t,r=\"\",n=0;n<e.length;n++)t=e.charCodeAt(n),r+=\"0123456789abcdef\".charAt(t>>>4&15)+\"0123456789abcdef\".charAt(15&t);return r}(function(e){for(var t=Array(e.length>>2),r=0;r<t.length;r++)t[r]=0;for(r=0;r<8*e.length;r+=8)t[r>>5]|=(255&e.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,u,c,f,h,p,d=8*e.length;for(e=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),t[d>>5]|=128<<24-d%32,t[15+(d+64>>9<<4)]=d,c=0;c<t.length;c+=16){for(d=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],f=0;64>f;f++){var v;16>f?r[f]=t[f+c]:(h=f,p=I(p=O(p=r[f-2],17)^O(p,19)^p>>>10,r[f-7]),v=O(v=r[f-15],7)^O(v,18)^v>>>3,r[h]=I(I(p,v),r[f-16])),h=I(I(I(I(u,h=O(h=o,6)^O(h,11)^O(h,25)),o&s^~o&l),Ae[f]),r[f]),p=I(u=O(u=d,2)^O(u,13)^O(u,22),d&n^d&i^n&i),u=l,l=s,s=o,o=I(a,h),a=i,i=n,n=d,d=I(h,p)}e[0]=I(d,e[0]),e[1]=I(n,e[1]),e[2]=I(i,e[2]),e[3]=I(a,e[3]),e[4]=I(o,e[4]),e[5]=I(s,e[5]),e[6]=I(l,e[6]),e[7]=I(u,e[7])}for(t=\"\",r=0;r<32*e.length;r+=8)t+=String.fromCharCode(e[r>>5]>>>24-r%32&255);return t}(function(e){for(var t,r,n=\"\",i=-1;++i<e.length;)t=e.charCodeAt(i),r=i+1<e.length?e.charCodeAt(i+1):0,55296<=t&&56319>=t&&56320<=r&&57343>=r&&(t=65536+((1023&t)<<10)+(1023&r),i++),127>=t?n+=String.fromCharCode(t):2047>=t?n+=String.fromCharCode(192|t>>>6&31,128|63&t):65535>=t?n+=String.fromCharCode(224|t>>>12&15,128|t>>>6&63,128|63&t):2097151>=t&&(n+=String.fromCharCode(240|t>>>18&7,128|t>>>12&63,128|t>>>6&63,128|63&t));return n}(r))),n[t])?n[t].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[t]=r),r.apply(null,o))}}}function F(e){return Array.isArray(e)||$(e)||u(e)}function B(e){return e.sort((function(e,t){return\"viewport\"===e?-1:\"viewport\"===t?1:e<t?-1:1}))}function N(e,t,r,n){this.thisDep=e,this.contextDep=t,this.propDep=r,this.append=n}function j(e){return e&&!(e.thisDep||e.contextDep||e.propDep)}function U(e){return new N(!1,!1,!1,e)}function V(e,t){var r=e.type;if(0===r)return new N(!0,1<=(r=e.data.length),2<=r,t);if(4===r)return new N((r=e.data).thisDep,r.contextDep,r.propDep,t);if(5===r)return new N(!1,!1,!1,t);if(6===r){for(var n=r=!1,i=!1,a=0;a<e.data.length;++a){var o=e.data[a];1===o.type?i=!0:2===o.type?n=!0:3===o.type?r=!0:0===o.type?(r=!0,1<=(o=o.data)&&(n=!0),2<=o&&(i=!0)):4===o.type&&(r=r||o.data.thisDep,n=n||o.data.contextDep,i=i||o.data.propDep)}return new N(r,n,i,t)}return new N(3===r,2===r,1===r,t)}function H(e,t,r,n,i,a,s,l,u,c,f,h,p,d,v,g){function m(e){return e.replace(\".\",\"_\")}function x(e,t,r){var n=m(e);ae.push(e),ie[n]=ne[n]=!!r,oe[n]=t}function b(e,t,r){var n=m(e);ae.push(e),Array.isArray(r)?(ne[n]=r.slice(),ie[n]=r.slice()):ne[n]=ie[n]=r,le[n]=t}function _(){var e=R({cache:v}),r=e.link,n=e.global;e.id=fe++,e.batchId=\"0\";var i=r(ue),a=e.shared={props:\"a0\"};Object.keys(ue).forEach((function(e){a[e]=n.def(i,\".\",e)}));var o=e.next={},s=e.current={};Object.keys(le).forEach((function(e){Array.isArray(ne[e])&&(o[e]=n.def(a.next,\".\",e),s[e]=n.def(a.current,\".\",e))}));var l=e.constants={};Object.keys(ce).forEach((function(e){l[e]=n.def(JSON.stringify(ce[e]))})),e.invoke=function(t,n){switch(n.type){case 0:var i=[\"this\",a.context,a.props,e.batchId];return t.def(r(n.data),\".call(\",i.slice(0,Math.max(n.data.length+1,4)),\")\");case 1:return t.def(a.props,n.data);case 2:return t.def(a.context,n.data);case 3:return t.def(\"this\",n.data);case 4:return n.data.append(e,t),n.data.ref;case 5:return n.data.toString();case 6:return n.data.map((function(r){return e.invoke(t,r)}))}},e.attribCache={};var u={};return e.scopeAttrib=function(e){if((e=t.id(e))in u)return u[e];var n=c.scope[e];return n||(n=c.scope[e]=new J),u[e]=r(n)},e}function w(e,t){var r=e.static,n=e.dynamic;if(\"framebuffer\"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),U((function(e,t){var r=e.link(i),n=e.shared;return t.set(n.framebuffer,\".next\",r),n=n.context,t.set(n,\".framebufferWidth\",r+\".width\"),t.set(n,\".framebufferHeight\",r+\".height\"),r}))):U((function(e,t){var r=e.shared;return t.set(r.framebuffer,\".next\",\"null\"),r=r.context,t.set(r,\".framebufferWidth\",r+\".drawingBufferWidth\"),t.set(r,\".framebufferHeight\",r+\".drawingBufferHeight\"),\"null\"}))}if(\"framebuffer\"in n){var a=n.framebuffer;return V(a,(function(e,t){var r=e.invoke(t,a),n=e.shared,i=n.framebuffer;return r=t.def(i,\".getFramebuffer(\",r,\")\"),t.set(i,\".next\",r),n=n.context,t.set(n,\".framebufferWidth\",r+\"?\"+r+\".width:\"+n+\".drawingBufferWidth\"),t.set(n,\".framebufferHeight\",r+\"?\"+r+\".height:\"+n+\".drawingBufferHeight\"),r}))}return null}function k(e,r,n){function i(e){if(e in a){var r=t.id(a[e]);return(e=U((function(){return r}))).id=r,e}if(e in o){var n=o[e];return V(n,(function(e,t){var r=e.invoke(t,n);return t.def(e.shared.strings,\".id(\",r,\")\")}))}return null}var a=e.static,o=e.dynamic,s=i(\"frag\"),l=i(\"vert\"),u=null;return j(s)&&j(l)?(u=f.program(l.id,s.id,null,n),e=U((function(e,t){return e.link(u)}))):e=new N(s&&s.thisDep||l&&l.thisDep,s&&s.contextDep||l&&l.contextDep,s&&s.propDep||l&&l.propDep,(function(e,t){var r,n,i=e.shared.shader;return r=s?s.append(e,t):t.def(i,\".\",\"frag\"),n=l?l.append(e,t):t.def(i,\".\",\"vert\"),t.def(i+\".program(\"+n+\",\"+r+\")\")})),{frag:s,vert:l,progVar:e,program:u}}function T(e,t){function r(e,t){if(e in n){var r=0|n[e];return t?o.offset=r:o.instances=r,U((function(e,n){return t&&(e.OFFSET=r),r}))}if(e in i){var a=i[e];return V(a,(function(e,r){var n=e.invoke(r,a);return t&&(e.OFFSET=n),n}))}if(t){if(u)return U((function(e,t){return e.OFFSET=0}));if(s)return new N(l.thisDep,l.contextDep,l.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.vao+\".currentVAO.offset:0\")}))}else if(s)return new N(l.thisDep,l.contextDep,l.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.vao+\".currentVAO.instances:-1\")}));return null}var n=e.static,i=e.dynamic,o={},s=!1,l=function(){if(\"vao\"in n){var e=n.vao;return null!==e&&null===c.getVAO(e)&&(e=c.createVAO(e)),s=!0,o.vao=e,U((function(t){var r=c.getVAO(e);return r?t.link(r):\"null\"}))}if(\"vao\"in i){s=!0;var t=i.vao;return V(t,(function(e,r){var n=e.invoke(r,t);return r.def(e.shared.vao+\".getVAO(\"+n+\")\")}))}return null}(),u=!1,f=function(){if(\"elements\"in n){var e=n.elements;if(o.elements=e,F(e)){var t=o.elements=a.create(e,!0);e=a.getElements(t),u=!0}else e&&(e=a.getElements(e),u=!0);return t=U((function(t,r){if(e){var n=t.link(e);return t.ELEMENTS=n}return t.ELEMENTS=null})),t.value=e,t}if(\"elements\"in i){u=!0;var r=i.elements;return V(r,(function(e,t){var n=(i=e.shared).isBufferArgs,i=i.elements,a=e.invoke(t,r),o=t.def(\"null\");return n=t.def(n,\"(\",a,\")\"),a=e.cond(n).then(o,\"=\",i,\".createStream(\",a,\");\").else(o,\"=\",i,\".getElements(\",a,\");\"),t.entry(a),t.exit(e.cond(n).then(i,\".destroyStream(\",o,\");\")),e.ELEMENTS=o}))}return s?new N(l.thisDep,l.contextDep,l.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.elements+\".getElements(\"+e.shared.vao+\".currentVAO.elements):null\")})):null}(),h=r(\"offset\",!0),p=function(){if(\"primitive\"in n){var e=n.primitive;return o.primitive=e,U((function(t,r){return se[e]}))}if(\"primitive\"in i){var t=i.primitive;return V(t,(function(e,r){var n=e.constants.primTypes,i=e.invoke(r,t);return r.def(n,\"[\",i,\"]\")}))}return u?j(f)?f.value?U((function(e,t){return t.def(e.ELEMENTS,\".primType\")})):U((function(){return 4})):new N(f.thisDep,f.contextDep,f.propDep,(function(e,t){var r=e.ELEMENTS;return t.def(r,\"?\",r,\".primType:\",4)})):s?new N(l.thisDep,l.contextDep,l.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.vao+\".currentVAO.primitive:4\")})):null}(),d=function(){if(\"count\"in n){var e=0|n.count;return o.count=e,U((function(){return e}))}if(\"count\"in i){var t=i.count;return V(t,(function(e,r){return e.invoke(r,t)}))}return u?j(f)?f?h?new N(h.thisDep,h.contextDep,h.propDep,(function(e,t){return t.def(e.ELEMENTS,\".vertCount-\",e.OFFSET)})):U((function(e,t){return t.def(e.ELEMENTS,\".vertCount\")})):U((function(){return-1})):new N(f.thisDep||h.thisDep,f.contextDep||h.contextDep,f.propDep||h.propDep,(function(e,t){var r=e.ELEMENTS;return e.OFFSET?t.def(r,\"?\",r,\".vertCount-\",e.OFFSET,\":-1\"):t.def(r,\"?\",r,\".vertCount:-1\")})):s?new N(l.thisDep,l.contextDep,l.propDep,(function(e,t){return t.def(e.shared.vao,\".currentVAO?\",e.shared.vao,\".currentVAO.count:-1\")})):null}(),v=r(\"instances\",!1);return{elements:f,primitive:p,count:d,instances:v,offset:h,vao:l,vaoActive:s,elementsActive:u,static:o}}function M(e,r){var n=e.static,a=e.dynamic,o={};return Object.keys(n).forEach((function(e){var r=n[e],a=t.id(e),s=new J;if(F(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(u=i.getBuffer(r))s.state=1,s.buffer=u,s.type=0;else if(\"constant\"in r){var l=r.constant;s.buffer=\"null\",s.state=2,\"number\"==typeof l?s.x=l:Se.forEach((function(e,t){t<l.length&&(s[e]=l[t])}))}else{var u=F(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),c=0|r.offset,f=0|r.stride,h=0|r.size,p=!!r.normalized,d=0;\"type\"in r&&(d=re[r.type]),r=0|r.divisor,s.buffer=u,s.state=1,s.size=h,s.normalized=p,s.type=d||u.dtype,s.offset=c,s.stride=f,s.divisor=r}o[e]=U((function(e,t){var r=e.attribCache;if(a in r)return r[a];var n={isStream:!1};return Object.keys(s).forEach((function(e){n[e]=s[e]})),s.buffer&&(n.buffer=e.link(s.buffer),n.type=n.type||n.buffer+\".dtype\"),r[a]=n}))})),Object.keys(a).forEach((function(e){var t=a[e];o[e]=V(t,(function(e,r){function n(e){r(l[e],\"=\",i,\".\",e,\"|0;\")}var i=e.invoke(r,t),a=e.shared,o=e.constants,s=a.isBufferArgs,l=(a=a.buffer,{isStream:r.def(!1)}),u=new J;u.state=1,Object.keys(u).forEach((function(e){l[e]=r.def(\"\"+u[e])}));var c=l.buffer,f=l.type;return r(\"if(\",s,\"(\",i,\")){\",l.isStream,\"=true;\",c,\"=\",a,\".createStream(\",34962,\",\",i,\");\",f,\"=\",c,\".dtype;\",\"}else{\",c,\"=\",a,\".getBuffer(\",i,\");\",\"if(\",c,\"){\",f,\"=\",c,\".dtype;\",'}else if(\"constant\" in ',i,\"){\",l.state,\"=\",2,\";\",\"if(typeof \"+i+'.constant === \"number\"){',l[Se[0]],\"=\",i,\".constant;\",Se.slice(1).map((function(e){return l[e]})).join(\"=\"),\"=0;\",\"}else{\",Se.map((function(e,t){return l[e]+\"=\"+i+\".constant.length>\"+t+\"?\"+i+\".constant[\"+t+\"]:0;\"})).join(\"\"),\"}}else{\",\"if(\",s,\"(\",i,\".buffer)){\",c,\"=\",a,\".createStream(\",34962,\",\",i,\".buffer);\",\"}else{\",c,\"=\",a,\".getBuffer(\",i,\".buffer);\",\"}\",f,'=\"type\" in ',i,\"?\",o.glTypes,\"[\",i,\".type]:\",c,\".dtype;\",l.normalized,\"=!!\",i,\".normalized;\"),n(\"size\"),n(\"offset\"),n(\"stride\"),n(\"divisor\"),r(\"}}\"),r.exit(\"if(\",l.isStream,\"){\",a,\".destroyStream(\",c,\");\",\"}\"),l}))})),o}function A(e,t,n,i,a){function s(e){var t=u[e];t&&(h[e]=t)}var l=function(e,t){if(\"string\"==typeof(r=e.static).frag&&\"string\"==typeof r.vert){if(0<Object.keys(t.dynamic).length)return null;var r=t.static,n=Object.keys(r);if(0<n.length&&\"number\"==typeof r[n[0]]){for(var i=[],a=0;a<n.length;++a)i.push([0|r[n[a]],n[a]]);return i}}return null}(e,t),u=function(e,t,r){function n(e){if(e in i){var r=i[e];e=!0;var n,o,s=0|r.x,l=0|r.y;return\"width\"in r?n=0|r.width:e=!1,\"height\"in r?o=0|r.height:e=!1,new N(!e&&t&&t.thisDep,!e&&t&&t.contextDep,!e&&t&&t.propDep,(function(e,t){var i=e.shared.context,a=n;\"width\"in r||(a=t.def(i,\".\",\"framebufferWidth\",\"-\",s));var u=o;return\"height\"in r||(u=t.def(i,\".\",\"framebufferHeight\",\"-\",l)),[s,l,a,u]}))}if(e in a){var u=a[e];return e=V(u,(function(e,t){var r=e.invoke(t,u),n=e.shared.context,i=t.def(r,\".x|0\"),a=t.def(r,\".y|0\");return[i,a,t.def('\"width\" in ',r,\"?\",r,\".width|0:\",\"(\",n,\".\",\"framebufferWidth\",\"-\",i,\")\"),r=t.def('\"height\" in ',r,\"?\",r,\".height|0:\",\"(\",n,\".\",\"framebufferHeight\",\"-\",a,\")\")]})),t&&(e.thisDep=e.thisDep||t.thisDep,e.contextDep=e.contextDep||t.contextDep,e.propDep=e.propDep||t.propDep),e}return t?new N(t.thisDep,t.contextDep,t.propDep,(function(e,t){var r=e.shared.context;return[0,0,t.def(r,\".\",\"framebufferWidth\"),t.def(r,\".\",\"framebufferHeight\")]})):null}var i=e.static,a=e.dynamic;if(e=n(\"viewport\")){var o=e;e=new N(e.thisDep,e.contextDep,e.propDep,(function(e,t){var r=o.append(e,t),n=e.shared.context;return t.set(n,\".viewportWidth\",r[2]),t.set(n,\".viewportHeight\",r[3]),r}))}return{viewport:e,scissor_box:n(\"scissor.box\")}}(e,d=w(e)),f=T(e),h=function(e,t){var r=e.static,n=e.dynamic,i={};return ae.forEach((function(e){function t(t,o){if(e in r){var s=t(r[e]);i[a]=U((function(){return s}))}else if(e in n){var l=n[e];i[a]=V(l,(function(e,t){return o(e,t,e.invoke(t,l))}))}}var a=m(e);switch(e){case\"cull.enable\":case\"blend.enable\":case\"dither\":case\"stencil.enable\":case\"depth.enable\":case\"scissor.enable\":case\"polygonOffset.enable\":case\"sample.alpha\":case\"sample.enable\":case\"depth.mask\":case\"lineWidth\":return t((function(e){return e}),(function(e,t,r){return r}));case\"depth.func\":return t((function(e){return Le[e]}),(function(e,t,r){return t.def(e.constants.compareFuncs,\"[\",r,\"]\")}));case\"depth.range\":return t((function(e){return e}),(function(e,t,r){return[t.def(\"+\",r,\"[0]\"),t=t.def(\"+\",r,\"[1]\")]}));case\"blend.func\":return t((function(e){return[Ce[\"srcRGB\"in e?e.srcRGB:e.src],Ce[\"dstRGB\"in e?e.dstRGB:e.dst],Ce[\"srcAlpha\"in e?e.srcAlpha:e.src],Ce[\"dstAlpha\"in e?e.dstAlpha:e.dst]]}),(function(e,t,r){function n(e,n){return t.def('\"',e,n,'\" in ',r,\"?\",r,\".\",e,n,\":\",r,\".\",e)}e=e.constants.blendFuncs;var i=n(\"src\",\"RGB\"),a=n(\"dst\",\"RGB\"),o=(i=t.def(e,\"[\",i,\"]\"),t.def(e,\"[\",n(\"src\",\"Alpha\"),\"]\"));return[i,a=t.def(e,\"[\",a,\"]\"),o,e=t.def(e,\"[\",n(\"dst\",\"Alpha\"),\"]\")]}));case\"blend.equation\":return t((function(e){return\"string\"==typeof e?[$[e],$[e]]:\"object\"==typeof e?[$[e.rgb],$[e.alpha]]:void 0}),(function(e,t,r){var n=e.constants.blendEquations,i=t.def(),a=t.def();return(e=e.cond(\"typeof \",r,'===\"string\"')).then(i,\"=\",a,\"=\",n,\"[\",r,\"];\"),e.else(i,\"=\",n,\"[\",r,\".rgb];\",a,\"=\",n,\"[\",r,\".alpha];\"),t(e),[i,a]}));case\"blend.color\":return t((function(e){return o(4,(function(t){return+e[t]}))}),(function(e,t,r){return o(4,(function(e){return t.def(\"+\",r,\"[\",e,\"]\")}))}));case\"stencil.mask\":return t((function(e){return 0|e}),(function(e,t,r){return t.def(r,\"|0\")}));case\"stencil.func\":return t((function(e){return[Le[e.cmp||\"keep\"],e.ref||0,\"mask\"in e?e.mask:-1]}),(function(e,t,r){return[e=t.def('\"cmp\" in ',r,\"?\",e.constants.compareFuncs,\"[\",r,\".cmp]\",\":\",7680),t.def(r,\".ref|0\"),t=t.def('\"mask\" in ',r,\"?\",r,\".mask|0:-1\")]}));case\"stencil.opFront\":case\"stencil.opBack\":return t((function(t){return[\"stencil.opBack\"===e?1029:1028,Pe[t.fail||\"keep\"],Pe[t.zfail||\"keep\"],Pe[t.zpass||\"keep\"]]}),(function(t,r,n){function i(e){return r.def('\"',e,'\" in ',n,\"?\",a,\"[\",n,\".\",e,\"]:\",7680)}var a=t.constants.stencilOps;return[\"stencil.opBack\"===e?1029:1028,i(\"fail\"),i(\"zfail\"),i(\"zpass\")]}));case\"polygonOffset.offset\":return t((function(e){return[0|e.factor,0|e.units]}),(function(e,t,r){return[t.def(r,\".factor|0\"),t=t.def(r,\".units|0\")]}));case\"cull.face\":return t((function(e){var t=0;return\"front\"===e?t=1028:\"back\"===e&&(t=1029),t}),(function(e,t,r){return t.def(r,'===\"front\"?',1028,\":\",1029)}));case\"frontFace\":return t((function(e){return Oe[e]}),(function(e,t,r){return t.def(r+'===\"cw\"?2304:2305')}));case\"colorMask\":return t((function(e){return e.map((function(e){return!!e}))}),(function(e,t,r){return o(4,(function(e){return\"!!\"+r+\"[\"+e+\"]\"}))}));case\"sample.coverage\":return t((function(e){return[\"value\"in e?e.value:1,!!e.invert]}),(function(e,t,r){return[t.def('\"value\" in ',r,\"?+\",r,\".value:1\"),t=t.def(\"!!\",r,\".invert\")]}))}})),i}(e),p=k(e,0,l);s(\"viewport\"),s(m(\"scissor.box\"));var d,v=0<Object.keys(h).length;if((d={framebuffer:d,draw:f,shader:p,state:h,dirty:v,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}}).profile=function(e){var t,r=e.static;if(e=e.dynamic,\"profile\"in r){var n=!!r.profile;(t=U((function(e,t){return n}))).enable=n}else if(\"profile\"in e){var i=e.profile;t=V(i,(function(e,t){return e.invoke(t,i)}))}return t}(e),d.uniforms=function(e,t){var r=e.static,n=e.dynamic,i={};return Object.keys(r).forEach((function(e){var t,n=r[e];if(\"number\"==typeof n||\"boolean\"==typeof n)t=U((function(){return n}));else if(\"function\"==typeof n){var a=n._reglType;\"texture2d\"===a||\"textureCube\"===a?t=U((function(e){return e.link(n)})):\"framebuffer\"!==a&&\"framebufferCube\"!==a||(t=U((function(e){return e.link(n.color[0])})))}else y(n)&&(t=U((function(e){return e.global.def(\"[\",o(n.length,(function(e){return n[e]})),\"]\")})));t.value=n,i[e]=t})),Object.keys(n).forEach((function(e){var t=n[e];i[e]=V(t,(function(e,r){return e.invoke(r,t)}))})),i}(n),d.drawVAO=d.scopeVAO=f.vao,!d.drawVAO&&p.program&&!l&&r.angle_instanced_arrays&&f.static.elements){var g=!0;if(e=p.program.attributes.map((function(e){return e=t.static[e],g=g&&!!e,e})),g&&0<e.length){var x=c.getVAO(c.createVAO({attributes:e,elements:f.static.elements}));d.drawVAO=new N(null,null,null,(function(e,t){return e.link(x)})),d.useVAO=!0}}return l?d.useVAO=!0:d.attributes=M(t),d.context=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r=t[e];n[e]=U((function(e,t){return\"number\"==typeof r||\"boolean\"==typeof r?\"\"+r:e.link(r)}))})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=V(t,(function(e,r){return e.invoke(r,t)}))})),n}(i),d}function S(e,t,r){var n=e.shared.context,i=e.scope();Object.keys(r).forEach((function(a){t.save(n,\".\"+a);var o=r[a].append(e,t);Array.isArray(o)?i(n,\".\",a,\"=[\",o.join(),\"];\"):i(n,\".\",a,\"=\",o,\";\")})),t(i)}function E(e,t,r,n){var i,a=(s=e.shared).gl,o=s.framebuffer;ee&&(i=t.def(s.extensions,\".webgl_draw_buffers\"));var s=(l=e.constants).drawBuffer,l=l.backBuffer;e=r?r.append(e,t):t.def(o,\".next\"),n||t(\"if(\",e,\"!==\",o,\".cur){\"),t(\"if(\",e,\"){\",a,\".bindFramebuffer(\",36160,\",\",e,\".framebuffer);\"),ee&&t(i,\".drawBuffersWEBGL(\",s,\"[\",e,\".colorAttachments.length]);\"),t(\"}else{\",a,\".bindFramebuffer(\",36160,\",null);\"),ee&&t(i,\".drawBuffersWEBGL(\",l,\");\"),t(\"}\",o,\".cur=\",e,\";\"),n||t(\"}\")}function C(e,t,r){var n=e.shared,i=n.gl,a=e.current,s=e.next,l=n.current,u=n.next,c=e.cond(l,\".dirty\");ae.forEach((function(t){var n,f;if(!((t=m(t))in r.state))if(t in s){n=s[t],f=a[t];var h=o(ne[t].length,(function(e){return c.def(n,\"[\",e,\"]\")}));c(e.cond(h.map((function(e,t){return e+\"!==\"+f+\"[\"+t+\"]\"})).join(\"||\")).then(i,\".\",le[t],\"(\",h,\");\",h.map((function(e,t){return f+\"[\"+t+\"]=\"+e})).join(\";\"),\";\"))}else n=c.def(u,\".\",t),h=e.cond(n,\"!==\",l,\".\",t),c(h),t in oe?h(e.cond(n).then(i,\".enable(\",oe[t],\");\").else(i,\".disable(\",oe[t],\");\"),l,\".\",t,\"=\",n,\";\"):h(i,\".\",le[t],\"(\",n,\");\",l,\".\",t,\"=\",n,\";\")})),0===Object.keys(r.state).length&&c(l,\".dirty=false;\"),t(c)}function L(e,t,r,n){var i,a=e.shared,o=e.current,s=a.current,l=a.gl;B(Object.keys(r)).forEach((function(a){var u=r[a];if(!n||n(u)){var c=u.append(e,t);if(oe[a]){var f=oe[a];j(u)?(i=e.link(c,{stable:!0}),t(e.cond(i).then(l,\".enable(\",f,\");\").else(l,\".disable(\",f,\");\")),t(s,\".\",a,\"=\",i,\";\")):(t(e.cond(c).then(l,\".enable(\",f,\");\").else(l,\".disable(\",f,\");\")),t(s,\".\",a,\"=\",c,\";\"))}else if(y(c)){var h=o[a];t(l,\".\",le[a],\"(\",c,\");\",c.map((function(e,t){return h+\"[\"+t+\"]=\"+e})).join(\";\"),\";\")}else j(u)?(i=e.link(c,{stable:!0}),t(l,\".\",le[a],\"(\",i,\");\",s,\".\",a,\"=\",i,\";\")):t(l,\".\",le[a],\"(\",c,\");\",s,\".\",a,\"=\",c,\";\")}}))}function P(e,t){Q&&(e.instancing=t.def(e.shared.extensions,\".angle_instanced_arrays\"))}function O(e,t,r,n,i){function a(){return\"undefined\"==typeof performance?\"Date.now()\":\"performance.now()\"}function o(e){e(u=t.def(),\"=\",a(),\";\"),\"string\"==typeof i?e(h,\".count+=\",i,\";\"):e(h,\".count++;\"),d&&(n?e(c=t.def(),\"=\",v,\".getNumPendingQueries();\"):e(v,\".beginQuery(\",h,\");\"))}function s(e){e(h,\".cpuTime+=\",a(),\"-\",u,\";\"),d&&(n?e(v,\".pushScopeStats(\",c,\",\",v,\".getNumPendingQueries(),\",h,\");\"):e(v,\".endQuery();\"))}function l(e){var r=t.def(p,\".profile\");t(p,\".profile=\",e,\";\"),t.exit(p,\".profile=\",r,\";\")}var u,c,f=e.shared,h=e.stats,p=f.current,v=f.timer;if(r=r.profile){if(j(r))return void(r.enable?(o(t),s(t.exit),l(\"true\")):l(\"false\"));l(r=r.append(e,t))}else r=t.def(p,\".profile\");o(f=e.block()),t(\"if(\",r,\"){\",f,\"}\"),s(e=e.block()),t.exit(\"if(\",r,\"){\",e,\"}\")}function I(e,t,r,n,i){function a(r,n,i){function a(){t(\"if(!\",c,\".buffer){\",l,\".enableVertexAttribArray(\",u,\");}\");var r,a=i.type;r=i.size?t.def(i.size,\"||\",n):n,t(\"if(\",c,\".type!==\",a,\"||\",c,\".size!==\",r,\"||\",p.map((function(e){return c+\".\"+e+\"!==\"+i[e]})).join(\"||\"),\"){\",l,\".bindBuffer(\",34962,\",\",f,\".buffer);\",l,\".vertexAttribPointer(\",[u,r,a,i.normalized,i.stride,i.offset],\");\",c,\".type=\",a,\";\",c,\".size=\",r,\";\",p.map((function(e){return c+\".\"+e+\"=\"+i[e]+\";\"})).join(\"\"),\"}\"),Q&&(a=i.divisor,t(\"if(\",c,\".divisor!==\",a,\"){\",e.instancing,\".vertexAttribDivisorANGLE(\",[u,a],\");\",c,\".divisor=\",a,\";}\"))}function s(){t(\"if(\",c,\".buffer){\",l,\".disableVertexAttribArray(\",u,\");\",c,\".buffer=null;\",\"}if(\",Se.map((function(e,t){return c+\".\"+e+\"!==\"+h[t]})).join(\"||\"),\"){\",l,\".vertexAttrib4f(\",u,\",\",h,\");\",Se.map((function(e,t){return c+\".\"+e+\"=\"+h[t]+\";\"})).join(\"\"),\"}\")}var l=o.gl,u=t.def(r,\".location\"),c=t.def(o.attributes,\"[\",u,\"]\");r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],p=[\"buffer\",\"normalized\",\"offset\",\"stride\"];1===r?a():2===r?s():(t(\"if(\",r,\"===\",1,\"){\"),a(),t(\"}else{\"),s(),t(\"}\"))}var o=e.shared;n.forEach((function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(e,t)}else{if(!i(Ie))return;var u=e.scopeAttrib(s);o={},Object.keys(new J).forEach((function(e){o[e]=t.def(u,\".\",e)}))}a(e.link(n),function(e){switch(e){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)}))}function D(e,r,n,i,a,s){for(var l,u=e.shared,c=u.gl,f=0;f<i.length;++f){var h,p=(g=i[f]).name,d=g.info.type,v=n.uniforms[p],g=e.link(g)+\".location\";if(v){if(!a(v))continue;if(j(v)){if(p=v.value,35678===d||35680===d)r(c,\".uniform1i(\",g,\",\",(d=e.link(p._texture||p.color[0]._texture))+\".bind());\"),r.exit(d,\".unbind();\");else if(35674===d||35675===d||35676===d)v=2,35675===d?v=3:35676===d&&(v=4),r(c,\".uniformMatrix\",v,\"fv(\",g,\",false,\",p=e.global.def(\"new Float32Array([\"+Array.prototype.slice.call(p)+\"])\"),\");\");else{switch(d){case 5126:l=\"1f\";break;case 35664:l=\"2f\";break;case 35665:l=\"3f\";break;case 35666:l=\"4f\";break;case 35670:case 5124:l=\"1i\";break;case 35671:case 35667:l=\"2i\";break;case 35672:case 35668:l=\"3i\";break;case 35673:case 35669:l=\"4i\"}r(c,\".uniform\",l,\"(\",g,\",\",y(p)?Array.prototype.slice.call(p):p,\");\")}continue}h=v.append(e,r)}else{if(!a(Ie))continue;h=r.def(u.uniforms,\"[\",t.id(p),\"]\")}switch(35678===d?r(\"if(\",h,\"&&\",h,'._reglType===\"framebuffer\"){',h,\"=\",h,\".color[0];\",\"}\"):35680===d&&r(\"if(\",h,\"&&\",h,'._reglType===\"framebufferCube\"){',h,\"=\",h,\".color[0];\",\"}\"),p=1,d){case 35678:case 35680:d=r.def(h,\"._texture\"),r(c,\".uniform1i(\",g,\",\",d,\".bind());\"),r.exit(d,\".unbind();\");continue;case 5124:case 35670:l=\"1i\";break;case 35667:case 35671:l=\"2i\",p=2;break;case 35668:case 35672:l=\"3i\",p=3;break;case 35669:case 35673:l=\"4i\",p=4;break;case 5126:l=\"1f\";break;case 35664:l=\"2f\",p=2;break;case 35665:l=\"3f\",p=3;break;case 35666:l=\"4f\",p=4;break;case 35674:l=\"Matrix2fv\";break;case 35675:l=\"Matrix3fv\";break;case 35676:l=\"Matrix4fv\"}if(\"M\"===l.charAt(0)){r(c,\".uniform\",l,\"(\",g,\",\"),g=Math.pow(d-35674+2,2);var m=e.global.def(\"new Float32Array(\",g,\")\");Array.isArray(h)?r(\"false,(\",o(g,(function(e){return m+\"[\"+e+\"]=\"+h[e]})),\",\",m,\")\"):r(\"false,(Array.isArray(\",h,\")||\",h,\" instanceof Float32Array)?\",h,\":(\",o(g,(function(e){return m+\"[\"+e+\"]=\"+h+\"[\"+e+\"]\"})),\",\",m,\")\"),r(\");\")}else{if(1<p){d=[];var x=[];for(v=0;v<p;++v)Array.isArray(h)?x.push(h[v]):x.push(r.def(h+\"[\"+v+\"]\")),s&&d.push(r.def());s&&r(\"if(!\",e.batchId,\"||\",d.map((function(e,t){return e+\"!==\"+x[t]})).join(\"||\"),\"){\",d.map((function(e,t){return e+\"=\"+x[t]+\";\"})).join(\"\")),r(c,\".uniform\",l,\"(\",g,\",\",x.join(\",\"),\");\")}else s&&(d=r.def(),r(\"if(!\",e.batchId,\"||\",d,\"!==\",h,\"){\",d,\"=\",h,\";\")),r(c,\".uniform\",l,\"(\",g,\",\",h,\");\");s&&r(\"}\")}}}function z(e,t,r,n){function i(i){var a=h[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(e,r):a.append(e,t):t.def(f,\".\",i)}function a(){function e(){r(l,\".drawElementsInstancedANGLE(\",[d,g,m,v+\"<<((\"+m+\"-5121)>>1)\",s],\");\")}function t(){r(l,\".drawArraysInstancedANGLE(\",[d,v,g,s],\");\")}p&&\"null\"!==p?y?e():(r(\"if(\",p,\"){\"),e(),r(\"}else{\"),t(),r(\"}\")):t()}function o(){function e(){r(c+\".drawElements(\"+[d,g,m,v+\"<<((\"+m+\"-5121)>>1)\"]+\");\")}function t(){r(c+\".drawArrays(\"+[d,v,g]+\");\")}p&&\"null\"!==p?y?e():(r(\"if(\",p,\"){\"),e(),r(\"}else{\"),t(),r(\"}\")):t()}var s,l,u=e.shared,c=u.gl,f=u.draw,h=n.draw,p=function(){var i=h.elements,a=t;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(e,a),h.elementsActive&&a(\"if(\"+i+\")\"+c+\".bindBuffer(34963,\"+i+\".buffer.buffer);\")):(i=a.def(),a(i,\"=\",f,\".\",\"elements\",\";\",\"if(\",i,\"){\",c,\".bindBuffer(\",34963,\",\",i,\".buffer.buffer);}\",\"else if(\",u.vao,\".currentVAO){\",i,\"=\",e.shared.elements+\".getElements(\"+u.vao,\".currentVAO.elements);\",te?\"\":\"if(\"+i+\")\"+c+\".bindBuffer(34963,\"+i+\".buffer.buffer);\",\"}\")),i}(),d=i(\"primitive\"),v=i(\"offset\"),g=function(){var i=h.count,a=t;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(e,a)):i=a.def(f,\".\",\"count\"),i}();if(\"number\"==typeof g){if(0===g)return}else r(\"if(\",g,\"){\"),r.exit(\"}\");Q&&(s=i(\"instances\"),l=e.instancing);var m=p+\".type\",y=h.elements&&j(h.elements)&&!h.vaoActive;Q&&(\"number\"!=typeof s||0<=s)?\"string\"==typeof s?(r(\"if(\",s,\">0){\"),a(),r(\"}else if(\",s,\"<0){\"),o(),r(\"}\")):a():o()}function H(e,t,r,n,i){return i=(t=_()).proc(\"body\",i),Q&&(t.instancing=i.def(t.shared.extensions,\".angle_instanced_arrays\")),e(t,i,r,n),t.compile().body}function q(e,t,r,n){P(e,t),r.useVAO?r.drawVAO?t(e.shared.vao,\".setVAO(\",r.drawVAO.append(e,t),\");\"):t(e.shared.vao,\".setVAO(\",e.shared.vao,\".targetVAO);\"):(t(e.shared.vao,\".setVAO(null);\"),I(e,t,r,n.attributes,(function(){return!0}))),D(e,t,r,n.uniforms,(function(){return!0}),!1),z(e,t,t,r)}function Y(e,t,r,n){function i(){return!0}e.batchId=\"a1\",P(e,t),I(e,t,r,n.attributes,i),D(e,t,r,n.uniforms,i,!1),z(e,t,t,r)}function Z(e,t,r,n){function i(e){return e.contextDep&&o||e.propDep}function a(e){return!i(e)}P(e,t);var o=r.contextDep,s=t.def(),l=t.def();e.shared.props=l,e.batchId=s;var u=e.scope(),c=e.scope();t(u.entry,\"for(\",s,\"=0;\",s,\"<\",\"a1\",\";++\",s,\"){\",l,\"=\",\"a0\",\"[\",s,\"];\",c,\"}\",u.exit),r.needsContext&&S(e,c,r.context),r.needsFramebuffer&&E(e,c,r.framebuffer),L(e,c,r.state,i),r.profile&&i(r.profile)&&O(e,c,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?c(e.shared.vao,\".setVAO(\",r.drawVAO.append(e,c),\");\"):u(e.shared.vao,\".setVAO(\",r.drawVAO.append(e,u),\");\"):u(e.shared.vao,\".setVAO(\",e.shared.vao,\".targetVAO);\"):(u(e.shared.vao,\".setVAO(null);\"),I(e,u,r,n.attributes,a),I(e,c,r,n.attributes,i)),D(e,u,r,n.uniforms,a,!1),D(e,c,r,n.uniforms,i,!0),z(e,u,c,r)):(t=e.global.def(\"{}\"),n=r.shader.progVar.append(e,c),l=c.def(n,\".id\"),u=c.def(t,\"[\",l,\"]\"),c(e.shared.gl,\".useProgram(\",n,\".program);\",\"if(!\",u,\"){\",u,\"=\",t,\"[\",l,\"]=\",e.link((function(t){return H(Y,e,r,t,2)})),\"(\",n,\");}\",u,\".call(this,a0[\",s,\"],\",s,\");\"))}function X(e,r){function n(t){var n=r.shader[t];n&&(n=n.append(e,i),isNaN(n)?i.set(a.shader,\".\"+t,n):i.set(a.shader,\".\"+t,e.link(n,{stable:!0})))}var i=e.proc(\"scope\",3);e.batchId=\"a2\";var a=e.shared,o=a.current;if(S(e,i,r.context),r.framebuffer&&r.framebuffer.append(e,i),B(Object.keys(r.state)).forEach((function(t){var n=r.state[t],o=n.append(e,i);y(o)?o.forEach((function(r,n){isNaN(r)?i.set(e.next[t],\"[\"+n+\"]\",r):i.set(e.next[t],\"[\"+n+\"]\",e.link(r,{stable:!0}))})):j(n)?i.set(a.next,\".\"+t,e.link(o,{stable:!0})):i.set(a.next,\".\"+t,o)})),O(e,i,r,!0,!0),[\"elements\",\"offset\",\"count\",\"instances\",\"primitive\"].forEach((function(t){var n=r.draw[t];n&&(n=n.append(e,i),isNaN(n)?i.set(a.draw,\".\"+t,n):i.set(a.draw,\".\"+t,e.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(e,i);Array.isArray(o)&&(o=\"[\"+o.map((function(t){return isNaN(t)?t:e.link(t,{stable:!0})}))+\"]\"),i.set(a.uniforms,\"[\"+e.link(t.id(n),{stable:!0})+\"]\",o)})),Object.keys(r.attributes).forEach((function(t){var n=r.attributes[t].append(e,i),a=e.scopeAttrib(t);Object.keys(new J).forEach((function(e){i.set(a,\".\"+e,n[e])}))})),r.scopeVAO){var s=r.scopeVAO.append(e,i);isNaN(s)?i.set(a.vao,\".targetVAO\",s):i.set(a.vao,\".targetVAO\",e.link(s,{stable:!0}))}n(\"vert\"),n(\"frag\"),0<Object.keys(r.state).length&&(i(o,\".dirty=true;\"),i.exit(o,\".dirty=true;\")),i(\"a1(\",e.shared.context,\",a0,\",e.batchId,\");\")}function K(e,t,r){var n=t.static[r];if(n&&function(e){if(\"object\"==typeof e&&!y(e)){for(var t=Object.keys(e),r=0;r<t.length;++r)if(W.isDynamic(e[t[r]]))return!0;return!1}}(n)){var i=e.global,a=Object.keys(n),o=!1,s=!1,l=!1,u=e.global.def(\"{}\");a.forEach((function(t){var r=n[t];if(W.isDynamic(r))\"function\"==typeof r&&(r=n[t]=W.unbox(r)),t=V(r,null),o=o||t.thisDep,l=l||t.propDep,s=s||t.contextDep;else{switch(i(u,\".\",t,\"=\"),typeof r){case\"number\":i(r);break;case\"string\":i('\"',r,'\"');break;case\"object\":Array.isArray(r)&&i(\"[\",r.join(),\"]\");break;default:i(e.link(r))}i(\";\")}})),t.dynamic[r]=new W.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:u,append:function(e,t){a.forEach((function(r){var i=n[r];W.isDynamic(i)&&(i=e.invoke(t,i),t(u,\".\",r,\"=\",i,\";\"))}))}}),delete t.static[r]}}var J=c.Record,$={add:32774,subtract:32778,\"reverse subtract\":32779};r.ext_blend_minmax&&($.min=32775,$.max=32776);var Q=r.angle_instanced_arrays,ee=r.webgl_draw_buffers,te=r.oes_vertex_array_object,ne={dirty:!0,profile:g.profile},ie={},ae=[],oe={},le={};x(\"dither\",3024),x(\"blend.enable\",3042),b(\"blend.color\",\"blendColor\",[0,0,0,0]),b(\"blend.equation\",\"blendEquationSeparate\",[32774,32774]),b(\"blend.func\",\"blendFuncSeparate\",[1,0,1,0]),x(\"depth.enable\",2929,!0),b(\"depth.func\",\"depthFunc\",513),b(\"depth.range\",\"depthRange\",[0,1]),b(\"depth.mask\",\"depthMask\",!0),b(\"colorMask\",\"colorMask\",[!0,!0,!0,!0]),x(\"cull.enable\",2884),b(\"cull.face\",\"cullFace\",1029),b(\"frontFace\",\"frontFace\",2305),b(\"lineWidth\",\"lineWidth\",1),x(\"polygonOffset.enable\",32823),b(\"polygonOffset.offset\",\"polygonOffset\",[0,0]),x(\"sample.alpha\",32926),x(\"sample.enable\",32928),b(\"sample.coverage\",\"sampleCoverage\",[1,!1]),x(\"stencil.enable\",2960),b(\"stencil.mask\",\"stencilMask\",-1),b(\"stencil.func\",\"stencilFunc\",[519,0,-1]),b(\"stencil.opFront\",\"stencilOpSeparate\",[1028,7680,7680,7680]),b(\"stencil.opBack\",\"stencilOpSeparate\",[1029,7680,7680,7680]),x(\"scissor.enable\",3089),b(\"scissor.box\",\"scissor\",[0,0,e.drawingBufferWidth,e.drawingBufferHeight]),b(\"viewport\",\"viewport\",[0,0,e.drawingBufferWidth,e.drawingBufferHeight]);var ue={gl:e,context:p,strings:t,next:ie,current:ne,draw:h,elements:a,buffer:i,shader:f,attributes:c.state,vao:c,uniforms:u,framebuffer:l,extensions:r,timer:d,isBufferArgs:F},ce={primTypes:se,compareFuncs:Le,blendFuncs:Ce,blendEquations:$,stencilOps:Pe,glTypes:re,orientationType:Oe};ee&&(ce.backBuffer=[1029],ce.drawBuffer=o(n.maxDrawbuffers,(function(e){return 0===e?[0]:o(e,(function(e){return 36064+e}))})));var fe=0;return{next:ie,current:ne,procs:function(){var e=_(),t=e.proc(\"poll\"),i=e.proc(\"refresh\"),a=e.block();t(a),i(a);var s,l=(f=e.shared).gl,u=f.next,c=f.current;a(c,\".dirty=false;\"),E(e,t),E(e,i,null,!0),Q&&(s=e.link(Q)),r.oes_vertex_array_object&&i(e.link(r.oes_vertex_array_object),\".bindVertexArrayOES(null);\");var f=i.def(f.attributes),h=i.def(0),p=e.cond(h,\".buffer\");p.then(l,\".enableVertexAttribArray(i);\",l,\".bindBuffer(\",34962,\",\",h,\".buffer.buffer);\",l,\".vertexAttribPointer(i,\",h,\".size,\",h,\".type,\",h,\".normalized,\",h,\".stride,\",h,\".offset);\").else(l,\".disableVertexAttribArray(i);\",l,\".vertexAttrib4f(i,\",h,\".x,\",h,\".y,\",h,\".z,\",h,\".w);\",h,\".buffer=null;\");var d=e.link(n.maxAttributes,{stable:!0});return i(\"for(var i=0;i<\",d,\";++i){\",h,\"=\",f,\"[i];\",p,\"}\"),Q&&i(\"for(var i=0;i<\",d,\";++i){\",s,\".vertexAttribDivisorANGLE(i,\",f,\"[i].divisor);\",\"}\"),i(e.shared.vao,\".currentVAO=null;\",e.shared.vao,\".setVAO(\",e.shared.vao,\".targetVAO);\"),Object.keys(oe).forEach((function(r){var n=oe[r],o=a.def(u,\".\",r),s=e.block();s(\"if(\",o,\"){\",l,\".enable(\",n,\")}else{\",l,\".disable(\",n,\")}\",c,\".\",r,\"=\",o,\";\"),i(s),t(\"if(\",o,\"!==\",c,\".\",r,\"){\",s,\"}\")})),Object.keys(le).forEach((function(r){var n,s,f=le[r],h=ne[r],p=e.block();p(l,\".\",f,\"(\"),y(h)?(f=h.length,n=e.global.def(u,\".\",r),s=e.global.def(c,\".\",r),p(o(f,(function(e){return n+\"[\"+e+\"]\"})),\");\",o(f,(function(e){return s+\"[\"+e+\"]=\"+n+\"[\"+e+\"];\"})).join(\"\")),t(\"if(\",o(f,(function(e){return n+\"[\"+e+\"]!==\"+s+\"[\"+e+\"]\"})).join(\"||\"),\"){\",p,\"}\")):(n=a.def(u,\".\",r),s=a.def(c,\".\",r),p(n,\");\",c,\".\",r,\"=\",n,\";\"),t(\"if(\",n,\"!==\",s,\"){\",p,\"}\")),i(p)})),e.compile()}(),compile:function(e,t,r,n,i){var a=_();a.stats=a.link(i),Object.keys(t.static).forEach((function(e){K(a,t,e)})),Ee.forEach((function(t){K(a,e,t)}));var o=A(e,t,r,n);return o.shader.program&&(o.shader.program.attributes.sort((function(e,t){return e.name<t.name?-1:1})),o.shader.program.uniforms.sort((function(e,t){return e.name<t.name?-1:1}))),function(e,t){var r=e.proc(\"draw\",1);P(e,r),S(e,r,t.context),E(e,r,t.framebuffer),C(e,r,t),L(e,r,t.state),O(e,r,t,!1,!0);var n=t.shader.progVar.append(e,r);if(r(e.shared.gl,\".useProgram(\",n,\".program);\"),t.shader.program)q(e,r,t,t.shader.program);else{r(e.shared.vao,\".setVAO(null);\");var i=e.global.def(\"{}\"),a=r.def(n,\".id\"),o=r.def(i,\"[\",a,\"]\");r(e.cond(o).then(o,\".call(this,a0);\").else(o,\"=\",i,\"[\",a,\"]=\",e.link((function(r){return H(q,e,t,r,1)})),\"(\",n,\");\",o,\".call(this,a0);\"))}0<Object.keys(t.state).length&&r(e.shared.current,\".dirty=true;\"),e.shared.vao&&r(e.shared.vao,\".setVAO(null);\")}(a,o),X(a,o),function(e,t){function r(e){return e.contextDep&&i||e.propDep}var n=e.proc(\"batch\",2);e.batchId=\"0\",P(e,n);var i=!1,a=!0;Object.keys(t.context).forEach((function(e){i=i||t.context[e].propDep})),i||(S(e,n,t.context),a=!1);var o=!1;if((s=t.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||E(e,n,s)):E(e,n,null),t.state.viewport&&t.state.viewport.propDep&&(i=!0),C(e,n,t),L(e,n,t.state,(function(e){return!r(e)})),t.profile&&r(t.profile)||O(e,n,t,!1,\"a1\"),t.contextDep=i,t.needsContext=a,t.needsFramebuffer=o,(a=t.shader.progVar).contextDep&&i||a.propDep)Z(e,n,t,null);else if(a=a.append(e,n),n(e.shared.gl,\".useProgram(\",a,\".program);\"),t.shader.program)Z(e,n,t,t.shader.program);else{n(e.shared.vao,\".setVAO(null);\");var s=e.global.def(\"{}\"),l=(o=n.def(a,\".id\"),n.def(s,\"[\",o,\"]\"));n(e.cond(l).then(l,\".call(this,a0,a1);\").else(l,\"=\",s,\"[\",o,\"]=\",e.link((function(r){return H(Z,e,t,r,2)})),\"(\",a,\");\",l,\".call(this,a0,a1);\"))}0<Object.keys(t.state).length&&n(e.shared.current,\".dirty=true;\"),e.shared.vao&&n(e.shared.vao,\".setVAO(null);\")}(a,o),G(a.compile(),{destroy:function(){o.shader.program.destroy()}})}}}function q(e,t){for(var r=0;r<e.length;++r)if(e[r]===t)return r;return-1}var G=function(e,t){for(var r=Object.keys(t),n=0;n<r.length;++n)e[r[n]]=t[r[n]];return e},Y=0,W={DynamicVariable:e,define:function(t,n){return new e(t,r(n+\"\"))},isDynamic:function(t){return\"function\"==typeof t&&!t._reglType||t instanceof e},unbox:function t(r,n){return\"function\"==typeof r?new e(0,r):\"number\"==typeof r||\"boolean\"==typeof r?new e(5,r):Array.isArray(r)?new e(6,r.map((function(e,r){return t(e,n+\"[\"+r+\"]\")}))):r instanceof e?r:void 0},accessor:r},Z={next:\"function\"==typeof requestAnimationFrame?function(e){return requestAnimationFrame(e)}:function(e){return setTimeout(e,16)},cancel:\"function\"==typeof cancelAnimationFrame?function(e){return cancelAnimationFrame(e)}:clearTimeout},X=\"undefined\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},K=l();K.zero=l();var J=function(e,t){var r=1;t.ext_texture_filter_anisotropic&&(r=e.getParameter(34047));var n=1,i=1;t.webgl_draw_buffers&&(n=e.getParameter(34852),i=e.getParameter(36063));var a=!!t.oes_texture_float;if(a){a=e.createTexture(),e.bindTexture(3553,a),e.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var o=e.createFramebuffer();if(e.bindFramebuffer(36160,o),e.framebufferTexture2D(36160,36064,3553,a,0),e.bindTexture(3553,null),36053!==e.checkFramebufferStatus(36160))a=!1;else{e.viewport(0,0,1,1),e.clearColor(1,0,0,1),e.clear(16384);var s=K.allocType(5126,4);e.readPixels(0,0,1,1,6408,5126,s),e.getError()?a=!1:(e.deleteFramebuffer(o),e.deleteTexture(a),a=1===s[0]),K.freeType(s)}}return s=!0,\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent))||(s=e.createTexture(),o=K.allocType(5121,36),e.activeTexture(33984),e.bindTexture(34067,s),e.texImage2D(34069,0,6408,3,3,0,6408,5121,o),K.freeType(o),e.bindTexture(34067,null),e.deleteTexture(s),s=!e.getError()),{colorBits:[e.getParameter(3410),e.getParameter(3411),e.getParameter(3412),e.getParameter(3413)],depthBits:e.getParameter(3414),stencilBits:e.getParameter(3415),subpixelBits:e.getParameter(3408),extensions:Object.keys(t).filter((function(e){return!!t[e]})),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:i,pointSizeDims:e.getParameter(33901),lineWidthDims:e.getParameter(33902),maxViewportDims:e.getParameter(3386),maxCombinedTextureUnits:e.getParameter(35661),maxCubeMapSize:e.getParameter(34076),maxRenderbufferSize:e.getParameter(34024),maxTextureUnits:e.getParameter(34930),maxTextureSize:e.getParameter(3379),maxAttributes:e.getParameter(34921),maxVertexUniforms:e.getParameter(36347),maxVertexTextureUnits:e.getParameter(35660),maxVaryingVectors:e.getParameter(36348),maxFragmentUniforms:e.getParameter(36349),glsl:e.getParameter(35724),renderer:e.getParameter(7937),vendor:e.getParameter(7936),version:e.getParameter(7938),readFloat:a,npotTextureCube:s}},$=function(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array||e instanceof Uint8ClampedArray},Q=function(e){return Object.keys(e).map((function(t){return e[t]}))},ee={shape:function(e){for(var t=[];e.length;e=e[0])t.push(e.length);return t},flatten:function(e,t,r,n){var i=1;if(t.length)for(var a=0;a<t.length;++a)i*=t[a];else i=0;switch(r=n||K.allocType(r,i),t.length){case 0:break;case 1:for(n=t[0],t=0;t<n;++t)r[t]=e[t];break;case 2:for(n=t[0],t=t[1],a=i=0;a<n;++a)for(var o=e[a],s=0;s<t;++s)r[i++]=o[s];break;case 3:c(e,t[0],t[1],t[2],r,0);break;default:f(e,t,0,r,0)}return r}},te={\"[object Int8Array]\":5120,\"[object Int16Array]\":5122,\"[object Int32Array]\":5124,\"[object Uint8Array]\":5121,\"[object Uint8ClampedArray]\":5121,\"[object Uint16Array]\":5123,\"[object Uint32Array]\":5125,\"[object Float32Array]\":5126,\"[object Float64Array]\":5121,\"[object ArrayBuffer]\":5121},re={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},ne={dynamic:35048,stream:35040,static:35044},ie=ee.flatten,ae=ee.shape,oe=[];oe[5120]=1,oe[5122]=2,oe[5124]=4,oe[5121]=1,oe[5123]=2,oe[5125]=4,oe[5126]=4;var se={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},le=new Float32Array(1),ue=new Uint32Array(le.buffer),ce=[9984,9986,9985,9987],fe=[0,6409,6410,6407,6408],he={};he[6409]=he[6406]=he[6402]=1,he[34041]=he[6410]=2,he[6407]=he[35904]=3,he[6408]=he[35906]=4;var pe=x(\"HTMLCanvasElement\"),de=x(\"OffscreenCanvas\"),ve=x(\"CanvasRenderingContext2D\"),ge=x(\"ImageBitmap\"),me=x(\"HTMLImageElement\"),ye=x(\"HTMLVideoElement\"),xe=Object.keys(te).concat([pe,de,ve,ge,me,ye]),be=[];be[5121]=1,be[5126]=4,be[36193]=2,be[5123]=2,be[5125]=4;var _e=[];_e[32854]=2,_e[32855]=2,_e[36194]=2,_e[34041]=4,_e[33776]=.5,_e[33777]=.5,_e[33778]=1,_e[33779]=1,_e[35986]=.5,_e[35987]=1,_e[34798]=1,_e[35840]=.5,_e[35841]=.25,_e[35842]=.5,_e[35843]=.25,_e[36196]=.5;var we=[];we[32854]=2,we[32855]=2,we[36194]=2,we[33189]=2,we[36168]=1,we[34041]=4,we[35907]=4,we[34836]=16,we[34842]=8,we[34843]=6;var ke=function(e,t,r,n,i){function a(e){this.id=u++,this.refCount=1,this.renderbuffer=e,this.format=32854,this.height=this.width=0,i.profile&&(this.stats={size:0})}function o(t){var r=t.renderbuffer;e.bindRenderbuffer(36161,null),e.deleteRenderbuffer(r),t.renderbuffer=null,t.refCount=0,delete c[t.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,\"rgb5 a1\":32855,depth:33189,stencil:36168,\"depth stencil\":34041};t.ext_srgb&&(s.srgba=35907),t.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),t.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach((function(e){l[s[e]]=e}));var u=0,c={};return a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var e=0;return Object.keys(c).forEach((function(t){e+=c[t].stats.size})),e}),{create:function(t,r){function o(t,r){var n=0,a=0,c=32854;if(\"object\"==typeof t&&t?(\"shape\"in t?(n=0|(a=t.shape)[0],a=0|a[1]):(\"radius\"in t&&(n=a=0|t.radius),\"width\"in t&&(n=0|t.width),\"height\"in t&&(a=0|t.height)),\"format\"in t&&(c=s[t.format])):\"number\"==typeof t?(n=0|t,a=\"number\"==typeof r?0|r:n):t||(n=a=1),n!==u.width||a!==u.height||c!==u.format)return o.width=u.width=n,o.height=u.height=a,u.format=c,e.bindRenderbuffer(36161,u.renderbuffer),e.renderbufferStorage(36161,c,n,a),i.profile&&(u.stats.size=we[u.format]*u.width*u.height),o.format=l[u.format],o}var u=new a(e.createRenderbuffer());return c[u.id]=u,n.renderbufferCount++,o(t,r),o.resize=function(t,r){var n=0|t,a=0|r||n;return n===u.width&&a===u.height||(o.width=u.width=n,o.height=u.height=a,e.bindRenderbuffer(36161,u.renderbuffer),e.renderbufferStorage(36161,u.format,n,a),i.profile&&(u.stats.size=we[u.format]*u.width*u.height)),o},o._reglType=\"renderbuffer\",o._renderbuffer=u,i.profile&&(o.stats=u.stats),o.destroy=function(){u.decRef()},o},clear:function(){Q(c).forEach(o)},restore:function(){Q(c).forEach((function(t){t.renderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(36161,t.renderbuffer),e.renderbufferStorage(36161,t.format,t.width,t.height)})),e.bindRenderbuffer(36161,null)}}},Te=[];Te[6408]=4,Te[6407]=3;var Me=[];Me[5121]=1,Me[5126]=4,Me[36193]=2;var Ae=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],Se=[\"x\",\"y\",\"z\",\"w\"],Ee=\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\".split(\" \"),Ce={0:0,1:1,zero:0,one:1,\"src color\":768,\"one minus src color\":769,\"src alpha\":770,\"one minus src alpha\":771,\"dst color\":774,\"one minus dst color\":775,\"dst alpha\":772,\"one minus dst alpha\":773,\"constant color\":32769,\"one minus constant color\":32770,\"constant alpha\":32771,\"one minus constant alpha\":32772,\"src alpha saturate\":776},Le={never:512,less:513,\"<\":513,equal:514,\"=\":514,\"==\":514,\"===\":514,lequal:515,\"<=\":515,greater:516,\">\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Pe={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},Oe={cw:2304,ccw:2305},Ie=new N(!1,!1,!1,(function(){}));return function(e){function t(){if(0===K.length)k&&k.update(),te=null;else{te=Z.next(t),f();for(var e=K.length-1;0<=e;--e){var r=K[e];r&&r(O,null,0)}d.flush(),k&&k.update()}}function r(){!te&&0<K.length&&(te=Z.next(t))}function n(){te&&(Z.cancel(t),te=null)}function i(e){e.preventDefault(),n(),$.forEach((function(e){e()}))}function o(e){d.getError(),y.restore(),F.restore(),D.restore(),B.restore(),N.restore(),j.restore(),R.restore(),k&&k.restore(),U.procs.refresh(),r(),Q.forEach((function(e){e()}))}function s(e){function t(e,t){var r={},n={};return Object.keys(e).forEach((function(i){var a=e[i];if(W.isDynamic(a))n[i]=W.unbox(a,i);else{if(t&&Array.isArray(a))for(var o=0;o<a.length;++o)if(W.isDynamic(a[o]))return void(n[i]=W.unbox(a,i));r[i]=a}})),{dynamic:n,static:r}}var r=t(e.context||{},!0),n=t(e.uniforms||{},!0),i=t(e.attributes||{},!1);e=t(function(e){function t(e){if(e in r){var t=r[e];delete r[e],Object.keys(t).forEach((function(n){r[e+\".\"+n]=t[n]}))}}var r=G({},e);return delete r.uniforms,delete r.attributes,delete r.context,delete r.vao,\"stencil\"in r&&r.stencil.op&&(r.stencil.opBack=r.stencil.opFront=r.stencil.op,delete r.stencil.op),t(\"blend\"),t(\"depth\"),t(\"cull\"),t(\"stencil\"),t(\"polygonOffset\"),t(\"scissor\"),t(\"sample\"),\"vao\"in e&&(r.vao=e.vao),r}(e),!1);var a={gpuTime:0,cpuTime:0,count:0},o=U.compile(e,i,n,r,a),s=o.draw,l=o.batch,u=o.scope,c=[];return G((function(e,t){var r;if(\"function\"==typeof e)return u.call(this,null,e,0);if(\"function\"==typeof t)if(\"number\"==typeof e)for(r=0;r<e;++r)u.call(this,null,t,r);else{if(!Array.isArray(e))return u.call(this,e,t,0);for(r=0;r<e.length;++r)u.call(this,e[r],t,r)}else if(\"number\"==typeof e){if(0<e)return l.call(this,function(e){for(;c.length<e;)c.push(null);return c}(0|e),0|e)}else{if(!Array.isArray(e))return s.call(this,e);if(e.length)return l.call(this,e,e.length)}}),{stats:a,destroy:function(){o.destroy()}})}function l(e,t){var r=0;U.procs.poll();var n=t.color;n&&(d.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),\"depth\"in t&&(d.clearDepth(+t.depth),r|=256),\"stencil\"in t&&(d.clearStencil(0|t.stencil),r|=1024),d.clear(r)}function u(e){return K.push(e),r(),{cancel:function(){var t=q(K,e);K[t]=function e(){var t=q(K,e);K[t]=K[K.length-1],--K.length,0>=K.length&&n()}}}}function c(){var e=V.viewport,t=V.scissor_box;e[0]=e[1]=t[0]=t[1]=0,O.viewportWidth=O.framebufferWidth=O.drawingBufferWidth=e[2]=t[2]=d.drawingBufferWidth,O.viewportHeight=O.framebufferHeight=O.drawingBufferHeight=e[3]=t[3]=d.drawingBufferHeight}function f(){O.tick+=1,O.time=p(),c(),U.procs.poll()}function h(){B.refresh(),c(),U.procs.refresh(),k&&k.update()}function p(){return(X()-T)/1e3}if(!(e=a(e)))return null;var d=e.gl,m=d.getContextAttributes();d.isContextLost();var y=function(e,t){function r(t){var r;t=t.toLowerCase();try{r=n[t]=e.getExtension(t)}catch(e){}return!!r}for(var n={},i=0;i<t.extensions.length;++i){var a=t.extensions[i];if(!r(a))return t.onDestroy(),t.onDone('\"'+a+'\" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return t.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach((function(e){if(n[e]&&!r(e))throw Error(\"(regl): error restoring extension \"+e)}))}}}(d,e);if(!y)return null;var x=function(){var e={\"\":0},t=[\"\"];return{id:function(r){var n=e[r];return n||(n=e[r]=t.length,t.push(r),n)},str:function(e){return t[e]}}}(),b={vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=e.cachedCode||{},w=y.extensions,k=function(e,t){function r(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function n(e,t,n){var i=o.pop()||new r;i.startQueryIndex=e,i.endQueryIndex=t,i.sum=0,i.stats=n,s.push(i)}if(!t.ext_disjoint_timer_query)return null;var i=[],a=[],o=[],s=[],l=[],u=[];return{beginQuery:function(e){var r=i.pop()||t.ext_disjoint_timer_query.createQueryEXT();t.ext_disjoint_timer_query.beginQueryEXT(35007,r),a.push(r),n(a.length-1,a.length,e)},endQuery:function(){t.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:n,update:function(){var e,r;if(0!==(e=a.length)){u.length=Math.max(u.length,e+1),l.length=Math.max(l.length,e+1),l[0]=0;var n=u[0]=0;for(r=e=0;r<a.length;++r){var c=a[r];t.ext_disjoint_timer_query.getQueryObjectEXT(c,34919)?(n+=t.ext_disjoint_timer_query.getQueryObjectEXT(c,34918),i.push(c)):a[e++]=c,l[r+1]=n,u[r+1]=e}for(a.length=e,r=e=0;r<s.length;++r){var f=(n=s[r]).startQueryIndex;c=n.endQueryIndex,n.sum+=l[c]-l[f],f=u[f],(c=u[c])===f?(n.stats.gpuTime+=n.sum/1e6,o.push(n)):(n.startQueryIndex=f,n.endQueryIndex=c,s[e++]=n)}s.length=e}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var e=0;e<i.length;e++)t.ext_disjoint_timer_query.deleteQueryEXT(i[e]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,w),T=X(),M=d.drawingBufferWidth,E=d.drawingBufferHeight,O={tick:0,time:0,viewportWidth:M,viewportHeight:E,framebufferWidth:M,framebufferHeight:E,drawingBufferWidth:M,drawingBufferHeight:E,pixelRatio:e.pixelRatio},I=(M={elements:null,primitive:4,count:-1,offset:0,instances:-1},J(d,w)),D=v(d,b,e,(function(e){return R.destroyBuffer(e)})),z=g(d,w,D,b),R=C(d,w,I,b,D,z,M),F=L(d,x,b,e),B=A(d,w,I,(function(){U.procs.poll()}),O,b,e),N=ke(d,w,0,b,e),j=S(d,w,I,B,N,b),U=H(d,x,w,I,D,z,0,j,{},R,F,M,O,k,_,e),V=(x=P(d,j,U.procs.poll,O),U.next),Y=d.canvas,K=[],$=[],Q=[],ee=[e.onDestroy],te=null;Y&&(Y.addEventListener(\"webglcontextlost\",i,!1),Y.addEventListener(\"webglcontextrestored\",o,!1));var re=j.setFBO=s({framebuffer:W.define.call(null,1,\"framebuffer\")});return h(),m=G(s,{clear:function(e){if(\"framebuffer\"in e)if(e.framebuffer&&\"framebufferCube\"===e.framebuffer_reglType)for(var t=0;6>t;++t)re(G({framebuffer:e.framebuffer.faces[t]},e),l);else re(e,l);else l(0,e)},prop:W.define.bind(null,1),context:W.define.bind(null,2),this:W.define.bind(null,3),draw:s({}),buffer:function(e){return D.create(e,34962,!1,!1)},elements:function(e){return z.create(e,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:m,frame:u,on:function(e,t){var r;switch(e){case\"frame\":return u(t);case\"lost\":r=$;break;case\"restore\":r=Q;break;case\"destroy\":r=ee}return r.push(t),{cancel:function(){for(var e=0;e<r.length;++e)if(r[e]===t){r[e]=r[r.length-1],r.pop();break}}}},limits:I,hasExtension:function(e){return 0<=I.extensions.indexOf(e.toLowerCase())},read:x,destroy:function(){K.length=0,n(),Y&&(Y.removeEventListener(\"webglcontextlost\",i),Y.removeEventListener(\"webglcontextrestored\",o)),F.clear(),j.clear(),N.clear(),R.clear(),B.clear(),z.clear(),D.clear(),k&&k.clear(),ee.forEach((function(e){e()}))},_gl:d,_refresh:h,poll:function(){f(),k&&k.update()},now:p,stats:b,getCachedCode:function(){return _},preloadCachedCode:function(e){Object.entries(e).forEach((function(e){_[e[0]]=e[1]}))}}),e.onDone(null,m),m}}()},71665:function(e,t,r){var n=r(12856),i=n.Buffer;function a(e,t){for(var r in e)t[r]=e[r]}function o(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(a(n,t),t.Buffer=o),o.prototype=Object.create(i.prototype),a(i,o),o.from=function(e,t,r){if(\"number\"==typeof e)throw new TypeError(\"Argument must not be a number\");return i(e,t,r)},o.alloc=function(e,t,r){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");var n=i(e);return void 0!==t?\"string\"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},o.allocUnsafe=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return i(e)},o.allocUnsafeSlow=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return n.SlowBuffer(e)}},21630:function(e,t,r){e.exports=i;var n=r(15398).EventEmitter;function i(){n.call(this)}r(42018)(i,n),i.Readable=r(40410),i.Writable=r(37493),i.Duplex=r(37865),i.Transform=r(74308),i.PassThrough=r(66897),i.finished=r(12726),i.pipeline=r(10168),i.Stream=i,i.prototype.pipe=function(e,t){var r=this;function i(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on(\"data\",i),e.on(\"drain\",a),e._isStdio||t&&!1===t.end||(r.on(\"end\",s),r.on(\"close\",l));var o=!1;function s(){o||(o=!0,e.end())}function l(){o||(o=!0,\"function\"==typeof e.destroy&&e.destroy())}function u(e){if(c(),0===n.listenerCount(this,\"error\"))throw e}function c(){r.removeListener(\"data\",i),e.removeListener(\"drain\",a),r.removeListener(\"end\",s),r.removeListener(\"close\",l),r.removeListener(\"error\",u),e.removeListener(\"error\",u),r.removeListener(\"end\",c),r.removeListener(\"close\",c),e.removeListener(\"close\",c)}return r.on(\"error\",u),e.on(\"error\",u),r.on(\"end\",c),r.on(\"close\",c),e.on(\"close\",c),e.emit(\"pipe\",r),e}},74322:function(e){\"use strict\";var t={};function r(e,r,n){n||(n=Error);var i=function(e){var t,n;function i(t,n,i){return e.call(this,function(e,t,n){return\"string\"==typeof r?r:r(e,t,n)}(t,n,i))||this}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=e,t[e]=i}function n(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map((function(e){return String(e)})),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:2===r?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}return\"of \".concat(t,\" \").concat(String(e))}r(\"ERR_INVALID_OPT_VALUE\",(function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'}),TypeError),r(\"ERR_INVALID_ARG_TYPE\",(function(e,t,r){var i,a,o,s,l;if(\"string\"==typeof t&&(a=\"not \",t.substr(0,4)===a)?(i=\"must not be\",t=t.replace(/^not /,\"\")):i=\"must be\",function(e,t,r){return(void 0===r||r>e.length)&&(r=e.length),e.substring(r-9,r)===t}(e,\" argument\"))o=\"The \".concat(e,\" \").concat(i,\" \").concat(n(t,\"type\"));else{var u=(\"number\"!=typeof l&&(l=0),l+1>(s=e).length||-1===s.indexOf(\".\",l)?\"argument\":\"property\");o='The \"'.concat(e,'\" ').concat(u,\" \").concat(i,\" \").concat(n(t,\"type\"))}return o+\". Received type \".concat(typeof r)}),TypeError),r(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\"),r(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(e){return\"The \"+e+\" method is not implemented\"})),r(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\"),r(\"ERR_STREAM_DESTROYED\",(function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"})),r(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\"),r(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\"),r(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\"),r(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),r(\"ERR_UNKNOWN_ENCODING\",(function(e){return\"Unknown encoding: \"+e}),TypeError),r(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\"),e.exports.q=t},37865:function(e,t,r){\"use strict\";var n=r(90386),i=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=c;var a=r(40410),o=r(37493);r(42018)(c,a);for(var s=i(o.prototype),l=0;l<s.length;l++){var u=s[l];c.prototype[u]||(c.prototype[u]=o.prototype[u])}function c(e){if(!(this instanceof c))return new c(e);a.call(this,e),o.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once(\"end\",f)))}function f(){this._writableState.ended||n.nextTick(h,this)}function h(e){e.end()}Object.defineProperty(c.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(c.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(c.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(c.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}})},66897:function(e,t,r){\"use strict\";e.exports=i;var n=r(74308);function i(e){if(!(this instanceof i))return new i(e);n.call(this,e)}r(42018)(i,n),i.prototype._transform=function(e,t,r){r(null,e)}},40410:function(e,t,r){\"use strict\";var n,i=r(90386);e.exports=M,M.ReadableState=T,r(15398).EventEmitter;var a,o=function(e,t){return e.listeners(t).length},s=r(71405),l=r(12856).Buffer,u=r.g.Uint8Array||function(){},c=r(40964);a=c&&c.debuglog?c.debuglog(\"stream\"):function(){};var f,h,p,d=r(31125),v=r(65756),g=r(56306).getHighWaterMark,m=r(74322).q,y=m.ERR_INVALID_ARG_TYPE,x=m.ERR_STREAM_PUSH_AFTER_EOF,b=m.ERR_METHOD_NOT_IMPLEMENTED,_=m.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(42018)(M,s);var w=v.errorOrDestroy,k=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function T(e,t,i){n=n||r(37865),e=e||{},\"boolean\"!=typeof i&&(i=t instanceof n),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=g(this,e,\"readableHighWaterMark\",i),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(f||(f=r(68019).s),this.decoder=new f(e.encoding),this.encoding=e.encoding)}function M(e){if(n=n||r(37865),!(this instanceof M))return new M(e);var t=this instanceof n;this._readableState=new T(e,this,t),this.readable=!0,e&&(\"function\"==typeof e.read&&(this._read=e.read),\"function\"==typeof e.destroy&&(this._destroy=e.destroy)),s.call(this)}function A(e,t,r,n,i){a(\"readableAddChunk\",t);var o,s=e._readableState;if(null===t)s.reading=!1,function(e,t){if(a(\"onEofChunk\"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?L(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,P(e)))}}(e,s);else if(i||(o=function(e,t){var r,n;return n=t,l.isBuffer(n)||n instanceof u||\"string\"==typeof t||void 0===t||e.objectMode||(r=new y(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t)),r}(s,t)),o)w(e,o);else if(s.objectMode||t&&t.length>0)if(\"string\"==typeof t||s.objectMode||Object.getPrototypeOf(t)===l.prototype||(t=function(e){return l.from(e)}(t)),n)s.endEmitted?w(e,new _):S(e,s,t,!0);else if(s.ended)w(e,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(t=s.decoder.write(t),s.objectMode||0!==t.length?S(e,s,t,!1):O(e,s)):S(e,s,t,!1)}else n||(s.reading=!1,O(e,s));return!s.ended&&(s.length<s.highWaterMark||0===s.length)}function S(e,t,r,n){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit(\"data\",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&L(e)),O(e,t)}Object.defineProperty(M.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),M.prototype.destroy=v.destroy,M.prototype._undestroy=v.undestroy,M.prototype._destroy=function(e,t){t(e)},M.prototype.push=function(e,t){var r,n=this._readableState;return n.objectMode?r=!0:\"string\"==typeof e&&((t=t||n.defaultEncoding)!==n.encoding&&(e=l.from(e,t),t=\"\"),r=!0),A(this,e,t,!1,r)},M.prototype.unshift=function(e){return A(this,e,null,!0,!1)},M.prototype.isPaused=function(){return!1===this._readableState.flowing},M.prototype.setEncoding=function(e){f||(f=r(68019).s);var t=new f(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,i=\"\";null!==n;)i+=t.write(n.data),n=n.next;return this._readableState.buffer.clear(),\"\"!==i&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};var E=1073741824;function C(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=E?e=E:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function L(e){var t=e._readableState;a(\"emitReadable\",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(a(\"emitReadable\",t.flowing),t.emittedReadable=!0,i.nextTick(P,e))}function P(e){var t=e._readableState;a(\"emitReadable_\",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit(\"readable\"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,F(e)}function O(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(I,e,t))}function I(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var r=t.length;if(a(\"maybeReadMore read 0\"),e.read(0),r===t.length)break}t.readingMore=!1}function D(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(\"data\")>0&&e.resume()}function z(e){a(\"readable nexttick read 0\"),e.read(0)}function R(e,t){a(\"resume\",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(\"resume\"),F(e),t.flowing&&!t.reading&&e.read(0)}function F(e){var t=e._readableState;for(a(\"flow\",t.flowing);t.flowing&&null!==e.read(););}function B(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(\"\"):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function N(e){var t=e._readableState;a(\"endReadable\",t.endEmitted),t.endEmitted||(t.ended=!0,i.nextTick(j,t,e))}function j(e,t){if(a(\"endReadableNT\",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function U(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}M.prototype.read=function(e){a(\"read\",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return a(\"read: emitReadable\",t.length,t.ended),0===t.length&&t.ended?N(this):L(this),null;if(0===(e=C(e,t))&&t.ended)return 0===t.length&&N(this),null;var n,i=t.needReadable;return a(\"need readable\",i),(0===t.length||t.length-e<t.highWaterMark)&&a(\"length less than watermark\",i=!0),t.ended||t.reading?a(\"reading or ended\",i=!1):i&&(a(\"do read\"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=C(r,t))),null===(n=e>0?B(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&N(this)),null!==n&&this.emit(\"data\",n),n},M.prototype._read=function(e){w(this,new b(\"_read()\"))},M.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,a(\"pipe count=%d opts=%j\",n.pipesCount,t);var s=t&&!1===t.end||e===i.stdout||e===i.stderr?v:l;function l(){a(\"onend\"),e.end()}n.endEmitted?i.nextTick(s):r.once(\"end\",s),e.on(\"unpipe\",(function t(i,o){a(\"onunpipe\"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a(\"cleanup\"),e.removeListener(\"close\",p),e.removeListener(\"finish\",d),e.removeListener(\"drain\",u),e.removeListener(\"error\",h),e.removeListener(\"unpipe\",t),r.removeListener(\"end\",l),r.removeListener(\"end\",v),r.removeListener(\"data\",f),c=!0,!n.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}));var u=function(e){return function(){var t=e._readableState;a(\"pipeOnDrain\",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&o(e,\"data\")&&(t.flowing=!0,F(e))}}(r);e.on(\"drain\",u);var c=!1;function f(t){a(\"ondata\");var i=e.write(t);a(\"dest.write\",i),!1===i&&((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==U(n.pipes,e))&&!c&&(a(\"false write response, pause\",n.awaitDrain),n.awaitDrain++),r.pause())}function h(t){a(\"onerror\",t),v(),e.removeListener(\"error\",h),0===o(e,\"error\")&&w(e,t)}function p(){e.removeListener(\"finish\",d),v()}function d(){a(\"onfinish\"),e.removeListener(\"close\",p),v()}function v(){a(\"unpipe\"),r.unpipe(e)}return r.on(\"data\",f),function(e,t,r){if(\"function\"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,\"error\",h),e.once(\"close\",p),e.once(\"finish\",d),e.emit(\"pipe\",r),n.flowing||(a(\"pipe resume\"),r.resume()),e},M.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)n[a].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var o=U(t.pipes,e);return-1===o||(t.pipes.splice(o,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this,r)),this},M.prototype.on=function(e,t){var r=s.prototype.on.call(this,e,t),n=this._readableState;return\"data\"===e?(n.readableListening=this.listenerCount(\"readable\")>0,!1!==n.flowing&&this.resume()):\"readable\"===e&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a(\"on readable\",n.length,n.reading),n.length?L(this):n.reading||i.nextTick(z,this))),r},M.prototype.addListener=M.prototype.on,M.prototype.removeListener=function(e,t){var r=s.prototype.removeListener.call(this,e,t);return\"readable\"===e&&i.nextTick(D,this),r},M.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);return\"readable\"!==e&&void 0!==e||i.nextTick(D,this),t},M.prototype.resume=function(){var e=this._readableState;return e.flowing||(a(\"resume\"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(R,e,t))}(this,e)),e.paused=!1,this},M.prototype.pause=function(){return a(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(a(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this},M.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var i in e.on(\"end\",(function(){if(a(\"wrapped end\"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on(\"data\",(function(i){a(\"wrapped data\"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(t.push(i)||(n=!0,e.pause()))})),e)void 0===this[i]&&\"function\"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var o=0;o<k.length;o++)e.on(k[o],this.emit.bind(this,k[o]));return this._read=function(t){a(\"wrapped _read\",t),n&&(n=!1,e.resume())},this},\"function\"==typeof Symbol&&(M.prototype[Symbol.asyncIterator]=function(){return void 0===h&&(h=r(68221)),h(this)}),Object.defineProperty(M.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(M.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(M.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),M._fromList=B,Object.defineProperty(M.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}}),\"function\"==typeof Symbol&&(M.from=function(e,t){return void 0===p&&(p=r(31748)),p(M,e,t)})},74308:function(e,t,r){\"use strict\";e.exports=c;var n=r(74322).q,i=n.ERR_METHOD_NOT_IMPLEMENTED,a=n.ERR_MULTIPLE_CALLBACK,o=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0,l=r(37865);function u(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit(\"error\",new a);r.writechunk=null,r.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function c(e){if(!(this instanceof c))return new c(e);l.call(this,e),this._transformState={afterTransform:u.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(\"function\"==typeof e.transform&&(this._transform=e.transform),\"function\"==typeof e.flush&&(this._flush=e.flush)),this.on(\"prefinish\",f)}function f(){var e=this;\"function\"!=typeof this._flush||this._readableState.destroyed?h(this,null,null):this._flush((function(t,r){h(e,t,r)}))}function h(e,t,r){if(t)return e.emit(\"error\",t);if(null!=r&&e.push(r),e._writableState.length)throw new s;if(e._transformState.transforming)throw new o;return e.push(null)}r(42018)(c,l),c.prototype.push=function(e,t){return this._transformState.needTransform=!1,l.prototype.push.call(this,e,t)},c.prototype._transform=function(e,t,r){r(new i(\"_transform()\"))},c.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},c.prototype._read=function(e){var t=this._transformState;null===t.writechunk||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))},c.prototype._destroy=function(e,t){l.prototype._destroy.call(this,e,(function(e){t(e)}))}},37493:function(e,t,r){\"use strict\";var n,i=r(90386);function a(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,r){var n=e.entry;for(e.entry=null;n;){var i=n.callback;t.pendingcb--,i(undefined),n=n.next}t.corkedRequestsFree.next=e}(t,e)}}e.exports=M,M.WritableState=T;var o,s={deprecate:r(20588)},l=r(71405),u=r(12856).Buffer,c=r.g.Uint8Array||function(){},f=r(65756),h=r(56306).getHighWaterMark,p=r(74322).q,d=p.ERR_INVALID_ARG_TYPE,v=p.ERR_METHOD_NOT_IMPLEMENTED,g=p.ERR_MULTIPLE_CALLBACK,m=p.ERR_STREAM_CANNOT_PIPE,y=p.ERR_STREAM_DESTROYED,x=p.ERR_STREAM_NULL_VALUES,b=p.ERR_STREAM_WRITE_AFTER_END,_=p.ERR_UNKNOWN_ENCODING,w=f.errorOrDestroy;function k(){}function T(e,t,o){n=n||r(37865),e=e||{},\"boolean\"!=typeof o&&(o=t instanceof n),this.objectMode=!!e.objectMode,o&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=h(this,e,\"writableHighWaterMark\",o),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===e.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,a=r.writecb;if(\"function\"!=typeof a)throw new g;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,n,a){--t.pendingcb,r?(i.nextTick(a,n),i.nextTick(P,e,t),e._writableState.errorEmitted=!0,w(e,n)):(a(n),e._writableState.errorEmitted=!0,w(e,n),P(e,t))}(e,r,n,t,a);else{var o=C(r)||e.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||E(e,r),n?i.nextTick(S,e,r,o,a):S(e,r,o,a)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new a(this)}function M(e){var t=this instanceof(n=n||r(37865));if(!t&&!o.call(M,this))return new M(e);this._writableState=new T(e,this,t),this.writable=!0,e&&(\"function\"==typeof e.write&&(this._write=e.write),\"function\"==typeof e.writev&&(this._writev=e.writev),\"function\"==typeof e.destroy&&(this._destroy=e.destroy),\"function\"==typeof e.final&&(this._final=e.final)),l.call(this)}function A(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new y(\"write\")):r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function S(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}(e,t),t.pendingcb--,n(),P(e,t)}function E(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),o=t.corkedRequestsFree;o.entry=r;for(var s=0,l=!0;r;)i[s]=r,r.isBuf||(l=!1),r=r.next,s+=1;i.allBuffers=l,A(e,t,!0,t.length,i,\"\",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new a(t),t.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,c=r.encoding,f=r.callback;if(A(e,t,!1,t.objectMode?1:u.length,u,c,f),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function C(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function L(e,t){e._final((function(r){t.pendingcb--,r&&w(e,r),t.prefinished=!0,e.emit(\"prefinish\"),P(e,t)}))}function P(e,t){var r=C(t);if(r&&(function(e,t){t.prefinished||t.finalCalled||(\"function\"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit(\"prefinish\")):(t.pendingcb++,t.finalCalled=!0,i.nextTick(L,e,t)))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit(\"finish\"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}r(42018)(M,l),T.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(T.prototype,\"buffer\",{get:s.deprecate((function(){return this.getBuffer()}),\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}}(),\"function\"==typeof Symbol&&Symbol.hasInstance&&\"function\"==typeof Function.prototype[Symbol.hasInstance]?(o=Function.prototype[Symbol.hasInstance],Object.defineProperty(M,Symbol.hasInstance,{value:function(e){return!!o.call(this,e)||this===M&&e&&e._writableState instanceof T}})):o=function(e){return e instanceof this},M.prototype.pipe=function(){w(this,new m)},M.prototype.write=function(e,t,r){var n,a=this._writableState,o=!1,s=!a.objectMode&&(n=e,u.isBuffer(n)||n instanceof c);return s&&!u.isBuffer(e)&&(e=function(e){return u.from(e)}(e)),\"function\"==typeof t&&(r=t,t=null),s?t=\"buffer\":t||(t=a.defaultEncoding),\"function\"!=typeof r&&(r=k),a.ending?function(e,t){var r=new b;w(e,r),i.nextTick(t,r)}(this,r):(s||function(e,t,r,n){var a;return null===r?a=new x:\"string\"==typeof r||t.objectMode||(a=new d(\"chunk\",[\"string\",\"Buffer\"],r)),!a||(w(e,a),i.nextTick(n,a),!1)}(this,a,e,r))&&(a.pendingcb++,o=function(e,t,r,n,i,a){if(!r){var o=function(e,t,r){return e.objectMode||!1===e.decodeStrings||\"string\"!=typeof t||(t=u.from(t,r)),t}(t,n,i);n!==o&&(r=!0,i=\"buffer\",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length<t.highWaterMark;if(l||(t.needDrain=!0),t.writing||t.corked){var c=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null},c?c.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else A(e,t,!1,s,n,i,a);return l}(this,a,s,e,t,r)),o},M.prototype.cork=function(){this._writableState.corked++},M.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||E(this,e))},M.prototype.setDefaultEncoding=function(e){if(\"string\"==typeof e&&(e=e.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new _(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(M.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(M.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),M.prototype._write=function(e,t,r){r(new v(\"_write()\"))},M.prototype._writev=null,M.prototype.end=function(e,t,r){var n=this._writableState;return\"function\"==typeof e?(r=e,e=null,t=null):\"function\"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||function(e,t,r){t.ending=!0,P(e,t),r&&(t.finished?i.nextTick(r):e.once(\"finish\",r)),t.ended=!0,e.writable=!1}(this,n,r),this},Object.defineProperty(M.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(M.prototype,\"destroyed\",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),M.prototype.destroy=f.destroy,M.prototype._undestroy=f.undestroy,M.prototype._destroy=function(e,t){t(e)}},68221:function(e,t,r){\"use strict\";var n,i=r(90386);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var o=r(12726),s=Symbol(\"lastResolve\"),l=Symbol(\"lastReject\"),u=Symbol(\"error\"),c=Symbol(\"ended\"),f=Symbol(\"lastPromise\"),h=Symbol(\"handlePromise\"),p=Symbol(\"stream\");function d(e,t){return{value:e,done:t}}function v(e){var t=e[s];if(null!==t){var r=e[p].read();null!==r&&(e[f]=null,e[s]=null,e[l]=null,t(d(r,!1)))}}function g(e){i.nextTick(v,e)}var m=Object.getPrototypeOf((function(){})),y=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var e=this,t=this[u];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(t,r){i.nextTick((function(){e[u]?r(e[u]):t(d(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(function(e,t){return function(r,n){e.then((function(){t[c]?r(d(void 0,!0)):t[h](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[h])}return this[f]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,\"return\",(function(){var e=this;return new Promise((function(t,r){e[p].destroy(null,(function(e){e?r(e):t(d(void 0,!0))}))}))})),n),m);e.exports=function(e){var t,r=Object.create(y,(a(t={},p,{value:e,writable:!0}),a(t,s,{value:null,writable:!0}),a(t,l,{value:null,writable:!0}),a(t,u,{value:null,writable:!0}),a(t,c,{value:e._readableState.endEmitted,writable:!0}),a(t,h,{value:function(e,t){var n=r[p].read();n?(r[f]=null,r[s]=null,r[l]=null,e(d(n,!1))):(r[s]=e,r[l]=t)},writable:!0}),t));return r[f]=null,o(e,(function(e){if(e&&\"ERR_STREAM_PREMATURE_CLOSE\"!==e.code){var t=r[l];return null!==t&&(r[f]=null,r[s]=null,r[l]=null,t(e)),void(r[u]=e)}var n=r[s];null!==n&&(r[f]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[c]=!0})),e.on(\"readable\",g.bind(null,r)),r}},31125:function(e,t,r){\"use strict\";function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var o=r(12856).Buffer,s=r(69862).inspect,l=s&&s.custom||\"inspect\";e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.head=null,this.tail=null,this.length=0}var t,r;return t=e,r=[{key:\"push\",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:\"unshift\",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:\"shift\",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(e){if(0===this.length)return\"\";for(var t=this.head,r=\"\"+t.data;t=t.next;)r+=e+t.data;return r}},{key:\"concat\",value:function(e){if(0===this.length)return o.alloc(0);for(var t,r,n,i=o.allocUnsafe(e>>>0),a=this.head,s=0;a;)t=a.data,r=i,n=s,o.prototype.copy.call(t,r,n),s+=a.data.length,a=a.next;return i}},{key:\"consume\",value:function(e,t){var r;return e<this.head.data.length?(r=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):r=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),r}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(e){var t=this.head,r=1,n=t.data;for(e-=n.length;t=t.next;){var i=t.data,a=e>i.length?i.length:e;if(a===i.length?n+=i:n+=i.slice(0,e),0==(e-=a)){a===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(a));break}++r}return this.length-=r,n}},{key:\"_getBuffer\",value:function(e){var t=o.allocUnsafe(e),r=this.head,n=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var i=r.data,a=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,a),0==(e-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,t}},{key:l,value:function(e,t){return s(this,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},t,{depth:0,customInspect:!1}))}}],r&&a(t.prototype,r),e}()},65756:function(e,t,r){\"use strict\";var n=r(90386);function i(e,t){o(e,t),a(e)}function a(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit(\"close\")}function o(e,t){e.emit(\"error\",t)}e.exports={destroy:function(e,t){var r=this,s=this._readableState&&this._readableState.destroyed,l=this._writableState&&this._writableState.destroyed;return s||l?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,n.nextTick(o,this,e)):n.nextTick(o,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?r._writableState?r._writableState.errorEmitted?n.nextTick(a,r):(r._writableState.errorEmitted=!0,n.nextTick(i,r,e)):n.nextTick(i,r,e):t?(n.nextTick(a,r),t(e)):n.nextTick(a,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit(\"error\",t)}}},12726:function(e,t,r){\"use strict\";var n=r(74322).q.ERR_STREAM_PREMATURE_CLOSE;function i(){}e.exports=function e(t,r,a){if(\"function\"==typeof r)return e(t,null,r);r||(r={}),a=function(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}(a||i);var o=r.readable||!1!==r.readable&&t.readable,s=r.writable||!1!==r.writable&&t.writable,l=function(){t.writable||c()},u=t._writableState&&t._writableState.finished,c=function(){s=!1,u=!0,o||a.call(t)},f=t._readableState&&t._readableState.endEmitted,h=function(){o=!1,f=!0,s||a.call(t)},p=function(e){a.call(t,e)},d=function(){var e;return o&&!f?(t._readableState&&t._readableState.ended||(e=new n),a.call(t,e)):s&&!u?(t._writableState&&t._writableState.ended||(e=new n),a.call(t,e)):void 0},v=function(){t.req.on(\"finish\",c)};return function(e){return e.setHeader&&\"function\"==typeof e.abort}(t)?(t.on(\"complete\",c),t.on(\"abort\",d),t.req?v():t.on(\"request\",v)):s&&!t._writableState&&(t.on(\"end\",l),t.on(\"close\",l)),t.on(\"end\",h),t.on(\"finish\",c),!1!==r.error&&t.on(\"error\",p),t.on(\"close\",d),function(){t.removeListener(\"complete\",c),t.removeListener(\"abort\",d),t.removeListener(\"request\",v),t.req&&t.req.removeListener(\"finish\",c),t.removeListener(\"end\",l),t.removeListener(\"close\",l),t.removeListener(\"finish\",c),t.removeListener(\"end\",h),t.removeListener(\"error\",p),t.removeListener(\"close\",d)}}},31748:function(e){e.exports=function(){throw new Error(\"Readable.from is not available in the browser\")}},10168:function(e,t,r){\"use strict\";var n,i=r(74322).q,a=i.ERR_MISSING_ARGS,o=i.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function l(e){e()}function u(e,t){return e.pipe(t)}e.exports=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];var c,f=function(e){return e.length?\"function\"!=typeof e[e.length-1]?s:e.pop():s}(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new a(\"streams\");var h=t.map((function(e,i){var a=i<t.length-1;return function(e,t,i,a){a=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(a);var s=!1;e.on(\"close\",(function(){s=!0})),void 0===n&&(n=r(12726)),n(e,{readable:t,writable:i},(function(e){if(e)return a(e);s=!0,a()}));var l=!1;return function(t){if(!s&&!l)return l=!0,function(e){return e.setHeader&&\"function\"==typeof e.abort}(e)?e.abort():\"function\"==typeof e.destroy?e.destroy():void a(t||new o(\"pipe\"))}}(e,a,i>0,(function(e){c||(c=e),e&&h.forEach(l),a||(h.forEach(l),f(c))}))}));return t.reduce(u)}},56306:function(e,t,r){\"use strict\";var n=r(74322).q.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,r,i){var a=function(e,t,r){return null!=e.highWaterMark?e.highWaterMark:t?e[r]:null}(t,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:\"highWaterMark\",a);return Math.floor(a)}return e.objectMode?16:16384}}},71405:function(e,t,r){e.exports=r(15398).EventEmitter},68019:function(e,t,r){\"use strict\";var n=r(71665).Buffer,i=n.isEncoding||function(e){switch((e=\"\"+e)&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function a(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return\"utf8\";for(var t;;)switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase(),t=!0}}(e);if(\"string\"!=typeof t&&(n.isEncoding===i||!i(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}(e),this.encoding){case\"utf16le\":this.text=l,this.end=u,t=4;break;case\"utf8\":this.fillLast=s,t=4;break;case\"base64\":this.text=c,this.end=f,t=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,\"�\";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,\"�\";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,\"�\"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var r=e.toString(\"utf16le\",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString(\"utf16le\",t,e.length-1)}function u(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,r)}return t}function c(e,t){var r=(e.length-t)%3;return 0===r?e.toString(\"base64\",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString(\"base64\",t,e.length-r))}function f(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+this.lastChar.toString(\"base64\",0,3-this.lastNeed):t}function h(e){return e.toString(this.encoding)}function p(e){return e&&e.length?this.write(e):\"\"}t.s=a,a.prototype.write=function(e){if(0===e.length)return\"\";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return\"\";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||\"\"},a.prototype.end=function(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+\"�\":t},a.prototype.text=function(e,t){var r=function(e,t,r){var n=t.length-1;if(n<r)return 0;var i=o(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||-2===i?0:(i=o(t[n]))>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||-2===i?0:(i=o(t[n]))>=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString(\"utf8\",t,n)},a.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},90715:function(e,t,r){var n=r(32791),i=r(41633)(\"stream-parser\");e.exports=function(e){var t=e&&\"function\"==typeof e._transform,r=e&&\"function\"==typeof e._write;if(!t&&!r)throw new Error(\"must pass a Writable or Transform stream in\");i(\"extending Parser into stream\"),e._bytes=c,e._skipBytes=f,t&&(e._passthrough=h),t?e._transform=d:e._write=p};var a=-1,o=0,s=1,l=2;function u(e){i(\"initializing parser stream\"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=a,e._parserCallback=null,\"function\"==typeof e.push&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function c(e,t){n(!this._parserCallback,'there is already a \"callback\" set!'),n(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got \"'+e+'\"'),this._parserInit||u(this),i(\"buffering %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=o}function f(e,t){n(!this._parserCallback,'there is already a \"callback\" set!'),n(e>0,'can only skip > 0 bytes, got \"'+e+'\"'),this._parserInit||u(this),i(\"skipping %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=s}function h(e,t){n(!this._parserCallback,'There is already a \"callback\" set!'),n(e>0,'can only pass through > 0 bytes, got \"'+e+'\"'),this._parserInit||u(this),i(\"passing through %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=l}function p(e,t,r){this._parserInit||u(this),i(\"write(%o bytes)\",e.length),\"function\"==typeof t&&(r=t),g(this,e,null,r)}function d(e,t,r){this._parserInit||u(this),i(\"transform(%o bytes)\",e.length),\"function\"!=typeof t&&(t=this._parserOutput),g(this,e,t,r)}function v(e,t,r,n){if(e._parserBytesLeft-=t.length,i(\"%o bytes left for stream piece\",e._parserBytesLeft),e._parserState===o?(e._parserBuffers.push(t),e._parserBuffered+=t.length):e._parserState===l&&r(t),0!==e._parserBytesLeft)return n;var s=e._parserCallback;if(s&&e._parserState===o&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),e._parserState!==o&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=a,e._parserBuffers.splice(0),s){var u=[];t&&u.push(t),r&&u.push(r);var c=s.length>u.length;c&&u.push(m(n));var f=s.apply(e,u);if(!c||n===f)return n}}var g=m((function e(t,r,n,i){return t._parserBytesLeft<=0?i(new Error(\"got data but not currently parsing anything\")):r.length<=t._parserBytesLeft?function(){return v(t,r,n,i)}:function(){var a=r.slice(0,t._parserBytesLeft);return v(t,a,n,(function(o){return o?i(o):r.length>a.length?function(){return e(t,r.slice(a.length),n,i)}:void 0}))}}));function m(e){return function(){for(var t=e.apply(this,arguments);\"function\"==typeof t;)t=t();return t}}},41633:function(e,t,r){var n=r(90386);function i(){var e;try{e=t.storage.debug}catch(e){}return!e&&void 0!==n&&\"env\"in n&&(e=n.env.DEBUG),e}(t=e.exports=r(74469)).log=function(){return\"object\"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},t.formatArgs=function(e){var r=this.useColors;if(e[0]=(r?\"%c\":\"\")+this.namespace+(r?\" %c\":\" \")+e[0]+(r?\"%c \":\" \")+\"+\"+t.humanize(this.diff),r){var n=\"color: \"+this.color;e.splice(1,0,n,\"color: inherit\");var i=0,a=0;e[0].replace(/%[a-zA-Z%]/g,(function(e){\"%%\"!==e&&(i++,\"%c\"===e&&(a=i))})),e.splice(a,0,n)}},t.save=function(e){try{null==e?t.storage.removeItem(\"debug\"):t.storage.debug=e}catch(e){}},t.load=i,t.useColors=function(){return!(\"undefined\"==typeof window||!window.process||\"renderer\"!==window.process.type)||\"undefined\"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||\"undefined\"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)},t.storage=\"undefined\"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return\"[UnexpectedJSONParseError]: \"+e.message}},t.enable(i())},74469:function(e,t,r){var n;function i(e){function r(){if(r.enabled){var e=r,i=+new Date,a=i-(n||i);e.diff=a,e.prev=n,e.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s<o.length;s++)o[s]=arguments[s];o[0]=t.coerce(o[0]),\"string\"!=typeof o[0]&&o.unshift(\"%O\");var l=0;o[0]=o[0].replace(/%([a-zA-Z%])/g,(function(r,n){if(\"%%\"===r)return r;l++;var i=t.formatters[n];if(\"function\"==typeof i){var a=o[l];r=i.call(e,a),o.splice(l,1),l--}return r})),t.formatArgs.call(e,o),(r.log||t.log||console.log.bind(console)).apply(e,o)}}return r.namespace=e,r.enabled=t.enabled(e),r.useColors=t.useColors(),r.color=function(e){var r,n=0;for(r in e)n=(n<<5)-n+e.charCodeAt(r),n|=0;return t.colors[Math.abs(n)%t.colors.length]}(e),\"function\"==typeof t.init&&t.init(r),r}(t=e.exports=i.debug=i.default=i).coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){t.enable(\"\")},t.enable=function(e){t.save(e),t.names=[],t.skips=[];for(var r=(\"string\"==typeof e?e:\"\").split(/[\\s,]+/),n=r.length,i=0;i<n;i++)r[i]&&(\"-\"===(e=r[i].replace(/\\*/g,\".*?\"))[0]?t.skips.push(new RegExp(\"^\"+e.substr(1)+\"$\")):t.names.push(new RegExp(\"^\"+e+\"$\")))},t.enabled=function(e){var r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(11375),t.names=[],t.skips=[],t.formatters={}},11375:function(e){var t=1e3,r=60*t,n=60*r,i=24*n;function a(e,t,r){if(!(e<t))return e<1.5*t?Math.floor(e/t)+\" \"+r:Math.ceil(e/t)+\" \"+r+\"s\"}e.exports=function(e,o){o=o||{};var s,l=typeof e;if(\"string\"===l&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var a=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(a){var o=parseFloat(a[1]);switch((a[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return 315576e5*o;case\"days\":case\"day\":case\"d\":return o*i;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return o*n;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return o*r;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return o*t;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return o;default:return}}}}(e);if(\"number\"===l&&!1===isNaN(e))return o.long?a(s=e,i,\"day\")||a(s,n,\"hour\")||a(s,r,\"minute\")||a(s,t,\"second\")||s+\" ms\":function(e){return e>=i?Math.round(e/i)+\"d\":e>=n?Math.round(e/n)+\"h\":e>=r?Math.round(e/r)+\"m\":e>=t?Math.round(e/t)+\"s\":e+\"ms\"}(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))}},99011:function(e,t,r){\"use strict\";var n=r(88641);e.exports=function(e,t,r){if(null==e)throw Error(\"First argument should be a string\");if(null==t)throw Error(\"Separator should be a string or a RegExp\");r?(\"string\"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"“”\",\"«»\"]:(\"string\"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(e){return 1===e.length&&(e+=e),e})));var i=n.parse(e,{flat:!0,brackets:r.ignore}),a=i[0].split(t);if(r.escape){for(var o=[],s=0;s<a.length;s++){var l=a[s],u=a[s+1];\"\\\\\"===l[l.length-1]&&\"\\\\\"!==l[l.length-2]?(o.push(l+t+u),s++):o.push(l)}a=o}for(s=0;s<a.length;s++)i[0]=a[s],a[s]=n.stringify(i,{flat:!0});return a}},68664:function(e){\"use strict\";e.exports=function(e){for(var t=e.length,r=new Array(t),n=new Array(t),i=new Array(t),a=new Array(t),o=new Array(t),s=new Array(t),l=0;l<t;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var u,c=0,f=[],h=[];function p(t){var l=[t],u=[t];for(r[t]=n[t]=c,i[t]=!0,c+=1;u.length>0;){t=u[u.length-1];var p=e[t];if(a[t]<p.length){for(var d=a[t];d<p.length;++d){var v=p[d];if(r[v]<0){r[v]=n[v]=c,i[v]=!0,c+=1,l.push(v),u.push(v);break}i[v]&&(n[t]=0|Math.min(n[t],n[v])),o[v]>=0&&s[t].push(o[v])}a[t]=d}else{if(n[t]===r[t]){var g=[],m=[],y=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),m.push(s[x]),y+=s[x].length,o[x]=f.length,x===t){l.length=d;break}}f.push(g);var b=new Array(y);for(d=0;d<m.length;d++)for(var _=0;_<m[d].length;_++)b[--y]=m[d][_];h.push(b)}u.pop()}}}for(l=0;l<t;++l)r[l]<0&&p(l);for(l=0;l<h.length;l++){var d=h[l];if(0!==d.length){d.sort((function(e,t){return e-t})),u=[d[0]];for(var v=1;v<d.length;v++)d[v]!==d[v-1]&&u.push(d[v]);h[l]=u}}return{components:f,adjacencyList:h}}},7095:function(e,t,r){\"use strict\";r.r(t);var n=2*Math.PI,i=function(e,t,r,n,i,a,o){var s=e.x,l=e.y;return{x:n*(s*=t)-i*(l*=r)+a,y:i*s+n*l+o}},a=function(e,t){var r=1.5707963267948966===t?.551915024494:-1.5707963267948966===t?-.551915024494:4/3*Math.tan(t/4),n=Math.cos(e),i=Math.sin(e),a=Math.cos(e+t),o=Math.sin(e+t);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},o=function(e,t,r,n){var i=e*r+t*n;return i>1&&(i=1),i<-1&&(i=-1),(e*n-t*r<0?-1:1)*Math.acos(i)};t.default=function(e){var t=e.px,r=e.py,s=e.cx,l=e.cy,u=e.rx,c=e.ry,f=e.xAxisRotation,h=void 0===f?0:f,p=e.largeArcFlag,d=void 0===p?0:p,v=e.sweepFlag,g=void 0===v?0:v,m=[];if(0===u||0===c)return[];var y=Math.sin(h*n/360),x=Math.cos(h*n/360),b=x*(t-s)/2+y*(r-l)/2,_=-y*(t-s)/2+x*(r-l)/2;if(0===b&&0===_)return[];u=Math.abs(u),c=Math.abs(c);var w=Math.pow(b,2)/Math.pow(u,2)+Math.pow(_,2)/Math.pow(c,2);w>1&&(u*=Math.sqrt(w),c*=Math.sqrt(w));var k=function(e,t,r,i,a,s,l,u,c,f,h,p){var d=Math.pow(a,2),v=Math.pow(s,2),g=Math.pow(h,2),m=Math.pow(p,2),y=d*v-d*m-v*g;y<0&&(y=0),y/=d*m+v*g;var x=(y=Math.sqrt(y)*(l===u?-1:1))*a/s*p,b=y*-s/a*h,_=f*x-c*b+(e+r)/2,w=c*x+f*b+(t+i)/2,k=(h-x)/a,T=(p-b)/s,M=(-h-x)/a,A=(-p-b)/s,S=o(1,0,k,T),E=o(k,T,M,A);return 0===u&&E>0&&(E-=n),1===u&&E<0&&(E+=n),[_,w,S,E]}(t,r,s,l,u,c,d,g,y,x,b,_),T=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){i=!0,a=e}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}(k,4),M=T[0],A=T[1],S=T[2],E=T[3],C=Math.abs(E)/(n/4);Math.abs(1-C)<1e-7&&(C=1);var L=Math.max(Math.ceil(C),1);E/=L;for(var P=0;P<L;P++)m.push(a(S,E)),S+=E;return m.map((function(e){var t=i(e[0],u,c,x,y,M,A),r=t.x,n=t.y,a=i(e[1],u,c,x,y,M,A),o=a.x,s=a.y,l=i(e[2],u,c,x,y,M,A);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}}))}},1750:function(e,t,r){\"use strict\";var n=r(95616),i=r(65185),a=r(29988),o=r(89546),s=r(32791);e.exports=function(e){if(Array.isArray(e)&&1===e.length&&\"string\"==typeof e[0]&&(e=e[0]),\"string\"==typeof e&&(s(o(e),\"String is not an SVG path.\"),e=n(e)),s(Array.isArray(e),\"Argument should be a string or an array of path segments.\"),e=i(e),!(e=a(e)).length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],r=0,l=e.length;r<l;r++)for(var u=e[r].slice(1),c=0;c<u.length;c+=2)u[c+0]<t[0]&&(t[0]=u[c+0]),u[c+1]<t[1]&&(t[1]=u[c+1]),u[c+0]>t[2]&&(t[2]=u[c+0]),u[c+1]>t[3]&&(t[3]=u[c+1]);return t}},29988:function(e,t,r){\"use strict\";e.exports=function(e){for(var t,r=[],o=0,s=0,l=0,u=0,c=null,f=null,h=0,p=0,d=0,v=e.length;d<v;d++){var g=e[d],m=g[0];switch(m){case\"M\":l=g[1],u=g[2];break;case\"A\":var y=n({px:h,py:p,cx:g[6],cy:g[7],rx:g[1],ry:g[2],xAxisRotation:g[3],largeArcFlag:g[4],sweepFlag:g[5]});if(!y.length)continue;for(var x,b=0;b<y.length;b++)g=[\"C\",(x=y[b]).x1,x.y1,x.x2,x.y2,x.x,x.y],b<y.length-1&&r.push(g);break;case\"S\":var _=h,w=p;\"C\"!=t&&\"S\"!=t||(_+=_-o,w+=w-s),g=[\"C\",_,w,g[1],g[2],g[3],g[4]];break;case\"T\":\"Q\"==t||\"T\"==t?(c=2*h-c,f=2*p-f):(c=h,f=p),g=a(h,p,c,f,g[1],g[2]);break;case\"Q\":c=g[1],f=g[2],g=a(h,p,g[1],g[2],g[3],g[4]);break;case\"L\":g=i(h,p,g[1],g[2]);break;case\"H\":g=i(h,p,g[1],p);break;case\"V\":g=i(h,p,h,g[1]);break;case\"Z\":g=i(h,p,l,u)}t=m,h=g[g.length-2],p=g[g.length-1],g.length>4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=r(7095);function i(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function a(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},82019:function(e,t,r){\"use strict\";var n,i=r(1750),a=r(95616),o=r(31457),s=r(89546),l=r(44781),u=document.createElement(\"canvas\"),c=u.getContext(\"2d\");e.exports=function(e,t){if(!s(e))throw Error(\"Argument should be valid svg path string\");var r,f;t||(t={}),t.shape?(r=t.shape[0],f=t.shape[1]):(r=u.width=t.w||t.width||200,f=u.height=t.h||t.height||200);var h=Math.min(r,f),p=t.stroke||0,d=t.viewbox||t.viewBox||i(e),v=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(v[0]||0,v[1]||0)/2;if(c.fillStyle=\"black\",c.fillRect(0,0,r,f),c.fillStyle=\"white\",p&&(\"number\"!=typeof p&&(p=1),c.strokeStyle=p>0?\"white\":\"black\",c.lineWidth=Math.abs(p)),c.translate(.5*r,.5*f),c.scale(g,g),function(){if(null!=n)return n;var e=document.createElement(\"canvas\").getContext(\"2d\");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return n=!1;var t=new Path2D(\"M0,0h1v1h-1v-1Z\");e.fillStyle=\"black\",e.fill(t);var r=e.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var m=new Path2D(e);c.fill(m),p&&c.stroke(m)}else{var y=a(e);o(c,y),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),l(c,{cutoff:null!=t.cutoff?t.cutoff:.5,radius:null!=t.radius?t.radius:.5*h})}},84267:function(e,t,r){var n;!function(i){var a=/^\\s+/,o=/\\s+$/,s=0,l=i.round,u=i.min,c=i.max,f=i.random;function h(e,t){if(t=t||{},(e=e||\"\")instanceof h)return e;if(!(this instanceof h))return new h(e,t);var r=function(e){var t,r,n,s={r:0,g:0,b:0},l=1,f=null,h=null,p=null,d=!1,v=!1;return\"string\"==typeof e&&(e=function(e){e=e.replace(a,\"\").replace(o,\"\").toLowerCase();var t,r=!1;if(L[e])e=L[e],r=!0;else if(\"transparent\"==e)return{r:0,g:0,b:0,a:0,format:\"name\"};return(t=H.rgb.exec(e))?{r:t[1],g:t[2],b:t[3]}:(t=H.rgba.exec(e))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=H.hsl.exec(e))?{h:t[1],s:t[2],l:t[3]}:(t=H.hsla.exec(e))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=H.hsv.exec(e))?{h:t[1],s:t[2],v:t[3]}:(t=H.hsva.exec(e))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=H.hex8.exec(e))?{r:z(t[1]),g:z(t[2]),b:z(t[3]),a:N(t[4]),format:r?\"name\":\"hex8\"}:(t=H.hex6.exec(e))?{r:z(t[1]),g:z(t[2]),b:z(t[3]),format:r?\"name\":\"hex\"}:(t=H.hex4.exec(e))?{r:z(t[1]+\"\"+t[1]),g:z(t[2]+\"\"+t[2]),b:z(t[3]+\"\"+t[3]),a:N(t[4]+\"\"+t[4]),format:r?\"name\":\"hex8\"}:!!(t=H.hex3.exec(e))&&{r:z(t[1]+\"\"+t[1]),g:z(t[2]+\"\"+t[2]),b:z(t[3]+\"\"+t[3]),format:r?\"name\":\"hex\"}}(e)),\"object\"==typeof e&&(q(e.r)&&q(e.g)&&q(e.b)?(t=e.r,r=e.g,n=e.b,s={r:255*I(t,255),g:255*I(r,255),b:255*I(n,255)},d=!0,v=\"%\"===String(e.r).substr(-1)?\"prgb\":\"rgb\"):q(e.h)&&q(e.s)&&q(e.v)?(f=F(e.s),h=F(e.v),s=function(e,t,r){e=6*I(e,360),t=I(t,100),r=I(r,100);var n=i.floor(e),a=e-n,o=r*(1-t),s=r*(1-a*t),l=r*(1-(1-a)*t),u=n%6;return{r:255*[r,s,o,o,l,r][u],g:255*[l,r,r,s,o,o][u],b:255*[o,o,l,r,r,s][u]}}(e.h,f,h),d=!0,v=\"hsv\"):q(e.h)&&q(e.s)&&q(e.l)&&(f=F(e.s),p=F(e.l),s=function(e,t,r){var n,i,a;function o(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}if(e=I(e,360),t=I(t,100),r=I(r,100),0===t)n=i=a=r;else{var s=r<.5?r*(1+t):r+t-r*t,l=2*r-s;n=o(l,s,e+1/3),i=o(l,s,e),a=o(l,s,e-1/3)}return{r:255*n,g:255*i,b:255*a}}(e.h,f,p),d=!0,v=\"hsl\"),e.hasOwnProperty(\"a\")&&(l=e.a)),l=O(l),{ok:d,format:e.format||v,r:u(255,c(s.r,0)),g:u(255,c(s.g,0)),b:u(255,c(s.b,0)),a:l}}(e);this._originalInput=e,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=t.format||r.format,this._gradientType=t.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(e,t,r){e=I(e,255),t=I(t,255),r=I(r,255);var n,i,a=c(e,t,r),o=u(e,t,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case e:n=(t-r)/l+(t<r?6:0);break;case t:n=(r-e)/l+2;break;case r:n=(e-t)/l+4}n/=6}return{h:n,s:i,l:s}}function d(e,t,r){e=I(e,255),t=I(t,255),r=I(r,255);var n,i,a=c(e,t,r),o=u(e,t,r),s=a,l=a-o;if(i=0===a?0:l/a,a==o)n=0;else{switch(a){case e:n=(t-r)/l+(t<r?6:0);break;case t:n=(r-e)/l+2;break;case r:n=(e-t)/l+4}n/=6}return{h:n,s:i,v:s}}function v(e,t,r,n){var i=[R(l(e).toString(16)),R(l(t).toString(16)),R(l(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(\"\")}function g(e,t,r,n){return[R(B(n)),R(l(e).toString(16)),R(l(t).toString(16)),R(l(r).toString(16))].join(\"\")}function m(e,t){t=0===t?0:t||10;var r=h(e).toHsl();return r.s-=t/100,r.s=D(r.s),h(r)}function y(e,t){t=0===t?0:t||10;var r=h(e).toHsl();return r.s+=t/100,r.s=D(r.s),h(r)}function x(e){return h(e).desaturate(100)}function b(e,t){t=0===t?0:t||10;var r=h(e).toHsl();return r.l+=t/100,r.l=D(r.l),h(r)}function _(e,t){t=0===t?0:t||10;var r=h(e).toRgb();return r.r=c(0,u(255,r.r-l(-t/100*255))),r.g=c(0,u(255,r.g-l(-t/100*255))),r.b=c(0,u(255,r.b-l(-t/100*255))),h(r)}function w(e,t){t=0===t?0:t||10;var r=h(e).toHsl();return r.l-=t/100,r.l=D(r.l),h(r)}function k(e,t){var r=h(e).toHsl(),n=(r.h+t)%360;return r.h=n<0?360+n:n,h(r)}function T(e){var t=h(e).toHsl();return t.h=(t.h+180)%360,h(t)}function M(e){var t=h(e).toHsl(),r=t.h;return[h(e),h({h:(r+120)%360,s:t.s,l:t.l}),h({h:(r+240)%360,s:t.s,l:t.l})]}function A(e){var t=h(e).toHsl(),r=t.h;return[h(e),h({h:(r+90)%360,s:t.s,l:t.l}),h({h:(r+180)%360,s:t.s,l:t.l}),h({h:(r+270)%360,s:t.s,l:t.l})]}function S(e){var t=h(e).toHsl(),r=t.h;return[h(e),h({h:(r+72)%360,s:t.s,l:t.l}),h({h:(r+216)%360,s:t.s,l:t.l})]}function E(e,t,r){t=t||6,r=r||30;var n=h(e).toHsl(),i=360/r,a=[h(e)];for(n.h=(n.h-(i*t>>1)+720)%360;--t;)n.h=(n.h+i)%360,a.push(h(n));return a}function C(e,t){t=t||6;for(var r=h(e).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/t;t--;)o.push(h({h:n,s:i,v:a})),a=(a+s)%1;return o}h.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,r,n=this.toRgb();return e=n.r/255,t=n.g/255,r=n.b/255,.2126*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(e){return this._a=O(e),this._roundA=l(100*this._a)/100,this},toHsv:function(){var e=d(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=d(this._r,this._g,this._b),t=l(360*e.h),r=l(100*e.s),n=l(100*e.v);return 1==this._a?\"hsv(\"+t+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+t+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var e=p(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=p(this._r,this._g,this._b),t=l(360*e.h),r=l(100*e.s),n=l(100*e.l);return 1==this._a?\"hsl(\"+t+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+t+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(e){return v(this._r,this._g,this._b,e)},toHexString:function(e){return\"#\"+this.toHex(e)},toHex8:function(e){return function(e,t,r,n,i){var a=[R(l(e).toString(16)),R(l(t).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join(\"\")}(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return\"#\"+this.toHex8(e)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+l(this._r)+\", \"+l(this._g)+\", \"+l(this._b)+\")\":\"rgba(\"+l(this._r)+\", \"+l(this._g)+\", \"+l(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:l(100*I(this._r,255))+\"%\",g:l(100*I(this._g,255))+\"%\",b:l(100*I(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+l(100*I(this._r,255))+\"%, \"+l(100*I(this._g,255))+\"%, \"+l(100*I(this._b,255))+\"%)\":\"rgba(\"+l(100*I(this._r,255))+\"%, \"+l(100*I(this._g,255))+\"%, \"+l(100*I(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(P[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t=\"#\"+g(this._r,this._g,this._b,this._a),r=t,n=this._gradientType?\"GradientType = 1, \":\"\";if(e){var i=h(e);r=\"#\"+g(i._r,i._g,i._b,i._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+n+\"startColorstr=\"+t+\",endColorstr=\"+r+\")\"},toString:function(e){var t=!!e;e=e||this._format;var r=!1,n=this._a<1&&this._a>=0;return t||!n||\"hex\"!==e&&\"hex6\"!==e&&\"hex3\"!==e&&\"hex4\"!==e&&\"hex8\"!==e&&\"name\"!==e?(\"rgb\"===e&&(r=this.toRgbString()),\"prgb\"===e&&(r=this.toPercentageRgbString()),\"hex\"!==e&&\"hex6\"!==e||(r=this.toHexString()),\"hex3\"===e&&(r=this.toHexString(!0)),\"hex4\"===e&&(r=this.toHex8String(!0)),\"hex8\"===e&&(r=this.toHex8String()),\"name\"===e&&(r=this.toName()),\"hsl\"===e&&(r=this.toHslString()),\"hsv\"===e&&(r=this.toHsvString()),r||this.toHexString()):\"name\"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return h(this.toString())},_applyModification:function(e,t){var r=e.apply(null,[this].concat([].slice.call(t)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(m,arguments)},saturate:function(){return this._applyModification(y,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(k,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(T,arguments)},monochromatic:function(){return this._applyCombination(C,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(M,arguments)},tetrad:function(){return this._applyCombination(A,arguments)}},h.fromRatio=function(e,t){if(\"object\"==typeof e){var r={};for(var n in e)e.hasOwnProperty(n)&&(r[n]=\"a\"===n?e[n]:F(e[n]));e=r}return h(e,t)},h.equals=function(e,t){return!(!e||!t)&&h(e).toRgbString()==h(t).toRgbString()},h.random=function(){return h.fromRatio({r:f(),g:f(),b:f()})},h.mix=function(e,t,r){r=0===r?0:r||50;var n=h(e).toRgb(),i=h(t).toRgb(),a=r/100;return h({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},h.readability=function(e,t){var r=h(e),n=h(t);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},h.isReadable=function(e,t,r){var n,i,a,o,s,l=h.readability(e,t);switch(i=!1,(a=r,o=((a=a||{level:\"AA\",size:\"small\"}).level||\"AA\").toUpperCase(),s=(a.size||\"small\").toLowerCase(),\"AA\"!==o&&\"AAA\"!==o&&(o=\"AA\"),\"small\"!==s&&\"large\"!==s&&(s=\"small\"),n={level:o,size:s}).level+n.size){case\"AAsmall\":case\"AAAlarge\":i=l>=4.5;break;case\"AAlarge\":i=l>=3;break;case\"AAAsmall\":i=l>=7}return i},h.mostReadable=function(e,t,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;u<t.length;u++)(n=h.readability(e,t[u]))>l&&(l=n,s=h(t[u]));return h.isReadable(e,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,h.mostReadable(e,[\"#fff\",\"#000\"],r))};var L=h.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},P=h.hexNames=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}(L);function O(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function I(e,t){(function(e){return\"string\"==typeof e&&-1!=e.indexOf(\".\")&&1===parseFloat(e)})(e)&&(e=\"100%\");var r=function(e){return\"string\"==typeof e&&-1!=e.indexOf(\"%\")}(e);return e=u(t,c(0,parseFloat(e))),r&&(e=parseInt(e*t,10)/100),i.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function D(e){return u(1,c(0,e))}function z(e){return parseInt(e,16)}function R(e){return 1==e.length?\"0\"+e:\"\"+e}function F(e){return e<=1&&(e=100*e+\"%\"),e}function B(e){return i.round(255*parseFloat(e)).toString(16)}function N(e){return z(e)/255}var j,U,V,H=(U=\"[\\\\s|\\\\(]+(\"+(j=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\")+\")[,|\\\\s]+(\"+j+\")[,|\\\\s]+(\"+j+\")\\\\s*\\\\)?\",V=\"[\\\\s|\\\\(]+(\"+j+\")[,|\\\\s]+(\"+j+\")[,|\\\\s]+(\"+j+\")[,|\\\\s]+(\"+j+\")\\\\s*\\\\)?\",{CSS_UNIT:new RegExp(j),rgb:new RegExp(\"rgb\"+U),rgba:new RegExp(\"rgba\"+V),hsl:new RegExp(\"hsl\"+U),hsla:new RegExp(\"hsla\"+V),hsv:new RegExp(\"hsv\"+U),hsva:new RegExp(\"hsva\"+V),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function q(e){return!!H.CSS_UNIT.exec(e)}e.exports?e.exports=h:void 0===(n=function(){return h}.call(t,r,t,e))||(e.exports=n)}(Math)},57060:function(e){\"use strict\";e.exports=r,e.exports.float32=e.exports.float=r,e.exports.fract32=e.exports.fract=function(e,t){if(e.length){if(e instanceof Float32Array)return new Float32Array(e.length);t instanceof Float32Array||(t=r(e));for(var n=0,i=t.length;n<i;n++)t[n]=e[n]-t[n];return t}return r(e-r(e))};var t=new Float32Array(1);function r(e){return e.length?e instanceof Float32Array?e:new Float32Array(e):(t[0]=e,t[0])}},75686:function(e,t,r){\"use strict\";var n=r(25677);e.exports=o;var i=96;function a(e,t){var r=n(getComputedStyle(e).getPropertyValue(t));return r[0]*o(r[1],e)}function o(e,t){switch(t=t||document.body,e=(e||\"px\").trim().toLowerCase(),t!==window&&t!==document||(t=document.body),e){case\"%\":return t.clientHeight/100;case\"ch\":case\"ex\":return function(e,t){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+e,t.appendChild(r);var n=a(r,\"font-size\")/128;return t.removeChild(r),n}(e,t);case\"em\":return a(t,\"font-size\");case\"rem\":return a(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return i;case\"cm\":return i/2.54;case\"mm\":return i/25.4;case\"pt\":return i/72;case\"pc\":return i/6}return 1}},96892:function(e,t,r){\"use strict\";function n(e){return e}function i(e,t){return\"string\"==typeof t&&(t=e.objects[t]),\"GeometryCollection\"===t.type?{type:\"FeatureCollection\",features:t.geometries.map((function(t){return a(e,t)}))}:a(e,t)}function a(e,t){var r=t.id,i=t.bbox,a=null==t.properties?{}:t.properties,o=function(e,t){var r=function(e){if(null==e)return n;var t,r,i=e.scale[0],a=e.scale[1],o=e.translate[0],s=e.translate[1];return function(e,n){n||(t=r=0);var l=2,u=e.length,c=new Array(u);for(c[0]=(t+=e[0])*i+o,c[1]=(r+=e[1])*a+s;l<u;)c[l]=e[l],++l;return c}}(e.transform),i=e.arcs;function a(e,t){t.length&&t.pop();for(var n=i[e<0?~e:e],a=0,o=n.length;a<o;++a)t.push(r(n[a],a));e<0&&function(e,t){for(var r,n=e.length,i=n-t;i<--n;)r=e[i],e[i++]=e[n],e[n]=r}(t,o)}function o(e){return r(e)}function s(e){for(var t=[],r=0,n=e.length;r<n;++r)a(e[r],t);return t.length<2&&t.push(t[0]),t}function l(e){for(var t=s(e);t.length<4;)t.push(t[0]);return t}function u(e){return e.map(l)}return function e(t){var r,n=t.type;switch(n){case\"GeometryCollection\":return{type:n,geometries:t.geometries.map(e)};case\"Point\":r=o(t.coordinates);break;case\"MultiPoint\":r=t.coordinates.map(o);break;case\"LineString\":r=s(t.arcs);break;case\"MultiLineString\":r=t.arcs.map(s);break;case\"Polygon\":r=u(t.arcs);break;case\"MultiPolygon\":r=t.arcs.map(u);break;default:return null}return{type:n,coordinates:r}}(t)}(e,t);return null==r&&null==i?{type:\"Feature\",properties:a,geometry:o}:null==i?{type:\"Feature\",id:r,properties:a,geometry:o}:{type:\"Feature\",id:r,bbox:i,properties:a,geometry:o}}r.d(t,{zL:function(){return i}})},73116:function(e,t,r){\"use strict\";var n=r(24511);e.exports=function(e){if(\"function\"!=typeof e)return!1;if(!hasOwnProperty.call(e,\"length\"))return!1;try{if(\"number\"!=typeof e.length)return!1;if(\"function\"!=typeof e.call)return!1;if(\"function\"!=typeof e.apply)return!1}catch(e){return!1}return!n(e)}},69190:function(e,t,r){\"use strict\";var n=r(24582),i=r(47403),a=r(9234),o=r(6048),s=function(e,t){return e.replace(\"%v\",o(t))};e.exports=function(e,t,r){if(!i(r))throw new TypeError(s(t,e));if(!n(e)){if(\"default\"in r)return r.default;if(r.isOptional)return null}var o=a(r.errorMessage);throw n(o)||(o=t),new TypeError(s(o,e))}},18497:function(e){\"use strict\";e.exports=function(e){try{return e.toString()}catch(t){try{return String(e)}catch(e){return null}}}},6048:function(e,t,r){\"use strict\";var n=r(18497),i=/[\\n\\r\\u2028\\u2029]/g;e.exports=function(e){var t=n(e);return null===t?\"<Non-coercible to string value>\":(t.length>100&&(t=t.slice(0,99)+\"…\"),t=t.replace(i,(function(e){switch(e){case\"\\n\":return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}})))}},47403:function(e,t,r){\"use strict\";var n=r(24582),i={object:!0,function:!0,undefined:!0};e.exports=function(e){return!!n(e)&&hasOwnProperty.call(i,typeof e)}},82527:function(e,t,r){\"use strict\";var n=r(69190),i=r(84985);e.exports=function(e){return i(e)?e:n(e,\"%v is not a plain function\",arguments[1])}},84985:function(e,t,r){\"use strict\";var n=r(73116),i=/^\\s*class[\\s{/}]/,a=Function.prototype.toString;e.exports=function(e){return!!n(e)&&!i.test(a.call(e))}},24511:function(e,t,r){\"use strict\";var n=r(47403);e.exports=function(e){if(!n(e))return!1;try{return!!e.constructor&&e.constructor.prototype===e}catch(e){return!1}}},9234:function(e,t,r){\"use strict\";var n=r(24582),i=r(47403),a=Object.prototype.toString;e.exports=function(e){if(!n(e))return null;if(i(e)){var t=e.toString;if(\"function\"!=typeof t)return null;if(t===a)return null}try{return\"\"+e}catch(e){return null}}},10424:function(e,t,r){\"use strict\";var n=r(69190),i=r(24582);e.exports=function(e){return i(e)?e:n(e,\"Cannot use %v\",arguments[1])}},24582:function(e){\"use strict\";e.exports=function(e){return null!=e}},58404:function(e,t,r){\"use strict\";var n=r(13547),i=r(12129),a=r(12856).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o=\"undefined\"!=typeof Uint8ClampedArray,s=\"undefined\"!=typeof BigUint64Array,l=\"undefined\"!=typeof BigInt64Array,u=r.g.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=i([32,0])),u.BIGUINT64||(u.BIGUINT64=i([32,0])),u.BIGINT64||(u.BIGINT64=i([32,0])),u.BUFFER||(u.BUFFER=i([32,0]));var c=u.DATA,f=u.BUFFER;function h(e){if(e){var t=e.length||e.byteLength,r=n.log2(t);c[r].push(e)}}function p(e){e=n.nextPow2(e);var t=n.log2(e),r=c[t];return r.length>0?r.pop():new ArrayBuffer(e)}function d(e){return new Uint8Array(p(e),0,e)}function v(e){return new Uint16Array(p(2*e),0,e)}function g(e){return new Uint32Array(p(4*e),0,e)}function m(e){return new Int8Array(p(e),0,e)}function y(e){return new Int16Array(p(2*e),0,e)}function x(e){return new Int32Array(p(4*e),0,e)}function b(e){return new Float32Array(p(4*e),0,e)}function _(e){return new Float64Array(p(8*e),0,e)}function w(e){return o?new Uint8ClampedArray(p(e),0,e):d(e)}function k(e){return s?new BigUint64Array(p(8*e),0,e):null}function T(e){return l?new BigInt64Array(p(8*e),0,e):null}function M(e){return new DataView(p(e),0,e)}function A(e){e=n.nextPow2(e);var t=n.log2(e),r=f[t];return r.length>0?r.pop():new a(e)}t.free=function(e){if(a.isBuffer(e))f[n.log2(e.length)].push(e);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(e)&&(e=e.buffer),!e)return;var t=e.length||e.byteLength,r=0|n.log2(t);c[r].push(e)}},t.freeUint8=t.freeUint16=t.freeUint32=t.freeBigUint64=t.freeInt8=t.freeInt16=t.freeInt32=t.freeBigInt64=t.freeFloat32=t.freeFloat=t.freeFloat64=t.freeDouble=t.freeUint8Clamped=t.freeDataView=function(e){h(e.buffer)},t.freeArrayBuffer=h,t.freeBuffer=function(e){f[n.log2(e.length)].push(e)},t.malloc=function(e,t){if(void 0===t||\"arraybuffer\"===t)return p(e);switch(t){case\"uint8\":return d(e);case\"uint16\":return v(e);case\"uint32\":return g(e);case\"int8\":return m(e);case\"int16\":return y(e);case\"int32\":return x(e);case\"float\":case\"float32\":return b(e);case\"double\":case\"float64\":return _(e);case\"uint8_clamped\":return w(e);case\"bigint64\":return T(e);case\"biguint64\":return k(e);case\"buffer\":return A(e);case\"data\":case\"dataview\":return M(e);default:return null}return null},t.mallocArrayBuffer=p,t.mallocUint8=d,t.mallocUint16=v,t.mallocUint32=g,t.mallocInt8=m,t.mallocInt16=y,t.mallocInt32=x,t.mallocFloat32=t.mallocFloat=b,t.mallocFloat64=t.mallocDouble=_,t.mallocUint8Clamped=w,t.mallocBigUint64=k,t.mallocBigInt64=T,t.mallocDataView=M,t.mallocBuffer=A,t.clearCache=function(){for(var e=0;e<32;++e)u.UINT8[e].length=0,u.UINT16[e].length=0,u.UINT32[e].length=0,u.INT8[e].length=0,u.INT16[e].length=0,u.INT32[e].length=0,u.FLOAT[e].length=0,u.DOUBLE[e].length=0,u.BIGUINT64[e].length=0,u.BIGINT64[e].length=0,u.UINT8C[e].length=0,c[e].length=0,f[e].length=0}},90448:function(e){var t=/[\\'\\\"]/;e.exports=function(e){return e?(t.test(e.charAt(0))&&(e=e.substr(1)),t.test(e.charAt(e.length-1))&&(e=e.substr(0,e.length-1)),e):\"\"}},93447:function(e){\"use strict\";e.exports=function(e,t,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===t[o]||Array.isArray(t[o])||e[o]!==t[o])&&o in t){var s;if(!0===a[o])s=t[o];else{if(!1===a[o])continue;if(\"function\"==typeof a[o]&&void 0===(s=a[o](t[o],e,t)))continue}e[o]=s}}return e}},20588:function(e,t,r){function n(e){try{if(!r.g.localStorage)return!1}catch(e){return!1}var t=r.g.localStorage[e];return null!=t&&\"true\"===String(t).toLowerCase()}e.exports=function(e,t){if(n(\"noDeprecation\"))return e;var r=!1;return function(){if(!r){if(n(\"throwDeprecation\"))throw new Error(t);n(\"traceDeprecation\")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}},45920:function(e){e.exports=function(e){return e&&\"object\"==typeof e&&\"function\"==typeof e.copy&&\"function\"==typeof e.fill&&\"function\"==typeof e.readUInt8}},4936:function(e,t,r){\"use strict\";var n=r(47216),i=r(65481),a=r(21099),o=r(9187);function s(e){return e.call.bind(e)}var l=\"undefined\"!=typeof BigInt,u=\"undefined\"!=typeof Symbol,c=s(Object.prototype.toString),f=s(Number.prototype.valueOf),h=s(String.prototype.valueOf),p=s(Boolean.prototype.valueOf);if(l)var d=s(BigInt.prototype.valueOf);if(u)var v=s(Symbol.prototype.valueOf);function g(e,t){if(\"object\"!=typeof e)return!1;try{return t(e),!0}catch(e){return!1}}function m(e){return\"[object Map]\"===c(e)}function y(e){return\"[object Set]\"===c(e)}function x(e){return\"[object WeakMap]\"===c(e)}function b(e){return\"[object WeakSet]\"===c(e)}function _(e){return\"[object ArrayBuffer]\"===c(e)}function w(e){return\"undefined\"!=typeof ArrayBuffer&&(_.working?_(e):e instanceof ArrayBuffer)}function k(e){return\"[object DataView]\"===c(e)}function T(e){return\"undefined\"!=typeof DataView&&(k.working?k(e):e instanceof DataView)}t.isArgumentsObject=n,t.isGeneratorFunction=i,t.isTypedArray=o,t.isPromise=function(e){return\"undefined\"!=typeof Promise&&e instanceof Promise||null!==e&&\"object\"==typeof e&&\"function\"==typeof e.then&&\"function\"==typeof e.catch},t.isArrayBufferView=function(e){return\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):o(e)||T(e)},t.isUint8Array=function(e){return\"Uint8Array\"===a(e)},t.isUint8ClampedArray=function(e){return\"Uint8ClampedArray\"===a(e)},t.isUint16Array=function(e){return\"Uint16Array\"===a(e)},t.isUint32Array=function(e){return\"Uint32Array\"===a(e)},t.isInt8Array=function(e){return\"Int8Array\"===a(e)},t.isInt16Array=function(e){return\"Int16Array\"===a(e)},t.isInt32Array=function(e){return\"Int32Array\"===a(e)},t.isFloat32Array=function(e){return\"Float32Array\"===a(e)},t.isFloat64Array=function(e){return\"Float64Array\"===a(e)},t.isBigInt64Array=function(e){return\"BigInt64Array\"===a(e)},t.isBigUint64Array=function(e){return\"BigUint64Array\"===a(e)},m.working=\"undefined\"!=typeof Map&&m(new Map),t.isMap=function(e){return\"undefined\"!=typeof Map&&(m.working?m(e):e instanceof Map)},y.working=\"undefined\"!=typeof Set&&y(new Set),t.isSet=function(e){return\"undefined\"!=typeof Set&&(y.working?y(e):e instanceof Set)},x.working=\"undefined\"!=typeof WeakMap&&x(new WeakMap),t.isWeakMap=function(e){return\"undefined\"!=typeof WeakMap&&(x.working?x(e):e instanceof WeakMap)},b.working=\"undefined\"!=typeof WeakSet&&b(new WeakSet),t.isWeakSet=function(e){return b(e)},_.working=\"undefined\"!=typeof ArrayBuffer&&_(new ArrayBuffer),t.isArrayBuffer=w,k.working=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof DataView&&k(new DataView(new ArrayBuffer(1),0,1)),t.isDataView=T;var M=\"undefined\"!=typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function A(e){return\"[object SharedArrayBuffer]\"===c(e)}function S(e){return void 0!==M&&(void 0===A.working&&(A.working=A(new M)),A.working?A(e):e instanceof M)}function E(e){return g(e,f)}function C(e){return g(e,h)}function L(e){return g(e,p)}function P(e){return l&&g(e,d)}function O(e){return u&&g(e,v)}t.isSharedArrayBuffer=S,t.isAsyncFunction=function(e){return\"[object AsyncFunction]\"===c(e)},t.isMapIterator=function(e){return\"[object Map Iterator]\"===c(e)},t.isSetIterator=function(e){return\"[object Set Iterator]\"===c(e)},t.isGeneratorObject=function(e){return\"[object Generator]\"===c(e)},t.isWebAssemblyCompiledModule=function(e){return\"[object WebAssembly.Module]\"===c(e)},t.isNumberObject=E,t.isStringObject=C,t.isBooleanObject=L,t.isBigIntObject=P,t.isSymbolObject=O,t.isBoxedPrimitive=function(e){return E(e)||C(e)||L(e)||P(e)||O(e)},t.isAnyArrayBuffer=function(e){return\"undefined\"!=typeof Uint8Array&&(w(e)||S(e))},[\"isProxy\",\"isExternal\",\"isModuleNamespaceObject\"].forEach((function(e){Object.defineProperty(t,e,{enumerable:!1,value:function(){throw new Error(e+\" is not supported in userland\")}})}))},43827:function(e,t,r){var n=r(90386),i=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n<t.length;n++)r[t[n]]=Object.getOwnPropertyDescriptor(e,t[n]);return r},a=/%[sdj%]/g;t.format=function(e){if(!x(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(u(arguments[r]));return t.join(\" \")}r=1;for(var n=arguments,i=n.length,o=String(e).replace(a,(function(e){if(\"%%\"===e)return\"%\";if(r>=i)return e;switch(e){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(e){return\"[Circular]\"}default:return e}})),s=n[r];r<i;s=n[++r])m(s)||!w(s)?o+=\" \"+s:o+=\" \"+u(s);return o},t.deprecate=function(e,r){if(void 0!==n&&!0===n.noDeprecation)return e;if(void 0===n)return function(){return t.deprecate(e,r).apply(this,arguments)};var i=!1;return function(){if(!i){if(n.throwDeprecation)throw new Error(r);n.traceDeprecation?console.trace(r):console.error(r),i=!0}return e.apply(this,arguments)}};var o={},s=/^$/;if(n.env.NODE_DEBUG){var l=n.env.NODE_DEBUG;l=l.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),s=new RegExp(\"^\"+l+\"$\",\"i\")}function u(e,r){var n={seen:[],stylize:f};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&t._extend(n,r),b(n.showHidden)&&(n.showHidden=!1),b(n.depth)&&(n.depth=2),b(n.colors)&&(n.colors=!1),b(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=c),h(n,e,n.depth)}function c(e,t){var r=u.styles[t];return r?\"\u001b[\"+u.colors[r][0]+\"m\"+e+\"\u001b[\"+u.colors[r][1]+\"m\":e}function f(e,t){return e}function h(e,r,n){if(e.customInspect&&r&&M(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,e);return x(i)||(i=h(e,i,n)),i}var a=function(e,t){if(b(t))return e.stylize(\"undefined\",\"undefined\");if(x(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}return y(t)?e.stylize(\"\"+t,\"number\"):g(t)?e.stylize(\"\"+t,\"boolean\"):m(t)?e.stylize(\"null\",\"null\"):void 0}(e,r);if(a)return a;var o=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),T(r)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return p(r);if(0===o.length){if(M(r)){var l=r.name?\": \"+r.name:\"\";return e.stylize(\"[Function\"+l+\"]\",\"special\")}if(_(r))return e.stylize(RegExp.prototype.toString.call(r),\"regexp\");if(k(r))return e.stylize(Date.prototype.toString.call(r),\"date\");if(T(r))return p(r)}var u,c=\"\",f=!1,w=[\"{\",\"}\"];return v(r)&&(f=!0,w=[\"[\",\"]\"]),M(r)&&(c=\" [Function\"+(r.name?\": \"+r.name:\"\")+\"]\"),_(r)&&(c=\" \"+RegExp.prototype.toString.call(r)),k(r)&&(c=\" \"+Date.prototype.toUTCString.call(r)),T(r)&&(c=\" \"+p(r)),0!==o.length||f&&0!=r.length?n<0?_(r)?e.stylize(RegExp.prototype.toString.call(r),\"regexp\"):e.stylize(\"[Object]\",\"special\"):(e.seen.push(r),u=f?function(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)C(t,String(o))?a.push(d(e,t,r,n,String(o),!0)):a.push(\"\");return i.forEach((function(i){i.match(/^\\d+$/)||a.push(d(e,t,r,n,i,!0))})),a}(e,r,n,s,o):o.map((function(t){return d(e,r,n,s,t,f)})),e.seen.pop(),function(e,t,r){return e.reduce((function(e,t){return t.indexOf(\"\\n\"),e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1}),0)>60?r[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n  \")+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}(u,c,w)):w[0]+c+w[1]}function p(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function d(e,t,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=l.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):l.set&&(s=e.stylize(\"[Setter]\",\"special\")),C(n,i)||(o=\"[\"+i+\"]\"),s||(e.seen.indexOf(l.value)<0?(s=m(r)?h(e,l.value,null):h(e,l.value,r-1)).indexOf(\"\\n\")>-1&&(s=a?s.split(\"\\n\").map((function(e){return\"  \"+e})).join(\"\\n\").slice(2):\"\\n\"+s.split(\"\\n\").map((function(e){return\"   \"+e})).join(\"\\n\")):s=e.stylize(\"[Circular]\",\"special\")),b(o)){if(a&&i.match(/^\\d+$/))return s;(o=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+s}function v(e){return Array.isArray(e)}function g(e){return\"boolean\"==typeof e}function m(e){return null===e}function y(e){return\"number\"==typeof e}function x(e){return\"string\"==typeof e}function b(e){return void 0===e}function _(e){return w(e)&&\"[object RegExp]\"===A(e)}function w(e){return\"object\"==typeof e&&null!==e}function k(e){return w(e)&&\"[object Date]\"===A(e)}function T(e){return w(e)&&(\"[object Error]\"===A(e)||e instanceof Error)}function M(e){return\"function\"==typeof e}function A(e){return Object.prototype.toString.call(e)}function S(e){return e<10?\"0\"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(e=e.toUpperCase(),!o[e])if(s.test(e)){var r=n.pid;o[e]=function(){var n=t.format.apply(t,arguments);console.error(\"%s %d: %s\",e,r,n)}}else o[e]=function(){};return o[e]},t.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},t.types=r(4936),t.isArray=v,t.isBoolean=g,t.isNull=m,t.isNullOrUndefined=function(e){return null==e},t.isNumber=y,t.isString=x,t.isSymbol=function(e){return\"symbol\"==typeof e},t.isUndefined=b,t.isRegExp=_,t.types.isRegExp=_,t.isObject=w,t.isDate=k,t.types.isDate=k,t.isError=T,t.types.isNativeError=T,t.isFunction=M,t.isPrimitive=function(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||void 0===e},t.isBuffer=r(45920);var E=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function C(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,r;console.log(\"%s - %s\",(r=[S((e=new Date).getHours()),S(e.getMinutes()),S(e.getSeconds())].join(\":\"),[e.getDate(),E[e.getMonth()],r].join(\" \")),t.format.apply(t,arguments))},t.inherits=r(42018),t._extend=function(e,t){if(!t||!w(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var L=\"undefined\"!=typeof Symbol?Symbol(\"util.promisify.custom\"):void 0;function P(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e,e=r}return t(e)}t.promisify=function(e){if(\"function\"!=typeof e)throw new TypeError('The \"original\" argument must be of type Function');if(L&&e[L]){var t;if(\"function\"!=typeof(t=e[L]))throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(t,L,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),i=[],a=0;a<arguments.length;a++)i.push(arguments[a]);i.push((function(e,n){e?r(e):t(n)}));try{e.apply(this,i)}catch(e){r(e)}return n}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),L&&Object.defineProperty(t,L,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,i(e))},t.promisify.custom=L,t.callbackify=function(e){if(\"function\"!=typeof e)throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var t=[],r=0;r<arguments.length;r++)t.push(arguments[r]);var i=t.pop();if(\"function\"!=typeof i)throw new TypeError(\"The last argument must be of type Function\");var a=this,o=function(){return i.apply(a,arguments)};e.apply(this,t).then((function(e){n.nextTick(o.bind(null,null,e))}),(function(e){n.nextTick(P.bind(null,e,o))}))}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,i(e)),t}},40372:function(e,t,r){var n=r(86249);e.exports=function(e){return n(\"webgl\",e)}},21099:function(e,t,r){\"use strict\";var n=r(31353),i=r(72077),a=r(6614),o=r(40383),s=a(\"Object.prototype.toString\"),l=r(84543)(),u=\"undefined\"==typeof globalThis?r.g:globalThis,c=i(),f=a(\"String.prototype.slice\"),h={},p=Object.getPrototypeOf;l&&o&&p&&n(c,(function(e){if(\"function\"==typeof u[e]){var t=new u[e];if(Symbol.toStringTag in t){var r=p(t),n=o(r,Symbol.toStringTag);if(!n){var i=p(r);n=o(i,Symbol.toStringTag)}h[e]=n.get}}}));var d=r(9187);e.exports=function(e){return!!d(e)&&(l&&Symbol.toStringTag in e?function(e){var t=!1;return n(h,(function(r,n){if(!t)try{var i=r.call(e);i===n&&(t=i)}catch(e){}})),t}(e):f(s(e),8,-1))}},3961:function(e,t,r){var n=r(63489),i=r(56131),a=n.instance();function o(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Chinese\",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(e,t){if(\"string\"==typeof e){var r=e.match(l);return r?r[0]:\"\"}var n=this._validateYear(e),i=e.month(),a=\"\"+this.toChineseMonth(n,i);return t&&a.length<2&&(a=\"0\"+a),this.isIntercalaryMonth(n,i)&&(a+=\"i\"),a},monthNames:function(e){if(\"string\"==typeof e){var t=e.match(u);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=[\"一月\",\"二月\",\"三月\",\"四月\",\"五月\",\"六月\",\"七月\",\"八月\",\"九月\",\"十月\",\"十一月\",\"十二月\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"闰\"+i),i},monthNamesShort:function(e){if(\"string\"==typeof e){var t=e.match(c);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=[\"一\",\"二\",\"三\",\"四\",\"五\",\"六\",\"七\",\"八\",\"九\",\"十\",\"十一\",\"十二\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"闰\"+i),i},parseMonth:function(e,t){e=this._validateYear(e);var r,n=parseInt(t);if(isNaN(n))\"闰\"===t[0]&&(r=!0,t=t.substring(1)),\"月\"===t[t.length-1]&&(t=t.substring(0,t.length-1)),n=1+[\"一\",\"二\",\"三\",\"四\",\"五\",\"六\",\"七\",\"八\",\"九\",\"十\",\"十一\",\"十二\"].indexOf(t);else{var i=t[t.length-1];r=\"i\"===i||\"I\"===i}return this.toMonthIndex(e,n,r)},dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},_validateYear:function(e,t){if(e.year&&(e=e.year()),\"number\"!=typeof e||e<1888||e>2111)throw t.replace(/\\{0\\}/,this.local.name);return e},toMonthIndex:function(e,t,r){var i=this.intercalaryMonth(e);if(r&&t!==i||t<1||t>12)throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return i?!r&&t<=i?t-1:t:t-1},toChineseMonth:function(e,t){e.year&&(t=(e=e.year()).month());var r=this.intercalaryMonth(e);if(t<0||t>(r?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r?t<r?t+1:t:t+1},intercalaryMonth:function(e){return e=this._validateYear(e),f[e-f[0]]>>13},isIntercalaryMonth:function(e,t){e.year&&(t=(e=e.year()).month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return 0!==this.intercalaryMonth(e)},weekOfYear:function(e,t,r){var i,o=this._validateYear(e,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,u=s>>5&15,c=31&s;(i=a.newDate(l,u,c)).add(4-(i.dayOfWeek()||7),\"d\");var f=this.toJD(e,t,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(e,t){e.year&&(t=e.month(),e=e.year()),e=this._validateYear(e);var r=f[e-f[0]];if(t>(r>>13?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r&1<<12-t?30:29},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var i=this._validate(e,s,r,n.local.invalidDate);e=this._validateYear(i.year()),t=i.month(),r=i.day();var o=this.isIntercalaryMonth(e,t),s=this.toChineseMonth(e,t),l=function(e,t,r,n,i){var a,o,s;if(\"object\"==typeof e)o=e,a=t||{};else{var l;if(!(\"number\"==typeof e&&e>=1888&&e<=2111))throw new Error(\"Lunar year outside range 1888-2111\");if(!(\"number\"==typeof t&&t>=1&&t<=12))throw new Error(\"Lunar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=30))throw new Error(\"Lunar day outside range 1 - 30\");\"object\"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:e,month:t,day:r,isIntercalary:l}}s=o.day-1;var u,c=f[o.year-f[0]],p=c>>13;u=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d<u;d++)s+=c&1<<12-d?30:29;var v=h[o.year-h[0]],g=new Date(v>>9&4095,(v>>5&15)-1,(31&v)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(e,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(e){var t=a.fromJD(e),r=function(e,t,r,n){var i,a;if(\"object\"==typeof e)i=e,a=t||{};else{if(!(\"number\"==typeof e&&e>=1888&&e<=2111))throw new Error(\"Solar year outside range 1888-2111\");if(!(\"number\"==typeof t&&t>=1&&t<=12))throw new Error(\"Solar month outside range 1 - 12\");if(!(\"number\"==typeof r&&r>=1&&r<=31))throw new Error(\"Solar day outside range 1 - 31\");i={year:e,month:t,day:r},a={}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,u=new Date(o>>9&4095,(o>>5&15)-1,31&o),c=new Date(i.year,i.month-1,i.day);l=Math.round((c-u)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var v=d&1<<12-p?30:29;if(l<v)break;l-=v}var g=d>>13;return!g||p<g?(a.isIntercalary=!1,a.month=1+p):p===g?(a.isIntercalary=!0,a.month=p):(a.isIntercalary=!1,a.month=p),a.day=1+l,a}(t.year(),t.month(),t.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(e){var t=e.match(s),r=this._validateYear(+t[1]),n=+t[2],i=!!t[3],a=this.toMonthIndex(r,n,i),o=+t[4];return this.newDate(r,a,o)},add:function(e,t,r){var n=e.year(),i=e.month(),a=this.isIntercalaryMonth(n,i),s=this.toChineseMonth(n,i),l=Object.getPrototypeOf(o.prototype).add.call(this,e,t,r);if(\"y\"===r){var u=l.year(),c=l.month(),f=this.isIntercalaryMonth(u,s),h=a&&f?this.toMonthIndex(u,s,!0):this.toMonthIndex(u,s,!1);h!==c&&l.month(h)}return l}});var s=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,l=/^\\d?\\d[iI]?/m,u=/^闰?十?[一二三四五六七八九]?月/m,c=/^闰?十?[一二三四五六七八九]?/m;n.calendars.chinese=o;var f=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],h=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904]},38751:function(e,t,r){var n=r(63489),i=r(56131);function a(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Coptic\",jdEpoch:1825029.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Coptic\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Thout\",\"Paopi\",\"Hathor\",\"Koiak\",\"Tobi\",\"Meshir\",\"Paremhat\",\"Paremoude\",\"Pashons\",\"Paoni\",\"Epip\",\"Mesori\",\"Pi Kogi Enavot\"],monthNamesShort:[\"Tho\",\"Pao\",\"Hath\",\"Koi\",\"Tob\",\"Mesh\",\"Pat\",\"Pad\",\"Pash\",\"Pao\",\"Epi\",\"Meso\",\"PiK\"],dayNames:[\"Tkyriaka\",\"Pesnau\",\"Pshoment\",\"Peftoou\",\"Ptiou\",\"Psoou\",\"Psabbaton\"],dayNamesShort:[\"Tky\",\"Pes\",\"Psh\",\"Pef\",\"Pti\",\"Pso\",\"Psa\"],dayNamesMin:[\"Tk\",\"Pes\",\"Psh\",\"Pef\",\"Pt\",\"Pso\",\"Psa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear);return(e=t.year()+(t.year()<0?1:0))%4==3||e%4==-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate);return(e=i.year())<0&&e++,i.day()+30*(i.month()-1)+365*(e-1)+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.coptic=a},86825:function(e,t,r){var n=r(63489),i=r(56131);function a(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Discworld\",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Discworld\",epochs:[\"BUC\",\"UC\"],monthNames:[\"Ick\",\"Offle\",\"February\",\"March\",\"April\",\"May\",\"June\",\"Grune\",\"August\",\"Spune\",\"Sektober\",\"Ember\",\"December\"],monthNamesShort:[\"Ick\",\"Off\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Gru\",\"Aug\",\"Spu\",\"Sek\",\"Emb\",\"Dec\"],dayNames:[\"Sunday\",\"Octeday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Oct\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Oc\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:2,isRTL:!1}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,n.local.invalidYear),!1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,n.local.invalidYear),13},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,n.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(e,t,r){return(this._validate(e,t,r,n.local.invalidDate).day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||\"\"}},toJD:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate);return e=i.year()+(i.year()<0?1:0),t=i.month(),(r=i.day())+(t>1?16:0)+(t>2?32*(t-2):0)+400*(e-1)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=400*(t-1),e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-32*(r-1)+1;return this.newDate(t<=0?t-1:t,r,n)}});var o={20:\"Fruitbat\",21:\"Anchovy\"};n.calendars.discworld=a},37715:function(e,t,r){var n=r(63489),i=r(56131);function a(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Ethiopian\",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Ethiopian\",epochs:[\"BEE\",\"EE\"],monthNames:[\"Meskerem\",\"Tikemet\",\"Hidar\",\"Tahesas\",\"Tir\",\"Yekatit\",\"Megabit\",\"Miazia\",\"Genbot\",\"Sene\",\"Hamle\",\"Nehase\",\"Pagume\"],monthNamesShort:[\"Mes\",\"Tik\",\"Hid\",\"Tah\",\"Tir\",\"Yek\",\"Meg\",\"Mia\",\"Gen\",\"Sen\",\"Ham\",\"Neh\",\"Pag\"],dayNames:[\"Ehud\",\"Segno\",\"Maksegno\",\"Irob\",\"Hamus\",\"Arb\",\"Kidame\"],dayNamesShort:[\"Ehu\",\"Seg\",\"Mak\",\"Iro\",\"Ham\",\"Arb\",\"Kid\"],dayNamesMin:[\"Eh\",\"Se\",\"Ma\",\"Ir\",\"Ha\",\"Ar\",\"Ki\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear);return(e=t.year()+(t.year()<0?1:0))%4==3||e%4==-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate);return(e=i.year())<0&&e++,i.day()+30*(i.month()-1)+365*(e-1)+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},99384:function(e,t,r){var n=r(63489),i=r(56131);function a(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}function o(e,t){return e-t*Math.floor(e/t)}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(t.year())},_leapYear:function(e){return o(7*(e=e<0?e+1:e)+1,19)<7},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(e.year?e.year():e)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return e=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===e?1:e+1,7,1)-this.toJD(e,7,1)},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,n.local.invalidMonth),12===t&&this.leapYear(e)||8===t&&5===o(this.daysInYear(e),10)?30:9===t&&3===o(this.daysInYear(e),10)?29:this.daysPerMonth[t-1]},weekDay:function(e,t,r){return 6!==this.dayOfWeek(e,t,r)},extraInfo:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(i)%10-3]}},toJD:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate);e=i.year(),t=i.month(),r=i.day();var a=e<=0?e+1:e,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(t<7){for(var s=7;s<=this.monthsInYear(e);s++)o+=this.daysInMonth(e,s);for(s=1;s<t;s++)o+=this.daysInMonth(e,s)}else for(s=7;s<t;s++)o+=this.daysInMonth(e,s);return o},_delay1:function(e){var t=Math.floor((235*e-234)/19),r=12084+13753*t,n=29*t+Math.floor(r/25920);return o(3*(n+1),7)<3&&n++,n},_delay2:function(e){var t=this._delay1(e-1),r=this._delay1(e);return this._delay1(e+1)-r==356?2:r-t==382?1:0},fromJD:function(e){e=Math.floor(e)+.5;for(var t=Math.floor(98496*(e-this.jdEpoch)/35975351)-1;e>=this.toJD(-1===t?1:t+1,7,1);)t++;for(var r=e<this.toJD(t,1,1)?7:1;e>this.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}}),n.calendars.hebrew=a},43805:function(e,t,r){var n=r(63489),i=r(56131);function a(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Islamic\",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Islamic\",epochs:[\"BH\",\"AH\"],monthNames:[\"Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' al-thani\",\"Jumada al-awwal\",\"Jumada al-thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-ahad\",\"Yawm al-ithnayn\",\"Yawm ath-thulaathaa'\",\"Yawm al-arbi'aa'\",\"Yawm al-khamīs\",\"Yawm al-jum'a\",\"Yawm as-sabt\"],dayNamesShort:[\"Aha\",\"Ith\",\"Thu\",\"Arb\",\"Kha\",\"Jum\",\"Sab\"],dayNamesMin:[\"Ah\",\"It\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(e){return(11*this._validate(e,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate);return e=i.year(),t=i.month(),e=e<=0?e+1:e,(r=i.day())+Math.ceil(29.5*(t-1))+354*(e-1)+Math.floor((3+11*e)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}}),n.calendars.islamic=a},88874:function(e,t,r){var n=r(63489),i=r(56131);function a(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Julian\",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Julian\",epochs:[\"BC\",\"AD\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear);return(e=t.year()<0?t.year()+1:t.year())%4==0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate);return e=i.year(),t=i.month(),r=i.day(),e<0&&e++,t<=2&&(e--,t+=12),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r-1524.5},fromJD:function(e){var t=Math.floor(e+.5)+1524,r=Math.floor((t-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((t-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=t-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},83290:function(e,t,r){var n=r(63489),i=r(56131);function a(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}function o(e,t){return e-t*Math.floor(e/t)}function s(e,t){return o(e-1,t)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(e){e=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear).year();var t=Math.floor(e/400);return e%=400,e+=e<0?400:0,t+\".\"+Math.floor(e/20)+\".\"+e%20},forYear:function(e){if((e=e.split(\".\")).length<3)throw\"Invalid Mayan year\";for(var t=0,r=0;r<e.length;r++){var n=parseInt(e[r],10);if(Math.abs(n)>19||r>0&&n<0)throw\"Invalid Mayan year\";t=20*t+n}return t},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(e,t,r){return this._validate(e,t,r,n.local.invalidDate),0},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(e,t){return this._validate(e,t,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(e,t,r){return this._validate(e,t,r,n.local.invalidDate).day()},weekDay:function(e,t,r){return this._validate(e,t,r,n.local.invalidDate),!0},extraInfo:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){var t=o(8+(e-=this.jdEpoch)+340,365);return[Math.floor(t/20)+1,o(t,20)]},_toTzolkin:function(e){return[s(20+(e-=this.jdEpoch),20),s(e+4,13)]},toJD:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e%=360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}}),n.calendars.mayan=a},29108:function(e,t,r){var n=r(63489),i=r(56131);function a(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar;var o=n.instance(\"gregorian\");i(a.prototype,{name:\"Nanakshahi\",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear);return o.leapYear(t.year()+(t.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidMonth);(e=i.year())<0&&e++;for(var a=i.day(),s=1;s<i.month();s++)a+=this.daysPerMonth[s-1];return a+o.toJD(e+1468,3,13)},fromJD:function(e){e=Math.floor(e+.5);for(var t=Math.floor((e-(this.jdEpoch-1))/366);e>=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}}),n.calendars.nanakshahi=a},55422:function(e,t,r){var n=r(63489),i=r(56131);function a(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Nepali\",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){if(e=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[e])return this.daysPerYear;for(var t=0,r=this.minMonth;r<=12;r++)t+=this.NEPALI_CALENDAR_DATA[e][r];return t},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[e]?this.daysPerMonth[t-1]:this.NEPALI_CALENDAR_DATA[e][t]},weekDay:function(e,t,r){return 6!==this.dayOfWeek(e,t,r)},toJD:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate);e=i.year(),t=i.month(),r=i.day();var a=n.instance(),o=0,s=t,l=e;this._createMissingCalendarData(e);var u=e-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==t&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===t?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,\"d\").toJD()},fromJD:function(e){var t=n.instance().fromJD(e),r=t.year(),i=t.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r<e+2;r++)void 0===this.NEPALI_CALENDAR_DATA[r]&&(this.NEPALI_CALENDAR_DATA[r]=t)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),n.calendars.nepali=a},94320:function(e,t,r){var n=r(63489),i=r(56131);function a(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}function o(e,t){return e-t*Math.floor(e/t)}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Persian\",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Persian\",epochs:[\"BP\",\"AP\"],monthNames:[\"Farvardin\",\"Ordibehesht\",\"Khordad\",\"Tir\",\"Mordad\",\"Shahrivar\",\"Mehr\",\"Aban\",\"Azar\",\"Day\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Day\",\"Bah\",\"Esf\"],dayNames:[\"Yekshambe\",\"Doshambe\",\"Seshambe\",\"Chæharshambe\",\"Panjshambe\",\"Jom'e\",\"Shambe\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Chæ\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear);return 682*((t.year()-(t.year()>0?474:473))%2820+474+38)%2816<682},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-(n.dayOfWeek()+1)%7,\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate);e=i.year(),t=i.month(),r=i.day();var a=e-(e>=0?474:473),s=474+o(a,2820);return r+(t<=7?31*(t-1):30*(t-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(e){var t=(e=Math.floor(e)+.5)-this.toJD(475,1,1),r=Math.floor(t/1029983),n=o(t,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var u=e-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),f=e-this.toJD(l,c,1)+1;return this.newDate(l,c,f)}}),n.calendars.persian=a,n.calendars.jalali=a},31320:function(e,t,r){var n=r(63489),i=r(56131),a=n.instance();function o(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Taiwan\",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Taiwan\",epochs:[\"BROC\",\"ROC\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear);return e=this._t2gYear(t.year()),a.leapYear(e)},weekOfYear:function(e,t,r){var i=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear);return e=this._t2gYear(i.year()),a.weekOfYear(e,i.month(),i.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate);return e=this._t2gYear(i.year()),a.toJD(e,i.month(),i.day())},fromJD:function(e){var t=a.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},51367:function(e,t,r){var n=r(63489),i=r(56131),a=n.instance();function o(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Thai\",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Thai\",epochs:[\"BBE\",\"BE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear);return e=this._t2gYear(t.year()),a.leapYear(e)},weekOfYear:function(e,t,r){var i=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear);return e=this._t2gYear(i.year()),a.weekOfYear(e,i.month(),i.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate);return e=this._t2gYear(i.year()),a.toJD(e,i.month(),i.day())},fromJD:function(e){var t=a.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}}),n.calendars.thai=o},21457:function(e,t,r){var n=r(63489),i=r(56131);function a(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"UmmAlQura\",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Umm al-Qura\",epochs:[\"BH\",\"AH\"],monthNames:[\"Al-Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' Al-Thani\",\"Jumada Al-Awwal\",\"Jumada Al-Thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-Ahad\",\"Yawm al-Ithnain\",\"Yawm al-Thalāthā’\",\"Yawm al-Arba‘ā’\",\"Yawm al-Khamīs\",\"Yawm al-Jum‘a\",\"Yawm al-Sabt\"],dayNamesMin:[\"Ah\",\"Ith\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!0}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(t.year())},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(e,t){for(var r=this._validate(e,t,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;a<o.length;a++){if(o[a]>r)return o[i]-o[i-1];i++}return 30},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(e,t,r){var i=this._validate(e,t,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,n=0;n<o.length&&!(o[n]>t);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=t-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(e,t,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(e=null!=e.year?e.year:e)>=1276&&e<=1500),i},_validate:function(e,t,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\\{0\\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},63489:function(e,t,r){var n=r(56131);function i(){this.regionalOptions=[],this.regionalOptions[\"\"]={invalidCalendar:\"Calendar {0} not found\",invalidDate:\"Invalid {0} date\",invalidMonth:\"Invalid {0} month\",invalidYear:\"Invalid {0} year\",differentCalendars:\"Cannot mix {0} and {1} dates\"},this.local=this.regionalOptions[\"\"],this.calendars={},this._localCals={}}function a(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(u.local.invalidDate||u.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function o(e,t){return\"000000\".substring(0,t-(e=\"\"+e).length)+e}function s(){this.shortYearCutoff=\"+10\"}function l(e){this.local=this.regionalOptions[e]||this.regionalOptions[\"\"]}n(i.prototype,{instance:function(e,t){e=(e||\"gregorian\").toLowerCase(),t=t||\"\";var r=this._localCals[e+\"-\"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+\"-\"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,e);return r},newDate:function(e,t,r,n,i){return(n=(null!=e&&e.year?e.calendar():\"string\"==typeof n?this.instance(n,i):n)||this.instance()).newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+\"\").replace(/[0-9]/g,(function(t){return e[t]}))}},substituteChineseDigits:function(e,t){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(0===a?\"\":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(e[1]+t[1])&&(n=n.substr(1)),n||e[0]}}}),n(a.prototype,{newDate:function(e,t,r){return this._calendar.newDate(null==e?this:e,t,r)},year:function(e){return 0===arguments.length?this._year:this.set(e,\"y\")},month:function(e){return 0===arguments.length?this._month:this.set(e,\"m\")},day:function(e){return 0===arguments.length?this._day:this.set(e,\"d\")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(u.local.invalidDate||u.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(u.local.differentCalendars||u.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return 0===t?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?\"-\":\"\")+o(Math.abs(this.year()),4)+\"-\"+o(this.month(),2)+\"-\"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(e,t,r){return null==e?this.today():(e.year&&(this._validate(e,t,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate),r=e.day(),t=e.month(),e=e.year()),new a(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){return this._validate(e,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear);return(t.year()<0?\"-\":\"\")+o(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,u.local.invalidMonth||u.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,u.local.invalidMonth||u.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,\"d\"===r||\"w\"===r){var n=e.toJD()+t*(\"w\"===r?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+(\"y\"===r?t:0),o=e.monthOfYear()+(\"m\"===r?t:0);i=e.day(),\"y\"===r?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\"m\"===r&&(function(e){for(;o<e.minMonth;)a--,o+=e.monthsInYear(a);for(var t=e.monthsInYear(a);o>t-1+e.minMonth;)a++,o-=t,t=e.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(e){throw this._validateLevel--,e}},_correctAdd:function(e,t,r,n){if(!(this.hasYearZero||\"y\"!==n&&\"m\"!==n||0!==t[0]&&e.year()>0==t[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate);var n=\"y\"===r?t:e.year(),i=\"m\"===r?t:e.month(),a=\"d\"===r?t:e.day();return\"y\"!==r&&\"m\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||0!==e;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(e,t,r){var n=this._validate(e,t,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate);return u.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(e){return this.fromJD(u.instance().fromJSDate(e).toJD())},_validate:function(e,t,r,n){if(e.year){if(0===this._validateLevel&&this.name!==e.calendar().name)throw(u.local.differentCalendars||u.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this.local.name).replace(/\\{1\\}/,e.calendar().local.name);return e}try{if(this._validateLevel++,1===this._validateLevel&&!this.isValid(e,t,r))throw n.replace(/\\{0\\}/,this.local.name);var i=this.newDate(e,t,r);return this._validateLevel--,i}catch(e){throw this._validateLevel--,e}}}),l.prototype=new s,n(l.prototype,{name:\"Gregorian\",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Gregorian\",epochs:[\"BCE\",\"CE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[\"\"].invalidYear);return(e=t.year()+(t.year()<0?1:0))%4==0&&(e%100!=0||e%400==0)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,u.local.invalidMonth||u.regionalOptions[\"\"].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate);e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<3&&(t+=12,e--);var i=Math.floor(e/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r+a-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=Math.floor((t-1867216.25)/36524.25),n=1524+(r=t+1+r-Math.floor(r/4)),i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,u.local.invalidDate||u.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var u=e.exports=new i;u.cdate=a,u.baseCalendar=s,u.calendars.gregorian=l},94338:function(e,t,r){var n=r(56131),i=r(63489);n(i.regionalOptions[\"\"],{invalidArguments:\"Invalid arguments\",invalidFormat:\"Cannot format a date from another calendar\",missingNumberAt:\"Missing number at position {0}\",unknownNameAt:\"Unknown name at position {0}\",unexpectedLiteralAt:\"Unexpected literal at position {0}\",unexpectedText:\"Additional text found at end\"}),i.local=i.regionalOptions[\"\"],n(i.cdate.prototype,{formatDate:function(e,t){return\"string\"!=typeof e&&(t=e,e=\"\"),this._calendar.formatDate(e||\"\",this,t)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(e,t,r){if(\"string\"!=typeof e&&(r=t,t=e,e=\"\"),!t)return\"\";if(t.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[\"\"].invalidFormat;e=e||this.local.dateFormat;for(var n=(r=r||{}).dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.monthNumbers||this.local.monthNumbers,s=r.monthNamesShort||this.local.monthNamesShort,l=r.monthNames||this.local.monthNames,u=(r.calculateWeek||this.local.calculateWeek,function(t,r){for(var n=1;y+n<e.length&&e.charAt(y+n)===t;)n++;return y+=n-1,Math.floor(n/(r||1))>1}),c=function(e,t,r,n){var i=\"\"+t;if(u(e,n))for(;i.length<r;)i=\"0\"+i;return i},f=this,h=function(e){return\"function\"==typeof o?o.call(f,e,u(\"m\")):v(c(\"m\",e.month(),2))},p=function(e,t){return t?\"function\"==typeof l?l.call(f,e):l[e.month()-f.minMonth]:\"function\"==typeof s?s.call(f,e):s[e.month()-f.minMonth]},d=this.local.digits,v=function(e){return r.localNumbers&&d?d(e):e},g=\"\",m=!1,y=0;y<e.length;y++)if(m)\"'\"!==e.charAt(y)||u(\"'\")?g+=e.charAt(y):m=!1;else switch(e.charAt(y)){case\"d\":g+=v(c(\"d\",t.day(),2));break;case\"D\":g+=(x=\"D\",b=t.dayOfWeek(),_=n,w=a,u(x)?w[b]:_[b]);break;case\"o\":g+=c(\"o\",t.dayOfYear(),3);break;case\"w\":g+=c(\"w\",t.weekOfYear(),2);break;case\"m\":g+=h(t);break;case\"M\":g+=p(t,u(\"M\"));break;case\"y\":g+=u(\"y\",2)?t.year():(t.year()%100<10?\"0\":\"\")+t.year()%100;break;case\"Y\":u(\"Y\",2),g+=t.formatYear();break;case\"J\":g+=t.toJD();break;case\"@\":g+=(t.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\"!\":g+=(t.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\"'\":u(\"'\")?g+=\"'\":m=!0;break;default:g+=e.charAt(y)}var x,b,_,w;return g},parseDate:function(e,t,r){if(null==t)throw i.local.invalidArguments||i.regionalOptions[\"\"].invalidArguments;if(\"\"===(t=\"object\"==typeof t?t.toString():t+\"\"))return null;e=e||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n=\"string\"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var a=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,u=r.monthNamesShort||this.local.monthNamesShort,c=r.monthNames||this.local.monthNames,f=-1,h=-1,p=-1,d=-1,v=-1,g=!1,m=!1,y=function(t,r){for(var n=1;A+n<e.length&&e.charAt(A+n)===t;)n++;return A+=n-1,Math.floor(n/(r||1))>1},x=function(e,r){var n=y(e,r),a=[2,3,n?4:2,n?4:2,10,11,20][\"oyYJ@!\".indexOf(e)+1],o=new RegExp(\"^-?\\\\d{1,\"+a+\"}\"),s=t.substring(M).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,M);return M+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if(\"function\"==typeof l){y(\"m\");var e=l.call(b,t.substring(M));return M+=e.length,e}return x(\"m\")},w=function(e,r,n,a){for(var o=y(e,a)?n:r,s=0;s<o.length;s++)if(t.substr(M,o[s].length).toLowerCase()===o[s].toLowerCase())return M+=o[s].length,s+b.minMonth;throw(i.local.unknownNameAt||i.regionalOptions[\"\"].unknownNameAt).replace(/\\{0\\}/,M)},k=function(){if(\"function\"==typeof c){var e=y(\"M\")?c.call(b,t.substring(M)):u.call(b,t.substring(M));return M+=e.length,e}return w(\"M\",u,c)},T=function(){if(t.charAt(M)!==e.charAt(A))throw(i.local.unexpectedLiteralAt||i.regionalOptions[\"\"].unexpectedLiteralAt).replace(/\\{0\\}/,M);M++},M=0,A=0;A<e.length;A++)if(m)\"'\"!==e.charAt(A)||y(\"'\")?T():m=!1;else switch(e.charAt(A)){case\"d\":d=x(\"d\");break;case\"D\":w(\"D\",a,o);break;case\"o\":v=x(\"o\");break;case\"w\":x(\"w\");break;case\"m\":p=_();break;case\"M\":p=k();break;case\"y\":var S=A;g=!y(\"y\",2),A=S,h=x(\"y\",2);break;case\"Y\":h=x(\"Y\",2);break;case\"J\":f=x(\"J\")+.5,\".\"===t.charAt(M)&&(M++,x(\"J\"));break;case\"@\":f=x(\"@\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\"!\":f=x(\"!\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\"*\":M=t.length;break;case\"'\":y(\"'\")?T():m=!0;break;default:T()}if(M<t.length)throw i.local.unexpectedText||i.regionalOptions[\"\"].unexpectedText;if(-1===h?h=this.today().year():h<100&&g&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),\"string\"==typeof p&&(p=s.call(this,h,p)),v>-1){p=1,d=v;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(e,t,r,n,i){r&&\"object\"!=typeof r&&(i=n,n=r,r=null),\"string\"!=typeof n&&(i=n,n=\"\");var a=this;return t=t?t.newDate():null,null==e?t:\"string\"==typeof e?function(e){try{return a.parseDate(n,e,i)}catch(e){}for(var t=((e=e.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,s=o.exec(e);s;)t.add(parseInt(s[1],10),s[2]||\"d\"),s=o.exec(e);return t}(e):\"number\"==typeof e?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,\"d\"):a.newDate(e)}})},69862:function(){},40964:function(){},72077:function(e,t,r){\"use strict\";var n=[\"BigInt64Array\",\"BigUint64Array\",\"Float32Array\",\"Float64Array\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\"],i=\"undefined\"==typeof globalThis?r.g:globalThis;e.exports=function(){for(var e=[],t=0;t<n.length;t++)\"function\"==typeof i[n[t]]&&(e[e.length]=n[t]);return e}},81684:function(e,t,r){\"use strict\";function n(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function i(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}function a(){}r.d(t,{sX:function(){return $},k4:function(){return q}});var o=.7,s=1/o,l=\"\\\\s*([+-]?\\\\d+)\\\\s*\",u=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",c=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",f=/^#([0-9a-f]{3,8})$/,h=new RegExp(\"^rgb\\\\(\".concat(l,\",\").concat(l,\",\").concat(l,\"\\\\)$\")),p=new RegExp(\"^rgb\\\\(\".concat(c,\",\").concat(c,\",\").concat(c,\"\\\\)$\")),d=new RegExp(\"^rgba\\\\(\".concat(l,\",\").concat(l,\",\").concat(l,\",\").concat(u,\"\\\\)$\")),v=new RegExp(\"^rgba\\\\(\".concat(c,\",\").concat(c,\",\").concat(c,\",\").concat(u,\"\\\\)$\")),g=new RegExp(\"^hsl\\\\(\".concat(u,\",\").concat(c,\",\").concat(c,\"\\\\)$\")),m=new RegExp(\"^hsla\\\\(\".concat(u,\",\").concat(c,\",\").concat(c,\",\").concat(u,\"\\\\)$\")),y={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function x(){return this.rgb().formatHex()}function b(){return this.rgb().formatRgb()}function _(e){var t,r;return e=(e+\"\").trim().toLowerCase(),(t=f.exec(e))?(r=t[1].length,t=parseInt(t[1],16),6===r?w(t):3===r?new M(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?k(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?k(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=h.exec(e))?new M(t[1],t[2],t[3],1):(t=p.exec(e))?new M(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=d.exec(e))?k(t[1],t[2],t[3],t[4]):(t=v.exec(e))?k(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=g.exec(e))?P(t[1],t[2]/100,t[3]/100,1):(t=m.exec(e))?P(t[1],t[2]/100,t[3]/100,t[4]):y.hasOwnProperty(e)?w(y[e]):\"transparent\"===e?new M(NaN,NaN,NaN,0):null}function w(e){return new M(e>>16&255,e>>8&255,255&e,1)}function k(e,t,r,n){return n<=0&&(e=t=r=NaN),new M(e,t,r,n)}function T(e,t,r,n){return 1===arguments.length?((i=e)instanceof a||(i=_(i)),i?new M((i=i.rgb()).r,i.g,i.b,i.opacity):new M):new M(e,t,r,null==n?1:n);var i}function M(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function A(){return\"#\".concat(L(this.r)).concat(L(this.g)).concat(L(this.b))}function S(){var e=E(this.opacity);return\"\".concat(1===e?\"rgb(\":\"rgba(\").concat(C(this.r),\", \").concat(C(this.g),\", \").concat(C(this.b)).concat(1===e?\")\":\", \".concat(e,\")\"))}function E(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function C(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function L(e){return((e=C(e))<16?\"0\":\"\")+e.toString(16)}function P(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new I(e,t,r,n)}function O(e){if(e instanceof I)return new I(e.h,e.s,e.l,e.opacity);if(e instanceof a||(e=_(e)),!e)return new I;if(e instanceof I)return e;var t=(e=e.rgb()).r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),o=Math.max(t,r,n),s=NaN,l=o-i,u=(o+i)/2;return l?(s=t===o?(r-n)/l+6*(r<n):r===o?(n-t)/l+2:(t-r)/l+4,l/=u<.5?o+i:2-o-i,s*=60):l=u>0&&u<1?0:s,new I(s,l,u,e.opacity)}function I(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function D(e){return(e=(e||0)%360)<0?e+360:e}function z(e){return Math.max(0,Math.min(1,e||0))}function R(e,t,r){return 255*(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)}function F(e,t,r,n,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*n+o*i)/6}n(a,_,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return O(this).formatHsl()},formatRgb:b,toString:b}),n(M,T,i(a,{brighter:function(e){return e=null==e?s:Math.pow(s,e),new M(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?o:Math.pow(o,e),new M(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},clamp:function(){return new M(C(this.r),C(this.g),C(this.b),E(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:A,formatHex:A,formatHex8:function(){return\"#\".concat(L(this.r)).concat(L(this.g)).concat(L(this.b)).concat(L(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:S,toString:S})),n(I,(function(e,t,r,n){return 1===arguments.length?O(e):new I(e,t,r,null==n?1:n)}),i(a,{brighter:function(e){return e=null==e?s:Math.pow(s,e),new I(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?o:Math.pow(o,e),new I(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new M(R(e>=240?e-240:e+120,i,n),R(e,i,n),R(e<120?e+240:e-120,i,n),this.opacity)},clamp:function(){return new I(D(this.h),z(this.s),z(this.l),E(this.opacity))},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=E(this.opacity);return\"\".concat(1===e?\"hsl(\":\"hsla(\").concat(D(this.h),\", \").concat(100*z(this.s),\"%, \").concat(100*z(this.l),\"%\").concat(1===e?\")\":\", \".concat(e,\")\"))}}));var B=function(e){return function(){return e}};function N(e,t){var r=t-e;return r?function(e,t){return function(r){return e+r*t}}(e,r):B(isNaN(e)?t:e)}var j=function e(t){var r=function(e){return 1==(e=+e)?N:function(t,r){return r-t?function(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}(t,r,e):B(isNaN(t)?r:t)}}(t);function n(e,t){var n=r((e=T(e)).r,(t=T(t)).r),i=r(e.g,t.g),a=r(e.b,t.b),o=N(e.opacity,t.opacity);return function(t){return e.r=n(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+\"\"}}return n.gamma=e,n}(1);function U(e){return function(t){var r,n,i=t.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r<i;++r)n=T(t[r]),a[r]=n.r||0,o[r]=n.g||0,s[r]=n.b||0;return a=e(a),o=e(o),s=e(s),n.opacity=1,function(e){return n.r=a(e),n.g=o(e),n.b=s(e),n+\"\"}}}function V(e,t){var r,n=t?t.length:0,i=e?Math.min(n,e.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=$(e[r],t[r]);for(;r<n;++r)o[r]=t[r];return function(e){for(r=0;r<i;++r)o[r]=a[r](e);return o}}function H(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}function q(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}function G(e){return G=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},G(e)}function Y(e,t){var r,n={},i={};for(r in null!==e&&\"object\"===G(e)||(e={}),null!==t&&\"object\"===G(t)||(t={}),t)r in e?n[r]=$(e[r],t[r]):i[r]=t[r];return function(e){for(r in n)i[r]=n[r](e);return i}}U((function(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n<t-1?e[n+2]:2*a-i;return F((r-n/t)*t,o,i,a,s)}})),U((function(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),i=e[(n+t-1)%t],a=e[n%t],o=e[(n+1)%t],s=e[(n+2)%t];return F((r-n/t)*t,i,a,o,s)}}));var W=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,Z=new RegExp(W.source,\"g\");function X(e,t){var r,n,i,a=W.lastIndex=Z.lastIndex=0,o=-1,s=[],l=[];for(e+=\"\",t+=\"\";(r=W.exec(e))&&(n=Z.exec(t));)(i=n.index)>a&&(i=t.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:q(r,n)})),a=Z.lastIndex;return a<t.length&&(i=t.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?function(e){return function(t){return e(t)+\"\"}}(l[0].x):function(e){return function(){return e}}(t):(t=l.length,function(e){for(var r,n=0;n<t;++n)s[(r=l[n]).i]=r.x(e);return s.join(\"\")})}function K(e,t){t||(t=[]);var r,n=e?Math.min(t.length,e.length):0,i=t.slice();return function(a){for(r=0;r<n;++r)i[r]=e[r]*(1-a)+t[r]*a;return i}}function J(e){return J=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},J(e)}function $(e,t){var r,n,i=J(t);return null==t||\"boolean\"===i?B(t):(\"number\"===i?q:\"string\"===i?(r=_(t))?(t=r,j):X:t instanceof _?j:t instanceof Date?H:(n=t,!ArrayBuffer.isView(n)||n instanceof DataView?Array.isArray(t)?V:\"function\"!=typeof t.valueOf&&\"function\"!=typeof t.toString||isNaN(t)?Y:q:K))(e,t)}},40402:function(e){\"use strict\";e.exports=JSON.parse('[\"xx-small\",\"x-small\",\"small\",\"medium\",\"large\",\"x-large\",\"xx-large\",\"larger\",\"smaller\"]')},83794:function(e){\"use strict\";e.exports=JSON.parse('[\"normal\",\"condensed\",\"semi-condensed\",\"extra-condensed\",\"ultra-condensed\",\"expanded\",\"semi-expanded\",\"extra-expanded\",\"ultra-expanded\"]')},96209:function(e){\"use strict\";e.exports=JSON.parse('[\"normal\",\"italic\",\"oblique\"]')},15659:function(e){\"use strict\";e.exports=JSON.parse('[\"normal\",\"bold\",\"bolder\",\"lighter\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"]')},38732:function(e){\"use strict\";e.exports=JSON.parse('[\"inherit\",\"initial\",\"unset\"]')},41901:function(e){\"use strict\";e.exports=JSON.parse('[\"caption\",\"icon\",\"menu\",\"message-box\",\"small-caption\",\"status-bar\"]')}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,r),a.exports}return r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r(27909)}()},e.exports=t()},2703:(e,t,r)=>{\"use strict\";var n=r(414);function i(){}function a(){}a.resetWarningCache=i,e.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw s.name=\"Invariant Violation\",s}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:i};return r.PropTypes=r,r}},5697:(e,t,r)=>{e.exports=r(2703)()},414:e=>{\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},9459:(e,t,r)=>{var n,i,a,o;window,e.exports=(n=r(7294),i=r(3935),a=r(5697),o=r(9058),function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=2)}([function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i=n({}),a=function(e,t){return null==e||null==t};t.hashDiff=function(e,t){return a(e,t)||e.hash()!==t.hash()},t.shallowObjDiff=function(e,t){if(a(e,t)&&(null!=e||null!=t))return!0;if(e===t)return!1;if((void 0===e?\"undefined\":n(e))!==i||(void 0===t?\"undefined\":n(t))!==i)return e!==t;var r=Object.keys(e),o=Object.keys(t),s=function(r){return e[r]!==t[r]};return r.length!==o.length||!(!r.some(s)&&!o.some(s))}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.get=function(e,t){return null!=e?e[t]:null},t.toJson=function(e){return e},t.forEach=function(e,t){return e.forEach(t)}},function(e,t,r){\"use strict\";e.exports=r(3).default},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),i=c(r(4)),a=c(r(5)),o=r(6),s=r(8),l=c(r(9)),u=r(10);function c(e){return e&&e.__esModule?e:{default:e}}var f=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.displayName=\"CytoscapeComponent\",r}return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,i.default.Component),n(t,null,[{key:\"normalizeElements\",value:function(e){if(null!=e.length)return e;var t=e.nodes,r=e.edges;return null==t&&(t=[]),null==r&&(r=[]),t.concat(r)}},{key:\"propTypes\",get:function(){return o.types}},{key:\"defaultProps\",get:function(){return s.defaults}}]),n(t,[{key:\"componentDidMount\",value:function(){var e=a.default.findDOMNode(this),t=this.props,r=t.global,n=t.headless,i=t.styleEnabled,o=t.hideEdgesOnViewport,s=t.textureOnViewport,u=t.motionBlur,c=t.motionBlurOpacity,f=t.wheelSensitivity,h=t.pixelRatio,p=this._cy=new l.default({container:e,headless:n,styleEnabled:i,hideEdgesOnViewport:o,textureOnViewport:s,motionBlur:u,motionBlurOpacity:c,wheelSensitivity:f,pixelRatio:h});r&&(window[r]=p),this.updateCytoscape(null,this.props)}},{key:\"updateCytoscape\",value:function(e,t){var r=this._cy,n=t.diff,i=t.toJson,a=t.get,o=t.forEach;(0,u.patch)(r,e,t,n,i,a,o),null!=t.cy&&t.cy(r)}},{key:\"componentDidUpdate\",value:function(e){this.updateCytoscape(e,this.props)}},{key:\"componentWillUnmount\",value:function(){this._cy.destroy()}},{key:\"render\",value:function(){var e=this.props,t=e.id,r=e.className,n=e.style;return i.default.createElement(\"div\",{id:t,className:r,style:n})}}]),t}();t.default=f},function(e,t){e.exports=n},function(e,t){e.exports=i},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.types=void 0;var n=function(e){return e&&e.__esModule?e:{default:e}}(r(7)),i=n.default.string,a=n.default.array,o=n.default.object,s=n.default.number,l=n.default.bool,u=n.default.oneOfType,c=n.default.any,f=n.default.func;t.types={id:i,className:i,style:u([i,o]),elements:u([a,c]),stylesheet:u([a,c]),layout:u([o,c]),pan:u([o,c]),zoom:s,panningEnabled:l,userPanningEnabled:l,minZoom:s,maxZoom:s,zoomingEnabled:l,userZoomingEnabled:l,boxSelectionEnabled:l,autoungrabify:l,autolock:l,autounselectify:l,get:f,toJson:f,diff:f,forEach:f,cy:f,headless:l,styleEnabled:l,hideEdgesOnViewport:l,textureOnViewport:l,motionBlur:l,motionBlurOpacity:s,wheelSensitivity:s,pixelRatio:u([i,o])}},function(e,t){e.exports=a},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.defaults=t.pan=t.zoom=t.stylesheet=t.elements=t.identity=void 0;var n=r(0),i=r(1),a=(t.identity=function(e){return e},t.elements=[{data:{id:\"a\",label:\"Example node A\"}},{data:{id:\"b\",label:\"Example node B\"}},{data:{id:\"e\",source:\"a\",target:\"b\"}}]),o=t.stylesheet=[{selector:\"node\",style:{label:\"data(label)\"}}],s=t.zoom=1,l=t.pan={x:0,y:0};t.defaults={diff:n.shallowObjDiff,get:i.get,toJson:i.toJson,forEach:i.forEach,elements:a,stylesheet:o,zoom:s,pan:l}},function(e,t){e.exports=o},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.patch=void 0;var n=r(1),i=r(0),a=function(e,t,r,i){return r((0,n.get)(e,i),(0,n.get)(t,i))},o=(t.patch=function(e,t,r,c,f,h,p){e.batch((function(){(c===i.shallowObjDiff||a(t,r,c,\"elements\"))&&u(e,(0,n.get)(t,\"elements\"),(0,n.get)(r,\"elements\"),f,h,p,c),a(t,r,c,\"stylesheet\")&&l(e,(0,n.get)(t,\"stylesheet\"),(0,n.get)(r,\"stylesheet\"),f),[\"zoom\",\"minZoom\",\"maxZoom\",\"zoomingEnabled\",\"userZoomingEnabled\",\"pan\",\"panningEnabled\",\"userPanningEnabled\",\"boxSelectionEnabled\",\"autoungrabify\",\"autolock\",\"autounselectify\"].forEach((function(i){a(t,r,c,i)&&o(e,i,(0,n.get)(t,i),(0,n.get)(r,i),f)}))})),a(t,r,c,\"layout\")&&s(e,(0,n.get)(t,\"layout\"),(0,n.get)(r,\"layout\"),f)},function(e,t,r,n,i){e[t](i(n))}),s=function(e,t,r,n){var i=n(r);null!=i&&e.layout(i).run()},l=function(e,t,r,n){var i=e.style();null!=i&&i.fromJson(n(r)).update()},u=function(e,t,r,n,i,a,o){var s=[],l=e.collection(),u=[],f={},h={},p=function(e){return i(i(e,\"data\"),\"id\")};a(r,(function(e){var t=p(e);h[t]=e})),null!=t&&a(t,(function(t){var r=p(t);f[r]=t,function(e){return null!=h[e]}(r)||l.merge(e.getElementById(r))})),a(r,(function(e){var t=p(e),r=function(e){return f[e]}(t);!function(e){return null!=f[e]}(t)?s.push(n(e)):u.push({ele1:r,ele2:e})})),l.length>0&&e.remove(l),s.length>0&&e.add(s),u.forEach((function(t){var r=t.ele1,a=t.ele2;return c(e,r,a,n,i,o)}))},c=function(e,t,r,n,i,a){var o=i(i(r,\"data\"),\"id\"),s=e.getElementById(o),l={};[\"data\",\"position\",\"selected\",\"selectable\",\"locked\",\"grabbable\",\"classes\"].forEach((function(e){var o=i(r,e);a(o,i(t,e))&&(l[e]=n(o))}));var u=i(r,\"scratch\");a(u,i(t,\"scratch\"))&&s.scratch(n(u)),Object.keys(l).length>0&&s.json(l)}}]))},4448:(e,t,r)=>{\"use strict\";var n=r(7294),i=r(7418),a=r(3840);function o(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,r=1;r<arguments.length;r++)t+=\"&args[]=\"+encodeURIComponent(arguments[r]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!n)throw Error(o(227));var s=new Set,l={};function u(e,t){c(e,t),c(e+\"Capture\",t)}function c(e,t){for(l[e]=t,e=0;e<t.length;e++)s.add(t[e])}var f=!(\"undefined\"==typeof window||void 0===window.document||void 0===window.document.createElement),h=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,p=Object.prototype.hasOwnProperty,d={},v={};function g(e,t,r,n,i,a,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=n,this.attributeNamespace=i,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var m={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){m[e]=new g(e,0,!1,e,null,!1,!1)})),[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var t=e[0];m[t]=new g(t,1,!1,e[1],null,!1,!1)})),[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){m[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){m[e]=new g(e,2,!1,e,null,!1,!1)})),\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){m[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){m[e]=new g(e,3,!0,e,null,!1,!1)})),[\"capture\",\"download\"].forEach((function(e){m[e]=new g(e,4,!1,e,null,!1,!1)})),[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){m[e]=new g(e,6,!1,e,null,!1,!1)})),[\"rowSpan\",\"start\"].forEach((function(e){m[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var y=/[\\-:]([a-z])/g;function x(e){return e[1].toUpperCase()}function b(e,t,r,n){var i=m.hasOwnProperty(t)?m[t]:null;(null!==i?0===i.type:!n&&2<t.length&&(\"o\"===t[0]||\"O\"===t[0])&&(\"n\"===t[1]||\"N\"===t[1]))||(function(e,t,r,n){if(null==t||function(e,t,r,n){if(null!==r&&0===r.type)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return!n&&(null!==r?!r.acceptsBooleans:\"data-\"!==(e=e.toLowerCase().slice(0,5))&&\"aria-\"!==e);default:return!1}}(e,t,r,n))return!0;if(n)return!1;if(null!==r)switch(r.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,r,i,n)&&(r=null),n||null===i?function(e){return!!p.call(v,e)||!p.call(d,e)&&(h.test(e)?v[e]=!0:(d[e]=!0,!1))}(t)&&(null===r?e.removeAttribute(t):e.setAttribute(t,\"\"+r)):i.mustUseProperty?e[i.propertyName]=null===r?3!==i.type&&\"\":r:(t=i.attributeName,n=i.attributeNamespace,null===r?e.removeAttribute(t):(r=3===(i=i.type)||4===i&&!0===r?\"\":\"\"+r,n?e.setAttributeNS(n,t,r):e.setAttribute(t,r))))}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var t=e.replace(y,x);m[t]=new g(t,1,!1,e,null,!1,!1)})),\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var t=e.replace(y,x);m[t]=new g(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)})),[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var t=e.replace(y,x);m[t]=new g(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)})),[\"tabIndex\",\"crossOrigin\"].forEach((function(e){m[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),m.xlinkHref=new g(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1),[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){m[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var _=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=60103,k=60106,T=60107,M=60108,A=60114,S=60109,E=60110,C=60112,L=60113,P=60120,O=60115,I=60116,D=60121,z=60128,R=60129,F=60130,B=60131;if(\"function\"==typeof Symbol&&Symbol.for){var N=Symbol.for;w=N(\"react.element\"),k=N(\"react.portal\"),T=N(\"react.fragment\"),M=N(\"react.strict_mode\"),A=N(\"react.profiler\"),S=N(\"react.provider\"),E=N(\"react.context\"),C=N(\"react.forward_ref\"),L=N(\"react.suspense\"),P=N(\"react.suspense_list\"),O=N(\"react.memo\"),I=N(\"react.lazy\"),D=N(\"react.block\"),N(\"react.scope\"),z=N(\"react.opaque.id\"),R=N(\"react.debug_trace_mode\"),F=N(\"react.offscreen\"),B=N(\"react.legacy_hidden\")}var j,U=\"function\"==typeof Symbol&&Symbol.iterator;function V(e){return null===e||\"object\"!=typeof e?null:\"function\"==typeof(e=U&&e[U]||e[\"@@iterator\"])?e:null}function H(e){if(void 0===j)try{throw Error()}catch(e){var t=e.stack.trim().match(/\\n( *(at )?)/);j=t&&t[1]||\"\"}return\"\\n\"+j+e}var q=!1;function G(e,t){if(!e||q)return\"\";q=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,\"props\",{set:function(){throw Error()}}),\"object\"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var n=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){n=e}e.call(t.prototype)}else{try{throw Error()}catch(e){n=e}e()}}catch(e){if(e&&n&&\"string\"==typeof e.stack){for(var i=e.stack.split(\"\\n\"),a=n.stack.split(\"\\n\"),o=i.length-1,s=a.length-1;1<=o&&0<=s&&i[o]!==a[s];)s--;for(;1<=o&&0<=s;o--,s--)if(i[o]!==a[s]){if(1!==o||1!==s)do{if(o--,0>--s||i[o]!==a[s])return\"\\n\"+i[o].replace(\" at new \",\" at \")}while(1<=o&&0<=s);break}}}finally{q=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:\"\")?H(e):\"\"}function Y(e){switch(e.tag){case 5:return H(e.type);case 16:return H(\"Lazy\");case 13:return H(\"Suspense\");case 19:return H(\"SuspenseList\");case 0:case 2:case 15:return G(e.type,!1);case 11:return G(e.type.render,!1);case 22:return G(e.type._render,!1);case 1:return G(e.type,!0);default:return\"\"}}function W(e){if(null==e)return null;if(\"function\"==typeof e)return e.displayName||e.name||null;if(\"string\"==typeof e)return e;switch(e){case T:return\"Fragment\";case k:return\"Portal\";case A:return\"Profiler\";case M:return\"StrictMode\";case L:return\"Suspense\";case P:return\"SuspenseList\"}if(\"object\"==typeof e)switch(e.$$typeof){case E:return(e.displayName||\"Context\")+\".Consumer\";case S:return(e._context.displayName||\"Context\")+\".Provider\";case C:var t=e.render;return t=t.displayName||t.name||\"\",e.displayName||(\"\"!==t?\"ForwardRef(\"+t+\")\":\"ForwardRef\");case O:return W(e.type);case D:return W(e._render);case I:t=e._payload,e=e._init;try{return W(e(t))}catch(e){}}return null}function Z(e){switch(typeof e){case\"boolean\":case\"number\":case\"object\":case\"string\":case\"undefined\":return e;default:return\"\"}}function X(e){var t=e.type;return(e=e.nodeName)&&\"input\"===e.toLowerCase()&&(\"checkbox\"===t||\"radio\"===t)}function K(e){e._valueTracker||(e._valueTracker=function(e){var t=X(e)?\"checked\":\"value\",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=\"\"+e[t];if(!e.hasOwnProperty(t)&&void 0!==r&&\"function\"==typeof r.get&&\"function\"==typeof r.set){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=\"\"+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=\"\"+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function J(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n=\"\";return e&&(n=X(e)?e.checked?\"true\":\"false\":e.value),(e=n)!==r&&(t.setValue(e),!0)}function $(e){if(void 0===(e=e||(\"undefined\"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var r=t.checked;return i({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=r?r:e._wrapperState.initialChecked})}function ee(e,t){var r=null==t.defaultValue?\"\":t.defaultValue,n=null!=t.checked?t.checked:t.defaultChecked;r=Z(null!=t.value?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:\"checkbox\"===t.type||\"radio\"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&b(e,\"checked\",t,!1)}function re(e,t){te(e,t);var r=Z(t.value),n=t.type;if(null!=r)\"number\"===n?(0===r&&\"\"===e.value||e.value!=r)&&(e.value=\"\"+r):e.value!==\"\"+r&&(e.value=\"\"+r);else if(\"submit\"===n||\"reset\"===n)return void e.removeAttribute(\"value\");t.hasOwnProperty(\"value\")?ie(e,t.type,r):t.hasOwnProperty(\"defaultValue\")&&ie(e,t.type,Z(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function ne(e,t,r){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var n=t.type;if(!(\"submit\"!==n&&\"reset\"!==n||void 0!==t.value&&null!==t.value))return;t=\"\"+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}\"\"!==(r=e.name)&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,\"\"!==r&&(e.name=r)}function ie(e,t,r){\"number\"===t&&$(e.ownerDocument)===e||(null==r?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+r&&(e.defaultValue=\"\"+r))}function ae(e,t){return e=i({children:void 0},t),(t=function(e){var t=\"\";return n.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function oe(e,t,r,n){if(e=e.options,t){t={};for(var i=0;i<r.length;i++)t[\"$\"+r[i]]=!0;for(r=0;r<e.length;r++)i=t.hasOwnProperty(\"$\"+e[r].value),e[r].selected!==i&&(e[r].selected=i),i&&n&&(e[r].defaultSelected=!0)}else{for(r=\"\"+Z(r),t=null,i=0;i<e.length;i++){if(e[i].value===r)return e[i].selected=!0,void(n&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function se(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return i({},t,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue})}function le(e,t){var r=t.value;if(null==r){if(r=t.children,t=t.defaultValue,null!=r){if(null!=t)throw Error(o(92));if(Array.isArray(r)){if(!(1>=r.length))throw Error(o(93));r=r[0]}t=r}null==t&&(t=\"\"),r=t}e._wrapperState={initialValue:Z(r)}}function ue(e,t){var r=Z(t.value),n=Z(t.defaultValue);null!=r&&((r=\"\"+r)!==e.value&&(e.value=r),null==t.defaultValue&&e.defaultValue!==r&&(e.defaultValue=r)),null!=n&&(e.defaultValue=\"\"+n)}function ce(e){var t=e.textContent;t===e._wrapperState.initialValue&&\"\"!==t&&null!==t&&(e.value=t)}var fe={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};function he(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function pe(e,t){return null==e||\"http://www.w3.org/1999/xhtml\"===e?he(t):\"http://www.w3.org/2000/svg\"===e&&\"foreignObject\"===t?\"http://www.w3.org/1999/xhtml\":e}var de,ve,ge=(ve=function(e,t){if(e.namespaceURI!==fe.svg||\"innerHTML\"in e)e.innerHTML=t;else{for((de=de||document.createElement(\"div\")).innerHTML=\"<svg>\"+t.valueOf().toString()+\"</svg>\",t=de.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},\"undefined\"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,r,n){MSApp.execUnsafeLocalFunction((function(){return ve(e,t)}))}:ve);function me(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&3===r.nodeType)return void(r.nodeValue=t)}e.textContent=t}var ye={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},xe=[\"Webkit\",\"ms\",\"Moz\",\"O\"];function be(e,t,r){return null==t||\"boolean\"==typeof t||\"\"===t?\"\":r||\"number\"!=typeof t||0===t||ye.hasOwnProperty(e)&&ye[e]?(\"\"+t).trim():t+\"px\"}function _e(e,t){for(var r in e=e.style,t)if(t.hasOwnProperty(r)){var n=0===r.indexOf(\"--\"),i=be(r,t[r],n);\"float\"===r&&(r=\"cssFloat\"),n?e.setProperty(r,i):e[r]=i}}Object.keys(ye).forEach((function(e){xe.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ye[t]=ye[e]}))}));var we=i({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ke(e,t){if(t){if(we[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if(\"object\"!=typeof t.dangerouslySetInnerHTML||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&\"object\"!=typeof t.style)throw Error(o(62))}}function Te(e,t){if(-1===e.indexOf(\"-\"))return\"string\"==typeof t.is;switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}function Me(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Ae=null,Se=null,Ee=null;function Ce(e){if(e=ri(e)){if(\"function\"!=typeof Ae)throw Error(o(280));var t=e.stateNode;t&&(t=ii(t),Ae(e.stateNode,e.type,t))}}function Le(e){Se?Ee?Ee.push(e):Ee=[e]:Se=e}function Pe(){if(Se){var e=Se,t=Ee;if(Ee=Se=null,Ce(e),t)for(e=0;e<t.length;e++)Ce(t[e])}}function Oe(e,t){return e(t)}function Ie(e,t,r,n,i){return e(t,r,n,i)}function De(){}var ze=Oe,Re=!1,Fe=!1;function Be(){null===Se&&null===Ee||(De(),Pe())}function Ne(e,t){var r=e.stateNode;if(null===r)return null;var n=ii(r);if(null===n)return null;r=n[t];e:switch(t){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":case\"onMouseEnter\":(n=!n.disabled)||(n=!(\"button\"===(e=e.type)||\"input\"===e||\"select\"===e||\"textarea\"===e)),e=!n;break e;default:e=!1}if(e)return null;if(r&&\"function\"!=typeof r)throw Error(o(231,t,typeof r));return r}var je=!1;if(f)try{var Ue={};Object.defineProperty(Ue,\"passive\",{get:function(){je=!0}}),window.addEventListener(\"test\",Ue,Ue),window.removeEventListener(\"test\",Ue,Ue)}catch(ve){je=!1}function Ve(e,t,r,n,i,a,o,s,l){var u=Array.prototype.slice.call(arguments,3);try{t.apply(r,u)}catch(e){this.onError(e)}}var He=!1,qe=null,Ge=!1,Ye=null,We={onError:function(e){He=!0,qe=e}};function Ze(e,t,r,n,i,a,o,s,l){He=!1,qe=null,Ve.apply(We,arguments)}function Xe(e){var t=e,r=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).flags)&&(r=t.return),e=t.return}while(e)}return 3===t.tag?r:null}function Ke(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function Je(e){if(Xe(e)!==e)throw Error(o(188))}function $e(e){if(e=function(e){var t=e.alternate;if(!t){if(null===(t=Xe(e)))throw Error(o(188));return t!==e?null:e}for(var r=e,n=t;;){var i=r.return;if(null===i)break;var a=i.alternate;if(null===a){if(null!==(n=i.return)){r=n;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===r)return Je(i),e;if(a===n)return Je(i),t;a=a.sibling}throw Error(o(188))}if(r.return!==n.return)r=i,n=a;else{for(var s=!1,l=i.child;l;){if(l===r){s=!0,r=i,n=a;break}if(l===n){s=!0,n=i,r=a;break}l=l.sibling}if(!s){for(l=a.child;l;){if(l===r){s=!0,r=a,n=i;break}if(l===n){s=!0,n=a,r=i;break}l=l.sibling}if(!s)throw Error(o(189))}}if(r.alternate!==n)throw Error(o(190))}if(3!==r.tag)throw Error(o(188));return r.stateNode.current===r?e:t}(e),!e)return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function Qe(e,t){for(var r=e.alternate;null!==t;){if(t===e||t===r)return!0;t=t.return}return!1}var et,tt,rt,nt,it=!1,at=[],ot=null,st=null,lt=null,ut=new Map,ct=new Map,ft=[],ht=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");function pt(e,t,r,n,i){return{blockedOn:e,domEventName:t,eventSystemFlags:16|r,nativeEvent:i,targetContainers:[n]}}function dt(e,t){switch(e){case\"focusin\":case\"focusout\":ot=null;break;case\"dragenter\":case\"dragleave\":st=null;break;case\"mouseover\":case\"mouseout\":lt=null;break;case\"pointerover\":case\"pointerout\":ut.delete(t.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":ct.delete(t.pointerId)}}function vt(e,t,r,n,i,a){return null===e||e.nativeEvent!==a?(e=pt(t,r,n,i,a),null!==t&&null!==(t=ri(t))&&tt(t),e):(e.eventSystemFlags|=n,t=e.targetContainers,null!==i&&-1===t.indexOf(i)&&t.push(i),e)}function gt(e){var t=ti(e.target);if(null!==t){var r=Xe(t);if(null!==r)if(13===(t=r.tag)){if(null!==(t=Ke(r)))return e.blockedOn=t,void nt(e.lanePriority,(function(){a.unstable_runWithPriority(e.priority,(function(){rt(r)}))}))}else if(3===t&&r.stateNode.hydrate)return void(e.blockedOn=3===r.tag?r.stateNode.containerInfo:null)}e.blockedOn=null}function mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var r=$t(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==r)return null!==(t=ri(r))&&tt(t),e.blockedOn=r,!1;t.shift()}return!0}function yt(e,t,r){mt(e)&&r.delete(t)}function xt(){for(it=!1;0<at.length;){var e=at[0];if(null!==e.blockedOn){null!==(e=ri(e.blockedOn))&&et(e);break}for(var t=e.targetContainers;0<t.length;){var r=$t(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==r){e.blockedOn=r;break}t.shift()}null===e.blockedOn&&at.shift()}null!==ot&&mt(ot)&&(ot=null),null!==st&&mt(st)&&(st=null),null!==lt&&mt(lt)&&(lt=null),ut.forEach(yt),ct.forEach(yt)}function bt(e,t){e.blockedOn===t&&(e.blockedOn=null,it||(it=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,xt)))}function _t(e){function t(t){return bt(t,e)}if(0<at.length){bt(at[0],e);for(var r=1;r<at.length;r++){var n=at[r];n.blockedOn===e&&(n.blockedOn=null)}}for(null!==ot&&bt(ot,e),null!==st&&bt(st,e),null!==lt&&bt(lt,e),ut.forEach(t),ct.forEach(t),r=0;r<ft.length;r++)(n=ft[r]).blockedOn===e&&(n.blockedOn=null);for(;0<ft.length&&null===(r=ft[0]).blockedOn;)gt(r),null===r.blockedOn&&ft.shift()}function wt(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r[\"Webkit\"+e]=\"webkit\"+t,r[\"Moz\"+e]=\"moz\"+t,r}var kt={animationend:wt(\"Animation\",\"AnimationEnd\"),animationiteration:wt(\"Animation\",\"AnimationIteration\"),animationstart:wt(\"Animation\",\"AnimationStart\"),transitionend:wt(\"Transition\",\"TransitionEnd\")},Tt={},Mt={};function At(e){if(Tt[e])return Tt[e];if(!kt[e])return e;var t,r=kt[e];for(t in r)if(r.hasOwnProperty(t)&&t in Mt)return Tt[e]=r[t];return e}f&&(Mt=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete kt.animationend.animation,delete kt.animationiteration.animation,delete kt.animationstart.animation),\"TransitionEvent\"in window||delete kt.transitionend.transition);var St=At(\"animationend\"),Et=At(\"animationiteration\"),Ct=At(\"animationstart\"),Lt=At(\"transitionend\"),Pt=new Map,Ot=new Map,It=[\"abort\",\"abort\",St,\"animationEnd\",Et,\"animationIteration\",Ct,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",Lt,\"transitionEnd\",\"waiting\",\"waiting\"];function Dt(e,t){for(var r=0;r<e.length;r+=2){var n=e[r],i=e[r+1];i=\"on\"+(i[0].toUpperCase()+i.slice(1)),Ot.set(n,t),Pt.set(n,i),u(i,[n])}}(0,a.unstable_now)();var zt=8;function Rt(e){if(0!=(1&e))return zt=15,1;if(0!=(2&e))return zt=14,2;if(0!=(4&e))return zt=13,4;var t=24&e;return 0!==t?(zt=12,t):0!=(32&e)?(zt=11,32):0!=(t=192&e)?(zt=10,t):0!=(256&e)?(zt=9,256):0!=(t=3584&e)?(zt=8,t):0!=(4096&e)?(zt=7,4096):0!=(t=4186112&e)?(zt=6,t):0!=(t=62914560&e)?(zt=5,t):67108864&e?(zt=4,67108864):0!=(134217728&e)?(zt=3,134217728):0!=(t=805306368&e)?(zt=2,t):0!=(1073741824&e)?(zt=1,1073741824):(zt=8,e)}function Ft(e,t){var r=e.pendingLanes;if(0===r)return zt=0;var n=0,i=0,a=e.expiredLanes,o=e.suspendedLanes,s=e.pingedLanes;if(0!==a)n=a,i=zt=15;else if(0!=(a=134217727&r)){var l=a&~o;0!==l?(n=Rt(l),i=zt):0!=(s&=a)&&(n=Rt(s),i=zt)}else 0!=(a=r&~o)?(n=Rt(a),i=zt):0!==s&&(n=Rt(s),i=zt);if(0===n)return 0;if(n=r&((0>(n=31-Ht(n))?0:1<<n)<<1)-1,0!==t&&t!==n&&0==(t&o)){if(Rt(t),i<=zt)return t;zt=i}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=n;0<t;)i=1<<(r=31-Ht(t)),n|=e[r],t&=~i;return n}function Bt(e){return 0!=(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function Nt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=jt(24&~t))?Nt(10,t):e;case 10:return 0===(e=jt(192&~t))?Nt(8,t):e;case 8:return 0===(e=jt(3584&~t))&&0===(e=jt(4186112&~t))&&(e=512),e;case 2:return 0===(t=jt(805306368&~t))&&(t=268435456),t}throw Error(o(358,e))}function jt(e){return e&-e}function Ut(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function Vt(e,t,r){e.pendingLanes|=t;var n=t-1;e.suspendedLanes&=n,e.pingedLanes&=n,(e=e.eventTimes)[t=31-Ht(t)]=r}var Ht=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(qt(e)/Gt|0)|0},qt=Math.log,Gt=Math.LN2,Yt=a.unstable_UserBlockingPriority,Wt=a.unstable_runWithPriority,Zt=!0;function Xt(e,t,r,n){Re||De();var i=Jt,a=Re;Re=!0;try{Ie(i,e,t,r,n)}finally{(Re=a)||Be()}}function Kt(e,t,r,n){Wt(Yt,Jt.bind(null,e,t,r,n))}function Jt(e,t,r,n){var i;if(Zt)if((i=0==(4&t))&&0<at.length&&-1<ht.indexOf(e))e=pt(null,e,t,r,n),at.push(e);else{var a=$t(e,t,r,n);if(null===a)i&&dt(e,n);else{if(i){if(-1<ht.indexOf(e))return e=pt(a,e,t,r,n),void at.push(e);if(function(e,t,r,n,i){switch(t){case\"focusin\":return ot=vt(ot,e,t,r,n,i),!0;case\"dragenter\":return st=vt(st,e,t,r,n,i),!0;case\"mouseover\":return lt=vt(lt,e,t,r,n,i),!0;case\"pointerover\":var a=i.pointerId;return ut.set(a,vt(ut.get(a)||null,e,t,r,n,i)),!0;case\"gotpointercapture\":return a=i.pointerId,ct.set(a,vt(ct.get(a)||null,e,t,r,n,i)),!0}return!1}(a,e,t,r,n))return;dt(e,n)}Dn(e,t,n,null,r)}}}function $t(e,t,r,n){var i=Me(n);if(null!==(i=ti(i))){var a=Xe(i);if(null===a)i=null;else{var o=a.tag;if(13===o){if(null!==(i=Ke(a)))return i;i=null}else if(3===o){if(a.stateNode.hydrate)return 3===a.tag?a.stateNode.containerInfo:null;i=null}else a!==i&&(i=null)}}return Dn(e,t,n,i,r),null}var Qt=null,er=null,tr=null;function rr(){if(tr)return tr;var e,t,r=er,n=r.length,i=\"value\"in Qt?Qt.value:Qt.textContent,a=i.length;for(e=0;e<n&&r[e]===i[e];e++);var o=n-e;for(t=1;t<=o&&r[n-t]===i[a-t];t++);return tr=i.slice(e,1<t?1-t:void 0)}function nr(e){var t=e.keyCode;return\"charCode\"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function ir(){return!0}function ar(){return!1}function or(e){function t(t,r,n,i,a){for(var o in this._reactName=t,this._targetInst=n,this.type=r,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(null!=i.defaultPrevented?i.defaultPrevented:!1===i.returnValue)?ir:ar,this.isPropagationStopped=ar,this}return i(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ir)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ir)},persist:function(){},isPersistent:ir}),t}var sr,lr,ur,cr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},fr=or(cr),hr=i({},cr,{view:0,detail:0}),pr=or(hr),dr=i({},hr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ar,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return\"movementX\"in e?e.movementX:(e!==ur&&(ur&&\"mousemove\"===e.type?(sr=e.screenX-ur.screenX,lr=e.screenY-ur.screenY):lr=sr=0,ur=e),sr)},movementY:function(e){return\"movementY\"in e?e.movementY:lr}}),vr=or(dr),gr=or(i({},dr,{dataTransfer:0})),mr=or(i({},hr,{relatedTarget:0})),yr=or(i({},cr,{animationName:0,elapsedTime:0,pseudoElement:0})),xr=i({},cr,{clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}}),br=or(xr),_r=or(i({},cr,{data:0})),wr={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},kr={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Tr={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Mr(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Tr[e])&&!!t[e]}function Ar(){return Mr}var Sr=i({},hr,{key:function(e){if(e.key){var t=wr[e.key]||e.key;if(\"Unidentified\"!==t)return t}return\"keypress\"===e.type?13===(e=nr(e))?\"Enter\":String.fromCharCode(e):\"keydown\"===e.type||\"keyup\"===e.type?kr[e.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ar,charCode:function(e){return\"keypress\"===e.type?nr(e):0},keyCode:function(e){return\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0},which:function(e){return\"keypress\"===e.type?nr(e):\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0}}),Er=or(Sr),Cr=or(i({},dr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Lr=or(i({},hr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ar})),Pr=or(i({},cr,{propertyName:0,elapsedTime:0,pseudoElement:0})),Or=i({},dr,{deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Ir=or(Or),Dr=[9,13,27,32],zr=f&&\"CompositionEvent\"in window,Rr=null;f&&\"documentMode\"in document&&(Rr=document.documentMode);var Fr=f&&\"TextEvent\"in window&&!Rr,Br=f&&(!zr||Rr&&8<Rr&&11>=Rr),Nr=String.fromCharCode(32),jr=!1;function Ur(e,t){switch(e){case\"keyup\":return-1!==Dr.indexOf(t.keyCode);case\"keydown\":return 229!==t.keyCode;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function Vr(e){return\"object\"==typeof(e=e.detail)&&\"data\"in e?e.data:null}var Hr=!1,qr={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Gr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===t?!!qr[e.type]:\"textarea\"===t}function Yr(e,t,r,n){Le(n),0<(t=Rn(t,\"onChange\")).length&&(r=new fr(\"onChange\",\"change\",null,r,n),e.push({event:r,listeners:t}))}var Wr=null,Zr=null;function Xr(e){En(e,0)}function Kr(e){if(J(ni(e)))return e}function Jr(e,t){if(\"change\"===e)return t}var $r=!1;if(f){var Qr;if(f){var en=\"oninput\"in document;if(!en){var tn=document.createElement(\"div\");tn.setAttribute(\"oninput\",\"return;\"),en=\"function\"==typeof tn.oninput}Qr=en}else Qr=!1;$r=Qr&&(!document.documentMode||9<document.documentMode)}function rn(){Wr&&(Wr.detachEvent(\"onpropertychange\",nn),Zr=Wr=null)}function nn(e){if(\"value\"===e.propertyName&&Kr(Zr)){var t=[];if(Yr(t,Zr,e,Me(e)),e=Xr,Re)e(t);else{Re=!0;try{Oe(e,t)}finally{Re=!1,Be()}}}}function an(e,t,r){\"focusin\"===e?(rn(),Zr=r,(Wr=t).attachEvent(\"onpropertychange\",nn)):\"focusout\"===e&&rn()}function on(e){if(\"selectionchange\"===e||\"keyup\"===e||\"keydown\"===e)return Kr(Zr)}function sn(e,t){if(\"click\"===e)return Kr(t)}function ln(e,t){if(\"input\"===e||\"change\"===e)return Kr(t)}var un=\"function\"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},cn=Object.prototype.hasOwnProperty;function fn(e,t){if(un(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(n=0;n<r.length;n++)if(!cn.call(t,r[n])||!un(e[r[n]],t[r[n]]))return!1;return!0}function hn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function pn(e,t){var r,n=hn(e);for(e=0;n;){if(3===n.nodeType){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=hn(n)}}function dn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dn(e,t.parentNode):\"contains\"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function vn(){for(var e=window,t=$();t instanceof e.HTMLIFrameElement;){try{var r=\"string\"==typeof t.contentWindow.location.href}catch(e){r=!1}if(!r)break;t=$((e=t.contentWindow).document)}return t}function gn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&(\"text\"===e.type||\"search\"===e.type||\"tel\"===e.type||\"url\"===e.type||\"password\"===e.type)||\"textarea\"===t||\"true\"===e.contentEditable)}var mn=f&&\"documentMode\"in document&&11>=document.documentMode,yn=null,xn=null,bn=null,_n=!1;function wn(e,t,r){var n=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;_n||null==yn||yn!==$(n)||(n=\"selectionStart\"in(n=yn)&&gn(n)?{start:n.selectionStart,end:n.selectionEnd}:{anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},bn&&fn(bn,n)||(bn=n,0<(n=Rn(xn,\"onSelect\")).length&&(t=new fr(\"onSelect\",\"select\",null,t,r),e.push({event:t,listeners:n}),t.target=yn)))}Dt(\"cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),0),Dt(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1),Dt(It,2);for(var kn=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),Tn=0;Tn<kn.length;Tn++)Ot.set(kn[Tn],0);c(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]),c(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]),c(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]),c(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]),u(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \")),u(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \")),u(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]),u(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \")),u(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")),u(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var Mn=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),An=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(Mn));function Sn(e,t,r){var n=e.type||\"unknown-event\";e.currentTarget=r,function(e,t,r,n,i,a,s,l,u){if(Ze.apply(this,arguments),He){if(!He)throw Error(o(198));var c=qe;He=!1,qe=null,Ge||(Ge=!0,Ye=c)}}(n,t,void 0,e),e.currentTarget=null}function En(e,t){t=0!=(4&t);for(var r=0;r<e.length;r++){var n=e[r],i=n.event;n=n.listeners;e:{var a=void 0;if(t)for(var o=n.length-1;0<=o;o--){var s=n[o],l=s.instance,u=s.currentTarget;if(s=s.listener,l!==a&&i.isPropagationStopped())break e;Sn(i,s,u),a=l}else for(o=0;o<n.length;o++){if(l=(s=n[o]).instance,u=s.currentTarget,s=s.listener,l!==a&&i.isPropagationStopped())break e;Sn(i,s,u),a=l}}}if(Ge)throw e=Ye,Ge=!1,Ye=null,e}function Cn(e,t){var r=ai(t),n=e+\"__bubble\";r.has(n)||(In(t,e,2,!1),r.add(n))}var Ln=\"_reactListening\"+Math.random().toString(36).slice(2);function Pn(e){e[Ln]||(e[Ln]=!0,s.forEach((function(t){An.has(t)||On(t,!1,e,null),On(t,!0,e,null)})))}function On(e,t,r,n){var i=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,a=r;if(\"selectionchange\"===e&&9!==r.nodeType&&(a=r.ownerDocument),null!==n&&!t&&An.has(e)){if(\"scroll\"!==e)return;i|=2,a=n}var o=ai(a),s=e+\"__\"+(t?\"capture\":\"bubble\");o.has(s)||(t&&(i|=4),In(a,e,i,t),o.add(s))}function In(e,t,r,n){var i=Ot.get(t);switch(void 0===i?2:i){case 0:i=Xt;break;case 1:i=Kt;break;default:i=Jt}r=i.bind(null,t,r,e),i=void 0,!je||\"touchstart\"!==t&&\"touchmove\"!==t&&\"wheel\"!==t||(i=!0),n?void 0!==i?e.addEventListener(t,r,{capture:!0,passive:i}):e.addEventListener(t,r,!0):void 0!==i?e.addEventListener(t,r,{passive:i}):e.addEventListener(t,r,!1)}function Dn(e,t,r,n,i){var a=n;if(0==(1&t)&&0==(2&t)&&null!==n)e:for(;;){if(null===n)return;var o=n.tag;if(3===o||4===o){var s=n.stateNode.containerInfo;if(s===i||8===s.nodeType&&s.parentNode===i)break;if(4===o)for(o=n.return;null!==o;){var l=o.tag;if((3===l||4===l)&&((l=o.stateNode.containerInfo)===i||8===l.nodeType&&l.parentNode===i))return;o=o.return}for(;null!==s;){if(null===(o=ti(s)))return;if(5===(l=o.tag)||6===l){n=a=o;continue e}s=s.parentNode}}n=n.return}!function(e,t,r){if(Fe)return e();Fe=!0;try{return ze(e,t,r)}finally{Fe=!1,Be()}}((function(){var n=a,i=Me(r),o=[];e:{var s=Pt.get(e);if(void 0!==s){var l=fr,u=e;switch(e){case\"keypress\":if(0===nr(r))break e;case\"keydown\":case\"keyup\":l=Er;break;case\"focusin\":u=\"focus\",l=mr;break;case\"focusout\":u=\"blur\",l=mr;break;case\"beforeblur\":case\"afterblur\":l=mr;break;case\"click\":if(2===r.button)break e;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":l=vr;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":l=gr;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":l=Lr;break;case St:case Et:case Ct:l=yr;break;case Lt:l=Pr;break;case\"scroll\":l=pr;break;case\"wheel\":l=Ir;break;case\"copy\":case\"cut\":case\"paste\":l=br;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":l=Cr}var c=0!=(4&t),f=!c&&\"scroll\"===e,h=c?null!==s?s+\"Capture\":null:s;c=[];for(var p,d=n;null!==d;){var v=(p=d).stateNode;if(5===p.tag&&null!==v&&(p=v,null!==h&&null!=(v=Ne(d,h))&&c.push(zn(d,v,p))),f)break;d=d.return}0<c.length&&(s=new l(s,u,null,r,i),o.push({event:s,listeners:c}))}}if(0==(7&t)){if(l=\"mouseout\"===e||\"pointerout\"===e,(!(s=\"mouseover\"===e||\"pointerover\"===e)||0!=(16&t)||!(u=r.relatedTarget||r.fromElement)||!ti(u)&&!u[Qn])&&(l||s)&&(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=n,null!==(u=(u=r.relatedTarget||r.toElement)?ti(u):null)&&(u!==(f=Xe(u))||5!==u.tag&&6!==u.tag)&&(u=null)):(l=null,u=n),l!==u)){if(c=vr,v=\"onMouseLeave\",h=\"onMouseEnter\",d=\"mouse\",\"pointerout\"!==e&&\"pointerover\"!==e||(c=Cr,v=\"onPointerLeave\",h=\"onPointerEnter\",d=\"pointer\"),f=null==l?s:ni(l),p=null==u?s:ni(u),(s=new c(v,d+\"leave\",l,r,i)).target=f,s.relatedTarget=p,v=null,ti(i)===n&&((c=new c(h,d+\"enter\",u,r,i)).target=p,c.relatedTarget=f,v=c),f=v,l&&u)e:{for(h=u,d=0,p=c=l;p;p=Fn(p))d++;for(p=0,v=h;v;v=Fn(v))p++;for(;0<d-p;)c=Fn(c),d--;for(;0<p-d;)h=Fn(h),p--;for(;d--;){if(c===h||null!==h&&c===h.alternate)break e;c=Fn(c),h=Fn(h)}c=null}else c=null;null!==l&&Bn(o,s,l,c,!1),null!==u&&null!==f&&Bn(o,f,u,c,!0)}if(\"select\"===(l=(s=n?ni(n):window).nodeName&&s.nodeName.toLowerCase())||\"input\"===l&&\"file\"===s.type)var g=Jr;else if(Gr(s))if($r)g=ln;else{g=on;var m=an}else(l=s.nodeName)&&\"input\"===l.toLowerCase()&&(\"checkbox\"===s.type||\"radio\"===s.type)&&(g=sn);switch(g&&(g=g(e,n))?Yr(o,g,r,i):(m&&m(e,s,n),\"focusout\"===e&&(m=s._wrapperState)&&m.controlled&&\"number\"===s.type&&ie(s,\"number\",s.value)),m=n?ni(n):window,e){case\"focusin\":(Gr(m)||\"true\"===m.contentEditable)&&(yn=m,xn=n,bn=null);break;case\"focusout\":bn=xn=yn=null;break;case\"mousedown\":_n=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":_n=!1,wn(o,r,i);break;case\"selectionchange\":if(mn)break;case\"keydown\":case\"keyup\":wn(o,r,i)}var y;if(zr)e:{switch(e){case\"compositionstart\":var x=\"onCompositionStart\";break e;case\"compositionend\":x=\"onCompositionEnd\";break e;case\"compositionupdate\":x=\"onCompositionUpdate\";break e}x=void 0}else Hr?Ur(e,r)&&(x=\"onCompositionEnd\"):\"keydown\"===e&&229===r.keyCode&&(x=\"onCompositionStart\");x&&(Br&&\"ko\"!==r.locale&&(Hr||\"onCompositionStart\"!==x?\"onCompositionEnd\"===x&&Hr&&(y=rr()):(er=\"value\"in(Qt=i)?Qt.value:Qt.textContent,Hr=!0)),0<(m=Rn(n,x)).length&&(x=new _r(x,e,null,r,i),o.push({event:x,listeners:m}),(y||null!==(y=Vr(r)))&&(x.data=y))),(y=Fr?function(e,t){switch(e){case\"compositionend\":return Vr(t);case\"keypress\":return 32!==t.which?null:(jr=!0,Nr);case\"textInput\":return(e=t.data)===Nr&&jr?null:e;default:return null}}(e,r):function(e,t){if(Hr)return\"compositionend\"===e||!zr&&Ur(e,t)?(e=rr(),tr=er=Qt=null,Hr=!1,e):null;switch(e){case\"paste\":default:return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\"compositionend\":return Br&&\"ko\"!==t.locale?null:t.data}}(e,r))&&0<(n=Rn(n,\"onBeforeInput\")).length&&(i=new _r(\"onBeforeInput\",\"beforeinput\",null,r,i),o.push({event:i,listeners:n}),i.data=y)}En(o,t)}))}function zn(e,t,r){return{instance:e,listener:t,currentTarget:r}}function Rn(e,t){for(var r=t+\"Capture\",n=[];null!==e;){var i=e,a=i.stateNode;5===i.tag&&null!==a&&(i=a,null!=(a=Ne(e,r))&&n.unshift(zn(e,a,i)),null!=(a=Ne(e,t))&&n.push(zn(e,a,i))),e=e.return}return n}function Fn(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Bn(e,t,r,n,i){for(var a=t._reactName,o=[];null!==r&&r!==n;){var s=r,l=s.alternate,u=s.stateNode;if(null!==l&&l===n)break;5===s.tag&&null!==u&&(s=u,i?null!=(l=Ne(r,a))&&o.unshift(zn(r,l,s)):i||null!=(l=Ne(r,a))&&o.push(zn(r,l,s))),r=r.return}0!==o.length&&e.push({event:t,listeners:o})}function Nn(){}var jn=null,Un=null;function Vn(e,t){switch(e){case\"button\":case\"input\":case\"select\":case\"textarea\":return!!t.autoFocus}return!1}function Hn(e,t){return\"textarea\"===e||\"option\"===e||\"noscript\"===e||\"string\"==typeof t.children||\"number\"==typeof t.children||\"object\"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var qn=\"function\"==typeof setTimeout?setTimeout:void 0,Gn=\"function\"==typeof clearTimeout?clearTimeout:void 0;function Yn(e){(1===e.nodeType||9===e.nodeType&&null!=(e=e.body))&&(e.textContent=\"\")}function Wn(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function Zn(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var r=e.data;if(\"$\"===r||\"$!\"===r||\"$?\"===r){if(0===t)return e;t--}else\"/$\"===r&&t++}e=e.previousSibling}return null}var Xn=0,Kn=Math.random().toString(36).slice(2),Jn=\"__reactFiber$\"+Kn,$n=\"__reactProps$\"+Kn,Qn=\"__reactContainer$\"+Kn,ei=\"__reactEvents$\"+Kn;function ti(e){var t=e[Jn];if(t)return t;for(var r=e.parentNode;r;){if(t=r[Qn]||r[Jn]){if(r=t.alternate,null!==t.child||null!==r&&null!==r.child)for(e=Zn(e);null!==e;){if(r=e[Jn])return r;e=Zn(e)}return t}r=(e=r).parentNode}return null}function ri(e){return!(e=e[Jn]||e[Qn])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function ni(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function ii(e){return e[$n]||null}function ai(e){var t=e[ei];return void 0===t&&(t=e[ei]=new Set),t}var oi=[],si=-1;function li(e){return{current:e}}function ui(e){0>si||(e.current=oi[si],oi[si]=null,si--)}function ci(e,t){si++,oi[si]=e.current,e.current=t}var fi={},hi=li(fi),pi=li(!1),di=fi;function vi(e,t){var r=e.type.contextTypes;if(!r)return fi;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var i,a={};for(i in r)a[i]=t[i];return n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function gi(e){return null!=e.childContextTypes}function mi(){ui(pi),ui(hi)}function yi(e,t,r){if(hi.current!==fi)throw Error(o(168));ci(hi,t),ci(pi,r)}function xi(e,t,r){var n=e.stateNode;if(e=t.childContextTypes,\"function\"!=typeof n.getChildContext)return r;for(var a in n=n.getChildContext())if(!(a in e))throw Error(o(108,W(t)||\"Unknown\",a));return i({},r,n)}function bi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||fi,di=hi.current,ci(hi,e),ci(pi,pi.current),!0}function _i(e,t,r){var n=e.stateNode;if(!n)throw Error(o(169));r?(e=xi(e,t,di),n.__reactInternalMemoizedMergedChildContext=e,ui(pi),ui(hi),ci(hi,e)):ui(pi),ci(pi,r)}var wi=null,ki=null,Ti=a.unstable_runWithPriority,Mi=a.unstable_scheduleCallback,Ai=a.unstable_cancelCallback,Si=a.unstable_shouldYield,Ei=a.unstable_requestPaint,Ci=a.unstable_now,Li=a.unstable_getCurrentPriorityLevel,Pi=a.unstable_ImmediatePriority,Oi=a.unstable_UserBlockingPriority,Ii=a.unstable_NormalPriority,Di=a.unstable_LowPriority,zi=a.unstable_IdlePriority,Ri={},Fi=void 0!==Ei?Ei:function(){},Bi=null,Ni=null,ji=!1,Ui=Ci(),Vi=1e4>Ui?Ci:function(){return Ci()-Ui};function Hi(){switch(Li()){case Pi:return 99;case Oi:return 98;case Ii:return 97;case Di:return 96;case zi:return 95;default:throw Error(o(332))}}function qi(e){switch(e){case 99:return Pi;case 98:return Oi;case 97:return Ii;case 96:return Di;case 95:return zi;default:throw Error(o(332))}}function Gi(e,t){return e=qi(e),Ti(e,t)}function Yi(e,t,r){return e=qi(e),Mi(e,t,r)}function Wi(){if(null!==Ni){var e=Ni;Ni=null,Ai(e)}Zi()}function Zi(){if(!ji&&null!==Bi){ji=!0;var e=0;try{var t=Bi;Gi(99,(function(){for(;e<t.length;e++){var r=t[e];do{r=r(!0)}while(null!==r)}})),Bi=null}catch(t){throw null!==Bi&&(Bi=Bi.slice(e+1)),Mi(Pi,Wi),t}finally{ji=!1}}}var Xi=_.ReactCurrentBatchConfig;function Ki(e,t){if(e&&e.defaultProps){for(var r in t=i({},t),e=e.defaultProps)void 0===t[r]&&(t[r]=e[r]);return t}return t}var Ji=li(null),$i=null,Qi=null,ea=null;function ta(){ea=Qi=$i=null}function ra(e){var t=Ji.current;ui(Ji),e.type._context._currentValue=t}function na(e,t){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)===t){if(null===r||(r.childLanes&t)===t)break;r.childLanes|=t}else e.childLanes|=t,null!==r&&(r.childLanes|=t);e=e.return}}function ia(e,t){$i=e,ea=Qi=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(Ro=!0),e.firstContext=null)}function aa(e,t){if(ea!==e&&!1!==t&&0!==t)if(\"number\"==typeof t&&1073741823!==t||(ea=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Qi){if(null===$i)throw Error(o(308));Qi=t,$i.dependencies={lanes:0,firstContext:t,responders:null}}else Qi=Qi.next=t;return e._currentValue}var oa=!1;function sa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function la(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ua(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function ca(e,t){if(null!==(e=e.updateQueue)){var r=(e=e.shared).pending;null===r?t.next=t:(t.next=r.next,r.next=t),e.pending=t}}function fa(e,t){var r=e.updateQueue,n=e.alternate;if(null!==n&&r===(n=n.updateQueue)){var i=null,a=null;if(null!==(r=r.firstBaseUpdate)){do{var o={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};null===a?i=a=o:a=a.next=o,r=r.next}while(null!==r);null===a?i=a=t:a=a.next=t}else i=a=t;return r={baseState:n.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:n.shared,effects:n.effects},void(e.updateQueue=r)}null===(e=r.lastBaseUpdate)?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function ha(e,t,r,n){var a=e.updateQueue;oa=!1;var o=a.firstBaseUpdate,s=a.lastBaseUpdate,l=a.shared.pending;if(null!==l){a.shared.pending=null;var u=l,c=u.next;u.next=null,null===s?o=c:s.next=c,s=u;var f=e.alternate;if(null!==f){var h=(f=f.updateQueue).lastBaseUpdate;h!==s&&(null===h?f.firstBaseUpdate=c:h.next=c,f.lastBaseUpdate=u)}}if(null!==o){for(h=a.baseState,s=0,f=c=u=null;;){l=o.lane;var p=o.eventTime;if((n&l)===l){null!==f&&(f=f.next={eventTime:p,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var d=e,v=o;switch(l=t,p=r,v.tag){case 1:if(\"function\"==typeof(d=v.payload)){h=d.call(p,h,l);break e}h=d;break e;case 3:d.flags=-4097&d.flags|64;case 0:if(null==(l=\"function\"==typeof(d=v.payload)?d.call(p,h,l):d))break e;h=i({},h,l);break e;case 2:oa=!0}}null!==o.callback&&(e.flags|=32,null===(l=a.effects)?a.effects=[o]:l.push(o))}else p={eventTime:p,lane:l,tag:o.tag,payload:o.payload,callback:o.callback,next:null},null===f?(c=f=p,u=h):f=f.next=p,s|=l;if(null===(o=o.next)){if(null===(l=a.shared.pending))break;o=l.next,l.next=null,a.lastBaseUpdate=l,a.shared.pending=null}}null===f&&(u=h),a.baseState=u,a.firstBaseUpdate=c,a.lastBaseUpdate=f,Ns|=s,e.lanes=s,e.memoizedState=h}}function pa(e,t,r){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var n=e[t],i=n.callback;if(null!==i){if(n.callback=null,n=r,\"function\"!=typeof i)throw Error(o(191,i));i.call(n)}}}var da=(new n.Component).refs;function va(e,t,r,n){r=null==(r=r(n,t=e.memoizedState))?t:i({},t,r),e.memoizedState=r,0===e.lanes&&(e.updateQueue.baseState=r)}var ga={isMounted:function(e){return!!(e=e._reactInternals)&&Xe(e)===e},enqueueSetState:function(e,t,r){e=e._reactInternals;var n=cl(),i=fl(e),a=ua(n,i);a.payload=t,null!=r&&(a.callback=r),ca(e,a),hl(e,i,n)},enqueueReplaceState:function(e,t,r){e=e._reactInternals;var n=cl(),i=fl(e),a=ua(n,i);a.tag=1,a.payload=t,null!=r&&(a.callback=r),ca(e,a),hl(e,i,n)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var r=cl(),n=fl(e),i=ua(r,n);i.tag=2,null!=t&&(i.callback=t),ca(e,i),hl(e,n,r)}};function ma(e,t,r,n,i,a,o){return\"function\"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(n,a,o):!(t.prototype&&t.prototype.isPureReactComponent&&fn(r,n)&&fn(i,a))}function ya(e,t,r){var n=!1,i=fi,a=t.contextType;return\"object\"==typeof a&&null!==a?a=aa(a):(i=gi(t)?di:hi.current,a=(n=null!=(n=t.contextTypes))?vi(e,i):fi),t=new t(r,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ga,e.stateNode=t,t._reactInternals=e,n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function xa(e,t,r,n){e=t.state,\"function\"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(r,n),\"function\"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(r,n),t.state!==e&&ga.enqueueReplaceState(t,t.state,null)}function ba(e,t,r,n){var i=e.stateNode;i.props=r,i.state=e.memoizedState,i.refs=da,sa(e);var a=t.contextType;\"object\"==typeof a&&null!==a?i.context=aa(a):(a=gi(t)?di:hi.current,i.context=vi(e,a)),ha(e,r,i,n),i.state=e.memoizedState,\"function\"==typeof(a=t.getDerivedStateFromProps)&&(va(e,t,a,r),i.state=e.memoizedState),\"function\"==typeof t.getDerivedStateFromProps||\"function\"==typeof i.getSnapshotBeforeUpdate||\"function\"!=typeof i.UNSAFE_componentWillMount&&\"function\"!=typeof i.componentWillMount||(t=i.state,\"function\"==typeof i.componentWillMount&&i.componentWillMount(),\"function\"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&ga.enqueueReplaceState(i,i.state,null),ha(e,r,i,n),i.state=e.memoizedState),\"function\"==typeof i.componentDidMount&&(e.flags|=4)}var _a=Array.isArray;function wa(e,t,r){if(null!==(e=r.ref)&&\"function\"!=typeof e&&\"object\"!=typeof e){if(r._owner){if(r=r._owner){if(1!==r.tag)throw Error(o(309));var n=r.stateNode}if(!n)throw Error(o(147,e));var i=\"\"+e;return null!==t&&null!==t.ref&&\"function\"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=n.refs;t===da&&(t=n.refs={}),null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if(\"string\"!=typeof e)throw Error(o(284));if(!r._owner)throw Error(o(290,e))}return e}function ka(e,t){if(\"textarea\"!==e.type)throw Error(o(31,\"[object Object]\"===Object.prototype.toString.call(t)?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":t))}function Ta(e){function t(t,r){if(e){var n=t.lastEffect;null!==n?(n.nextEffect=r,t.lastEffect=r):t.firstEffect=t.lastEffect=r,r.nextEffect=null,r.flags=8}}function r(r,n){if(!e)return null;for(;null!==n;)t(r,n),n=n.sibling;return null}function n(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t){return(e=ql(e,t)).index=0,e.sibling=null,e}function a(t,r,n){return t.index=n,e?null!==(n=t.alternate)?(n=n.index)<r?(t.flags=2,r):n:(t.flags=2,r):r}function s(t){return e&&null===t.alternate&&(t.flags=2),t}function l(e,t,r,n){return null===t||6!==t.tag?((t=Zl(r,e.mode,n)).return=e,t):((t=i(t,r)).return=e,t)}function u(e,t,r,n){return null!==t&&t.elementType===r.type?((n=i(t,r.props)).ref=wa(e,t,r),n.return=e,n):((n=Gl(r.type,r.key,r.props,null,e.mode,n)).ref=wa(e,t,r),n.return=e,n)}function c(e,t,r,n){return null===t||4!==t.tag||t.stateNode.containerInfo!==r.containerInfo||t.stateNode.implementation!==r.implementation?((t=Xl(r,e.mode,n)).return=e,t):((t=i(t,r.children||[])).return=e,t)}function f(e,t,r,n,a){return null===t||7!==t.tag?((t=Yl(r,e.mode,n,a)).return=e,t):((t=i(t,r)).return=e,t)}function h(e,t,r){if(\"string\"==typeof t||\"number\"==typeof t)return(t=Zl(\"\"+t,e.mode,r)).return=e,t;if(\"object\"==typeof t&&null!==t){switch(t.$$typeof){case w:return(r=Gl(t.type,t.key,t.props,null,e.mode,r)).ref=wa(e,null,t),r.return=e,r;case k:return(t=Xl(t,e.mode,r)).return=e,t}if(_a(t)||V(t))return(t=Yl(t,e.mode,r,null)).return=e,t;ka(e,t)}return null}function p(e,t,r,n){var i=null!==t?t.key:null;if(\"string\"==typeof r||\"number\"==typeof r)return null!==i?null:l(e,t,\"\"+r,n);if(\"object\"==typeof r&&null!==r){switch(r.$$typeof){case w:return r.key===i?r.type===T?f(e,t,r.props.children,n,i):u(e,t,r,n):null;case k:return r.key===i?c(e,t,r,n):null}if(_a(r)||V(r))return null!==i?null:f(e,t,r,n,null);ka(e,r)}return null}function d(e,t,r,n,i){if(\"string\"==typeof n||\"number\"==typeof n)return l(t,e=e.get(r)||null,\"\"+n,i);if(\"object\"==typeof n&&null!==n){switch(n.$$typeof){case w:return e=e.get(null===n.key?r:n.key)||null,n.type===T?f(t,e,n.props.children,i,n.key):u(t,e,n,i);case k:return c(t,e=e.get(null===n.key?r:n.key)||null,n,i)}if(_a(n)||V(n))return f(t,e=e.get(r)||null,n,i,null);ka(t,n)}return null}function v(i,o,s,l){for(var u=null,c=null,f=o,v=o=0,g=null;null!==f&&v<s.length;v++){f.index>v?(g=f,f=null):g=f.sibling;var m=p(i,f,s[v],l);if(null===m){null===f&&(f=g);break}e&&f&&null===m.alternate&&t(i,f),o=a(m,o,v),null===c?u=m:c.sibling=m,c=m,f=g}if(v===s.length)return r(i,f),u;if(null===f){for(;v<s.length;v++)null!==(f=h(i,s[v],l))&&(o=a(f,o,v),null===c?u=f:c.sibling=f,c=f);return u}for(f=n(i,f);v<s.length;v++)null!==(g=d(f,i,v,s[v],l))&&(e&&null!==g.alternate&&f.delete(null===g.key?v:g.key),o=a(g,o,v),null===c?u=g:c.sibling=g,c=g);return e&&f.forEach((function(e){return t(i,e)})),u}function g(i,s,l,u){var c=V(l);if(\"function\"!=typeof c)throw Error(o(150));if(null==(l=c.call(l)))throw Error(o(151));for(var f=c=null,v=s,g=s=0,m=null,y=l.next();null!==v&&!y.done;g++,y=l.next()){v.index>g?(m=v,v=null):m=v.sibling;var x=p(i,v,y.value,u);if(null===x){null===v&&(v=m);break}e&&v&&null===x.alternate&&t(i,v),s=a(x,s,g),null===f?c=x:f.sibling=x,f=x,v=m}if(y.done)return r(i,v),c;if(null===v){for(;!y.done;g++,y=l.next())null!==(y=h(i,y.value,u))&&(s=a(y,s,g),null===f?c=y:f.sibling=y,f=y);return c}for(v=n(i,v);!y.done;g++,y=l.next())null!==(y=d(v,i,g,y.value,u))&&(e&&null!==y.alternate&&v.delete(null===y.key?g:y.key),s=a(y,s,g),null===f?c=y:f.sibling=y,f=y);return e&&v.forEach((function(e){return t(i,e)})),c}return function(e,n,a,l){var u=\"object\"==typeof a&&null!==a&&a.type===T&&null===a.key;u&&(a=a.props.children);var c=\"object\"==typeof a&&null!==a;if(c)switch(a.$$typeof){case w:e:{for(c=a.key,u=n;null!==u;){if(u.key===c){if(7===u.tag){if(a.type===T){r(e,u.sibling),(n=i(u,a.props.children)).return=e,e=n;break e}}else if(u.elementType===a.type){r(e,u.sibling),(n=i(u,a.props)).ref=wa(e,u,a),n.return=e,e=n;break e}r(e,u);break}t(e,u),u=u.sibling}a.type===T?((n=Yl(a.props.children,e.mode,l,a.key)).return=e,e=n):((l=Gl(a.type,a.key,a.props,null,e.mode,l)).ref=wa(e,n,a),l.return=e,e=l)}return s(e);case k:e:{for(u=a.key;null!==n;){if(n.key===u){if(4===n.tag&&n.stateNode.containerInfo===a.containerInfo&&n.stateNode.implementation===a.implementation){r(e,n.sibling),(n=i(n,a.children||[])).return=e,e=n;break e}r(e,n);break}t(e,n),n=n.sibling}(n=Xl(a,e.mode,l)).return=e,e=n}return s(e)}if(\"string\"==typeof a||\"number\"==typeof a)return a=\"\"+a,null!==n&&6===n.tag?(r(e,n.sibling),(n=i(n,a)).return=e,e=n):(r(e,n),(n=Zl(a,e.mode,l)).return=e,e=n),s(e);if(_a(a))return v(e,n,a,l);if(V(a))return g(e,n,a,l);if(c&&ka(e,a),void 0===a&&!u)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(o(152,W(e.type)||\"Component\"))}return r(e,n)}}var Ma=Ta(!0),Aa=Ta(!1),Sa={},Ea=li(Sa),Ca=li(Sa),La=li(Sa);function Pa(e){if(e===Sa)throw Error(o(174));return e}function Oa(e,t){switch(ci(La,t),ci(Ca,e),ci(Ea,Sa),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:pe(null,\"\");break;default:t=pe(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ui(Ea),ci(Ea,t)}function Ia(){ui(Ea),ui(Ca),ui(La)}function Da(e){Pa(La.current);var t=Pa(Ea.current),r=pe(t,e.type);t!==r&&(ci(Ca,e),ci(Ea,r))}function za(e){Ca.current===e&&(ui(Ea),ui(Ca))}var Ra=li(0);function Fa(e){for(var t=e;null!==t;){if(13===t.tag){var r=t.memoizedState;if(null!==r&&(null===(r=r.dehydrated)||\"$?\"===r.data||\"$!\"===r.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Ba=null,Na=null,ja=!1;function Ua(e,t){var r=Vl(5,null,null,0);r.elementType=\"DELETED\",r.type=\"DELETED\",r.stateNode=t,r.return=e,r.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=r,e.lastEffect=r):e.firstEffect=e.lastEffect=r}function Va(e,t){switch(e.tag){case 5:var r=e.type;return null!==(t=1!==t.nodeType||r.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=\"\"===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function Ha(e){if(ja){var t=Na;if(t){var r=t;if(!Va(e,t)){if(!(t=Wn(r.nextSibling))||!Va(e,t))return e.flags=-1025&e.flags|2,ja=!1,void(Ba=e);Ua(Ba,r)}Ba=e,Na=Wn(t.firstChild)}else e.flags=-1025&e.flags|2,ja=!1,Ba=e}}function qa(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Ba=e}function Ga(e){if(e!==Ba)return!1;if(!ja)return qa(e),ja=!0,!1;var t=e.type;if(5!==e.tag||\"head\"!==t&&\"body\"!==t&&!Hn(t,e.memoizedProps))for(t=Na;t;)Ua(e,t),t=Wn(t.nextSibling);if(qa(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var r=e.data;if(\"/$\"===r){if(0===t){Na=Wn(e.nextSibling);break e}t--}else\"$\"!==r&&\"$!\"!==r&&\"$?\"!==r||t++}e=e.nextSibling}Na=null}}else Na=Ba?Wn(e.stateNode.nextSibling):null;return!0}function Ya(){Na=Ba=null,ja=!1}var Wa=[];function Za(){for(var e=0;e<Wa.length;e++)Wa[e]._workInProgressVersionPrimary=null;Wa.length=0}var Xa=_.ReactCurrentDispatcher,Ka=_.ReactCurrentBatchConfig,Ja=0,$a=null,Qa=null,eo=null,to=!1,ro=!1;function no(){throw Error(o(321))}function io(e,t){if(null===t)return!1;for(var r=0;r<t.length&&r<e.length;r++)if(!un(e[r],t[r]))return!1;return!0}function ao(e,t,r,n,i,a){if(Ja=a,$a=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Xa.current=null===e||null===e.memoizedState?Oo:Io,e=r(n,i),ro){a=0;do{if(ro=!1,!(25>a))throw Error(o(301));a+=1,eo=Qa=null,t.updateQueue=null,Xa.current=Do,e=r(n,i)}while(ro)}if(Xa.current=Po,t=null!==Qa&&null!==Qa.next,Ja=0,eo=Qa=$a=null,to=!1,t)throw Error(o(300));return e}function oo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===eo?$a.memoizedState=eo=e:eo=eo.next=e,eo}function so(){if(null===Qa){var e=$a.alternate;e=null!==e?e.memoizedState:null}else e=Qa.next;var t=null===eo?$a.memoizedState:eo.next;if(null!==t)eo=t,Qa=e;else{if(null===e)throw Error(o(310));e={memoizedState:(Qa=e).memoizedState,baseState:Qa.baseState,baseQueue:Qa.baseQueue,queue:Qa.queue,next:null},null===eo?$a.memoizedState=eo=e:eo=eo.next=e}return eo}function lo(e,t){return\"function\"==typeof t?t(e):t}function uo(e){var t=so(),r=t.queue;if(null===r)throw Error(o(311));r.lastRenderedReducer=e;var n=Qa,i=n.baseQueue,a=r.pending;if(null!==a){if(null!==i){var s=i.next;i.next=a.next,a.next=s}n.baseQueue=i=a,r.pending=null}if(null!==i){i=i.next,n=n.baseState;var l=s=a=null,u=i;do{var c=u.lane;if((Ja&c)===c)null!==l&&(l=l.next={lane:0,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null}),n=u.eagerReducer===e?u.eagerState:e(n,u.action);else{var f={lane:c,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null};null===l?(s=l=f,a=n):l=l.next=f,$a.lanes|=c,Ns|=c}u=u.next}while(null!==u&&u!==i);null===l?a=n:l.next=s,un(n,t.memoizedState)||(Ro=!0),t.memoizedState=n,t.baseState=a,t.baseQueue=l,r.lastRenderedState=n}return[t.memoizedState,r.dispatch]}function co(e){var t=so(),r=t.queue;if(null===r)throw Error(o(311));r.lastRenderedReducer=e;var n=r.dispatch,i=r.pending,a=t.memoizedState;if(null!==i){r.pending=null;var s=i=i.next;do{a=e(a,s.action),s=s.next}while(s!==i);un(a,t.memoizedState)||(Ro=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),r.lastRenderedState=a}return[a,n]}function fo(e,t,r){var n=t._getVersion;n=n(t._source);var i=t._workInProgressVersionPrimary;if(null!==i?e=i===n:(e=e.mutableReadLanes,(e=(Ja&e)===e)&&(t._workInProgressVersionPrimary=n,Wa.push(t))),e)return r(t._source);throw Wa.push(t),Error(o(350))}function ho(e,t,r,n){var i=Ps;if(null===i)throw Error(o(349));var a=t._getVersion,s=a(t._source),l=Xa.current,u=l.useState((function(){return fo(i,t,r)})),c=u[1],f=u[0];u=eo;var h=e.memoizedState,p=h.refs,d=p.getSnapshot,v=h.source;h=h.subscribe;var g=$a;return e.memoizedState={refs:p,source:t,subscribe:n},l.useEffect((function(){p.getSnapshot=r,p.setSnapshot=c;var e=a(t._source);if(!un(s,e)){e=r(t._source),un(f,e)||(c(e),e=fl(g),i.mutableReadLanes|=e&i.pendingLanes),e=i.mutableReadLanes,i.entangledLanes|=e;for(var n=i.entanglements,o=e;0<o;){var l=31-Ht(o),u=1<<l;n[l]|=e,o&=~u}}}),[r,t,n]),l.useEffect((function(){return n(t._source,(function(){var e=p.getSnapshot,r=p.setSnapshot;try{r(e(t._source));var n=fl(g);i.mutableReadLanes|=n&i.pendingLanes}catch(e){r((function(){throw e}))}}))}),[t,n]),un(d,r)&&un(v,t)&&un(h,n)||((e={pending:null,dispatch:null,lastRenderedReducer:lo,lastRenderedState:f}).dispatch=c=Lo.bind(null,$a,e),u.queue=e,u.baseQueue=null,f=fo(i,t,r),u.memoizedState=u.baseState=f),f}function po(e,t,r){return ho(so(),e,t,r)}function vo(e){var t=oo();return\"function\"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:lo,lastRenderedState:e}).dispatch=Lo.bind(null,$a,e),[t.memoizedState,e]}function go(e,t,r,n){return e={tag:e,create:t,destroy:r,deps:n,next:null},null===(t=$a.updateQueue)?(t={lastEffect:null},$a.updateQueue=t,t.lastEffect=e.next=e):null===(r=t.lastEffect)?t.lastEffect=e.next=e:(n=r.next,r.next=e,e.next=n,t.lastEffect=e),e}function mo(e){return e={current:e},oo().memoizedState=e}function yo(){return so().memoizedState}function xo(e,t,r,n){var i=oo();$a.flags|=e,i.memoizedState=go(1|t,r,void 0,void 0===n?null:n)}function bo(e,t,r,n){var i=so();n=void 0===n?null:n;var a=void 0;if(null!==Qa){var o=Qa.memoizedState;if(a=o.destroy,null!==n&&io(n,o.deps))return void go(t,r,a,n)}$a.flags|=e,i.memoizedState=go(1|t,r,a,n)}function _o(e,t){return xo(516,4,e,t)}function wo(e,t){return bo(516,4,e,t)}function ko(e,t){return bo(4,2,e,t)}function To(e,t){return\"function\"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Mo(e,t,r){return r=null!=r?r.concat([e]):null,bo(4,2,To.bind(null,t,e),r)}function Ao(){}function So(e,t){var r=so();t=void 0===t?null:t;var n=r.memoizedState;return null!==n&&null!==t&&io(t,n[1])?n[0]:(r.memoizedState=[e,t],e)}function Eo(e,t){var r=so();t=void 0===t?null:t;var n=r.memoizedState;return null!==n&&null!==t&&io(t,n[1])?n[0]:(e=e(),r.memoizedState=[e,t],e)}function Co(e,t){var r=Hi();Gi(98>r?98:r,(function(){e(!0)})),Gi(97<r?97:r,(function(){var r=Ka.transition;Ka.transition=1;try{e(!1),t()}finally{Ka.transition=r}}))}function Lo(e,t,r){var n=cl(),i=fl(e),a={lane:i,action:r,eagerReducer:null,eagerState:null,next:null},o=t.pending;if(null===o?a.next=a:(a.next=o.next,o.next=a),t.pending=a,o=e.alternate,e===$a||null!==o&&o===$a)ro=to=!0;else{if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var s=t.lastRenderedState,l=o(s,r);if(a.eagerReducer=o,a.eagerState=l,un(l,s))return}catch(e){}hl(e,i,n)}}var Po={readContext:aa,useCallback:no,useContext:no,useEffect:no,useImperativeHandle:no,useLayoutEffect:no,useMemo:no,useReducer:no,useRef:no,useState:no,useDebugValue:no,useDeferredValue:no,useTransition:no,useMutableSource:no,useOpaqueIdentifier:no,unstable_isNewReconciler:!1},Oo={readContext:aa,useCallback:function(e,t){return oo().memoizedState=[e,void 0===t?null:t],e},useContext:aa,useEffect:_o,useImperativeHandle:function(e,t,r){return r=null!=r?r.concat([e]):null,xo(4,2,To.bind(null,t,e),r)},useLayoutEffect:function(e,t){return xo(4,2,e,t)},useMemo:function(e,t){var r=oo();return t=void 0===t?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=oo();return t=void 0!==r?r(t):t,n.memoizedState=n.baseState=t,e=(e=n.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Lo.bind(null,$a,e),[n.memoizedState,e]},useRef:mo,useState:vo,useDebugValue:Ao,useDeferredValue:function(e){var t=vo(e),r=t[0],n=t[1];return _o((function(){var t=Ka.transition;Ka.transition=1;try{n(e)}finally{Ka.transition=t}}),[e]),r},useTransition:function(){var e=vo(!1),t=e[0];return mo(e=Co.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,r){var n=oo();return n.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:r},ho(n,e,t,r)},useOpaqueIdentifier:function(){if(ja){var e=!1,t=function(e){return{$$typeof:z,toString:e,valueOf:e}}((function(){throw e||(e=!0,r(\"r:\"+(Xn++).toString(36))),Error(o(355))})),r=vo(t)[1];return 0==(2&$a.mode)&&($a.flags|=516,go(5,(function(){r(\"r:\"+(Xn++).toString(36))}),void 0,null)),t}return vo(t=\"r:\"+(Xn++).toString(36)),t},unstable_isNewReconciler:!1},Io={readContext:aa,useCallback:So,useContext:aa,useEffect:wo,useImperativeHandle:Mo,useLayoutEffect:ko,useMemo:Eo,useReducer:uo,useRef:yo,useState:function(){return uo(lo)},useDebugValue:Ao,useDeferredValue:function(e){var t=uo(lo),r=t[0],n=t[1];return wo((function(){var t=Ka.transition;Ka.transition=1;try{n(e)}finally{Ka.transition=t}}),[e]),r},useTransition:function(){var e=uo(lo)[0];return[yo().current,e]},useMutableSource:po,useOpaqueIdentifier:function(){return uo(lo)[0]},unstable_isNewReconciler:!1},Do={readContext:aa,useCallback:So,useContext:aa,useEffect:wo,useImperativeHandle:Mo,useLayoutEffect:ko,useMemo:Eo,useReducer:co,useRef:yo,useState:function(){return co(lo)},useDebugValue:Ao,useDeferredValue:function(e){var t=co(lo),r=t[0],n=t[1];return wo((function(){var t=Ka.transition;Ka.transition=1;try{n(e)}finally{Ka.transition=t}}),[e]),r},useTransition:function(){var e=co(lo)[0];return[yo().current,e]},useMutableSource:po,useOpaqueIdentifier:function(){return co(lo)[0]},unstable_isNewReconciler:!1},zo=_.ReactCurrentOwner,Ro=!1;function Fo(e,t,r,n){t.child=null===e?Aa(t,null,r,n):Ma(t,e.child,r,n)}function Bo(e,t,r,n,i){r=r.render;var a=t.ref;return ia(t,i),n=ao(e,t,r,n,a,i),null===e||Ro?(t.flags|=1,Fo(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~i,ns(e,t,i))}function No(e,t,r,n,i,a){if(null===e){var o=r.type;return\"function\"!=typeof o||Hl(o)||void 0!==o.defaultProps||null!==r.compare||void 0!==r.defaultProps?((e=Gl(r.type,null,n,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,jo(e,t,o,n,i,a))}return o=e.child,0==(i&a)&&(i=o.memoizedProps,(r=null!==(r=r.compare)?r:fn)(i,n)&&e.ref===t.ref)?ns(e,t,a):(t.flags|=1,(e=ql(o,n)).ref=t.ref,e.return=t,t.child=e)}function jo(e,t,r,n,i,a){if(null!==e&&fn(e.memoizedProps,n)&&e.ref===t.ref){if(Ro=!1,0==(a&i))return t.lanes=e.lanes,ns(e,t,a);0!=(16384&e.flags)&&(Ro=!0)}return Ho(e,t,r,n,a)}function Uo(e,t,r){var n=t.pendingProps,i=n.children,a=null!==e?e.memoizedState:null;if(\"hidden\"===n.mode||\"unstable-defer-without-hiding\"===n.mode)if(0==(4&t.mode))t.memoizedState={baseLanes:0},bl(0,r);else{if(0==(1073741824&r))return e=null!==a?a.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},bl(0,e),null;t.memoizedState={baseLanes:0},bl(0,null!==a?a.baseLanes:r)}else null!==a?(n=a.baseLanes|r,t.memoizedState=null):n=r,bl(0,n);return Fo(e,t,i,r),t.child}function Vo(e,t){var r=t.ref;(null===e&&null!==r||null!==e&&e.ref!==r)&&(t.flags|=128)}function Ho(e,t,r,n,i){var a=gi(r)?di:hi.current;return a=vi(t,a),ia(t,i),r=ao(e,t,r,n,a,i),null===e||Ro?(t.flags|=1,Fo(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~i,ns(e,t,i))}function qo(e,t,r,n,i){if(gi(r)){var a=!0;bi(t)}else a=!1;if(ia(t,i),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),ya(t,r,n),ba(t,r,n,i),n=!0;else if(null===e){var o=t.stateNode,s=t.memoizedProps;o.props=s;var l=o.context,u=r.contextType;u=\"object\"==typeof u&&null!==u?aa(u):vi(t,u=gi(r)?di:hi.current);var c=r.getDerivedStateFromProps,f=\"function\"==typeof c||\"function\"==typeof o.getSnapshotBeforeUpdate;f||\"function\"!=typeof o.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof o.componentWillReceiveProps||(s!==n||l!==u)&&xa(t,o,n,u),oa=!1;var h=t.memoizedState;o.state=h,ha(t,n,o,i),l=t.memoizedState,s!==n||h!==l||pi.current||oa?(\"function\"==typeof c&&(va(t,r,c,n),l=t.memoizedState),(s=oa||ma(t,r,s,n,h,l,u))?(f||\"function\"!=typeof o.UNSAFE_componentWillMount&&\"function\"!=typeof o.componentWillMount||(\"function\"==typeof o.componentWillMount&&o.componentWillMount(),\"function\"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),\"function\"==typeof o.componentDidMount&&(t.flags|=4)):(\"function\"==typeof o.componentDidMount&&(t.flags|=4),t.memoizedProps=n,t.memoizedState=l),o.props=n,o.state=l,o.context=u,n=s):(\"function\"==typeof o.componentDidMount&&(t.flags|=4),n=!1)}else{o=t.stateNode,la(e,t),s=t.memoizedProps,u=t.type===t.elementType?s:Ki(t.type,s),o.props=u,f=t.pendingProps,h=o.context,l=\"object\"==typeof(l=r.contextType)&&null!==l?aa(l):vi(t,l=gi(r)?di:hi.current);var p=r.getDerivedStateFromProps;(c=\"function\"==typeof p||\"function\"==typeof o.getSnapshotBeforeUpdate)||\"function\"!=typeof o.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof o.componentWillReceiveProps||(s!==f||h!==l)&&xa(t,o,n,l),oa=!1,h=t.memoizedState,o.state=h,ha(t,n,o,i);var d=t.memoizedState;s!==f||h!==d||pi.current||oa?(\"function\"==typeof p&&(va(t,r,p,n),d=t.memoizedState),(u=oa||ma(t,r,u,n,h,d,l))?(c||\"function\"!=typeof o.UNSAFE_componentWillUpdate&&\"function\"!=typeof o.componentWillUpdate||(\"function\"==typeof o.componentWillUpdate&&o.componentWillUpdate(n,d,l),\"function\"==typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(n,d,l)),\"function\"==typeof o.componentDidUpdate&&(t.flags|=4),\"function\"==typeof o.getSnapshotBeforeUpdate&&(t.flags|=256)):(\"function\"!=typeof o.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),\"function\"!=typeof o.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=256),t.memoizedProps=n,t.memoizedState=d),o.props=n,o.state=d,o.context=l,n=u):(\"function\"!=typeof o.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),\"function\"!=typeof o.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=256),n=!1)}return Go(e,t,r,n,a,i)}function Go(e,t,r,n,i,a){Vo(e,t);var o=0!=(64&t.flags);if(!n&&!o)return i&&_i(t,r,!1),ns(e,t,a);n=t.stateNode,zo.current=t;var s=o&&\"function\"!=typeof r.getDerivedStateFromError?null:n.render();return t.flags|=1,null!==e&&o?(t.child=Ma(t,e.child,null,a),t.child=Ma(t,null,s,a)):Fo(e,t,s,a),t.memoizedState=n.state,i&&_i(t,r,!0),t.child}function Yo(e){var t=e.stateNode;t.pendingContext?yi(0,t.pendingContext,t.pendingContext!==t.context):t.context&&yi(0,t.context,!1),Oa(e,t.containerInfo)}var Wo,Zo,Xo,Ko,Jo={dehydrated:null,retryLane:0};function $o(e,t,r){var n,i=t.pendingProps,a=Ra.current,o=!1;return(n=0!=(64&t.flags))||(n=(null===e||null!==e.memoizedState)&&0!=(2&a)),n?(o=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===i.fallback||!0===i.unstable_avoidThisFallback||(a|=1),ci(Ra,1&a),null===e?(void 0!==i.fallback&&Ha(t),e=i.children,a=i.fallback,o?(e=Qo(t,e,a,r),t.child.memoizedState={baseLanes:r},t.memoizedState=Jo,e):\"number\"==typeof i.unstable_expectedLoadTime?(e=Qo(t,e,a,r),t.child.memoizedState={baseLanes:r},t.memoizedState=Jo,t.lanes=33554432,e):((r=Wl({mode:\"visible\",children:e},t.mode,r,null)).return=t,t.child=r)):(e.memoizedState,o?(i=function(e,t,r,n,i){var a=t.mode,o=e.child;e=o.sibling;var s={mode:\"hidden\",children:r};return 0==(2&a)&&t.child!==o?((r=t.child).childLanes=0,r.pendingProps=s,null!==(o=r.lastEffect)?(t.firstEffect=r.firstEffect,t.lastEffect=o,o.nextEffect=null):t.firstEffect=t.lastEffect=null):r=ql(o,s),null!==e?n=ql(e,n):(n=Yl(n,a,i,null)).flags|=2,n.return=t,r.return=t,r.sibling=n,t.child=r,n}(e,t,i.children,i.fallback,r),o=t.child,a=e.child.memoizedState,o.memoizedState=null===a?{baseLanes:r}:{baseLanes:a.baseLanes|r},o.childLanes=e.childLanes&~r,t.memoizedState=Jo,i):(r=function(e,t,r,n){var i=e.child;return e=i.sibling,r=ql(i,{mode:\"visible\",children:r}),0==(2&t.mode)&&(r.lanes=n),r.return=t,r.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=r}(e,t,i.children,r),t.memoizedState=null,r))}function Qo(e,t,r,n){var i=e.mode,a=e.child;return t={mode:\"hidden\",children:t},0==(2&i)&&null!==a?(a.childLanes=0,a.pendingProps=t):a=Wl(t,i,0,null),r=Yl(r,i,n,null),a.return=e,r.return=e,a.sibling=r,e.child=a,r}function es(e,t){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),na(e.return,t)}function ts(e,t,r,n,i,a){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:r,tailMode:i,lastEffect:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=n,o.tail=r,o.tailMode=i,o.lastEffect=a)}function rs(e,t,r){var n=t.pendingProps,i=n.revealOrder,a=n.tail;if(Fo(e,t,n.children,r),0!=(2&(n=Ra.current)))n=1&n|2,t.flags|=64;else{if(null!==e&&0!=(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&es(e,r);else if(19===e.tag)es(e,r);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(ci(Ra,n),0==(2&t.mode))t.memoizedState=null;else switch(i){case\"forwards\":for(r=t.child,i=null;null!==r;)null!==(e=r.alternate)&&null===Fa(e)&&(i=r),r=r.sibling;null===(r=i)?(i=t.child,t.child=null):(i=r.sibling,r.sibling=null),ts(t,!1,i,r,a,t.lastEffect);break;case\"backwards\":for(r=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===Fa(e)){t.child=i;break}e=i.sibling,i.sibling=r,r=i,i=e}ts(t,!0,r,null,a,t.lastEffect);break;case\"together\":ts(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function ns(e,t,r){if(null!==e&&(t.dependencies=e.dependencies),Ns|=t.lanes,0!=(r&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(r=ql(e=t.child,e.pendingProps),t.child=r,r.return=t;null!==e.sibling;)e=e.sibling,(r=r.sibling=ql(e,e.pendingProps)).return=t;r.sibling=null}return t.child}return null}function is(e,t){if(!ja)switch(e.tailMode){case\"hidden\":t=e.tail;for(var r=null;null!==t;)null!==t.alternate&&(r=t),t=t.sibling;null===r?e.tail=null:r.sibling=null;break;case\"collapsed\":r=e.tail;for(var n=null;null!==r;)null!==r.alternate&&(n=r),r=r.sibling;null===n?t||null===e.tail?e.tail=null:e.tail.sibling=null:n.sibling=null}}function as(e,t,r){var n=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:case 17:return gi(t.type)&&mi(),null;case 3:return Ia(),ui(pi),ui(hi),Za(),(n=t.stateNode).pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||(Ga(t)?t.flags|=4:n.hydrate||(t.flags|=256)),Zo(t),null;case 5:za(t);var a=Pa(La.current);if(r=t.type,null!==e&&null!=t.stateNode)Xo(e,t,r,n,a),e.ref!==t.ref&&(t.flags|=128);else{if(!n){if(null===t.stateNode)throw Error(o(166));return null}if(e=Pa(Ea.current),Ga(t)){n=t.stateNode,r=t.type;var s=t.memoizedProps;switch(n[Jn]=t,n[$n]=s,r){case\"dialog\":Cn(\"cancel\",n),Cn(\"close\",n);break;case\"iframe\":case\"object\":case\"embed\":Cn(\"load\",n);break;case\"video\":case\"audio\":for(e=0;e<Mn.length;e++)Cn(Mn[e],n);break;case\"source\":Cn(\"error\",n);break;case\"img\":case\"image\":case\"link\":Cn(\"error\",n),Cn(\"load\",n);break;case\"details\":Cn(\"toggle\",n);break;case\"input\":ee(n,s),Cn(\"invalid\",n);break;case\"select\":n._wrapperState={wasMultiple:!!s.multiple},Cn(\"invalid\",n);break;case\"textarea\":le(n,s),Cn(\"invalid\",n)}for(var u in ke(r,s),e=null,s)s.hasOwnProperty(u)&&(a=s[u],\"children\"===u?\"string\"==typeof a?n.textContent!==a&&(e=[\"children\",a]):\"number\"==typeof a&&n.textContent!==\"\"+a&&(e=[\"children\",\"\"+a]):l.hasOwnProperty(u)&&null!=a&&\"onScroll\"===u&&Cn(\"scroll\",n));switch(r){case\"input\":K(n),ne(n,s,!0);break;case\"textarea\":K(n),ce(n);break;case\"select\":case\"option\":break;default:\"function\"==typeof s.onClick&&(n.onclick=Nn)}n=e,t.updateQueue=n,null!==n&&(t.flags|=4)}else{switch(u=9===a.nodeType?a:a.ownerDocument,e===fe.html&&(e=he(r)),e===fe.html?\"script\"===r?((e=u.createElement(\"div\")).innerHTML=\"<script><\\/script>\",e=e.removeChild(e.firstChild)):\"string\"==typeof n.is?e=u.createElement(r,{is:n.is}):(e=u.createElement(r),\"select\"===r&&(u=e,n.multiple?u.multiple=!0:n.size&&(u.size=n.size))):e=u.createElementNS(e,r),e[Jn]=t,e[$n]=n,Wo(e,t,!1,!1),t.stateNode=e,u=Te(r,n),r){case\"dialog\":Cn(\"cancel\",e),Cn(\"close\",e),a=n;break;case\"iframe\":case\"object\":case\"embed\":Cn(\"load\",e),a=n;break;case\"video\":case\"audio\":for(a=0;a<Mn.length;a++)Cn(Mn[a],e);a=n;break;case\"source\":Cn(\"error\",e),a=n;break;case\"img\":case\"image\":case\"link\":Cn(\"error\",e),Cn(\"load\",e),a=n;break;case\"details\":Cn(\"toggle\",e),a=n;break;case\"input\":ee(e,n),a=Q(e,n),Cn(\"invalid\",e);break;case\"option\":a=ae(e,n);break;case\"select\":e._wrapperState={wasMultiple:!!n.multiple},a=i({},n,{value:void 0}),Cn(\"invalid\",e);break;case\"textarea\":le(e,n),a=se(e,n),Cn(\"invalid\",e);break;default:a=n}ke(r,a);var c=a;for(s in c)if(c.hasOwnProperty(s)){var f=c[s];\"style\"===s?_e(e,f):\"dangerouslySetInnerHTML\"===s?null!=(f=f?f.__html:void 0)&&ge(e,f):\"children\"===s?\"string\"==typeof f?(\"textarea\"!==r||\"\"!==f)&&me(e,f):\"number\"==typeof f&&me(e,\"\"+f):\"suppressContentEditableWarning\"!==s&&\"suppressHydrationWarning\"!==s&&\"autoFocus\"!==s&&(l.hasOwnProperty(s)?null!=f&&\"onScroll\"===s&&Cn(\"scroll\",e):null!=f&&b(e,s,f,u))}switch(r){case\"input\":K(e),ne(e,n,!1);break;case\"textarea\":K(e),ce(e);break;case\"option\":null!=n.value&&e.setAttribute(\"value\",\"\"+Z(n.value));break;case\"select\":e.multiple=!!n.multiple,null!=(s=n.value)?oe(e,!!n.multiple,s,!1):null!=n.defaultValue&&oe(e,!!n.multiple,n.defaultValue,!0);break;default:\"function\"==typeof a.onClick&&(e.onclick=Nn)}Vn(r,n)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Ko(e,t,e.memoizedProps,n);else{if(\"string\"!=typeof n&&null===t.stateNode)throw Error(o(166));r=Pa(La.current),Pa(Ea.current),Ga(t)?(n=t.stateNode,r=t.memoizedProps,n[Jn]=t,n.nodeValue!==r&&(t.flags|=4)):((n=(9===r.nodeType?r:r.ownerDocument).createTextNode(n))[Jn]=t,t.stateNode=n)}return null;case 13:return ui(Ra),n=t.memoizedState,0!=(64&t.flags)?(t.lanes=r,t):(n=null!==n,r=!1,null===e?void 0!==t.memoizedProps.fallback&&Ga(t):r=null!==e.memoizedState,n&&!r&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Ra.current)?0===Rs&&(Rs=3):(0!==Rs&&3!==Rs||(Rs=4),null===Ps||0==(134217727&Ns)&&0==(134217727&js)||gl(Ps,Is))),(n||r)&&(t.flags|=4),null);case 4:return Ia(),Zo(t),null===e&&Pn(t.stateNode.containerInfo),null;case 10:return ra(t),null;case 19:if(ui(Ra),null===(n=t.memoizedState))return null;if(s=0!=(64&t.flags),null===(u=n.rendering))if(s)is(n,!1);else{if(0!==Rs||null!==e&&0!=(64&e.flags))for(e=t.child;null!==e;){if(null!==(u=Fa(e))){for(t.flags|=64,is(n,!1),null!==(s=u.updateQueue)&&(t.updateQueue=s,t.flags|=4),null===n.lastEffect&&(t.firstEffect=null),t.lastEffect=n.lastEffect,n=r,r=t.child;null!==r;)e=n,(s=r).flags&=2,s.nextEffect=null,s.firstEffect=null,s.lastEffect=null,null===(u=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=u.childLanes,s.lanes=u.lanes,s.child=u.child,s.memoizedProps=u.memoizedProps,s.memoizedState=u.memoizedState,s.updateQueue=u.updateQueue,s.type=u.type,e=u.dependencies,s.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),r=r.sibling;return ci(Ra,1&Ra.current|2),t.child}e=e.sibling}null!==n.tail&&Vi()>qs&&(t.flags|=64,s=!0,is(n,!1),t.lanes=33554432)}else{if(!s)if(null!==(e=Fa(u))){if(t.flags|=64,s=!0,null!==(r=e.updateQueue)&&(t.updateQueue=r,t.flags|=4),is(n,!0),null===n.tail&&\"hidden\"===n.tailMode&&!u.alternate&&!ja)return null!==(t=t.lastEffect=n.lastEffect)&&(t.nextEffect=null),null}else 2*Vi()-n.renderingStartTime>qs&&1073741824!==r&&(t.flags|=64,s=!0,is(n,!1),t.lanes=33554432);n.isBackwards?(u.sibling=t.child,t.child=u):(null!==(r=n.last)?r.sibling=u:t.child=u,n.last=u)}return null!==n.tail?(r=n.tail,n.rendering=r,n.tail=r.sibling,n.lastEffect=t.lastEffect,n.renderingStartTime=Vi(),r.sibling=null,t=Ra.current,ci(Ra,s?1&t|2:1&t),r):null;case 23:case 24:return _l(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&\"unstable-defer-without-hiding\"!==n.mode&&(t.flags|=4),null}throw Error(o(156,t.tag))}function os(e){switch(e.tag){case 1:gi(e.type)&&mi();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Ia(),ui(pi),ui(hi),Za(),0!=(64&(t=e.flags)))throw Error(o(285));return e.flags=-4097&t|64,e;case 5:return za(e),null;case 13:return ui(Ra),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return ui(Ra),null;case 4:return Ia(),null;case 10:return ra(e),null;case 23:case 24:return _l(),null;default:return null}}function ss(e,t){try{var r=\"\",n=t;do{r+=Y(n),n=n.return}while(n);var i=r}catch(e){i=\"\\nError generating stack: \"+e.message+\"\\n\"+e.stack}return{value:e,source:t,stack:i}}function ls(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}Wo=function(e,t){for(var r=t.child;null!==r;){if(5===r.tag||6===r.tag)e.appendChild(r.stateNode);else if(4!==r.tag&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===t)break;for(;null===r.sibling;){if(null===r.return||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}},Zo=function(){},Xo=function(e,t,r,n){var a=e.memoizedProps;if(a!==n){e=t.stateNode,Pa(Ea.current);var o,s=null;switch(r){case\"input\":a=Q(e,a),n=Q(e,n),s=[];break;case\"option\":a=ae(e,a),n=ae(e,n),s=[];break;case\"select\":a=i({},a,{value:void 0}),n=i({},n,{value:void 0}),s=[];break;case\"textarea\":a=se(e,a),n=se(e,n),s=[];break;default:\"function\"!=typeof a.onClick&&\"function\"==typeof n.onClick&&(e.onclick=Nn)}for(f in ke(r,n),r=null,a)if(!n.hasOwnProperty(f)&&a.hasOwnProperty(f)&&null!=a[f])if(\"style\"===f){var u=a[f];for(o in u)u.hasOwnProperty(o)&&(r||(r={}),r[o]=\"\")}else\"dangerouslySetInnerHTML\"!==f&&\"children\"!==f&&\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(l.hasOwnProperty(f)?s||(s=[]):(s=s||[]).push(f,null));for(f in n){var c=n[f];if(u=null!=a?a[f]:void 0,n.hasOwnProperty(f)&&c!==u&&(null!=c||null!=u))if(\"style\"===f)if(u){for(o in u)!u.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(r||(r={}),r[o]=\"\");for(o in c)c.hasOwnProperty(o)&&u[o]!==c[o]&&(r||(r={}),r[o]=c[o])}else r||(s||(s=[]),s.push(f,r)),r=c;else\"dangerouslySetInnerHTML\"===f?(c=c?c.__html:void 0,u=u?u.__html:void 0,null!=c&&u!==c&&(s=s||[]).push(f,c)):\"children\"===f?\"string\"!=typeof c&&\"number\"!=typeof c||(s=s||[]).push(f,\"\"+c):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&(l.hasOwnProperty(f)?(null!=c&&\"onScroll\"===f&&Cn(\"scroll\",e),s||u===c||(s=[])):\"object\"==typeof c&&null!==c&&c.$$typeof===z?c.toString():(s=s||[]).push(f,c))}r&&(s=s||[]).push(\"style\",r);var f=s;(t.updateQueue=f)&&(t.flags|=4)}},Ko=function(e,t,r,n){r!==n&&(t.flags|=4)};var us=\"function\"==typeof WeakMap?WeakMap:Map;function cs(e,t,r){(r=ua(-1,r)).tag=3,r.payload={element:null};var n=t.value;return r.callback=function(){Zs||(Zs=!0,Xs=n),ls(0,t)},r}function fs(e,t,r){(r=ua(-1,r)).tag=3;var n=e.type.getDerivedStateFromError;if(\"function\"==typeof n){var i=t.value;r.payload=function(){return ls(0,t),n(i)}}var a=e.stateNode;return null!==a&&\"function\"==typeof a.componentDidCatch&&(r.callback=function(){\"function\"!=typeof n&&(null===Ks?Ks=new Set([this]):Ks.add(this),ls(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:\"\"})}),r}var hs=\"function\"==typeof WeakSet?WeakSet:Set;function ps(e){var t=e.ref;if(null!==t)if(\"function\"==typeof t)try{t(null)}catch(t){Bl(e,t)}else t.current=null}function ds(e,t){switch(t.tag){case 0:case 11:case 15:case 22:case 5:case 6:case 4:case 17:return;case 1:if(256&t.flags&&null!==e){var r=e.memoizedProps,n=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?r:Ki(t.type,r),n),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Yn(t.stateNode.containerInfo))}throw Error(o(163))}function vs(e,t,r){switch(r.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=r.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3==(3&e.tag)){var n=e.create;e.destroy=n()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=r.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var i=e;n=i.next,0!=(4&(i=i.tag))&&0!=(1&i)&&(zl(r,e),Dl(r,e)),e=n}while(e!==t)}return;case 1:return e=r.stateNode,4&r.flags&&(null===t?e.componentDidMount():(n=r.elementType===r.type?t.memoizedProps:Ki(r.type,t.memoizedProps),e.componentDidUpdate(n,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=r.updateQueue)&&pa(r,t,e));case 3:if(null!==(t=r.updateQueue)){if(e=null,null!==r.child)switch(r.child.tag){case 5:case 1:e=r.child.stateNode}pa(r,t,e)}return;case 5:return e=r.stateNode,void(null===t&&4&r.flags&&Vn(r.type,r.memoizedProps)&&e.focus());case 6:case 4:case 12:case 19:case 17:case 20:case 21:case 23:case 24:return;case 13:return void(null===r.memoizedState&&(r=r.alternate,null!==r&&(r=r.memoizedState,null!==r&&(r=r.dehydrated,null!==r&&_t(r)))))}throw Error(o(163))}function gs(e,t){for(var r=e;;){if(5===r.tag){var n=r.stateNode;if(t)\"function\"==typeof(n=n.style).setProperty?n.setProperty(\"display\",\"none\",\"important\"):n.display=\"none\";else{n=r.stateNode;var i=r.memoizedProps.style;i=null!=i&&i.hasOwnProperty(\"display\")?i.display:null,n.style.display=be(\"display\",i)}}else if(6===r.tag)r.stateNode.nodeValue=t?\"\":r.memoizedProps;else if((23!==r.tag&&24!==r.tag||null===r.memoizedState||r===e)&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===e)break;for(;null===r.sibling;){if(null===r.return||r.return===e)return;r=r.return}r.sibling.return=r.return,r=r.sibling}}function ms(e,t){if(ki&&\"function\"==typeof ki.onCommitFiberUnmount)try{ki.onCommitFiberUnmount(wi,t)}catch(e){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var r=e=e.next;do{var n=r,i=n.destroy;if(n=n.tag,void 0!==i)if(0!=(4&n))zl(t,r);else{n=t;try{i()}catch(e){Bl(n,e)}}r=r.next}while(r!==e)}break;case 1:if(ps(t),\"function\"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(e){Bl(t,e)}break;case 5:ps(t);break;case 4:ks(e,t)}}function ys(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function xs(e){return 5===e.tag||3===e.tag||4===e.tag}function bs(e){e:{for(var t=e.return;null!==t;){if(xs(t))break e;t=t.return}throw Error(o(160))}var r=t;switch(t=r.stateNode,r.tag){case 5:var n=!1;break;case 3:case 4:t=t.containerInfo,n=!0;break;default:throw Error(o(161))}16&r.flags&&(me(t,\"\"),r.flags&=-17);e:t:for(r=e;;){for(;null===r.sibling;){if(null===r.return||xs(r.return)){r=null;break e}r=r.return}for(r.sibling.return=r.return,r=r.sibling;5!==r.tag&&6!==r.tag&&18!==r.tag;){if(2&r.flags)continue t;if(null===r.child||4===r.tag)continue t;r.child.return=r,r=r.child}if(!(2&r.flags)){r=r.stateNode;break e}}n?_s(e,r,t):ws(e,r,t)}function _s(e,t,r){var n=e.tag,i=5===n||6===n;if(i)e=i?e.stateNode:e.stateNode.instance,t?8===r.nodeType?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(8===r.nodeType?(t=r.parentNode).insertBefore(e,r):(t=r).appendChild(e),null!=(r=r._reactRootContainer)||null!==t.onclick||(t.onclick=Nn));else if(4!==n&&null!==(e=e.child))for(_s(e,t,r),e=e.sibling;null!==e;)_s(e,t,r),e=e.sibling}function ws(e,t,r){var n=e.tag,i=5===n||6===n;if(i)e=i?e.stateNode:e.stateNode.instance,t?r.insertBefore(e,t):r.appendChild(e);else if(4!==n&&null!==(e=e.child))for(ws(e,t,r),e=e.sibling;null!==e;)ws(e,t,r),e=e.sibling}function ks(e,t){for(var r,n,i=t,a=!1;;){if(!a){a=i.return;e:for(;;){if(null===a)throw Error(o(160));switch(r=a.stateNode,a.tag){case 5:n=!1;break e;case 3:case 4:r=r.containerInfo,n=!0;break e}a=a.return}a=!0}if(5===i.tag||6===i.tag){e:for(var s=e,l=i,u=l;;)if(ms(s,u),null!==u.child&&4!==u.tag)u.child.return=u,u=u.child;else{if(u===l)break e;for(;null===u.sibling;){if(null===u.return||u.return===l)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}n?(s=r,l=i.stateNode,8===s.nodeType?s.parentNode.removeChild(l):s.removeChild(l)):r.removeChild(i.stateNode)}else if(4===i.tag){if(null!==i.child){r=i.stateNode.containerInfo,n=!0,i.child.return=i,i=i.child;continue}}else if(ms(e,i),null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)return;4===(i=i.return).tag&&(a=!1)}i.sibling.return=i.return,i=i.sibling}}function Ts(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var n=r=r.next;do{3==(3&n.tag)&&(e=n.destroy,n.destroy=void 0,void 0!==e&&e()),n=n.next}while(n!==r)}return;case 1:case 12:case 17:return;case 5:if(null!=(r=t.stateNode)){n=t.memoizedProps;var i=null!==e?e.memoizedProps:n;e=t.type;var a=t.updateQueue;if(t.updateQueue=null,null!==a){for(r[$n]=n,\"input\"===e&&\"radio\"===n.type&&null!=n.name&&te(r,n),Te(e,i),t=Te(e,n),i=0;i<a.length;i+=2){var s=a[i],l=a[i+1];\"style\"===s?_e(r,l):\"dangerouslySetInnerHTML\"===s?ge(r,l):\"children\"===s?me(r,l):b(r,s,l,t)}switch(e){case\"input\":re(r,n);break;case\"textarea\":ue(r,n);break;case\"select\":e=r._wrapperState.wasMultiple,r._wrapperState.wasMultiple=!!n.multiple,null!=(a=n.value)?oe(r,!!n.multiple,a,!1):e!==!!n.multiple&&(null!=n.defaultValue?oe(r,!!n.multiple,n.defaultValue,!0):oe(r,!!n.multiple,n.multiple?[]:\"\",!1))}}}return;case 6:if(null===t.stateNode)throw Error(o(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((r=t.stateNode).hydrate&&(r.hydrate=!1,_t(r.containerInfo)));case 13:return null!==t.memoizedState&&(Hs=Vi(),gs(t.child,!0)),void Ms(t);case 19:return void Ms(t);case 23:case 24:return void gs(t,null!==t.memoizedState)}throw Error(o(163))}function Ms(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var r=e.stateNode;null===r&&(r=e.stateNode=new hs),t.forEach((function(t){var n=jl.bind(null,e,t);r.has(t)||(r.add(t),t.then(n,n))}))}}function As(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&null!==(t=t.memoizedState)&&null===t.dehydrated}var Ss=Math.ceil,Es=_.ReactCurrentDispatcher,Cs=_.ReactCurrentOwner,Ls=0,Ps=null,Os=null,Is=0,Ds=0,zs=li(0),Rs=0,Fs=null,Bs=0,Ns=0,js=0,Us=0,Vs=null,Hs=0,qs=1/0;function Gs(){qs=Vi()+500}var Ys,Ws=null,Zs=!1,Xs=null,Ks=null,Js=!1,$s=null,Qs=90,el=[],tl=[],rl=null,nl=0,il=null,al=-1,ol=0,sl=0,ll=null,ul=!1;function cl(){return 0!=(48&Ls)?Vi():-1!==al?al:al=Vi()}function fl(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===Hi()?1:2;if(0===ol&&(ol=Bs),0!==Xi.transition){0!==sl&&(sl=null!==Vs?Vs.pendingLanes:0),e=ol;var t=4186112&~sl;return 0==(t&=-t)&&0==(t=(e=4186112&~e)&-e)&&(t=8192),t}return e=Hi(),e=Nt(0!=(4&Ls)&&98===e?12:e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),ol)}function hl(e,t,r){if(50<nl)throw nl=0,il=null,Error(o(185));if(null===(e=pl(e,t)))return null;Vt(e,t,r),e===Ps&&(js|=t,4===Rs&&gl(e,Is));var n=Hi();1===t?0!=(8&Ls)&&0==(48&Ls)?ml(e):(dl(e,r),0===Ls&&(Gs(),Wi())):(0==(4&Ls)||98!==n&&99!==n||(null===rl?rl=new Set([e]):rl.add(e)),dl(e,r)),Vs=e}function pl(e,t){e.lanes|=t;var r=e.alternate;for(null!==r&&(r.lanes|=t),r=e,e=e.return;null!==e;)e.childLanes|=t,null!==(r=e.alternate)&&(r.childLanes|=t),r=e,e=e.return;return 3===r.tag?r.stateNode:null}function dl(e,t){for(var r=e.callbackNode,n=e.suspendedLanes,i=e.pingedLanes,a=e.expirationTimes,s=e.pendingLanes;0<s;){var l=31-Ht(s),u=1<<l,c=a[l];if(-1===c){if(0==(u&n)||0!=(u&i)){c=t,Rt(u);var f=zt;a[l]=10<=f?c+250:6<=f?c+5e3:-1}}else c<=t&&(e.expiredLanes|=u);s&=~u}if(n=Ft(e,e===Ps?Is:0),t=zt,0===n)null!==r&&(r!==Ri&&Ai(r),e.callbackNode=null,e.callbackPriority=0);else{if(null!==r){if(e.callbackPriority===t)return;r!==Ri&&Ai(r)}15===t?(r=ml.bind(null,e),null===Bi?(Bi=[r],Ni=Mi(Pi,Zi)):Bi.push(r),r=Ri):14===t?r=Yi(99,ml.bind(null,e)):(r=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(o(358,e))}}(t),r=Yi(r,vl.bind(null,e))),e.callbackPriority=t,e.callbackNode=r}}function vl(e){if(al=-1,sl=ol=0,0!=(48&Ls))throw Error(o(327));var t=e.callbackNode;if(Il()&&e.callbackNode!==t)return null;var r=Ft(e,e===Ps?Is:0);if(0===r)return null;var n=r,i=Ls;Ls|=16;var a=Tl();for(Ps===e&&Is===n||(Gs(),wl(e,n));;)try{Sl();break}catch(t){kl(e,t)}if(ta(),Es.current=a,Ls=i,null!==Os?n=0:(Ps=null,Is=0,n=Rs),0!=(Bs&js))wl(e,0);else if(0!==n){if(2===n&&(Ls|=64,e.hydrate&&(e.hydrate=!1,Yn(e.containerInfo)),0!==(r=Bt(e))&&(n=Ml(e,r))),1===n)throw t=Fs,wl(e,0),gl(e,r),dl(e,Vi()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=r,n){case 0:case 1:throw Error(o(345));case 2:case 5:Ll(e);break;case 3:if(gl(e,r),(62914560&r)===r&&10<(n=Hs+500-Vi())){if(0!==Ft(e,0))break;if(((i=e.suspendedLanes)&r)!==r){cl(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=qn(Ll.bind(null,e),n);break}Ll(e);break;case 4:if(gl(e,r),(4186112&r)===r)break;for(n=e.eventTimes,i=-1;0<r;){var s=31-Ht(r);a=1<<s,(s=n[s])>i&&(i=s),r&=~a}if(r=i,10<(r=(120>(r=Vi()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Ss(r/1960))-r)){e.timeoutHandle=qn(Ll.bind(null,e),r);break}Ll(e);break;default:throw Error(o(329))}}return dl(e,Vi()),e.callbackNode===t?vl.bind(null,e):null}function gl(e,t){for(t&=~Us,t&=~js,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var r=31-Ht(t),n=1<<r;e[r]=-1,t&=~n}}function ml(e){if(0!=(48&Ls))throw Error(o(327));if(Il(),e===Ps&&0!=(e.expiredLanes&Is)){var t=Is,r=Ml(e,t);0!=(Bs&js)&&(r=Ml(e,t=Ft(e,t)))}else r=Ml(e,t=Ft(e,0));if(0!==e.tag&&2===r&&(Ls|=64,e.hydrate&&(e.hydrate=!1,Yn(e.containerInfo)),0!==(t=Bt(e))&&(r=Ml(e,t))),1===r)throw r=Fs,wl(e,0),gl(e,t),dl(e,Vi()),r;return e.finishedWork=e.current.alternate,e.finishedLanes=t,Ll(e),dl(e,Vi()),null}function yl(e,t){var r=Ls;Ls|=1;try{return e(t)}finally{0===(Ls=r)&&(Gs(),Wi())}}function xl(e,t){var r=Ls;Ls&=-2,Ls|=8;try{return e(t)}finally{0===(Ls=r)&&(Gs(),Wi())}}function bl(e,t){ci(zs,Ds),Ds|=t,Bs|=t}function _l(){Ds=zs.current,ui(zs)}function wl(e,t){e.finishedWork=null,e.finishedLanes=0;var r=e.timeoutHandle;if(-1!==r&&(e.timeoutHandle=-1,Gn(r)),null!==Os)for(r=Os.return;null!==r;){var n=r;switch(n.tag){case 1:null!=(n=n.type.childContextTypes)&&mi();break;case 3:Ia(),ui(pi),ui(hi),Za();break;case 5:za(n);break;case 4:Ia();break;case 13:case 19:ui(Ra);break;case 10:ra(n);break;case 23:case 24:_l()}r=r.return}Ps=e,Os=ql(e.current,null),Is=Ds=Bs=t,Rs=0,Fs=null,Us=js=Ns=0}function kl(e,t){for(;;){var r=Os;try{if(ta(),Xa.current=Po,to){for(var n=$a.memoizedState;null!==n;){var i=n.queue;null!==i&&(i.pending=null),n=n.next}to=!1}if(Ja=0,eo=Qa=$a=null,ro=!1,Cs.current=null,null===r||null===r.return){Rs=1,Fs=t,Os=null;break}e:{var a=e,o=r.return,s=r,l=t;if(t=Is,s.flags|=2048,s.firstEffect=s.lastEffect=null,null!==l&&\"object\"==typeof l&&\"function\"==typeof l.then){var u=l;if(0==(2&s.mode)){var c=s.alternate;c?(s.updateQueue=c.updateQueue,s.memoizedState=c.memoizedState,s.lanes=c.lanes):(s.updateQueue=null,s.memoizedState=null)}var f=0!=(1&Ra.current),h=o;do{var p;if(p=13===h.tag){var d=h.memoizedState;if(null!==d)p=null!==d.dehydrated;else{var v=h.memoizedProps;p=void 0!==v.fallback&&(!0!==v.unstable_avoidThisFallback||!f)}}if(p){var g=h.updateQueue;if(null===g){var m=new Set;m.add(u),h.updateQueue=m}else g.add(u);if(0==(2&h.mode)){if(h.flags|=64,s.flags|=16384,s.flags&=-2981,1===s.tag)if(null===s.alternate)s.tag=17;else{var y=ua(-1,1);y.tag=2,ca(s,y)}s.lanes|=1;break e}l=void 0,s=t;var x=a.pingCache;if(null===x?(x=a.pingCache=new us,l=new Set,x.set(u,l)):void 0===(l=x.get(u))&&(l=new Set,x.set(u,l)),!l.has(s)){l.add(s);var b=Nl.bind(null,a,u,s);u.then(b,b)}h.flags|=4096,h.lanes=t;break e}h=h.return}while(null!==h);l=Error((W(s.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==Rs&&(Rs=2),l=ss(l,s),h=o;do{switch(h.tag){case 3:a=l,h.flags|=4096,t&=-t,h.lanes|=t,fa(h,cs(0,a,t));break e;case 1:a=l;var _=h.type,w=h.stateNode;if(0==(64&h.flags)&&(\"function\"==typeof _.getDerivedStateFromError||null!==w&&\"function\"==typeof w.componentDidCatch&&(null===Ks||!Ks.has(w)))){h.flags|=4096,t&=-t,h.lanes|=t,fa(h,fs(h,a,t));break e}}h=h.return}while(null!==h)}Cl(r)}catch(e){t=e,Os===r&&null!==r&&(Os=r=r.return);continue}break}}function Tl(){var e=Es.current;return Es.current=Po,null===e?Po:e}function Ml(e,t){var r=Ls;Ls|=16;var n=Tl();for(Ps===e&&Is===t||wl(e,t);;)try{Al();break}catch(t){kl(e,t)}if(ta(),Ls=r,Es.current=n,null!==Os)throw Error(o(261));return Ps=null,Is=0,Rs}function Al(){for(;null!==Os;)El(Os)}function Sl(){for(;null!==Os&&!Si();)El(Os)}function El(e){var t=Ys(e.alternate,e,Ds);e.memoizedProps=e.pendingProps,null===t?Cl(e):Os=t,Cs.current=null}function Cl(e){var t=e;do{var r=t.alternate;if(e=t.return,0==(2048&t.flags)){if(null!==(r=as(r,t,Ds)))return void(Os=r);if(24!==(r=t).tag&&23!==r.tag||null===r.memoizedState||0!=(1073741824&Ds)||0==(4&r.mode)){for(var n=0,i=r.child;null!==i;)n|=i.lanes|i.childLanes,i=i.sibling;r.childLanes=n}null!==e&&0==(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(r=os(t)))return r.flags&=2047,void(Os=r);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Os=t);Os=t=e}while(null!==t);0===Rs&&(Rs=5)}function Ll(e){var t=Hi();return Gi(99,Pl.bind(null,e,t)),null}function Pl(e,t){do{Il()}while(null!==$s);if(0!=(48&Ls))throw Error(o(327));var r=e.finishedWork;if(null===r)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(o(177));e.callbackNode=null;var n=r.lanes|r.childLanes,i=n,a=e.pendingLanes&~i;e.pendingLanes=i,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=i,e.mutableReadLanes&=i,e.entangledLanes&=i,i=e.entanglements;for(var s=e.eventTimes,l=e.expirationTimes;0<a;){var u=31-Ht(a),c=1<<u;i[u]=0,s[u]=-1,l[u]=-1,a&=~c}if(null!==rl&&0==(24&n)&&rl.has(e)&&rl.delete(e),e===Ps&&(Os=Ps=null,Is=0),1<r.flags?null!==r.lastEffect?(r.lastEffect.nextEffect=r,n=r.firstEffect):n=r:n=r.firstEffect,null!==n){if(i=Ls,Ls|=32,Cs.current=null,jn=Zt,gn(s=vn())){if(\"selectionStart\"in s)l={start:s.selectionStart,end:s.selectionEnd};else e:if(l=(l=s.ownerDocument)&&l.defaultView||window,(c=l.getSelection&&l.getSelection())&&0!==c.rangeCount){l=c.anchorNode,a=c.anchorOffset,u=c.focusNode,c=c.focusOffset;try{l.nodeType,u.nodeType}catch(e){l=null;break e}var f=0,h=-1,p=-1,d=0,v=0,g=s,m=null;t:for(;;){for(var y;g!==l||0!==a&&3!==g.nodeType||(h=f+a),g!==u||0!==c&&3!==g.nodeType||(p=f+c),3===g.nodeType&&(f+=g.nodeValue.length),null!==(y=g.firstChild);)m=g,g=y;for(;;){if(g===s)break t;if(m===l&&++d===a&&(h=f),m===u&&++v===c&&(p=f),null!==(y=g.nextSibling))break;m=(g=m).parentNode}g=y}l=-1===h||-1===p?null:{start:h,end:p}}else l=null;l=l||{start:0,end:0}}else l=null;Un={focusedElem:s,selectionRange:l},Zt=!1,ll=null,ul=!1,Ws=n;do{try{Ol()}catch(e){if(null===Ws)throw Error(o(330));Bl(Ws,e),Ws=Ws.nextEffect}}while(null!==Ws);ll=null,Ws=n;do{try{for(s=e;null!==Ws;){var x=Ws.flags;if(16&x&&me(Ws.stateNode,\"\"),128&x){var b=Ws.alternate;if(null!==b){var _=b.ref;null!==_&&(\"function\"==typeof _?_(null):_.current=null)}}switch(1038&x){case 2:bs(Ws),Ws.flags&=-3;break;case 6:bs(Ws),Ws.flags&=-3,Ts(Ws.alternate,Ws);break;case 1024:Ws.flags&=-1025;break;case 1028:Ws.flags&=-1025,Ts(Ws.alternate,Ws);break;case 4:Ts(Ws.alternate,Ws);break;case 8:ks(s,l=Ws);var w=l.alternate;ys(l),null!==w&&ys(w)}Ws=Ws.nextEffect}}catch(e){if(null===Ws)throw Error(o(330));Bl(Ws,e),Ws=Ws.nextEffect}}while(null!==Ws);if(_=Un,b=vn(),x=_.focusedElem,s=_.selectionRange,b!==x&&x&&x.ownerDocument&&dn(x.ownerDocument.documentElement,x)){null!==s&&gn(x)&&(b=s.start,void 0===(_=s.end)&&(_=b),\"selectionStart\"in x?(x.selectionStart=b,x.selectionEnd=Math.min(_,x.value.length)):(_=(b=x.ownerDocument||document)&&b.defaultView||window).getSelection&&(_=_.getSelection(),l=x.textContent.length,w=Math.min(s.start,l),s=void 0===s.end?w:Math.min(s.end,l),!_.extend&&w>s&&(l=s,s=w,w=l),l=pn(x,w),a=pn(x,s),l&&a&&(1!==_.rangeCount||_.anchorNode!==l.node||_.anchorOffset!==l.offset||_.focusNode!==a.node||_.focusOffset!==a.offset)&&((b=b.createRange()).setStart(l.node,l.offset),_.removeAllRanges(),w>s?(_.addRange(b),_.extend(a.node,a.offset)):(b.setEnd(a.node,a.offset),_.addRange(b))))),b=[];for(_=x;_=_.parentNode;)1===_.nodeType&&b.push({element:_,left:_.scrollLeft,top:_.scrollTop});for(\"function\"==typeof x.focus&&x.focus(),x=0;x<b.length;x++)(_=b[x]).element.scrollLeft=_.left,_.element.scrollTop=_.top}Zt=!!jn,Un=jn=null,e.current=r,Ws=n;do{try{for(x=e;null!==Ws;){var k=Ws.flags;if(36&k&&vs(x,Ws.alternate,Ws),128&k){b=void 0;var T=Ws.ref;if(null!==T){var M=Ws.stateNode;Ws.tag,b=M,\"function\"==typeof T?T(b):T.current=b}}Ws=Ws.nextEffect}}catch(e){if(null===Ws)throw Error(o(330));Bl(Ws,e),Ws=Ws.nextEffect}}while(null!==Ws);Ws=null,Fi(),Ls=i}else e.current=r;if(Js)Js=!1,$s=e,Qs=t;else for(Ws=n;null!==Ws;)t=Ws.nextEffect,Ws.nextEffect=null,8&Ws.flags&&((k=Ws).sibling=null,k.stateNode=null),Ws=t;if(0===(n=e.pendingLanes)&&(Ks=null),1===n?e===il?nl++:(nl=0,il=e):nl=0,r=r.stateNode,ki&&\"function\"==typeof ki.onCommitFiberRoot)try{ki.onCommitFiberRoot(wi,r,void 0,64==(64&r.current.flags))}catch(e){}if(dl(e,Vi()),Zs)throw Zs=!1,e=Xs,Xs=null,e;return 0!=(8&Ls)||Wi(),null}function Ol(){for(;null!==Ws;){var e=Ws.alternate;ul||null===ll||(0!=(8&Ws.flags)?Qe(Ws,ll)&&(ul=!0):13===Ws.tag&&As(e,Ws)&&Qe(Ws,ll)&&(ul=!0));var t=Ws.flags;0!=(256&t)&&ds(e,Ws),0==(512&t)||Js||(Js=!0,Yi(97,(function(){return Il(),null}))),Ws=Ws.nextEffect}}function Il(){if(90!==Qs){var e=97<Qs?97:Qs;return Qs=90,Gi(e,Rl)}return!1}function Dl(e,t){el.push(t,e),Js||(Js=!0,Yi(97,(function(){return Il(),null})))}function zl(e,t){tl.push(t,e),Js||(Js=!0,Yi(97,(function(){return Il(),null})))}function Rl(){if(null===$s)return!1;var e=$s;if($s=null,0!=(48&Ls))throw Error(o(331));var t=Ls;Ls|=32;var r=tl;tl=[];for(var n=0;n<r.length;n+=2){var i=r[n],a=r[n+1],s=i.destroy;if(i.destroy=void 0,\"function\"==typeof s)try{s()}catch(e){if(null===a)throw Error(o(330));Bl(a,e)}}for(r=el,el=[],n=0;n<r.length;n+=2){i=r[n],a=r[n+1];try{var l=i.create;i.destroy=l()}catch(e){if(null===a)throw Error(o(330));Bl(a,e)}}for(l=e.current.firstEffect;null!==l;)e=l.nextEffect,l.nextEffect=null,8&l.flags&&(l.sibling=null,l.stateNode=null),l=e;return Ls=t,Wi(),!0}function Fl(e,t,r){ca(e,t=cs(0,t=ss(r,t),1)),t=cl(),null!==(e=pl(e,1))&&(Vt(e,1,t),dl(e,t))}function Bl(e,t){if(3===e.tag)Fl(e,e,t);else for(var r=e.return;null!==r;){if(3===r.tag){Fl(r,e,t);break}if(1===r.tag){var n=r.stateNode;if(\"function\"==typeof r.type.getDerivedStateFromError||\"function\"==typeof n.componentDidCatch&&(null===Ks||!Ks.has(n))){var i=fs(r,e=ss(t,e),1);if(ca(r,i),i=cl(),null!==(r=pl(r,1)))Vt(r,1,i),dl(r,i);else if(\"function\"==typeof n.componentDidCatch&&(null===Ks||!Ks.has(n)))try{n.componentDidCatch(t,e)}catch(e){}break}}r=r.return}}function Nl(e,t,r){var n=e.pingCache;null!==n&&n.delete(t),t=cl(),e.pingedLanes|=e.suspendedLanes&r,Ps===e&&(Is&r)===r&&(4===Rs||3===Rs&&(62914560&Is)===Is&&500>Vi()-Hs?wl(e,0):Us|=r),dl(e,t)}function jl(e,t){var r=e.stateNode;null!==r&&r.delete(t),0==(t=0)&&(0==(2&(t=e.mode))?t=1:0==(4&t)?t=99===Hi()?1:2:(0===ol&&(ol=Bs),0===(t=jt(62914560&~ol))&&(t=4194304))),r=cl(),null!==(e=pl(e,t))&&(Vt(e,t,r),dl(e,r))}function Ul(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Vl(e,t,r,n){return new Ul(e,t,r,n)}function Hl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function ql(e,t){var r=e.alternate;return null===r?((r=Vl(e.tag,t,e.key,e.mode)).elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null),r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function Gl(e,t,r,n,i,a){var s=2;if(n=e,\"function\"==typeof e)Hl(e)&&(s=1);else if(\"string\"==typeof e)s=5;else e:switch(e){case T:return Yl(r.children,i,a,t);case R:s=8,i|=16;break;case M:s=8,i|=1;break;case A:return(e=Vl(12,r,t,8|i)).elementType=A,e.type=A,e.lanes=a,e;case L:return(e=Vl(13,r,t,i)).type=L,e.elementType=L,e.lanes=a,e;case P:return(e=Vl(19,r,t,i)).elementType=P,e.lanes=a,e;case F:return Wl(r,i,a,t);case B:return(e=Vl(24,r,t,i)).elementType=B,e.lanes=a,e;default:if(\"object\"==typeof e&&null!==e)switch(e.$$typeof){case S:s=10;break e;case E:s=9;break e;case C:s=11;break e;case O:s=14;break e;case I:s=16,n=null;break e;case D:s=22;break e}throw Error(o(130,null==e?e:typeof e,\"\"))}return(t=Vl(s,r,t,i)).elementType=e,t.type=n,t.lanes=a,t}function Yl(e,t,r,n){return(e=Vl(7,e,n,t)).lanes=r,e}function Wl(e,t,r,n){return(e=Vl(23,e,n,t)).elementType=F,e.lanes=r,e}function Zl(e,t,r){return(e=Vl(6,e,null,t)).lanes=r,e}function Xl(e,t,r){return(t=Vl(4,null!==e.children?e.children:[],e.key,t)).lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Kl(e,t,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=r,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Ut(0),this.expirationTimes=Ut(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ut(0),this.mutableSourceEagerHydrationData=null}function Jl(e,t,r,n){var i=t.current,a=cl(),s=fl(i);e:if(r){t:{if(Xe(r=r._reactInternals)!==r||1!==r.tag)throw Error(o(170));var l=r;do{switch(l.tag){case 3:l=l.stateNode.context;break t;case 1:if(gi(l.type)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break t}}l=l.return}while(null!==l);throw Error(o(171))}if(1===r.tag){var u=r.type;if(gi(u)){r=xi(r,u,l);break e}}r=l}else r=fi;return null===t.context?t.context=r:t.pendingContext=r,(t=ua(a,s)).payload={element:e},null!==(n=void 0===n?null:n)&&(t.callback=n),ca(i,t),hl(i,s,a),s}function $l(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Ql(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var r=e.retryLane;e.retryLane=0!==r&&r<t?r:t}}function eu(e,t){Ql(e,t),(e=e.alternate)&&Ql(e,t)}function tu(e,t,r){var n=null!=r&&null!=r.hydrationOptions&&r.hydrationOptions.mutableSources||null;if(r=new Kl(e,t,null!=r&&!0===r.hydrate),t=Vl(3,null,null,2===t?7:1===t?3:0),r.current=t,t.stateNode=r,sa(t),e[Qn]=r.current,Pn(8===e.nodeType?e.parentNode:e),n)for(e=0;e<n.length;e++){var i=(t=n[e])._getVersion;i=i(t._source),null==r.mutableSourceEagerHydrationData?r.mutableSourceEagerHydrationData=[t,i]:r.mutableSourceEagerHydrationData.push(t,i)}this._internalRoot=r}function ru(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||\" react-mount-point-unstable \"!==e.nodeValue))}function nu(e,t,r,n,i){var a=r._reactRootContainer;if(a){var o=a._internalRoot;if(\"function\"==typeof i){var s=i;i=function(){var e=$l(o);s.call(e)}}Jl(t,o,e,i)}else{if(a=r._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute(\"data-reactroot\"))),!t)for(var r;r=e.lastChild;)e.removeChild(r);return new tu(e,0,t?{hydrate:!0}:void 0)}(r,n),o=a._internalRoot,\"function\"==typeof i){var l=i;i=function(){var e=$l(o);l.call(e)}}xl((function(){Jl(t,o,e,i)}))}return $l(o)}function iu(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ru(t))throw Error(o(200));return function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:k,key:null==n?null:\"\"+n,children:e,containerInfo:t,implementation:r}}(e,t,null,r)}Ys=function(e,t,r){var n=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||pi.current)Ro=!0;else{if(0==(r&n)){switch(Ro=!1,t.tag){case 3:Yo(t),Ya();break;case 5:Da(t);break;case 1:gi(t.type)&&bi(t);break;case 4:Oa(t,t.stateNode.containerInfo);break;case 10:n=t.memoizedProps.value;var i=t.type._context;ci(Ji,i._currentValue),i._currentValue=n;break;case 13:if(null!==t.memoizedState)return 0!=(r&t.child.childLanes)?$o(e,t,r):(ci(Ra,1&Ra.current),null!==(t=ns(e,t,r))?t.sibling:null);ci(Ra,1&Ra.current);break;case 19:if(n=0!=(r&t.childLanes),0!=(64&e.flags)){if(n)return rs(e,t,r);t.flags|=64}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null,i.lastEffect=null),ci(Ra,Ra.current),n)break;return null;case 23:case 24:return t.lanes=0,Uo(e,t,r)}return ns(e,t,r)}Ro=0!=(16384&e.flags)}else Ro=!1;switch(t.lanes=0,t.tag){case 2:if(n=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,i=vi(t,hi.current),ia(t,r),i=ao(null,t,n,e,i,r),t.flags|=1,\"object\"==typeof i&&null!==i&&\"function\"==typeof i.render&&void 0===i.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,gi(n)){var a=!0;bi(t)}else a=!1;t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,sa(t);var s=n.getDerivedStateFromProps;\"function\"==typeof s&&va(t,n,s,e),i.updater=ga,t.stateNode=i,i._reactInternals=t,ba(t,n,e,r),t=Go(null,t,n,!0,a,r)}else t.tag=0,Fo(null,t,i,r),t=t.child;return t;case 16:i=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,i=(a=i._init)(i._payload),t.type=i,a=t.tag=function(e){if(\"function\"==typeof e)return Hl(e)?1:0;if(null!=e){if((e=e.$$typeof)===C)return 11;if(e===O)return 14}return 2}(i),e=Ki(i,e),a){case 0:t=Ho(null,t,i,e,r);break e;case 1:t=qo(null,t,i,e,r);break e;case 11:t=Bo(null,t,i,e,r);break e;case 14:t=No(null,t,i,Ki(i.type,e),n,r);break e}throw Error(o(306,i,\"\"))}return t;case 0:return n=t.type,i=t.pendingProps,Ho(e,t,n,i=t.elementType===n?i:Ki(n,i),r);case 1:return n=t.type,i=t.pendingProps,qo(e,t,n,i=t.elementType===n?i:Ki(n,i),r);case 3:if(Yo(t),n=t.updateQueue,null===e||null===n)throw Error(o(282));if(n=t.pendingProps,i=null!==(i=t.memoizedState)?i.element:null,la(e,t),ha(t,n,null,r),(n=t.memoizedState.element)===i)Ya(),t=ns(e,t,r);else{if((a=(i=t.stateNode).hydrate)&&(Na=Wn(t.stateNode.containerInfo.firstChild),Ba=t,a=ja=!0),a){if(null!=(e=i.mutableSourceEagerHydrationData))for(i=0;i<e.length;i+=2)(a=e[i])._workInProgressVersionPrimary=e[i+1],Wa.push(a);for(r=Aa(t,null,n,r),t.child=r;r;)r.flags=-3&r.flags|1024,r=r.sibling}else Fo(e,t,n,r),Ya();t=t.child}return t;case 5:return Da(t),null===e&&Ha(t),n=t.type,i=t.pendingProps,a=null!==e?e.memoizedProps:null,s=i.children,Hn(n,i)?s=null:null!==a&&Hn(n,a)&&(t.flags|=16),Vo(e,t),Fo(e,t,s,r),t.child;case 6:return null===e&&Ha(t),null;case 13:return $o(e,t,r);case 4:return Oa(t,t.stateNode.containerInfo),n=t.pendingProps,null===e?t.child=Ma(t,null,n,r):Fo(e,t,n,r),t.child;case 11:return n=t.type,i=t.pendingProps,Bo(e,t,n,i=t.elementType===n?i:Ki(n,i),r);case 7:return Fo(e,t,t.pendingProps,r),t.child;case 8:case 12:return Fo(e,t,t.pendingProps.children,r),t.child;case 10:e:{n=t.type._context,i=t.pendingProps,s=t.memoizedProps,a=i.value;var l=t.type._context;if(ci(Ji,l._currentValue),l._currentValue=a,null!==s)if(l=s.value,0==(a=un(l,a)?0:0|(\"function\"==typeof n._calculateChangedBits?n._calculateChangedBits(l,a):1073741823))){if(s.children===i.children&&!pi.current){t=ns(e,t,r);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var u=l.dependencies;if(null!==u){s=l.child;for(var c=u.firstContext;null!==c;){if(c.context===n&&0!=(c.observedBits&a)){1===l.tag&&((c=ua(-1,r&-r)).tag=2,ca(l,c)),l.lanes|=r,null!==(c=l.alternate)&&(c.lanes|=r),na(l.return,r),u.lanes|=r;break}c=c.next}}else s=10===l.tag&&l.type===t.type?null:l.child;if(null!==s)s.return=l;else for(s=l;null!==s;){if(s===t){s=null;break}if(null!==(l=s.sibling)){l.return=s.return,s=l;break}s=s.return}l=s}Fo(e,t,i.children,r),t=t.child}return t;case 9:return i=t.type,n=(a=t.pendingProps).children,ia(t,r),n=n(i=aa(i,a.unstable_observedBits)),t.flags|=1,Fo(e,t,n,r),t.child;case 14:return a=Ki(i=t.type,t.pendingProps),No(e,t,i,a=Ki(i.type,a),n,r);case 15:return jo(e,t,t.type,t.pendingProps,n,r);case 17:return n=t.type,i=t.pendingProps,i=t.elementType===n?i:Ki(n,i),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,gi(n)?(e=!0,bi(t)):e=!1,ia(t,r),ya(t,n,i),ba(t,n,i,r),Go(null,t,n,!0,e,r);case 19:return rs(e,t,r);case 23:case 24:return Uo(e,t,r)}throw Error(o(156,t.tag))},tu.prototype.render=function(e){Jl(e,this._internalRoot,null,null)},tu.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Jl(null,e,null,(function(){t[Qn]=null}))},et=function(e){13===e.tag&&(hl(e,4,cl()),eu(e,4))},tt=function(e){13===e.tag&&(hl(e,67108864,cl()),eu(e,67108864))},rt=function(e){if(13===e.tag){var t=cl(),r=fl(e);hl(e,r,t),eu(e,r)}},nt=function(e,t){return t()},Ae=function(e,t,r){switch(t){case\"input\":if(re(e,r),t=r.name,\"radio\"===r.type&&null!=t){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+t)+'][type=\"radio\"]'),t=0;t<r.length;t++){var n=r[t];if(n!==e&&n.form===e.form){var i=ii(n);if(!i)throw Error(o(90));J(n),re(n,i)}}}break;case\"textarea\":ue(e,r);break;case\"select\":null!=(t=r.value)&&oe(e,!!r.multiple,t,!1)}},Oe=yl,Ie=function(e,t,r,n,i){var a=Ls;Ls|=4;try{return Gi(98,e.bind(null,t,r,n,i))}finally{0===(Ls=a)&&(Gs(),Wi())}},De=function(){0==(49&Ls)&&(function(){if(null!==rl){var e=rl;rl=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,dl(e,Vi())}))}Wi()}(),Il())},ze=function(e,t){var r=Ls;Ls|=2;try{return e(t)}finally{0===(Ls=r)&&(Gs(),Wi())}};var au={Events:[ri,ni,ii,Le,Pe,Il,{current:!1}]},ou={findFiberByHostInstance:ti,bundleType:0,version:\"17.0.2\",rendererPackageName:\"react-dom\"},su={bundleType:ou.bundleType,version:ou.version,rendererPackageName:ou.rendererPackageName,rendererConfig:ou.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:_.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=$e(e))?null:e.stateNode},findFiberByHostInstance:ou.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if(\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var lu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!lu.isDisabled&&lu.supportsFiber)try{wi=lu.inject(su),ki=lu}catch(ve){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=au,t.createPortal=iu,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if(\"function\"==typeof e.render)throw Error(o(188));throw Error(o(268,Object.keys(e)))}return null===(e=$e(t))?null:e.stateNode},t.flushSync=function(e,t){var r=Ls;if(0!=(48&r))return e(t);Ls|=1;try{if(e)return Gi(99,e.bind(null,t))}finally{Ls=r,Wi()}},t.hydrate=function(e,t,r){if(!ru(t))throw Error(o(200));return nu(null,e,t,!0,r)},t.render=function(e,t,r){if(!ru(t))throw Error(o(200));return nu(null,e,t,!1,r)},t.unmountComponentAtNode=function(e){if(!ru(e))throw Error(o(40));return!!e._reactRootContainer&&(xl((function(){nu(null,null,e,!1,(function(){e._reactRootContainer=null,e[Qn]=null}))})),!0)},t.unstable_batchedUpdates=yl,t.unstable_createPortal=function(e,t){return iu(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,r,n){if(!ru(r))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return nu(e,t,r,!1,n)},t.version=\"17.0.2\"},3935:(e,t,r)=>{\"use strict\";!function e(){if(\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(4448)},9921:(e,t)=>{\"use strict\";var r=\"function\"==typeof Symbol&&Symbol.for,n=r?Symbol.for(\"react.element\"):60103,i=r?Symbol.for(\"react.portal\"):60106,a=r?Symbol.for(\"react.fragment\"):60107,o=r?Symbol.for(\"react.strict_mode\"):60108,s=r?Symbol.for(\"react.profiler\"):60114,l=r?Symbol.for(\"react.provider\"):60109,u=r?Symbol.for(\"react.context\"):60110,c=r?Symbol.for(\"react.async_mode\"):60111,f=r?Symbol.for(\"react.concurrent_mode\"):60111,h=r?Symbol.for(\"react.forward_ref\"):60112,p=r?Symbol.for(\"react.suspense\"):60113,d=r?Symbol.for(\"react.suspense_list\"):60120,v=r?Symbol.for(\"react.memo\"):60115,g=r?Symbol.for(\"react.lazy\"):60116,m=r?Symbol.for(\"react.block\"):60121,y=r?Symbol.for(\"react.fundamental\"):60117,x=r?Symbol.for(\"react.responder\"):60118,b=r?Symbol.for(\"react.scope\"):60119;function _(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case c:case f:case a:case s:case o:case p:return e;default:switch(e=e&&e.$$typeof){case u:case h:case g:case v:case l:return e;default:return t}}case i:return t}}}function w(e){return _(e)===f}t.AsyncMode=c,t.ConcurrentMode=f,t.ContextConsumer=u,t.ContextProvider=l,t.Element=n,t.ForwardRef=h,t.Fragment=a,t.Lazy=g,t.Memo=v,t.Portal=i,t.Profiler=s,t.StrictMode=o,t.Suspense=p,t.isAsyncMode=function(e){return w(e)||_(e)===c},t.isConcurrentMode=w,t.isContextConsumer=function(e){return _(e)===u},t.isContextProvider=function(e){return _(e)===l},t.isElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===n},t.isForwardRef=function(e){return _(e)===h},t.isFragment=function(e){return _(e)===a},t.isLazy=function(e){return _(e)===g},t.isMemo=function(e){return _(e)===v},t.isPortal=function(e){return _(e)===i},t.isProfiler=function(e){return _(e)===s},t.isStrictMode=function(e){return _(e)===o},t.isSuspense=function(e){return _(e)===p},t.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===a||e===f||e===s||e===o||e===p||e===d||\"object\"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===v||e.$$typeof===l||e.$$typeof===u||e.$$typeof===h||e.$$typeof===y||e.$$typeof===x||e.$$typeof===b||e.$$typeof===m)},t.typeOf=_},9864:(e,t,r)=>{\"use strict\";e.exports=r(9921)},4922:(e,t,r)=>{\"use strict\";function n(e){return n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},n(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){var t=function(t){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&u(e,t)}(g,t);var r,i,o,s,v=(r=g,i=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=f(r);if(i){var a=f(this).constructor;e=Reflect.construct(t,arguments,a)}else e=t.apply(this,arguments);return function(e,t){if(t&&(\"object\"===n(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return c(e)}(this,e)});function g(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,g),(t=v.call(this,e)).p=Promise.resolve(),t.resizeHandler=null,t.handlers={},t.syncWindowResize=t.syncWindowResize.bind(c(t)),t.syncEventHandlers=t.syncEventHandlers.bind(c(t)),t.attachUpdateEvents=t.attachUpdateEvents.bind(c(t)),t.getRef=t.getRef.bind(c(t)),t.handleUpdate=t.handleUpdate.bind(c(t)),t.figureCallback=t.figureCallback.bind(c(t)),t.updatePlotly=t.updatePlotly.bind(c(t)),t}return o=g,(s=[{key:\"updatePlotly\",value:function(t,r,n){var i=this;this.p=this.p.then((function(){if(!i.unmounting){if(!i.el)throw new Error(\"Missing element reference\");return e.react(i.el,{data:i.props.data,layout:i.props.layout,config:i.props.config,frames:i.props.frames})}})).then((function(){i.unmounting||(i.syncWindowResize(t),i.syncEventHandlers(),i.figureCallback(r),n&&i.attachUpdateEvents())})).catch((function(e){i.props.onError&&i.props.onError(e)}))}},{key:\"componentDidMount\",value:function(){this.unmounting=!1,this.updatePlotly(!0,this.props.onInitialized,!0)}},{key:\"componentDidUpdate\",value:function(e){this.unmounting=!1;var t=e.frames&&e.frames.length?e.frames.length:0,r=this.props.frames&&this.props.frames.length?this.props.frames.length:0,n=!(e.layout===this.props.layout&&e.data===this.props.data&&e.config===this.props.config&&r===t),i=void 0!==e.revision,a=e.revision!==this.props.revision;(n||i&&(!i||a))&&this.updatePlotly(!1,this.props.onUpdate,!1)}},{key:\"componentWillUnmount\",value:function(){this.unmounting=!0,this.figureCallback(this.props.onPurge),this.resizeHandler&&d&&(window.removeEventListener(\"resize\",this.resizeHandler),this.resizeHandler=null),this.removeUpdateEvents(),e.purge(this.el)}},{key:\"attachUpdateEvents\",value:function(){var e=this;this.el&&this.el.removeListener&&p.forEach((function(t){e.el.on(t,e.handleUpdate)}))}},{key:\"removeUpdateEvents\",value:function(){var e=this;this.el&&this.el.removeListener&&p.forEach((function(t){e.el.removeListener(t,e.handleUpdate)}))}},{key:\"handleUpdate\",value:function(){this.figureCallback(this.props.onUpdate)}},{key:\"figureCallback\",value:function(e){if(\"function\"==typeof e){var t=this.el;e({data:t.data,layout:t.layout,frames:this.el._transitionData?this.el._transitionData._frames:null},this.el)}}},{key:\"syncWindowResize\",value:function(t){var r=this;d&&(this.props.useResizeHandler&&!this.resizeHandler?(this.resizeHandler=function(){return e.Plots.resize(r.el)},window.addEventListener(\"resize\",this.resizeHandler),t&&this.resizeHandler()):!this.props.useResizeHandler&&this.resizeHandler&&(window.removeEventListener(\"resize\",this.resizeHandler),this.resizeHandler=null))}},{key:\"getRef\",value:function(e){this.el=e,this.props.debug&&d&&(window.gd=this.el)}},{key:\"syncEventHandlers\",value:function(){var e=this;h.forEach((function(t){var r=e.props[\"on\"+t],n=e.handlers[t],i=Boolean(n);r&&!i?e.addEventHandler(t,r):!r&&i?e.removeEventHandler(t):r&&i&&r!==n&&(e.removeEventHandler(t),e.addEventHandler(t,r))}))}},{key:\"addEventHandler\",value:function(e,t){this.handlers[e]=t,this.el.on(this.getPlotlyEventName(e),this.handlers[e])}},{key:\"removeEventHandler\",value:function(e){this.el.removeListener(this.getPlotlyEventName(e),this.handlers[e]),delete this.handlers[e]}},{key:\"getPlotlyEventName\",value:function(e){return\"plotly_\"+e.toLowerCase()}},{key:\"render\",value:function(){return a.default.createElement(\"div\",{id:this.props.divId,style:this.props.style,ref:this.getRef,className:this.props.className})}}])&&l(o.prototype,s),Object.defineProperty(o,\"prototype\",{writable:!1}),g}(a.Component);return t.propTypes={data:o.default.arrayOf(o.default.object),config:o.default.object,layout:o.default.object,frames:o.default.arrayOf(o.default.object),revision:o.default.number,onInitialized:o.default.func,onPurge:o.default.func,onError:o.default.func,onUpdate:o.default.func,debug:o.default.bool,style:o.default.object,className:o.default.string,useResizeHandler:o.default.bool,divId:o.default.string},h.forEach((function(e){t.propTypes[\"on\"+e]=o.default.func})),t.defaultProps={debug:!1,useResizeHandler:!1,data:[],style:{position:\"relative\",display:\"inline-block\"}},t};var i,a=function(e,t){if(e&&e.__esModule)return e;if(null===e||\"object\"!==n(e)&&\"function\"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var i={},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(\"default\"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var l=a?Object.getOwnPropertyDescriptor(e,o):null;l&&(l.get||l.set)?Object.defineProperty(i,o,l):i[o]=e[o]}return i.default=e,r&&r.set(e,i),i}(r(7294)),o=(i=r(5697))&&i.__esModule?i:{default:i};function s(e){if(\"function\"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}function l(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}function c(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}var h=[\"AfterExport\",\"AfterPlot\",\"Animated\",\"AnimatingFrame\",\"AnimationInterrupted\",\"AutoSize\",\"BeforeExport\",\"BeforeHover\",\"ButtonClicked\",\"Click\",\"ClickAnnotation\",\"Deselect\",\"DoubleClick\",\"Framework\",\"Hover\",\"LegendClick\",\"LegendDoubleClick\",\"Relayout\",\"Relayouting\",\"Restyle\",\"Redraw\",\"Selected\",\"Selecting\",\"SliderChange\",\"SliderEnd\",\"SliderStart\",\"SunburstClick\",\"Transitioning\",\"TransitionInterrupted\",\"Unhover\",\"WebGlContextLost\"],p=[\"plotly_restyle\",\"plotly_redraw\",\"plotly_relayout\",\"plotly_relayouting\",\"plotly_doubleclick\",\"plotly_animated\",\"plotly_sunburstclick\"],d=\"undefined\"!=typeof window},8660:(e,t,r)=>{\"use strict\";t.Z=void 0;var n=a(r(4922)),i=a(r(5478));function a(e){return e&&e.__esModule?e:{default:e}}var o=(0,n.default)(i.default);t.Z=o},2408:(e,t,r)=>{\"use strict\";var n=r(7418),i=60103,a=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var o=60109,s=60110,l=60112;t.Suspense=60113;var u=60115,c=60116;if(\"function\"==typeof Symbol&&Symbol.for){var f=Symbol.for;i=f(\"react.element\"),a=f(\"react.portal\"),t.Fragment=f(\"react.fragment\"),t.StrictMode=f(\"react.strict_mode\"),t.Profiler=f(\"react.profiler\"),o=f(\"react.provider\"),s=f(\"react.context\"),l=f(\"react.forward_ref\"),t.Suspense=f(\"react.suspense\"),u=f(\"react.memo\"),c=f(\"react.lazy\")}var h=\"function\"==typeof Symbol&&Symbol.iterator;function p(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,r=1;r<arguments.length;r++)t+=\"&args[]=\"+encodeURIComponent(arguments[r]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var d={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v={};function g(e,t,r){this.props=e,this.context=t,this.refs=v,this.updater=r||d}function m(){}function y(e,t,r){this.props=e,this.context=t,this.refs=v,this.updater=r||d}g.prototype.isReactComponent={},g.prototype.setState=function(e,t){if(\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,\"setState\")},g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")},m.prototype=g.prototype;var x=y.prototype=new m;x.constructor=y,n(x,g.prototype),x.isPureReactComponent=!0;var b={current:null},_=Object.prototype.hasOwnProperty,w={key:!0,ref:!0,__self:!0,__source:!0};function k(e,t,r){var n,a={},o=null,s=null;if(null!=t)for(n in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(o=\"\"+t.key),t)_.call(t,n)&&!w.hasOwnProperty(n)&&(a[n]=t[n]);var l=arguments.length-2;if(1===l)a.children=r;else if(1<l){for(var u=Array(l),c=0;c<l;c++)u[c]=arguments[c+2];a.children=u}if(e&&e.defaultProps)for(n in l=e.defaultProps)void 0===a[n]&&(a[n]=l[n]);return{$$typeof:i,type:e,key:o,ref:s,props:a,_owner:b.current}}function T(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===i}var M=/\\/+/g;function A(e,t){return\"object\"==typeof e&&null!==e&&null!=e.key?function(e){var t={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+e.replace(/[=:]/g,(function(e){return t[e]}))}(\"\"+e.key):t.toString(36)}function S(e,t,r,n,o){var s=typeof e;\"undefined\"!==s&&\"boolean\"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case\"string\":case\"number\":l=!0;break;case\"object\":switch(e.$$typeof){case i:case a:l=!0}}if(l)return o=o(l=e),e=\"\"===n?\".\"+A(l,0):n,Array.isArray(o)?(r=\"\",null!=e&&(r=e.replace(M,\"$&/\")+\"/\"),S(o,t,r,\"\",(function(e){return e}))):null!=o&&(T(o)&&(o=function(e,t){return{$$typeof:i,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(o,r+(!o.key||l&&l.key===o.key?\"\":(\"\"+o.key).replace(M,\"$&/\")+\"/\")+e)),t.push(o)),1;if(l=0,n=\"\"===n?\".\":n+\":\",Array.isArray(e))for(var u=0;u<e.length;u++){var c=n+A(s=e[u],u);l+=S(s,t,r,c,o)}else if(c=function(e){return null===e||\"object\"!=typeof e?null:\"function\"==typeof(e=h&&e[h]||e[\"@@iterator\"])?e:null}(e),\"function\"==typeof c)for(e=c.call(e),u=0;!(s=e.next()).done;)l+=S(s=s.value,t,r,c=n+A(s,u++),o);else if(\"object\"===s)throw t=\"\"+e,Error(p(31,\"[object Object]\"===t?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":t));return l}function E(e,t,r){if(null==e)return e;var n=[],i=0;return S(e,n,\"\",\"\",(function(e){return t.call(r,e,i++)})),n}function C(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var L={current:null};function P(){var e=L.current;if(null===e)throw Error(p(321));return e}var O={ReactCurrentDispatcher:L,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:b,IsSomeRendererActing:{current:!1},assign:n};t.Children={map:E,forEach:function(e,t,r){E(e,(function(){t.apply(this,arguments)}),r)},count:function(e){var t=0;return E(e,(function(){t++})),t},toArray:function(e){return E(e,(function(e){return e}))||[]},only:function(e){if(!T(e))throw Error(p(143));return e}},t.Component=g,t.PureComponent=y,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=O,t.cloneElement=function(e,t,r){if(null==e)throw Error(p(267,e));var a=n({},e.props),o=e.key,s=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,l=b.current),void 0!==t.key&&(o=\"\"+t.key),e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(c in t)_.call(t,c)&&!w.hasOwnProperty(c)&&(a[c]=void 0===t[c]&&void 0!==u?u[c]:t[c])}var c=arguments.length-2;if(1===c)a.children=r;else if(1<c){u=Array(c);for(var f=0;f<c;f++)u[f]=arguments[f+2];a.children=u}return{$$typeof:i,type:e.type,key:o,ref:s,props:a,_owner:l}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:s,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:o,_context:e},e.Consumer=e},t.createElement=k,t.createFactory=function(e){var t=k.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=T,t.lazy=function(e){return{$$typeof:c,_payload:{_status:-1,_result:e},_init:C}},t.memo=function(e,t){return{$$typeof:u,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return P().useCallback(e,t)},t.useContext=function(e,t){return P().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return P().useEffect(e,t)},t.useImperativeHandle=function(e,t,r){return P().useImperativeHandle(e,t,r)},t.useLayoutEffect=function(e,t){return P().useLayoutEffect(e,t)},t.useMemo=function(e,t){return P().useMemo(e,t)},t.useReducer=function(e,t,r){return P().useReducer(e,t,r)},t.useRef=function(e){return P().useRef(e)},t.useState=function(e){return P().useState(e)},t.version=\"17.0.2\"},7294:(e,t,r)=>{\"use strict\";e.exports=r(2408)},53:(e,t)=>{\"use strict\";var r,n,i,a;if(\"object\"==typeof performance&&\"function\"==typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}if(\"undefined\"==typeof window||\"function\"!=typeof MessageChannel){var u=null,c=null,f=function(){if(null!==u)try{var e=t.unstable_now();u(!0,e),u=null}catch(e){throw setTimeout(f,0),e}};r=function(e){null!==u?setTimeout(r,0,e):(u=e,setTimeout(f,0))},n=function(e,t){c=setTimeout(e,t)},i=function(){clearTimeout(c)},t.unstable_shouldYield=function(){return!1},a=t.unstable_forceFrameRate=function(){}}else{var h=window.setTimeout,p=window.clearTimeout;if(\"undefined\"!=typeof console){var d=window.cancelAnimationFrame;\"function\"!=typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\"),\"function\"!=typeof d&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var v=!1,g=null,m=-1,y=5,x=0;t.unstable_shouldYield=function(){return t.unstable_now()>=x},a=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):y=0<e?Math.floor(1e3/e):5};var b=new MessageChannel,_=b.port2;b.port1.onmessage=function(){if(null!==g){var e=t.unstable_now();x=e+y;try{g(!0,e)?_.postMessage(null):(v=!1,g=null)}catch(e){throw _.postMessage(null),e}}else v=!1},r=function(e){g=e,v||(v=!0,_.postMessage(null))},n=function(e,r){m=h((function(){e(t.unstable_now())}),r)},i=function(){p(m),m=-1}}function w(e,t){var r=e.length;e.push(t);e:for(;;){var n=r-1>>>1,i=e[n];if(!(void 0!==i&&0<M(i,t)))break e;e[n]=t,e[r]=i,r=n}}function k(e){return void 0===(e=e[0])?null:e}function T(e){var t=e[0];if(void 0!==t){var r=e.pop();if(r!==t){e[0]=r;e:for(var n=0,i=e.length;n<i;){var a=2*(n+1)-1,o=e[a],s=a+1,l=e[s];if(void 0!==o&&0>M(o,r))void 0!==l&&0>M(l,o)?(e[n]=l,e[s]=r,n=s):(e[n]=o,e[a]=r,n=a);else{if(!(void 0!==l&&0>M(l,r)))break e;e[n]=l,e[s]=r,n=s}}}return t}return null}function M(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}var A=[],S=[],E=1,C=null,L=3,P=!1,O=!1,I=!1;function D(e){for(var t=k(S);null!==t;){if(null===t.callback)T(S);else{if(!(t.startTime<=e))break;T(S),t.sortIndex=t.expirationTime,w(A,t)}t=k(S)}}function z(e){if(I=!1,D(e),!O)if(null!==k(A))O=!0,r(R);else{var t=k(S);null!==t&&n(z,t.startTime-e)}}function R(e,r){O=!1,I&&(I=!1,i()),P=!0;var a=L;try{for(D(r),C=k(A);null!==C&&(!(C.expirationTime>r)||e&&!t.unstable_shouldYield());){var o=C.callback;if(\"function\"==typeof o){C.callback=null,L=C.priorityLevel;var s=o(C.expirationTime<=r);r=t.unstable_now(),\"function\"==typeof s?C.callback=s:C===k(A)&&T(A),D(r)}else T(A);C=k(A)}if(null!==C)var l=!0;else{var u=k(S);null!==u&&n(z,u.startTime-r),l=!1}return l}finally{C=null,L=a,P=!1}}var F=a;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){O||P||(O=!0,r(R))},t.unstable_getCurrentPriorityLevel=function(){return L},t.unstable_getFirstCallbackNode=function(){return k(A)},t.unstable_next=function(e){switch(L){case 1:case 2:case 3:var t=3;break;default:t=L}var r=L;L=t;try{return e()}finally{L=r}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=F,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=L;L=e;try{return t()}finally{L=r}},t.unstable_scheduleCallback=function(e,a,o){var s=t.unstable_now();switch(o=\"object\"==typeof o&&null!==o&&\"number\"==typeof(o=o.delay)&&0<o?s+o:s,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:E++,callback:a,priorityLevel:e,startTime:o,expirationTime:l=o+l,sortIndex:-1},o>s?(e.sortIndex=o,w(S,e),null===k(A)&&e===k(S)&&(I?i():I=!0,n(z,o-s))):(e.sortIndex=l,w(A,e),O||P||(O=!0,r(R))),e},t.unstable_wrapCallback=function(e){var t=L;return function(){var r=L;L=t;try{return e.apply(this,arguments)}finally{L=r}}}},3840:(e,t,r)=>{\"use strict\";e.exports=r(53)},3379:e=>{\"use strict\";var t=[];function r(e){for(var r=-1,n=0;n<t.length;n++)if(t[n].identifier===e){r=n;break}return r}function n(e,n){for(var a={},o=[],s=0;s<e.length;s++){var l=e[s],u=n.base?l[0]+n.base:l[0],c=a[u]||0,f=\"\".concat(u,\" \").concat(c);a[u]=c+1;var h=r(f),p={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==h)t[h].references++,t[h].updater(p);else{var d=i(p,n);n.byIndex=s,t.splice(s,0,{identifier:f,updater:d,references:1})}o.push(f)}return o}function i(e,t){var r=t.domAPI(t);return r.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;r.update(e=t)}else r.remove()}}e.exports=function(e,i){var a=n(e=e||[],i=i||{});return function(e){e=e||[];for(var o=0;o<a.length;o++){var s=r(a[o]);t[s].references--}for(var l=n(e,i),u=0;u<a.length;u++){var c=r(a[u]);0===t[c].references&&(t[c].updater(),t.splice(c,1))}a=l}}},569:e=>{\"use strict\";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");n.appendChild(r)}},9216:e=>{\"use strict\";e.exports=function(e){var t=document.createElement(\"style\");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},3565:(e,t,r)=>{\"use strict\";e.exports=function(e){var t=r.nc;t&&e.setAttribute(\"nonce\",t)}},7795:e=>{\"use strict\";e.exports=function(e){if(\"undefined\"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n=\"\";r.supports&&(n+=\"@supports (\".concat(r.supports,\") {\")),r.media&&(n+=\"@media \".concat(r.media,\" {\"));var i=void 0!==r.layer;i&&(n+=\"@layer\".concat(r.layer.length>0?\" \".concat(r.layer):\"\",\" {\")),n+=r.css,i&&(n+=\"}\"),r.media&&(n+=\"}\"),r.supports&&(n+=\"}\");var a=r.sourceMap;a&&\"undefined\"!=typeof btoa&&(n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:e=>{\"use strict\";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var a=n[e]={id:e,loaded:!1,exports:{}};return r[e].call(a.exports,a,a.exports,i),a.loaded=!0,a.exports}return i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(r,n){if(1&n&&(r=this(r)),8&n)return r;if(\"object\"==typeof r&&r){if(4&n&&r.__esModule)return r;if(16&n&&\"function\"==typeof r.then)return r}var a=Object.create(null);i.r(a);var o={};e=e||[null,t({}),t([]),t(t)];for(var s=2&n&&r;\"object\"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((e=>o[e]=()=>r[e]));return o.default=()=>r,i.d(a,o),a},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),i.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,\"exports\",{enumerable:!0,set:()=>{throw new Error(\"ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: \"+e.id)}}),e),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.nc=void 0,i(9204)})()));\n",
       "        </script>\n",
       "        \n",
       "    <div id=\"_interpret-viz-e4b0b487-686b-4a10-a8de-6e3fe624fcb2\"></div>\n",
       "    <script defer type=\"text/javascript\">\n",
       "\n",
       "    (function universalLoad(root, callback) {\n",
       "      if(typeof exports === 'object' && typeof module === 'object') {\n",
       "        // CommonJS2\n",
       "        console.log(\"CommonJS2\");\n",
       "        var interpretInline = require('interpret-inline');\n",
       "        callback(interpretInline);\n",
       "      } else if(typeof define === 'function' && define.amd) {\n",
       "        // AMD\n",
       "        console.log(\"AMD\");\n",
       "        require(['interpret-inline'], function(interpretInline) {\n",
       "          callback(interpretInline);\n",
       "        });\n",
       "      } else if(typeof exports === 'object') {\n",
       "        // CommonJS\n",
       "        console.log(\"CommonJS\");\n",
       "        var interpretInline = require('interpret-inline');\n",
       "        callback(interpretInline);\n",
       "      } else {\n",
       "        // Browser\n",
       "        console.log(\"Browser\");\n",
       "        callback(root['interpret-inline']);\n",
       "      }\n",
       "    })(this, function(interpretInline) {\n",
       "        interpretInline.RenderApp(\"_interpret-viz-e4b0b487-686b-4a10-a8de-6e3fe624fcb2\", {\"name\": \"ExplainableBoostingClassifier_3\", \"overall\": {\"type\": \"plotly\", \"figure\": {\"data\": [{\"marker\": {\"color\": [\"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\"]}, \"orientation\": \"h\", \"x\": [0.06145664229444476, 0.07434425089154158, 0.08047132198031377, 0.08220918697459698, 0.08861889445127359, 0.09636381316012514, 0.12261363298446208, 0.12642327850159876, 0.18274594934583108, 0.23235635892997775, 0.24457068637876284, 0.2467830089424599, 0.2560471606874208, 0.48692174030327295, 0.9516090941148685], \"y\": [\"parch\", \"fare & sex__male\", \"pclass & sibsp\", \"age & emb__Q\", \"age & sibsp\", \"age & fare\", \"parch & fare\", \"age & sex__male\", \"emb__S\", \"age\", \"sibsp\", \"fare\", \"pclass & sex__male\", \"pclass\", \"sex__male\"], \"type\": \"bar\"}], \"layout\": {\"title\": {\"text\": \"Global Term/Feature Importances\"}, \"xaxis\": {\"range\": [0, 0.9516090941148685], \"title\": {\"text\": \"Mean Absolute Score (Weighted)\"}}, \"yaxis\": {\"automargin\": true, \"dtick\": 1, \"title\": {\"text\": \"\"}}, \"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}}}, \"help\": {\"text\": \"The term importances are the mean absolute contribution (score) each term (feature or interaction) makes to predictions averaged across the training dataset. Contributions are weighted by the number of samples in each bin, and by the sample weights (if any). The 15 most important terms are shown.\", \"link\": \"https://github.com/interpretml/interpret/blob/develop/examples/python/EBM_Feature_Importances.ipynb\"}}, \"specific\": [{\"type\": \"plotly\", \"figure\": {\"data\": [{\"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Lower Bound\", \"x\": [1.0, 1.5, 2.5, 3.0], \"y\": [0.5931232887221235, 0.2760041288393776, -0.5231564207258524, -0.5231564207258524], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"color\": \"rgb(31, 119, 180)\", \"shape\": \"hv\"}, \"mode\": \"lines\", \"name\": \"Main\", \"x\": [1.0, 1.5, 2.5, 3.0], \"y\": [0.7590092186652867, 0.3103458556670057, -0.43383628741306646, -0.43383628741306646], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Upper Bound\", \"x\": [1.0, 1.5, 2.5, 3.0], \"y\": [0.9248951486084499, 0.34468758249463377, -0.34451615410028047, -0.34451615410028047], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"hovertemplate\": \"(%{hovertext}): %{y}\", \"hovertext\": [\"1 - 1.14\", \"1.14 - 1.29\", \"1.29 - 1.43\", \"1.43 - 1.57\", \"1.57 - 1.71\", \"1.71 - 1.86\", \"1.86 - 2\", \"2 - 2.14\", \"2.14 - 2.29\", \"2.29 - 2.43\", \"2.43 - 2.57\", \"2.57 - 2.71\", \"2.71 - 2.86\", \"2.86 - 3\"], \"marker\": {\"color\": \"#ff7f0e\"}, \"name\": \"Distribution\", \"x\": [1.0714285714285714, 1.2142857142857142, 1.3571428571428572, 1.5, 1.6428571428571428, 1.7857142857142858, 1.9285714285714286, 2.071428571428571, 2.2142857142857144, 2.357142857142857, 2.5, 2.6428571428571432, 2.7857142857142856, 2.928571428571429], \"y\": [170.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 142.0, 0.0, 0.0, 0.0, 0.0, 0.0, 399.0], \"type\": \"bar\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}], \"layout\": {\"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"pclass\", \"standoff\": 0}, \"matches\": \"x\"}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.4, 1.0], \"title\": {\"text\": \"Score\"}, \"range\": [-4.3265293877161355, 2.6411614971005672]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"pclass\", \"standoff\": 0}, \"tickmode\": \"array\", \"ticktext\": [\"1 - 1.14\", \"1.14 - 1.29\", \"1.29 - 1.43\", \"1.43 - 1.57\", \"1.57 - 1.71\", \"1.71 - 1.86\", \"1.86 - 2\", \"2 - 2.14\", \"2.14 - 2.29\", \"2.29 - 2.43\", \"2.43 - 2.57\", \"2.57 - 2.71\", \"2.71 - 2.86\", \"2.86 - 3\"], \"tickvals\": [1.0714285714285714, 1.2142857142857142, 1.3571428571428572, 1.5, 1.6428571428571428, 1.7857142857142858, 1.9285714285714286, 2.071428571428571, 2.2142857142857144, 2.357142857142857, 2.5, 2.6428571428571432, 2.7857142857142856, 2.928571428571429], \"matches\": \"x\"}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.0, 0.15], \"title\": {\"text\": \"Density\"}}, \"title\": {\"text\": \"Term: pclass (continuous)\"}, \"showlegend\": false, \"bargap\": 0}}, \"help\": {\"text\": \"The contribution (score) of the term pclass to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Lower Bound\", \"x\": [0.42, 0.71, 0.79, 0.875, 0.96, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.25, 20.75, 21.5, 22.5, 23.25, 23.75, 24.25, 24.75, 25.5, 26.5, 27.5, 28.25, 28.75, 29.34955882352941, 29.84955882352941, 30.25, 30.75, 31.5, 32.25, 32.75, 33.5, 34.25, 34.75, 35.5, 36.25, 36.75, 37.5, 38.5, 39.5, 40.25, 40.75, 41.5, 42.5, 43.5, 44.5, 45.25, 45.75, 46.5, 47.5, 48.5, 49.5, 50.5, 51.5, 53.0, 54.5, 55.25, 55.75, 56.5, 57.5, 58.5, 59.5, 60.5, 61.5, 62.5, 63.5, 64.5, 67.5, 70.25, 70.75, 72.5, 80.0], \"y\": [1.4191401025006858, 1.4191401025006858, 1.4191401025006858, 1.4191401025006858, 1.2900329356527374, 1.0566770823818765, 1.0602196305804037, 1.0588313339694448, 1.0532240732989588, 0.9363669428530896, 0.33362594406437623, 0.33362594406437623, 0.3339708051335173, -0.2786086638042846, 0.11577584745943614, 0.24886487966525367, 0.24886487966525367, 0.22488113101858873, 0.2378704301819081, 0.2378704301819081, -0.08186183960212504, -0.09763038264192667, -0.0796334040866144, -0.0796334040866144, -0.07810387069602778, -0.08441424683661405, -0.08441424683661405, -0.08441424683661405, -0.08441424683661405, -0.08399404584212532, -0.08399404584212532, -0.08399404584212532, -0.08399404584212532, -0.08399404584212532, -0.08399404584212532, -0.08399404584212532, -0.08399404584212532, -0.08399404584212532, -0.08399404584212532, -0.08399404584212532, -0.08324710040044833, -0.08032303215624025, -0.08032303215624025, -0.08032303215624025, -0.08032303215624025, -0.08032303215624025, -0.08032303215624025, -0.08032303215624025, -0.34594311862496396, -0.3810464094678394, -0.3590503542710357, -0.3441083884803088, -0.3441083884803088, -0.3441083884803088, -0.3441083884803088, -0.3441083884803088, -0.3441083884803088, -0.3441083884803088, -0.3441083884803088, -0.479647482808699, -0.479647482808699, -0.479647482808699, -0.4424939872623499, -0.4424939872623499, -0.4458424374388045, -0.4458424374388045, -0.4458424374388045, -0.6974783841640251, -0.75880875052563, -0.7600995045860286, -0.7600995045860286, -0.8723794129614042, -0.8758870326865489, -0.9534726266259134, -0.9534726266259134, -1.0752703116770896, -1.0752703116770896, -1.0752703116770896, -1.0758157514586753, -1.0758157514586753, -1.0758157514586753, -1.0758157514586753, -1.0758157514586753, -0.675026976755545, -0.675026976755545], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"color\": \"rgb(31, 119, 180)\", \"shape\": \"hv\"}, \"mode\": \"lines\", \"name\": \"Main\", \"x\": [0.42, 0.71, 0.79, 0.875, 0.96, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.25, 20.75, 21.5, 22.5, 23.25, 23.75, 24.25, 24.75, 25.5, 26.5, 27.5, 28.25, 28.75, 29.34955882352941, 29.84955882352941, 30.25, 30.75, 31.5, 32.25, 32.75, 33.5, 34.25, 34.75, 35.5, 36.25, 36.75, 37.5, 38.5, 39.5, 40.25, 40.75, 41.5, 42.5, 43.5, 44.5, 45.25, 45.75, 46.5, 47.5, 48.5, 49.5, 50.5, 51.5, 53.0, 54.5, 55.25, 55.75, 56.5, 57.5, 58.5, 59.5, 60.5, 61.5, 62.5, 63.5, 64.5, 67.5, 70.25, 70.75, 72.5, 80.0], \"y\": [2.0301507998006265, 2.0301507998006265, 2.0301507998006265, 2.0301507998006265, 1.9418185972979887, 1.466493167200733, 1.4861294758797838, 1.4842097050445116, 1.582699257735095, 1.2526591875976059, 0.7327755285452685, 0.7327755285452685, 0.7361729210592716, 0.06698191514291743, 0.3718567504592943, 0.6131867809090674, 0.6131867809090674, 0.40183859323572796, 0.41946614625562256, 0.41946614625562256, 0.005449473952061787, -0.04458729370714404, -0.04624296655826733, -0.04624296655826733, -0.05019823441324307, -0.05779668359751362, -0.05779668359751362, -0.05779668359751362, -0.05779668359751362, -0.05730217960132879, -0.05730217960132879, -0.05730217960132879, -0.05730217960132879, -0.05730217960132879, -0.05730217960132879, -0.05730217960132879, -0.05730217960132879, -0.05730217960132879, -0.05730217960132879, -0.05730217960132879, -0.05174497252204509, -0.05032785308505351, -0.05032785308505351, -0.05032785308505351, -0.05032785308505351, -0.05032785308505351, -0.05032785308505351, -0.05032785308505351, -0.24244702261641327, -0.27449524247706747, -0.261295476756775, -0.24308086368285325, -0.24308086368285325, -0.24308086368285325, -0.24308086368285325, -0.24308086368285325, -0.24308086368285325, -0.24308086368285325, -0.24308086368285325, -0.32882985535037096, -0.32882985535037096, -0.32882985535037096, -0.30900221278378814, -0.30900221278378814, -0.31104678279503517, -0.31104678279503517, -0.31104678279503517, -0.4576842918950492, -0.4769337121557238, -0.47829204276147097, -0.47829204276147097, -0.5721988446407565, -0.5778545363444416, -0.6875320852800744, -0.6875320852800744, -0.7594303686914643, -0.7594303686914643, -0.7594303686914643, -0.7689663834890783, -0.7689663834890783, -0.7689663834890783, -0.7689663834890783, -0.7689663834890783, -0.1975268491392499, -0.1975268491392499], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Upper Bound\", \"x\": [0.42, 0.71, 0.79, 0.875, 0.96, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.25, 20.75, 21.5, 22.5, 23.25, 23.75, 24.25, 24.75, 25.5, 26.5, 27.5, 28.25, 28.75, 29.34955882352941, 29.84955882352941, 30.25, 30.75, 31.5, 32.25, 32.75, 33.5, 34.25, 34.75, 35.5, 36.25, 36.75, 37.5, 38.5, 39.5, 40.25, 40.75, 41.5, 42.5, 43.5, 44.5, 45.25, 45.75, 46.5, 47.5, 48.5, 49.5, 50.5, 51.5, 53.0, 54.5, 55.25, 55.75, 56.5, 57.5, 58.5, 59.5, 60.5, 61.5, 62.5, 63.5, 64.5, 67.5, 70.25, 70.75, 72.5, 80.0], \"y\": [2.6411614971005672, 2.6411614971005672, 2.6411614971005672, 2.6411614971005672, 2.59360425894324, 1.8763092520195896, 1.912039321179164, 1.9095880761195783, 2.1121744421712307, 1.568951432342122, 1.1319251130261607, 1.1319251130261607, 1.1383750369850258, 0.4125724940901194, 0.6279376534591524, 0.9775086821528811, 0.9775086821528811, 0.5787960554528672, 0.601061862329337, 0.601061862329337, 0.09276078750624861, 0.008455795227638598, -0.012852529029920255, -0.012852529029920255, -0.022292598130458367, -0.03117912035841319, -0.03117912035841319, -0.03117912035841319, -0.03117912035841319, -0.030610313360532257, -0.030610313360532257, -0.030610313360532257, -0.030610313360532257, -0.030610313360532257, -0.030610313360532257, -0.030610313360532257, -0.030610313360532257, -0.030610313360532257, -0.030610313360532257, -0.030610313360532257, -0.020242844643641844, -0.020332674013866774, -0.020332674013866774, -0.020332674013866774, -0.020332674013866774, -0.020332674013866774, -0.020332674013866774, -0.020332674013866774, -0.13895092660786257, -0.16794407548629553, -0.16354059924251432, -0.14205333888539773, -0.14205333888539773, -0.14205333888539773, -0.14205333888539773, -0.14205333888539773, -0.14205333888539773, -0.14205333888539773, -0.14205333888539773, -0.1780122278920429, -0.1780122278920429, -0.1780122278920429, -0.1755104383052264, -0.1755104383052264, -0.17625112815126584, -0.17625112815126584, -0.17625112815126584, -0.21789019962607337, -0.1950586737858176, -0.1964845809369134, -0.1964845809369134, -0.27201827632010894, -0.27982204000233435, -0.42159154393423537, -0.42159154393423537, -0.443590425705839, -0.443590425705839, -0.443590425705839, -0.46211701551948137, -0.46211701551948137, -0.46211701551948137, -0.46211701551948137, -0.46211701551948137, 0.2799732784770453, 0.2799732784770453], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"hovertemplate\": \"(%{hovertext}): %{y}\", \"hovertext\": [\"0.42 - 6.54\", \"6.54 - 12.7\", \"12.7 - 18.8\", \"18.8 - 24.9\", \"24.9 - 31\", \"31 - 37.1\", \"37.1 - 43.3\", \"43.3 - 49.4\", \"49.4 - 55.5\", \"55.5 - 61.6\", \"61.6 - 67.8\", \"67.8 - 73.9\", \"73.9 - 80\"], \"marker\": {\"color\": \"#ff7f0e\"}, \"name\": \"Distribution\", \"x\": [3.480769230769231, 9.602307692307694, 15.723846153846154, 21.845384615384617, 27.96692307692308, 34.08846153846154, 40.21, 46.331538461538464, 52.45307692307692, 58.574615384615385, 64.69615384615385, 70.81769230769231, 76.93923076923076], \"y\": [39.0, 19.0, 46.0, 117.0, 258.0, 77.0, 51.0, 44.0, 29.0, 17.0, 8.0, 4.0, 2.0], \"type\": \"bar\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}], \"layout\": {\"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"age\", \"standoff\": 0}, \"matches\": \"x\"}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.4, 1.0], \"title\": {\"text\": \"Score\"}, \"range\": [-4.3265293877161355, 2.6411614971005672]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"age\", \"standoff\": 0}, \"tickmode\": \"array\", \"ticktext\": [\"0.42 - 6.54\", \"6.54 - 12.7\", \"12.7 - 18.8\", \"18.8 - 24.9\", \"24.9 - 31\", \"31 - 37.1\", \"37.1 - 43.3\", \"43.3 - 49.4\", \"49.4 - 55.5\", \"55.5 - 61.6\", \"61.6 - 67.8\", \"67.8 - 73.9\", \"73.9 - 80\"], \"tickvals\": [3.480769230769231, 9.602307692307694, 15.723846153846154, 21.845384615384617, 27.96692307692308, 34.08846153846154, 40.21, 46.331538461538464, 52.45307692307692, 58.574615384615385, 64.69615384615385, 70.81769230769231, 76.93923076923076], \"matches\": \"x\"}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.0, 0.15], \"title\": {\"text\": \"Density\"}}, \"title\": {\"text\": \"Term: age (continuous)\"}, \"showlegend\": false, \"bargap\": 0}}, \"help\": {\"text\": \"The contribution (score) of the term age to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Lower Bound\", \"x\": [0.0, 0.5, 1.5, 2.5, 3.5, 4.5, 6.5, 8.0], \"y\": [0.04947264587470377, 0.17108098837145122, -0.46128546625387734, -2.4616367971707422, -2.6116239357276987, -2.6330439979824787, -2.8620303169212358, -2.8620303169212358], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"color\": \"rgb(31, 119, 180)\", \"shape\": \"hv\"}, \"mode\": \"lines\", \"name\": \"Main\", \"x\": [0.0, 0.5, 1.5, 2.5, 3.5, 4.5, 6.5, 8.0], \"y\": [0.10428740260535703, 0.2215821587618883, -0.16107191856403247, -1.9433990670624124, -2.022726866860552, -2.0331227464775723, -2.2195024408749338, -2.2195024408749338], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Upper Bound\", \"x\": [0.0, 0.5, 1.5, 2.5, 3.5, 4.5, 6.5, 8.0], \"y\": [0.1591021593360103, 0.27208332915232536, 0.1391416291258124, -1.4251613369540825, -1.433829797993405, -1.4332014949726657, -1.5769745648286317, -1.5769745648286317], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"hovertemplate\": \"(%{hovertext}): %{y}\", \"hovertext\": [\"0 - 0.5\", \"0.5 - 1\", \"1 - 1.5\", \"1.5 - 2\", \"2 - 2.5\", \"2.5 - 3\", \"3 - 3.5\", \"3.5 - 4\", \"4 - 4.5\", \"4.5 - 5\", \"5 - 5.5\", \"5.5 - 6\", \"6 - 6.5\", \"6.5 - 7\", \"7 - 7.5\", \"7.5 - 8\"], \"marker\": {\"color\": \"#ff7f0e\"}, \"name\": \"Distribution\", \"x\": [0.25, 0.75, 1.25, 1.75, 2.25, 2.75, 3.25, 3.75, 4.25, 4.75, 5.25, 5.75, 6.25, 6.75, 7.25, 7.75], \"y\": [481.0, 0.0, 166.0, 0.0, 23.0, 0.0, 14.0, 0.0, 16.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 7.0], \"type\": \"bar\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}], \"layout\": {\"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"sibsp\", \"standoff\": 0}, \"matches\": \"x\"}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.4, 1.0], \"title\": {\"text\": \"Score\"}, \"range\": [-4.3265293877161355, 2.6411614971005672]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"sibsp\", \"standoff\": 0}, \"tickmode\": \"array\", \"ticktext\": [\"0 - 0.5\", \"0.5 - 1\", \"1 - 1.5\", \"1.5 - 2\", \"2 - 2.5\", \"2.5 - 3\", \"3 - 3.5\", \"3.5 - 4\", \"4 - 4.5\", \"4.5 - 5\", \"5 - 5.5\", \"5.5 - 6\", \"6 - 6.5\", \"6.5 - 7\", \"7 - 7.5\", \"7.5 - 8\"], \"tickvals\": [0.25, 0.75, 1.25, 1.75, 2.25, 2.75, 3.25, 3.75, 4.25, 4.75, 5.25, 5.75, 6.25, 6.75, 7.25, 7.75], \"matches\": \"x\"}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.0, 0.15], \"title\": {\"text\": \"Density\"}}, \"title\": {\"text\": \"Term: sibsp (continuous)\"}, \"showlegend\": false, \"bargap\": 0}}, \"help\": {\"text\": \"The contribution (score) of the term sibsp to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Lower Bound\", \"x\": [0.0, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.0], \"y\": [-0.026375711680160372, 0.20702373436009586, -0.14496598444413641, -0.19823589491660254, -4.3265293877161355, -4.3265293877161355, -4.3265293877161355, -4.3265293877161355], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"color\": \"rgb(31, 119, 180)\", \"shape\": \"hv\"}, \"mode\": \"lines\", \"name\": \"Main\", \"x\": [0.0, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.0], \"y\": [-0.0005859209645916602, 0.240991943902932, 0.002770360606506872, 0.09043215019492529, -3.0756687502716917, -3.0756687502716917, -3.0756687502716917, -3.0756687502716917], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Upper Bound\", \"x\": [0.0, 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.0], \"y\": [0.02520386975097705, 0.27496015344576813, 0.15050670565715016, 0.3791001953064531, -1.8248081128272475, -1.8248081128272475, -1.8248081128272475, -1.8248081128272475], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"hovertemplate\": \"(%{hovertext}): %{y}\", \"hovertext\": [\"0 - 0.375\", \"0.375 - 0.75\", \"0.75 - 1.12\", \"1.12 - 1.5\", \"1.5 - 1.88\", \"1.88 - 2.25\", \"2.25 - 2.62\", \"2.62 - 3\", \"3 - 3.38\", \"3.38 - 3.75\", \"3.75 - 4.12\", \"4.12 - 4.5\", \"4.5 - 4.88\", \"4.88 - 5.25\", \"5.25 - 5.62\", \"5.62 - 6\"], \"marker\": {\"color\": \"#ff7f0e\"}, \"name\": \"Distribution\", \"x\": [0.1875, 0.5625, 0.9375, 1.3125, 1.6875, 2.0625, 2.4375, 2.8125, 3.1875, 3.5625, 3.9375, 4.3125, 4.6875, 5.0625, 5.4375, 5.8125], \"y\": [543.0, 0.0, 88.0, 0.0, 0.0, 68.0, 0.0, 0.0, 5.0, 0.0, 3.0, 0.0, 0.0, 3.0, 0.0, 1.0], \"type\": \"bar\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}], \"layout\": {\"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"parch\", \"standoff\": 0}, \"matches\": \"x\"}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.4, 1.0], \"title\": {\"text\": \"Score\"}, \"range\": [-4.3265293877161355, 2.6411614971005672]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"parch\", \"standoff\": 0}, \"tickmode\": \"array\", \"ticktext\": [\"0 - 0.375\", \"0.375 - 0.75\", \"0.75 - 1.12\", \"1.12 - 1.5\", \"1.5 - 1.88\", \"1.88 - 2.25\", \"2.25 - 2.62\", \"2.62 - 3\", \"3 - 3.38\", \"3.38 - 3.75\", \"3.75 - 4.12\", \"4.12 - 4.5\", \"4.5 - 4.88\", \"4.88 - 5.25\", \"5.25 - 5.62\", \"5.62 - 6\"], \"tickvals\": [0.1875, 0.5625, 0.9375, 1.3125, 1.6875, 2.0625, 2.4375, 2.8125, 3.1875, 3.5625, 3.9375, 4.3125, 4.6875, 5.0625, 5.4375, 5.8125], \"matches\": \"x\"}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.0, 0.15], \"title\": {\"text\": \"Density\"}}, \"title\": {\"text\": \"Term: parch (continuous)\"}, \"showlegend\": false, \"bargap\": 0}}, \"help\": {\"text\": \"The contribution (score) of the term parch to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Lower Bound\", \"x\": [0.0, 2.00625, 5.61875, 6.44375, 6.4729, 6.6229, 6.80415, 6.90415, 6.9625, 7.0104, 7.0479, 7.052099999999999, 7.0896, 7.13335, 7.18335, 7.2271, 7.239599999999999, 7.28125, 7.40415, 7.5083, 7.5354, 7.5896, 7.6396, 7.6875, 7.7271, 7.731249999999999, 7.7354, 7.739599999999999, 7.74585, 7.7625, 7.78125, 7.79165, 7.7979, 7.8146, 7.8416999999999994, 7.864599999999999, 7.8771, 7.88335, 7.89165, 7.9104, 7.9771, 8.0396, 8.08125, 8.125, 8.21875, 8.40835, 8.58545, 8.658349999999999, 8.672899999999998, 8.925, 9.1125, 9.2875, 9.4125, 9.4875, 9.54375, 9.70625, 9.83335, 10.3354, 10.50835, 10.825, 11.1875, 11.37085, 11.75, 12.1375, 12.28125, 12.31875, 12.4125, 12.5, 12.5875, 12.825, 13.20835, 13.45835, 13.64585, 13.825, 13.8604, 13.9854, 14.25415, 14.4271, 14.45625, 14.47915, 14.75, 15.0229, 15.0479, 15.075, 15.172899999999998, 15.3729, 15.525, 15.64585, 15.74585, 15.8, 15.875, 15.95, 16.05, 16.4, 17.25, 17.9, 18.375, 18.76875, 19.0229, 19.37915, 19.73335, 20.089599999999997, 20.23125, 20.3875, 20.549999999999997, 20.7875, 21.0375, 21.3771, 22.19165, 22.67915, 23.125, 23.35, 23.725, 24.075, 24.808349999999997, 25.527099999999997, 25.75625, 25.927100000000003, 25.9646, 26.125, 26.26665, 26.285400000000003, 26.3375, 26.46875, 26.775, 27.3604, 27.7354, 27.825, 28.2, 28.60625, 28.85625, 29.0625, 29.4125, 29.85, 30.0354, 30.2854, 30.5979, 30.8479, 31.1375, 31.331249999999997, 31.854149999999997, 32.410399999999996, 32.75, 33.25, 33.760400000000004, 34.197900000000004, 34.5146, 34.8271, 35.25, 36.125, 36.8771, 37.7521, 38.75, 39.3, 39.64375, 40.63335, 44.239599999999996, 48.2, 49.5021, 49.7521, 50.2479, 51.93125, 52.277100000000004, 52.8271, 54.05, 55.22085, 55.67085, 56.197900000000004, 56.712500000000006, 56.964600000000004, 57.489599999999996, 58.6896, 60.287499999999994, 61.2771, 63.1896, 65.8, 67.94999999999999, 69.425, 70.275, 71.14165, 72.39165, 74.89585, 76.51045, 77.00835000000001, 77.62289999999999, 78.1125, 78.55834999999999, 79.025, 79.42500000000001, 80.75415000000001, 82.01455, 82.66454999999999, 83.31665, 84.9875, 87.8021, 89.5521, 90.53960000000001, 92.28960000000001, 101.2, 109.89165, 112.07915, 116.6375, 126.825, 134.075, 135.06664999999998, 141.07704999999999, 149.0354, 152.50625000000002, 159.1646, 188.1021, 211.41875, 224.65210000000002, 237.5229, 254.9479, 262.6875, 387.6646, 512.3292], \"y\": [-1.2276537556233977, -1.2276537556233977, -1.2276537556233977, -1.2276537556233977, -1.2276537556233977, -1.2276537556233977, -1.2276537556233977, -1.2276537556233977, -1.2276537556233977, -1.2276537556233977, -1.2276537556233977, -1.2276537556233977, -1.2501934401970716, -0.28409106818523705, -0.27118408040573305, -0.26028997399069354, -0.26028997399069354, -0.26028997399069354, -0.26028997399069354, -0.26028997399069354, -0.3019254368043792, -0.3019254368043792, -0.24007823003936218, -0.24007823003936218, -0.24007823003936218, -0.23639162772717132, -0.23639162772717132, -0.23639162772717132, -0.23639162772717132, -0.23639162772717132, -0.23639162772717132, -0.23639162772717132, -0.2378032053118863, -0.2378032053118863, -0.2392059532359484, -0.2392059532359484, -0.2392059532359484, -0.23902547630580642, -0.23902547630580642, -0.23430998635864292, -0.23430998635864292, -0.24152112704617976, -0.24152112704617976, -0.2484842829607055, -0.2484842829607055, -0.2484842829607055, -0.23598307444485636, -0.23598307444485636, -0.23598307444485636, -0.23598307444485636, -0.23598307444485636, -0.22901387955922223, -0.22901387955922223, -0.24916163537742936, -0.24916163537742936, -0.24916163537742936, -0.13947045366031297, -0.08047679085894859, -0.08047679085894859, -0.11827029796039779, -0.11827029796039779, -0.0751381169410327, -0.0751381169410327, -0.0751381169410327, -0.04679471456255474, -0.04679471456255474, -0.04679471456255474, -0.04679471456255474, -0.04679471456255474, -0.04679471456255474, -0.04679471456255474, -0.04679471456255474, -0.04679471456255474, -0.04679471456255474, -0.04679471456255474, -0.05073475301450063, -0.10389826082250789, -0.10389826082250789, -0.10389826082250789, -0.10389826082250789, -0.10389826082250789, -0.10389826082250789, -0.10389826082250789, -0.08982080783957447, -0.10171657878381636, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.03901252150861246, -0.2764334735026348, -0.2764334735026348, -0.2764334735026348, -0.2764334735026348, -0.2764334735026348, -0.24884647777885446, 0.02525240375368809, 0.02525240375368809, 0.024812700144982637, 0.05573026684625955, 0.05345560256208115, 0.05345560256208115, 0.05347112158778325, 0.008143967532446728, 0.0014988845292948708, 0.0014988845292948708, 0.0014988845292948708, 0.0014988845292948708, 0.0014988845292948708, 0.0014988845292948708, 0.0014988845292948708, 0.0014988845292948708, -0.01505383562696308, -0.01505383562696308, -0.01505383562696308, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.03919254569456647, -0.0201747495094958, 0.6460580863399343, 0.6460580863399343, 0.6460580863399343, 0.6460580863399343, 0.6460580863399343, 0.8654258864583763, 0.7318020307619418, 0.6199453253449432, 0.6414477588385474, 0.6316523504329563, 0.468420182917555, 0.4303891097931476, 0.4303891097931476, 0.4303891097931476, 0.4303891097931476, 0.4303891097931476, 0.4303891097931476, 0.4303891097931476, 0.4303891097931476, 0.4303891097931476, 0.4303891097931476, 0.42220757319224134, 0.42220757319224134, 0.42220757319224134, 0.41803324881960974, 0.41803324881960974, 0.19392598797121655, 0.19392598797121655, 0.19392598797121655, 0.36254458884924856, 0.3711089042771102, 0.4673590066792696, 0.4673590066792696, 0.4673590066792696, 0.4673590066792696, 0.4565176059183814, 0.4430611875806587, 0.4430611875806587, 0.4434690889984393, 0.3446679481713918, 0.3446679481713918, 0.5000990424614816, 0.45612712611807504, 0.45612712611807504, 0.45612712611807504, 0.45612712611807504, 0.45612712611807504, 0.45612712611807504, -0.31937811561709484, -0.3268362677962775, -0.23961146467025624, 0.6698598749287615, 0.725860657230942, 0.7506640355066811, 0.7506640355066811], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"color\": \"rgb(31, 119, 180)\", \"shape\": \"hv\"}, \"mode\": \"lines\", \"name\": \"Main\", \"x\": [0.0, 2.00625, 5.61875, 6.44375, 6.4729, 6.6229, 6.80415, 6.90415, 6.9625, 7.0104, 7.0479, 7.052099999999999, 7.0896, 7.13335, 7.18335, 7.2271, 7.239599999999999, 7.28125, 7.40415, 7.5083, 7.5354, 7.5896, 7.6396, 7.6875, 7.7271, 7.731249999999999, 7.7354, 7.739599999999999, 7.74585, 7.7625, 7.78125, 7.79165, 7.7979, 7.8146, 7.8416999999999994, 7.864599999999999, 7.8771, 7.88335, 7.89165, 7.9104, 7.9771, 8.0396, 8.08125, 8.125, 8.21875, 8.40835, 8.58545, 8.658349999999999, 8.672899999999998, 8.925, 9.1125, 9.2875, 9.4125, 9.4875, 9.54375, 9.70625, 9.83335, 10.3354, 10.50835, 10.825, 11.1875, 11.37085, 11.75, 12.1375, 12.28125, 12.31875, 12.4125, 12.5, 12.5875, 12.825, 13.20835, 13.45835, 13.64585, 13.825, 13.8604, 13.9854, 14.25415, 14.4271, 14.45625, 14.47915, 14.75, 15.0229, 15.0479, 15.075, 15.172899999999998, 15.3729, 15.525, 15.64585, 15.74585, 15.8, 15.875, 15.95, 16.05, 16.4, 17.25, 17.9, 18.375, 18.76875, 19.0229, 19.37915, 19.73335, 20.089599999999997, 20.23125, 20.3875, 20.549999999999997, 20.7875, 21.0375, 21.3771, 22.19165, 22.67915, 23.125, 23.35, 23.725, 24.075, 24.808349999999997, 25.527099999999997, 25.75625, 25.927100000000003, 25.9646, 26.125, 26.26665, 26.285400000000003, 26.3375, 26.46875, 26.775, 27.3604, 27.7354, 27.825, 28.2, 28.60625, 28.85625, 29.0625, 29.4125, 29.85, 30.0354, 30.2854, 30.5979, 30.8479, 31.1375, 31.331249999999997, 31.854149999999997, 32.410399999999996, 32.75, 33.25, 33.760400000000004, 34.197900000000004, 34.5146, 34.8271, 35.25, 36.125, 36.8771, 37.7521, 38.75, 39.3, 39.64375, 40.63335, 44.239599999999996, 48.2, 49.5021, 49.7521, 50.2479, 51.93125, 52.277100000000004, 52.8271, 54.05, 55.22085, 55.67085, 56.197900000000004, 56.712500000000006, 56.964600000000004, 57.489599999999996, 58.6896, 60.287499999999994, 61.2771, 63.1896, 65.8, 67.94999999999999, 69.425, 70.275, 71.14165, 72.39165, 74.89585, 76.51045, 77.00835000000001, 77.62289999999999, 78.1125, 78.55834999999999, 79.025, 79.42500000000001, 80.75415000000001, 82.01455, 82.66454999999999, 83.31665, 84.9875, 87.8021, 89.5521, 90.53960000000001, 92.28960000000001, 101.2, 109.89165, 112.07915, 116.6375, 126.825, 134.075, 135.06664999999998, 141.07704999999999, 149.0354, 152.50625000000002, 159.1646, 188.1021, 211.41875, 224.65210000000002, 237.5229, 254.9479, 262.6875, 387.6646, 512.3292], \"y\": [-1.0249171541805393, -1.0249171541805393, -1.0249171541805393, -1.0249171541805393, -1.0249171541805393, -1.0249171541805393, -1.0249171541805393, -1.0249171541805393, -1.0249171541805393, -1.0249171541805393, -1.0249171541805393, -1.0249171541805393, -1.00744483060327, -0.2276172585768022, -0.22159824970419162, -0.21171912883071103, -0.21171912883071103, -0.21171912883071103, -0.21171912883071103, -0.21171912883071103, -0.22423338687914157, -0.22423338687914157, -0.2046725250111494, -0.2046725250111494, -0.2046725250111494, -0.19984773343476658, -0.19984773343476658, -0.19984773343476658, -0.19984773343476658, -0.19984773343476658, -0.19984773343476658, -0.19984773343476658, -0.20976673235141918, -0.20976673235141918, -0.21241445648089563, -0.21241445648089563, -0.21241445648089563, -0.21336864668666883, -0.21336864668666883, -0.17750676689273764, -0.17750676689273764, -0.19711908124522803, -0.19711908124522803, -0.2029436514739681, -0.2029436514739681, -0.2029436514739681, -0.21557703072186213, -0.21557703072186213, -0.21557703072186213, -0.21557703072186213, -0.21557703072186213, -0.1917012279844203, -0.1917012279844203, -0.17772634460093578, -0.17772634460093578, -0.17772634460093578, -0.0692709721224789, -0.0330159793672722, -0.0330159793672722, 0.017218804298727797, 0.017218804298727797, -0.026958533972116075, -0.026958533972116075, -0.026958533972116075, -0.01118104610623237, -0.01118104610623237, -0.01118104610623237, -0.01118104610623237, -0.01118104610623237, -0.01118104610623237, -0.01118104610623237, -0.01118104610623237, -0.01118104610623237, -0.01118104610623237, -0.01118104610623237, -0.01286376060206558, -0.040888534853045694, -0.040888534853045694, -0.040888534853045694, -0.040888534853045694, -0.040888534853045694, -0.040888534853045694, -0.040888534853045694, 0.012970968951145925, 0.09667131605499561, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.005259316310919512, -0.12150766033507909, -0.12150766033507909, -0.12150766033507909, -0.12150766033507909, -0.12150766033507909, -0.0915537248838979, 0.07630384914541313, 0.07630384914541313, 0.07794778315525731, 0.13774248575825193, 0.15180248257618567, 0.15180248257618567, 0.13175275301846942, 0.0582879142075395, 0.044638936839170994, 0.044638936839170994, 0.044638936839170994, 0.044638936839170994, 0.044638936839170994, 0.044638936839170994, 0.044638936839170994, 0.044638936839170994, 0.13732898922930917, 0.13732898922930917, 0.13732898922930917, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.018871756251089875, 0.08190707096512999, 1.0649009288204263, 1.0649009288204263, 1.0649009288204263, 1.0649009288204263, 1.0649009288204263, 1.4011608515782568, 1.0808129553083914, 0.9410955910217176, 0.7198976691197012, 0.7151303197036358, 0.5147608537257249, 0.48315548599032315, 0.48315548599032315, 0.48315548599032315, 0.48315548599032315, 0.48315548599032315, 0.48315548599032315, 0.48315548599032315, 0.48315548599032315, 0.48315548599032315, 0.48315548599032315, 0.47909154708743157, 0.47909154708743157, 0.47909154708743157, 0.46907928712307384, 0.46907928712307384, 0.3969991359025568, 0.3969991359025568, 0.3969991359025568, 0.5344898982473554, 0.566506877687581, 0.6433829256782169, 0.6433829256782169, 0.6433829256782169, 0.6433829256782169, 0.6204741837891621, 0.6091116067957028, 0.6091116067957028, 0.6131028786426209, 0.8075981469327493, 0.8075981469327493, 0.6768554811465959, 0.6560941707277683, 0.6560941707277683, 0.6560941707277683, 0.6560941707277683, 0.6560941707277683, 0.6560941707277683, 0.12897640083423628, 0.15783882969797786, 0.2627975050331987, 1.0172666823470502, 1.206623999725267, 1.219046109071554, 1.219046109071554], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Upper Bound\", \"x\": [0.0, 2.00625, 5.61875, 6.44375, 6.4729, 6.6229, 6.80415, 6.90415, 6.9625, 7.0104, 7.0479, 7.052099999999999, 7.0896, 7.13335, 7.18335, 7.2271, 7.239599999999999, 7.28125, 7.40415, 7.5083, 7.5354, 7.5896, 7.6396, 7.6875, 7.7271, 7.731249999999999, 7.7354, 7.739599999999999, 7.74585, 7.7625, 7.78125, 7.79165, 7.7979, 7.8146, 7.8416999999999994, 7.864599999999999, 7.8771, 7.88335, 7.89165, 7.9104, 7.9771, 8.0396, 8.08125, 8.125, 8.21875, 8.40835, 8.58545, 8.658349999999999, 8.672899999999998, 8.925, 9.1125, 9.2875, 9.4125, 9.4875, 9.54375, 9.70625, 9.83335, 10.3354, 10.50835, 10.825, 11.1875, 11.37085, 11.75, 12.1375, 12.28125, 12.31875, 12.4125, 12.5, 12.5875, 12.825, 13.20835, 13.45835, 13.64585, 13.825, 13.8604, 13.9854, 14.25415, 14.4271, 14.45625, 14.47915, 14.75, 15.0229, 15.0479, 15.075, 15.172899999999998, 15.3729, 15.525, 15.64585, 15.74585, 15.8, 15.875, 15.95, 16.05, 16.4, 17.25, 17.9, 18.375, 18.76875, 19.0229, 19.37915, 19.73335, 20.089599999999997, 20.23125, 20.3875, 20.549999999999997, 20.7875, 21.0375, 21.3771, 22.19165, 22.67915, 23.125, 23.35, 23.725, 24.075, 24.808349999999997, 25.527099999999997, 25.75625, 25.927100000000003, 25.9646, 26.125, 26.26665, 26.285400000000003, 26.3375, 26.46875, 26.775, 27.3604, 27.7354, 27.825, 28.2, 28.60625, 28.85625, 29.0625, 29.4125, 29.85, 30.0354, 30.2854, 30.5979, 30.8479, 31.1375, 31.331249999999997, 31.854149999999997, 32.410399999999996, 32.75, 33.25, 33.760400000000004, 34.197900000000004, 34.5146, 34.8271, 35.25, 36.125, 36.8771, 37.7521, 38.75, 39.3, 39.64375, 40.63335, 44.239599999999996, 48.2, 49.5021, 49.7521, 50.2479, 51.93125, 52.277100000000004, 52.8271, 54.05, 55.22085, 55.67085, 56.197900000000004, 56.712500000000006, 56.964600000000004, 57.489599999999996, 58.6896, 60.287499999999994, 61.2771, 63.1896, 65.8, 67.94999999999999, 69.425, 70.275, 71.14165, 72.39165, 74.89585, 76.51045, 77.00835000000001, 77.62289999999999, 78.1125, 78.55834999999999, 79.025, 79.42500000000001, 80.75415000000001, 82.01455, 82.66454999999999, 83.31665, 84.9875, 87.8021, 89.5521, 90.53960000000001, 92.28960000000001, 101.2, 109.89165, 112.07915, 116.6375, 126.825, 134.075, 135.06664999999998, 141.07704999999999, 149.0354, 152.50625000000002, 159.1646, 188.1021, 211.41875, 224.65210000000002, 237.5229, 254.9479, 262.6875, 387.6646, 512.3292], \"y\": [-0.8221805527376809, -0.8221805527376809, -0.8221805527376809, -0.8221805527376809, -0.8221805527376809, -0.8221805527376809, -0.8221805527376809, -0.8221805527376809, -0.8221805527376809, -0.8221805527376809, -0.8221805527376809, -0.8221805527376809, -0.7646962210094683, -0.17114344896836736, -0.17201241900265019, -0.16314828367072853, -0.16314828367072853, -0.16314828367072853, -0.16314828367072853, -0.16314828367072853, -0.14654133695390395, -0.14654133695390395, -0.16926681998293663, -0.16926681998293663, -0.16926681998293663, -0.16330383914236185, -0.16330383914236185, -0.16330383914236185, -0.16330383914236185, -0.16330383914236185, -0.16330383914236185, -0.16330383914236185, -0.18173025939095205, -0.18173025939095205, -0.18562295972584286, -0.18562295972584286, -0.18562295972584286, -0.18771181706753123, -0.18771181706753123, -0.12070354742683237, -0.12070354742683237, -0.1527170354442763, -0.1527170354442763, -0.1574030199872307, -0.1574030199872307, -0.1574030199872307, -0.1951709869988679, -0.1951709869988679, -0.1951709869988679, -0.1951709869988679, -0.1951709869988679, -0.15438857640961837, -0.15438857640961837, -0.1062910538244422, -0.1062910538244422, -0.1062910538244422, 0.000928509415355161, 0.014444832124404186, 0.014444832124404186, 0.15270790655785338, 0.15270790655785338, 0.021221048996800544, 0.021221048996800544, 0.021221048996800544, 0.02443262235009, 0.02443262235009, 0.02443262235009, 0.02443262235009, 0.02443262235009, 0.02443262235009, 0.02443262235009, 0.02443262235009, 0.02443262235009, 0.02443262235009, 0.02443262235009, 0.02500723181036947, 0.0221211911164165, 0.0221211911164165, 0.0221211911164165, 0.0221211911164165, 0.0221211911164165, 0.0221211911164165, 0.0221211911164165, 0.11576274574186632, 0.2950592108938076, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.028493888886773434, 0.03341815283247662, 0.03341815283247662, 0.03341815283247662, 0.03341815283247662, 0.03341815283247662, 0.06573902801105866, 0.12735529453713818, 0.12735529453713818, 0.131082866165532, 0.21975470467024433, 0.2501493625902902, 0.2501493625902902, 0.2100343844491556, 0.10843186088263228, 0.08777898914904711, 0.08777898914904711, 0.08777898914904711, 0.08777898914904711, 0.08777898914904711, 0.08777898914904711, 0.08777898914904711, 0.08777898914904711, 0.28971181408558144, 0.28971181408558144, 0.28971181408558144, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.07693605819674622, 0.18398889143975578, 1.4837437713009183, 1.4837437713009183, 1.4837437713009183, 1.4837437713009183, 1.4837437713009183, 1.9368958166981374, 1.4298238798548408, 1.262245856698492, 0.798347579400855, 0.7986082889743154, 0.5611015245338948, 0.5359218621874987, 0.5359218621874987, 0.5359218621874987, 0.5359218621874987, 0.5359218621874987, 0.5359218621874987, 0.5359218621874987, 0.5359218621874987, 0.5359218621874987, 0.5359218621874987, 0.5359755209826218, 0.5359755209826218, 0.5359755209826218, 0.520125325426538, 0.520125325426538, 0.6000722838338971, 0.6000722838338971, 0.6000722838338971, 0.7064352076454622, 0.7619048510980518, 0.8194068446771641, 0.8194068446771641, 0.8194068446771641, 0.8194068446771641, 0.7844307616599427, 0.7751620260107468, 0.7751620260107468, 0.7827366682868026, 1.2705283456941068, 1.2705283456941068, 0.8536119198317101, 0.8560612153374616, 0.8560612153374616, 0.8560612153374616, 0.8560612153374616, 0.8560612153374616, 0.8560612153374616, 0.5773309172855674, 0.6425139271922332, 0.7652064747366536, 1.3646734897653388, 1.687387342219592, 1.687428182636427, 1.687428182636427], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"hovertemplate\": \"(%{hovertext}): %{y}\", \"hovertext\": [\"0 - 30.1\", \"30.1 - 60.3\", \"60.3 - 90.4\", \"90.4 - 121\", \"121 - 151\", \"151 - 181\", \"181 - 211\", \"211 - 241\", \"241 - 271\", \"271 - 301\", \"301 - 332\", \"332 - 362\", \"362 - 392\", \"392 - 422\", \"422 - 452\", \"452 - 482\", \"482 - 512\"], \"marker\": {\"color\": \"#ff7f0e\"}, \"name\": \"Distribution\", \"x\": [15.068505882352941, 45.20551764705883, 75.3425294117647, 105.47954117647059, 135.61655294117648, 165.75356470588235, 195.89057647058826, 226.0275882352941, 256.1646, 286.30161176470585, 316.43862352941176, 346.57563529411766, 376.71264705882356, 406.84965882352947, 436.9866705882353, 467.12368235294116, 497.26069411764706], \"y\": [527.0, 88.0, 53.0, 11.0, 8.0, 7.0, 0.0, 8.0, 7.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0], \"type\": \"bar\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}], \"layout\": {\"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"fare\", \"standoff\": 0}, \"matches\": \"x\"}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.4, 1.0], \"title\": {\"text\": \"Score\"}, \"range\": [-4.3265293877161355, 2.6411614971005672]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"fare\", \"standoff\": 0}, \"tickmode\": \"array\", \"ticktext\": [\"0 - 30.1\", \"30.1 - 60.3\", \"60.3 - 90.4\", \"90.4 - 121\", \"121 - 151\", \"151 - 181\", \"181 - 211\", \"211 - 241\", \"241 - 271\", \"271 - 301\", \"301 - 332\", \"332 - 362\", \"362 - 392\", \"392 - 422\", \"422 - 452\", \"452 - 482\", \"482 - 512\"], \"tickvals\": [15.068505882352941, 45.20551764705883, 75.3425294117647, 105.47954117647059, 135.61655294117648, 165.75356470588235, 195.89057647058826, 226.0275882352941, 256.1646, 286.30161176470585, 316.43862352941176, 346.57563529411766, 376.71264705882356, 406.84965882352947, 436.9866705882353, 467.12368235294116, 497.26069411764706], \"matches\": \"x\"}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.0, 0.15], \"title\": {\"text\": \"Density\"}}, \"title\": {\"text\": \"Term: fare (continuous)\"}, \"showlegend\": false, \"bargap\": 0}}, \"help\": {\"text\": \"The contribution (score) of the term fare to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Lower Bound\", \"x\": [0.0, 0.5, 1.0], \"y\": [1.181533747189228, -0.8590345952278551, -0.8590345952278551], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"color\": \"rgb(31, 119, 180)\", \"shape\": \"hv\"}, \"mode\": \"lines\", \"name\": \"Main\", \"x\": [0.0, 0.5, 1.0], \"y\": [1.4154687571457565, -0.7167310020293131, -0.7167310020293131], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Upper Bound\", \"x\": [0.0, 0.5, 1.0], \"y\": [1.649403767102285, -0.574427408830771, -0.574427408830771], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"hovertemplate\": \"(%{hovertext}): %{y}\", \"hovertext\": [\"0 - 0.0714\", \"0.0714 - 0.143\", \"0.143 - 0.214\", \"0.214 - 0.286\", \"0.286 - 0.357\", \"0.357 - 0.429\", \"0.429 - 0.5\", \"0.5 - 0.571\", \"0.571 - 0.643\", \"0.643 - 0.714\", \"0.714 - 0.786\", \"0.786 - 0.857\", \"0.857 - 0.929\", \"0.929 - 1\"], \"marker\": {\"color\": \"#ff7f0e\"}, \"name\": \"Distribution\", \"x\": [0.03571428571428571, 0.10714285714285714, 0.17857142857142855, 0.25, 0.3214285714285714, 0.39285714285714285, 0.4642857142857143, 0.5357142857142857, 0.6071428571428571, 0.6785714285714286, 0.75, 0.8214285714285714, 0.8928571428571429, 0.9642857142857143], \"y\": [239.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 472.0], \"type\": \"bar\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}], \"layout\": {\"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"sex__male\", \"standoff\": 0}, \"matches\": \"x\"}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.4, 1.0], \"title\": {\"text\": \"Score\"}, \"range\": [-4.3265293877161355, 2.6411614971005672]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"sex__male\", \"standoff\": 0}, \"tickmode\": \"array\", \"ticktext\": [\"0 - 0.0714\", \"0.0714 - 0.143\", \"0.143 - 0.214\", \"0.214 - 0.286\", \"0.286 - 0.357\", \"0.357 - 0.429\", \"0.429 - 0.5\", \"0.5 - 0.571\", \"0.571 - 0.643\", \"0.643 - 0.714\", \"0.714 - 0.786\", \"0.786 - 0.857\", \"0.857 - 0.929\", \"0.929 - 1\"], \"tickvals\": [0.03571428571428571, 0.10714285714285714, 0.17857142857142855, 0.25, 0.3214285714285714, 0.39285714285714285, 0.4642857142857143, 0.5357142857142857, 0.6071428571428571, 0.6785714285714286, 0.75, 0.8214285714285714, 0.8928571428571429, 0.9642857142857143], \"matches\": \"x\"}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.0, 0.15], \"title\": {\"text\": \"Density\"}}, \"title\": {\"text\": \"Term: sex__male (continuous)\"}, \"showlegend\": false, \"bargap\": 0}}, \"help\": {\"text\": \"The contribution (score) of the term sex__male to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Lower Bound\", \"x\": [0.0, 0.5, 1.0], \"y\": [-0.008668699917315371, -0.06888852931720754, -0.06888852931720754], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"color\": \"rgb(31, 119, 180)\", \"shape\": \"hv\"}, \"mode\": \"lines\", \"name\": \"Main\", \"x\": [0.0, 0.5, 1.0], \"y\": [-0.0007934386396713372, 0.007885559403502738, 0.007885559403502738], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Upper Bound\", \"x\": [0.0, 0.5, 1.0], \"y\": [0.007081822637972697, 0.08465964812421303, 0.08465964812421303], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"hovertemplate\": \"(%{hovertext}): %{y}\", \"hovertext\": [\"0 - 0.0625\", \"0.0625 - 0.125\", \"0.125 - 0.188\", \"0.188 - 0.25\", \"0.25 - 0.312\", \"0.312 - 0.375\", \"0.375 - 0.438\", \"0.438 - 0.5\", \"0.5 - 0.562\", \"0.562 - 0.625\", \"0.625 - 0.688\", \"0.688 - 0.75\", \"0.75 - 0.812\", \"0.812 - 0.875\", \"0.875 - 0.938\", \"0.938 - 1\"], \"marker\": {\"color\": \"#ff7f0e\"}, \"name\": \"Distribution\", \"x\": [0.03125, 0.09375, 0.15625, 0.21875, 0.28125, 0.34375, 0.40625, 0.46875, 0.53125, 0.59375, 0.65625, 0.71875, 0.78125, 0.84375, 0.90625, 0.96875], \"y\": [646.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 65.0], \"type\": \"bar\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}], \"layout\": {\"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"emb__Q\", \"standoff\": 0}, \"matches\": \"x\"}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.4, 1.0], \"title\": {\"text\": \"Score\"}, \"range\": [-4.3265293877161355, 2.6411614971005672]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"emb__Q\", \"standoff\": 0}, \"tickmode\": \"array\", \"ticktext\": [\"0 - 0.0625\", \"0.0625 - 0.125\", \"0.125 - 0.188\", \"0.188 - 0.25\", \"0.25 - 0.312\", \"0.312 - 0.375\", \"0.375 - 0.438\", \"0.438 - 0.5\", \"0.5 - 0.562\", \"0.562 - 0.625\", \"0.625 - 0.688\", \"0.688 - 0.75\", \"0.75 - 0.812\", \"0.812 - 0.875\", \"0.875 - 0.938\", \"0.938 - 1\"], \"tickvals\": [0.03125, 0.09375, 0.15625, 0.21875, 0.28125, 0.34375, 0.40625, 0.46875, 0.53125, 0.59375, 0.65625, 0.71875, 0.78125, 0.84375, 0.90625, 0.96875], \"matches\": \"x\"}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.0, 0.15], \"title\": {\"text\": \"Density\"}}, \"title\": {\"text\": \"Term: emb__Q (continuous)\"}, \"showlegend\": false, \"bargap\": 0}}, \"help\": {\"text\": \"The contribution (score) of the term emb__Q to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Lower Bound\", \"x\": [0.0, 0.5, 1.0], \"y\": [0.29047975982166796, -0.14381640333335588, -0.14381640333335588], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"color\": \"rgb(31, 119, 180)\", \"shape\": \"hv\"}, \"mode\": \"lines\", \"name\": \"Main\", \"x\": [0.0, 0.5, 1.0], \"y\": [0.32977758879412666, -0.12639335601642598, -0.12639335601642598], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"fill\": \"tonexty\", \"fillcolor\": \"rgba(68, 68, 68, 0.15)\", \"line\": {\"shape\": \"hv\", \"width\": 0}, \"marker\": {\"color\": \"#444\"}, \"mode\": \"lines\", \"name\": \"Upper Bound\", \"x\": [0.0, 0.5, 1.0], \"y\": [0.36907541776658537, -0.10897030869949609, -0.10897030869949609], \"type\": \"scatter\", \"xaxis\": \"x\", \"yaxis\": \"y\"}, {\"hovertemplate\": \"(%{hovertext}): %{y}\", \"hovertext\": [\"0 - 0.0667\", \"0.0667 - 0.133\", \"0.133 - 0.2\", \"0.2 - 0.267\", \"0.267 - 0.333\", \"0.333 - 0.4\", \"0.4 - 0.467\", \"0.467 - 0.533\", \"0.533 - 0.6\", \"0.6 - 0.667\", \"0.667 - 0.733\", \"0.733 - 0.8\", \"0.8 - 0.867\", \"0.867 - 0.933\", \"0.933 - 1\"], \"marker\": {\"color\": \"#ff7f0e\"}, \"name\": \"Distribution\", \"x\": [0.03333333333333333, 0.1, 0.16666666666666669, 0.23333333333333334, 0.3, 0.3666666666666667, 0.43333333333333335, 0.5, 0.5666666666666667, 0.6333333333333333, 0.7000000000000001, 0.7666666666666667, 0.8333333333333334, 0.9, 0.9666666666666667], \"y\": [197.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 514.0], \"type\": \"bar\", \"xaxis\": \"x2\", \"yaxis\": \"y2\"}], \"layout\": {\"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}, \"xaxis\": {\"anchor\": \"y\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"emb__S\", \"standoff\": 0}, \"matches\": \"x\"}, \"yaxis\": {\"anchor\": \"x\", \"domain\": [0.4, 1.0], \"title\": {\"text\": \"Score\"}, \"range\": [-4.3265293877161355, 2.6411614971005672]}, \"xaxis2\": {\"anchor\": \"y2\", \"domain\": [0.0, 1.0], \"title\": {\"text\": \"emb__S\", \"standoff\": 0}, \"tickmode\": \"array\", \"ticktext\": [\"0 - 0.0667\", \"0.0667 - 0.133\", \"0.133 - 0.2\", \"0.2 - 0.267\", \"0.267 - 0.333\", \"0.333 - 0.4\", \"0.4 - 0.467\", \"0.467 - 0.533\", \"0.533 - 0.6\", \"0.6 - 0.667\", \"0.667 - 0.733\", \"0.733 - 0.8\", \"0.8 - 0.867\", \"0.867 - 0.933\", \"0.933 - 1\"], \"tickvals\": [0.03333333333333333, 0.1, 0.16666666666666669, 0.23333333333333334, 0.3, 0.3666666666666667, 0.43333333333333335, 0.5, 0.5666666666666667, 0.6333333333333333, 0.7000000000000001, 0.7666666666666667, 0.8333333333333334, 0.9, 0.9666666666666667], \"matches\": \"x\"}, \"yaxis2\": {\"anchor\": \"x2\", \"domain\": [0.0, 0.15], \"title\": {\"text\": \"Density\"}}, \"title\": {\"text\": \"Term: emb__S (continuous)\"}, \"showlegend\": false, \"bargap\": 0}}, \"help\": {\"text\": \"The contribution (score) of the term emb__S to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"x\": [1.0, 1.5, 2.5, 3.0], \"y\": [0.0, 0.5, 1.5, 2.5, 3.5, 4.5, 8.0], \"z\": [[0.0343528783728221, 0.02766228067783921, 0.02322753451872051], [0.22405166535730858, -0.054335921430453696, -0.12381164293529737], [0.3554623166873967, 0.05397755037715961, -0.17443813721300705], [0.6243142268845043, 0.3321046070990608, -0.32964031031157376], [0.6243142268845043, 0.33292971466212967, -0.3288152027485048], [0.6243142268845043, 0.01387838889385986, -0.6478665285167752]], \"zmax\": 2.6411614971005672, \"zmin\": -4.3265293877161355, \"type\": \"heatmap\"}], \"layout\": {\"title\": {\"text\": \"Term: pclass & sibsp (interaction)\"}, \"xaxis\": {\"title\": {\"text\": \"pclass\"}}, \"yaxis\": {\"title\": {\"text\": \"sibsp\"}}, \"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}}}, \"help\": {\"text\": \"The contribution (score) of the term pclass & sibsp to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"x\": [1.0, 1.5, 2.5, 3.0], \"y\": [0.0, 6.80415, 7.2271, 7.28125, 7.74585, 7.7625, 7.89165, 7.9771, 8.08125, 9.1125, 10.3354, 12.825, 13.20835, 14.75, 15.95, 19.73335, 22.67915, 25.9646, 26.125, 26.775, 29.85, 31.331249999999997, 36.8771, 48.2, 54.05, 63.1896, 76.51045, 80.75415000000001, 112.07915, 159.1646, 512.3292], \"z\": [[0.11078455773174678, -0.04430966114627054, -0.013220335270674415], [0.13349761453227998, -0.021596604345737354, -0.013220335270674415], [0.13349761453227998, -0.021596604345737354, -0.013220335270674415], [0.13349761453227998, -0.021596604345737354, -0.013220335270674415], [0.13349761453227998, -0.021596604345737354, -0.013220335270674415], [0.13349761453227998, -0.021596604345737354, -0.013220335270674415], [0.13349761453227998, -0.021596604345737354, -0.013220335270674415], [0.13349761453227998, -0.021596604345737354, -0.013220335270674415], [0.13349761453227998, -0.021596604345737354, -0.013220335270674415], [0.13349761453227998, -0.021596604345737354, -0.013220335270674415], [0.13349761453227998, -0.021596604345737354, -0.013220335270674415], [0.19603055739648484, 0.030689219213760652, -0.023164991524414015], [0.19603055739648484, -0.03557759778374328, -0.08943180852191791], [0.19603055739648484, -0.03557759778374328, -0.08943180852191791], [0.19603055739648484, -0.03557759778374328, -0.08943180852191791], [0.1915552217509015, -0.05394808886726561, -0.1033269639598569], [0.1915552217509015, -0.05394808886726561, -0.1033269639598569], [0.1915552217509015, -0.05394808886726561, -0.1033269639598569], [0.42375006530430526, -0.05394808886726561, -0.1033269639598569], [0.15505566940386464, -0.07346368590591801, -0.1033269639598569], [0.15822756376778851, -0.07346368590591801, -0.1033269639598569], [0.05994250931733185, -0.07494773121756444, -0.06699614154799255], [0.05813981058550418, -0.07675042994939212, -0.06699614154799255], [-0.022383115189948267, 0.10759073051076164, 0.6201390292329023], [-0.022383115189948267, 0.12114495522910261, 0.6394862470743722], [-0.022383115189948267, 0.06995167636431796, 0.5882929682095875], [-0.022383115189948267, 0.06995167636431796, 0.5882929682095875], [-0.022383115189948267, 0.06995167636431796, 0.5882929682095875], [-0.022383115189948267, 0.06995167636431796, 0.5882929682095875], [-0.022383115189948267, 0.06995167636431796, 0.5882929682095875]], \"zmax\": 2.6411614971005672, \"zmin\": -4.3265293877161355, \"type\": \"heatmap\"}], \"layout\": {\"title\": {\"text\": \"Term: pclass & fare (interaction)\"}, \"xaxis\": {\"title\": {\"text\": \"pclass\"}}, \"yaxis\": {\"title\": {\"text\": \"fare\"}}, \"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}}}, \"help\": {\"text\": \"The contribution (score) of the term pclass & fare to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"x\": [1.0, 1.5, 2.5, 3.0], \"y\": [0.0, 0.5, 1.0], \"z\": [[0.7224187747966515, 0.7224187747966515, -0.3087930185992017], [-0.2892773759949459, -0.2987662269463479, -0.0053775802749719825]], \"zmax\": 2.6411614971005672, \"zmin\": -4.3265293877161355, \"type\": \"heatmap\"}], \"layout\": {\"title\": {\"text\": \"Term: pclass & sex__male (interaction)\"}, \"xaxis\": {\"title\": {\"text\": \"pclass\"}}, \"yaxis\": {\"title\": {\"text\": \"sex__male\"}}, \"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}}}, \"help\": {\"text\": \"The contribution (score) of the term pclass & sex__male to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"x\": [0.42, 2.5, 5.5, 9.5, 15.5, 17.5, 18.5, 19.5, 20.75, 21.5, 23.75, 24.25, 25.5, 27.5, 28.25, 29.34955882352941, 29.84955882352941, 30.75, 32.25, 33.5, 35.5, 36.75, 39.5, 41.5, 43.5, 45.25, 48.5, 51.5, 55.25, 60.5, 80.0], \"y\": [0.0, 0.5, 1.5, 2.5, 3.5, 4.5, 8.0], \"z\": [[0.8547015854541823, 0.8503155973733998, 0.8503155973733998, 0.07472735694399413, 0.030516885112631467, -0.013434966921387946, -0.013434966921387946, -0.013434966921387946, -0.019132765738831, -0.019132765738831, -0.003219871060859996, -0.003219871060859996, 0.01968313846458375, 0.01968313846458375, 0.01968313846458375, 0.005465346451902308, 0.005465346451902308, 0.005465346451902308, 0.005465346451902308, 0.005465346451902308, 0.005465346451902308, 0.004882431294444102, 0.004882431294444102, 0.013370450360864287, 0.013370450360864287, -0.14848443651912727, -0.14848443651912727, -0.14848443651912727, -0.14848443651912727, -0.14848443651912727], [0.8411467534011524, 0.83676076532037, 0.8326421608451602, 0.057053920415754335, -0.00017149865007417154, -0.044123350684093586, -0.044123350684093586, -0.044123350684093586, -0.07227400007645757, -0.07227400007645757, -0.07227400007645757, -0.07227400007645757, -0.07227400007645757, -0.07227400007645757, -0.07227400007645757, -0.027164636220120608, -0.027164636220120608, -0.027164636220120608, -0.041191483085917704, -0.041191483085917704, -0.041191483085917704, -0.04177439824337591, -0.04177439824337591, -0.04177439824337591, -0.04177439824337591, 0.072006876371045, 0.09119510088974685, 0.09119510088974685, 0.3459254470957496, 0.3459254470957496], [-0.15178334955520575, -0.1561693376359882, -0.16028794211119793, -0.27081035028536116, -0.32097027086229335, -0.33791722743244496, -0.33791722743244496, -0.33791722743244496, -0.36037007800736587, -0.2704572215025165, -0.1528445734414468, -0.1528445734414468, -0.1528445734414468, -0.1528445734414468, 0.012878273770601087, 0.12949596219282747, 0.420685032568508, 0.420685032568508, 0.4066581857027109, 0.4066581857027109, 0.4066581857027109, 0.40607527054525266, 0.40607527054525266, 0.40607527054525266, 0.40607527054525266, 0.5226604754411134, 0.5418486999598152, 0.5418486999598152, 0.7965790461658179, 0.7965790461658179], [-0.4965277227835748, -0.38431765568620374, -0.40948970908662113, -0.40948970908662113, -0.41634659933625673, -0.41634659933625673, -0.41634659933625673, -0.41634659933625673, -0.43879944991117764, -0.34888659340632827, -0.23127394534525858, -0.23127394534525858, -0.23127394534525858, -0.23127394534525858, -0.0655510981332107, 0.051066590289015695, 0.34225566066469615, 0.34225566066469615, 0.32822881379889907, 0.32822881379889907, 0.32822881379889907, 0.32822881379889907, 0.32822881379889907, 0.32822881379889907, 0.32822881379889907, 0.4448140186947597, 0.46400224321346156, 0.46400224321346156, 0.7187325894194644, 0.7187325894194644], [-0.4965277227835748, -0.38040490075668737, -0.4055769541571048, -0.4055769541571048, -0.4124338444067404, -0.4124338444067404, -0.4124338444067404, -0.4124338444067404, -0.4348866949816613, -0.34497383847681196, -0.22736119041574226, -0.22736119041574226, -0.22736119041574226, -0.22736119041574226, -0.06163834320369437, 0.05497934521853204, 0.3461684155942125, 0.3461684155942125, 0.3321415687284154, 0.3321415687284154, 0.3321415687284154, 0.3321415687284154, 0.3321415687284154, 0.3321415687284154, 0.3321415687284154, 0.448726773624276, 0.46791499814297793, 0.46791499814297793, 0.7226453443489808, 0.7226453443489808], [-0.5109943567303632, -0.39487153470347586, -0.4200435881038933, -0.4200435881038933, -0.4269004783535289, -0.4269004783535289, -0.4269004783535289, -0.4269004783535289, -0.4493533289284498, -0.3594404724236005, -0.2418278243625308, -0.2418278243625308, -0.2418278243625308, -0.2418278243625308, -0.07610497715048282, 0.040512711271743496, 0.331701781647424, 0.331701781647424, 0.3176749347816269, 0.3176749347816269, 0.3176749347816269, 0.3176749347816269, 0.3176749347816269, 0.3176749347816269, 0.3176749347816269, 0.448726773624276, 0.46791499814297793, 0.46791499814297793, 0.7226453443489808, 0.7226453443489808]], \"zmax\": 2.6411614971005672, \"zmin\": -4.3265293877161355, \"type\": \"heatmap\"}], \"layout\": {\"title\": {\"text\": \"Term: age & sibsp (interaction)\"}, \"xaxis\": {\"title\": {\"text\": \"age\"}}, \"yaxis\": {\"title\": {\"text\": \"sibsp\"}}, \"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}}}, \"help\": {\"text\": \"The contribution (score) of the term age & sibsp to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"x\": [0.42, 2.5, 5.5, 9.5, 15.5, 17.5, 18.5, 19.5, 20.75, 21.5, 23.75, 24.25, 25.5, 27.5, 28.25, 29.34955882352941, 29.84955882352941, 30.75, 32.25, 33.5, 35.5, 36.75, 39.5, 41.5, 43.5, 45.25, 48.5, 51.5, 55.25, 60.5, 80.0], \"y\": [0.0, 6.80415, 7.2271, 7.28125, 7.74585, 7.7625, 7.89165, 7.9771, 8.08125, 9.1125, 10.3354, 12.825, 13.20835, 14.75, 15.95, 19.73335, 22.67915, 25.9646, 26.125, 26.775, 29.85, 31.331249999999997, 36.8771, 48.2, 54.05, 63.1896, 76.51045, 80.75415000000001, 112.07915, 159.1646, 512.3292], \"z\": [[0.30643185981085164, 0.30643185981085164, 0.30643185981085164, 0.30129801186561966, 0.2888605433579598, 0.2841074168281475, 0.43285156988272094, 0.41974203158557477, 0.44849912096009437, 0.44607230249258134, 0.46361790345080056, 0.458642518284336, 0.44635391646879863, 0.37412634475929474, 0.3701010987467621, -0.22214262745267077, -0.22685485417879578, -0.22685485417879578, -0.2336007878192934, -0.2336007878192934, -0.23625450351014404, -0.22407990297326502, -0.22407990297326502, -0.17957252974312204, -0.1613059580001086, -0.1631317101655707, -0.1631317101655707, -0.20818490176922488, -0.2727498279055143, -0.2727498279055143], [0.41267568223398465, 0.41267568223398465, 0.41267568223398465, 0.4075418342887527, 0.3951043657810929, 0.3903512392512806, 0.45461914495603756, 0.44150960665889166, 0.45050324261579555, 0.4480764241482825, 0.4656220251065016, 0.4518136908856356, 0.43952508907009835, 0.36729751736059446, 0.3632722713480619, -0.22897145485137102, -0.23368368157749603, -0.23368368157749603, -0.2404296152179936, -0.2404296152179936, -0.24308333090884426, -0.2309087303719653, -0.2309087303719653, -0.18640135714182227, -0.16813478539880883, -0.16996053756427087, -0.16996053756427087, -0.21501372916792505, -0.2795786553042145, -0.2795786553042145], [0.40783553563687547, 0.40783553563687547, 0.40783553563687547, 0.4027016876916435, 0.39026421918398374, 0.38551109265417144, 0.4497789983589285, 0.4366694600617825, 0.4456630960186864, 0.4432362775511734, 0.4607818785093925, 0.44697354428852654, 0.43468494247298917, 0.3624573707634854, 0.3632722713480619, -0.22897145485137102, -0.23368368157749603, -0.23368368157749603, -0.2404296152179936, -0.2404296152179936, -0.24308333090884426, -0.2309087303719653, -0.2309087303719653, -0.18640135714182227, -0.16813478539880883, -0.16996053756427087, -0.16996053756427087, -0.21501372916792505, -0.2795786553042145, -0.2795786553042145], [0.4197302197869571, 0.4197302197869571, 0.4197302197869571, 0.41459637184172515, 0.4021589033340654, 0.3974057768042531, 0.46167368250901014, 0.4281969742208466, 0.4349669774604319, 0.43254015899291887, 0.43254015899291887, 0.4187318247720529, 0.4064432229565156, 0.3342156512470117, 0.3350305518315882, -0.2572131743678447, -0.26192540109396967, -0.26192540109396967, -0.2686713347344673, -0.2686713347344673, -0.27132505042531796, -0.259150449888439, -0.259150449888439, -0.21464307665829596, -0.19637650491528247, -0.19820225708074457, -0.19820225708074457, -0.24325544868439875, -0.3078203748206882, -0.3078203748206882], [0.4197302197869571, 0.4197302197869571, 0.4197302197869571, 0.41459637184172515, 0.4021589033340654, 0.3974057768042531, 0.46167368250901014, 0.4281969742208466, 0.4349669774604319, 0.43254015899291887, 0.43254015899291887, 0.42097599245929695, 0.4181887591805838, 0.3459611874710799, 0.34677608805565646, -0.22828121391011072, -0.23299344063623575, -0.23299344063623575, -0.23973937427673334, -0.23973937427673334, -0.24239308996758394, -0.23021848943070505, -0.23021848943070505, -0.18571111620056202, -0.16744454445754847, -0.16927029662301057, -0.16927029662301057, -0.21432348822666475, -0.2788884143629542, -0.2788884143629542], [0.14150462873822456, 0.14150462873822456, 0.12292605305384813, 0.10751573621643054, 0.09507826770877073, 0.08798848057514316, 0.1522563862799003, 0.11445159514330949, 0.11807025805863117, 0.11564343959111811, 0.11564343959111811, 0.10407927305749623, 0.13091475839046068, 0.05868718668095684, 0.07495783731422942, -0.013207327307074551, -0.013167694570444134, -0.013167694570444134, -0.01991362821094175, -0.01991362821094175, -0.02256734390179236, -0.018662532753774923, -0.018662532753774923, 0.02584484047636788, 0.04411141221938147, 0.03307867931597426, 0.03307867931597426, -0.019716403044626043, -0.09439301631563415, -0.10182301778703948], [0.26021607572005473, 0.26021607572005473, 0.24163750003567827, 0.22622718319826068, 0.19205064103853295, 0.18496085390490535, 0.18318370729563813, 0.14339267175241288, 0.09218476574602974, 0.08975794727851671, 0.08975794727851671, 0.07819378074489483, 0.10502926607785928, 0.03280169436835542, 0.049072345001628014, -0.03909281961967596, -0.039053186883045536, -0.039053186883045536, -0.04579912052354313, -0.04579912052354313, -0.048452836214393745, -0.04454802506637636, -0.04454802506637636, -4.065183623354687e-05, 0.018225919906779974, 0.007193187003372781, 0.007193187003372781, -0.04560189535722752, -0.12027850862823558, -0.1277085100996409], [0.2640960109970586, 0.2640960109970586, 0.24551743531268214, 0.23010711847526455, 0.19593057631553681, 0.18884078918190922, 0.187063642572642, 0.14339267175241288, 0.09218476574602974, 0.08975794727851671, 0.08975794727851671, 0.07819378074489483, 0.10502926607785928, 0.03280169436835542, 0.049072345001628014, -0.03909281961967596, -0.039053186883045536, -0.039053186883045536, -0.04579912052354313, -0.04579912052354313, -0.048452836214393745, -0.04454802506637636, -0.04454802506637636, -4.065183623354687e-05, 0.018225919906779974, 0.007193187003372781, 0.007193187003372781, -0.04560189535722752, -0.12027850862823558, -0.1277085100996409], [0.10882719982533248, 0.10882719982533248, 0.09024862414095605, 0.07483830730353846, 0.040661765143810674, 0.033571978010183114, 0.031794831400915866, -0.01187613941931321, -0.06308404542569634, -0.06308404542569634, -0.061594416180836324, -0.03534873180864253, -0.00153914722400399, 0.006308800067751317, 0.022579450701023917, 0.02705576115939358, 0.027095393896023993, 0.027095393896023993, 0.02034946025552639, 0.02034946025552639, 0.01769574456467578, -0.07301875816289022, -0.07301875816289022, -0.028511384932747214, -0.0102448131897337, -0.021277546093140927, -0.021277546093140927, -0.07407262845374124, -0.14874924172474943, -0.15617924319615473], [0.11864688184357511, 0.11864688184357511, 0.10006830615919868, 0.08465798932178109, 0.05048144716205329, 0.04339166002842573, 0.041614513419158485, -0.0020564574010706015, -0.0532643634074537, -0.0532643634074537, -0.051774734162593684, -0.025529049790399903, 0.008280534794238611, 0.016128482085993958, 0.03239913271926652, 0.04666864118357993, 0.04670827392021035, 0.04670827392021035, 0.03996234027971274, 0.03996234027971274, 0.03730862458886213, -0.06273130044587785, -0.06273130044587785, -0.018223927215734882, -0.0004516151837899241, -0.011484348087197144, -0.011484348087197144, -0.06427943044779744, -0.1389560437188057, -0.146386045190211], [0.11937285046601862, 0.11937285046601862, 0.10079427478164218, 0.0853839579442246, 0.05120741578449681, 0.04411762865086924, 0.04234048204160199, -0.001330488778627091, -0.05253839478501019, -0.05253839478501019, -0.05104876554015018, -0.024803081167956396, 0.009006503416682125, 0.016854450708437472, 0.033125101341710025, 0.04739460980602344, 0.04743424254265386, 0.04743424254265386, 0.04068830890215625, 0.04068830890215625, 0.03803459321130564, -0.0630073776067854, -0.0630073776067854, -0.018500004376642433, -0.005791043193250862, -0.016823776096658083, -0.016823776096658083, -0.06961885845725838, -0.14429547172826662, -0.15172547319967195], [0.053276965812331524, 0.053276965812331524, 0.034698390127955094, 0.019288073290537493, -0.014888468869190263, -0.017225129473005536, -0.017739206809600196, -0.0002241338014474896, -0.05071725049787718, -0.049162651575646886, -0.046807951932792226, -0.020562267560598445, 0.013247317024040086, 0.021095264315795427, 0.037365914949068005, 0.052118443549278526, 0.05215807628590895, 0.05215807628590895, 0.045412142645411324, 0.045412142645411324, 0.04275842695456072, -0.06169186605040037, -0.06169186605040037, -0.017184492820257385, -0.022791704969394443, -0.03382443787280165, -0.03382443787280165, -0.08661952023340197, -0.16129613350441016, -0.16872613497581548], [0.04630786719047331, 0.04630786719047331, 0.027729291506096883, 0.012318974668679287, -0.021857567491048467, -0.024194228094863747, -0.024708305431458404, -0.004826202323198345, -0.05531931901962806, -0.04795106895423674, -0.04559636931138208, -0.01935068493918827, 0.014458899645450255, 0.02230684693720559, 0.038577497570478174, 0.053330026170688695, 0.05336965890731911, 0.05336965890731911, 0.0466237252668215, 0.0466237252668215, 0.043970009575970886, -0.06048028342899019, -0.06048028342899019, -0.0543021834629737, -0.05990939561211075, -0.07094212851551795, -0.07094212851551795, -0.12373721087611828, -0.19841382414712647, -0.2058438256185318], [0.046873348585262965, 0.046873348585262965, 0.028294772900886535, 0.01288445606346894, -0.021292086096258815, -0.023628746700074095, -0.02382698672074423, -0.003944883612484178, -0.05443800030891391, -0.047069750243522564, -0.0447150506006679, -0.0184693662284741, 0.015340218356164427, 0.023188165647919753, 0.03945881628119234, 0.054211344881402855, 0.05425097761803326, 0.05425097761803326, 0.04750504397753567, 0.04750504397753567, 0.044851328286685054, -0.05959896471827605, -0.05959896471827605, -0.053986346147049176, -0.059593558296186226, -0.07062629119959343, -0.07062629119959343, -0.12342137356019375, -0.19809798683120194, -0.20552798830260727], [0.022758788877313627, 0.022758788877313627, 0.004180213192937187, -0.01123010364448038, -0.021430918428101894, -0.023767579031917167, -0.02396581905258731, -0.0040837159443272535, -0.05457683264075699, -0.045534305647381784, -0.04317960600452712, -0.016933921632333315, 0.016875662952305207, 0.024723610244060532, 0.04099426087733312, 0.05574678947754364, 0.05578642221417405, 0.05578642221417405, 0.049040488573676454, 0.049040488573676454, 0.04638677288282584, -0.05941944244252883, -0.05941944244252883, -0.05380682387130197, -0.05941403602043902, -0.07044676892384624, -0.07044676892384624, -0.12324185128444654, -0.19791846455545475, -0.20534846602686005], [0.022758788877313627, 0.022758788877313627, 0.004180213192937187, -0.01123010364448038, -0.021430918428101894, -0.023767579031917167, -0.02396581905258731, -0.0040837159443272535, -0.05457683264075699, -0.045534305647381784, -0.04317960600452712, -0.016933921632333315, 0.016875662952305207, 0.024723610244060532, 0.04099426087733312, 0.05574678947754364, 0.05578642221417405, 0.05578642221417405, 0.049040488573676454, 0.049040488573676454, 0.04638677288282584, -0.05941944244252883, -0.05941944244252883, -0.05380682387130197, -0.05941403602043902, -0.07044676892384624, -0.07044676892384624, -0.12324185128444654, -0.19791846455545475, -0.20534846602686005], [0.020645418644429786, 0.020645418644429786, 0.002066842960053347, -0.013343473877364218, -0.020578990067437526, -0.0229156506712528, -0.023113890691922934, -0.0032317875836628818, -0.05372490428009261, -0.04468237728671741, -0.04232767764386274, -0.016081993271668947, 0.017727591312969578, 0.025575538604724904, 0.041846189237997496, 0.056598717838208, 0.056638350574838424, 0.056638350574838424, 0.049892416934340815, 0.049892416934340815, 0.047238701243490215, -0.0595980554841006, -0.0595980554841006, -0.053985436912873726, -0.05959264906201079, -0.07062538196541801, -0.07062538196541801, -0.1234204643260183, -0.1980970775970265, -0.20552707906843182], [0.021401351502779734, 0.021401351502779734, 0.0028227758184032944, -0.011118173260985353, -0.014218470989998941, -0.016555131593814214, -0.016753371614484355, 0.0031287314937756775, -0.04736438520265404, -0.038321858209278845, -0.03596715856642418, -0.009721474194230383, 0.024088110390408146, 0.031936057682163475, 0.048206708315436074, 0.06295923691564659, 0.062998869652277, 0.062998869652277, 0.05625293601177939, 0.05625293601177939, 0.05359922032092878, -0.05582840700794483, -0.05582840700794483, -0.05273302283680428, -0.059884222350825654, -0.07091695525423286, -0.07091695525423286, -0.12371203761483318, -0.19838865088584137, -0.2058186523572467], [0.01706931589780533, 0.01706931589780533, -0.001509259786571104, -0.011785728678756692, -0.011638528017584956, -0.01397518862140023, -0.014173428642070371, 0.006346342299804105, -0.044146774396625614, -0.03423481662231415, -0.031880116979459486, 0.0007938518588687035, 0.034603436443507246, 0.042451383735262575, 0.05872203436853517, 0.07347456296874569, 0.0735141957053761, 0.0735141957053761, 0.06676826206487849, 0.06676826206487849, 0.06411454637402789, -0.04531308095484574, -0.04531308095484574, -0.0422176967837052, -0.04936889629772656, -0.06040162920113378, -0.06040162920113378, -0.11319671156173411, -0.1878733248327423, -0.1953033263041476], [0.03586039897601056, 0.03586039897601056, 0.01728182329163412, 0.007005354399448533, 0.007152555060620265, 0.0048158944568049925, 0.0046176544361348545, 0.025137425378009316, -0.025355691318420394, -0.015443733544108936, -0.013089033901254269, 0.01958493493707392, 0.05339451952171246, 0.02068780337083055, 0.03567716026925155, 0.05042968886946205, 0.050469321606092465, 0.050469321606092465, 0.04372338796559487, 0.04372338796559487, 0.04106967227474426, -0.06835795505412937, -0.06835795505412937, -0.07321606991732485, -0.08036726943134626, -0.09140000233475346, -0.09140000233475346, -0.14419508469535378, -0.1945379746066336, -0.20196797607803893], [0.024701901025495014, 0.024701901025495014, 0.006123325341118575, -0.004153143551067011, -0.004005942889895279, -0.006342603493710552, -0.00654084351438069, 0.013978927427493777, -0.03651418926893594, -0.026602231494624477, -0.02424753185176981, 0.02566638003181719, 0.059475964616455726, 0.026769248465573818, 0.04175860536399482, 0.05651113396420532, 0.05655076670083573, 0.05655076670083573, 0.04980483306033814, 0.04980483306033814, 0.04715111736948753, -0.0622765099593861, -0.0622765099593861, -0.06713462482258159, -0.07428582433660297, -0.0853185572400102, -0.0853185572400102, -0.10117966233335646, -0.14838493901873964, -0.15581494049014497], [0.1132674004204664, 0.1132674004204664, -0.0014612610376623994, -0.011737729929847986, -0.011590529268676254, -0.013927189872491526, -0.014125429893161665, 0.006394341048712806, -0.04409877564771691, -0.03418681787340545, -0.031832118230550786, 0.018081793653036214, 0.05189137823767475, 0.019184662086792845, 0.03417401898521384, 0.04892654758542434, 0.04896618032205475, 0.04896618032205475, 0.042220246681557154, 0.042220246681557154, 0.039566530990706554, -0.06986109633816706, -0.06986109633816706, -0.07471921120136255, -0.08187041071538395, -0.09290314361879115, -0.09290314361879115, -0.10876424871213741, -0.12379148518215308, -0.1312214866535584], [0.1132674004204664, 0.1132674004204664, -0.0014612610376623994, -0.011737729929847986, -0.011590529268676254, -0.013927189872491526, -0.014125429893161665, 0.006394341048712806, -0.04409877564771691, -0.03418681787340545, -0.031832118230550786, 0.018081793653036214, 0.05189137823767475, 0.019184662086792845, 0.03417401898521384, 0.04892654758542434, 0.04896618032205475, 0.04896618032205475, 0.042220246681557154, 0.042220246681557154, 0.039566530990706554, -0.06986109633816706, -0.06986109633816706, -0.07471921120136255, -0.08187041071538395, -0.09290314361879115, -0.09290314361879115, -0.10876424871213741, -0.12379148518215308, -0.1312214866535584], [0.1132674004204664, 0.1132674004204664, -0.0014612610376623994, -0.011737729929847986, -0.011590529268676254, -0.013927189872491526, -0.014125429893161665, 0.006394341048712806, -0.04409877564771691, -0.03418681787340545, -0.031832118230550786, 0.018081793653036214, 0.05189137823767475, 0.019184662086792845, 0.03417401898521384, 0.04892654758542434, 0.04896618032205475, 0.04896618032205475, 0.042220246681557154, 0.042220246681557154, 0.039566530990706554, -0.06986109633816706, -0.06986109633816706, -0.07471921120136255, -0.08187041071538395, -0.09290314361879115, -0.09290314361879115, -0.10876424871213741, -0.12379148518215308, -0.1312214866535584], [0.1132674004204664, 0.1132674004204664, -0.0014612610376623994, -0.011737729929847986, -0.011590529268676254, -0.013927189872491526, -0.014125429893161665, 0.006394341048712806, -0.04409877564771691, -0.03418681787340545, -0.031832118230550786, 0.018081793653036214, 0.05189137823767475, 0.019184662086792845, 0.03417401898521384, 0.04892654758542434, 0.04896618032205475, 0.04896618032205475, 0.042220246681557154, 0.042220246681557154, 0.039566530990706554, -0.06986109633816706, -0.06986109633816706, -0.07471921120136255, -0.08187041071538395, -0.09290314361879115, -0.09290314361879115, -0.10876424871213741, -0.12379148518215308, -0.1312214866535584], [0.1307196700293153, 0.1307196700293153, 0.015991008571186502, 0.005714539679000909, 0.005861740340172637, -0.08214297738722626, -0.0823412174078964, -0.06182144646602191, -0.11231456316245164, -0.10240260538814017, -0.10004790574528549, -0.05013399386169851, -0.016324409277059956, -0.04903112542794188, -0.034041768529520906, -0.019289239929310364, 0.07160912632404423, 0.07312308050116192, 0.07312308050116192, 0.07312308050116192, 0.07046936481031132, -0.0008592768289647692, -0.0008592768289647692, -0.005717391692160288, -0.012868591206181668, -0.022075571944126786, -0.022075571944126786, -0.03793667703747304, -0.05296391350748871, -0.06039391497889402], [0.1307196700293153, 0.1307196700293153, 0.015991008571186502, 0.005714539679000909, 0.005861740340172637, -0.08214297738722626, -0.0823412174078964, -0.06182144646602191, -0.11231456316245164, -0.10240260538814017, -0.10004790574528549, -0.05013399386169851, -0.016324409277059956, -0.04903112542794188, -0.034041768529520906, -0.019289239929310364, 0.07160912632404423, 0.07312308050116192, 0.07312308050116192, 0.07312308050116192, 0.07046936481031132, -0.0008592768289647692, -0.0008592768289647692, -0.005717391692160288, -0.012868591206181668, -0.022075571944126786, -0.022075571944126786, -0.03793667703747304, -0.05296391350748871, -0.06039391497889402], [0.1307196700293153, 0.1307196700293153, 0.015991008571186502, 0.005714539679000909, 0.005861740340172637, -0.08214297738722626, -0.0823412174078964, -0.06182144646602191, -0.11231456316245164, -0.10240260538814017, -0.10004790574528549, -0.05013399386169851, -0.016324409277059956, -0.04903112542794188, -0.034041768529520906, -0.019289239929310364, 0.07160912632404423, 0.07312308050116192, 0.07312308050116192, 0.07312308050116192, 0.07046936481031132, -0.0008592768289647692, -0.0008592768289647692, -0.005717391692160288, -0.012868591206181668, -0.022075571944126786, -0.022075571944126786, -0.03793667703747304, -0.05296391350748871, -0.06039391497889402], [0.1307196700293153, 0.1307196700293153, 0.015991008571186502, 0.005714539679000909, 0.005861740340172637, -0.08214297738722626, -0.0823412174078964, -0.06182144646602191, -0.11231456316245164, -0.10240260538814017, -0.10004790574528549, -0.05013399386169851, -0.016324409277059956, -0.04903112542794188, -0.034041768529520906, -0.019289239929310364, 0.07160912632404423, 0.07312308050116192, 0.07312308050116192, 0.07312308050116192, 0.08081974046307933, 0.009491098823803239, 0.009491098823803239, 0.00463298396060772, -0.002518215553413654, -0.011725196291358778, -0.011725196291358778, -0.027586301384705032, -0.04261353785472071, -0.05004353932612602], [0.07994282222211246, 0.07994282222211246, -0.03478583923601634, -0.04506230812820194, -0.04491510746703021, -0.13291982519442913, -0.13311806521509925, -0.11259829427322479, -0.16309141096965452, -0.153179453195343, -0.15082475355248834, -0.10091084166890138, -0.06710125708426282, -0.09980797323514473, -0.08481861633672377, -0.07006608773651321, 0.06999340235497167, 0.0852906309819291, 0.0852906309819291, 0.0852906309819291, 0.10599451712837199, 0.03466587548909589, 0.03466587548909589, 0.02980776062590037, 0.022656561111878998, 0.013449580373933878, 0.013449580373933878, 0.005707689616987753, -0.004403997517730985, -0.011833998989136299]], \"zmax\": 2.6411614971005672, \"zmin\": -4.3265293877161355, \"type\": \"heatmap\"}], \"layout\": {\"title\": {\"text\": \"Term: age & fare (interaction)\"}, \"xaxis\": {\"title\": {\"text\": \"age\"}}, \"yaxis\": {\"title\": {\"text\": \"fare\"}}, \"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}}}, \"help\": {\"text\": \"The contribution (score) of the term age & fare to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"x\": [0.42, 2.5, 5.5, 9.5, 15.5, 17.5, 18.5, 19.5, 20.75, 21.5, 23.75, 24.25, 25.5, 27.5, 28.25, 29.34955882352941, 29.84955882352941, 30.75, 32.25, 33.5, 35.5, 36.75, 39.5, 41.5, 43.5, 45.25, 48.5, 51.5, 55.25, 60.5, 80.0], \"y\": [0.0, 0.5, 1.0], \"z\": [[0.040663746080601464, 0.04795714679556691, 0.04795714679556691, 0.10277055137400021, 0.1214250102600736, 0.1214250102600736, 0.14739695722749213, 0.14739695722749213, 0.14851188864436554, 0.16944176472326913, 0.16944176472326913, 0.16944176472326913, 0.16944176472326913, 0.16944176472326913, 0.16944176472326913, 0.16944176472326913, 0.14419108158084573, 0.14419108158084573, 0.14419108158084573, 0.14419108158084573, 0.14419108158084573, -0.06313432019482706, -0.06313432019482706, -0.06313432019482706, -0.06313432019482706, -0.06313432019482706, -0.06313432019482706, 0.047897379697066526, 0.047897379697066526, 0.8442312115488309], [0.4943707379080789, 0.4943707379080789, 0.4943707379080789, 0.23156926737886102, 0.04168798514352056, -0.09848213104815956, -0.09848213104815956, -0.09848213104815956, -0.11882172465263088, -0.11882172465263088, -0.10575189973012772, -0.10388062886120183, -0.10388062886120183, -0.10388062886120183, -0.10388062886120183, -0.10388062886120183, -0.10388062886120183, -0.05786168045967444, -0.08033058408160568, -0.08033058408160568, -0.08033058408160568, -0.08033058408160568, -0.08033058408160568, -0.08033058408160568, -0.08033058408160568, -0.08033058408160568, -0.08033058408160568, -0.1324076498410422, -0.1324076498410422, -0.15693986341498525]], \"zmax\": 2.6411614971005672, \"zmin\": -4.3265293877161355, \"type\": \"heatmap\"}], \"layout\": {\"title\": {\"text\": \"Term: age & sex__male (interaction)\"}, \"xaxis\": {\"title\": {\"text\": \"age\"}}, \"yaxis\": {\"title\": {\"text\": \"sex__male\"}}, \"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}}}, \"help\": {\"text\": \"The contribution (score) of the term age & sex__male to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"x\": [0.42, 2.5, 5.5, 9.5, 15.5, 17.5, 18.5, 19.5, 20.75, 21.5, 23.75, 24.25, 25.5, 27.5, 28.25, 29.34955882352941, 29.84955882352941, 30.75, 32.25, 33.5, 35.5, 36.75, 39.5, 41.5, 43.5, 45.25, 48.5, 51.5, 55.25, 60.5, 80.0], \"y\": [0.0, 0.5, 1.0], \"z\": [[0.5194144641300485, 0.5194144641300485, 0.09379568572445057, 0.011220621437886363, 0.011220621437886363, 0.011220621437886363, 0.011220621437886363, 0.011220621437886363, -0.015560768795874518, -0.015560768795874518, -0.015560768795874518, -0.015560768795874518, -0.015560768795874518, -0.015560768795874518, -0.015560768795874518, -0.015560768795874518, -0.015560768795874518, -0.00656295674431655, -0.034211908795978886, -0.034211908795978886, -0.034211908795978886, -0.04602209671138937, -0.04602209671138937, -0.04602209671138937, -0.04602209671138937, -0.061698742716712995, -0.061698742716712995, -0.0704969385520072, -0.09629110710023925, -0.10063485562917605], [0.1190818790103232, 0.1190818790103232, 0.1190818790103232, 0.1190818790103232, 0.1190818790103232, 0.05155630271422689, 0.05155630271422689, 0.05393664504763076, 0.055120747654577494, 0.0911742408611961, 0.0911742408611961, 0.0911742408611961, 0.1706359707412136, 0.18780311335745337, 0.1913777461853391, 0.1913777461853391, -1.1586121035603276, -1.3493427691687958, -1.3493427691687958, -1.3493427691687958, -1.3493427691687958, -1.3493427691687958, -1.3493427691687958, -1.3493427691687958, -1.3493427691687958, -1.3493427691687958, -1.3493427691687958, -1.3493427691687958, -1.3493427691687958, -1.3493427691687958]], \"zmax\": 2.6411614971005672, \"zmin\": -4.3265293877161355, \"type\": \"heatmap\"}], \"layout\": {\"title\": {\"text\": \"Term: age & emb__Q (interaction)\"}, \"xaxis\": {\"title\": {\"text\": \"age\"}}, \"yaxis\": {\"title\": {\"text\": \"emb__Q\"}}, \"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}}}, \"help\": {\"text\": \"The contribution (score) of the term age & emb__Q to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"x\": [0.0, 0.5, 1.5, 2.5, 3.5, 4.5, 8.0], \"y\": [0.0, 6.80415, 7.2271, 7.28125, 7.74585, 7.7625, 7.89165, 7.9771, 8.08125, 9.1125, 10.3354, 12.825, 13.20835, 14.75, 15.95, 19.73335, 22.67915, 25.9646, 26.125, 26.775, 29.85, 31.331249999999997, 36.8771, 48.2, 54.05, 63.1896, 76.51045, 80.75415000000001, 112.07915, 159.1646, 512.3292], \"z\": [[-0.043268018088705756, -0.12177001843705418, -0.26211350691911683, -0.5657242700554465, -0.5160420114101022, -0.531863614474161], [-0.043268018088705756, -0.12177001843705418, -0.26211350691911683, -0.5657242700554465, -0.5160420114101022, -0.531863614474161], [-0.01233558322098241, -0.12177001843705418, -0.26211350691911683, -0.5657242700554465, -0.5160420114101022, -0.531863614474161], [-0.01233558322098241, -0.10315926265360786, -0.24350275113567055, -0.5471135142720002, -0.4974312556266558, -0.5132528586907146], [-0.0018493921164819006, -0.08263053654599027, -0.22297402502805294, -0.5358107894145164, -0.48738872062353866, -0.5032103236875975], [-0.0018493921164819006, -0.08263053654599027, -0.22297402502805294, -0.5358107894145164, -0.48738872062353866, -0.5032103236875975], [-0.0018493921164819006, -0.08263053654599027, -0.22297402502805294, -0.5358107894145164, -0.48738872062353866, -0.5032103236875975], [-0.0018493921164819006, -0.08657379778628461, -0.22691728626834726, -0.5397540506548107, -0.491331981863833, -0.5071535849278919], [-0.0018493921164819006, -0.0891526930091907, -0.22949618149125336, -0.5423329458777169, -0.4939108770867391, -0.5097324801507979], [-0.0018493921164819006, -0.0891526930091907, -0.22949618149125336, -0.5423329458777169, -0.4939108770867391, -0.5097324801507979], [-0.0017496054274067033, -0.061667394632975756, -0.20201088311503843, -0.5157478827470452, -0.4673258139560673, -0.4831474170201262], [-0.0017496054274067033, -0.061667394632975756, -0.20201088311503843, -0.5157478827470452, -0.4673258139560673, -0.4831474170201262], [-0.0032402364455502933, -0.06315802565111935, -0.20350151413318204, -0.5172385137651887, -0.4673258139560673, -0.4831474170201262], [0.00242265913364228, -0.008557764593530533, -0.14890125307559315, -0.49444236992992163, -0.44452967012080014, -0.460351273184859], [0.00242265913364228, -0.013365648408511455, -0.15370913689057408, -0.4992502537449025, -0.4493375539357811, -0.46515915699984], [0.00242265913364228, -0.06642435783244592, -0.2067678463145085, -0.5523089631688368, -0.5023962633597155, -0.5182178664237744], [0.00242265913364228, -0.06642435783244592, -0.05454612508181546, -0.400087241936144, -0.3501745421270225, -0.36599614519108137], [0.00242265913364228, -0.06642435783244592, -0.05454612508181546, -0.400087241936144, -0.3501745421270225, -0.36599614519108137], [0.09681817997440718, -0.058882621147929026, -0.04754045536603743, -0.400087241936144, -0.3501745421270225, -0.36599614519108137], [0.09681817997440718, -0.058882621147929026, -0.04754045536603743, -0.400087241936144, -0.3501745421270225, -0.36599614519108137], [0.1076085325092473, -0.04809226861308889, -0.04754045536603743, -0.400087241936144, -0.3501745421270225, -0.36599614519108137], [0.07692800948058116, -0.030385047491164996, -0.029833234244113535, -0.04586532548880881, 0.0285670334162457, -0.08681006031673498], [0.06486577597960451, -0.03010198995850317, -0.029550176711451707, -0.045582267956146984, -0.0718945413474655, -0.18727163508044617], [0.06486577597960451, -0.03010198995850317, -0.029550176711451707, -0.045582267956146984, -0.0718945413474655, -0.18727163508044617], [0.1407330478243815, -0.005586130352254151, -0.025341989288907102, -0.04219757345547554, -0.0718945413474655, -0.18727163508044617], [0.11442023204805926, -0.005586130352254151, -0.025341989288907102, -0.04219757345547554, -0.0718945413474655, -0.18727163508044617], [0.11442023204805926, 0.07515342915194494, 0.05539757021529199, 0.03854198604872355, 0.008845018156733608, -0.10653207557624714], [0.11442023204805926, 0.07515342915194494, 0.05539757021529199, 0.03854198604872355, 0.008845018156733608, -0.10653207557624714], [0.029998813936274904, 0.5977586225088117, 0.6191259287476799, 0.6029296575774514, 0.5732326896854615, 0.4736771990165396], [0.029998813936274904, 0.5977586225088117, 0.6191259287476799, 0.6029296575774514, 0.5732326896854615, 0.4736771990165396]], \"zmax\": 2.6411614971005672, \"zmin\": -4.3265293877161355, \"type\": \"heatmap\"}], \"layout\": {\"title\": {\"text\": \"Term: sibsp & fare (interaction)\"}, \"xaxis\": {\"title\": {\"text\": \"sibsp\"}}, \"yaxis\": {\"title\": {\"text\": \"fare\"}}, \"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}}}, \"help\": {\"text\": \"The contribution (score) of the term sibsp & fare to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"x\": [0.0, 0.5, 1.5, 2.5, 3.5, 4.5, 6.0], \"y\": [0.0, 6.80415, 7.2271, 7.28125, 7.74585, 7.7625, 7.89165, 7.9771, 8.08125, 9.1125, 10.3354, 12.825, 13.20835, 14.75, 15.95, 19.73335, 22.67915, 25.9646, 26.125, 26.775, 29.85, 31.331249999999997, 36.8771, 48.2, 54.05, 63.1896, 76.51045, 80.75415000000001, 112.07915, 159.1646, 512.3292], \"z\": [[-0.07397484496847342, -0.8890121463883679, -0.8890121463883679, -0.8327153769838082, -0.8327153769838082, -0.8327153769838082], [-0.07397484496847342, -0.8890121463883679, -0.8890121463883679, -0.8327153769838082, -0.8327153769838082, -0.8327153769838082], [-0.07397484496847342, -0.8890121463883679, -0.8890121463883679, -0.8327153769838082, -0.8327153769838082, -0.8327153769838082], [-0.07397484496847342, -0.8890121463883679, -0.8890121463883679, -0.8327153769838082, -0.8327153769838082, -0.8327153769838082], [-0.07397484496847342, -0.8890121463883679, -0.8890121463883679, -0.8327153769838082, -0.8327153769838082, -0.8327153769838082], [-0.07363783693546486, -0.037365439897617155, -0.037365439897617155, 0.018931329506942027, 0.015680830715378513, 0.015680830715378513], [-0.07363783693546486, 0.20221757493811413, 0.20221757493811413, 0.2585143443426734, 0.25526384555110987, 0.25526384555110987], [-0.07363783693546486, 0.23036358574925445, 0.23036358574925445, 0.28666035515381366, 0.2834098563622502, 0.2834098563622502], [-0.07919054320019742, 0.3798364315237708, 0.3813158997993514, 0.4376126692039107, 0.4343621704123471, 0.4343621704123471], [-0.07919054320019742, 0.38171091621159275, 0.38319038448717335, 0.4394871538917326, 0.4362366551001691, 0.4362366551001691], [-0.07919054320019742, 0.38171091621159275, 0.38319038448717335, 0.4394871538917326, 0.4362366551001691, 0.4362366551001691], [-0.07919054320019742, 0.38171091621159275, 0.38319038448717335, 0.4394871538917326, 0.4362366551001691, 0.4362366551001691], [-0.07919054320019742, 0.38171091621159275, 0.38319038448717335, 0.4394871538917326, 0.4362366551001691, 0.4362366551001691], [-0.07919054320019742, 0.3908118391045786, 0.3922913073801592, 0.4485880767847185, 0.445337577993155, 0.445337577993155], [-0.07919054320019742, 0.3908118391045786, 0.3922913073801592, 0.4485880767847185, 0.445337577993155, 0.445337577993155], [-0.07919054320019742, 0.1542670910209311, 0.1557465592965117, 0.212043328701071, 0.20879282990950748, 0.20879282990950748], [-0.025766248839819213, -0.10470305055649279, -0.10322358228091219, -0.046926812876352995, -0.05017731166791652, -0.05017731166791652], [-0.025766248839819213, -0.10470305055649279, -0.10322358228091219, -0.10403230515405884, -0.10728280394562237, -0.10728280394562237], [0.22516423085405926, -0.10470305055649279, -0.10322358228091219, -0.14363871589597435, -0.14688921468753788, -0.14688921468753788], [0.22516423085405926, -0.10470305055649279, -0.10322358228091219, -0.15486664949179713, -0.15811714828336065, -0.15811714828336065], [0.2423139002185424, -0.09824401430127558, -0.09676454602569498, -0.15486664949179713, -0.15811714828336065, -0.15811714828336065], [0.2423139002185424, -0.09824401430127558, -0.09676454602569498, -0.15486664949179713, -0.15811714828336065, -0.15811714828336065], [0.2423139002185424, -0.09824401430127558, -0.09676454602569498, -0.15486664949179713, -0.15811714828336065, -0.15811714828336065], [0.2423139002185424, -0.09824401430127558, -0.09676454602569498, -0.15486664949179713, -0.15811714828336065, -0.15811714828336065], [0.2423139002185424, -0.09824401430127558, -0.09676454602569498, -0.15486664949179713, -0.15811714828336065, -0.15811714828336065], [0.20991433909143017, -0.09824401430127558, -0.09676454602569498, -0.15486664949179713, -0.15811714828336065, -0.15811714828336065], [0.20991433909143017, -0.09824401430127558, -0.09676454602569498, -0.15486664949179713, -0.15811714828336065, -0.15811714828336065], [0.18015694917211564, -0.09824401430127558, -0.09676454602569498, -0.15486664949179713, -0.15811714828336065, -0.15811714828336065], [0.18015694917211564, -0.09824401430127558, -0.09676454602569498, -0.15486664949179713, -0.15811714828336065, -0.15811714828336065], [0.15893507497738446, -0.09824401430127558, -0.09676454602569498, -0.15486664949179713, -0.15811714828336065, -0.15811714828336065]], \"zmax\": 2.6411614971005672, \"zmin\": -4.3265293877161355, \"type\": \"heatmap\"}], \"layout\": {\"title\": {\"text\": \"Term: parch & fare (interaction)\"}, \"xaxis\": {\"title\": {\"text\": \"parch\"}}, \"yaxis\": {\"title\": {\"text\": \"fare\"}}, \"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}}}, \"help\": {\"text\": \"The contribution (score) of the term parch & fare to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}, {\"type\": \"plotly\", \"figure\": {\"data\": [{\"x\": [0.0, 6.80415, 7.2271, 7.28125, 7.74585, 7.7625, 7.89165, 7.9771, 8.08125, 9.1125, 10.3354, 12.825, 13.20835, 14.75, 15.95, 19.73335, 22.67915, 25.9646, 26.125, 26.775, 29.85, 31.331249999999997, 36.8771, 48.2, 54.05, 63.1896, 76.51045, 80.75415000000001, 112.07915, 159.1646, 512.3292], \"y\": [0.0, 0.5, 1.0], \"z\": [[0.5163243271650972, 0.5163243271650972, 0.5163243271650972, 0.47241685043650383, 0.44829161323174044, 0.3659551905398275, -0.004467985581983144, -0.004467985581983144, -0.004467985581983144, -0.0020733378778092166, -0.0020733378778092166, -0.0020733378778092166, -0.0020733378778092166, 0.0402226478306138, 0.0402226478306138, 0.0402226478306138, 0.0402226478306138, 0.0402226478306138, 0.0402226478306138, 0.0402226478306138, 0.0402226478306138, 0.0402226478306138, 0.059140823713343914, 0.059140823713343914, 0.059140823713343914, 0.059140823713343914, 0.059140823713343914, 0.059140823713343914, 0.059140823713343914, 0.059140823713343914], [-0.08478526198807029, -0.08478526198807029, -0.08478526198807029, -0.08478526198807029, 0.011818289912927412, 0.012493972011282372, 0.012493972011282372, 0.012493972011282372, 0.012493972011282372, 0.012493972011282372, 0.012493972011282372, 0.012493972011282372, 0.012493972011282372, 0.012493972011282372, 0.010384517583996082, 0.010384517583996082, 0.010384517583996082, 0.010384517583996082, 0.010384517583996082, 0.010384517583996082, 0.010384517583996082, -0.054921466402452226, -0.12259053584855148, -0.12259053584855148, -0.12259053584855148, -0.332736483633553, -0.332736483633553, -0.332736483633553, -0.332736483633553, -0.44346406076194395]], \"zmax\": 2.6411614971005672, \"zmin\": -4.3265293877161355, \"type\": \"heatmap\"}], \"layout\": {\"title\": {\"text\": \"Term: fare & sex__male (interaction)\"}, \"xaxis\": {\"title\": {\"text\": \"fare\"}}, \"yaxis\": {\"title\": {\"text\": \"sex__male\"}}, \"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}}}, \"help\": {\"text\": \"The contribution (score) of the term fare & sex__male to predictions made by the model. For classification, scores are on a log scale (logits). For regression, scores are on the same scale as the outcome being predicted (e.g., dollars when predicting cost). Each graph is centered vertically such that average prediction on the train set is 0.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}], \"selector\": {\"columns\": [\"Name\", \"Type\", \"# Unique\", \"% Non-zero\"], \"data\": [{\"Name\": \"pclass\", \"Type\": \"continuous\", \"# Unique\": 3.0, \"% Non-zero\": NaN}, {\"Name\": \"age\", \"Type\": \"continuous\", \"# Unique\": 86.0, \"% Non-zero\": NaN}, {\"Name\": \"sibsp\", \"Type\": \"continuous\", \"# Unique\": 7.0, \"% Non-zero\": NaN}, {\"Name\": \"parch\", \"Type\": \"continuous\", \"# Unique\": 7.0, \"% Non-zero\": NaN}, {\"Name\": \"fare\", \"Type\": \"continuous\", \"# Unique\": 223.0, \"% Non-zero\": NaN}, {\"Name\": \"sex__male\", \"Type\": \"continuous\", \"# Unique\": 2.0, \"% Non-zero\": NaN}, {\"Name\": \"emb__Q\", \"Type\": \"continuous\", \"# Unique\": 2.0, \"% Non-zero\": NaN}, {\"Name\": \"emb__S\", \"Type\": \"continuous\", \"# Unique\": 2.0, \"% Non-zero\": NaN}, {\"Name\": \"pclass & sibsp\", \"Type\": \"interaction\", \"# Unique\": NaN, \"% Non-zero\": NaN}, {\"Name\": \"pclass & fare\", \"Type\": \"interaction\", \"# Unique\": NaN, \"% Non-zero\": NaN}, {\"Name\": \"pclass & sex__male\", \"Type\": \"interaction\", \"# Unique\": NaN, \"% Non-zero\": NaN}, {\"Name\": \"age & sibsp\", \"Type\": \"interaction\", \"# Unique\": NaN, \"% Non-zero\": NaN}, {\"Name\": \"age & fare\", \"Type\": \"interaction\", \"# Unique\": NaN, \"% Non-zero\": NaN}, {\"Name\": \"age & sex__male\", \"Type\": \"interaction\", \"# Unique\": NaN, \"% Non-zero\": NaN}, {\"Name\": \"age & emb__Q\", \"Type\": \"interaction\", \"# Unique\": NaN, \"% Non-zero\": NaN}, {\"Name\": \"sibsp & fare\", \"Type\": \"interaction\", \"# Unique\": NaN, \"% Non-zero\": NaN}, {\"Name\": \"parch & fare\", \"Type\": \"interaction\", \"# Unique\": NaN, \"% Non-zero\": NaN}, {\"Name\": \"fare & sex__male\", \"Type\": \"interaction\", \"# Unique\": NaN, \"% Non-zero\": NaN}]}}, -1);\n",
       "    });\n",
       "\n",
       "    </script>\n",
       "    "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from interpret import set_visualize_provider\n",
    "from interpret.provider import InlineProvider\n",
    "set_visualize_provider(InlineProvider())\n",
    "show(ebm.explain_global())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "6e350234",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <div id=\"_interpret-viz-117433d7-0afa-4b3d-8e14-38f29b8aacca\"></div>\n",
       "    <script defer type=\"text/javascript\">\n",
       "\n",
       "    (function universalLoad(root, callback) {\n",
       "      if(typeof exports === 'object' && typeof module === 'object') {\n",
       "        // CommonJS2\n",
       "        console.log(\"CommonJS2\");\n",
       "        var interpretInline = require('interpret-inline');\n",
       "        callback(interpretInline);\n",
       "      } else if(typeof define === 'function' && define.amd) {\n",
       "        // AMD\n",
       "        console.log(\"AMD\");\n",
       "        require(['interpret-inline'], function(interpretInline) {\n",
       "          callback(interpretInline);\n",
       "        });\n",
       "      } else if(typeof exports === 'object') {\n",
       "        // CommonJS\n",
       "        console.log(\"CommonJS\");\n",
       "        var interpretInline = require('interpret-inline');\n",
       "        callback(interpretInline);\n",
       "      } else {\n",
       "        // Browser\n",
       "        console.log(\"Browser\");\n",
       "        callback(root['interpret-inline']);\n",
       "      }\n",
       "    })(this, function(interpretInline) {\n",
       "        interpretInline.RenderApp(\"_interpret-viz-117433d7-0afa-4b3d-8e14-38f29b8aacca\", {\"name\": \"ExplainableBoostingClassifier_4\", \"overall\": {\"type\": \"none\", \"figure\": \"null\", \"help\": {}}, \"specific\": [{\"type\": \"plotly\", \"figure\": {\"data\": [{\"marker\": {\"color\": [\"#ff7f0e\", \"#1f77b4\", \"#ff7f0e\", \"#ff7f0e\", \"#1f77b4\", \"#ff7f0e\", \"#1f77b4\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#ff7f0e\", \"#808080\"]}, \"orientation\": \"h\", \"x\": [0.011220621437886363, -0.022383115189948267, 0.057053920415754335, 0.059140823713343914, -0.09676454602569498, 0.10277055137400021, -0.12639335601642598, 0.2215821587618883, 0.22405166535730858, 0.40183859323572796, 0.5977586225088117, 0.7224187747966515, 0.7590092186652867, 0.8075981469327493, 1.4154687571457565, -0.5913746610633321], \"y\": [\"age & emb__Q\", \"pclass & fare\", \"age & sibsp\", \"fare & sex__male\", \"parch & fare\", \"age & sex__male\", \"emb__S (1.00)\", \"sibsp (1.00)\", \"pclass & sibsp\", \"age (14.00)\", \"sibsp & fare\", \"pclass & sex__male\", \"pclass (1.00)\", \"fare (120.00)\", \"sex__male (0.00)\", \"Intercept\"], \"type\": \"bar\"}], \"layout\": {\"title\": {\"text\": \"Local Explanation (Actual Class: 1 | Predicted Class: 1<br />Pr(y = 1): 0.990)\"}, \"xaxis\": {\"range\": [-1.4154687571457565, 1.4154687571457565], \"title\": {\"text\": \"Contribution to Prediction\"}}, \"yaxis\": {\"automargin\": true, \"dtick\": 1, \"title\": {\"text\": \"\"}}, \"template\": {\"data\": {\"histogram2dcontour\": [{\"type\": \"histogram2dcontour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"choropleth\": [{\"type\": \"choropleth\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"histogram2d\": [{\"type\": \"histogram2d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmap\": [{\"type\": \"heatmap\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"heatmapgl\": [{\"type\": \"heatmapgl\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"contourcarpet\": [{\"type\": \"contourcarpet\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"contour\": [{\"type\": \"contour\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"surface\": [{\"type\": \"surface\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}, \"colorscale\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]]}], \"mesh3d\": [{\"type\": \"mesh3d\", \"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}], \"scatter\": [{\"fillpattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}, \"type\": \"scatter\"}], \"parcoords\": [{\"type\": \"parcoords\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolargl\": [{\"type\": \"scatterpolargl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"bar\": [{\"error_x\": {\"color\": \"#2a3f5f\"}, \"error_y\": {\"color\": \"#2a3f5f\"}, \"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"bar\"}], \"scattergeo\": [{\"type\": \"scattergeo\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterpolar\": [{\"type\": \"scatterpolar\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"histogram\": [{\"marker\": {\"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"histogram\"}], \"scattergl\": [{\"type\": \"scattergl\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatter3d\": [{\"type\": \"scatter3d\", \"line\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattermapbox\": [{\"type\": \"scattermapbox\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scatterternary\": [{\"type\": \"scatterternary\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"scattercarpet\": [{\"type\": \"scattercarpet\", \"marker\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}}], \"carpet\": [{\"aaxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"baxis\": {\"endlinecolor\": \"#2a3f5f\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"minorgridcolor\": \"white\", \"startlinecolor\": \"#2a3f5f\"}, \"type\": \"carpet\"}], \"table\": [{\"cells\": {\"fill\": {\"color\": \"#EBF0F8\"}, \"line\": {\"color\": \"white\"}}, \"header\": {\"fill\": {\"color\": \"#C8D4E3\"}, \"line\": {\"color\": \"white\"}}, \"type\": \"table\"}], \"barpolar\": [{\"marker\": {\"line\": {\"color\": \"#E5ECF6\", \"width\": 0.5}, \"pattern\": {\"fillmode\": \"overlay\", \"size\": 10, \"solidity\": 0.2}}, \"type\": \"barpolar\"}], \"pie\": [{\"automargin\": true, \"type\": \"pie\"}]}, \"layout\": {\"autotypenumbers\": \"strict\", \"colorway\": [\"#636efa\", \"#EF553B\", \"#00cc96\", \"#ab63fa\", \"#FFA15A\", \"#19d3f3\", \"#FF6692\", \"#B6E880\", \"#FF97FF\", \"#FECB52\"], \"font\": {\"color\": \"#2a3f5f\"}, \"hovermode\": \"closest\", \"hoverlabel\": {\"align\": \"left\"}, \"paper_bgcolor\": \"white\", \"plot_bgcolor\": \"#E5ECF6\", \"polar\": {\"bgcolor\": \"#E5ECF6\", \"angularaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"radialaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"ternary\": {\"bgcolor\": \"#E5ECF6\", \"aaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"baxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}, \"caxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\"}}, \"coloraxis\": {\"colorbar\": {\"outlinewidth\": 0, \"ticks\": \"\"}}, \"colorscale\": {\"sequential\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"sequentialminus\": [[0.0, \"#0d0887\"], [0.1111111111111111, \"#46039f\"], [0.2222222222222222, \"#7201a8\"], [0.3333333333333333, \"#9c179e\"], [0.4444444444444444, \"#bd3786\"], [0.5555555555555556, \"#d8576b\"], [0.6666666666666666, \"#ed7953\"], [0.7777777777777778, \"#fb9f3a\"], [0.8888888888888888, \"#fdca26\"], [1.0, \"#f0f921\"]], \"diverging\": [[0, \"#8e0152\"], [0.1, \"#c51b7d\"], [0.2, \"#de77ae\"], [0.3, \"#f1b6da\"], [0.4, \"#fde0ef\"], [0.5, \"#f7f7f7\"], [0.6, \"#e6f5d0\"], [0.7, \"#b8e186\"], [0.8, \"#7fbc41\"], [0.9, \"#4d9221\"], [1, \"#276419\"]]}, \"xaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"yaxis\": {\"gridcolor\": \"white\", \"linecolor\": \"white\", \"ticks\": \"\", \"title\": {\"standoff\": 15}, \"zerolinecolor\": \"white\", \"automargin\": true, \"zerolinewidth\": 2}, \"scene\": {\"xaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"yaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}, \"zaxis\": {\"backgroundcolor\": \"#E5ECF6\", \"gridcolor\": \"white\", \"linecolor\": \"white\", \"showbackground\": true, \"ticks\": \"\", \"zerolinecolor\": \"white\", \"gridwidth\": 2}}, \"shapedefaults\": {\"line\": {\"color\": \"#2a3f5f\"}}, \"annotationdefaults\": {\"arrowcolor\": \"#2a3f5f\", \"arrowhead\": 0, \"arrowwidth\": 1}, \"geo\": {\"bgcolor\": \"white\", \"landcolor\": \"#E5ECF6\", \"subunitcolor\": \"white\", \"showland\": true, \"showlakes\": true, \"lakecolor\": \"white\"}, \"title\": {\"x\": 0.05}, \"mapbox\": {\"style\": \"light\"}}}}}, \"help\": {\"text\": \"A local explanation shows the breakdown of how much each term contributed to the prediction for a single sample. The intercept reflects the average case. In regression, the intercept is the average y-value of the train set (e.g., $5.51 if predicting cost). In classification, the intercept is the log of the base rate (e.g., -2.3 if the base rate is 10%). The 15 most important terms are shown.\", \"link\": \"https://interpret.ml/docs/ebm.html\"}}], \"selector\": {\"columns\": [\"Actual\", \"Predicted\", \"PrScore\", \"AcScore\", \"Resid\", \"AbsResid\"], \"data\": [{\"Actual\": 1, \"Predicted\": 1, \"PrScore\": 0.99, \"AcScore\": 0.99, \"Resid\": 0.0, \"AbsResid\": 0.0}]}}, 0);\n",
       "    });\n",
       "\n",
       "    </script>\n",
       "    "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "show(ebm.explain_local(X_test.iloc[[1]], y_test.iloc[[1]]), 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "43e805f6",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
